@kitman-sh/cli 0.10.69 → 0.10.71

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.
Files changed (26) hide show
  1. package/dist/{chunk-tf5yxkpy.js → chunk-1rry0tsn.js} +60 -14
  2. package/dist/{chunk-rzr11xyn.js → chunk-1w81w56v.js} +2 -2
  3. package/dist/{chunk-gswz7ngm.js → chunk-4wqjxfbv.js} +5 -5
  4. package/dist/{chunk-qpg9t7he.js → chunk-5n121vsj.js} +7 -7
  5. package/dist/{chunk-0ahahh0f.js → chunk-60333x3q.js} +5 -5
  6. package/dist/{chunk-n0pm4rtm.js → chunk-9e452fhe.js} +197 -108
  7. package/dist/{chunk-q26gt71y.js → chunk-cmatdpfy.js} +5 -5
  8. package/dist/{chunk-zdctyf0w.js → chunk-csbf77zs.js} +8 -8
  9. package/dist/{chunk-677etczq.js → chunk-d3ksv8y1.js} +28 -70
  10. package/dist/{chunk-qdyqc4nz.js → chunk-dk0ftqwg.js} +17 -17
  11. package/dist/{chunk-kqcrxea1.js → chunk-g4xsa9ks.js} +35 -24
  12. package/dist/{chunk-9m14d9d8.js → chunk-gxnpdpjz.js} +7 -7
  13. package/dist/{chunk-drsawp1s.js → chunk-h89p59p6.js} +8 -8
  14. package/dist/{chunk-k7mn104k.js → chunk-hr9vd6dj.js} +3 -3
  15. package/dist/{chunk-p23kedha.js → chunk-q3c7vmby.js} +1 -1
  16. package/dist/{chunk-0271bhj2.js → chunk-rm83dbpv.js} +2 -2
  17. package/dist/{chunk-wnwyp9qn.js → chunk-rrnee9mk.js} +1 -1
  18. package/dist/{chunk-t0rnf6ch.js → chunk-tkmp48ha.js} +4 -4
  19. package/dist/{chunk-h6360r1c.js → chunk-v01c0k6j.js} +1 -1
  20. package/dist/{chunk-j4pmjnyd.js → chunk-vs10kwdr.js} +12 -12
  21. package/dist/{chunk-9p6v3jd2.js → chunk-wtpwkjws.js} +4 -4
  22. package/dist/{chunk-q9n4jkcp.js → chunk-x1zqfxve.js} +11 -6
  23. package/dist/{chunk-jjeawksh.js → chunk-y7p921rs.js} +31 -22
  24. package/dist/{chunk-20qadzgw.js → chunk-zwec6t49.js} +25 -25
  25. package/dist/index.js +4 -4
  26. package/package.json +1 -1
