@outerlayer/cli 0.26.3 → 0.26.4

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 (95) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{agent-setup-PZYQWN4H.js → agent-setup-5DXPEO64.js} +7 -7
  3. package/dist/{build-EBQYXL7Y.js → build-F5QWH7G5.js} +4 -4
  4. package/dist/build-info.json +1 -1
  5. package/dist/{builder-WEGLC2F2.js → builder-KDUXCHTY.js} +4 -4
  6. package/dist/{check-WJJ325EQ.js → check-ZSYCR5WG.js} +31 -31
  7. package/dist/{chunk-SKZG7SAN.js → chunk-27RDUTQH.js} +21 -13
  8. package/dist/{chunk-665QWBNW.js → chunk-2J46BQ5Y.js} +1 -1
  9. package/dist/{chunk-W3NVHOCS.js → chunk-4UFSTKE5.js} +1 -1
  10. package/dist/{chunk-XSPA5ODY.js → chunk-6BLXUD56.js} +4 -3
  11. package/dist/{chunk-UKCNOAO6.js → chunk-6CGXSMKX.js} +5 -5
  12. package/dist/{chunk-MLD2NA7N.js → chunk-6SPXKRQR.js} +1 -1
  13. package/dist/{chunk-XFGL53GU.js → chunk-6WTAYEKJ.js} +1 -1
  14. package/dist/{chunk-4IFKLYMM.js → chunk-7Z2WMXM5.js} +1 -1
  15. package/dist/{chunk-TSW4DGV2.js → chunk-B6K7R5UY.js} +2 -2
  16. package/dist/{chunk-364XDGOK.js → chunk-EHBDYLM6.js} +3 -3
  17. package/dist/{chunk-L4CW6LZQ.js → chunk-F3BBEBPL.js} +4 -1
  18. package/dist/{chunk-GOSFARMS.js → chunk-G2JWZDFA.js} +9 -2
  19. package/dist/{chunk-7LVF4E5V.js → chunk-GFHLEVUE.js} +3 -3
  20. package/dist/{chunk-F6DIHHBS.js → chunk-GWRDL75D.js} +1 -1
  21. package/dist/{chunk-HXFRJKMU.js → chunk-H57M3HC7.js} +2 -2
  22. package/dist/{chunk-PYSKSROG.js → chunk-IZAOO5AR.js} +1 -1
  23. package/dist/{chunk-KDDFI5MR.js → chunk-K4FXNMV5.js} +1 -1
  24. package/dist/{chunk-6M4LNO22.js → chunk-KNBWOL2B.js} +2 -2
  25. package/dist/{chunk-YVZJ6GKF.js → chunk-KT4CN6OU.js} +1 -1
  26. package/dist/{chunk-QRZLUUNN.js → chunk-MCSINUVC.js} +8 -3
  27. package/dist/{chunk-6FAP657M.js → chunk-NWPRNKZ5.js} +1 -1
  28. package/dist/{chunk-TPAF24PK.js → chunk-O4362FPA.js} +2 -2
  29. package/dist/{chunk-TKL74NLB.js → chunk-OFTFW7TH.js} +1 -1
  30. package/dist/{chunk-W7LGHNXT.js → chunk-OQUD3UYF.js} +4 -4
  31. package/dist/{chunk-J7BXZLSO.js → chunk-OZKEEXVH.js} +28 -7
  32. package/dist/{chunk-EABW6AJQ.js → chunk-PJDQPF5N.js} +18 -5
  33. package/dist/{chunk-TEVO3RUV.js → chunk-PZA6ZFYW.js} +3 -3
  34. package/dist/{chunk-XDHYZWEK.js → chunk-Q2SVLBMI.js} +2 -2
  35. package/dist/{chunk-ZLEXMZFW.js → chunk-QUP6CVBQ.js} +3 -3
  36. package/dist/{chunk-VHVFU6QU.js → chunk-SBW4K3XZ.js} +17 -8
  37. package/dist/{chunk-ZPXI7LMG.js → chunk-UOGQZQXN.js} +4 -4
  38. package/dist/{chunk-FO7F6QSV.js → chunk-UZEQVPKF.js} +1 -1
  39. package/dist/{chunk-XF77SNB4.js → chunk-V3YJFEZA.js} +29 -22
  40. package/dist/{chunk-5PMQDQFV.js → chunk-VGHKTSHU.js} +2 -2
  41. package/dist/{chunk-2AKDF6C2.js → chunk-VQ7OAG6H.js} +5 -5
  42. package/dist/{chunk-EORWWFPA.js → chunk-WK35HB56.js} +2 -2
  43. package/dist/{chunk-JF572PM5.js → chunk-Y4BXRVDI.js} +3 -3
  44. package/dist/{chunk-K7FCZCLQ.js → chunk-ZMZGWLYD.js} +7 -7
  45. package/dist/{claude-launcher-O2U6P6ZD.js → claude-launcher-TTLTS4N6.js} +1 -1
  46. package/dist/{cli-2UUJM3AE.js → cli-SKF3AMZ5.js} +89 -89
  47. package/dist/{command-GQBHC53U.js → command-E5OG5NCH.js} +22 -22
  48. package/dist/{connect-cmd-2JHSLBXK.js → connect-cmd-SL4S5HJM.js} +7 -7
  49. package/dist/{container-start-AUJHF2BC.js → container-start-IA2HK4QI.js} +21 -21
  50. package/dist/{control-plane-launch-654RV5PO.js → control-plane-launch-JIQOE6BP.js} +5 -5
  51. package/dist/{docker-NYAIIX2F.js → docker-KKE5Q5S2.js} +4 -4
  52. package/dist/{doctor-NV2PUERZ.js → doctor-U2N7AF3N.js} +24 -24
  53. package/dist/{emit-artifact-cmd-XXTCHP6V.js → emit-artifact-cmd-SDG5H6D7.js} +11 -11
  54. package/dist/{emit-criteria-cmd-VMZIRJCQ.js → emit-criteria-cmd-QGSP77AG.js} +8 -8
  55. package/dist/{emit-finding-cmd-KMJNYQI7.js → emit-finding-cmd-6FGMTEFM.js} +8 -8
  56. package/dist/{emit-result-cmd-HRTXGZLK.js → emit-result-cmd-AUPIXPEU.js} +11 -11
  57. package/dist/{emit-step-cmd-AUHA3EXY.js → emit-step-cmd-PORHEKHN.js} +9 -9
  58. package/dist/{governing-source-PTJ6EAA3.js → governing-source-YPBK4H5H.js} +11 -11
  59. package/dist/{hook-fast-SDFXJEAW.js → hook-fast-XMZFMBKC.js} +1 -1
  60. package/dist/{pending-54HC7MM3.js → host-key-GQFBRX3J.js} +2 -2
  61. package/dist/{image-tag-5SJ6ZKT7.js → image-tag-W4JKVNP4.js} +2 -2
  62. package/dist/index.js +4 -4
  63. package/dist/{init-KIGYMLDM.js → init-GEFKJNJU.js} +21 -21
  64. package/dist/{init-UZWRJMPZ.js → init-Y64OAKKQ.js} +21 -21
  65. package/dist/{init-cmd-SQKWPACS.js → init-cmd-YR4LLIRU.js} +13 -13
  66. package/dist/{init-update-FJDKY4SJ.js → init-update-46G6QJHB.js} +11 -11
  67. package/dist/{install-QSTTBUHX.js → install-AFMXH25X.js} +2 -2
  68. package/dist/{install-cmd-3DXJJUAA.js → install-cmd-X5XCUTSX.js} +4 -4
  69. package/dist/{login-browser-4OMZFP3U.js → login-browser-EWXSGHM7.js} +3 -3
  70. package/dist/{logout-cmd-5V5MMBSY.js → logout-cmd-5WE2N5B5.js} +2 -2
  71. package/dist/{logs-VN2HKDSH.js → logs-PKNQOJN6.js} +1 -1
  72. package/dist/{loop-OE32U2IZ.js → loop-3TJKFRN7.js} +31 -31
  73. package/dist/{machine-L7INJ4JN.js → machine-3W4LKTEW.js} +18 -18
  74. package/dist/{mcp-install-cmd-GGWB3JJ2.js → mcp-install-cmd-LD7KYAOP.js} +2 -2
  75. package/dist/{mcp-serve-cmd-U5N5DK3H.js → mcp-serve-cmd-MJIJHSQ6.js} +4 -4
  76. package/dist/{paths-ZC6BMWMT.js → paths-6V7572NN.js} +1 -1
  77. package/dist/{host-key-5TKBNUZ4.js → pending-GUHHKO42.js} +2 -2
  78. package/dist/{pidfile-BY5Z6YH7.js → pidfile-ZQOFDY7T.js} +2 -2
  79. package/dist/{record-K23IN6QN.js → record-C4ZVSLKV.js} +2 -2
  80. package/dist/{runner-env-2D7MPOIJ.js → runner-env-6Q2RMENH.js} +3 -3
  81. package/dist/{runner-identity-YYENYKDH.js → runner-identity-DP577A7S.js} +4 -4
  82. package/dist/{runner-key-AZVXBQIB.js → runner-key-LR5P2EJ5.js} +21 -21
  83. package/dist/{session-sender-VH2EKAT5.js → session-sender-ZTPWIU5L.js} +12 -12
  84. package/dist/{spec-cmd-BOUPLX7X.js → spec-cmd-RLZMX67G.js} +9 -9
  85. package/dist/{status-3WC2IGVI.js → status-GNUOTHRH.js} +22 -22
  86. package/dist/{sync-cmd-GT2WTQRA.js → sync-cmd-GLWEAULP.js} +11 -11
  87. package/dist/{watch-JED7SYAA.js → watch-F47NPUDX.js} +11 -11
  88. package/dist/{work-claim-cmd-MY4N74HA.js → work-claim-cmd-GXPIRRBG.js} +11 -11
  89. package/dist/{work-cmd-UQ45HDM4.js → work-cmd-S2FHIFJA.js} +9 -9
  90. package/dist/{work-comment-cmd-I7NNSNDP.js → work-comment-cmd-UJRKULO6.js} +9 -9
  91. package/dist/{work-logs-cmd-YIQJVENH.js → work-logs-cmd-SCAHJXSP.js} +9 -9
  92. package/dist/{work-open-pr-cmd-VP5NNTCW.js → work-open-pr-cmd-BGMHUQGD.js} +10 -10
  93. package/dist/{work-pr-cmd-DKTBEFHO.js → work-pr-cmd-EDDRP5DK.js} +9 -9
  94. package/dist/{work-stop-cmd-GN2WX73C.js → work-stop-cmd-ADE5K6UX.js} +9 -9
  95. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @outerlayer/cli
