@outerlayer/cli 0.33.0-next.20261023030517 → 0.33.0-next.20261023120437

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 (102) hide show
  1. package/README.md +3 -2
  2. package/dist/{agent-setup-APFM4MZ4.js → agent-setup-YHEW3WXB.js} +10 -10
  3. package/dist/{artifact-link-cmd-IHHMU4EA.js → artifact-link-cmd-7FYKWA7J.js} +2 -2
  4. package/dist/{build-disk-55M4ZMDX.js → build-disk-ECTLWTPC.js} +4 -4
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-DQZCPB7J.js → builder-LUPHKUFM.js} +3 -3
  7. package/dist/{check-AEMFDR55.js → check-4QNLMDP7.js} +27 -27
  8. package/dist/{chunk-X62C7V4B.js → chunk-2JLM4GUF.js} +12 -12
  9. package/dist/{chunk-M24H6JQW.js → chunk-44V5SD4G.js} +1 -1
  10. package/dist/{chunk-C66Q2CLW.js → chunk-5M2J7B5N.js} +2 -2
  11. package/dist/{chunk-PNIFQX73.js → chunk-6CXNWKWD.js} +1 -1
  12. package/dist/{chunk-UAJYWZ2F.js → chunk-6SPD266O.js} +3 -3
  13. package/dist/{chunk-4NKHOCTF.js → chunk-7IFYI7XF.js} +3 -3
  14. package/dist/{chunk-HUBRTT2C.js → chunk-7UPMYRPS.js} +4 -4
  15. package/dist/{chunk-X37GC7DM.js → chunk-7V5GUEDU.js} +1 -1
  16. package/dist/{chunk-2WZ66FXA.js → chunk-AKZRGFGT.js} +3 -3
  17. package/dist/{chunk-T4S2DVOA.js → chunk-D3EDZPJR.js} +5 -5
  18. package/dist/{chunk-35DSTT37.js → chunk-DKFUXYGD.js} +4 -4
  19. package/dist/{chunk-7HZH5D7H.js → chunk-EHOFFTVX.js} +2 -2
  20. package/dist/{chunk-6ANIBEQ6.js → chunk-EJL6CWSP.js} +6 -6
  21. package/dist/{chunk-UHFU3CBN.js → chunk-EXZACZ2P.js} +1 -1
  22. package/dist/{chunk-V7Q5OKN7.js → chunk-F2D5BSXS.js} +27 -2
  23. package/dist/{chunk-C7WGCI77.js → chunk-FT7MUQGO.js} +2 -2
  24. package/dist/{chunk-AXIK6F52.js → chunk-FZUFUVLK.js} +13 -13
  25. package/dist/{chunk-M3RYZRMH.js → chunk-GO2DUPQS.js} +3 -3
  26. package/dist/{chunk-CCOU4NXE.js → chunk-HLZMAJJD.js} +2 -2
  27. package/dist/{chunk-GFTWZSOW.js → chunk-IUPY54BZ.js} +10 -10
  28. package/dist/{chunk-T4TT76GG.js → chunk-JEVKOZBB.js} +1 -1
  29. package/dist/{chunk-XMPE5TT4.js → chunk-KUE4V2SK.js} +2 -2
  30. package/dist/{chunk-DHUHQPRQ.js → chunk-L6MDOEHN.js} +7 -7
  31. package/dist/{chunk-PJI5D2XT.js → chunk-LYGI3T66.js} +2 -2
  32. package/dist/{chunk-E4F7YE7P.js → chunk-MPC2UAW2.js} +1 -1
  33. package/dist/{chunk-QQXNS4G2.js → chunk-NIY2UBT6.js} +1 -1
  34. package/dist/{chunk-QKEOAQ2W.js → chunk-OGMXVPCS.js} +1 -1
  35. package/dist/{chunk-A5FFANL7.js → chunk-QKNFU5GA.js} +5 -5
  36. package/dist/{chunk-VJGQEASF.js → chunk-S5CNYXUA.js} +4 -4
  37. package/dist/{chunk-B6WW6AKO.js → chunk-SQQD5MST.js} +4 -4
  38. package/dist/{chunk-JB4R5IFJ.js → chunk-UK4RGH46.js} +2 -2
  39. package/dist/{chunk-PILHDNHX.js → chunk-V673DFOL.js} +4 -4
  40. package/dist/{chunk-ONUACB5C.js → chunk-VWQCYOBS.js} +2 -2
  41. package/dist/{chunk-LHKWWEQZ.js → chunk-X4JEBMYN.js} +1 -1
  42. package/dist/{chunk-Z4GLZTDF.js → chunk-XCRET2GZ.js} +2 -2
  43. package/dist/{chunk-RLAKWXDK.js → chunk-YGZLRX5U.js} +1 -1
  44. package/dist/{chunk-67KCGRKA.js → chunk-YSM4EEUK.js} +11 -11
  45. package/dist/{chunk-5FSVA3CO.js → chunk-YXMGHGHR.js} +5 -5
  46. package/dist/{chunk-6ZLI652Y.js → chunk-ZF24JN7R.js} +1 -1
  47. package/dist/{claude-launcher-B55NWRH5.js → claude-launcher-YRPW4SWA.js} +5 -5
  48. package/dist/{cli-5YT5EL2R.js → cli-BC7JWQUQ.js} +108 -105
  49. package/dist/{command-DYLRDCGC.js → command-SQ4466SL.js} +19 -19
  50. package/dist/{config-RRY7DIJG.js → config-MVA7YTFW.js} +5 -5
  51. package/dist/{connect-cmd-7C6W2SEP.js → connect-cmd-KWXV2CGC.js} +8 -8
  52. package/dist/{container-start-F7PBMTAL.js → container-start-AQJ64LCF.js} +20 -20
  53. package/dist/{context-cleanup-EKTPKJJT.js → context-cleanup-A2FGVVPH.js} +3 -3
  54. package/dist/{context-show-cmd-I5JC7EFH.js → context-show-cmd-6F4UF4ND.js} +9 -9
  55. package/dist/{control-plane-launch-NOKM6CBH.js → control-plane-launch-7SOH6IMA.js} +6 -6
  56. package/dist/{dist-LLYL5UCV.js → dist-IG2DKUJJ.js} +2 -2
  57. package/dist/{docker-W7WWFZ3Q.js → docker-YKYQJHL2.js} +3 -3
  58. package/dist/{doctor-LYOFFCQS.js → doctor-4YZOP343.js} +20 -20
  59. package/dist/{emit-artifact-cmd-RO34UG7A.js → emit-artifact-cmd-6QTTWBVN.js} +13 -13
  60. package/dist/{emit-cmd-GY7Z26DY.js → emit-cmd-3FG7FEGO.js} +6 -6
  61. package/dist/{emit-criteria-cmd-Y36QCPAM.js → emit-criteria-cmd-22VVCL2W.js} +10 -10
  62. package/dist/{emit-demo-cmd-YMWVF5U4.js → emit-demo-cmd-IQRS7BP2.js} +168 -46
  63. package/dist/{emit-finding-cmd-MH3ZWUNV.js → emit-finding-cmd-TXDPJFVT.js} +10 -10
  64. package/dist/{emit-result-cmd-ZARZZZ3Y.js → emit-result-cmd-QHJDUC7J.js} +12 -12
  65. package/dist/{emit-step-cmd-A6HQJDBY.js → emit-step-cmd-TQCOLXAA.js} +10 -10
  66. package/dist/{findings-cmd-OLLBWJXJ.js → findings-cmd-EURKADAY.js} +10 -10
  67. package/dist/{fleet-readiness-VB5QSFSY.js → fleet-readiness-GXDSFTLP.js} +8 -8
  68. package/dist/{governing-source-ZX7VXTOA.js → governing-source-IRRP7G5G.js} +13 -13
  69. package/dist/{hook-fast-4RYMBFPO.js → hook-fast-3IYSWDL4.js} +1 -1
  70. package/dist/index.js +4 -4
  71. package/dist/{init-BQCGL7UD.js → init-63X6ECKF.js} +19 -19
  72. package/dist/{init-NCCMB2UE.js → init-T64C4MID.js} +19 -19
  73. package/dist/{init-cmd-OW2L5HTI.js → init-cmd-7CGCDLBZ.js} +18 -18
  74. package/dist/{init-update-7LUMOECE.js → init-update-LFKSC6Y4.js} +17 -17
  75. package/dist/{install-5BQ3TFBT.js → install-47Z7VNWP.js} +6 -6
  76. package/dist/{layout-RGVPCX7Y.js → layout-44S4OYLK.js} +4 -4
  77. package/dist/{login-browser-BC2Z5QKG.js → login-browser-BJZYKWHF.js} +2 -2
  78. package/dist/{loop-BU634Y6A.js → loop-YJF27PUS.js} +27 -27
  79. package/dist/{machine-RI4KHRYP.js → machine-VBITNWTR.js} +19 -19
  80. package/dist/{machine-skills-CS5HAQHF.js → machine-skills-GOKW3U5N.js} +4 -4
  81. package/dist/{runner-env-QSLLOFNF.js → runner-env-ILP6BAC2.js} +7 -7
  82. package/dist/{runner-identity-DQAXW4DL.js → runner-identity-MF3AYBR6.js} +3 -3
  83. package/dist/{runner-key-UWL475RU.js → runner-key-5SGBLTDJ.js} +19 -19
  84. package/dist/{session-sender-OGDUJ2KK.js → session-sender-2DYAJIMM.js} +13 -13
  85. package/dist/{spec-cmd-WB4UOFPG.js → spec-cmd-E6SINBX6.js} +11 -11
  86. package/dist/{starter-pack-XHATFTO3.js → starter-pack-FWTXE6XB.js} +5 -5
  87. package/dist/{status-GFZFND6L.js → status-AYHBGIAP.js} +24 -24
  88. package/dist/{sync-cmd-GPZD2C45.js → sync-cmd-NGX2PGIW.js} +12 -12
  89. package/dist/{watch-5I3GURXY.js → watch-ZIWZVU3Z.js} +12 -12
  90. package/dist/{work-claim-cmd-J52UVCAF.js → work-claim-cmd-CIVWB7EJ.js} +15 -15
  91. package/dist/{work-cmd-PQZ5RYDB.js → work-cmd-OO6K6ELP.js} +10 -10
  92. package/dist/{work-comment-cmd-WI6B3IOS.js → work-comment-cmd-SY7NY2CR.js} +10 -10
  93. package/dist/{work-demo-cmd-3NDGSQKJ.js → work-demo-cmd-Y7EU335L.js} +10 -10
  94. package/dist/{work-logs-cmd-QCYZ5X5A.js → work-logs-cmd-PWOFLTGD.js} +10 -10
  95. package/dist/{work-open-pr-cmd-BRDF3ZKL.js → work-open-pr-cmd-AJUTKYWN.js} +11 -11
  96. package/dist/{work-pr-cmd-WY2TBAKW.js → work-pr-cmd-DH43AH3V.js} +10 -10
  97. package/dist/{work-proofs-cmd-R25HT6WP.js → work-proofs-cmd-6W6DDAP6.js} +10 -10
  98. package/dist/{work-stop-cmd-C52JPZ4E.js → work-stop-cmd-WZHBEKE4.js} +10 -10
  99. package/package.json +1 -1
  100. package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +8 -5
  101. package/skill-pack/maintained/outerlayer-build/references/evidence.md +3 -1
  102. package/skill-pack/maintained/outerlayer-evidence/SKILL.md +17 -16