@@ -5,7 +5,7 @@ import {
5
5
  isObject,
6
6
  isJsonObject,
7
7
  isString
8
- } from "./chunk-h6360r1c.js";
8
+ } from "./chunk-v01c0k6j.js";
9
9
  import {
10
10
  pipeArguments,
11
11
  dual,
@@ -42,7 +42,7 @@ import {
42
42
  isFailure2,
43
43
  hasInterrupts,
44
44
  makeUnsafe5,
45
- make15,
45
+ make16,
46
46
  _await,
47
47
  fail5,
48
48
  isDoneUnsafe,
@@ -156,11 +156,11 @@ import {
156
156
  encodePrettyJsonString,
157
157
  decodeJsonStringSync,
158
158
  encodeUnknownJsonStringSync
159
- } from "./chunk-677etczq.js";
159
+ } from "./chunk-d3ksv8y1.js";
160
160
  import {
161
161
  Id,
162
162
  secretReference
163
- } from "./chunk-wnwyp9qn.js";
163
+ } from "./chunk-rrnee9mk.js";
164
164
  import {
165
165
  currentTimeMillis,
166
166
  SecureRandom,
@@ -182,6 +182,8 @@ import {
182
182
  verificationNetworkAllowlist,
183
183
  programNetworkHosts,
184
184
  canonicalSha256,
185
+ isTestReportName,
186
+ checkTests,
185
187
  MeasureSample,
186
188
  catchUpPathLimit,
187
189
  createId,
@@ -225,7 +227,7 @@ import {
225
227
  installCommand,
226
228
  checkServicesFile,
227
229
  checkServices
228
- } from "./chunk-n0pm4rtm.js";
230
+ } from "./chunk-9e452fhe.js";
229
231
  import {
230
232
  join,
231
233
  interrupt,
@@ -234,7 +236,7 @@ import {
234
236
  unbounded2,
235
237
  offer,
236
238
  makeUnsafe3,
237
- make10,
239
+ make11,
238
240
  fromQueue,
239
241
  fromPubSub,
240
242
  map2,
@@ -265,7 +267,7 @@ import {
265
267
  writeSrtSettings2,
266
268
  srtStepArgv2,
267
269
  srtArgv2
268
- } from "./chunk-qdyqc4nz.js";
270
+ } from "./chunk-dk0ftqwg.js";
269
271
  import {
270
272
  writeAgentEnvironmentConfigFile2,
271
273
  readManifestSkillPaths2,
@@ -281,8 +283,8 @@ import {
281
283
  applyAgentEnvironmentMaterialization2,
282
284
  isPathWithin2,
283
285
  skillIdentity2
284
- } from "./chunk-gswz7ngm.js";
285
- import"./chunk-k7mn104k.js";
286
+ } from "./chunk-4wqjxfbv.js";
287
+ import"./chunk-hr9vd6dj.js";
286
288
  import {
287
289
  sliceBytes2,
288
290
  maxLineBytes2,
@@ -290,28 +292,28 @@ import {
290
292
  decodedOption2,
291
293
  decoded2,
292
294
  readOpencode2
293
- } from "./chunk-zdctyf0w.js";
295
+ } from "./chunk-csbf77zs.js";
294
296
  import {
295
297
  writeSecretRegistry,
296
298
  secretRefusalLog,
297
299
  parseSecretRefusals
298
- } from "./chunk-rzr11xyn.js";
300
+ } from "./chunk-1w81w56v.js";
299
301
  import {
300
302
  uploadRunFile,
301
303
  programLease,
302
304
  rpcRunFiles,
303
305
  programHostsEnv,
304
306
  undeclaredHostsEnv
305
- } from "./chunk-q9n4jkcp.js";
306
- import"./chunk-qpg9t7he.js";
307
+ } from "./chunk-x1zqfxve.js";
308
+ import"./chunk-5n121vsj.js";
307
309
  import {
308
310
  nextInt
309
- } from "./chunk-p23kedha.js";
311
+ } from "./chunk-q3c7vmby.js";
310
312
  import {
311
313
  ChildProcessSpawner,
312
- make2
313
- } from "./chunk-tf5yxkpy.js";
314
- import"./chunk-q26gt71y.js";
314
+ make3
315
+ } from "./chunk-1rry0tsn.js";
316
+ import"./chunk-cmatdpfy.js";
315
317
 
316
318
  // packages/core/src/sync-kit.ts
317
319
  import { createHash } from "crypto";
@@ -5836,7 +5838,7 @@ var codexAppServer = (binary = "codex") => (env) => gen(function* () {
5836
5838
  const input = yield* unbounded2();
5837
5839
  const pending = new Map;
5838
5840
  let lastId = 0;
5839
- const handle = yield* spawner.spawn(make2(binary, ["app-server"], {
5841
+ const handle = yield* spawner.spawn(make3(binary, ["app-server"], {
5840
5842
  cwd: env.home,
5841
5843
  extendEnv: true,
5842
5844
  env: { HOME: env.home, CODEX_HOME: env.codexHome },
@@ -5859,7 +5861,7 @@ var codexAppServer = (binary = "codex") => (env) => gen(function* () {
5859
5861
  return {
5860
5862
  request: (method, params) => gen(function* () {
5861
5863
  const id = ++lastId;
5862
- const deferred = yield* make15();
5864
+ const deferred = yield* make16();
5863
5865
  pending.set(id, deferred);
5864
5866
  yield* send({ id, method, params });
5865
5867
  return yield* _await(deferred).pipe(mapError2((error) => new CodexAppServerFailed({ reason: `${method}: ${error.message}` })));
@@ -5999,10 +6001,10 @@ var handshake = [
5999
6001
  `).join("");
6000
6002
  var kitmanMcpPreflight = (mcp) => gen(function* () {
6001
6003
  const spawner = yield* ChildProcessSpawner;
6002
- const server = yield* spawner.spawn(make2(mcp.command, [...mcp.args], {
6004
+ const server = yield* spawner.spawn(make3(mcp.command, [...mcp.args], {
6003
6005
  extendEnv: true,
6004
6006
  env: mcp.env,
6005
- stdin: { stream: make10(new TextEncoder().encode(handshake)), endOnDone: false },
6007
+ stdin: { stream: make11(new TextEncoder().encode(handshake)), endOnDone: false },
6006
6008
  stderr: "ignore"
6007
6009
  }));
6008
6010
  const reply = yield* server.stdout.pipe(decodeText, splitLines, map2((line) => getOrUndefined(decodeJsonStringOption(line))), filter((message) => isJsonObject(message) && message.id === 2), runHead);
@@ -6075,8 +6077,8 @@ var programProcessExecutor = (input) => (work) => gen(function* () {
6075
6077
  };
6076
6078
  const exitCode = sandbox === undefined ? yield* gen(function* () {
6077
6079
  const spawner = yield* ChildProcessSpawner;
6078
- const handle = yield* spawner.spawn(make2(input.bun ?? process.execPath, [file], {
6079
- stdin: make10(new TextEncoder().encode(stdin)),
6080
+ const handle = yield* spawner.spawn(make3(input.bun ?? process.execPath, [file], {
6081
+ stdin: make11(new TextEncoder().encode(stdin)),
6080
6082
  stdout: "inherit",
6081
6083
  stderr: "inherit",
6082
6084
  extendEnv: false,
@@ -6363,6 +6365,13 @@ var checkFileKeeper = (work, runFiles, storage) => {
6363
6365
  return kept.flat();
6364
6366
  }).pipe(catch_((error) => as(logWarning("check_run_files_not_kept", `${input.check}: ${error.message}`), [])));
6365
6367
  };
6368
+ var reportedTests = (filesDir) => gen(function* () {
6369
+ const fs = yield* FileSystem;
6370
+ const path = yield* Path;
6371
+ const names = (yield* regularFiles(filesDir)).filter(isTestReportName);
6372
+ const reports = yield* forEach(names, (name) => fs.readFileString(path.join(filesDir, name)).pipe(map8((text) => [text]), orElseSucceed(() => [])));
6373
+ return checkTests(reports.flat());
6374
+ }).pipe(orElseSucceed(() => checkTests([])));
6366
6375
 
6367
6376
  class ServicesUnavailable extends TaggedError("ServicesUnavailable") {
6368
6377
  get message() {
@@ -6577,6 +6586,7 @@ var runChecks = (worktree, checks, tree, known, run, keeper, services) => gen(fu
6577
6586
  ...sink === undefined ? undefined : { onOutput: (chunk) => sink.writeAll(chunk) }
6578
6587
  });
6579
6588
  const durationMs = (yield* currentTimeMillis) - startedAt;
6589
+ const tests = yield* reportedTests(filesDir);
6580
6590
  const fileIds = keeper === undefined ? undefined : yield* keeper.keep({ check: check.name, prefix: keeper.prefix, output, filesDir });
6581
6591
  return {
6582
6592
  name: check.name,
@@ -6585,7 +6595,8 @@ var runChecks = (worktree, checks, tree, known, run, keeper, services) => gen(fu
6585
6595
  ...ran.exitCode === undefined ? undefined : { exitCode: ran.exitCode },
6586
6596
  durationMs,
6587
6597
  outputTail: redactedOutputTail(ran.output),
6588
- ...fileIds === undefined ? undefined : { fileIds }
6598
+ ...fileIds === undefined ? undefined : { fileIds },
6599
+ tests
6589
6600
  };
6590
6601
  }).pipe(scoped));
6591
6602
  });
@@ -4,13 +4,13 @@ import {
4
4
  runnerRpcUrl2,
5
5
  makeRunnerRpcClient2,
6
6
  makeProgramRpcClient2
7
- } from "./chunk-qpg9t7he.js";
8
- import"./chunk-q26gt71y.js";
9
- import"./chunk-n0pm4rtm.js";
10
- import"./chunk-wnwyp9qn.js";
11
- import"./chunk-h6360r1c.js";
12
- import"./chunk-qdyqc4nz.js";
13
- import"./chunk-677etczq.js";
7
+ } from "./chunk-5n121vsj.js";
8
+ import"./chunk-cmatdpfy.js";
9
+ import"./chunk-9e452fhe.js";
10
+ import"./chunk-rrnee9mk.js";
11
+ import"./chunk-v01c0k6j.js";
12
+ import"./chunk-dk0ftqwg.js";
13
+ import"./chunk-d3ksv8y1.js";
14
14
  export {
15
15
  makeProgramRpcClient2 as makeProgramRpcClient,
16
16
  makeRunnerRpcClient2 as makeRunnerRpcClient,
@@ -12,30 +12,30 @@ import {
12
12
  orElseSucceed,
13
13
  decodeJsonString,
14
14
  encodePrettyJsonString
15
- } from "./chunk-677etczq.js";
16
- import"./chunk-wnwyp9qn.js";
15
+ } from "./chunk-d3ksv8y1.js";
16
+ import"./chunk-rrnee9mk.js";
17
17
  import {
18
18
  isJsonObject
19
- } from "./chunk-h6360r1c.js";
19
+ } from "./chunk-v01c0k6j.js";
20
20
  import {
21
21
  FileSystem,
22
22
  Path
23
- } from "./chunk-qdyqc4nz.js";
23
+ } from "./chunk-dk0ftqwg.js";
24
24
  import {
25
25
  tomlTableHeader2,
26
26
  tomlKeyPath2,
27
27
  kitmanSkillEntry,
28
28
  isPathWithin2
29
- } from "./chunk-gswz7ngm.js";
29
+ } from "./chunk-4wqjxfbv.js";
30
30
  import {
31
31
  instructionsStart,
32
32
  instructionsEnd,
33
33
  renderMcpServer,
34
34
  materializeKitSetup,
35
35
  tomlInline
36
- } from "./chunk-n0pm4rtm.js";
37
- import"./chunk-k7mn104k.js";
38
- import"./chunk-tf5yxkpy.js";
36
+ } from "./chunk-9e452fhe.js";
37
+ import"./chunk-hr9vd6dj.js";
38
+ import"./chunk-1rry0tsn.js";
39
39
 
40
40
  // packages/agent-runtime/src/kit-setup-sync.ts
41
41
  class KitSyncError extends TaggedError("KitSyncError") {
@@ -24,11 +24,11 @@ import {
24
24
  Record,
25
25
  Int,
26
26
  fromJsonString
27
- } from "./chunk-677etczq.js";
27
+ } from "./chunk-d3ksv8y1.js";
28
28
  import {
29
29
  withDefault,
30
30
  String2
31
- } from "./chunk-qdyqc4nz.js";
31
+ } from "./chunk-dk0ftqwg.js";
32
32
  import {
33
33
  digestSha256,
34
34
  digestSha512,
@@ -38,7 +38,7 @@ import {
38
38
  get2,
39
39
  layer4,
40
40
  KitDigest
41
- } from "./chunk-n0pm4rtm.js";
41
+ } from "./chunk-9e452fhe.js";
42
42
 
43
43
  // packages/core/src/npm-registry.ts
44
44
  var KitManifest = Struct({
@@ -3,7 +3,7 @@ import {
3
3
  Random,
4
4
  succeed6,
5
5
  withFiber2
6
- } from "./chunk-677etczq.js";
6
+ } from "./chunk-d3ksv8y1.js";
7
7
 
8
8
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/Random.js
9
9
  var Random2 = Random;
@@ -14,8 +14,8 @@ import {
14
14
  writeSrtSettings2,
15
15
  srtStepArgv2,
16
16
  srtArgv2
17
- } from "./chunk-qdyqc4nz.js";
18
- import"./chunk-677etczq.js";
17
+ } from "./chunk-dk0ftqwg.js";
18
+ import"./chunk-d3ksv8y1.js";
19
19
  export {
20
20
  compiled2 as compiled,
21
21
  harnessesUnsupportedInSrt2 as harnessesUnsupportedInSrt,
@@ -18,7 +18,7 @@ import {
18
18
  isMinLength,
19
19
  isMaxLength,
20
20
  FiniteFromString
21
- } from "./chunk-677etczq.js";
21
+ } from "./chunk-d3ksv8y1.js";
22
22
 
23
23
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/JsonSchema.js
24
24
  var PRE_2020_TO_2020_COLLISIONS = ["$anchor", "$defs", "$dynamicAnchor", "$dynamicRef", "$vocabulary", "contentSchema", "dependentRequired", "dependentSchemas", "maxContains", "minContains", "prefixItems", "unevaluatedItems", "unevaluatedProperties"];
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"./chunk-tf5yxkpy.js";
2
+ import"./chunk-1rry0tsn.js";
3
3
  import {
4
4
  HERDR_CORE_GENERATION2,
5
5
  HERDR_CORE_INSTALL_COMMAND2,
@@ -12,9 +12,9 @@ import {
12
12
  herdrCoreLayer2,
13
13
  herdrCoreTransportLayer2,
14
14
  updateHerdrCore2
15
- } from "./chunk-n0pm4rtm.js";
16
- import"./chunk-qdyqc4nz.js";
17
- import"./chunk-677etczq.js";
15
+ } from "./chunk-9e452fhe.js";
16
+ import"./chunk-dk0ftqwg.js";
17
+ import"./chunk-d3ksv8y1.js";
18
18
  export {
19
19
  HERDR_CORE_GENERATION2 as HERDR_CORE_GENERATION,
20
20
  HERDR_CORE_INSTALL_COMMAND2 as HERDR_CORE_INSTALL_COMMAND,
@@ -8,7 +8,7 @@ import {
8
8
  isFunction2,
9
9
  isUndefined2,
10
10
  isObjectOrArray
11
- } from "./chunk-677etczq.js";
11
+ } from "./chunk-d3ksv8y1.js";
12
12
 
13
13
  // packages/core/src/runtime-type.ts
14
14
  var UnsafeJsonObjectKeys = new Set(["__proto__", "constructor", "prototype"]);
@@ -32,9 +32,9 @@ import {
32
32
  toCodecJson,
33
33
  Json,
34
34
  encodePrettyJsonString
35
- } from "./chunk-677etczq.js";
36
- import"./chunk-wnwyp9qn.js";
37
- import"./chunk-h6360r1c.js";
35
+ } from "./chunk-d3ksv8y1.js";
36
+ import"./chunk-rrnee9mk.js";
37
+ import"./chunk-v01c0k6j.js";
38
38
  import {
39
39
  SecureRandom,
40
40
  layerWebCrypto,
@@ -46,7 +46,7 @@ import {
46
46
  layer4,
47
47
  kitmanMcpServer,
48
48
  RunnerRpcProtocolVersion
49
- } from "./chunk-n0pm4rtm.js";
49
+ } from "./chunk-9e452fhe.js";
50
50
  import {
51
51
  decodeText,
52
52
  mkString,
@@ -54,23 +54,23 @@ import {
54
54
  Path,
55
55
  withDefault,
56
56
  String2
57
- } from "./chunk-qdyqc4nz.js";
57
+ } from "./chunk-dk0ftqwg.js";
58
58
  import {
59
59
  Packument,
60
60
  tarballMatches
61
- } from "./chunk-k7mn104k.js";
62
- import"./chunk-qpg9t7he.js";
61
+ } from "./chunk-hr9vd6dj.js";
62
+ import"./chunk-5n121vsj.js";
63
63
  import {
64
64
  AgentDeclaration,
65
65
  KitDeclarations,
66
66
  describeFlag,
67
67
  Described
68
- } from "./chunk-q9n4jkcp.js";
68
+ } from "./chunk-x1zqfxve.js";
69
69
  import {
70
70
  ChildProcessSpawner,
71
- make2
72
- } from "./chunk-tf5yxkpy.js";
73
- import"./chunk-q26gt71y.js";
71
+ make3
72
+ } from "./chunk-1rry0tsn.js";
73
+ import"./chunk-cmatdpfy.js";
74
74
 
75
75
  // packages/sdk/src/build/index.ts
76
76
  class DependencyInstallFailed extends TaggedError2()("DependencyInstallFailed", {
@@ -109,7 +109,7 @@ var ConfigAgents = Record(String4, Struct({
109
109
  }));
110
110
  var run = (command, args, cwd) => gen(function* () {
111
111
  const spawner = yield* ChildProcessSpawner;
112
- const handle = yield* spawner.spawn(make2(command, args, { cwd, stdin: "ignore" }));
112
+ const handle = yield* spawner.spawn(make3(command, args, { cwd, stdin: "ignore" }));
113
113
  const [stdout, stderr, exitCode] = yield* all3([
114
114
  mkString(decodeText(handle.stdout)),
115
115
  mkString(decodeText(handle.stderr)),
@@ -1,12 +1,12 @@
1
1
  // @bun
2
- import"./chunk-677etczq.js";
3
- import"./chunk-wnwyp9qn.js";
4
- import"./chunk-h6360r1c.js";
2
+ import"./chunk-d3ksv8y1.js";
3
+ import"./chunk-rrnee9mk.js";
4
+ import"./chunk-v01c0k6j.js";
5
5
  import {
6
6
  decideSecretRequest,
7
7
  readSecretRegistry,
8
8
  appendSecretRefusals
9
- } from "./chunk-rzr11xyn.js";
9
+ } from "./chunk-1w81w56v.js";
10
10
 
11
11
  // packages/agent-runtime/src/srt-step.ts
12
12
  import { SandboxRuntimeConfigSchema } from "@anthropic-ai/sandbox-runtime";
@@ -75,10 +75,10 @@ import {
75
75
  toEquivalence,
76
76
  toCodecJson,
77
77
  Json
78
- } from "./chunk-677etczq.js";
78
+ } from "./chunk-d3ksv8y1.js";
79
79
  import {
80
80
  guard
81
- } from "./chunk-wnwyp9qn.js";
81
+ } from "./chunk-rrnee9mk.js";
82
82
  import {
83
83
  currentTimeMillis,
84
84
  WebCrypto,
@@ -105,11 +105,11 @@ import {
105
105
  KitDigest,
106
106
  KitSetup,
107
107
  RunnerRpcError
108
- } from "./chunk-n0pm4rtm.js";
108
+ } from "./chunk-9e452fhe.js";
109
109
  import {
110
110
  runForEach,
111
111
  FileSystem
112
- } from "./chunk-qdyqc4nz.js";
112
+ } from "./chunk-dk0ftqwg.js";
113
113
 
114
114
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/crypto/internal/webCrypto.js
115
115
  var subtleUnavailable = () => new Error("crypto.subtle is unavailable; browsers expose it only in secure contexts");
@@ -493,7 +493,9 @@ var EvidenceCheck = Struct({
493
493
  durationMs: Finite,
494
494
  evidenceId: String4,
495
495
  outputTail: optionalKey(String4),
496
- suggested: optionalKey(Boolean2)
496
+ suggested: optionalKey(Boolean2),
497
+ skippedSinceBaseline: optionalKey(ArraySchema(String4)),
498
+ newNotRun: optionalKey(ArraySchema(String4))
497
499
  });
498
500
  var VerifyResult = Struct({
499
501
  revision: String4,
@@ -748,7 +750,10 @@ var PipelineStatus = Struct({
748
750
  source: Literals(["forge", "reported"]),
749
751
  jobs: ArraySchema(PipelineJob),
750
752
  readAt: optionalKey(String4),
751
- runnerChecks: optionalKey(ArraySchema(String4))
753
+ runnerChecks: optionalKey(ArraySchema(String4)),
754
+ approved: optionalKey(String4),
755
+ repository: optionalKey(String4),
756
+ target: optionalKey(Struct({ branch: String4, head: String4, jobs: ArraySchema(PipelineJob) }))
752
757
  });
753
758
  var ReviewThread = Struct({
754
759
  id: String4,
@@ -6,7 +6,7 @@ import {
6
6
  getOrUndefined,
7
7
  Reference,
8
8
  TaggedError,
9
- make15,
9
+ make16,
10
10
  _await,
11
11
  fail5,
12
12
  succeed5,
@@ -85,7 +85,7 @@ import {
85
85
  decodeJsonString,
86
86
  encodeJsonStringSync,
87
87
  encodePrettyJsonString
88
- } from "./chunk-677etczq.js";
88
+ } from "./chunk-d3ksv8y1.js";
89
89
  import {
90
90
  tap,
91
91
  mapError,
@@ -97,7 +97,7 @@ import {
97
97
  withDefault,
98
98
  option,
99
99
  String2
100
- } from "./chunk-qdyqc4nz.js";
100
+ } from "./chunk-dk0ftqwg.js";
101
101
  import {
102
102
  currentTimeMillis,
103
103
  SecureRandom,
@@ -135,7 +135,7 @@ import {
135
135
  digestSha256,
136
136
  sha256Hasher,
137
137
  raw,
138
- make4,
138
+ make5,
139
139
  get,
140
140
  put,
141
141
  HttpClient,
@@ -197,10 +197,10 @@ import {
197
197
  harnessNames,
198
198
  herdrRunnerCapabilities2,
199
199
  declaredChecks
200
- } from "./chunk-n0pm4rtm.js";
200
+ } from "./chunk-9e452fhe.js";
201
201
  import {
202
202
  Id
203
- } from "./chunk-wnwyp9qn.js";
203
+ } from "./chunk-rrnee9mk.js";
204
204
  import {
205
205
  toJsonValue,
206
206
  isOneOf,
@@ -210,11 +210,11 @@ import {
210
210
  isObject,
211
211
  isJsonObject,
212
212
  isString
213
- } from "./chunk-h6360r1c.js";
213
+ } from "./chunk-v01c0k6j.js";
214
214
  import {
215
215
  ChildProcessSpawner,
216
- make2
217
- } from "./chunk-tf5yxkpy.js";
216
+ make3
217
+ } from "./chunk-1rry0tsn.js";
218
218
 
219
219
  // apps/cli/src/cli-error.ts
220
220
  function cliErrorCode(error, status) {
@@ -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-t0rnf6ch.js")), ({ HerdrCore, herdrCoreLayer }) => provide3(service(HerdrCore), herdrCoreLayer(options)))
507
+ defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-tkmp48ha.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-t0rnf6ch.js")), (module) => module.updateHerdrCore(options))
510
+ defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-tkmp48ha.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-drsawp1s.js"));
736
+ const { syncKitSetup } = yield* promise(() => import("./chunk-h89p59p6.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)
@@ -1249,7 +1249,7 @@ var ServiceManager = Reference("kitman/cli/ServiceManager", {
1249
1249
  run: (command, args) => runCommand2(command, args),
1250
1250
  attach: (command, args) => gen(function* () {
1251
1251
  const spawner = yield* ChildProcessSpawner;
1252
- const handle = yield* spawner.spawn(make2(command, args, { stdin: "inherit", stdout: "inherit", stderr: "inherit" }));
1252
+ const handle = yield* spawner.spawn(make3(command, args, { stdin: "inherit", stdout: "inherit", stderr: "inherit" }));
1253
1253
  const exitCode = yield* handle.exitCode;
1254
1254
  if (exitCode !== 0)
1255
1255
  return yield* new CommandFailed2({ command, reason: `exit code ${exitCode}` });
@@ -1651,7 +1651,7 @@ var package_default = {
1651
1651
  };
1652
1652
 
1653
1653
  // apps/cli/src/scaffold.ts
1654
- var cliVersion = "0.10.69";
1654
+ var cliVersion = "0.10.71";
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-kqcrxea1.js"));
1904
+ var agentRuntime = promise(() => import("./chunk-g4xsa9ks.js"));
1905
1905
  var TuiLauncher = Reference("kitman/cli/TuiLauncher", {
1906
1906
  defaultValue: () => gen(function* () {
1907
1907
  const tui = yield* tryPromise({
@@ -2756,7 +2756,7 @@ var SandboxHostProbe = Reference("kitman/cli/SandboxHostProbe", {
2756
2756
  });
2757
2757
  var OpenRunnerRpc = Reference("kitman/cli/OpenRunnerRpc", {
2758
2758
  defaultValue: () => (options) => gen(function* () {
2759
- const { makeRunnerRpcClient, runnerRpcUrl, runnerWebSocketProtocol } = yield* promise(() => import("./chunk-9m14d9d8.js"));
2759
+ const { makeRunnerRpcClient, runnerRpcUrl, runnerWebSocketProtocol } = yield* promise(() => import("./chunk-gxnpdpjz.js"));
2760
2760
  return yield* makeRunnerRpcClient({
2761
2761
  runnerId: options.runnerId,
2762
2762
  bearer: options.bearer,
@@ -2951,7 +2951,7 @@ function startCanonicalHerdrRunnerCommand(input) {
2951
2951
  });
2952
2952
  const checkouts = runCheckouts(path.join(runnerRootDir, ".kitman"), rpc.gitCredential);
2953
2953
  const platform = yield* context();
2954
- const updated = yield* make15();
2954
+ const updated = yield* make16();
2955
2955
  const scope = yield* scope2;
2956
2956
  yield* listenForSignals({
2957
2957
  rpc,
@@ -3140,7 +3140,7 @@ function mcpCommand(args) {
3140
3140
  if (command.action === "run") {
3141
3141
  if (command.args.length > 0)
3142
3142
  return yield* new CliError({ message: `Unknown command: ${args.join(" ")}` });
3143
- const { runMcpServerCommand } = yield* promise(() => import("./chunk-20qadzgw.js"));
3143
+ const { runMcpServerCommand } = yield* promise(() => import("./chunk-zwec6t49.js"));
3144
3144
  return yield* runMcpServerCommand({ flags: command.flags });
3145
3145
  }
3146
3146
  if (command.action !== "setup")
@@ -3728,7 +3728,16 @@ var answerInTerminal = (client, runId, questions) => forEach(questions, (questio
3728
3728
  yield* client.answerRun(runId, { value: reply.answer, question: question.id, idempotencyKey: key }).pipe(andThen2(log(`Answered ${question.stepKey}: ${reply.answer}`)), catchIf((error) => error instanceof KitmanClientError && error.code === "question_not_open", (error) => log(`Not answered: ${question.stepKey} was settled while it waited here. ${error.responseMessage ?? error.message}`)));
3729
3729
  }), { discard: true });
3730
3730
  var claimLines = (step) => step.output === undefined ? [] : isJsonObject(toJsonValue(step.output)) ? Object.entries(toJsonObject(step.output)).map(([field, value]) => ` Claim ${field}: ${isString(value) ? value : encodeJsonStringSync(value)}`) : [` Claim: ${encodeJsonStringSync(toJsonValue(step.output))}`];
3731
- var evidenceLines = (evidence) => evidence.map((entry) => `Evidence ${entry.step} ${entry.name}: ${entry.status}${entry.preExisting ? " (pre-existing)" : ""} at tree ${entry.tree} (${entry.revision}, ${entry.durationMs}ms)`);
3731
+ var evidenceLines = (evidence) => evidence.flatMap((entry) => {
3732
+ const neverRan = [
3733
+ ...(entry.newNotRun ?? []).map((test) => ` Never ran: ${test} (new)`),
3734
+ ...(entry.skippedSinceBaseline ?? []).map((test) => ` Never ran: ${test} (ran on the base branch)`)
3735
+ ];
3736
+ return [
3737
+ `Evidence ${entry.step} ${entry.name}: ${entry.status}${entry.preExisting ? " (pre-existing)" : ""}${neverRan.length === 0 ? "" : `, ${neverRan.length} test${neverRan.length === 1 ? "" : "s"} never ran`} at tree ${entry.tree} (${entry.revision}, ${entry.durationMs}ms)`,
3738
+ ...neverRan
3739
+ ];
3740
+ });
3732
3741
  var steerOutcome = (client, runId, sent) => gen(function* () {
3733
3742
  for (let tries = 0;tries < 20; tries++) {
3734
3743
  const steer = (yield* client.showRun(runId)).steers.find((entry) => entry.id === sent.id);
@@ -4342,9 +4351,9 @@ function claimCommand(args) {
4342
4351
  }
4343
4352
  });
4344
4353
  }
4345
- var KitWriter = map8(promise(() => import("./chunk-j4pmjnyd.js")), (build) => build.writeKit);
4354
+ var KitWriter = map8(promise(() => import("./chunk-vs10kwdr.js")), (build) => build.writeKit);
4346
4355
  var KitBuilder = Reference("kitman/cli/KitBuilder", {
4347
- defaultValue: () => (directory) => flatMap3(promise(() => import("./chunk-j4pmjnyd.js")), (build) => build.buildKit(directory))
4356
+ defaultValue: () => (directory) => flatMap3(promise(() => import("./chunk-vs10kwdr.js")), (build) => build.buildKit(directory))
4348
4357
  });
4349
4358
  var uploadKit = (client, workspaceId, built) => gen(function* () {
4350
4359
  yield* client.uploadKitBundle(workspaceId, built.digest, { bundle: encode2(built.bundle) });
@@ -5102,7 +5111,7 @@ function downloadPresignedAsset(download, outputPath) {
5102
5111
  return gen(function* () {
5103
5112
  const fs = yield* FileSystem;
5104
5113
  const failed = (cause) => new CliError({ message: `Asset download failed: ${String(cause)}` });
5105
- const response = yield* send(make4(download.method)(download.url), failed);
5114
+ const response = yield* send(make5(download.method)(download.url), failed);
5106
5115
  if (response.status < 200 || response.status >= 300)
5107
5116
  return yield* new CliError({ message: `Asset download failed with ${response.status}` });
5108
5117
  const body = yield* response.arrayBuffer.pipe(mapError2((error) => failed(error.message)));