@outerlayer/cli 0.33.0-next.20261022182340 → 0.33.0-next.20261022195547

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 (58) hide show
  1. package/dist/{agent-setup-32F2JJIL.js → agent-setup-RJOVRRHK.js} +2 -2
  2. package/dist/{build-BOVQZXKB.js → build-GKCVFHF4.js} +2 -2
  3. package/dist/{build-disk-6T4WR3XI.js → build-disk-6QAXMA2J.js} +3 -3
  4. package/dist/build-info.json +1 -1
  5. package/dist/{builder-E4F5355C.js → builder-DPNHJXG3.js} +2 -2
  6. package/dist/{check-DUVKQSXY.js → check-64UX323V.js} +16 -16
  7. package/dist/{chunk-4XQ6F3HD.js → chunk-35IY5HQY.js} +1 -1
  8. package/dist/{chunk-A33USDCE.js → chunk-3MXPS7ED.js} +1 -1
  9. package/dist/{chunk-HGZXTPRO.js → chunk-43PV5KDB.js} +1 -1
  10. package/dist/{chunk-6YHUMNUB.js → chunk-77B36F5K.js} +1 -1
  11. package/dist/{chunk-TDVG6MCO.js → chunk-CMKY36NV.js} +1 -1
  12. package/dist/{chunk-5CZVJVTP.js → chunk-D3HRAPNF.js} +19 -6
  13. package/dist/{chunk-WB7LPDXR.js → chunk-DJWKUQLO.js} +1 -1
  14. package/dist/{chunk-R3DSBA3J.js → chunk-DNKUSXQU.js} +5 -5
  15. package/dist/{chunk-T4BJBF7L.js → chunk-H7A3IQH5.js} +8 -8
  16. package/dist/{chunk-X2LZ2IHE.js → chunk-I5LGKZ4M.js} +2 -2
  17. package/dist/{chunk-BMCPLX2W.js → chunk-KLXWS5Z7.js} +1 -1
  18. package/dist/{chunk-6PUSHKJ6.js → chunk-L6JFFP3Q.js} +22 -9
  19. package/dist/{chunk-CMZVDKOX.js → chunk-P5FC7VUO.js} +1 -1
  20. package/dist/{chunk-JR4TZLG6.js → chunk-QDMMW5PC.js} +2 -2
  21. package/dist/{chunk-RAHE2AYU.js → chunk-RBJG5MM4.js} +46 -16
  22. package/dist/{chunk-KFA762LZ.js → chunk-TGHBOXKJ.js} +2 -2
  23. package/dist/{chunk-FVY5OU3N.js → chunk-WBZJWVT2.js} +2 -2
  24. package/dist/{chunk-EYW2ZRDL.js → chunk-WCELNMXT.js} +51 -19
  25. package/dist/{chunk-ODHEQ4TA.js → chunk-ZXBQ6E72.js} +4 -4
  26. package/dist/{claude-launcher-B4L7ELIF.js → claude-launcher-66GKNIRZ.js} +1 -1
  27. package/dist/{cli-IO5VOFBP.js → cli-WICFAKFW.js} +53 -53
  28. package/dist/{command-VWYDP7QC.js → command-VGR24IPI.js} +8 -8
  29. package/dist/{container-start-C33T3KS6.js → container-start-QX53HKXW.js} +9 -9
  30. package/dist/{control-plane-launch-PSFYCKYH.js → control-plane-launch-SMHL6MWW.js} +1 -1
  31. package/dist/{docker-JQTUFP6V.js → docker-GGRJHHBP.js} +2 -2
  32. package/dist/{doctor-D5JNQ6U7.js → doctor-N3CDJ66I.js} +11 -11
  33. package/dist/{emit-artifact-cmd-DX6RNKGK.js → emit-artifact-cmd-73OWUBH6.js} +3 -3
  34. package/dist/{emit-demo-cmd-KMADDLIA.js → emit-demo-cmd-4AV74GMZ.js} +4 -4
  35. package/dist/{emit-result-cmd-TSUOZSYJ.js → emit-result-cmd-N52IABK6.js} +2 -2
  36. package/dist/{governing-source-G2I3ZT6M.js → governing-source-M7ZRJCGY.js} +3 -3
  37. package/dist/{hook-fast-6GE5LEJI.js → hook-fast-WNKICZ6E.js} +1 -1
  38. package/dist/index.js +4 -4
  39. package/dist/{init-F5ZCQU4C.js → init-VCWDBOT4.js} +9 -9
  40. package/dist/{init-UE4IDADW.js → init-XG4NRZX4.js} +9 -9
  41. package/dist/{init-cmd-4HAGUCMD.js → init-cmd-2CAMWMRP.js} +3 -3
  42. package/dist/{init-update-DWZMXIBG.js → init-update-NCM4GA3S.js} +2 -2
  43. package/dist/{loop-S5OE3B3O.js → loop-PXALY3VY.js} +16 -16
  44. package/dist/{machine-2HTTC2EF.js → machine-AZRL432D.js} +8 -8
  45. package/dist/{runner-identity-5SOFX53W.js → runner-identity-WGH73DTV.js} +2 -2
  46. package/dist/{runner-key-SFSXLQ72.js → runner-key-6BIULOR4.js} +9 -9
  47. package/dist/{session-sender-CMDAHNLE.js → session-sender-MSHKJSBG.js} +3 -3
  48. package/dist/{spec-cmd-WFS64ZCI.js → spec-cmd-AWIMO32E.js} +1 -1
  49. package/dist/{status-56B2RX4M.js → status-BILERIXB.js} +11 -11
  50. package/dist/{sync-cmd-XCGNHOGU.js → sync-cmd-BSUZ65CU.js} +2 -2
  51. package/dist/{watch-6O6LTIBM.js → watch-UF6XCGSI.js} +2 -2
  52. package/dist/{work-claim-cmd-ABYB5RGL.js → work-claim-cmd-4FXVAZWF.js} +3 -3
  53. package/dist/{work-cmd-H7LLCT2W.js → work-cmd-NCP4637R.js} +1 -1
  54. package/dist/{work-comment-cmd-QW745J2A.js → work-comment-cmd-YNQYVHYS.js} +1 -1
  55. package/dist/{work-logs-cmd-GMPGBFLO.js → work-logs-cmd-HHWVYQBG.js} +1 -1
  56. package/dist/{work-open-pr-cmd-75XO4DL2.js → work-open-pr-cmd-ALVD7KLY.js} +1 -1
  57. package/dist/{work-stop-cmd-C65WG6NY.js → work-stop-cmd-DBWNHZJO.js} +1 -1
  58. package/package.json +1 -1