package/README.md CHANGED
@@ -382,7 +382,8 @@ content:
382
382
  (`GET /v1/work-items/{number}/demo`) before it uploads anything. It cuts a recorded video once, from the first chapter's start to the
383
383
  last chapter's end, and emits it as one video artifact. It then emits a video
384
384
  artifact for each chapter with the same bytes and a time range in that video,
385
- followed by the manifest as the demo record. A recording over 8 MiB falls
385
+ followed by the manifest as the demo record. A chapter's screenshot frame is
386
+ emitted as a screenshot artifact after its clip. A recording over 8 MiB falls
386
387
  back to one clip for each chapter. It runs `ffmpeg` and `espeak-ng` on your
387
388
  machine as separate programs and speaks the narration there. Nothing is sent
388
389
  to a speech service. The first narrated run downloads the voice pack, about
@@ -486,7 +487,7 @@ before it gives up.
486
487
  | `outerlayer context emit [--check]` | Compile `.outerlayer/` into each configured target tool's native files (targets come from `.outerlayer/config.json`). `--check` computes outputs and diffs against disk without writing (CI mode). Bare `outerlayer emit` with no name still compiles, with a deprecation warning. |
487
488
  | `outerlayer hooks wrap` / `outerlayer hooks unwrap` | Auto-wrap (or undo wrapping) `PreToolUse`/`PostToolUse` hooks for execution evidence — one spawn per firing. |
488
489
  | `outerlayer emit artifact <file> --caption <text> [--for <criterion-id>] [--pr <n>]` | Upload a proof artifact — screenshot, recording, report, or log — with its caption. Inside a recorded session it spools locally and ships on the next `sync`; otherwise it uploads immediately, anchored to a pull request or the current checkout. `--replaces` retires artifacts an earlier run uploaded. A JUnit XML file bound with `--for` proves a criterion that declares `test` proof; `--test <name[=path:line]>` binds only the named tests. |