2
2
 
3
+ ## 0.26.4
4
+
5
+ ### Patch Changes
6
+
7
+ - f9ed270: A `~/.outerlayer/config.json` that is not valid JSON is no longer written over. `login`, `logout` and every command that uses the saved login stop with an error that names the file, so a hand-set key such as `autoSync`, `repos` or the runner block is never lost.
8
+ - 1fc1f42: The root helper that `outerlayer runner install --service` installs can point a running microVM build at the runner's new sockets, which a runner that starts again needs to reach that build.
9
+ - fe4299b: The runner keeps a governed build's context on the host after it delivers it. The judge and the host's checks read their definitions from that copy, at the commit the build was given. Before, they fetched the control plane again with a new token, and the gateway refused it for an amend whose own push resolved the merge conflict that started it. The judge and the checks then never ran. When the judge cannot read its definitions, the item's reason now says so first. The runner also asks for the read token of every repository in a claim when it claims the item, so a refusal ends the attempt before the image build.
10
+ - 5f01c67: Stub the systemd service probes once for every unit test, and write the NUL separator in `doctor` as an escape.
11
+
3
12
  ## 0.26.3
4
13
 
5
14
  ### Patch Changes
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { keepHandWritten, runAgentSetup } from './chunk-6M4LNO22.js';
3
+ export { keepHandWritten, runAgentSetup } from './chunk-KNBWOL2B.js';
4
4
  import './chunk-WX2WEERU.js';
