@kitman-sh/cli 0.10.73 → 0.10.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -197,7 +197,7 @@ import {
197
197
  harnessNames,
198
198
  herdrRunnerCapabilities2,
199
199
  declaredChecks
200
- } from "./chunk-9e452fhe.js";
200
+ } from "./chunk-g4fvd8r1.js";
201
201
  import {
202
202
  Id
203
203
  } from "./chunk-rrnee9mk.js";
@@ -504,10 +504,10 @@ var checkDockerImageSetting = pinnedImage;
504
504
  var checkRegistryImageSetting = pinnedImage;
505
505
  var herdrCoreSession = (runnerId, personal) => personal ? undefined : `kitman-${sha2562(runnerId).slice(0, 16)}`;
506
506
  var OpenHerdrCore = Reference("kitman/cli/OpenHerdrCore", {
507
- defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-tkmp48ha.js")), ({ HerdrCore, herdrCoreLayer }) => provide3(service(HerdrCore), herdrCoreLayer(options)))
507
+ defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-x0ep0a1y.js")), ({ HerdrCore, herdrCoreLayer }) => provide3(service(HerdrCore), herdrCoreLayer(options)))
508
508
  });
509
509
  var UpdateHerdrCore = Reference("kitman/cli/UpdateHerdrCore", {
510
- defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-tkmp48ha.js")), (module) => module.updateHerdrCore(options))
510
+ defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-x0ep0a1y.js")), (module) => module.updateHerdrCore(options))
511
511
  });