489
- | `outerlayer emit demo <manifest> [--compare <manifest>] [--no-narration] [--item <n>] [--pr <n>] [--replaces <record id>]` | Turn a recorded video and its manifest (written by `@outerlayer/playwright`) into a narrated demo: one WebM clip for each chapter, emitted as a video artifact. A chapter whose checks all passed is bound to its criterion. The manifest is emitted as the demo record, with the test file a version 3 manifest names. With `--replaces <record id>`, the new demo retires the item's old demo. With `--compare`, a second run's stills are compared with the first run's, and each chapter reads `yes`, `no` or `not checked`. Needs `ffmpeg` and `ffprobe`, and `espeak-ng` unless `--no-narration`. Exit 1 means a chapter had a failed check. |
490
+ | `outerlayer emit demo <manifest> [--compare <manifest>] [--no-narration] [--item <n>] [--pr <n>] [--replaces <record id>]` | Turn a recorded video and its manifest (written by `@outerlayer/playwright`) into a narrated demo: one WebM clip for each chapter, emitted as a video artifact. A chapter whose checks all passed is bound to its criterion. A chapter of a version 4 manifest may hold a screenshot frame, which its test marked with `demo.screenshot()`. The frame is stored as a screenshot of the chapter's criterion only when that criterion declares `screenshot` and every check passed; otherwise the command says why it stored none. The manifest is emitted as the demo record, with the test file a version 3 or 4 manifest names. With `--replaces <record id>`, the new demo retires the item's old demo. With `--compare`, a second run's stills are compared with the first run's, and each chapter reads `yes`, `no` or `not checked`. Needs `ffmpeg` and `ffprobe`, and `espeak-ng` unless `--no-narration`. Exit 1 means a chapter had a failed check. |
490
491
  | `outerlayer emit <name> --result <pass\|fail> [--link <url>] [--body <text>\|--body-file <path>] --item <number>` | Record one named check's outcome on a work item. A check that ran carries the run URL as its proof (`--link`); a judgment you are making yourself carries one sentence (`--body`, or `--body-file` to read it from a file — `-` reads standard input). A `fail` needs at least one of the two; a `pass` needs neither. `--item` names the work item by the number printed when the item was created — always required, in or out of a recorded session; a session records checks on its own item like any other, stored as the session's, but cannot clear a person's fail. Prints the recorded check's id. Who recorded it comes from your API key, never from what you send. |
491
492
  | `outerlayer work comment --item <n> [--criterion <id>] --body <text> [--artifact <id>] [--pass\|--fail\|--attach\|--ready]` | Post one comment on a work item's general thread, or on one acceptance criterion's own thread with `--criterion`. `--pass`/`--fail` need a person's own credential and apply to the whole item, so they work on the general thread only and the gateway refuses them with `--criterion`; `--attach` makes the named artifact that criterion's current proof; `--ready` hands a thread back to a person. The detected session id rides along automatically, only ever narrowing what the comment may do. |
492
493
  | `outerlayer work stop --item <n> [--note <text>]` | Ask the host that holds the item's build to end it. The host reads the request at its next heartbeat and ends the build with outcome `stopped`, so the build may run a little longer. The item is not built again until a new build request. Needs `work.update`. Exits 1 when no host build is running for the item. |
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { keepHandWritten, runAgentSetup } from './chunk-DHUHQPRQ.js';
4
- import './chunk-PILHDNHX.js';
3
+ export { keepHandWritten, runAgentSetup } from './chunk-L6MDOEHN.js';
4
+ import './chunk-V673DFOL.js';
5
5
  import './chunk-KT4CN6OU.js';
6
- import './chunk-XMPE5TT4.js';
7
- import './chunk-PJI5D2XT.js';
6
+ import './chunk-KUE4V2SK.js';
7
+ import './chunk-LYGI3T66.js';
8
8
  import './chunk-ANPNT6PM.js';
9
- import './chunk-2WZ66FXA.js';
10
- import './chunk-C7WGCI77.js';
9
+ import './chunk-AKZRGFGT.js';
10
+ import './chunk-FT7MUQGO.js';
11
11
  import './chunk-6RKD7YZ6.js';
12
12
  import './chunk-PJDQPF5N.js';
13
13
  import './chunk-SOI6K5DY.js';
@@ -15,16 +15,16 @@ import './chunk-PA6CK6WQ.js';
15
15
  import './chunk-BALIE3BA.js';
16
16
  import './chunk-ZJSNLVCE.js';
17
17
  import './chunk-BJ3KTMDH.js';
18
- import './chunk-M24H6JQW.js';
18
+ import './chunk-44V5SD4G.js';
19
19
  import './chunk-5BHIBJDA.js';
20
20
  import './chunk-CDDED64E.js';
21
21
  import './chunk-RA3O54FC.js';
22
22
  import './chunk-CRB3POP4.js';
23
- import './chunk-6ZLI652Y.js';
23
+ import './chunk-ZF24JN7R.js';
24
24
  import './chunk-YQR6E6OV.js';
25
25
  import './chunk-TUSYOL2O.js';
26
- import './chunk-PNIFQX73.js';
27
- import './chunk-V7Q5OKN7.js';
26
+ import './chunk-6CXNWKWD.js';
27
+ import './chunk-F2D5BSXS.js';
28
28
  import './chunk-VNVZDWO3.js';
29
29
  import './chunk-HACGUL52.js';
30
30
  import './chunk-MESOOLF4.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { sanitizeTerminal, readEffectiveArtifactSpoolState } from './chunk-E4F7YE7P.js';
3
+ import { sanitizeTerminal, readEffectiveArtifactSpoolState } from './chunk-MPC2UAW2.js';
4
4
  import { cliInvocation } from './chunk-CRB3POP4.js';
5
- import './chunk-V7Q5OKN7.js';
5
+ import './chunk-F2D5BSXS.js';
6
6
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
7
7
  import './chunk-Z5GEFMRW.js';
8
8
 
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK, DOCKER_CACHE_MS, allocatedBytes, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-LHKWWEQZ.js';
4
- import './chunk-QKEOAQ2W.js';
3
+ export { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK, DOCKER_CACHE_MS, allocatedBytes, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-X4JEBMYN.js';
4
+ import './chunk-OGMXVPCS.js';
5
5
  import './chunk-3Z3MPR55.js';
6
6
  import './chunk-NE63JADS.js';
7
- import './chunk-QQXNS4G2.js';
7
+ import './chunk-NIY2UBT6.js';
8
8
  import './chunk-SOI6K5DY.js';
9
9
  import './chunk-PA6CK6WQ.js';
10
10
  import './chunk-BALIE3BA.js';
11
- import './chunk-V7Q5OKN7.js';
11
+ import './chunk-F2D5BSXS.js';
12
12
  import './chunk-HACGUL52.js';
13
13
  import './chunk-MESOOLF4.js';
14
14
  import './chunk-Z5GEFMRW.js';
@@ -1 +1 @@
1
- {"id":"2026-10-23T03:06:35.440Z+4c51ec6","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-23T12:05:53.102Z+82d4e55","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-QKEOAQ2W.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-OGMXVPCS.js';
4
4
  import './chunk-3Z3MPR55.js';
5
5
  import './chunk-NE63JADS.js';
6
- import './chunk-QQXNS4G2.js';
6
+ import './chunk-NIY2UBT6.js';
7
7
  import './chunk-SOI6K5DY.js';
8
8
  import './chunk-PA6CK6WQ.js';
9
9
  import './chunk-BALIE3BA.js';
10
- import './chunk-V7Q5OKN7.js';
10
+ import './chunk-F2D5BSXS.js';
11
11
  import './chunk-HACGUL52.js';
12
12
  import './chunk-MESOOLF4.js';
13
13
  import './chunk-Z5GEFMRW.js';
@@ -1,67 +1,67 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-67KCGRKA.js';
4
- import './chunk-AXIK6F52.js';
3
+ import { probeCredentials } from './chunk-YSM4EEUK.js';
4
+ import './chunk-FZUFUVLK.js';
5
5
  import './chunk-GH246BGV.js';
6
6
  import './chunk-ZVB57WI6.js';
7
7
  import './chunk-57L2YAJA.js';
8
8
  import './chunk-3JVYMD4G.js';
9
9
  import './chunk-E7R2GIAW.js';
10
- import './chunk-RLAKWXDK.js';
10
+ import './chunk-YGZLRX5U.js';
11
11
  import './chunk-MZYOUIY5.js';
12
12
  import './chunk-HVRQQOMH.js';
13
13
  import './chunk-6LBSAW6I.js';
14
14
  import './chunk-I3LTIAOR.js';
15
- import './chunk-4NKHOCTF.js';
16
- import './chunk-T4S2DVOA.js';
17
- import './chunk-HUBRTT2C.js';
15
+ import './chunk-7IFYI7XF.js';
16
+ import './chunk-D3EDZPJR.js';
17
+ import './chunk-7UPMYRPS.js';
18
18
  import './chunk-ESVW4MJY.js';
19
- import { managedProblems, managedFactsOf } from './chunk-B6WW6AKO.js';
19
+ import { managedProblems, managedFactsOf } from './chunk-SQQD5MST.js';
20
20
  import './chunk-NBZ7XBT6.js';
21
21
  import './chunk-TBT347UY.js';
22
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, probeHelper, HELPER_ENV, helperSocketPath, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-GFTWZSOW.js';
22
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, probeHelper, HELPER_ENV, helperSocketPath, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-IUPY54BZ.js';
23
23
  import './chunk-2PGI6RDE.js';
24
- import './chunk-UHFU3CBN.js';
24
+ import './chunk-EXZACZ2P.js';
25
25
  import './chunk-YXHKCHWG.js';
26
26
  import './chunk-F5UL23I2.js';
27
27
  import './chunk-JBJTC3UU.js';
28
28
  import './chunk-OGFGZQA3.js';
29
29
  import './chunk-5THSC6BD.js';
30
30
  import './chunk-L26V6ILJ.js';
31
- import './chunk-Z4GLZTDF.js';
31
+ import './chunk-XCRET2GZ.js';
32
32
  import './chunk-MZBQTVFG.js';
33
33
  import './chunk-TQMI335S.js';
34
- import { DEFAULT_UNIT_NAME } from './chunk-7HZH5D7H.js';
35
- import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-ONUACB5C.js';
36
- import './chunk-LHKWWEQZ.js';
37
- import './chunk-QKEOAQ2W.js';
34
+ import { DEFAULT_UNIT_NAME } from './chunk-EHOFFTVX.js';
35
+ import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-VWQCYOBS.js';
36
+ import './chunk-X4JEBMYN.js';
37
+ import './chunk-OGMXVPCS.js';
38
38
  import './chunk-3Z3MPR55.js';
39
39
  import './chunk-NE63JADS.js';
40
- import './chunk-5FSVA3CO.js';
40
+ import './chunk-YXMGHGHR.js';
41
41
  import './chunk-IP7BIBXJ.js';
42
- import './chunk-CCOU4NXE.js';
43
- import './chunk-VJGQEASF.js';
44
- import './chunk-E4F7YE7P.js';
45
- import './chunk-QQXNS4G2.js';
46
- import './chunk-PJI5D2XT.js';
47
- import './chunk-X37GC7DM.js';
42
+ import './chunk-HLZMAJJD.js';
43
+ import './chunk-S5CNYXUA.js';
44
+ import './chunk-MPC2UAW2.js';
45
+ import './chunk-NIY2UBT6.js';
46
+ import './chunk-LYGI3T66.js';
47
+ import './chunk-7V5GUEDU.js';
48
48
  import './chunk-G2JWZDFA.js';
49
49
  import './chunk-ANPNT6PM.js';
50
- import './chunk-2WZ66FXA.js';
51
- import './chunk-C7WGCI77.js';
50
+ import './chunk-AKZRGFGT.js';
51
+ import './chunk-FT7MUQGO.js';
52
52
  import './chunk-6RKD7YZ6.js';
53
53
  import './chunk-PJDQPF5N.js';
54
54
  import './chunk-SOI6K5DY.js';
55
55
  import './chunk-PA6CK6WQ.js';
56
56
  import { claudeEnvPath } from './chunk-BALIE3BA.js';
57
- import './chunk-JB4R5IFJ.js';
57
+ import './chunk-UK4RGH46.js';
58
58
  import './chunk-ZJSNLVCE.js';
59
59
  import './chunk-2O5KA67H.js';
60
60
  import './chunk-BKO6JEZI.js';
61
61
  import './chunk-FGF52V4V.js';
62
62
  import './chunk-HCVLP7XA.js';
63
63
  import './chunk-BJ3KTMDH.js';
64
- import './chunk-M24H6JQW.js';
64
+ import './chunk-44V5SD4G.js';
65
65
  import './chunk-5BHIBJDA.js';
66
66
  import './chunk-CDDED64E.js';
67
67
  import './chunk-RA3O54FC.js';
@@ -71,8 +71,8 @@ import './chunk-CRB3POP4.js';
71
71
  import './chunk-URIZRCRY.js';
72
72
  import './chunk-YQR6E6OV.js';
73
73
  import './chunk-TUSYOL2O.js';
74
- import './chunk-PNIFQX73.js';
75
- import './chunk-V7Q5OKN7.js';
74
+ import './chunk-6CXNWKWD.js';
75
+ import './chunk-F2D5BSXS.js';
76
76
  import './chunk-VNVZDWO3.js';
77
77
  import { parseRunnerEnv } from './chunk-HACGUL52.js';
78
78
  import './chunk-MESOOLF4.js';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { checkStarterFiles, contextIsGoverned } from './chunk-35DSTT37.js';
4
- import { fleetCheck, checkBuildSkill, checkMachineSkills, checkCommittedMaintainedSkills, checkMaintainedReferences, checkIgnoredSkillFolders } from './chunk-6ANIBEQ6.js';
5
- import { resolveCredentials, getJson, WorkCommandError } from './chunk-5FSVA3CO.js';
6
- import { isLinkedRepository } from './chunk-VJGQEASF.js';
7
- import { sanitizeTerminal } from './chunk-E4F7YE7P.js';
8
- import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-QQXNS4G2.js';
3
+ import { checkStarterFiles, contextIsGoverned } from './chunk-DKFUXYGD.js';
4
+ import { fleetCheck, checkBuildSkill, checkMachineSkills, checkCommittedMaintainedSkills, checkMaintainedReferences, checkIgnoredSkillFolders } from './chunk-EJL6CWSP.js';
5
+ import { resolveCredentials, getJson, WorkCommandError } from './chunk-YXMGHGHR.js';
6
+ import { isLinkedRepository } from './chunk-S5CNYXUA.js';
7
+ import { sanitizeTerminal } from './chunk-MPC2UAW2.js';
8
+ import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-NIY2UBT6.js';
9
9
  import { C } from './chunk-ANPNT6PM.js';
10
- import { checkFormerSkillNames } from './chunk-C7WGCI77.js';
10
+ import { checkFormerSkillNames } from './chunk-FT7MUQGO.js';
11
11
  import { resolveGatewayCredentials, defaultFetch } from './chunk-6RKD7YZ6.js';
12
- import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-JB4R5IFJ.js';
12
+ import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-UK4RGH46.js';
13
13
  import { readStatuslineState, STATE_FRESH_MS } from './chunk-I7RZHMXW.js';
14
14
  import { hookCommandEscapesControlPlane, CONTROL_PLANE_DIR_VARIABLE } from './chunk-HCVLP7XA.js';
15
15
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
@@ -1195,8 +1195,8 @@ function doctorExitCode(checks) {
1195
1195
 
1196
1196
  // src/doctor-report.ts
1197
1197
  async function gatherDoctorChecks() {
1198
- const { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK } = await import('./build-disk-55M4ZMDX.js');
1199
- const { defaultRunnerConfigPath, hasRunnerBlock, loadRunnerConfig, runnerVmOf } = await import('./config-RRY7DIJG.js');
1198
+ const { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK } = await import('./build-disk-ECTLWTPC.js');
1199
+ const { defaultRunnerConfigPath, hasRunnerBlock, loadRunnerConfig, runnerVmOf } = await import('./config-MVA7YTFW.js');
1200
1200
  const configPath = defaultRunnerConfigPath();
1201
1201
  const runnerHost = hasRunnerBlock(configPath);
1202
1202
  const hooks = (() => {
@@ -1217,7 +1217,7 @@ async function gatherDoctorChecks() {
1217
1217
  const { runnerVmCheck } = await import('./doctor-53F2PYY7.js');
1218
1218
  checks.push(runnerVmCheck(configPath, { lima: realLima(), home: homeFromEnv(), instance: runnerVm.instance }));
1219
1219
  } else if (hasRunnerBlock(configPath)) {
1220
- const { runnerHostChecks } = await import('./doctor-LYOFFCQS.js');
1220
+ const { runnerHostChecks } = await import('./doctor-4YZOP343.js');
1221
1221
  const gateway = (() => {
1222
1222
  try {
1223
1223
  const { url, apiKey, appId } = loadRunnerConfig(configPath);
@@ -1245,7 +1245,7 @@ async function gatherDoctorChecks() {
1245
1245
  const { existsSync: existsSync3 } = await import('fs');
1246
1246
  if (process.platform !== "linux" || !existsSync3("/run/systemd/system")) return void 0;
1247
1247
  const { inspectService, realInspectProbes } = await import('./inspect-DNLXTXLA.js');
1248
- const { DEFAULT_UNIT_NAME } = await import('./install-5BQ3TFBT.js');
1248
+ const { DEFAULT_UNIT_NAME } = await import('./install-47Z7VNWP.js');
1249
1249
  const { dirname: dirname2 } = await import('path');
1250
1250
  return inspectService(DEFAULT_UNIT_NAME, dirname2(configPath), realInspectProbes());
1251
1251
  })();
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
4
4
  import { resolvePackageVersion } from './chunk-RA3O54FC.js';
5
- import { splitRawFile } from './chunk-PNIFQX73.js';
5
+ import { splitRawFile } from './chunk-6CXNWKWD.js';
6
6
  import { existsSync, readFileSync, mkdirSync, writeFileSync, readdirSync } from 'fs';
7
7
  import { join, dirname } from 'path';
8
8
  import { fileURLToPath } from 'url';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
4
- import { autoConnect } from './chunk-CCOU4NXE.js';
5
- import { resolveRepoIdentity } from './chunk-QQXNS4G2.js';
4
+ import { autoConnect } from './chunk-HLZMAJJD.js';
5
+ import { resolveRepoIdentity } from './chunk-NIY2UBT6.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-6RKD7YZ6.js';
8
8
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RESERVED_EMIT_NAMES, ARTIFACT_KINDS, ArtifactCriterionIdSchema } from './chunk-V7Q5OKN7.js';
3
+ import { RESERVED_EMIT_NAMES, ARTIFACT_KINDS, ArtifactCriterionIdSchema } from './chunk-F2D5BSXS.js';
4
4
  import { __commonJS, __require, __toESM } from './chunk-Z5GEFMRW.js';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -2,15 +2,15 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
4
  import { detectActiveSession, transcriptPathForSession } from './chunk-IP7BIBXJ.js';
5
- import { autoConnect } from './chunk-CCOU4NXE.js';
6
- import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-QQXNS4G2.js';
5
+ import { autoConnect } from './chunk-HLZMAJJD.js';
6
+ import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-NIY2UBT6.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
8
  import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-6RKD7YZ6.js';
9
9
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
10
10
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
12
  import { cliInvocation } from './chunk-CRB3POP4.js';
13
- import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-V7Q5OKN7.js';
13
+ import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-F2D5BSXS.js';
14
14
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
15
15
  import { readFileSync, existsSync } from 'fs';
16
16
  import { join, dirname, basename } from 'path';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-T4S2DVOA.js';
4
- import { CaptureDaemon } from './chunk-QQXNS4G2.js';
5
- import { spoolDir } from './chunk-JB4R5IFJ.js';
3
+ import { LiveUploader } from './chunk-D3EDZPJR.js';
4
+ import { CaptureDaemon } from './chunk-NIY2UBT6.js';
5
+ import { spoolDir } from './chunk-UK4RGH46.js';
6
6
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
7
7
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
8
8
  import { mkdirSync, writeFileSync, rmSync } from 'fs';
@@ -2,14 +2,14 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
4
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
5
- import { autoConnect } from './chunk-CCOU4NXE.js';
6
- import { acquireSpoolLockAt } from './chunk-E4F7YE7P.js';
7
- import { resolveRepoIdentity } from './chunk-QQXNS4G2.js';
5
+ import { autoConnect } from './chunk-HLZMAJJD.js';
6
+ import { acquireSpoolLockAt } from './chunk-MPC2UAW2.js';
7
+ import { resolveRepoIdentity } from './chunk-NIY2UBT6.js';
8
8
  import { C } from './chunk-ANPNT6PM.js';
9
9
  import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-6RKD7YZ6.js';
10
10
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
- import { StepNameSchema, StepBodySchema } from './chunk-V7Q5OKN7.js';
12
+ import { StepNameSchema, StepBodySchema } from './chunk-F2D5BSXS.js';
13
13
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
14
14
  import { randomUUID } from 'crypto';
15
15
  import { readFileSync, existsSync, mkdirSync, writeFileSync, renameSync, appendFileSync } from 'fs';
@@ -5,7 +5,7 @@ import { C } from './chunk-ANPNT6PM.js';
5
5
  import { readCloudConfigStrict, CloudConfigError, readCloudConfig, writeCloudConfig, cloudConfigPath } from './chunk-PJDQPF5N.js';
6
6
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
8
- import { CLI_LOGIN_MACHINE_NAME_MAX, CliLoginPollResponseSchema, CLI_LOGIN_KIND, CliLoginRefusalSchema, CliLoginStartedSchema } from './chunk-V7Q5OKN7.js';
8
+ import { CLI_LOGIN_MACHINE_NAME_MAX, CliLoginPollResponseSchema, CLI_LOGIN_KIND, CliLoginRefusalSchema, CliLoginStartedSchema } from './chunk-F2D5BSXS.js';
9
9
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
10
10
  import { generateKeyPairSync, privateDecrypt, constants, createPrivateKey } from 'crypto';
11
11
  import { spawn } from 'child_process';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { removeRetiredSkills } from './chunk-C7WGCI77.js';
3
+ import { removeRetiredSkills } from './chunk-FT7MUQGO.js';
4
4
  import { defaultFetch, resolveGatewayCredentials } from './chunk-6RKD7YZ6.js';
5
5
  import { withTokenHeader } from './chunk-BALIE3BA.js';
6
6
  import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
7
- import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-M24H6JQW.js';
7
+ import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-44V5SD4G.js';
8
8
  import { cliInvocation } from './chunk-CRB3POP4.js';
9
9
  import { writeDegraded, writeSourceCache, SOURCE_CACHE_TTL_RETRY_MS, writeContextManifest, SOURCE_CACHE_TTL_SUCCESS_MS, readSourceCache, isSourceCacheFresh, clearDegraded } from './chunk-YQR6E6OV.js';
10
- import { normalizeRepoName, parseOuterlayerConfig, classifyTree, emitTree } from './chunk-PNIFQX73.js';
10
+ import { normalizeRepoName, parseOuterlayerConfig, classifyTree, emitTree } from './chunk-6CXNWKWD.js';
11
11
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
12
12
  import { execFileSync } from 'child_process';
13
13
  import { existsSync, mkdirSync, writeFileSync, chmodSync, lstatSync, readFileSync, copyFileSync } from 'fs';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { uploadSpooledSteps } from './chunk-HUBRTT2C.js';
3
+ import { uploadSpooledSteps } from './chunk-7UPMYRPS.js';
4
4
  import { LaunchFilter } from './chunk-ESVW4MJY.js';
5
5
  import { RepoFilter } from './chunk-TBT347UY.js';
6
- import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-E4F7YE7P.js';
7
- import { setCustomScrubbers, setLocalIdentity, tailTranscript, enrichSessionRepo, scanAll, setRepoRoot, resolveRepoIdentity, sessionIdFromPath, scrubDeep, SOURCE_ADAPTERS } from './chunk-QQXNS4G2.js';
6
+ import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-MPC2UAW2.js';
7
+ import { setCustomScrubbers, setLocalIdentity, tailTranscript, enrichSessionRepo, scanAll, setRepoRoot, resolveRepoIdentity, sessionIdFromPath, scrubDeep, SOURCE_ADAPTERS } from './chunk-NIY2UBT6.js';
8
8
  import { C } from './chunk-ANPNT6PM.js';
9
9
  import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-6RKD7YZ6.js';
10
10
  import { readCloudConfig, cloudConfigPath, writeCloudConfig } from './chunk-PJDQPF5N.js';
11
11
  import { signerFor, signRunnerRequest } from './chunk-SOI6K5DY.js';
12
- import { writeSyncStatus, spoolDir } from './chunk-JB4R5IFJ.js';
12
+ import { writeSyncStatus, spoolDir } from './chunk-UK4RGH46.js';
13
13
  import { readLatestProvenanceForSession, readContextProvenance } from './chunk-ZJSNLVCE.js';
14
14
  import { hookExecSpoolPath } from './chunk-2O5KA67H.js';
15
15
  import { applyReportedCost } from './chunk-BKO6JEZI.js';
@@ -17,7 +17,7 @@ import { readRepoConnection, findGitDirs } from './chunk-BJ3KTMDH.js';
17
17
  import { readLaunchSpoolState, launchStatusIsDecisive, launchedItemsBySession, launchesPath } from './chunk-T2Q7ISPE.js';
18
18
  import { cliInvocation } from './chunk-CRB3POP4.js';
19
19
  import { removeJournalHooks } from './chunk-TUSYOL2O.js';
20
- import { CAPTURE_TIERS, inferArtifactKind, bannedPathsForTier, downconvertSession, isHumanUserTurn, turnCountBound, EVENT_TYPES } from './chunk-V7Q5OKN7.js';
20
+ import { CAPTURE_TIERS, inferArtifactKind, bannedPathsForTier, downconvertSession, isHumanUserTurn, turnCountBound, EVENT_TYPES } from './chunk-F2D5BSXS.js';
21
21
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
22
22
  import { dirname, basename, join, sep } from 'path';
23
23
  import { statSync, readFileSync, readdirSync, mkdirSync, writeFileSync, renameSync, existsSync, rmSync } from 'fs';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { mcpTargetPath, INIT_STDIO_ENTRY, INIT_DOCS_ENTRY, DOCS_MCP_SERVER_NAME } from './chunk-KT4CN6OU.js';
4
- import { POLICY_CONTENT, VALIDATOR_FILES, VALIDATORS_DIR, POLICY_PATH } from './chunk-XMPE5TT4.js';
5
- import { skillsBaseFor } from './chunk-PJI5D2XT.js';
4
+ import { POLICY_CONTENT, VALIDATOR_FILES, VALIDATORS_DIR, POLICY_PATH } from './chunk-KUE4V2SK.js';
5
+ import { skillsBaseFor } from './chunk-LYGI3T66.js';
6
6
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
7
- import { resolvePackRoot, OUTERLAYER_SKILLS_BASE, skillDir, loadTemplateFiles, rewriteSkillPaths, restoreSkillPaths, TEMPLATE_SKILLS } from './chunk-M24H6JQW.js';
7
+ import { resolvePackRoot, OUTERLAYER_SKILLS_BASE, skillDir, loadTemplateFiles, rewriteSkillPaths, restoreSkillPaths, TEMPLATE_SKILLS } from './chunk-44V5SD4G.js';
8
8
  import { cliInvocation } from './chunk-CRB3POP4.js';
9
- import { hasSymlinkComponent } from './chunk-6ZLI652Y.js';
9
+ import { hasSymlinkComponent } from './chunk-ZF24JN7R.js';
10
10
  import { cloneIsGoverned } from './chunk-YQR6E6OV.js';
11
11
  import { createHash } from 'crypto';
12
12
  import { existsSync, readFileSync } from 'fs';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { builtinKind } from './chunk-ONUACB5C.js';
4
- import { parseSize } from './chunk-QKEOAQ2W.js';
3
+ import { builtinKind } from './chunk-VWQCYOBS.js';
4
+ import { parseSize } from './chunk-OGMXVPCS.js';
5
5
  import { runnerDir } from './chunk-PA6CK6WQ.js';
6
6
  import { CLAUDE_CREDENTIAL_ID, CLAUDE_ENV_FILE, credentialLineIn, withoutCredentialLines } from './chunk-BALIE3BA.js';
7
7
  import { FD_SLOTS_PER_BUILD, FD_STORE_ENV } from './chunk-HACGUL52.js';
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { sanitizeTerminal } from './chunk-E4F7YE7P.js';
4
- import { isAgentsMdLayout } from './chunk-PJI5D2XT.js';
3
+ import { sanitizeTerminal } from './chunk-MPC2UAW2.js';
4
+ import { isAgentsMdLayout } from './chunk-LYGI3T66.js';
5
5
  import { resolveGatewayCredentials, defaultFetch } from './chunk-6RKD7YZ6.js';
6
6
  import { versionAtLeast } from './chunk-HCVLP7XA.js';
7
7
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
8
- import { machineSkillsState, staleClaudeSkills } from './chunk-T4TT76GG.js';
9
- import { AGENTS_SKILLS_BASE, skillDir, namesCore, MACHINE_SKILL_PATH, isMaintainedCopy, loadTemplateFiles } from './chunk-M24H6JQW.js';
8
+ import { machineSkillsState, staleClaudeSkills } from './chunk-JEVKOZBB.js';
9
+ import { AGENTS_SKILLS_BASE, skillDir, namesCore, MACHINE_SKILL_PATH, isMaintainedCopy, loadTemplateFiles } from './chunk-44V5SD4G.js';
10
10
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
11
11
  import { cliInvocation } from './chunk-CRB3POP4.js';
12
- import { hasSymlinkComponent } from './chunk-6ZLI652Y.js';
13
- import { emitTree, ALL_TARGET_IDS, classifyTree, splitRawFile } from './chunk-PNIFQX73.js';
12
+ import { hasSymlinkComponent } from './chunk-ZF24JN7R.js';
13
+ import { emitTree, ALL_TARGET_IDS, classifyTree, splitRawFile } from './chunk-6CXNWKWD.js';
14
14
  import { execFileSync } from 'child_process';
15
15
  import { existsSync, readFileSync, writeFileSync, realpathSync, readdirSync } from 'fs';
16
16
  import { join, dirname, posix, basename, isAbsolute, relative } from 'path';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { DEFAULT_UNIT_NAME } from './chunk-7HZH5D7H.js';
3
+ import { DEFAULT_UNIT_NAME } from './chunk-EHOFFTVX.js';
4
4
  import { RUNNER_FILE_MODE } from './chunk-PA6CK6WQ.js';
5
5
  import { claudeEnvPath, withoutCredentialLines } from './chunk-BALIE3BA.js';
6
6
  import { parseRunnerEnv } from './chunk-HACGUL52.js';
@@ -22719,7 +22719,30 @@ var DemoManifestV3Schema = external_exports.strictObject({
22719
22719
  ...manifestFields,
22720
22720
  chapters: external_exports.array(DemoChapterV2Schema).min(1).max(DEMO_CHAPTERS_MAX)
22721
22721
  });
22722
- var DemoManifestSchema = external_exports.discriminatedUnion("schemaVersion", [DemoManifestV1Schema, DemoManifestV2Schema, DemoManifestV3Schema]);
22722
+ var DemoScreenshotSchema = external_exports.strictObject({
22723
+ /** The index, in the chapter's checks, of the check the frame follows. */
22724
+ check: external_exports.number().int().min(0),
22725
+ /** The PNG file, as a path relative to the manifest's folder. */
22726
+ file: external_exports.string().min(1).max(500),
22727
+ /** SHA-256 of the PNG file's bytes, in lower-case hex. */
22728
+ sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
22729
+ /** True when the frame is the whole page, not the viewport. */
22730
+ fullPage: external_exports.boolean(),
22731
+ /** True when the chapter's `demo.mask()` regions are covered in the frame. */
22732
+ masked: external_exports.boolean()
22733
+ });
22734
+ var DemoChapterV4Schema = external_exports.strictObject({ ...chapterWithStillsFields, screenshot: DemoScreenshotSchema.optional() }).refine(endsAfterStart, { message: "a chapter must end after it starts", path: ["end"] }).superRefine(stillsFollowPassedChecks).superRefine((chapter, context) => {
22735
+ if (chapter.screenshot !== void 0 && chapter.screenshot.check >= chapter.checks.length) {
22736
+ context.addIssue({ code: "custom", path: ["screenshot", "check"], message: "a screenshot must follow a check the chapter has" });
22737
+ }
22738
+ });
22739
+ var DemoManifestV4Schema = external_exports.strictObject({
22740
+ schemaVersion: external_exports.literal(4),
22741
+ test: DemoTestPathSchema,
22742
+ ...manifestFields,
22743
+ chapters: external_exports.array(DemoChapterV4Schema).min(1).max(DEMO_CHAPTERS_MAX)
22744
+ });
22745
+ var DemoManifestSchema = external_exports.discriminatedUnion("schemaVersion", [DemoManifestV1Schema, DemoManifestV2Schema, DemoManifestV3Schema, DemoManifestV4Schema]);
22723
22746
  var DemoRecordChapterSchema = external_exports.strictObject({
22724
22747
  ...chapterFields,
22725
22748
  /** The `clientArtifactId` of the chapter's clip. */
@@ -22764,7 +22787,9 @@ var DemoRecordChapterV3Schema = external_exports.strictObject({
22764
22787
  bound: external_exports.boolean(),
22765
22788
  comparable: DemoComparableSchema,
22766
22789
  stills: external_exports.array(DemoStillSchema.pick({ check: true, sha256: true })).max(DEMO_CHECKS_MAX),
22767
- difference: external_exports.strictObject({ check: external_exports.number().int().min(0), region: DemoRegionSchema }).optional()
22790
+ difference: external_exports.strictObject({ check: external_exports.number().int().min(0), region: DemoRegionSchema }).optional(),
22791
+ /** The stored screenshot frame: its `clientArtifactId`, and the manifest's fields for it. Present only for a bound frame. */
22792
+ screenshot: DemoScreenshotSchema.omit({ file: true }).extend({ artifactId: external_exports.string().min(1).max(64) }).optional()
22768
22793
  }).refine((chapter) => chapter.end > chapter.start, { message: "a chapter must end after it starts", path: ["end"] }).refine((chapter) => chapter.comparable === "no" === (chapter.difference !== void 0), {
22769
22794
  message: "a chapter has a difference exactly when it is not comparable",
22770
22795
  path: ["difference"]
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { skillDir, FORMER_MAINTAINED_NAMES, isMaintainedCopy } from './chunk-M24H6JQW.js';
3
+ import { skillDir, FORMER_MAINTAINED_NAMES, isMaintainedCopy } from './chunk-44V5SD4G.js';
4
4
  import { cliInvocation } from './chunk-CRB3POP4.js';
5
- import { emitTree, ALL_TARGET_IDS, classifyTree } from './chunk-PNIFQX73.js';
5
+ import { emitTree, ALL_TARGET_IDS, classifyTree } from './chunk-6CXNWKWD.js';
6
6
  import { readFileSync, existsSync, unlinkSync, rmdirSync, readdirSync } from 'fs';
7
7
  import { join, dirname, relative, sep } from 'path';
8
8
 
@@ -4,30 +4,30 @@ import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk
4
4
  import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-HVRQQOMH.js';
5
5
  import { writeDockerClientConfig } from './chunk-6LBSAW6I.js';
6
6
  import { zodProblem } from './chunk-I3LTIAOR.js';
7
- import { senderPidfile } from './chunk-4NKHOCTF.js';
8
- import { installScrubContext } from './chunk-T4S2DVOA.js';
9
- import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, startHostServices, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, helperFirecrackerNote, stopJailed, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, ROOT_DISK_ID_PREFIX, copyJudgeTree } from './chunk-GFTWZSOW.js';
7
+ import { senderPidfile } from './chunk-7IFYI7XF.js';
8
+ import { installScrubContext } from './chunk-D3EDZPJR.js';
9
+ import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, startHostServices, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, helperFirecrackerNote, stopJailed, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, ROOT_DISK_ID_PREFIX, copyJudgeTree } from './chunk-IUPY54BZ.js';
10
10
  import { readBranchHead, fetchCommit, diffBetween } from './chunk-YXHKCHWG.js';
11
11
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
12
12
  import { waitForAgent, vmExecArgs } from './chunk-5THSC6BD.js';
13
13
  import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-L26V6ILJ.js';
14
- import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-Z4GLZTDF.js';
15
- import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-ONUACB5C.js';
16
- import { DEFAULT_CACHE_DISK, formatBytes, allocatedBytes } from './chunk-LHKWWEQZ.js';
17
- import { parseSize, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-QKEOAQ2W.js';
14
+ import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-XCRET2GZ.js';
15
+ import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-VWQCYOBS.js';
16
+ import { DEFAULT_CACHE_DISK, formatBytes, allocatedBytes } from './chunk-X4JEBMYN.js';
17
+ import { parseSize, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-OGMXVPCS.js';
18
18
  import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-NE63JADS.js';
19
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-5FSVA3CO.js';
20
- import { planArtifactUpload } from './chunk-E4F7YE7P.js';
21
- import { scrubText } from './chunk-QQXNS4G2.js';
19
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-YXMGHGHR.js';
20
+ import { planArtifactUpload } from './chunk-MPC2UAW2.js';
21
+ import { scrubText } from './chunk-NIY2UBT6.js';
22
22
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
23
23
  import { signerFor } from './chunk-SOI6K5DY.js';
24
24
  import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-PA6CK6WQ.js';
25
25
  import { JOB_MOUNT, claudeCredential, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, buildMavenSettingsXml, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, MAVEN_SETTINGS_FILE, CLAUDE_CREDENTIAL_VARIABLES, currentClaudeCredential, removedClaudeCredentialValues, checkEnvironment, EVAL_INPUT_DIR } from './chunk-BALIE3BA.js';
26
- import { resolvePackRoot } from './chunk-M24H6JQW.js';
26
+ import { resolvePackRoot } from './chunk-44V5SD4G.js';
27
27
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
28
28
  import { resolveVersion } from './chunk-RA3O54FC.js';
29
- import { parsePolicy } from './chunk-PNIFQX73.js';
30
- import { CheckItemsSchema, CHECK_ITEM_REASON_MAX_LENGTH } from './chunk-V7Q5OKN7.js';
29
+ import { parsePolicy } from './chunk-6CXNWKWD.js';
30
+ import { CheckItemsSchema, CHECK_ITEM_REASON_MAX_LENGTH } from './chunk-F2D5BSXS.js';
31
31
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
32
32
  import { fdName } from './chunk-HACGUL52.js';
33
33
  import { RUNNER_WORDED_REASONS, UNKNOWN_TRACKING_REASON } from './chunk-MESOOLF4.js';