5
5
  import './chunk-VJBFQP3H.js';
6
- import './chunk-W3NVHOCS.js';
6
+ import './chunk-4UFSTKE5.js';
7
7
  import './chunk-MQ743JX3.js';
8
- import './chunk-QRZLUUNN.js';
8
+ import './chunk-MCSINUVC.js';
9
9
  import './chunk-ZJSNLVCE.js';
10
10
  import './chunk-BJ3KTMDH.js';
11
- import './chunk-YVZJ6GKF.js';
11
+ import './chunk-KT4CN6OU.js';
12
12
  import './chunk-ANPNT6PM.js';
13
- import './chunk-EABW6AJQ.js';
13
+ import './chunk-PJDQPF5N.js';
14
14
  import './chunk-JKNYTNYD.js';
15
15
  import './chunk-HBISTTG3.js';
16
16
  import './chunk-CRB3POP4.js';
@@ -21,8 +21,8 @@ import './chunk-RKOTJQVG.js';
21
21
  import './chunk-QZBXLLTV.js';
22
22
  import './chunk-VNVZDWO3.js';
23
23
  import './chunk-RA3O54FC.js';
24
- import './chunk-F6DIHHBS.js';
25
- import './chunk-L4CW6LZQ.js';
24
+ import './chunk-GWRDL75D.js';
25
+ import './chunk-F3BBEBPL.js';
26
26
  import './chunk-2K3TCQHW.js';
27
27
  import './chunk-JGD5TWQ2.js';
28
28
  import './chunk-Z5GEFMRW.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { buildRepositoryImage } from './chunk-7LVF4E5V.js';
4
- import './chunk-PYSKSROG.js';
3
+ export { buildRepositoryImage } from './chunk-GFHLEVUE.js';
4
+ import './chunk-IZAOO5AR.js';
5
5
  import './chunk-JBJTC3UU.js';
6
- export { RecipeError } from './chunk-TSW4DGV2.js';
7
- import './chunk-L4CW6LZQ.js';
6
+ export { RecipeError } from './chunk-B6K7R5UY.js';
7
+ import './chunk-F3BBEBPL.js';
8
8
  import './chunk-2K3TCQHW.js';
9
9
  import './chunk-JGD5TWQ2.js';
10
10
  import './chunk-Z5GEFMRW.js';