512
512
  var herdrCoreMissing = (error) => {
513
513
  if (isTagged(error, "HerdrCoreMissing"))
@@ -733,7 +733,7 @@ var syncTargets = (harness) => gen(function* () {
733
733
  });
734
734
  var syncKits = (input) => gen(function* () {
735
735
  const fs = yield* FileSystem;
736
- const { syncKitSetup } = yield* promise(() => import("./chunk-h89p59p6.js"));
736
+ const { syncKitSetup } = yield* promise(() => import("./chunk-kd02wvfa.js"));
737
737
  const harnesses = yield* syncTargets(input.harness);
738
738
  const chain = yield* input.client.getKitChain(input.workspaceId);
739
739
  for (const { name, problem } of chain.skipped)
@@ -1651,7 +1651,7 @@ var package_default = {
1651
1651
  };
1652
1652
 
1653
1653
  // apps/cli/src/scaffold.ts
1654
- var cliVersion = "0.10.73";
1654
+ var cliVersion = "0.10.74";
1655
1655
  var packageJson = (name, scaffold) => `${JSON.stringify({
1656
1656
  name,
1657
1657
  private: true,
@@ -1901,7 +1901,7 @@ var Usage = [
1901
1901
  "Every run, loop, agent, verify, constraint, secret, claim, deploy, dev and kit command takes --json."
1902
1902
  ].join(`
1903
1903
  `);
1904
- var agentRuntime = promise(() => import("./chunk-0rzh8yfd.js"));
1904
+ var agentRuntime = promise(() => import("./chunk-rt94p780.js"));
1905
1905
  var TuiLauncher = Reference("kitman/cli/TuiLauncher", {
1906
1906
  defaultValue: () => gen(function* () {
1907
1907
  const tui = yield* tryPromise({
@@ -2692,6 +2692,27 @@ function runnerCommand(args) {
2692
2692
  }
2693
2693
  return yield* new CliError({ message: `Unknown runner grant action: ${grantAction}` });
2694
2694
  }
2695
+ if (command.action === "attachments") {
2696
+ const runner = yield* resolveRunnerForCommand(client, workspaceId, command.flags.runnerId ?? requiredArg(command, "Runner"));
2697
+ const response = yield* client.listRunnerWorkspaceAttachments(runner.id);
2698
+ return yield* printRows([...response.items], command.flags.json);
2699
+ }
2700
+ if (command.action === "attach" || command.action === "detach") {
2701
+ const attachedWorkspaceId = command.args[0];
2702
+ if (!attachedWorkspaceId || !command.flags.runnerId)
2703
+ return yield* new CliError({
2704
+ message: `runner ${command.action} requires a Workspace id and --runner <runner-id>`
2705
+ });
2706
+ const runner = yield* resolveRunnerForCommand(client, workspaceId, command.flags.runnerId);
2707
+ if (command.action === "attach") {
2708
+ const response = yield* client.attachRunnerWorkspace(runner.id, { workspaceId: attachedWorkspaceId });
2709
+ return yield* printRows([{ ...response, status: "attached" }], command.flags.json);
2710
+ }
2711
+ const response = yield* client.detachRunnerWorkspace(runner.id, attachedWorkspaceId);
2712
+ return yield* printRows([
2713
+ { runnerId: runner.id, workspaceId: attachedWorkspaceId, status: response.removed ? "detached" : "not_found" }
2714
+ ], command.flags.json);
2715
+ }
2695
2716
  if (command.action === "register") {
2696
2717
  const name = command.flags.name ?? (command.args.join(" ").trim() || "Kitman runner");
2697
2718
  const backend = command.flags.backend;
@@ -2756,7 +2777,7 @@ var SandboxHostProbe = Reference("kitman/cli/SandboxHostProbe", {
2756
2777
  });
2757
2778
  var OpenRunnerRpc = Reference("kitman/cli/OpenRunnerRpc", {
2758
2779
  defaultValue: () => (options) => gen(function* () {
2759
- const { makeRunnerRpcClient, runnerRpcUrl, runnerWebSocketProtocol } = yield* promise(() => import("./chunk-gxnpdpjz.js"));
2780
+ const { makeRunnerRpcClient, runnerRpcUrl, runnerWebSocketProtocol } = yield* promise(() => import("./chunk-mzphfkyk.js"));
2760
2781
  return yield* makeRunnerRpcClient({
2761
2782
  runnerId: options.runnerId,
2762
2783
  bearer: options.bearer,
@@ -3140,7 +3161,7 @@ function mcpCommand(args) {
3140
3161
  if (command.action === "run") {
3141
3162
  if (command.args.length > 0)
3142
3163
  return yield* new CliError({ message: `Unknown command: ${args.join(" ")}` });
3143
- const { runMcpServerCommand } = yield* promise(() => import("./chunk-zwec6t49.js"));
3164
+ const { runMcpServerCommand } = yield* promise(() => import("./chunk-3ne401fy.js"));
3144
3165
  return yield* runMcpServerCommand({ flags: command.flags });
3145
3166
  }
3146
3167
  if (command.action !== "setup")
@@ -4351,9 +4372,9 @@ function claimCommand(args) {
4351
4372
  }
4352
4373
  });
4353
4374
  }
4354
- var KitWriter = map8(promise(() => import("./chunk-t1z7atrq.js")), (build) => build.writeKit);
4375
+ var KitWriter = map8(promise(() => import("./chunk-mv288r6q.js")), (build) => build.writeKit);
4355
4376
  var KitBuilder = Reference("kitman/cli/KitBuilder", {
4356
- defaultValue: () => (directory) => flatMap3(promise(() => import("./chunk-t1z7atrq.js")), (build) => build.buildKit(directory))
4377
+ defaultValue: () => (directory) => flatMap3(promise(() => import("./chunk-mv288r6q.js")), (build) => build.buildKit(directory))
4357
4378
  });
4358
4379
  var uploadKit = (client, workspaceId, built) => gen(function* () {
4359
4380
  yield* client.uploadKitBundle(workspaceId, built.digest, { bundle: encode2(built.bundle) });
@@ -37,10 +37,10 @@ import {
37
37
  AgentHarnessIds,
38
38
  sha2562,
39
39
  runCommand2
40
- } from "./chunk-9e452fhe.js";
40
+ } from "./chunk-g4fvd8r1.js";
41
41
  import {
42
42
  NpmRegistry
43
- } from "./chunk-hr9vd6dj.js";
43
+ } from "./chunk-2v7pbpfw.js";
44
44
 
45
45
  // packages/agent-runtime/src/config-convergence.ts
46
46
  var writeAgentEnvironmentConfigFile2 = fnUntraced(function* (file, content, keep = {}) {
@@ -7127,6 +7127,20 @@ var RunnerTeamGrantList = Struct({
7127
7127
  var RunnerTeamGrantDeleteResult = Struct({
7128
7128
  removed: Boolean2
7129
7129
  });
7130
+ var RunnerWorkspaceAttachment = Struct({
7131
+ runnerId: Id,
7132
+ workspaceId: Id,
7133
+ createdAt: Timestamp
7134
+ });
7135
+ var RunnerWorkspaceAttachmentCreate = Struct({
7136
+ workspaceId: Id
7137
+ });
7138
+ var RunnerWorkspaceAttachmentList = Struct({
7139
+ items: ArraySchema(RunnerWorkspaceAttachment)
7140
+ });
7141
+ var RunnerWorkspaceAttachmentDeleteResult = Struct({
7142
+ removed: Boolean2
7143
+ });
7130
7144
  var RunnerReplicaPlacement = Struct({
7131
7145
  kind: String4.check(isMinLength(1), isMaxLength(80)),
7132
7146
  label: optionalKey(String4.check(isMinLength(1), isMaxLength(160))),
@@ -12379,6 +12393,21 @@ class KitmanEffectClient {
12379
12393
  headers: this.headers()
12380
12394
  });
12381
12395
  }
12396
+ attachRunnerWorkspace(runnerId, input) {
12397
+ return this.request("attachRunnerWorkspace", `/runners/${segment(runnerId)}/workspace-attachments`, {
12398
+ method: "POST",
12399
+ headers: this.headers(true),
12400
+ body: JSON.stringify(input)
12401
+ });
12402
+ }
12403
+ listRunnerWorkspaceAttachments(runnerId) {
12404
+ return this.request("listRunnerWorkspaceAttachments", `/runners/${segment(runnerId)}/workspace-attachments`, {
12405
+ headers: this.headers()
12406
+ });
12407
+ }
12408
+ detachRunnerWorkspace(runnerId, workspaceId) {
12409
+ return this.request("detachRunnerWorkspace", `/runners/${segment(runnerId)}/workspace-attachments/${segment(workspaceId)}`, { method: "DELETE", headers: this.headers() });
12410
+ }
12382
12411
  listRunnerControlCommands(runnerId, input, traceparent) {
12383
12412
  return this.request("listRunnerControlCommands", `/runners/${segment(runnerId)}/control-commands`, {
12384
12413
  method: "POST",
@@ -123,7 +123,7 @@ import {
123
123
  ParseOptions,
124
124
  RpcClientDefect,
125
125
  RpcClientError
126
- } from "./chunk-9e452fhe.js";
126
+ } from "./chunk-g4fvd8r1.js";
127
127
 
128
128
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/workers/Transferable.js
129
129
  class Collector extends (/* @__PURE__ */ Service2()("effect/workers/Transferable/Collector")) {
@@ -26,15 +26,15 @@ import {
26
26
  tomlKeyPath2,
27
27
  kitmanSkillEntry,
28
28
  isPathWithin2
29
- } from "./chunk-4wqjxfbv.js";
29
+ } from "./chunk-8bhea26e.js";
30
30
  import {
31
31
  instructionsStart,
32
32
  instructionsEnd,
33
33
  renderMcpServer,
34
34
  materializeKitSetup,
35
35
  tomlInline
36
- } from "./chunk-9e452fhe.js";
37
- import"./chunk-hr9vd6dj.js";
36
+ } from "./chunk-g4fvd8r1.js";
37
+ import"./chunk-2v7pbpfw.js";
38
38
  import"./chunk-1rry0tsn.js";
39
39
 
40
40
  // packages/agent-runtime/src/kit-setup-sync.ts
@@ -35,14 +35,6 @@ import {
35
35
  } from "./chunk-d3ksv8y1.js";
36
36
  import"./chunk-rrnee9mk.js";
37
37
  import"./chunk-v01c0k6j.js";
38
- import {
39
- decodeText,
40
- mkString,
41
- FileSystem,
42
- Path,
43
- withDefault,
44
- String2
45
- } from "./chunk-dk0ftqwg.js";
46
38
  import {
47
39
  SecureRandom,
48
40
  layerWebCrypto,
@@ -54,23 +46,31 @@ import {
54
46
  layer4,
55
47
  kitmanMcpServer,
56
48
  RunnerRpcProtocolVersion
57
- } from "./chunk-9e452fhe.js";
49
+ } from "./chunk-g4fvd8r1.js";
50
+ import {
51
+ decodeText,
52
+ mkString,
53
+ FileSystem,
54
+ Path,
55
+ withDefault,
56
+ String2
57
+ } from "./chunk-dk0ftqwg.js";
58
58
  import {
59
59
  Packument,
60
60
  tarballMatches
61
- } from "./chunk-hr9vd6dj.js";
62
- import"./chunk-5n121vsj.js";
61
+ } from "./chunk-2v7pbpfw.js";
62
+ import"./chunk-xz1z7j2d.js";
63
63
  import {
64
64
  AgentDeclaration,
65
65
  KitDeclarations,
66
66
  describeFlag,
67
67
  Described
68
- } from "./chunk-x1zqfxve.js";
68
+ } from "./chunk-yzm5s3ng.js";
69
69
  import {
70
70
  ChildProcessSpawner,
71
71
  make3
72
72
  } from "./chunk-1rry0tsn.js";
73
- import"./chunk-cmatdpfy.js";
73
+ import"./chunk-ggax0n15.js";
74
74
 
75
75
  // packages/sdk/src/build/index.ts
76
76
  class DependencyInstallFailed extends TaggedError2()("DependencyInstallFailed", {
@@ -4,9 +4,9 @@ import {
4
4
  runnerRpcUrl2,
5
5
  makeRunnerRpcClient2,
6
6
  makeProgramRpcClient2
7
- } from "./chunk-5n121vsj.js";
8
- import"./chunk-cmatdpfy.js";
9
- import"./chunk-9e452fhe.js";
7
+ } from "./chunk-xz1z7j2d.js";
8
+ import"./chunk-ggax0n15.js";
9
+ import"./chunk-g4fvd8r1.js";
10
10
  import"./chunk-rrnee9mk.js";
11
11
  import"./chunk-v01c0k6j.js";
12
12
  import"./chunk-dk0ftqwg.js";
@@ -227,7 +227,7 @@ import {
227
227
  installCommand,
228
228
  checkServicesFile,
229
229
  checkServices
230
- } from "./chunk-9e452fhe.js";
230
+ } from "./chunk-g4fvd8r1.js";
231
231
  import {
232
232
  join,
233
233
  interrupt,
@@ -283,8 +283,8 @@ import {
283
283
  applyAgentEnvironmentMaterialization2,
284
284
  isPathWithin2,
285
285
  skillIdentity2
286
- } from "./chunk-4wqjxfbv.js";
287
- import"./chunk-hr9vd6dj.js";
286
+ } from "./chunk-8bhea26e.js";
287
+ import"./chunk-2v7pbpfw.js";
288
288
  import {
289
289
  egressAllowed,
290
290
  writeSecretRegistry,
@@ -309,8 +309,8 @@ import {
309
309
  rpcRunFiles,
310
310
  programHostsEnv,
311
311
  undeclaredHostsEnv
312
- } from "./chunk-x1zqfxve.js";
313
- import"./chunk-5n121vsj.js";
312
+ } from "./chunk-yzm5s3ng.js";
313
+ import"./chunk-xz1z7j2d.js";
314
314
  import {
315
315
  nextInt
316
316
  } from "./chunk-q3c7vmby.js";
@@ -318,7 +318,7 @@ import {
318
318
  ChildProcessSpawner,
319
319
  make3
320
320
  } from "./chunk-1rry0tsn.js";
321
- import"./chunk-cmatdpfy.js";
321
+ import"./chunk-ggax0n15.js";
322
322
 
323
323
  // packages/core/src/sync-kit.ts
324
324
  import { createHash } from "crypto";
@@ -12,7 +12,7 @@ import {
12
12
  herdrCoreLayer2,
13
13
  herdrCoreTransportLayer2,
14
14
  updateHerdrCore2
15
- } from "./chunk-9e452fhe.js";
15
+ } from "./chunk-g4fvd8r1.js";
16
16
  import"./chunk-dk0ftqwg.js";
17
17
  import"./chunk-d3ksv8y1.js";
18
18
  export {
@@ -19,13 +19,13 @@ import {
19
19
  RunnerReplicaRpcs,
20
20
  RunnerRunFileRpcs,
21
21
  ProgramRpcs
22
- } from "./chunk-9e452fhe.js";
22
+ } from "./chunk-g4fvd8r1.js";
23
23
  import {
24
24
  layerJson,
25
25
  make4,
26
26
  withHeaders,
27
27
  layerProtocolSocket
28
- } from "./chunk-cmatdpfy.js";
28
+ } from "./chunk-ggax0n15.js";
29
29
 
30
30
  // packages/live/src/rpc/runner-client.ts
31
31
  var proxiedWebSocket = (proxy) => succeed5(WebSocketConstructor)((target) => {
@@ -105,7 +105,7 @@ import {
105
105
  KitDigest,
106
106
  KitSetup,
107
107
  RunnerRpcError
108
- } from "./chunk-9e452fhe.js";
108
+ } from "./chunk-g4fvd8r1.js";
109
109
  import {
110
110
  runForEach,
111
111
  FileSystem
package/dist/index.js CHANGED
@@ -14,6 +14,6 @@ if (args[0] === "srt") {
14
14
  const { runOpencodeReader } = await import("./chunk-60333x3q.js");
15
15
  runOpencodeReader();
16
16
  } else {
17
- const { runCli } = await import("./chunk-r8rcfjag.js");
17
+ const { runCli } = await import("./chunk-5rs3yv84.js");
18
18
  runCli(args);
19
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitman-sh/cli",
3
- "version": "0.10.73",
3
+ "version": "0.10.74",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {