@outerlayer/cli 0.24.0 → 0.25.0

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 (111) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +9 -0
  3. package/dist/{agent-setup-QQYRBPK2.js → agent-setup-PDIIGMKE.js} +7 -7
  4. package/dist/{bridge-4ZARDVGS.js → bridge-5KZ36YDG.js} +3 -3
  5. package/dist/build-Q2OBF77R.js +12 -0
  6. package/dist/build-info.json +1 -1
  7. package/dist/{builder-MECDEKXX.js → builder-PRSCX5AH.js} +6 -6
  8. package/dist/{check-YYKNYFNI.js → check-EPYRTE3R.js} +38 -37
  9. package/dist/{chunk-BN3CSI7S.js → chunk-2K3TCQHW.js} +1 -1
  10. package/dist/{chunk-A62QFN2M.js → chunk-2N72GPS2.js} +3 -3
  11. package/dist/{chunk-W7O4LA4E.js → chunk-34ANPNVB.js} +2 -2
  12. package/dist/{chunk-6GSA2SKT.js → chunk-3I44PQ26.js} +205 -56
  13. package/dist/{chunk-WH2QV3UL.js → chunk-4S4VBDSO.js} +1 -1
  14. package/dist/{chunk-IDSHLKQA.js → chunk-5222PA6S.js} +1 -1
  15. package/dist/{chunk-V5Q3S4NM.js → chunk-6CNHXHI2.js} +1 -1
  16. package/dist/{chunk-LY2L3O2O.js → chunk-7OWPLRJR.js} +1 -1
  17. package/dist/{chunk-HHXBOTRO.js → chunk-ATGHVEU4.js} +1 -1
  18. package/dist/{chunk-TTLVQZSH.js → chunk-AXPCGD46.js} +5 -5
  19. package/dist/{chunk-FWEWFW3F.js → chunk-DEBOL6ON.js} +1 -1
  20. package/dist/{chunk-E4OUL7ZP.js → chunk-FXUVXSY2.js} +2 -2
  21. package/dist/{chunk-BUBCPP3F.js → chunk-HBLLZLOH.js} +2 -2
  22. package/dist/{chunk-F2W2IYNP.js → chunk-HWEIFHSW.js} +2 -2
  23. package/dist/{chunk-F7Y2USIM.js → chunk-IDJIWKTY.js} +2 -2
  24. package/dist/{chunk-DG2ULWM6.js → chunk-IGRRD7PX.js} +11 -7
  25. package/dist/{chunk-GISNHSYL.js → chunk-JGD5TWQ2.js} +4 -2
  26. package/dist/{chunk-BOQY756V.js → chunk-JKILLWZF.js} +8 -7
  27. package/dist/{chunk-D7X5ITVT.js → chunk-JWRX5ZTT.js} +6 -2
  28. package/dist/{chunk-755WXDBI.js → chunk-K5WVK7IC.js} +1 -1
  29. package/dist/{chunk-H6IUKXXI.js → chunk-L2FZLBF7.js} +207 -35
  30. package/dist/{chunk-FKXGQOF5.js → chunk-M4B6QKNZ.js} +1 -1
  31. package/dist/{chunk-NTQTDCYR.js → chunk-O2WYUIK7.js} +1 -1
  32. package/dist/{chunk-VV7ZD5LR.js → chunk-QMQC6JCO.js} +1 -1
  33. package/dist/{chunk-5XCAPBE2.js → chunk-QUGYGO6L.js} +5 -5
  34. package/dist/{chunk-FQPN5S4Q.js → chunk-QXNJWSTM.js} +4 -4
  35. package/dist/{chunk-3W333NFO.js → chunk-RGW7ERF3.js} +15 -4
  36. package/dist/{chunk-CZUH2SLQ.js → chunk-UNF7MWEL.js} +1 -1
  37. package/dist/{chunk-ZFLOFAUG.js → chunk-VMF5LK3D.js} +7 -7
  38. package/dist/{chunk-VBEXKEBV.js → chunk-VNGENFOG.js} +19 -6
  39. package/dist/{chunk-5ECUMU53.js → chunk-VPUNOGXO.js} +6 -6
  40. package/dist/{chunk-RVYOOYOA.js → chunk-X5LNCIZT.js} +18 -9
  41. package/dist/{chunk-PDIM5T65.js → chunk-XGJUNNXL.js} +1 -1
  42. package/dist/{chunk-GU4PKXN7.js → chunk-XHXDCYSK.js} +184 -37
  43. package/dist/{chunk-NGZID7UI.js → chunk-XRYUJTAT.js} +8 -1
  44. package/dist/{chunk-TQ6Y7YV6.js → chunk-YMKQVCKC.js} +5 -5
  45. package/dist/{chunk-D7K446H6.js → chunk-YTTHDPWF.js} +4 -4
  46. package/dist/{chunk-LBCZXXOX.js → chunk-ZGMQQWCV.js} +2 -2
  47. package/dist/{chunk-KF37SUDM.js → chunk-ZI2ZVWKT.js} +1 -1
  48. package/dist/{chunk-PVRBE7S4.js → chunk-ZODVSFI4.js} +1 -1
  49. package/dist/chunk-ZVB57WI6.js +19 -0
  50. package/dist/{claude-launcher-JCPSHDZQ.js → claude-launcher-WGOCLTG6.js} +1 -1
  51. package/dist/{cli-ZTBH3FBG.js → cli-2LGSPAYZ.js} +105 -100
  52. package/dist/command-ITLPJ5XU.js +533 -0
  53. package/dist/{config-7Z5DHSGY.js → config-JJ3EO7SB.js} +3 -3
  54. package/dist/{connect-cmd-NY5LIKVC.js → connect-cmd-JFDZKPND.js} +6 -6
  55. package/dist/{container-start-OHBUZEJJ.js → container-start-X22OXY6E.js} +44 -35
  56. package/dist/{control-plane-launch-GKGI6HJA.js → control-plane-launch-ZFT6SI4N.js} +6 -6
  57. package/dist/{docker-RKGBJESN.js → docker-PQHWAY5J.js} +6 -6
  58. package/dist/{doctor-DOAFZV4O.js → doctor-73GNT4VV.js} +78 -32
  59. package/dist/{emit-artifact-cmd-VZHIDPXQ.js → emit-artifact-cmd-AIOTX6YT.js} +10 -10
  60. package/dist/{emit-criteria-cmd-SYLBCWHW.js → emit-criteria-cmd-7PJINOHA.js} +7 -7
  61. package/dist/{emit-finding-cmd-52M43NPC.js → emit-finding-cmd-JRDSZ4DR.js} +7 -7
  62. package/dist/{emit-result-cmd-BTMTGDAV.js → emit-result-cmd-ZGF6Q6OP.js} +10 -10
  63. package/dist/{emit-step-cmd-6XTJITZT.js → emit-step-cmd-DUR34STQ.js} +8 -8
  64. package/dist/{exec-client-CKPK62K2.js → exec-client-S5IA7JRG.js} +4 -4
  65. package/dist/{governing-source-GWN7GVEN.js → governing-source-DKJABQAT.js} +10 -10
  66. package/dist/{guest-init-ZBL5CN7Y.js → guest-init-TOSKPGPF.js} +5 -5
  67. package/dist/{hook-fast-3JL4PXLG.js → hook-fast-NEELST6G.js} +1 -1
  68. package/dist/host-key-ICJEQBWH.js +9 -0
  69. package/dist/{image-tag-AO4RBAKW.js → image-tag-6KJOGBQK.js} +4 -4
  70. package/dist/index.js +4 -4
  71. package/dist/{init-EQTR7AEF.js → init-NE3VR3EY.js} +24 -22
  72. package/dist/{init-TSQ3EOQW.js → init-SKOXNJND.js} +24 -22
  73. package/dist/{init-cmd-AF2MH36A.js → init-cmd-UEDOJ7LG.js} +10 -10
  74. package/dist/{init-update-SHISHMXV.js → init-update-VKZ4S6HH.js} +8 -8
  75. package/dist/{install-ORQC26ZE.js → install-MPEJJ7X6.js} +5 -5
  76. package/dist/{install-cmd-4LA3UJZ4.js → install-cmd-SE6NCTJK.js} +6 -6
  77. package/dist/job-state-format-WJQGQB6F.js +6 -0
  78. package/dist/{logs-5EPHIPZB.js → logs-T4ERSOQ4.js} +3 -3
  79. package/dist/{loop-4WUCS5JP.js → loop-BPVEA5OC.js} +37 -36
  80. package/dist/{machine-6UNLIPLE.js → machine-G3GICXQN.js} +20 -18
  81. package/dist/{mcp-serve-cmd-KMWEKM7C.js → mcp-serve-cmd-7M4VLNI4.js} +5 -5
  82. package/dist/{paths-XY5ADO32.js → paths-2KGM2LZV.js} +3 -3
  83. package/dist/pending-BGLMTB5Q.js +9 -0
  84. package/dist/{pidfile-OJ7RP4Q2.js → pidfile-VYBH3IMN.js} +4 -4
  85. package/dist/{record-BEJB4J7N.js → record-GNOHDJ2O.js} +4 -4
  86. package/dist/{relay-PSZ4LGMW.js → relay-GFPPD6GF.js} +1 -1
  87. package/dist/relay-protocol-HELO5SNH.js +6 -0
  88. package/dist/{runner-env-ZJWJOJKQ.js → runner-env-GUFV544G.js} +6 -6
  89. package/dist/{runner-identity-2OOUJSFJ.js → runner-identity-J6DXJ6MF.js} +6 -6
  90. package/dist/{runner-key-WDFBSJRX.js → runner-key-L55O7Y7W.js} +24 -22
  91. package/dist/{session-sender-X3BBQZMF.js → session-sender-LXTASWBY.js} +11 -11
  92. package/dist/{spec-cmd-QRF5YXKK.js → spec-cmd-G2JNXKD7.js} +8 -8
  93. package/dist/{status-ZCAAF6MD.js → status-U6DXOR6C.js} +34 -28
  94. package/dist/{sync-cmd-UQK3RYAC.js → sync-cmd-VPNS5ITY.js} +10 -10
  95. package/dist/{watch-MOQ3GQTE.js → watch-ZOCYD2NE.js} +10 -10
  96. package/dist/{work-claim-cmd-RT343CLA.js → work-claim-cmd-BUMIPJNF.js} +11 -11
  97. package/dist/{work-cmd-APXSER2D.js → work-cmd-LRAXUOJV.js} +8 -8
  98. package/dist/{work-comment-cmd-AT5NUYUU.js → work-comment-cmd-4RDIBUYO.js} +8 -8
  99. package/dist/{work-logs-cmd-Z5DMNEJP.js → work-logs-cmd-YYN2CPJQ.js} +8 -8
  100. package/dist/{work-open-pr-cmd-ZTS6MJHL.js → work-open-pr-cmd-3MCND2LZ.js} +9 -9
  101. package/dist/{work-pr-cmd-IWZCC3WH.js → work-pr-cmd-BODEZAXN.js} +8 -8
  102. package/dist/{work-stop-cmd-DCAWFDZC.js → work-stop-cmd-P7HXVKEG.js} +8 -8
  103. package/package.json +2 -2
  104. package/skill-pack/maintained/outerlayer-build/SKILL.md +1 -1
  105. package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +3 -2
  106. package/skill-pack/maintained/outerlayer-build/references/review-briefs.md +3 -1
  107. package/dist/build-OVZIT2G2.js +0 -12
  108. package/dist/command-DO4TERRT.js +0 -208
  109. package/dist/host-key-W2DLZGZ7.js +0 -9
  110. package/dist/pending-35J3ZPLR.js +0 -9
  111. package/dist/relay-protocol-K7KP2SPI.js +0 -6
@@ -1,34 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-BOQY756V.js';
4
- import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-VBEXKEBV.js';
5
- import './chunk-GU4PKXN7.js';
6
- import { isAgentName, AGENT_COMMANDS } from './chunk-LBCZXXOX.js';
7
- import './chunk-DG2ULWM6.js';
8
- import './chunk-6MZSX4M7.js';
9
- import { runnerImageVersion, IMAGE_VERSION_VARIABLE } from './chunk-IDSHLKQA.js';
3
+ import { RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-JKILLWZF.js';
4
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-VNGENFOG.js';
5
+ import { MIN_ENGINE_MAJOR } from './chunk-XHXDCYSK.js';
6
+ import { runnerImageVersion, IMAGE_VERSION_VARIABLE } from './chunk-5222PA6S.js';
10
7
  import './chunk-TQMI335S.js';
11
- import './chunk-TTLVQZSH.js';
12
- import './chunk-FWEWFW3F.js';
8
+ import { isAgentName, AGENT_COMMANDS } from './chunk-ZGMQQWCV.js';
9
+ import './chunk-IGRRD7PX.js';
10
+ import './chunk-6MZSX4M7.js';
11
+ import './chunk-AXPCGD46.js';
12
+ import './chunk-DEBOL6ON.js';
13
13
  import './chunk-JBJTC3UU.js';
14
14
  import './chunk-OGFGZQA3.js';
15
- import './chunk-5XCAPBE2.js';
16
- import './chunk-3W333NFO.js';
17
- import './chunk-LY2L3O2O.js';
18
- import './chunk-PDIM5T65.js';
19
- import './chunk-TQ6Y7YV6.js';
20
- import './chunk-RVYOOYOA.js';
21
- import './chunk-F2W2IYNP.js';
22
- import './chunk-V5Q3S4NM.js';
15
+ import './chunk-QUGYGO6L.js';
16
+ import './chunk-RGW7ERF3.js';
17
+ import './chunk-7OWPLRJR.js';
18
+ import './chunk-XGJUNNXL.js';
19
+ import './chunk-YMKQVCKC.js';
20
+ import './chunk-X5LNCIZT.js';
21
+ import './chunk-HWEIFHSW.js';
22
+ import './chunk-6CNHXHI2.js';
23
23
  import './chunk-BUP5N3X6.js';
24
24
  import './chunk-XSPA5ODY.js';
25
25
  import './chunk-GOSFARMS.js';
26
- import './chunk-D7X5ITVT.js';
26
+ import './chunk-JWRX5ZTT.js';
27
27
  import './chunk-UXYLWVTQ.js';
28
28
  import './chunk-7RQ73DLO.js';
29
- import './chunk-E4OUL7ZP.js';
29
+ import './chunk-FXUVXSY2.js';
30
30
  import './chunk-MQ743JX3.js';
31
- import './chunk-FKXGQOF5.js';
31
+ import './chunk-M4B6QKNZ.js';
32
32
  import './chunk-ZJSNLVCE.js';
33
33
  import './chunk-VPEGE3QZ.js';
34
34
  import './chunk-HCVLP7XA.js';
@@ -45,10 +45,10 @@ import './chunk-RKOTJQVG.js';
45
45
  import './chunk-QZBXLLTV.js';
46
46
  import './chunk-VNVZDWO3.js';
47
47
  import './chunk-RA3O54FC.js';
48
- import './chunk-PVRBE7S4.js';
49
- import './chunk-KF37SUDM.js';
50
- import { CLAUDE_CREDENTIAL_VARIABLES } from './chunk-BN3CSI7S.js';
51
- import './chunk-GISNHSYL.js';
48
+ import './chunk-ZODVSFI4.js';
49
+ import './chunk-ZI2ZVWKT.js';
50
+ import { CLAUDE_CREDENTIAL_VARIABLES } from './chunk-2K3TCQHW.js';
51
+ import './chunk-JGD5TWQ2.js';
52
52
  import './chunk-Z5GEFMRW.js';
53
53
  import { existsSync, readFileSync } from 'fs';
54
54
 
@@ -57,9 +57,18 @@ var DOCKER_SOCKET = "/var/run/docker.sock";
57
57
  var REQUIRED = [
58
58
  ["OUTERLAYER_URL", "the factory's gateway address"],
59
59
  ["OUTERLAYER_APP_ID", "the factory's id"],
60
- ["OUTERLAYER_API_KEY", "a runner key"],
61
- ["OUTERLAYER_HOST", "the host name the factory shows"]
60
+ ["OUTERLAYER_API_KEY", "a runner key"]
62
61
  ];
62
+ var NAME_VARIABLE = "OUTERLAYER_RUNNER_NAME";
63
+ var OLD_NAME_VARIABLE = "OUTERLAYER_HOST";
64
+ function runnerName(env) {
65
+ const name = set(env, NAME_VARIABLE);
66
+ const old = set(env, OLD_NAME_VARIABLE);
67
+ if (name !== void 0 && old !== void 0 && name !== old) {
68
+ return { name: void 0, conflict: `${NAME_VARIABLE} is ${name} and ${OLD_NAME_VARIABLE} is ${old}; set ${NAME_VARIABLE} only, since ${OLD_NAME_VARIABLE} is its earlier name` };
69
+ }
70
+ return { name: name ?? old };
71
+ }
63
72
  var KEY_MIN_SHOWN = 16;
64
73
  var refuse = (message) => ({ ok: false, message });
65
74
  var set = (env, name) => {
@@ -83,11 +92,11 @@ function disagreements(config, env) {
83
92
  if (String(config.apiKey ?? "") !== key) {
84
93
  lines.push(`runner key: the volume has ${keyHint(String(config.apiKey ?? ""))}; the variables have ${keyHint(key)}`);
85
94
  }
86
- const host = set(env, "OUTERLAYER_HOST");
95
+ const host = runnerName(env).name;
87
96
  const runner = config.runner;
88
- const storedHost = runner?.host;
97
+ const storedHost = runner?.name ?? runner?.host;
89
98
  if (runner !== void 0 && storedHost !== host) {
90
- lines.push(`host name: the volume has ${typeof storedHost === "string" ? storedHost : "none"}; the variables name ${host}`);
99
+ lines.push(`runner name: the volume has ${typeof storedHost === "string" ? storedHost : "none"}; the variables name ${host}`);
91
100
  }
92
101
  return lines;
93
102
  }
@@ -104,7 +113,10 @@ async function containerStart(deps) {
104
113
  if (version === void 0) {
105
114
  return refuse(`${IMAGE_VERSION_VARIABLE} is not set. This command is the runner container image's entrypoint; to run a runner on a machine, use \`outerlayer runner start\`.`);
106
115
  }
116
+ const named = runnerName(env);
117
+ if (named.conflict !== void 0) return refuse(named.conflict);
107
118
  const missing = REQUIRED.filter(([name]) => set(env, name) === void 0).map(([name, what]) => `${name} (${what})`);
119
+ if (named.name === void 0) missing.push(`${NAME_VARIABLE} (the runner's name, which the factory shows)`);
108
120
  const agent = set(env, "OUTERLAYER_AGENT") ?? "claude";
109
121
  if (!isAgentName(agent)) {
110
122
  return refuse(`OUTERLAYER_AGENT is ${agent}, and the image writes commands for ${Object.keys(AGENT_COMMANDS).join(", ")} only. Leave it unset to use claude.`);
@@ -121,19 +133,16 @@ async function containerStart(deps) {
121
133
  `${DOCKER_SOCKET} is not in the container. The runner starts each build as a container on the host's Docker, so start this container with -v ${DOCKER_SOCKET}:${DOCKER_SOCKET}.`
122
134
  );
123
135
  }
124
- const machine = (deps.machine ?? (() => detectMachine()))();
125
- if (machine.docker.kind === "desktop") {
126
- return refuse("Docker Desktop is not supported yet. The Docker behind the socket is Docker Desktop; run the runner image on a Linux host with Docker Engine.");
127
- }
136
+ const machine = { ...(deps.machine ?? (() => detectMachine()))(), inImage: true };
128
137
  if (!supportsContainerBuilds(machine)) {
129
138
  return refuse(
130
- `The container reaches ${describeMachineDocker(machine)} through ${DOCKER_SOCKET}, and builds need Docker Engine in a version that isolates a build. Check that the socket is the host's Docker Engine and that it is running.`
139
+ `The container reaches ${describeMachineDocker(machine)} through ${DOCKER_SOCKET}, and builds need Docker Engine in a version that isolates a build (${MIN_ENGINE_MAJOR} or later), on Docker Engine or Docker Desktop. Check that the socket is the host's Docker and that it is running.`
131
140
  );
132
141
  }
133
142
  const url = set(env, "OUTERLAYER_URL");
134
143
  const appId = set(env, "OUTERLAYER_APP_ID");
135
144
  const apiKey = set(env, "OUTERLAYER_API_KEY");
136
- const host = set(env, "OUTERLAYER_HOST");
145
+ const host = named.name;
137
146
  if (existsSync(configPath)) {
138
147
  const stored = readConfig(configPath);
139
148
  if (stored instanceof RunnerInitError) return refuse(stored.message);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { parseOwnerRepo, lookupGoverningSource, defaultGitRunner, materializeContext } from './chunk-E4OUL7ZP.js';
3
+ import { parseOwnerRepo, lookupGoverningSource, defaultGitRunner, materializeContext } from './chunk-FXUVXSY2.js';
4
4
  import './chunk-MQ743JX3.js';
5
- import { resolveGatewayCredentials, defaultFetch } from './chunk-FKXGQOF5.js';
5
+ import { resolveGatewayCredentials, defaultFetch } from './chunk-M4B6QKNZ.js';
6
6
  import './chunk-ZJSNLVCE.js';
7
7
  import { layoutRefusalMessage, unsupportedLayout, sharedSkillNames, skillConflictMessage, composeDelivery } from './chunk-VPEGE3QZ.js';
8
8
  import './chunk-HCVLP7XA.js';
@@ -17,10 +17,10 @@ import './chunk-RKOTJQVG.js';
17
17
  import './chunk-QZBXLLTV.js';
18
18
  import './chunk-VNVZDWO3.js';
19
19
  import './chunk-RA3O54FC.js';
20
- import './chunk-PVRBE7S4.js';
21
- import './chunk-KF37SUDM.js';
22
- import './chunk-BN3CSI7S.js';
23
- import './chunk-GISNHSYL.js';
20
+ import './chunk-ZODVSFI4.js';
21
+ import './chunk-ZI2ZVWKT.js';
22
+ import './chunk-2K3TCQHW.js';
23
+ import './chunk-JGD5TWQ2.js';
24
24
  import './chunk-Z5GEFMRW.js';
25
25
  import { execFileSync } from 'child_process';
26
26
  import { existsSync, readFileSync, mkdirSync, mkdtempSync, cpSync, renameSync, writeFileSync, rmSync, readdirSync } from 'fs';
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { childEnvironment, createDockerHost, spawnRun } from './chunk-5XCAPBE2.js';
4
- import './chunk-3W333NFO.js';
3
+ export { childEnvironment, createDockerHost, spawnRun } from './chunk-QUGYGO6L.js';
4
+ import './chunk-RGW7ERF3.js';
5
5
  import './chunk-7RQ73DLO.js';
6
6
  import './chunk-D4AMAEZ7.js';
7
7
  import './chunk-QZBXLLTV.js';
8
- import './chunk-PVRBE7S4.js';
9
- import './chunk-KF37SUDM.js';
10
- import './chunk-BN3CSI7S.js';
11
- import './chunk-GISNHSYL.js';
8
+ import './chunk-ZODVSFI4.js';
9
+ import './chunk-ZI2ZVWKT.js';
10
+ import './chunk-2K3TCQHW.js';
11
+ import './chunk-JGD5TWQ2.js';
12
12
  import './chunk-Z5GEFMRW.js';
13
13
 
14
14
  createRequire(import.meta.url);
@@ -1,39 +1,39 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-5ECUMU53.js';
3
+ import { launcherCheck } from './chunk-ATGHVEU4.js';
4
+ import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-VPUNOGXO.js';
5
+ import './chunk-QMQC6JCO.js';
4
6
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
5
- import { launcherCheck } from './chunk-HHXBOTRO.js';
6
- import './chunk-VV7ZD5LR.js';
7
7
  import { RepoFilter } from './chunk-TBT347UY.js';
8
- import './chunk-BOQY756V.js';
9
- import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-VBEXKEBV.js';
10
- import { MIN_ENGINE_MAJOR } from './chunk-GU4PKXN7.js';
11
- import './chunk-LBCZXXOX.js';
12
- import './chunk-DG2ULWM6.js';
13
- import './chunk-6MZSX4M7.js';
14
- import { runnerImageVersion, imageAdvice, readUpdateStatus, imageTag, pullInstruction } from './chunk-IDSHLKQA.js';
8
+ import './chunk-JKILLWZF.js';
9
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-VNGENFOG.js';
10
+ import { MIN_ENGINE_MAJOR, probeHelper, helperSocketPath } from './chunk-XHXDCYSK.js';
11
+ import { runnerImageVersion, imageAdvice, readUpdateStatus, imageTag, pullInstruction } from './chunk-5222PA6S.js';
15
12
  import './chunk-TQMI335S.js';
16
- import './chunk-TTLVQZSH.js';
17
- import './chunk-FWEWFW3F.js';
13
+ import './chunk-ZGMQQWCV.js';
14
+ import './chunk-IGRRD7PX.js';
15
+ import './chunk-6MZSX4M7.js';
16
+ import './chunk-AXPCGD46.js';
17
+ import './chunk-DEBOL6ON.js';
18
18
  import './chunk-JBJTC3UU.js';
19
19
  import './chunk-OGFGZQA3.js';
20
- import { resolveDevcontainerCli, buildxState, spawnRun } from './chunk-5XCAPBE2.js';
21
- import { locateRecipe, assertBuildable, readRecipe, RecipeError, CLAUDE_CODE_VERSION } from './chunk-3W333NFO.js';
22
- import './chunk-LY2L3O2O.js';
23
- import './chunk-PDIM5T65.js';
24
- import './chunk-TQ6Y7YV6.js';
25
- import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-RVYOOYOA.js';
26
- import './chunk-F2W2IYNP.js';
27
- import './chunk-V5Q3S4NM.js';
20
+ import { resolveDevcontainerCli, buildxState, spawnRun } from './chunk-QUGYGO6L.js';
21
+ import { locateRecipe, assertBuildable, readRecipe, RecipeError, CLAUDE_CODE_VERSION } from './chunk-RGW7ERF3.js';
22
+ import './chunk-7OWPLRJR.js';
23
+ import './chunk-XGJUNNXL.js';
24
+ import './chunk-YMKQVCKC.js';
25
+ import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-X5LNCIZT.js';
26
+ import './chunk-HWEIFHSW.js';
27
+ import './chunk-6CNHXHI2.js';
28
28
  import './chunk-BUP5N3X6.js';
29
29
  import './chunk-XSPA5ODY.js';
30
30
  import './chunk-GOSFARMS.js';
31
- import { builtinKind } from './chunk-D7X5ITVT.js';
31
+ import { builtinKind } from './chunk-JWRX5ZTT.js';
32
32
  import { allowHostProblem, MAX_ALLOW_HOSTS } from './chunk-UXYLWVTQ.js';
33
33
  import { parseSize } from './chunk-7RQ73DLO.js';
34
- import { defaultGitRunner } from './chunk-E4OUL7ZP.js';
34
+ import { defaultGitRunner } from './chunk-FXUVXSY2.js';
35
35
  import './chunk-MQ743JX3.js';
36
- import { defaultFetch } from './chunk-FKXGQOF5.js';
36
+ import { defaultFetch } from './chunk-M4B6QKNZ.js';
37
37
  import './chunk-ZJSNLVCE.js';
38
38
  import './chunk-VPEGE3QZ.js';
39
39
  import './chunk-HCVLP7XA.js';
@@ -50,10 +50,10 @@ import './chunk-RKOTJQVG.js';
50
50
  import './chunk-QZBXLLTV.js';
51
51
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
52
52
  import './chunk-RA3O54FC.js';
53
- import { loadHostKey } from './chunk-PVRBE7S4.js';
54
- import { runnerDir, hostKeyPath, jobsDir } from './chunk-KF37SUDM.js';
55
- import './chunk-BN3CSI7S.js';
56
- import './chunk-GISNHSYL.js';
53
+ import { loadHostKey } from './chunk-ZODVSFI4.js';
54
+ import { runnerDir, hostKeyPath, jobsDir } from './chunk-ZI2ZVWKT.js';
55
+ import './chunk-2K3TCQHW.js';
56
+ import './chunk-JGD5TWQ2.js';
57
57
  import './chunk-Z5GEFMRW.js';
58
58
  import { spawnSync } from 'child_process';
59
59
  import { existsSync, readdirSync, statSync, readFileSync } from 'fs';
@@ -126,6 +126,27 @@ function delegationCheck(service) {
126
126
  fix: "run `outerlayer runner install --service --replace` to write the unit this CLI generates, which sets Delegate=yes"
127
127
  };
128
128
  }
129
+ var REINSTALL = "run `outerlayer runner install --service --replace` to install the root helper that starts each microVM build under Firecracker's jailer";
130
+ function helperCheck(facts) {
131
+ const name = "MicroVM jailer";
132
+ if (facts.present) {
133
+ return {
134
+ name,
135
+ status: "pass",
136
+ detail: `each microVM build runs under Firecracker's jailer (Firecracker ${facts.firecracker}), as a user of its own with no credentials, no shared group and no network, so a build that escaped its microVM would reach none of the runner's credentials`
137
+ };
138
+ }
139
+ const reaches = "a build that escaped its microVM would run as the runner's account and reach what that account holds: the Claude credential, the runner key, the host key, the host's `gh` login and its membership of the `docker` group";
140
+ if (facts.reason === "unpinned") {
141
+ return { name, status: "warn", detail: `this release of the CLI pins no root helper, so Firecracker runs as the runner's account: ${reaches}` };
142
+ }
143
+ return {
144
+ name,
145
+ status: "warn",
146
+ detail: `no usable root helper runs for this runner, so Firecracker runs as the runner's account: ${reaches} (${facts.detail})`,
147
+ fix: REINSTALL
148
+ };
149
+ }
129
150
 
130
151
  // src/runner/image/doctor.ts
131
152
  var LATEST_URL = "https://registry.npmjs.org/@anthropic-ai/claude-code/latest";
@@ -205,6 +226,7 @@ async function pinCheck(fetchImpl) {
205
226
  }
206
227
  return { name, status: "pass", detail: `images pin Claude Code ${CLAUDE_CODE_VERSION}; latest is ${latest}` };
207
228
  }
229
+ var RUNNER_IMAGE_GUIDE = "https://docs.outerlayer.ai/run-the-runner-in-a-container";
208
230
  function isolationCheck(machine, hooks) {
209
231
  const name = "Build isolation";
210
232
  const kind = builtinKind(hooks.provision);
@@ -213,7 +235,8 @@ function isolationCheck(machine, hooks) {
213
235
  if (kind === "container") {
214
236
  if (can) {
215
237
  const where = machine.platform === "wsl2" ? " inside WSL2" : "";
216
- return { name, status: "pass", detail: `builtin:container: builds run in containers (isolation: container) on Docker Engine ${machine.docker.version}${where}` };
238
+ const docker = machine.docker.kind === "desktop" ? "Docker Desktop with engine" : "Docker Engine";
239
+ return { name, status: "pass", detail: `builtin:container: builds run in containers (isolation: container) on ${docker} ${machine.docker.version}${where}` };
217
240
  }
218
241
  return {
219
242
  name,
@@ -247,7 +270,7 @@ function isolationCheck(machine, hooks) {
247
270
  name,
248
271
  status: "warn",
249
272
  detail: "builtin:process: builds are not isolated: they run as processes under this user (isolation: shared-user), and macOS cannot run container builds itself",
250
- fix: "run outerlayer runner init --vm to run the runner in a Linux VM, where builds run in containers (isolation: container)"
273
+ fix: `run the runner image on Docker Desktop (${RUNNER_IMAGE_GUIDE}), or run outerlayer runner init --vm to run the runner in a Linux VM; either way builds run in containers (isolation: container)`
251
274
  };
252
275
  }
253
276
  if (can) {
@@ -259,7 +282,7 @@ function isolationCheck(machine, hooks) {
259
282
  };
260
283
  }
261
284
  const reach = reachDockerStep(machine);
262
- const fix = reach !== void 0 ? `isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later: ${reach}, then set both hooks to builtin:container` : machine.platform === "windows" ? `install Docker Engine inside WSL2 (version ${MIN_ENGINE_MAJOR} or later), run the runner from a WSL2 shell, and set both hooks to builtin:container; Docker Desktop cannot isolate builds` : machine.docker.kind === "desktop" ? `isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later, not Docker Desktop: install it and set both hooks to builtin:container` : `isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later on Linux or WSL2: install it and set both hooks to builtin:container`;
285
+ const fix = reach !== void 0 ? `isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later: ${reach}, then set both hooks to builtin:container` : machine.platform === "windows" ? `install Docker Engine inside WSL2 (version ${MIN_ENGINE_MAJOR} or later), run the runner from a WSL2 shell, and set both hooks to builtin:container; or run the runner image on Docker Desktop (${RUNNER_IMAGE_GUIDE})` : machine.docker.kind === "desktop" ? `isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later: install it and set both hooks to builtin:container, or run the runner image on Docker Desktop (${RUNNER_IMAGE_GUIDE})` : `isolated builds need Docker Engine ${MIN_ENGINE_MAJOR} or later on Linux or WSL2: install it and set both hooks to builtin:container`;
263
286
  return {
264
287
  name,
265
288
  status: "warn",
@@ -502,6 +525,21 @@ function allowHostsCheck(configPath, allowHosts) {
502
525
  fix: reached.length === 0 ? "list the public hosts your builds need in runner.build.allowHosts; once a few builds have run, doctor lists the hosts they reached" : `review the hosts past builds reached and set runner.build.allowHosts to the ones they need: ${JSON.stringify(reached)}`
503
526
  };
504
527
  }
528
+ function runnerNameCheck(configPath) {
529
+ let runner;
530
+ try {
531
+ runner = JSON.parse(readFileSync(configPath, "utf8")).runner;
532
+ } catch {
533
+ return void 0;
534
+ }
535
+ if (runner?.host === void 0 || runner.name !== void 0) return void 0;
536
+ return {
537
+ name: "Runner name",
538
+ status: "warn",
539
+ detail: "the config names this runner with runner.host, the earlier name of runner.name; it still works",
540
+ fix: "rename runner.host to runner.name in the config file"
541
+ };
542
+ }
505
543
  function launcherCheckOf(env) {
506
544
  return launcherCheck({ home: env.home ?? homeFromEnv(), PATH: env.PATH ?? process.env.PATH });
507
545
  }
@@ -513,6 +551,10 @@ function runnerImageCheck(env) {
513
551
  if (advice === void 0) return { name, status: "pass", detail: `runs ${imageTag(version)}` };
514
552
  return advice.reason === "refused" ? { name, status: "fail", detail: `the factory refuses this runner as too old, so it claims nothing (image ${version})`, fix: pullInstruction(advice.tag) } : { name, status: "warn", detail: `the factory names a newer version than the ${version} this image runs`, fix: pullInstruction(advice.tag) };
515
553
  }
554
+ async function helperFactsOf(env) {
555
+ const probe = await (env.helper ?? (() => probeHelper(env.service === void 0 ? void 0 : helperSocketPath(env.service.unit))))();
556
+ return probe.ok ? { present: true, firecracker: probe.firecracker } : { present: false, reason: probe.reason, detail: probe.detail };
557
+ }
516
558
  async function runnerHostChecks(env) {
517
559
  const dockerAvailable = env.dockerAvailable ?? (() => spawnSync("docker", ["info"], { stdio: "ignore" }).status === 0);
518
560
  const devcontainerRunnable = env.devcontainerRunnable ?? (() => devcontainerCliRunnable());
@@ -522,18 +564,22 @@ async function runnerHostChecks(env) {
522
564
  (owner) => directories(join(reposDir, owner)).filter((name) => existsSync(join(reposDir, owner, name, ".git"))).map((name) => recipeCheck(reposDir, owner, name))
523
565
  ) : [];
524
566
  const imageCheck = runnerImageCheck(env);
567
+ const nameCheck = runnerNameCheck(env.configPath);
568
+ const machine = () => env.machine ?? detectMachine({ env: env.env });
525
569
  return [
526
570
  ...imageCheck === void 0 ? [] : [imageCheck],
571
+ ...nameCheck === void 0 ? [] : [nameCheck],
527
572
  dockerAvailable() ? { name: "Docker Engine", status: "pass", detail: "reachable" } : {
528
573
  name: "Docker Engine",
529
574
  status: "warn",
530
575
  detail: "docker info failed, so `outerlayer runner image` cannot build",
531
576
  fix: "start Docker, or give this user access to its socket"
532
577
  },
533
- ...env.hooks === void 0 ? [] : [isolationCheck(env.machine ?? detectMachine(), env.hooks)],
578
+ ...env.hooks === void 0 ? [] : [isolationCheck(machine(), env.hooks)],
534
579
  ...env.hooks !== void 0 && builtinKind(env.hooks.provision) === "vm" ? [
535
- kvmCheck(env.machine ?? detectMachine(), env.service),
580
+ kvmCheck(machine(), env.service),
536
581
  ...env.service === void 0 ? [] : [delegationCheck(env.service)],
582
+ helperCheck(await helperFactsOf(env)),
537
583
  ...env.runner === void 0 ? [] : [memoryCheck({ concurrency: env.runner.concurrency, buildMemory: env.runner.buildMemory, hostMemory: env.hostMemory ?? totalmem() })]
538
584
  ] : [],
539
585
  ...env.hooks !== void 0 && ["container", "vm"].includes(builtinKind(env.hooks.provision)) ? [imageBuildLimitCheck(await (env.buildx ?? (() => buildxState(spawnRun)))(), env.runner?.buildMemory)] : [],
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-D7K446H6.js';
4
- import './chunk-F7Y2USIM.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-YTTHDPWF.js';
4
+ import './chunk-IDJIWKTY.js';
5
5
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
6
6
  import './chunk-TBT347UY.js';
7
- import { detectActiveSession, autoConnect } from './chunk-F2W2IYNP.js';
8
- import './chunk-V5Q3S4NM.js';
7
+ import { detectActiveSession, autoConnect } from './chunk-HWEIFHSW.js';
8
+ import './chunk-6CNHXHI2.js';
9
9
  import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-BUP5N3X6.js';
10
10
  import './chunk-XSPA5ODY.js';
11
11
  import './chunk-GOSFARMS.js';
12
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FKXGQOF5.js';
13
- import './chunk-755WXDBI.js';
12
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-M4B6QKNZ.js';
13
+ import './chunk-K5WVK7IC.js';
14
14
  import './chunk-ZJSNLVCE.js';
15
15
  import './chunk-DYEFPYME.js';
16
16
  import './chunk-BKO6JEZI.js';
@@ -30,10 +30,10 @@ import './chunk-RKOTJQVG.js';
30
30
  import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-QZBXLLTV.js';
31
31
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
32
32
  import './chunk-RA3O54FC.js';
33
- import './chunk-PVRBE7S4.js';
34
- import './chunk-KF37SUDM.js';
35
- import './chunk-BN3CSI7S.js';
36
- import './chunk-GISNHSYL.js';
33
+ import './chunk-ZODVSFI4.js';
34
+ import './chunk-ZI2ZVWKT.js';
35
+ import './chunk-2K3TCQHW.js';
36
+ import './chunk-JGD5TWQ2.js';
37
37
  import './chunk-Z5GEFMRW.js';
38
38
  import { createHash, randomUUID } from 'crypto';
39
39
  import { statSync, readFileSync, mkdirSync, existsSync, writeFileSync, renameSync, unlinkSync } from 'fs';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { detectActiveSession, autoConnect } from './chunk-F2W2IYNP.js';
5
- import './chunk-V5Q3S4NM.js';
4
+ import { detectActiveSession, autoConnect } from './chunk-HWEIFHSW.js';
5
+ import './chunk-6CNHXHI2.js';
6
6
  import './chunk-BUP5N3X6.js';
7
7
  import './chunk-XSPA5ODY.js';
8
8
  import './chunk-GOSFARMS.js';
9
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FKXGQOF5.js';
9
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-M4B6QKNZ.js';
10
10
  import './chunk-BJ3KTMDH.js';
11
11
  import { resolveRepoIdentity } from './chunk-D4AMAEZ7.js';
12
12
  import { C } from './chunk-ANPNT6PM.js';
@@ -20,10 +20,10 @@ import './chunk-RKOTJQVG.js';
20
20
  import { CriteriaListSchema } from './chunk-QZBXLLTV.js';
21
21
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
22
22
  import './chunk-RA3O54FC.js';
23
- import './chunk-PVRBE7S4.js';
24
- import './chunk-KF37SUDM.js';
25
- import './chunk-BN3CSI7S.js';
26
- import './chunk-GISNHSYL.js';
23
+ import './chunk-ZODVSFI4.js';
24
+ import './chunk-ZI2ZVWKT.js';
25
+ import './chunk-2K3TCQHW.js';
26
+ import './chunk-JGD5TWQ2.js';
27
27
  import './chunk-Z5GEFMRW.js';
28
28
  import { readFileSync } from 'fs';
29
29
 
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-F2W2IYNP.js';
5
- import './chunk-V5Q3S4NM.js';
4
+ import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-HWEIFHSW.js';
5
+ import './chunk-6CNHXHI2.js';
6
6
  import './chunk-BUP5N3X6.js';
7
7
  import './chunk-XSPA5ODY.js';
8
8
  import './chunk-GOSFARMS.js';
9
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FKXGQOF5.js';
9
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-M4B6QKNZ.js';
10
10
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
11
11
  import './chunk-BJ3KTMDH.js';
12
12
  import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-D4AMAEZ7.js';
@@ -21,10 +21,10 @@ import './chunk-RKOTJQVG.js';
21
21
  import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-QZBXLLTV.js';
22
22
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
23
23
  import './chunk-RA3O54FC.js';
24
- import './chunk-PVRBE7S4.js';
25
- import './chunk-KF37SUDM.js';
26
- import './chunk-BN3CSI7S.js';
27
- import './chunk-GISNHSYL.js';
24
+ import './chunk-ZODVSFI4.js';
25
+ import './chunk-ZI2ZVWKT.js';
26
+ import './chunk-2K3TCQHW.js';
27
+ import './chunk-JGD5TWQ2.js';
28
28
  import './chunk-Z5GEFMRW.js';
29
29
  import { readFileSync, existsSync } from 'fs';
30
30
  import { join, dirname, basename } from 'path';
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectCi } from './chunk-D7K446H6.js';
4
- import './chunk-F7Y2USIM.js';
3
+ import { detectCi } from './chunk-YTTHDPWF.js';
4
+ import './chunk-IDJIWKTY.js';
5
5
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
6
6
  import './chunk-TBT347UY.js';
7
- import { detectActiveSession, autoConnect } from './chunk-F2W2IYNP.js';
8
- import './chunk-V5Q3S4NM.js';
7
+ import { detectActiveSession, autoConnect } from './chunk-HWEIFHSW.js';
8
+ import './chunk-6CNHXHI2.js';
9
9
  import './chunk-BUP5N3X6.js';
10
10
  import './chunk-XSPA5ODY.js';
11
11
  import './chunk-GOSFARMS.js';
12
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FKXGQOF5.js';
13
- import './chunk-755WXDBI.js';
12
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-M4B6QKNZ.js';
13
+ import './chunk-K5WVK7IC.js';
14
14
  import './chunk-ZJSNLVCE.js';
15
15
  import './chunk-DYEFPYME.js';
16
16
  import './chunk-BKO6JEZI.js';
@@ -30,10 +30,10 @@ import './chunk-RKOTJQVG.js';
30
30
  import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH } from './chunk-QZBXLLTV.js';
31
31
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
32
32
  import './chunk-RA3O54FC.js';
33
- import './chunk-PVRBE7S4.js';
34
- import './chunk-KF37SUDM.js';
35
- import './chunk-BN3CSI7S.js';
36
- import './chunk-GISNHSYL.js';
33
+ import './chunk-ZODVSFI4.js';
34
+ import './chunk-ZI2ZVWKT.js';
35
+ import './chunk-2K3TCQHW.js';
36
+ import './chunk-JGD5TWQ2.js';
37
37
  import './chunk-Z5GEFMRW.js';
38
38
  import { randomUUID } from 'crypto';
39
39
  import { readFileSync } from 'fs';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { EmitStepError, runEmitStep, uploadSpooledSteps } from './chunk-F7Y2USIM.js';
3
+ export { EmitStepError, runEmitStep, uploadSpooledSteps } from './chunk-IDJIWKTY.js';
4
4
  import './chunk-ESVW4MJY.js';
5
- import './chunk-F2W2IYNP.js';
6
- import './chunk-V5Q3S4NM.js';
5
+ import './chunk-HWEIFHSW.js';
6
+ import './chunk-6CNHXHI2.js';
7
7
  import './chunk-BUP5N3X6.js';
8
8
  import './chunk-XSPA5ODY.js';
9
9
  import './chunk-GOSFARMS.js';
10
- import './chunk-FKXGQOF5.js';
10
+ import './chunk-M4B6QKNZ.js';
11
11
  import './chunk-BJ3KTMDH.js';
12
12
  import './chunk-D4AMAEZ7.js';
13
13
  import './chunk-ANPNT6PM.js';
@@ -21,10 +21,10 @@ 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-PVRBE7S4.js';
25
- import './chunk-KF37SUDM.js';
26
- import './chunk-BN3CSI7S.js';
27
- import './chunk-GISNHSYL.js';
24
+ import './chunk-ZODVSFI4.js';
25
+ import './chunk-ZI2ZVWKT.js';
26
+ import './chunk-2K3TCQHW.js';
27
+ import './chunk-JGD5TWQ2.js';
28
28
  import './chunk-Z5GEFMRW.js';
29
29
 
30
30
  createRequire(import.meta.url);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { CAPTURE_LIMIT_BYTES, ExecConnectionError, HANDSHAKE_TIMEOUT_MS, execCapture, runExec, runVmExec, vmExecArgs, waitForAgent } from './chunk-LY2L3O2O.js';
4
- import './chunk-PDIM5T65.js';
5
- import './chunk-BN3CSI7S.js';
6
- import './chunk-GISNHSYL.js';
3
+ export { CAPTURE_LIMIT_BYTES, ExecConnectionError, HANDSHAKE_TIMEOUT_MS, execCapture, runExec, runVmExec, vmExecArgs, waitForAgent } from './chunk-7OWPLRJR.js';
4
+ import './chunk-XGJUNNXL.js';
5
+ import './chunk-2K3TCQHW.js';
6
+ import './chunk-JGD5TWQ2.js';
7
7
  import './chunk-Z5GEFMRW.js';
8
8
 
9
9
  createRequire(import.meta.url);
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { imageTargetFor, pinnedSourceOf, resolveGoverningSource } from './chunk-TQ6Y7YV6.js';
4
- import './chunk-RVYOOYOA.js';
5
- import './chunk-F2W2IYNP.js';
6
- import './chunk-V5Q3S4NM.js';
3
+ export { imageTargetFor, pinnedSourceOf, resolveGoverningSource } from './chunk-YMKQVCKC.js';
4
+ import './chunk-X5LNCIZT.js';
5
+ import './chunk-HWEIFHSW.js';
6
+ import './chunk-6CNHXHI2.js';
7
7
  import './chunk-BUP5N3X6.js';
8
8
  import './chunk-XSPA5ODY.js';
9
9
  import './chunk-GOSFARMS.js';
10
- import './chunk-E4OUL7ZP.js';
10
+ import './chunk-FXUVXSY2.js';
11
11
  import './chunk-MQ743JX3.js';
12
- import './chunk-FKXGQOF5.js';
12
+ import './chunk-M4B6QKNZ.js';
13
13
  import './chunk-ZJSNLVCE.js';
14
14
  import './chunk-VPEGE3QZ.js';
15
15
  import './chunk-HCVLP7XA.js';
@@ -26,10 +26,10 @@ import './chunk-RKOTJQVG.js';
26
26
  import './chunk-QZBXLLTV.js';
27
27
  import './chunk-VNVZDWO3.js';
28
28
  import './chunk-RA3O54FC.js';
29
- import './chunk-PVRBE7S4.js';
30
- import './chunk-KF37SUDM.js';
31
- import './chunk-BN3CSI7S.js';
32
- import './chunk-GISNHSYL.js';
29
+ import './chunk-ZODVSFI4.js';
30
+ import './chunk-ZI2ZVWKT.js';
31
+ import './chunk-2K3TCQHW.js';
32
+ import './chunk-JGD5TWQ2.js';
33
33
  import './chunk-Z5GEFMRW.js';
34
34
 
35
35
  createRequire(import.meta.url);
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD, realGuestHost, relayPortsFrom, runGuestInit } from './chunk-A62QFN2M.js';
4
- import './chunk-CZUH2SLQ.js';
3
+ export { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD, realGuestHost, relayPortsFrom, runGuestInit } from './chunk-2N72GPS2.js';
4
+ import './chunk-UNF7MWEL.js';
5
5
  import './chunk-JBJTC3UU.js';
6
- import './chunk-PDIM5T65.js';
7
- import './chunk-BN3CSI7S.js';
8
- import './chunk-GISNHSYL.js';
6
+ import './chunk-XGJUNNXL.js';
7
+ import './chunk-2K3TCQHW.js';
8
+ import './chunk-JGD5TWQ2.js';
9
9
  import './chunk-Z5GEFMRW.js';
10
10
 
11
11
  createRequire(import.meta.url);