@@ -1 +1 @@
1
- {"id":"2026-10-16T19:10:06.995Z+98c3824","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-16T21:01:44.837Z+065fff7","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,12 +1,12 @@
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-ZLEXMZFW.js';
4
- import './chunk-TSW4DGV2.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-QUP6CVBQ.js';
4
+ import './chunk-B6K7R5UY.js';
5
5
  import './chunk-7RQ73DLO.js';
6
6
  import './chunk-QE3UQAHK.js';
7
7
  import './chunk-QZBXLLTV.js';
8
- import './chunk-F6DIHHBS.js';
9
- import './chunk-L4CW6LZQ.js';
8
+ import './chunk-GWRDL75D.js';
9
+ import './chunk-F3BBEBPL.js';
10
10
  import './chunk-2K3TCQHW.js';
11
11
  import './chunk-JGD5TWQ2.js';
12
12
  import './chunk-Z5GEFMRW.js';
@@ -1,53 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-XF77SNB4.js';
4
- import './chunk-SKZG7SAN.js';
5
- import './chunk-TKL74NLB.js';
3
+ import { probeCredentials } from './chunk-V3YJFEZA.js';
4
+ import './chunk-27RDUTQH.js';
5
+ import './chunk-OFTFW7TH.js';
6
6
  import './chunk-ZVB57WI6.js';
7
- import './chunk-6FAP657M.js';
7
+ import './chunk-NWPRNKZ5.js';
8
8
  import './chunk-3JVYMD4G.js';
9
9
  import './chunk-YETTWTAY.js';
10
10
  import './chunk-TPKYTORP.js';
11
- import './chunk-XDHYZWEK.js';
11
+ import './chunk-Q2SVLBMI.js';
12
12
  import './chunk-MWPBF2XG.js';
13
13
  import './chunk-UNF7MWEL.js';
14
- import './chunk-2AKDF6C2.js';
15
- import './chunk-EORWWFPA.js';
14
+ import './chunk-VQ7OAG6H.js';
15
+ import './chunk-WK35HB56.js';
16
16
  import './chunk-ESVW4MJY.js';
17
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-ZPXI7LMG.js';
18
- import './chunk-4IFKLYMM.js';
17
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-UOGQZQXN.js';
18
+ import './chunk-7Z2WMXM5.js';
19
19
  import './chunk-YYYRBYWG.js';
20
20
  import './chunk-TBT347UY.js';
21
- import './chunk-W7LGHNXT.js';
22
- import './chunk-364XDGOK.js';
23
- import './chunk-VHVFU6QU.js';
24
- import './chunk-665QWBNW.js';
21
+ import './chunk-OQUD3UYF.js';
22
+ import './chunk-EHBDYLM6.js';
23
+ import './chunk-SBW4K3XZ.js';
24
+ import './chunk-2J46BQ5Y.js';
25
25
  import './chunk-TQMI335S.js';
26
- import './chunk-5PMQDQFV.js';
27
- import './chunk-MLD2NA7N.js';
26
+ import './chunk-VGHKTSHU.js';
27
+ import './chunk-6SPXKRQR.js';
28
28
  import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
29
- import './chunk-7LVF4E5V.js';
30
- import './chunk-PYSKSROG.js';
29
+ import './chunk-GFHLEVUE.js';
30
+ import './chunk-IZAOO5AR.js';
31
31
  import './chunk-JBJTC3UU.js';
32
32
  import './chunk-OGFGZQA3.js';
33
- import './chunk-ZLEXMZFW.js';
34
- import './chunk-TSW4DGV2.js';
33
+ import './chunk-QUP6CVBQ.js';
34
+ import './chunk-B6K7R5UY.js';
35
35
  import './chunk-MXTN35XN.js';
36
36
  import './chunk-XLC7KEUV.js';
37
- import './chunk-J7BXZLSO.js';
38
- import './chunk-UKCNOAO6.js';
39
- import './chunk-HXFRJKMU.js';
40
- import './chunk-TEVO3RUV.js';
37
+ import './chunk-OZKEEXVH.js';
38
+ import './chunk-6CGXSMKX.js';
39
+ import './chunk-H57M3HC7.js';
40
+ import './chunk-PZA6ZFYW.js';
41
41
  import './chunk-BUP5N3X6.js';
42
- import './chunk-XSPA5ODY.js';
43
- import './chunk-GOSFARMS.js';
42
+ import './chunk-6BLXUD56.js';
43
+ import './chunk-G2JWZDFA.js';
44
44
  import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-JWRX5ZTT.js';
45
45
  import './chunk-UXYLWVTQ.js';
46
46
  import './chunk-7RQ73DLO.js';
47
- import './chunk-W3NVHOCS.js';
47
+ import './chunk-4UFSTKE5.js';
48
48
  import './chunk-MQ743JX3.js';
49
- import './chunk-QRZLUUNN.js';
50
- import './chunk-FO7F6QSV.js';
49
+ import './chunk-MCSINUVC.js';
50
+ import './chunk-UZEQVPKF.js';
51
51
  import './chunk-ZJSNLVCE.js';
52
52
  import './chunk-2O5KA67H.js';
53
53
  import './chunk-BKO6JEZI.js';
@@ -56,7 +56,7 @@ import './chunk-HCVLP7XA.js';
56
56
  import './chunk-BJ3KTMDH.js';
57
57
  import './chunk-QE3UQAHK.js';
58
58
  import './chunk-ANPNT6PM.js';
59
- import './chunk-EABW6AJQ.js';
59
+ import './chunk-PJDQPF5N.js';
60
60
  import './chunk-JKNYTNYD.js';
61
61
  import './chunk-HBISTTG3.js';
62
62
  import './chunk-T2Q7ISPE.js';
@@ -69,8 +69,8 @@ import './chunk-RKOTJQVG.js';
69
69
  import './chunk-QZBXLLTV.js';
70
70
  import './chunk-VNVZDWO3.js';
71
71
  import './chunk-RA3O54FC.js';
72
- import './chunk-F6DIHHBS.js';
73
- import './chunk-L4CW6LZQ.js';
72
+ import './chunk-GWRDL75D.js';
73
+ import './chunk-F3BBEBPL.js';
74
74
  import './chunk-2K3TCQHW.js';
75
75
  import './chunk-JGD5TWQ2.js';
76
76
  import './chunk-Z5GEFMRW.js';
@@ -1,30 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
4
- import { senderPidfile } from './chunk-XDHYZWEK.js';
4
+ import { senderPidfile } from './chunk-Q2SVLBMI.js';
5
5
  import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-MWPBF2XG.js';
6
6
  import { writeDockerClientConfig } from './chunk-UNF7MWEL.js';
7
- import { installScrubContext } from './chunk-2AKDF6C2.js';
8
- import { ADDED_USER, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, shellQuote, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, GH_CONFIG_YML, ghHostsYml, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-VHVFU6QU.js';
9
- import { readBranchHead, fetchCommit, diffBetween } from './chunk-7LVF4E5V.js';
7
+ import { installScrubContext } from './chunk-VQ7OAG6H.js';
8
+ import { ADDED_USER, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, shellQuote, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, GH_CONFIG_YML, ghHostsYml, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-SBW4K3XZ.js';
9
+ import { readBranchHead, fetchCommit, diffBetween } from './chunk-GFHLEVUE.js';
10
10
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
11
- import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, COMMAND_DIR, childEnvironment, judgeCommand, JUDGE_MAX_TURNS, MAX_REPORT_BYTES, JUDGE_DIR } from './chunk-ZLEXMZFW.js';
12
- import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-TSW4DGV2.js';
11
+ import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, COMMAND_DIR, childEnvironment, judgeCommand, JUDGE_MAX_TURNS, MAX_REPORT_BYTES, JUDGE_DIR } from './chunk-QUP6CVBQ.js';
12
+ import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-B6K7R5UY.js';
13
13
  import { waitForAgent, vmExecArgs } from './chunk-MXTN35XN.js';
14
14
  import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-XLC7KEUV.js';
15
- import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, formatDuration, retrySend, formatClock } from './chunk-J7BXZLSO.js';
16
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-UKCNOAO6.js';
15
+ import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree } from './chunk-OZKEEXVH.js';
16
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-6CGXSMKX.js';
17
17
  import { planArtifactUpload } from './chunk-BUP5N3X6.js';
18
18
  import { isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-JWRX5ZTT.js';
19
19
  import { parseSize } from './chunk-7RQ73DLO.js';
20
20
  import { scrubText } from './chunk-QE3UQAHK.js';
21
- import { readCloudConfig } from './chunk-EABW6AJQ.js';
21
+ import { readCloudConfig } from './chunk-PJDQPF5N.js';
22
22
  import { resolvePackRoot } from './chunk-HBISTTG3.js';
23
23
  import { parsePolicy } from './chunk-RKOTJQVG.js';
24
24
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
25
25
  import { resolveVersion } from './chunk-RA3O54FC.js';
26
- import { signerFor } from './chunk-F6DIHHBS.js';
27
- import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath } from './chunk-L4CW6LZQ.js';
26
+ import { signerFor } from './chunk-GWRDL75D.js';
27
+ import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath } from './chunk-F3BBEBPL.js';
28
28
  import { claudeCredential, repositoriesOf, primaryOf, buildEnvironment, JOB_MOUNT, CHECKOUT_DIR, parseIsolation, proxyEnvironment, withProxyWarningHidden, containerLocalAddress, destinationEnvironment, CLAUDE_CREDENTIAL_VARIABLES, builtInEnvironment, withHooksPath, startBuildServices, BUILT_IN_NAMES, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, checkEnvironment, EVAL_INPUT_DIR } from './chunk-2K3TCQHW.js';
29
29
  import { RUNNER_WORDED_REASONS, UNKNOWN_TRACKING_REASON } from './chunk-JGD5TWQ2.js';
30
30
  import { existsSync, statSync, appendFileSync, mkdirSync, chmodSync, writeFileSync, accessSync, constants, openSync, readFileSync, closeSync, rmSync, readdirSync, linkSync, lstatSync, fstatSync, readSync, realpathSync } from 'fs';
@@ -539,7 +539,8 @@ async function provisionMicroVm(input) {
539
539
  return { ok: false, reason: `context_unavailable: ${describeCallFailure(err)}` };
540
540
  }
541
541
  },
542
- removeStagedContext: () => removeStagedContext(buildDir2)
542
+ removeStagedContext: () => removeStagedContext(buildDir2),
543
+ keepIn: jobDir
543
544
  });
544
545
  if (!steps.ok) return bail(steps.reason, steps.aborted === true);
545
546
  state.startCommit = steps.startCommit;
@@ -1236,6 +1237,9 @@ function decideFromEvaluation(read) {
1236
1237
  }
1237
1238
  return { outcome: "incomplete", reason: fit("the item's verdict is not passing: ", [evaluation.sentence || evaluation.verdict]) };
1238
1239
  }
1240
+ function incompleteReason(reason, judgeNotRun) {
1241
+ return judgeNotRun === void 0 ? reason : `the judge did not run (${judgeNotRun}) \xB7 ${reason}`;
1242
+ }
1239
1243
  function waitMs(ms) {
1240
1244
  return new Promise((resolve) => setTimeout(resolve, ms));
1241
1245
  }
@@ -1460,6 +1464,8 @@ async function readDefinitions(input, repository, scratch, token, tokens) {
1460
1464
  const stage = deps.stage ?? stageGovernedContext;
1461
1465
  const controlPlaneUrl = (controlPlane) => deps.runtime.remoteFor?.(controlPlane) ?? `${deps.runtime.github.gitUrl}/${controlPlane}.git`;
1462
1466
  const governing = (job.container ?? job.microvm)?.governing;
1467
+ const kept = keptContextTree(input.jobDir, governing);
1468
+ if (kept !== void 0) return { ok: true, checks: checksIn(kept, deps.log, tag) };
1463
1469
  const staged = await stage({
1464
1470
  config,
1465
1471
  repository,
@@ -1918,6 +1924,7 @@ async function runJudge(input) {
1918
1924
  if (!definitions.ok) {
1919
1925
  rmSync(scratch, { recursive: true, force: true });
1920
1926
  log.line(`${tag} judge not run: the definitions could not be read: ${definitions.reason}`);
1927
+ job.judgeNotRun = `the definitions could not be read: ${definitions.reason}`;
1921
1928
  const passed = await retrySend(() => hostPassedNames(config, job.item, deps.fetchImpl), { now: deps.now });
1922
1929
  if (!passed.ok) {
1923
1930
  log.error(`${tag} the item's host results could not be read, so none was failed: ${passed.reason}`);
@@ -2667,6 +2674,7 @@ async function finishJob(job, jobDirPath, outcome, config, deps, ending) {
2667
2674
  log.error(`${tag} the host's checks stopped: ${describeCallFailure(err)} \xB7 continuing`);
2668
2675
  }
2669
2676
  }
2677
+ removeKeptContext(jobDirPath);
2670
2678
  let outOfMemory;
2671
2679
  if ((vmBuild?.state.cgroup !== void 0 || vmBuild?.state.jailed !== void 0) && outcome !== void 0 && outcome !== "ok" && ending?.reason === void 0) {
2672
2680
  try {
@@ -2783,7 +2791,7 @@ async function finishJob(job, jobDirPath, outcome, config, deps, ending) {
2783
2791
  });
2784
2792
  if (decision.outcome === "incomplete") {
2785
2793
  outcome = "incomplete";
2786
- verdictReason = scrubReason(decision.reason, config);
2794
+ verdictReason = scrubReason(incompleteReason(decision.reason, job.judgeNotRun), config);
2787
2795
  log.error(`${tag} the command exited 0 but the item is not done: ${verdictReason}`);
2788
2796
  }
2789
2797
  }
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { isVersion, compareVersions } from './chunk-TQMI335S.js';
4
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
4
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
5
5
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
6
6
  import { join } from 'path';
7
7
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { removeRetiredSkills } from './chunk-MQ743JX3.js';
4
- import { defaultFetch, resolveGatewayCredentials } from './chunk-QRZLUUNN.js';
4
+ import { defaultFetch, resolveGatewayCredentials } from './chunk-MCSINUVC.js';
5
5
  import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
6
6
  import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-HBISTTG3.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { revokeTokenOnDashboard } from './chunk-GOSFARMS.js';
3
+ import { revokeTokenOnDashboard } from './chunk-G2JWZDFA.js';
4
4
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { readCloudConfig, writeCloudConfig, cloudConfigPath } from './chunk-EABW6AJQ.js';
6
+ import { readCloudConfigStrict, CloudConfigError, readCloudConfig, writeCloudConfig, cloudConfigPath } from './chunk-PJDQPF5N.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
8
8
  import { CLI_LOGIN_MACHINE_NAME_MAX, CliLoginPollResponseSchema, CLI_LOGIN_KIND, CliLoginRefusalSchema, CliLoginStartedSchema } from './chunk-QZBXLLTV.js';
9
9
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -404,6 +404,7 @@ Waiting for approval...
404
404
  async function runLoginCommand(flags, deps) {
405
405
  const home = deps.home ?? homeFromEnv();
406
406
  try {
407
+ readCloudConfigStrict(home);
407
408
  if (flags.check !== void 0) {
408
409
  purgeExpiredPending(home, deps.now(), flags.check);
409
410
  return await runCheck(flags, deps, home, flags.check);
@@ -425,7 +426,7 @@ async function runLoginCommand(flags, deps) {
425
426
  purgeExpiredPending(home, deps.now());
426
427
  return await runBrowserLogin(flags, deps, home);
427
428
  } catch (err) {
428
- if (err instanceof LoginError) return fail(deps, err.message);
429
+ if (err instanceof LoginError || err instanceof CloudConfigError) return fail(deps, err.message);
429
430
  throw err;
430
431
  }
431
432
  }
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectActiveSession, autoConnect } from './chunk-HXFRJKMU.js';
4
- import { workPageUrl } from './chunk-TEVO3RUV.js';
3
+ import { detectActiveSession, autoConnect } from './chunk-H57M3HC7.js';
4
+ import { workPageUrl } from './chunk-PZA6ZFYW.js';
5
5
  import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
6
- import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-QRZLUUNN.js';
6
+ import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-MCSINUVC.js';
7
7
  import { readRepoConnection } from './chunk-BJ3KTMDH.js';
8
8
  import { resolveRepoIdentity } from './chunk-QE3UQAHK.js';
9
9
  import { C } from './chunk-ANPNT6PM.js';
10
10
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
11
11
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
12
- import { signRunnerRequest } from './chunk-F6DIHHBS.js';
12
+ import { signRunnerRequest } from './chunk-GWRDL75D.js';
13
13
 
14
14
  createRequire(import.meta.url);
15
15
 
@@ -428,7 +428,7 @@ async function runWorkLinkSession(opts) {
428
428
  return await linkSession(opts);
429
429
  } catch (err) {
430
430
  if (opts.logFailures) {
431
- const { logHookError } = await import('./hook-fast-SDFXJEAW.js');
431
+ const { logHookError } = await import('./hook-fast-XMZFMBKC.js');
432
432
  const reason = err instanceof Error ? err.message : String(err);
433
433
  logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
434
434
  }
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { builtinKind } from './chunk-JWRX5ZTT.js';
4
4
  import { parseSize } from './chunk-7RQ73DLO.js';
5
- import { runnerDir } from './chunk-L4CW6LZQ.js';
5
+ import { runnerDir } from './chunk-F3BBEBPL.js';
6
6
  import { dirname } from 'path';
7
7
  import { spawnSync } from 'child_process';
8
8
 
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { POLICY_CONTENT, VALIDATOR_FILES, VALIDATORS_DIR, POLICY_PATH } from './chunk-VJBFQP3H.js';
4
4
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
5
- import { mcpTargetPath, INIT_STDIO_ENTRY, INIT_DOCS_ENTRY, DOCS_MCP_SERVER_NAME } from './chunk-YVZJ6GKF.js';
5
+ import { mcpTargetPath, INIT_STDIO_ENTRY, INIT_DOCS_ENTRY, DOCS_MCP_SERVER_NAME } from './chunk-KT4CN6OU.js';
6
6
  import { skillsBaseFor, isAgentsMdLayout } from './chunk-JKNYTNYD.js';
7
7
  import { resolvePackRoot, OUTERLAYER_SKILLS_BASE, skillDir, namesCore, loadTemplateFiles, rewriteSkillPaths, restoreSkillPaths, TEMPLATE_SKILLS } from './chunk-HBISTTG3.js';
8
8
  import { cliInvocation } from './chunk-CRB3POP4.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
3
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
4
4
  import { readlinkSync, realpathSync, mkdirSync, unlinkSync, symlinkSync, renameSync, readFileSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
5
5
  import { join, basename, sep, resolve } from 'path';
6
6
 
@@ -264,10 +264,10 @@ function guestAssetsPinned(arch) {
264
264
  var JAILER_BINARY_SHA256 = {
265
265
  x86_64: "65ef226e96f0ceda55ba643f445801ef2cc0ea667ef67cad8ac4f406c9c8434f"
266
266
  };
267
- var HOST_HELPER_ASSETS_VERSION = "5";
267
+ var HOST_HELPER_ASSETS_VERSION = "8";
268
268
  var HOST_HELPER_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${HOST_HELPER_ASSETS_VERSION}`;
269
269
  var HOST_HELPER_SHA256 = {
270
- x86_64: "f2ec1c6a7ff29353045fad617ac1a6bf0155d6f3eb6a6259272a15342feaf957"
270
+ x86_64: "7c3a80da5e68adf3eb1eb407df0c770ccef589eb2da2f11735a9f9c05dc0d650"
271
271
  };
272
272
  function hostHelperPinned(arch = "x86_64", hashes = HOST_HELPER_SHA256) {
273
273
  return hashes[arch] !== "0".repeat(64);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { MIN_ENGINE_MAJOR } from './chunk-VHVFU6QU.js';
4
- import { runnerImageVersion } from './chunk-665QWBNW.js';
5
- import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-TSW4DGV2.js';
3
+ import { MIN_ENGINE_MAJOR } from './chunk-SBW4K3XZ.js';
4
+ import { runnerImageVersion } from './chunk-2J46BQ5Y.js';
5
+ import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-B6K7R5UY.js';
6
6
  import { spawnSync } from 'child_process';
7
7
  import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
8
8
 
@@ -52,6 +52,9 @@ function contextHomeDir(configPath) {
52
52
  function stagedContextDir(buildDirPath) {
53
53
  return join(buildDirPath, "context");
54
54
  }
55
+ function keptContextDir(jobDirPath) {
56
+ return join(jobDirPath, "governed-context");
57
+ }
55
58
  function runnerDirOfBuild(buildDirPath) {
56
59
  return dirname(dirname(buildDirPath));
57
60
  }
@@ -81,4 +84,4 @@ function deliveryDir(repository, sha) {
81
84
  return `${BUILD_HOME}/.outerlayer/context/${repository}/${sha}`;
82
85
  }
83
86
 
84
- export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imagesDir, jobDir, jobsDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
87
+ export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imagesDir, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { C } from './chunk-ANPNT6PM.js';
4
- import { readCloudConfig, removeCloudConfigKeys } from './chunk-EABW6AJQ.js';
4
+ import { readCloudConfigStrict, removeCloudConfigKeys } from './chunk-PJDQPF5N.js';
5
5
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
6
6
 
7
7
  createRequire(import.meta.url);
@@ -27,7 +27,14 @@ async function revokeTokenOnDashboard(fetchImpl, dashboard, token) {
27
27
  }
28
28
  async function runLogoutCommand(deps) {
29
29
  const home = deps.home ?? homeFromEnv();
30
- const config = readCloudConfig(home);
30
+ let config;
31
+ try {
32
+ config = readCloudConfigStrict(home);
33
+ } catch (err) {
34
+ deps.stderr.write(`${C.red}\u2717${C.reset} ${err.message}
35
+ `);
36
+ return 1;
37
+ }
31
38
  const token = config.accountToken;
32
39
  if (!token) {
33
40
  deps.stdout.write("Not logged in.\n");
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-PYSKSROG.js';
3
+ import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-IZAOO5AR.js';
4
4
  import { startTimeOf } from './chunk-JBJTC3UU.js';
5
- import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, RecipeError, locateRecipe, readRecipe, assertBuildable, TINI_VERSION, GH_VERSION, writeSanitizedRecipe, classifyProperties, GH_SHA256, TINI_SHA256, SANITIZED_NAME } from './chunk-TSW4DGV2.js';
6
- import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
5
+ import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, RecipeError, locateRecipe, readRecipe, assertBuildable, TINI_VERSION, GH_VERSION, writeSanitizedRecipe, classifyProperties, GH_SHA256, TINI_SHA256, SANITIZED_NAME } from './chunk-B6K7R5UY.js';
6
+ import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
7
7
  import { withGitConfig, tokenHeader, PROXY_WARNING_FLAG } from './chunk-2K3TCQHW.js';
8
8
  import { RELAY_ID, RELAY_USER } from './chunk-JGD5TWQ2.js';
9
9
  import { mkdirSync, rmSync, existsSync, mkdtempSync, cpSync, readFileSync, writeFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { hostKeyPath, runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
3
+ import { hostKeyPath, runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
4
4
  import { generateKeyPairSync, createPrivateKey, createPublicKey, sign } from 'crypto';
5
5
  import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
6
6
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-TEVO3RUV.js';
4
- import { resolveGatewayCredentials } from './chunk-QRZLUUNN.js';
3
+ import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-PZA6ZFYW.js';
4
+ import { resolveGatewayCredentials } from './chunk-MCSINUVC.js';
5
5
  import { findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
6
6
  import { resolveRepoIdentity } from './chunk-QE3UQAHK.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { isSameProcess } from './chunk-JBJTC3UU.js';
4
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
4
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
5
5
  import { existsSync, readFileSync, rmSync, mkdirSync, writeFileSync } from 'fs';
6
6
  import { dirname } from 'path';
7
7
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { currentLink } from './chunk-4IFKLYMM.js';
3
+ import { currentLink } from './chunk-7Z2WMXM5.js';
4
4
  import { readFileSync, statSync, chmodSync, mkdirSync, writeFileSync, renameSync, rmSync, existsSync, lstatSync, accessSync, constants, realpathSync } from 'fs';
5
5
  import { randomBytes } from 'crypto';
6
6
  import { join, dirname, delimiter, resolve } from 'path';
@@ -2,8 +2,8 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { runEmit } from './chunk-WX2WEERU.js';
4
4
  import { installStarterPack } from './chunk-VJBFQP3H.js';
5
- import { resolveGitCommonDir, defaultGitRunner } from './chunk-W3NVHOCS.js';
6
- import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME } from './chunk-YVZJ6GKF.js';
5
+ import { resolveGitCommonDir, defaultGitRunner } from './chunk-4UFSTKE5.js';
6
+ import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME } from './chunk-KT4CN6OU.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
8
  import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-JKNYTNYD.js';
9
9
  import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-HBISTTG3.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { C } from './chunk-ANPNT6PM.js';
4
- import { readCloudConfig } from './chunk-EABW6AJQ.js';
4
+ import { readCloudConfig } from './chunk-PJDQPF5N.js';
5
5
  import { cliInvocation } from './chunk-CRB3POP4.js';
6
6
  import { existsSync, writeFileSync, readFileSync, mkdirSync } from 'fs';
7
7
  import { join, dirname } from 'path';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { readRepoConnection, findGitDirs } from './chunk-BJ3KTMDH.js';
4
- import { readCloudConfig, cloudConfigPath } from './chunk-EABW6AJQ.js';
4
+ import { readCloudConfigStrict, readCloudConfig, cloudConfigPath } from './chunk-PJDQPF5N.js';
5
5
  import { cliInvocation } from './chunk-CRB3POP4.js';
6
6
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
7
7
  import { resolvePackageVersion } from './chunk-RA3O54FC.js';
8
- import { signRunnerRequest, signerFor } from './chunk-F6DIHHBS.js';
8
+ import { signRunnerRequest, signerFor } from './chunk-GWRDL75D.js';
9
9
 
10
10
  createRequire(import.meta.url);
11
11
 
@@ -27,7 +27,12 @@ function unauthorizedMessage(credential) {
27
27
  }
28
28
  function resolveGatewayCredentials(sources = {}) {
29
29
  const env = sources.env ?? process.env;
30
- const config = readCloudConfig(sources.home ?? homeFromEnv(env));
30
+ let config;
31
+ try {
32
+ config = readCloudConfigStrict(sources.home ?? homeFromEnv(env));
33
+ } catch (err) {
34
+ return { ok: false, message: err.message, kind: "key" };
35
+ }
31
36
  const url = sources.url ?? env.OUTERLAYER_URL ?? config.url;
32
37
  const key = sources.apiKey ?? (env.OUTERLAYER_API_KEY || void 0) ?? config.apiKey;
33
38
  const kind = key ? "key" : "login";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
4
4
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { autoConnect, detectActiveSession } from './chunk-HXFRJKMU.js';
4
- import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-QRZLUUNN.js';
3
+ import { autoConnect, detectActiveSession } from './chunk-H57M3HC7.js';
4
+ import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-MCSINUVC.js';
5
5
  import { resolveRepoIdentity } from './chunk-QE3UQAHK.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  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 { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
4
4
  import { readFileSync, existsSync, rmSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-364XDGOK.js';
4
- import { MIN_ENGINE_MAJOR } from './chunk-VHVFU6QU.js';
5
- import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-5PMQDQFV.js';
3
+ import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-EHBDYLM6.js';
4
+ import { MIN_ENGINE_MAJOR } from './chunk-SBW4K3XZ.js';
5
+ import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-VGHKTSHU.js';
6
6
  import { runnerCredentialProblem } from './chunk-JWRX5ZTT.js';
7
- import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
7
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-F3BBEBPL.js';
8
8
  import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
9
9
  import { dirname } from 'path';
10
10