@@ -79,10 +79,12 @@ var defaultGitRunner = (args, opts) => {
79
79
  return { ok: true, stdout: Buffer.isBuffer(stdout) ? stdout : Buffer.from(stdout), stderr: "" };
80
80
  } catch (err) {
81
81
  const e = err;
82
+ const stderr = e.stderr ? Buffer.from(e.stderr).toString("utf8") : "";
82
83
  return {
83
84
  ok: false,
84
85
  stdout: e.stdout ? Buffer.from(e.stdout) : Buffer.alloc(0),
85
- stderr: e.stderr ? Buffer.from(e.stderr).toString("utf8") : e.message ?? String(err)
86
+ stderr: stderr === "" ? e.message ?? String(err) : stderr,
87
+ ...e.code === "ETIMEDOUT" ? { timedOut: true } : {}
86
88
  };
87
89
  }
88
90
  };
@@ -90,6 +92,36 @@ function gitText(git, cwd, args, timeoutMs) {
90
92
  const result = git(args, { cwd, timeoutMs });
91
93
  return result.ok ? result.stdout.toString("utf8").trim() : void 0;
92
94
  }
95
+ function fetchFailureDetail(result, timeoutMs) {
96
+ if (result.timedOut === true) return `git fetch did not finish within ${timeoutMs / 1e3} seconds`;
97
+ const lines = result.stderr.split("\n").map((line2) => line2.trim()).filter((line2) => line2 !== "");
98
+ const line = lines.find((candidate) => /^(fatal|error):/.test(candidate)) ?? lines.at(-1) ?? "git fetch failed";
99
+ return line.replace(/(\w+:\/\/)[^/@\s]+@/g, "$1").slice(0, 300);
100
+ }
101
+ async function fetchControlPlaneCommit(input) {
102
+ const { git, home, repository, sha, remoteUrl, policy } = input;
103
+ const cacheHost = parseRemoteHost(remoteUrl).host || "unknown-host";
104
+ const cacheRepoDir = ensureBareCache(git, home, repository, cacheHost);
105
+ const localRef = `refs/outerlayer/sha-${sanitizeRefName(sha)}`;
106
+ if (policy.reuseCached && gitText(git, cacheRepoDir, ["rev-parse", "--verify", "--quiet", localRef], 2e3) === sha) {
107
+ return { ok: true, cacheRepoDir, localRef, fetched: false };
108
+ }
109
+ const token = await input.token();
110
+ const attempts = Math.max(1, policy.attempts);
111
+ for (let attempt = 1; ; attempt++) {
112
+ const result = git(["fetch", "--depth", "1", remoteUrl, `+${sha}:${localRef}`], {
113
+ cwd: cacheRepoDir,
114
+ timeoutMs: policy.timeoutMs,
115
+ ...token === void 0 ? {} : { env: (base) => withTokenHeader(base, remoteUrl, token) }
116
+ });
117
+ if (result.ok) return { ok: true, cacheRepoDir, localRef, fetched: true };
118
+ const kind = result.timedOut === true ? "unreachable" : classifyGitFailure(result.stderr);
119
+ if (kind === "no-access" || attempt >= attempts) {
120
+ const detail = fetchFailureDetail(result, policy.timeoutMs);
121
+ return { ok: false, kind, detail: attempt > 1 ? `${detail} (${attempt} attempts)` : detail };
122
+ }
123
+ }
124
+ }
93
125
  var GATEWAY_TOO_OLD_MESSAGE = "the OuterLayer this machine talks to is too old to name the control plane \u2014 ask whoever runs it to upgrade; context written earlier is kept";
94
126
  var CANNOT_IDENTIFY_MESSAGE = "this repository is governed, but the control plane cannot be identified \u2014 check OuterLayer connectivity/config";
95
127
  function designationAuthRejectedMessage(credential) {
@@ -97,9 +129,6 @@ function designationAuthRejectedMessage(credential) {
97
129
  }
98
130
  var PARTIAL_WRITE_MESSAGE = "control-plane content could not be fully written";
99
131
  var OVERLAY_FAILED_MESSAGE = "control-plane content was written but the maintained skills could not be refreshed";
100
- function isStagingWriteFault(message) {
101
- return message === PARTIAL_WRITE_MESSAGE || message === OVERLAY_FAILED_MESSAGE;
102
- }
103
132
  function hasSymlinkComponent(root, relPath) {
104
133
  let current = root;
105
134
  for (const segment of relPath.split("/")) {
@@ -121,7 +150,7 @@ function noAccessMessage() {
121
150
  return "you do not have access to the control plane \u2014 check your git credentials (SSH key or token) and org/SSO access, then retry";
122
151
  }
123
152
  function classifyGitFailure(stderr) {
124
- if (/authentication failed|permission denied \(publickey\)|\b403\b|saml sso|access denied/i.test(stderr)) {
153
+ if (/authentication failed|permission denied \(publickey\)|\b403\b|saml sso|access denied|could not read (username|password)|repository .*not found/i.test(stderr)) {
125
154
  return "no-access";
126
155
  }
127
156
  return "unreachable";
@@ -216,25 +245,28 @@ async function materializeContext(deps) {
216
245
  }
217
246
  };
218
247
  const remoteUrl = deps.resolveControlPlaneUrl ? deps.resolveControlPlaneUrl(repository, ref, repoRoot) : buildControlPlaneUrl(git, repoRoot, repository);
219
- const cacheHost = parseRemoteHost(remoteUrl).host || "unknown-host";
220
- const cacheRepoDir = ensureBareCache(git, home, repository, cacheHost);
221
- const localRef = `refs/outerlayer/sha-${sanitizeRefName(storedSha)}`;
222
- const wanted = `+${storedSha}:${localRef}`;
223
- const access = await deps.controlPlaneAccess?.([{ repository, ref }]);
224
- const token = access !== void 0 && normalizeRepoName(access.repository) === normalizeRepoName(repository) ? access.token : void 0;
225
- const fetchResult = git(["fetch", "--depth", "1", remoteUrl, wanted], {
226
- cwd: cacheRepoDir,
227
- timeoutMs: 1e4,
228
- ...token === void 0 ? {} : { env: (base) => withTokenHeader(base, remoteUrl, token) }
248
+ const fetched = await fetchControlPlaneCommit({
249
+ git,
250
+ home,
251
+ repository,
252
+ sha: storedSha,
253
+ remoteUrl,
254
+ // A runner reads the control plane with a token for it, not the host's git login.
255
+ token: async () => {
256
+ const access = await deps.controlPlaneAccess?.([{ repository, ref }]);
257
+ return access !== void 0 && normalizeRepoName(access.repository) === normalizeRepoName(repository) ? access.token : void 0;
258
+ },
259
+ policy: deps.controlPlaneFetch ?? { timeoutMs: 1e4, attempts: 1, reuseCached: false }
229
260
  });
230
261
  const commitNote = (message) => `could not fetch commit \`${storedSha.slice(0, 7)}\` of ${repository}; ${message}`;
231
- if (!fetchResult.ok) {
232
- const kind = classifyGitFailure(fetchResult.stderr);
233
- const doctorMessage = commitNote(kind === "no-access" ? noAccessMessage() : unreachableMessage());
262
+ if (!fetched.ok) {
263
+ const { kind } = fetched;
264
+ const doctorMessage = commitNote(kind === "no-access" ? noAccessMessage() : `${unreachableMessage()}: ${fetched.detail}`);
234
265
  writeDegraded(gitCommonDir, { at: new Date(now()).toISOString(), kind, message: doctorMessage, repository, ref });
235
266
  record(null, "none", repository, ref);
236
267
  return { status: kind, message: doctorMessage, sha: null, verification: "none" };
237
268
  }
269
+ const { cacheRepoDir, localRef } = fetched;
238
270
  const fetchedSha = gitText(git, cacheRepoDir, ["rev-parse", localRef], 2e3);
239
271
  if (fetchedSha !== storedSha) {
240
272
  const doctorMessage = commitNote(unreachableMessage());
@@ -498,4 +530,4 @@ function writeFilesVerbatim(git, cacheRepoDir, files, workpieceRoot) {
498
530
  return { writtenPaths, ok: !anySkipped };
499
531
  }
500
532
 
501
- export { defaultGitRunner, isStagingWriteFault, lookupGoverningSource, materializeContext, parseOwnerRepo, resolveGitCommonDir };
533
+ export { defaultGitRunner, fetchControlPlaneCommit, lookupGoverningSource, materializeContext, parseOwnerRepo, resolveGitCommonDir };
@@ -2,14 +2,14 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { checkStarterFiles, contextIsGoverned } from './chunk-BJQ25STI.js';
4
4
  import { fleetCheck, checkBuildSkill, checkMachineSkills, checkCommittedMaintainedSkills, checkMaintainedReferences } from './chunk-6IKSUAIA.js';
5
- import { resolveCredentials, getJson, WorkCommandError } from './chunk-TDVG6MCO.js';
5
+ import { resolveCredentials, getJson, WorkCommandError } from './chunk-CMKY36NV.js';
6
6
  import { isLinkedRepository } from './chunk-ZQOSIMKU.js';
7
7
  import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
8
8
  import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-5DNCFOXA.js';
9
9
  import { C } from './chunk-ANPNT6PM.js';
10
10
  import { checkFormerSkillNames } from './chunk-UIUGTW5C.js';
11
11
  import { resolveGatewayCredentials, defaultFetch } from './chunk-WPGBDY73.js';
12
- import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-WB7LPDXR.js';
12
+ import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-DJWKUQLO.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';
@@ -1190,7 +1190,7 @@ function doctorExitCode(checks) {
1190
1190
 
1191
1191
  // src/doctor-report.ts
1192
1192
  async function gatherDoctorChecks() {
1193
- const { DEFAULT_BUILD_DISK } = await import('./build-disk-6T4WR3XI.js');
1193
+ const { DEFAULT_BUILD_DISK } = await import('./build-disk-6QAXMA2J.js');
1194
1194
  const { defaultRunnerConfigPath, hasRunnerBlock, loadRunnerConfig, runnerVmOf } = await import('./config-DUY2PT7K.js');
1195
1195
  const configPath = defaultRunnerConfigPath();
1196
1196
  const runnerHost = hasRunnerBlock(configPath);
@@ -1212,7 +1212,7 @@ async function gatherDoctorChecks() {
1212
1212
  const { runnerVmCheck } = await import('./doctor-53F2PYY7.js');
1213
1213
  checks.push(runnerVmCheck(configPath, { lima: realLima(), home: homeFromEnv(), instance: runnerVm.instance }));
1214
1214
  } else if (hasRunnerBlock(configPath)) {
1215
- const { runnerHostChecks } = await import('./doctor-D5JNQ6U7.js');
1215
+ const { runnerHostChecks } = await import('./doctor-N3CDJ66I.js');
1216
1216
  const gateway = (() => {
1217
1217
  try {
1218
1218
  const { url, apiKey, appId } = loadRunnerConfig(configPath);
@@ -252,7 +252,7 @@ async function runClaudeLauncher(args, deps = {}) {
252
252
  return 1;
253
253
  }
254
254
  } else {
255
- const { resolveLaunchPlane } = await import('./control-plane-launch-PSFYCKYH.js');
255
+ const { resolveLaunchPlane } = await import('./control-plane-launch-SMHL6MWW.js');
256
256
  const plane = env[GOVERNANCE_VARIABLE] === "self" ? { kind: "none" } : await resolveLaunchPlane({ cwd, env, home, fetchImpl: deps.fetchImpl, stderr });
257
257
  if (plane.kind === "none") {
258
258
  const own2 = ownSkillsDirFor(cwd, home, [], stderr);
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { gatherDoctorChecks, doctorExitCode, summarizeChecks, renderDoctorText, recordWrapped, recordUnwrapped, recordRemoval, readManifest, recordInstall, recordStatusline } from './chunk-ODHEQ4TA.js';
3
+ import { gatherDoctorChecks, doctorExitCode, summarizeChecks, renderDoctorText, recordWrapped, recordUnwrapped, recordRemoval, readManifest, recordInstall, recordStatusline } from './chunk-ZXBQ6E72.js';
4
4
  import './chunk-BJQ25STI.js';
5
5
  import './chunk-6IKSUAIA.js';
6
6
  import './chunk-KT4CN6OU.js';
7
7
  import './chunk-DY7Y7UT4.js';
8
- import { verifiedTrackerNames, TRACKERS } from './chunk-TDVG6MCO.js';
8
+ import { verifiedTrackerNames, TRACKERS } from './chunk-CMKY36NV.js';
9
9
  import './chunk-2QT4JUW3.js';
10
10
  import './chunk-ZQOSIMKU.js';
11
11
  import './chunk-EWVYQLD3.js';
@@ -20,7 +20,7 @@ import './chunk-PJDQPF5N.js';
20
20
  import './chunk-AA6LYZC4.js';
21
21
  import './chunk-AGZNCIIJ.js';
22
22
  import './chunk-BCCI32ME.js';
23
- import { hookFiredMarkerPath, installedCliDistDir } from './chunk-WB7LPDXR.js';
23
+ import { hookFiredMarkerPath, installedCliDistDir } from './chunk-DJWKUQLO.js';
24
24
  import './chunk-ZJSNLVCE.js';
25
25
  import './chunk-I7RZHMXW.js';
26
26
  import './chunk-BKO6JEZI.js';
@@ -3874,7 +3874,7 @@ build, ../outerlayer-build/SKILL.md becomes ~/.agents/skills/outerlayer-build/SK
3874
3874
  what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocation() + " doctor` reports the same\nstates under Starter files.\n"
3875
3875
  ).action(async (opts) => {
3876
3876
  if (opts.update || opts.dryRun) {
3877
- const { runInitUpdateWithFleet, formatInitUpdate, updateFlagProblem } = await import('./init-update-DWZMXIBG.js');
3877
+ const { runInitUpdateWithFleet, formatInitUpdate, updateFlagProblem } = await import('./init-update-NCM4GA3S.js');
3878
3878
  const { fleetReadiness } = await import('./fleet-readiness-EZAGL32M.js');
3879
3879
  const problem = updateFlagProblem(opts);
3880
3880
  if (problem !== void 0) {
@@ -3926,13 +3926,13 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
3926
3926
  if (changed.length > 0 && !opts.json) process.stdout.write(`Removed the claude function from ${changed.join(", ")}.
3927
3927
  `);
3928
3928
  }
3929
- const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-4HAGUCMD.js')).applyShellFunctionFlag(opts.shellFunction, { home: homeFromEnv(), shellPath: process.env.SHELL }) : void 0;
3929
+ const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-2CAMWMRP.js')).applyShellFunctionFlag(opts.shellFunction, { home: homeFromEnv(), shellPath: process.env.SHELL }) : void 0;
3930
3930
  if (opts.json) writeJson(shell === void 0 ? outcome.result : { ...outcome.result, shellFunction: { outcome: shell.outcome, reason: shell.reason } });
3931
3931
  else process.stdout.write(outcome.text + skillsLine + (shell?.text ?? ""));
3932
3932
  return;
3933
3933
  }
3934
3934
  await installMachineSkillsForSetup();
3935
- const { runInitCommand } = await import('./init-cmd-4HAGUCMD.js');
3935
+ const { runInitCommand } = await import('./init-cmd-2CAMWMRP.js');
3936
3936
  const code = await runInitCommand(
3937
3937
  { json: opts.json, factory: opts.factory, shellFunction: opts.shellFunction },
3938
3938
  {
@@ -3944,7 +3944,7 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
3944
3944
  return { ok, text, detail };
3945
3945
  },
3946
3946
  runAgentSetup: async () => {
3947
- const { runAgentSetup } = await import('./agent-setup-32F2JJIL.js');
3947
+ const { runAgentSetup } = await import('./agent-setup-RJOVRRHK.js');
3948
3948
  return runAgentSetup({ cwd: process.cwd(), skillsLink: opts.skillsLink !== false });
3949
3949
  },
3950
3950
  runDoctorChecks: gatherDoctorChecks,
@@ -4070,7 +4070,7 @@ code is 1: revoke the token on /profile/security.
4070
4070
  else fail(found.reason);
4071
4071
  return;
4072
4072
  }
4073
- const { runSync, SyncConfigError, SyncTransportError } = await import('./sync-cmd-XCGNHOGU.js');
4073
+ const { runSync, SyncConfigError, SyncTransportError } = await import('./sync-cmd-BSUZ65CU.js');
4074
4074
  try {
4075
4075
  const result = await runSync({
4076
4076
  url: opts.url,
@@ -4101,7 +4101,7 @@ code is 1: revoke the token on /profile/security.
4101
4101
  if (invokedCommandToken(argv) === "watch") {
4102
4102
  warnDeprecated(`\`${cliInvocation()} watch\` is now \`${cliInvocation()} daemon\`; the old name will be removed in a future release.`);
4103
4103
  }
4104
- const { runWatch } = await import('./watch-6O6LTIBM.js');
4104
+ const { runWatch } = await import('./watch-UF6XCGSI.js');
4105
4105
  await runWatch({ once: opts.once });
4106
4106
  });
4107
4107
  program2.command("hook <event>", { hidden: true }).description("capture-hook fast path, installed by `init`").action(() => {
@@ -4191,7 +4191,7 @@ code is 1: revoke the token on /profile/security.
4191
4191
  process.exitCode = await runBuildCommand({ dir: opts.dir, argv: command });
4192
4192
  });
4193
4193
  program2.command("session-sender", { hidden: true }).description("stream a runner build's sessions to its work item while the build runs").action(async () => {
4194
- const { runSessionSender } = await import('./session-sender-CMDAHNLE.js');
4194
+ const { runSessionSender } = await import('./session-sender-MSHKJSBG.js');
4195
4195
  try {
4196
4196
  await runSessionSender();
4197
4197
  } catch (err) {
@@ -4287,7 +4287,7 @@ Compiling .outerlayer/ moved to \`${cliInvocation()} context emit\`.
4287
4287
  await compileContext({ dir: opts.dir, check: opts.check, json: opts.json });
4288
4288
  return;
4289
4289
  }
4290
- const { runEmitResult, EmitResultError } = await import('./emit-result-cmd-TSUOZSYJ.js');
4290
+ const { runEmitResult, EmitResultError } = await import('./emit-result-cmd-N52IABK6.js');
4291
4291
  try {
4292
4292
  const result = await runEmitResult({
4293
4293
  name,
@@ -4338,7 +4338,7 @@ everywhere, bytes and deep link untouched; a still-queued one is cancelled
4338
4338
  locally so it never uploads. One correction can retire several duplicates.
4339
4339
  `
4340
4340
  ).action(async (file, opts) => {
4341
- const { runEmitArtifact, EmitArtifactError } = await import('./emit-artifact-cmd-DX6RNKGK.js');
4341
+ const { runEmitArtifact, EmitArtifactError } = await import('./emit-artifact-cmd-73OWUBH6.js');
4342
4342
  let pr;
4343
4343
  if (opts.pr !== void 0) {
4344
4344
  pr = parseTrackerNumber(opts.pr);
@@ -4387,7 +4387,7 @@ check. A chapter reads yes when every still matches and no when one differs; the
4387
4387
  the region. One run, or a chapter with no stills, reads not checked. Comparing never changes which clips bind.
4388
4388
  `
4389
4389
  ).action(async (manifest, opts) => {
4390
- const { runEmitDemo, EmitDemoError } = await import('./emit-demo-cmd-KMADDLIA.js');
4390
+ const { runEmitDemo, EmitDemoError } = await import('./emit-demo-cmd-4AV74GMZ.js');
4391
4391
  let item;
4392
4392
  if (opts.item !== void 0) {
4393
4393
  item = parseTrackerNumber(opts.item);
@@ -4625,9 +4625,9 @@ function registerSpecCommands(program2) {
4625
4625
  const specCmd = program2.command("spec").description("Find, file and edit the issue a spec lives in, in your factory's tracker");
4626
4626
  const credentialOptions = (command) => command.option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)");
4627
4627
  const run = async (action) => {
4628
- const { WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4628
+ const { WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4629
4629
  try {
4630
- await action(await import('./spec-cmd-WFS64ZCI.js'));
4630
+ await action(await import('./spec-cmd-AWIMO32E.js'));
4631
4631
  } catch (err) {
4632
4632
  if (err instanceof WorkCommandError) {
4633
4633
  fail(err.message);
@@ -4731,7 +4731,7 @@ takes it, and prints the line that starts your session on it. That
4731
4731
  session links itself and holds the item's lease while it works.
4732
4732
  `
4733
4733
  ).action(async (opts) => {
4734
- const { runWorkBuild, WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4734
+ const { runWorkBuild, WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4735
4735
  try {
4736
4736
  await runWorkBuild(opts);
4737
4737
  } catch (err) {
@@ -4754,7 +4754,7 @@ renews that session's own 20-minute lease, unless --no-lease or
4754
4754
  --ended is given, or another worker already holds a live one.
4755
4755
  `
4756
4756
  ).action(async (number, opts) => {
4757
- const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4757
+ const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4758
4758
  try {
4759
4759
  await runWorkLinkSession({ ...opts, number, noLease: opts.lease === false, logFailures: opts.logFailures === true });
4760
4760
  } catch (err) {
@@ -4778,8 +4778,8 @@ criterion's new proof; --ready hands the thread back to a person. At
4778
4778
  most one action flag may be given.
4779
4779
  `
4780
4780
  ).action(async (opts) => {
4781
- const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-QW745J2A.js');
4782
- const { WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4781
+ const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-YNQYVHYS.js');
4782
+ const { WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4783
4783
  try {
4784
4784
  await runWorkComment(opts);
4785
4785
  } catch (err) {
@@ -4800,8 +4800,8 @@ criterion that carries proof or a comment, each with who is waiting
4800
4800
  on whom next.
4801
4801
  `
4802
4802
  ).action(async (opts) => {
4803
- const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-QW745J2A.js');
4804
- const { WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4803
+ const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-YNQYVHYS.js');
4804
+ const { WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4805
4805
  try {
4806
4806
  await runWorkThreads(opts);
4807
4807
  } catch (err) {
@@ -4825,8 +4825,8 @@ still running, or that an older runner released, has no log and the
4825
4825
  command exits 1.
4826
4826
  `
4827
4827
  ).action(async (opts) => {
4828
- const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-GMPGBFLO.js');
4829
- const { WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4828
+ const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-HHWVYQBG.js');
4829
+ const { WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4830
4830
  try {
4831
4831
  await runWorkLogs(opts);
4832
4832
  } catch (err) {
@@ -4849,8 +4849,8 @@ item is not built again until a new build request. Exits 1 when no host
4849
4849
  build is running for the item.
4850
4850
  `
4851
4851
  ).action(async (opts) => {
4852
- const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-C65WG6NY.js');
4853
- const { WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4852
+ const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-DBWNHZJO.js');
4853
+ const { WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4854
4854
  try {
4855
4855
  await runWorkStop(opts);
4856
4856
  } catch (err) {
@@ -4871,7 +4871,7 @@ deletes anything \u2014 the item is removed from Work only once no
4871
4871
  live addition remains on it.
4872
4872
  `
4873
4873
  ).action(async (opts) => {
4874
- const { runWorkRemove, WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4874
+ const { runWorkRemove, WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4875
4875
  try {
4876
4876
  await runWorkRemove(opts);
4877
4877
  } catch (err) {
@@ -4883,7 +4883,7 @@ live addition remains on it.
4883
4883
  }
4884
4884
  });
4885
4885
  workCmd.command("status").description("Show one item's stage, gate ledger, and additions").option("--item <number>", "the item's number inside this factory").option("--issue <number>", "issue number, or a Linear/Jira key like ENG-123").option(TRACKER_OPTION_FLAG, "tracker for a keyed --issue, when both hold the key").option("--repo <owner/name>", "repository for an issue number (default: the checkout's remote)").option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)").action(async (opts) => {
4886
- const { runWorkStatus, WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4886
+ const { runWorkStatus, WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4887
4887
  try {
4888
4888
  await runWorkStatus(opts);
4889
4889
  } catch (err) {
@@ -4895,7 +4895,7 @@ live addition remains on it.
4895
4895
  }
4896
4896
  });
4897
4897
  workCmd.command("list").description("List live work items for this factory").option("--stage <spec|build|review>", "filter by stage").option("--section <attention|waiting|flowing>", "filter by Queue section").option("--repo <owner/name>", "repository (default: the current checkout's remote)").option("--unclaimed", "only items with no live lease").option("--claimed", "only items with a live lease, held by a host or a local session").option("--startable", "only items a host can start: a build request, no open PR, no live lease").option("--needs <amend>", "only items with a thread waiting on an agent").option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)").action(async (opts) => {
4898
- const { runWorkList, WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
4898
+ const { runWorkList, WorkCommandError } = await import('./work-cmd-NCP4637R.js');
4899
4899
  try {
4900
4900
  await runWorkList(opts);
4901
4901
  } catch (err) {
@@ -4916,7 +4916,7 @@ by a different key is refused; claiming again with the same key extends
4916
4916
  it. --host is a label only.
4917
4917
  `
4918
4918
  ).action(async (opts) => {
4919
- const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-ABYB5RGL.js');
4919
+ const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-4FXVAZWF.js');
4920
4920
  try {
4921
4921
  await runWorkClaim(opts);
4922
4922
  } catch (err) {
@@ -4936,7 +4936,7 @@ Extends the live lease this API key holds. Refused with a 410 if the
4936
4936
  lease has expired, or a 403 if a different key holds it.
4937
4937
  `
4938
4938
  ).action(async (opts) => {
4939
- const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-ABYB5RGL.js');
4939
+ const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-4FXVAZWF.js');
4940
4940
  try {
4941
4941
  await runWorkRenew(opts);
4942
4942
  } catch (err) {
@@ -4968,7 +4968,7 @@ applies to a host's lease only. A later tool call in the session
4968
4968
  takes the lease again.
4969
4969
  `
4970
4970
  ).action(async (opts) => {
4971
- const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-ABYB5RGL.js');
4971
+ const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-4FXVAZWF.js');
4972
4972
  try {
4973
4973
  await runWorkRelease(opts);
4974
4974
  } catch (err) {
@@ -5020,8 +5020,8 @@ login, then declares the pull request on the item, as \`work pr\` does.
5020
5020
  Run it again after a change to the title or description.
5021
5021
  `
5022
5022
  ).action(async (opts) => {
5023
- const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-75XO4DL2.js');
5024
- const { WorkCommandError } = await import('./work-cmd-H7LLCT2W.js');
5023
+ const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-ALVD7KLY.js');
5024
+ const { WorkCommandError } = await import('./work-cmd-NCP4637R.js');
5025
5025
  try {
5026
5026
  await runWorkOpenPr(opts);
5027
5027
  } catch (err) {
@@ -5038,7 +5038,7 @@ function registerRunnerCommands(program2) {
5038
5038
  const configOption = "the cloud config file to run against (default: ~/.outerlayer/config.json)";
5039
5039
  runnerCmd.command("start").description("Run the loop: claim work, run it, report, clean up, repeat").option("--config <path>", configOption).action(async (opts) => {
5040
5040
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-DUY2PT7K.js');
5041
- const { start, RunnerStartError } = await import('./loop-S5OE3B3O.js');
5041
+ const { start, RunnerStartError } = await import('./loop-PXALY3VY.js');
5042
5042
  const { RunnerAlreadyRunningError } = await import('./pidfile-BSY63HIC.js');
5043
5043
  const configPath = opts.config ?? defaultRunnerConfigPath();
5044
5044
  try {
@@ -5057,8 +5057,8 @@ function registerRunnerCommands(program2) {
5057
5057
  "\nReads OUTERLAYER_URL, OUTERLAYER_APP_ID, OUTERLAYER_API_KEY, OUTERLAYER_RUNNER_NAME and one Claude credential\n(CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY) from the environment. OUTERLAYER_AGENT\nis optional and defaults to claude. On a later start it refuses variables that disagree with the config in the volume.\nThe image sets OUTERLAYER_RUNNER_IMAGE; outside the image, use `runner start`.\n"
5058
5058
  ).action(async () => {
5059
5059
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-DUY2PT7K.js');
5060
- const { containerStart } = await import('./container-start-C33T3KS6.js');
5061
- const { start, RunnerStartError } = await import('./loop-S5OE3B3O.js');
5060
+ const { containerStart } = await import('./container-start-QX53HKXW.js');
5061
+ const { start, RunnerStartError } = await import('./loop-PXALY3VY.js');
5062
5062
  const { RunnerAlreadyRunningError } = await import('./pidfile-BSY63HIC.js');
5063
5063
  try {
5064
5064
  const result = await containerStart({
@@ -5078,7 +5078,7 @@ function registerRunnerCommands(program2) {
5078
5078
  });
5079
5079
  runnerCmd.command("check").description("Validate the config, the hooks and the key, and print the effective settings").option("--config <path>", configOption).action(async (opts) => {
5080
5080
  const { defaultRunnerConfigPath } = await import('./config-DUY2PT7K.js');
5081
- const { runRunnerCheck } = await import('./check-DUVKQSXY.js');
5081
+ const { runRunnerCheck } = await import('./check-64UX323V.js');
5082
5082
  const configPath = opts.config ?? defaultRunnerConfigPath();
5083
5083
  const result = await runRunnerCheck(configPath);
5084
5084
  if (!result.ok) {
@@ -5112,7 +5112,7 @@ function registerRunnerCommands(program2) {
5112
5112
  }
5113
5113
  try {
5114
5114
  if (opts.service === true) {
5115
- const { installServiceCommand } = await import('./command-VWYDP7QC.js');
5115
+ const { installServiceCommand } = await import('./command-VGR24IPI.js');
5116
5116
  const result2 = await installServiceCommand({
5117
5117
  configPath,
5118
5118
  print: opts.print,
@@ -5168,7 +5168,7 @@ To keep it running, run ${C.yellow}${cliInvocation()} runner install --service${
5168
5168
  return;
5169
5169
  }
5170
5170
  const { defaultRunnerConfigPath } = await import('./config-DUY2PT7K.js');
5171
- const { uninstallServiceCommand } = await import('./command-VWYDP7QC.js');
5171
+ const { uninstallServiceCommand } = await import('./command-VGR24IPI.js');
5172
5172
  const result = await uninstallServiceCommand({ configPath: opts.config ?? defaultRunnerConfigPath(), unitName: opts.unitName, home: homeFromEnv() });
5173
5173
  if (result.ok) for (const line of result.lines) process.stdout.write(`${C.green}\u2713${C.reset} ${line}
5174
5174
  `);
@@ -5196,10 +5196,10 @@ already in claude.env is used.
5196
5196
  `
5197
5197
  ).action(async (opts) => {
5198
5198
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-DUY2PT7K.js');
5199
- const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-F5ZCQU4C.js');
5200
- const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-SFSXLQ72.js');
5201
- const { detectMachine } = await import('./machine-2HTTC2EF.js');
5202
- const { chooseVm, runVmInit, VmInitError } = await import('./init-UE4IDADW.js');
5199
+ const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-VCWDBOT4.js');
5200
+ const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-6BIULOR4.js');
5201
+ const { detectMachine } = await import('./machine-AZRL432D.js');
5202
+ const { chooseVm, runVmInit, VmInitError } = await import('./init-XG4NRZX4.js');
5203
5203
  const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-26NLQI35.js');
5204
5204
  const configPath = opts.config ?? defaultRunnerConfigPath();
5205
5205
  if (opts.agent !== void 0 && !isAgentName(opts.agent)) {
@@ -5350,7 +5350,7 @@ ${C.yellow}The runner will not update itself: ${installErr.message}${C.reset}
5350
5350
  let serviceUp = false;
5351
5351
  let restart;
5352
5352
  if (installedLayout) {
5353
- const { installServiceCommand } = await import('./command-VWYDP7QC.js');
5353
+ const { installServiceCommand } = await import('./command-VGR24IPI.js');
5354
5354
  const service = await installServiceCommand({
5355
5355
  configPath,
5356
5356
  entryPath: process.argv[1] ?? "",
@@ -5395,10 +5395,10 @@ Next:
5395
5395
  "\nA repository governed by a control plane builds the control plane's image, at the commit\nthe gateway has stored for it. A repository that governs itself fetches the head of its\ndefault branch into the runner's cache. Either way it reads .devcontainer/devcontainer.json\nand builds the image with the devcontainer CLI. Settings\nthat reach the host or widen the container's privileges are ignored and listed. The\nimage holds this CLI and a pinned Claude Code. Nothing runs inside the image.\n"
5396
5396
  ).action(async (opts) => {
5397
5397
  const { defaultRunnerConfigPath } = await import('./config-DUY2PT7K.js');
5398
- const { buildRepositoryImage, RecipeError } = await import('./build-BOVQZXKB.js');
5398
+ const { buildRepositoryImage, RecipeError } = await import('./build-GKCVFHF4.js');
5399
5399
  const { currentCliBuild } = await import('./cli-build-K56DK4DS.js');
5400
- const { createDockerHost } = await import('./docker-JQTUFP6V.js');
5401
- const { builderSpec } = await import('./builder-E4F5355C.js');
5400
+ const { createDockerHost } = await import('./docker-GGRJHHBP.js');
5401
+ const { builderSpec } = await import('./builder-DPNHJXG3.js');
5402
5402
  const { loadRunnerConfig } = await import('./config-DUY2PT7K.js');
5403
5403
  const configPath = opts.config ?? defaultRunnerConfigPath();
5404
5404
  const loaded = (() => {
@@ -5410,11 +5410,11 @@ Next:
5410
5410
  })();
5411
5411
  const memory = loaded?.build?.memory ?? "8g";
5412
5412
  try {
5413
- const { ensureRunnerIdentity } = await import('./runner-identity-5SOFX53W.js');
5413
+ const { ensureRunnerIdentity } = await import('./runner-identity-WGH73DTV.js');
5414
5414
  await ensureRunnerIdentity(configPath, { log: (line) => console.error(line) }).catch((err) => {
5415
5415
  console.error(`the runner's Docker identity could not be stored: ${err instanceof Error ? err.message : String(err)}`);
5416
5416
  });
5417
- const { imageTargetFor } = await import('./governing-source-G2I3ZT6M.js');
5417
+ const { imageTargetFor } = await import('./governing-source-M7ZRJCGY.js');
5418
5418
  const target = await imageTargetFor({ config: loaded, repository: opts.repository, fetchImpl: fetch });
5419
5419
  if (!target.ok) {
5420
5420
  if (opts.json) {
@@ -5478,7 +5478,7 @@ Next:
5478
5478
  });
5479
5479
  runnerCmd.command("stop").description("Take no more work; finish running jobs, then exit").option("--config <path>", "the cloud config file naming the runner to stop").option("--now", "end running jobs immediately, with outcome stopped").action(async (opts) => {
5480
5480
  const { defaultRunnerConfigPath } = await import('./config-DUY2PT7K.js');
5481
- const { requestStop } = await import('./loop-S5OE3B3O.js');
5481
+ const { requestStop } = await import('./loop-PXALY3VY.js');
5482
5482
  const configPath = opts.config ?? defaultRunnerConfigPath();
5483
5483
  const { runnerImageVersion } = await import('./image-tag-MORUQ4LF.js');
5484
5484
  await requestStop(configPath, Boolean(opts.now), void 0, { image: runnerImageVersion() !== void 0 });
@@ -5486,8 +5486,8 @@ Next:
5486
5486
  runnerCmd.command("status").description("List running jobs; with --recent, finished ones too").option("--config <path>", "the cloud config file naming the runner to inspect").option("--recent", "also list finished jobs, newest first, capped at 20").option("--json", "machine-readable JSON output").action(async (opts) => {
5487
5487
  const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-DUY2PT7K.js');
5488
5488
  const { jobsDir, runnerDir } = await import('./paths-KHDFSBEI.js');
5489
- const { listJobFiles, runnerProcessState } = await import('./loop-S5OE3B3O.js');
5490
- const { renderStatus } = await import('./status-56B2RX4M.js');
5489
+ const { listJobFiles, runnerProcessState } = await import('./loop-PXALY3VY.js');
5490
+ const { renderStatus } = await import('./status-BILERIXB.js');
5491
5491
  const { readHousekeepingRecord } = await import('./record-7CNTGRLD.js');
5492
5492
  const path2 = await import('path');
5493
5493
  const configPath = opts.config ?? defaultRunnerConfigPath();
@@ -5547,7 +5547,7 @@ Next:
5547
5547
  });
5548
5548
  runnerCmd.command("logs").argument("<item>", "the work item's number in the factory").description("Print the newest attempt's log for one item").option("--config <path>", "the cloud config file naming the runner to inspect").option("-f, --follow", "keep printing as the log grows").action(async (itemArg, opts) => {
5549
5549
  const { defaultRunnerConfigPath } = await import('./config-DUY2PT7K.js');
5550
- const { listJobFiles } = await import('./loop-S5OE3B3O.js');
5550
+ const { listJobFiles } = await import('./loop-PXALY3VY.js');
5551
5551
  const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-QSKJ4G6M.js');
5552
5552
  const configPath = opts.config ?? defaultRunnerConfigPath();
5553
5553
  const item = parseTrackerNumber(itemArg);
@@ -3,29 +3,29 @@ import { createRequire } from 'node:module';
3
3
  import { runRunnerInstall, launcherSummary, restartNote } from './chunk-GN2R5Z7G.js';
4
4
  import './chunk-GWDS42JC.js';
5
5
  import { currentLink, execStartCommand } from './chunk-OWDSO3PE.js';
6
- import { detectMachine } from './chunk-X2LZ2IHE.js';
7
- import { helperSocketPath, ensureFirecrackerAndJailer } from './chunk-5CZVJVTP.js';
6
+ import { detectMachine } from './chunk-I5LGKZ4M.js';
7
+ import { helperSocketPath, ensureFirecrackerAndJailer } from './chunk-D3HRAPNF.js';
8
8
  import './chunk-2PGI6RDE.js';
9
- import './chunk-BMCPLX2W.js';
9
+ import './chunk-KLXWS5Z7.js';
10
10
  import './chunk-DDS2ISML.js';
11
11
  import './chunk-JBJTC3UU.js';
12
12
  import './chunk-OGFGZQA3.js';
13
13
  import './chunk-6NWS455T.js';
14
14
  import './chunk-LWTBE5J6.js';
15
- import './chunk-RAHE2AYU.js';
15
+ import './chunk-RBJG5MM4.js';
16
16
  import './chunk-SK4TWCN3.js';
17
17
  import './chunk-TQMI335S.js';
18
18
  import { DEFAULT_UNIT_NAME, installService, uninstallService, realTaskScheduler, UNIT_MARKER } from './chunk-ZRRUWNJS.js';
19
19
  import './chunk-YYYRBYWG.js';
20
- import { readJobFile } from './chunk-HGZXTPRO.js';
20
+ import { readJobFile } from './chunk-43PV5KDB.js';
21
21
  import './chunk-3Z3MPR55.js';
22
- import { firecrackerArch, MICROVM_ARCHES, FIRECRACKER_VERSION, FIRECRACKER_BINARY_SHA256, JAILER_BINARY_SHA256, HOST_HELPER_SHA256, HOST_HELPER_BASE_URL, HOST_HELPER_ASSETS_VERSION, hostHelperPinned } from './chunk-KFA762LZ.js';
22
+ import { firecrackerArch, MICROVM_ARCHES, FIRECRACKER_VERSION, FIRECRACKER_BINARY_SHA256, JAILER_BINARY_SHA256, HOST_HELPER_SHA256, HOST_HELPER_BASE_URL, HOST_HELPER_ASSETS_VERSION, hostHelperPinned } from './chunk-TGHBOXKJ.js';
23
23
  import { runnerVmOf, loadRunnerConfig, builtinKind } from './chunk-5BNWAIHN.js';
24
24
  import './chunk-UXYLWVTQ.js';
25
25
  import './chunk-YJLHUKYS.js';
26
26
  import { realLima } from './chunk-77MM5RYD.js';
27
27
  import { writeLaunchAgent, launchAgentPath } from './chunk-LF6MLJCY.js';
28
- import './chunk-TDVG6MCO.js';
28
+ import './chunk-CMKY36NV.js';
29
29
  import './chunk-2QT4JUW3.js';
30
30
  import './chunk-ZQOSIMKU.js';
31
31
  import './chunk-EWVYQLD3.js';
@@ -34,7 +34,7 @@ import './chunk-HJYBWJAS.js';
34
34
  import './chunk-NSPRS7WK.js';
35
35
  import './chunk-G2JWZDFA.js';
36
36
  import './chunk-ANPNT6PM.js';
37
- import './chunk-EYW2ZRDL.js';
37
+ import './chunk-WCELNMXT.js';
38
38
  import './chunk-UIUGTW5C.js';
39
39
  import './chunk-WPGBDY73.js';
40
40
  import './chunk-PJDQPF5N.js';
@@ -1,29 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { BUILD_MEMORY_VARIABLE } from './chunk-6C2YWM6N.js';
4
- import { RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-FVY5OU3N.js';
4
+ import { RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-WBZJWVT2.js';
5
5
  import { isAgentName, AGENT_COMMANDS } from './chunk-CUBIZBMF.js';
6
- import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-X2LZ2IHE.js';
7
- import { MIN_ENGINE_MAJOR } from './chunk-5CZVJVTP.js';
6
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-I5LGKZ4M.js';
7
+ import { MIN_ENGINE_MAJOR } from './chunk-D3HRAPNF.js';
8
8
  import './chunk-2PGI6RDE.js';
9
- import './chunk-BMCPLX2W.js';
9
+ import './chunk-KLXWS5Z7.js';
10
10
  import './chunk-DDS2ISML.js';
11
11
  import './chunk-JBJTC3UU.js';
12
12
  import './chunk-OGFGZQA3.js';
13
13
  import './chunk-6NWS455T.js';
14
14
  import './chunk-LWTBE5J6.js';
15
- import './chunk-RAHE2AYU.js';
15
+ import './chunk-RBJG5MM4.js';
16
16
  import { runnerImageVersion, IMAGE_VERSION_VARIABLE } from './chunk-SK4TWCN3.js';
17
17
  import './chunk-TQMI335S.js';
18
18
  import './chunk-ZRRUWNJS.js';
19
19
  import './chunk-YYYRBYWG.js';
20
- import './chunk-HGZXTPRO.js';
20
+ import './chunk-43PV5KDB.js';
21
21
  import './chunk-3Z3MPR55.js';
22
- import './chunk-KFA762LZ.js';
22
+ import './chunk-TGHBOXKJ.js';
23
23
  import './chunk-5BNWAIHN.js';
24
24
  import './chunk-UXYLWVTQ.js';
25
25
  import { parseSize } from './chunk-YJLHUKYS.js';
26
- import './chunk-TDVG6MCO.js';
26
+ import './chunk-CMKY36NV.js';
27
27
  import './chunk-2QT4JUW3.js';
28
28
  import './chunk-ZQOSIMKU.js';
29
29
  import './chunk-EWVYQLD3.js';
@@ -32,7 +32,7 @@ import './chunk-HJYBWJAS.js';
32
32
  import './chunk-NSPRS7WK.js';
33
33
  import './chunk-G2JWZDFA.js';
34
34
  import './chunk-ANPNT6PM.js';
35
- import './chunk-EYW2ZRDL.js';
35
+ import './chunk-WCELNMXT.js';
36
36
  import './chunk-UIUGTW5C.js';
37
37
  import './chunk-WPGBDY73.js';
38
38
  import './chunk-PJDQPF5N.js';