@outerlayer/cli 0.33.0-next.20261023002325 → 0.33.0-next.20261023003700

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 (42) hide show
  1. package/dist/{build-G4GUF6LT.js → build-SEAQVLD5.js} +2 -2
  2. package/dist/{build-disk-3GL3KKEB.js → build-disk-JHTMPRAA.js} +3 -5
  3. package/dist/build-info.json +1 -1
  4. package/dist/{builder-3CUKTVSY.js → builder-Y4P7QARW.js} +2 -3
  5. package/dist/{check-64FD5G3X.js → check-MRYFTLOO.js} +12 -14
  6. package/dist/{chunk-JRZCRIEO.js → chunk-2EGCI2VW.js} +2881 -2561
  7. package/dist/{chunk-LJUIG5K4.js → chunk-3RIFVLPO.js} +5 -5
  8. package/dist/{chunk-QFQC5K4J.js → chunk-7HHNGZS5.js} +33 -21
  9. package/dist/{chunk-YERR22SY.js → chunk-DISTLL2Q.js} +1 -1
  10. package/dist/{chunk-GFVDC5S3.js → chunk-FR7HWWCF.js} +34 -3
  11. package/dist/{chunk-LYE3KB6L.js → chunk-HE4FBF4T.js} +2 -2
  12. package/dist/{chunk-TGHBOXKJ.js → chunk-NE63JADS.js} +2 -2
  13. package/dist/{chunk-DGI66PGY.js → chunk-PWH3BEZF.js} +30 -270
  14. package/dist/{chunk-3DCB3GOV.js → chunk-RQJMN5TJ.js} +6 -4
  15. package/dist/{chunk-CANYZTD5.js → chunk-SDU2IE22.js} +40 -13
  16. package/dist/chunk-W2AEL4BJ.js +179 -0
  17. package/dist/{chunk-OOCAF3ID.js → chunk-XHHTMFCX.js} +1 -1
  18. package/dist/{chunk-JPG43G6Y.js → chunk-YXHKCHWG.js} +1 -1
  19. package/dist/{cli-WKRURGHC.js → cli-K6XGL4EZ.js} +39 -39
  20. package/dist/{command-WG54AUHK.js → command-7FAIIQGF.js} +8 -9
  21. package/dist/{config-LZSFW2O3.js → config-QXMUWJAQ.js} +9 -2
  22. package/dist/{container-start-DQKFQ3CL.js → container-start-CVP3NTDG.js} +9 -10
  23. package/dist/{docker-4ERXWTRW.js → docker-ANW76BNW.js} +2 -3
  24. package/dist/{doctor-GRCEYJXA.js → doctor-GJAHI3KU.js} +16 -21
  25. package/dist/{emit-demo-cmd-JSVI56WY.js → emit-demo-cmd-6DF2QIAS.js} +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/{init-WNO4NAO7.js → init-XDOKWBL2.js} +8 -9
  28. package/dist/{init-OKJAI77M.js → init-ZQ5B3TJZ.js} +8 -9
  29. package/dist/{init-cmd-PFW4XTG7.js → init-cmd-YMGW2WXJ.js} +1 -1
  30. package/dist/install-QPA7DQHO.js +19 -0
  31. package/dist/{loop-2SITCQ6H.js → loop-UJL2UCUM.js} +12 -14
  32. package/dist/{machine-YHBCNRUO.js → machine-2YPAFFCH.js} +8 -9
  33. package/dist/{runner-env-QYE7KZFP.js → runner-env-HOUXKWIJ.js} +10 -4
  34. package/dist/{runner-identity-FIHOECSH.js → runner-identity-KPUVTRLS.js} +2 -3
  35. package/dist/{runner-key-YUKU2MWK.js → runner-key-FUJD66R6.js} +8 -9
  36. package/dist/{status-VBQJMFEX.js → status-2KNTILGQ.js} +9 -10
  37. package/dist/{work-claim-cmd-MFND6Z4S.js → work-claim-cmd-NJNOQFQE.js} +5 -2
  38. package/package.json +1 -1
  39. package/dist/chunk-XWFSAOC7.js +0 -111
  40. package/dist/chunk-YJLHUKYS.js +0 -38
  41. package/dist/chunk-YYYRBYWG.js +0 -32
  42. package/dist/install-GQUCHIGE.js +0 -13
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { BUILD_MEMORY_VARIABLE } from './chunk-OOCAF3ID.js';
4
- import { detectMachine, supportsContainerBuilds, MIN_ENGINE_MAJOR, describeMachineDocker, RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-JRZCRIEO.js';
3
+ import { BUILD_MEMORY_VARIABLE } from './chunk-XHHTMFCX.js';
4
+ import { detectMachine, supportsContainerBuilds, MIN_ENGINE_MAJOR, describeMachineDocker, RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-2EGCI2VW.js';
5
5
  import './chunk-2PGI6RDE.js';
6
- import { isAgentName, AGENT_COMMANDS } from './chunk-YERR22SY.js';
7
- import './chunk-JPG43G6Y.js';
6
+ import { isAgentName, AGENT_COMMANDS } from './chunk-DISTLL2Q.js';
7
+ import './chunk-YXHKCHWG.js';
8
8
  import './chunk-F5UL23I2.js';
9
9
  import './chunk-JBJTC3UU.js';
10
10
  import './chunk-OGFGZQA3.js';
@@ -13,13 +13,12 @@ import './chunk-L26V6ILJ.js';
13
13
  import './chunk-T5REPMNL.js';
14
14
  import { runnerImageVersion, IMAGE_VERSION_VARIABLE } from './chunk-MZBQTVFG.js';
15
15
  import './chunk-TQMI335S.js';
16
- import './chunk-LYE3KB6L.js';
17
- import './chunk-YYYRBYWG.js';
18
- import './chunk-GFVDC5S3.js';
16
+ import './chunk-HE4FBF4T.js';
17
+ import './chunk-RQJMN5TJ.js';
18
+ import './chunk-W2AEL4BJ.js';
19
+ import { parseSize } from './chunk-FR7HWWCF.js';
19
20
  import './chunk-3Z3MPR55.js';
20
- import './chunk-TGHBOXKJ.js';
21
- import './chunk-3DCB3GOV.js';
22
- import { parseSize } from './chunk-YJLHUKYS.js';
21
+ import './chunk-NE63JADS.js';
23
22
  import './chunk-VT4TTJPG.js';
24
23
  import './chunk-IP7BIBXJ.js';
25
24
  import './chunk-B2JURP6A.js';
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { childEnvironment, createDockerHost, spawnRun } from './chunk-GFVDC5S3.js';
3
+ export { childEnvironment, createDockerHost, spawnRun } from './chunk-FR7HWWCF.js';
4
4
  import './chunk-3Z3MPR55.js';
5
- import './chunk-TGHBOXKJ.js';
6
- import './chunk-YJLHUKYS.js';
5
+ import './chunk-NE63JADS.js';
7
6
  import './chunk-5DNCFOXA.js';
8
7
  import './chunk-SOI6K5DY.js';
9
8
  import './chunk-PA6CK6WQ.js';
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { managedProblems } from './chunk-QFQC5K4J.js';
3
+ import { keepsHostBuilder, managedProblems } from './chunk-7HHNGZS5.js';
4
4
  import { launcherCheck } from './chunk-Z5IW4DHH.js';
5
5
  import './chunk-NBZ7XBT6.js';
6
6
  import { RepoFilter } from './chunk-TBT347UY.js';
7
- import { needsClaudeCredential, claudeCredentialCheck, detectMachine, supportsContainerBuilds, describeMachineDocker, MIN_ENGINE_MAJOR, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned, helperFirecrackerNote, probeHelper, helperSocketPath, missingPermissionOf, missingPermissionFix } from './chunk-JRZCRIEO.js';
7
+ import { needsClaudeCredential, claudeCredentialCheck, detectMachine, supportsContainerBuilds, describeMachineDocker, MIN_ENGINE_MAJOR, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned, helperFirecrackerNote, probeHelper, helperSocketPath, missingPermissionOf, missingPermissionFix } from './chunk-2EGCI2VW.js';
8
8
  import './chunk-2PGI6RDE.js';
9
- import './chunk-YERR22SY.js';
10
- import './chunk-JPG43G6Y.js';
9
+ import './chunk-DISTLL2Q.js';
10
+ import './chunk-YXHKCHWG.js';
11
11
  import './chunk-F5UL23I2.js';
12
12
  import './chunk-JBJTC3UU.js';
13
13
  import './chunk-OGFGZQA3.js';
@@ -16,14 +16,12 @@ import './chunk-L26V6ILJ.js';
16
16
  import './chunk-T5REPMNL.js';
17
17
  import { runnerImageVersion, imageAdvice, readUpdateStatus, imageTag, pullInstruction } from './chunk-MZBQTVFG.js';
18
18
  import './chunk-TQMI335S.js';
19
- import './chunk-LYE3KB6L.js';
20
- import { realBuildDiskProbe, DEFAULT_BUILD_DISK, checkDiskFit } from './chunk-XWFSAOC7.js';
21
- import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
22
- import { resolveDevcontainerCli, buildxState, spawnRun } from './chunk-GFVDC5S3.js';
19
+ import './chunk-HE4FBF4T.js';
20
+ import { builtinKind, allowHostProblem, MAX_ALLOW_HOSTS } from './chunk-RQJMN5TJ.js';
21
+ import { realBuildDiskProbe, DEFAULT_BUILD_DISK, freeBytes, checkDiskFit, formatBytes } from './chunk-W2AEL4BJ.js';
22
+ import { resolveDevcontainerCli, buildxState, spawnRun, parseSize } from './chunk-FR7HWWCF.js';
23
23
  import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-3Z3MPR55.js';
24
- import { FIRECRACKER_VERSION, builderDiskPinned, CLAUDE_CODE_VERSION } from './chunk-TGHBOXKJ.js';
25
- import { builtinKind, allowHostProblem, MAX_ALLOW_HOSTS } from './chunk-3DCB3GOV.js';
26
- import { parseSize } from './chunk-YJLHUKYS.js';
24
+ import { FIRECRACKER_VERSION, builderDiskPinned, CLAUDE_CODE_VERSION } from './chunk-NE63JADS.js';
27
25
  import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-VT4TTJPG.js';
28
26
  import './chunk-IP7BIBXJ.js';
29
27
  import './chunk-B2JURP6A.js';
@@ -750,14 +748,11 @@ function diskFitCheck(configPath, kind, runner, probe) {
750
748
  const name = "Build disk fit";
751
749
  const facts = probe(kind, configPath);
752
750
  if (facts === void 0) return { name, status: "warn", detail: "the free space for the builds' disks could not be read" };
753
- const fit = checkDiskFit({ concurrency: runner.concurrency, buildDisk: runner.buildDisk, facts });
754
- if (fit.fits) return { name, status: "pass", detail: `${runner.concurrency} concurrent build(s) at runner.build.disk ${runner.buildDisk} fit in the ${formatBytes(facts.freeBytes + facts.heldBytes)} available to builds` };
755
- return {
756
- name,
757
- status: "fail",
758
- detail: `${fit.message}, so this runner claims no work`,
759
- fix: `lower runner.concurrency or runner.build.disk in ${configPath}, or give the host more disk; the runner takes work again by itself`
760
- };
751
+ const fit = checkDiskFit({ concurrency: runner.concurrency, buildDisk: runner.buildDisk, cacheDisk: runner.cacheDisk, facts });
752
+ if (fit.fits) return { name, status: "pass", detail: fit.message };
753
+ const fix = `change runner.concurrency, runner.build.disk${kind === "vm" ? " or runner.build.cacheDisk" : ""} in ${configPath}, or give the host more disk; the runner takes work again by itself`;
754
+ if (fit.slots > 0) return { name, status: "warn", detail: `${fit.message}, so this runner runs ${fit.slots} ${fit.slots === 1 ? "build" : "builds"} at once`, fix };
755
+ return { name, status: "fail", detail: `${fit.message}, so this runner claims no work`, fix };
761
756
  }
762
757
  function freeDiskCheck(configPath, minFreeDisk, freeBytes2) {
763
758
  const name = "Free disk";
@@ -899,14 +894,14 @@ async function runnerHostChecks(env) {
899
894
  ...env.runner === void 0 ? [] : [memoryCheck({ concurrency: env.runner.concurrency, buildMemory: env.runner.buildMemory, hostMemory: env.hostMemory ?? totalmem() })]
900
895
  ] : [],
901
896
  ...env.hooks !== void 0 && builtinKind(env.hooks.provision) === "container" ? [runcCheck(env)] : [],
902
- ...env.hooks !== void 0 && ["container", "vm"].includes(builtinKind(env.hooks.provision)) ? [imageBuildLimitCheck(await (env.buildx ?? (() => buildxState(spawnRun)))(), env.runner?.buildMemory)] : [],
897
+ ...env.hooks !== void 0 && ["container", "vm"].includes(builtinKind(env.hooks.provision)) && keepsHostBuilder({ hooks: env.hooks, build: { imageBuild: env.runner?.imageBuild } }) ? [imageBuildLimitCheck(await (env.buildx ?? (() => buildxState(spawnRun)))(), env.runner?.buildMemory)] : [],
903
898
  ...env.runner !== void 0 && env.hooks !== void 0 && ["container", "vm"].includes(builtinKind(env.hooks.provision)) ? [allowHostsCheck(env.configPath, env.runner.allowHosts)] : [],
904
899
  ...env.runner?.managed === true ? await managedChecks(env, env.runner) : [],
905
900
  ...env.runner !== void 0 && env.hooks !== void 0 && ["container", "vm"].includes(builtinKind(env.hooks.provision)) ? [
906
901
  diskFitCheck(
907
902
  env.configPath,
908
903
  builtinKind(env.hooks.provision),
909
- { concurrency: env.runner.concurrency, buildDisk: env.runner.buildDisk ?? DEFAULT_BUILD_DISK },
904
+ { concurrency: env.runner.concurrency, buildDisk: env.runner.buildDisk ?? DEFAULT_BUILD_DISK, cacheDisk: env.runner.cacheDisk },
910
905
  env.buildDisk ?? realBuildDiskProbe()
911
906
  )
912
907
  ] : [],
@@ -6,7 +6,7 @@ import './chunk-AU346ENF.js';
6
6
  import './chunk-ESVW4MJY.js';
7
7
  import './chunk-TBT347UY.js';
8
8
  import { VoiceDownloadError, downloadPinned, sha256OfFile } from './chunk-2PGI6RDE.js';
9
- import { VOICE_PACK_FILES, VOICE_PACK_VERSION } from './chunk-TGHBOXKJ.js';
9
+ import { VOICE_PACK_FILES, VOICE_PACK_VERSION } from './chunk-NE63JADS.js';
10
10
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
11
11
  import { autoConnect } from './chunk-B2JURP6A.js';
12
12
  import './chunk-2WMZPJVE.js';
package/dist/index.js CHANGED
@@ -26,5 +26,5 @@ if (argv[0] === "claude") {
26
26
  process.exit(await runClaudeLauncher(argv.slice(1)));
27
27
  }
28
28
  (await import('./hook-fast-6WDMNZG5.js')).recordLinkExitFailure(argv);
29
- var { runCli } = await import('./cli-WKRURGHC.js');
29
+ var { runCli } = await import('./cli-K6XGL4EZ.js');
30
30
  await runCli(process.argv);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-JRZCRIEO.js';
3
+ export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-2EGCI2VW.js';
4
4
  import './chunk-2PGI6RDE.js';
5
- import './chunk-YERR22SY.js';
6
- import './chunk-JPG43G6Y.js';
5
+ import './chunk-DISTLL2Q.js';
6
+ import './chunk-YXHKCHWG.js';
7
7
  import './chunk-F5UL23I2.js';
8
8
  import './chunk-JBJTC3UU.js';
9
9
  import './chunk-OGFGZQA3.js';
@@ -12,13 +12,12 @@ import './chunk-L26V6ILJ.js';
12
12
  import './chunk-T5REPMNL.js';
13
13
  import './chunk-MZBQTVFG.js';
14
14
  import './chunk-TQMI335S.js';
15
- import './chunk-LYE3KB6L.js';
16
- import './chunk-YYYRBYWG.js';
17
- import './chunk-GFVDC5S3.js';
15
+ import './chunk-HE4FBF4T.js';
16
+ import './chunk-RQJMN5TJ.js';
17
+ import './chunk-W2AEL4BJ.js';
18
+ import './chunk-FR7HWWCF.js';
18
19
  import './chunk-3Z3MPR55.js';
19
- import './chunk-TGHBOXKJ.js';
20
- import './chunk-3DCB3GOV.js';
21
- import './chunk-YJLHUKYS.js';
20
+ import './chunk-NE63JADS.js';
22
21
  import './chunk-VT4TTJPG.js';
23
22
  import './chunk-IP7BIBXJ.js';
24
23
  import './chunk-B2JURP6A.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { npmSupportsProvenance } from './chunk-E7R2GIAW.js';
4
- import { RunnerInitError, readConfigObject } from './chunk-JRZCRIEO.js';
4
+ import { RunnerInitError, readConfigObject } from './chunk-2EGCI2VW.js';
5
5
  import './chunk-2PGI6RDE.js';
6
- import './chunk-YERR22SY.js';
7
- import './chunk-JPG43G6Y.js';
6
+ import './chunk-DISTLL2Q.js';
7
+ import './chunk-YXHKCHWG.js';
8
8
  import './chunk-F5UL23I2.js';
9
9
  import './chunk-JBJTC3UU.js';
10
10
  import './chunk-OGFGZQA3.js';
@@ -13,13 +13,12 @@ import './chunk-L26V6ILJ.js';
13
13
  import './chunk-T5REPMNL.js';
14
14
  import './chunk-MZBQTVFG.js';
15
15
  import './chunk-TQMI335S.js';
16
- import { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-LYE3KB6L.js';
17
- import './chunk-YYYRBYWG.js';
18
- import './chunk-GFVDC5S3.js';
16
+ import { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-HE4FBF4T.js';
17
+ import { runnerCredentialProblem, resolveBuild, resolveHousekeeping } from './chunk-RQJMN5TJ.js';
18
+ import './chunk-W2AEL4BJ.js';
19
+ import { parseSize } from './chunk-FR7HWWCF.js';
19
20
  import './chunk-3Z3MPR55.js';
20
- import './chunk-TGHBOXKJ.js';
21
- import { runnerCredentialProblem, resolveBuild, resolveHousekeeping } from './chunk-3DCB3GOV.js';
22
- import { parseSize } from './chunk-YJLHUKYS.js';
21
+ import './chunk-NE63JADS.js';
23
22
  import { writeLaunchAgent } from './chunk-LF6MLJCY.js';
24
23
  import './chunk-VT4TTJPG.js';
25
24
  import './chunk-IP7BIBXJ.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { summarizeChecks, summaryText, renderDoctorText } from './chunk-LJUIG5K4.js';
3
+ import { summarizeChecks, summaryText, renderDoctorText } from './chunk-3RIFVLPO.js';
4
4
  import './chunk-BJQ25STI.js';
5
5
  import { shellFunctionInstalled, removeShellFunction, installShellFunction, SHELL_FUNCTION_LINE } from './chunk-CJJDJ7AT.js';
6
6
  import './chunk-HXA5GIHK.js';
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { DEFAULT_UNIT_NAME, installService, uninstallService, unitPathFor } from './chunk-HE4FBF4T.js';
4
+ import './chunk-RQJMN5TJ.js';
5
+ import './chunk-W2AEL4BJ.js';
6
+ import './chunk-FR7HWWCF.js';
7
+ import './chunk-3Z3MPR55.js';
8
+ import './chunk-NE63JADS.js';
9
+ import './chunk-5DNCFOXA.js';
10
+ import './chunk-SOI6K5DY.js';
11
+ import './chunk-PA6CK6WQ.js';
12
+ import './chunk-BALIE3BA.js';
13
+ import './chunk-E6CO3MJE.js';
14
+ import './chunk-VNVZDWO3.js';
15
+ import './chunk-HACGUL52.js';
16
+ import './chunk-MESOOLF4.js';
17
+ import './chunk-Z5GEFMRW.js';
18
+
19
+ createRequire(import.meta.url);
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, sampleUsage, start, tick, watchTick } from './chunk-CANYZTD5.js';
4
- import './chunk-DGI66PGY.js';
3
+ export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, sampleUsage, start, tick, watchTick } from './chunk-SDU2IE22.js';
4
+ import './chunk-PWH3BEZF.js';
5
5
  import './chunk-ZVB57WI6.js';
6
6
  import './chunk-57L2YAJA.js';
7
7
  import './chunk-3JVYMD4G.js';
8
8
  import './chunk-E7R2GIAW.js';
9
- import './chunk-OOCAF3ID.js';
9
+ import './chunk-XHHTMFCX.js';
10
10
  import './chunk-MZYOUIY5.js';
11
11
  import './chunk-GH246BGV.js';
12
12
  import './chunk-HVRQQOMH.js';
@@ -16,13 +16,13 @@ import './chunk-Q2CMEQV7.js';
16
16
  import './chunk-2N67C6IV.js';
17
17
  import './chunk-AU346ENF.js';
18
18
  import './chunk-ESVW4MJY.js';
19
- import './chunk-QFQC5K4J.js';
19
+ import './chunk-7HHNGZS5.js';
20
20
  import './chunk-NBZ7XBT6.js';
21
21
  import './chunk-TBT347UY.js';
22
- import './chunk-JRZCRIEO.js';
22
+ import './chunk-2EGCI2VW.js';
23
23
  import './chunk-2PGI6RDE.js';
24
- import './chunk-YERR22SY.js';
25
- import './chunk-JPG43G6Y.js';
24
+ import './chunk-DISTLL2Q.js';
25
+ import './chunk-YXHKCHWG.js';
26
26
  import './chunk-F5UL23I2.js';
27
27
  import './chunk-JBJTC3UU.js';
28
28
  import './chunk-OGFGZQA3.js';
@@ -31,14 +31,12 @@ import './chunk-L26V6ILJ.js';
31
31
  import './chunk-T5REPMNL.js';
32
32
  import './chunk-MZBQTVFG.js';
33
33
  import './chunk-TQMI335S.js';
34
- import './chunk-LYE3KB6L.js';
35
- import './chunk-XWFSAOC7.js';
36
- import './chunk-YYYRBYWG.js';
37
- import './chunk-GFVDC5S3.js';
34
+ import './chunk-HE4FBF4T.js';
35
+ import './chunk-RQJMN5TJ.js';
36
+ import './chunk-W2AEL4BJ.js';
37
+ import './chunk-FR7HWWCF.js';
38
38
  import './chunk-3Z3MPR55.js';
39
- import './chunk-TGHBOXKJ.js';
40
- import './chunk-3DCB3GOV.js';
41
- import './chunk-YJLHUKYS.js';
39
+ import './chunk-NE63JADS.js';
42
40
  import './chunk-VT4TTJPG.js';
43
41
  import './chunk-IP7BIBXJ.js';
44
42
  import './chunk-B2JURP6A.js';
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-JRZCRIEO.js';
3
+ export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-2EGCI2VW.js';
4
4
  import './chunk-2PGI6RDE.js';
5
- import './chunk-YERR22SY.js';
6
- import './chunk-JPG43G6Y.js';
5
+ import './chunk-DISTLL2Q.js';
6
+ import './chunk-YXHKCHWG.js';
7
7
  import './chunk-F5UL23I2.js';
8
8
  import './chunk-JBJTC3UU.js';
9
9
  import './chunk-OGFGZQA3.js';
@@ -12,13 +12,12 @@ import './chunk-L26V6ILJ.js';
12
12
  import './chunk-T5REPMNL.js';
13
13
  import './chunk-MZBQTVFG.js';
14
14
  import './chunk-TQMI335S.js';
15
- import './chunk-LYE3KB6L.js';
16
- import './chunk-YYYRBYWG.js';
17
- import './chunk-GFVDC5S3.js';
15
+ import './chunk-HE4FBF4T.js';
16
+ import './chunk-RQJMN5TJ.js';
17
+ import './chunk-W2AEL4BJ.js';
18
+ import './chunk-FR7HWWCF.js';
18
19
  import './chunk-3Z3MPR55.js';
19
- import './chunk-TGHBOXKJ.js';
20
- import './chunk-3DCB3GOV.js';
21
- import './chunk-YJLHUKYS.js';
20
+ import './chunk-NE63JADS.js';
22
21
  import './chunk-VT4TTJPG.js';
23
22
  import './chunk-IP7BIBXJ.js';
24
23
  import './chunk-B2JURP6A.js';
@@ -1,11 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { AGENT_COMMANDS, RunnerEnvError, credentialFromStdin, hasStoredCredential, isAgentName, restartForCredential, storeClaudeCredential } from './chunk-YERR22SY.js';
4
- import './chunk-LYE3KB6L.js';
5
- import './chunk-3DCB3GOV.js';
6
- import './chunk-YJLHUKYS.js';
3
+ export { AGENT_COMMANDS, RunnerEnvError, credentialFromStdin, hasStoredCredential, isAgentName, restartForCredential, storeClaudeCredential } from './chunk-DISTLL2Q.js';
4
+ import './chunk-HE4FBF4T.js';
5
+ import './chunk-RQJMN5TJ.js';
6
+ import './chunk-W2AEL4BJ.js';
7
+ import './chunk-FR7HWWCF.js';
8
+ import './chunk-3Z3MPR55.js';
9
+ import './chunk-NE63JADS.js';
10
+ import './chunk-5DNCFOXA.js';
11
+ import './chunk-SOI6K5DY.js';
7
12
  import './chunk-PA6CK6WQ.js';
8
13
  import './chunk-BALIE3BA.js';
14
+ import './chunk-E6CO3MJE.js';
9
15
  import './chunk-VNVZDWO3.js';
10
16
  import './chunk-HACGUL52.js';
11
17
  import './chunk-MESOOLF4.js';
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { RUNNER_LABEL, builderNameFor, dockerIdentity, ensureRunnerIdentity, pathLabelValue, readRunnerIdentity } from './chunk-GFVDC5S3.js';
3
+ export { RUNNER_LABEL, builderNameFor, dockerIdentity, ensureRunnerIdentity, pathLabelValue, readRunnerIdentity } from './chunk-FR7HWWCF.js';
4
4
  import './chunk-3Z3MPR55.js';
5
- import './chunk-TGHBOXKJ.js';
6
- import './chunk-YJLHUKYS.js';
5
+ import './chunk-NE63JADS.js';
7
6
  import './chunk-5DNCFOXA.js';
8
7
  import './chunk-SOI6K5DY.js';
9
8
  import './chunk-PA6CK6WQ.js';
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { readConfigObject, RunnerInitError } from './chunk-JRZCRIEO.js';
3
+ import { readConfigObject, RunnerInitError } from './chunk-2EGCI2VW.js';
4
4
  import './chunk-2PGI6RDE.js';
5
- import './chunk-YERR22SY.js';
6
- import './chunk-JPG43G6Y.js';
5
+ import './chunk-DISTLL2Q.js';
6
+ import './chunk-YXHKCHWG.js';
7
7
  import './chunk-F5UL23I2.js';
8
8
  import './chunk-JBJTC3UU.js';
9
9
  import './chunk-OGFGZQA3.js';
@@ -12,13 +12,12 @@ import './chunk-L26V6ILJ.js';
12
12
  import './chunk-T5REPMNL.js';
13
13
  import './chunk-MZBQTVFG.js';
14
14
  import './chunk-TQMI335S.js';
15
- import './chunk-LYE3KB6L.js';
16
- import './chunk-YYYRBYWG.js';
17
- import './chunk-GFVDC5S3.js';
15
+ import './chunk-HE4FBF4T.js';
16
+ import { runnerCredentialProblem } from './chunk-RQJMN5TJ.js';
17
+ import './chunk-W2AEL4BJ.js';
18
+ import './chunk-FR7HWWCF.js';
18
19
  import './chunk-3Z3MPR55.js';
19
- import './chunk-TGHBOXKJ.js';
20
- import { runnerCredentialProblem } from './chunk-3DCB3GOV.js';
21
- import './chunk-YJLHUKYS.js';
20
+ import './chunk-NE63JADS.js';
22
21
  import { getJson } from './chunk-VT4TTJPG.js';
23
22
  import './chunk-IP7BIBXJ.js';
24
23
  import './chunk-B2JURP6A.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-DGI66PGY.js';
3
+ import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-PWH3BEZF.js';
4
4
  import { jobStateFormatOf } from './chunk-ZVB57WI6.js';
5
5
  import './chunk-HVRQQOMH.js';
6
6
  import './chunk-6LBSAW6I.js';
@@ -10,10 +10,10 @@ import './chunk-2N67C6IV.js';
10
10
  import './chunk-AU346ENF.js';
11
11
  import './chunk-ESVW4MJY.js';
12
12
  import './chunk-TBT347UY.js';
13
- import { LEASE_SECONDS } from './chunk-JRZCRIEO.js';
13
+ import { LEASE_SECONDS } from './chunk-2EGCI2VW.js';
14
14
  import './chunk-2PGI6RDE.js';
15
- import './chunk-YERR22SY.js';
16
- import './chunk-JPG43G6Y.js';
15
+ import './chunk-DISTLL2Q.js';
16
+ import './chunk-YXHKCHWG.js';
17
17
  import './chunk-F5UL23I2.js';
18
18
  import './chunk-JBJTC3UU.js';
19
19
  import './chunk-OGFGZQA3.js';
@@ -22,13 +22,12 @@ import './chunk-L26V6ILJ.js';
22
22
  import { formatDuration, formatClock, relativeToRunner } from './chunk-T5REPMNL.js';
23
23
  import { pullInstruction } from './chunk-MZBQTVFG.js';
24
24
  import './chunk-TQMI335S.js';
25
- import './chunk-LYE3KB6L.js';
26
- import { formatBytes } from './chunk-YYYRBYWG.js';
27
- import './chunk-GFVDC5S3.js';
25
+ import './chunk-HE4FBF4T.js';
26
+ import './chunk-RQJMN5TJ.js';
27
+ import { formatBytes } from './chunk-W2AEL4BJ.js';
28
+ import './chunk-FR7HWWCF.js';
28
29
  import './chunk-3Z3MPR55.js';
29
- import './chunk-TGHBOXKJ.js';
30
- import './chunk-3DCB3GOV.js';
31
- import './chunk-YJLHUKYS.js';
30
+ import './chunk-NE63JADS.js';
32
31
  import './chunk-VT4TTJPG.js';
33
32
  import './chunk-IP7BIBXJ.js';
34
33
  import './chunk-B2JURP6A.js';
@@ -1,8 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { RUNNER_PROTOCOL } from './chunk-MZYOUIY5.js';
4
- import { defaultRunnerConfigPath } from './chunk-3DCB3GOV.js';
5
- import './chunk-YJLHUKYS.js';
4
+ import { defaultRunnerConfigPath } from './chunk-RQJMN5TJ.js';
5
+ import './chunk-W2AEL4BJ.js';
6
+ import './chunk-FR7HWWCF.js';
7
+ import './chunk-3Z3MPR55.js';
8
+ import './chunk-NE63JADS.js';
6
9
  import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, findLiveItemForIssue } from './chunk-VT4TTJPG.js';
7
10
  export { WorkCommandError } from './chunk-VT4TTJPG.js';
8
11
  import './chunk-IP7BIBXJ.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.33.0-next.20261023002325",
3
+ "version": "0.33.0-next.20261023003700",
4
4
  "description": "OuterLayer CLI — commands: init, claude, connect, doctor, login, logout, sync, daemon (alias: watch), emit, findings, work, spec, runner, hooks, mcp, context. Capture and sync coding-agent sessions, and record proof of factory work.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Magu Studios, Inc.",
@@ -1,111 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- import { formatBytes, freeBytes } from './chunk-YYYRBYWG.js';
4
- import { BUILD_LABEL, RUNNER_LABEL, runnerLabelValue } from './chunk-GFVDC5S3.js';
5
- import { parseSize } from './chunk-YJLHUKYS.js';
6
- import { buildsDir, rootfsDir, runnerDir } from './chunk-PA6CK6WQ.js';
7
- import { spawnSync } from 'child_process';
8
- import { existsSync, statSync, readdirSync } from 'fs';
9
- import { join } from 'path';
10
-
11
- createRequire(import.meta.url);
12
- function checkDiskFit(input) {
13
- const limit = parseSize(input.buildDisk);
14
- if (limit === void 0) return { fits: true };
15
- const { freeBytes: free, heldBytes: held, rootDiskBytes: root } = input.facts;
16
- const neededBytes = input.concurrency * (limit + root);
17
- const availableBytes = free + held;
18
- if (neededBytes <= availableBytes) return { fits: true };
19
- const oneBuild = root > 0 ? `runner.build.disk ${input.buildDisk} plus a root disk of ${formatBytes(root)}` : `runner.build.disk ${input.buildDisk}`;
20
- return {
21
- fits: false,
22
- neededBytes,
23
- availableBytes,
24
- message: `the builds' disks do not fit: runner.concurrency ${input.concurrency} times the space one build can hold (${oneBuild}) needs ${formatBytes(neededBytes)}, and ${formatBytes(availableBytes)} is available (${formatBytes(free)} free plus ${formatBytes(held)} held by running builds)`
25
- };
26
- }
27
- function allocatedBytes(path) {
28
- try {
29
- return statSync(path).blocks * 512;
30
- } catch {
31
- return 0;
32
- }
33
- }
34
- function listDir(path) {
35
- try {
36
- return readdirSync(path);
37
- } catch {
38
- return void 0;
39
- }
40
- }
41
- function microVmFacts(configPath) {
42
- const builds = buildsDir(configPath);
43
- const free = freeBytes(builds);
44
- if (free === void 0) return void 0;
45
- let held = 0;
46
- if (existsSync(builds)) {
47
- const entries = listDir(builds);
48
- if (entries === void 0) return void 0;
49
- for (const entry of entries) held += allocatedBytes(join(builds, entry, "build.ext4"));
50
- }
51
- let root = 0;
52
- const roots = rootfsDir(runnerDir(configPath));
53
- if (existsSync(roots)) {
54
- const entries = listDir(roots);
55
- if (entries === void 0) return void 0;
56
- for (const entry of entries) {
57
- if (!entry.endsWith(".ext4")) continue;
58
- try {
59
- root = Math.max(root, statSync(join(roots, entry)).size);
60
- } catch {
61
- }
62
- }
63
- }
64
- return { freeBytes: free, heldBytes: held, rootDiskBytes: root };
65
- }
66
- var DOCKER_TIMEOUT_MS = 1e4;
67
- var DEFAULT_BUILD_DISK = "40g";
68
- var DOCKER_CACHE_MS = 6e4;
69
- var DEFAULT_VOLUMES_DIR = "/var/lib/docker/volumes";
70
- function runDocker(args, spawn = spawnSync) {
71
- const result = spawn("docker", args, { encoding: "utf8", timeout: DOCKER_TIMEOUT_MS });
72
- return result.status === 0 ? result.stdout : void 0;
73
- }
74
- var SIZE_UNITS = { b: 1, kb: 1e3, mb: 1e6, gb: 1e9, tb: 1e12 };
75
- function volumeBytes(dfOutput, names) {
76
- let total = 0;
77
- for (const line of dfOutput.split("\n")) {
78
- const [name, , size] = line.trim().split(/\s+/);
79
- if (name === void 0 || size === void 0 || !names.has(name)) continue;
80
- const match = /^([\d.]+)([A-Za-z]+)$/.exec(size);
81
- const unit = match === null ? void 0 : SIZE_UNITS[match[2].toLowerCase()];
82
- if (match !== null && unit !== void 0) total += Number(match[1]) * unit;
83
- }
84
- return total;
85
- }
86
- function containerFacts(cache, configPath, docker, now) {
87
- if (cache.reading === void 0 || cache.reading.configPath !== configPath || now - cache.reading.at > DOCKER_CACHE_MS) {
88
- const root = docker(["info", "--format", "{{.DockerRootDir}}"])?.trim();
89
- const listed = docker(["volume", "ls", "--quiet", "--filter", `label=${BUILD_LABEL}`, "--filter", `label=${RUNNER_LABEL}=${runnerLabelValue(configPath)}`]);
90
- const names = new Set((listed ?? "").split("\n").map((n) => n.trim()).filter((n) => n !== ""));
91
- const df = listed === void 0 || names.size === 0 ? void 0 : docker(["system", "df", "-v"]);
92
- const held = listed === void 0 ? void 0 : names.size === 0 ? 0 : df === void 0 ? void 0 : volumeBytes(df, names);
93
- cache.reading = {
94
- at: now,
95
- configPath,
96
- held,
97
- volumes: root === void 0 || root === "" ? DEFAULT_VOLUMES_DIR : join(root, "volumes")
98
- };
99
- }
100
- if (cache.reading.held === void 0) return void 0;
101
- const free = freeBytes(cache.reading.volumes);
102
- return free === void 0 ? void 0 : { freeBytes: free, heldBytes: cache.reading.held, rootDiskBytes: 0 };
103
- }
104
- function realBuildDiskProbe(deps = {}) {
105
- const cache = {};
106
- const docker = deps.docker ?? ((args) => runDocker(args));
107
- const now = deps.now ?? Date.now;
108
- return (kind, configPath) => kind === "vm" ? microVmFacts(configPath) : containerFacts(cache, configPath, docker, now());
109
- }
110
-
111
- export { DEFAULT_BUILD_DISK, DOCKER_CACHE_MS, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes };
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
-
4
- createRequire(import.meta.url);
5
-
6
- // src/runner/container/disk.ts
7
- var UNITS = { "": 1, k: 1024, m: 1024 ** 2, g: 1024 ** 3 };
8
- function parseSize(text) {
9
- const match = /^(\d+(?:\.\d+)?)([kKmMgG]?)$/.exec(text);
10
- if (match === null) return void 0;
11
- const bytes = Number(match[1]) * UNITS[match[2].toLowerCase()];
12
- return bytes > 0 ? bytes : void 0;
13
- }
14
- function exceedsDisk(usedKilobytes, limit) {
15
- const bytes = parseSize(limit);
16
- return usedKilobytes * 1024 > (bytes ?? Number.POSITIVE_INFINITY);
17
- }
18
- var TOTAL = /^(\d+)\t\/build$/;
19
- var GONE = /: No such file or directory$/;
20
- var LINE_MAX = 200;
21
- function readDu(result) {
22
- const stdoutLines = result.stdout.split("\n");
23
- const totalAt = stdoutLines.map((line) => TOTAL.test(line)).lastIndexOf(true);
24
- const kib = totalAt === -1 ? void 0 : Number(TOTAL.exec(stdoutLines[totalAt])[1]);
25
- const lines = [...result.stderr.split("\n"), ...stdoutLines.filter((_, index) => index !== totalAt)].map((line) => line.trim()).filter((line) => line !== "");
26
- const other = lines.find((line) => !GONE.test(line));
27
- if (kib !== void 0 && result.status === 0) return { kib };
28
- if (kib !== void 0 && other === void 0 && lines.length > 0) return { kib };
29
- const detail = other === void 0 ? "" : `: ${cut(other.replace(/[\u0000-\u001f\u007f]/g, " "))}`;
30
- return { ...kib === void 0 ? {} : { kib }, failure: `docker exec exited ${result.status}${detail}` };
31
- }
32
- function cut(line) {
33
- const head = line.slice(0, LINE_MAX);
34
- const last = head.charCodeAt(head.length - 1);
35
- return last >= 55296 && last <= 56319 ? head.slice(0, -1) : head;
36
- }
37
-
38
- export { exceedsDisk, parseSize, readDu };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module';
3
- import { statfsSync } from 'fs';
4
- import { dirname } from 'path';
5
-
6
- createRequire(import.meta.url);
7
- function freeBytes(path, statfs = statfsSync) {
8
- let at = path;
9
- for (; ; ) {
10
- try {
11
- const stats = statfs(at);
12
- return Number(stats.bavail) * Number(stats.bsize);
13
- } catch (err) {
14
- if (err.code !== "ENOENT") return void 0;
15
- const parent = dirname(at);
16
- if (parent === at) return void 0;
17
- at = parent;
18
- }
19
- }
20
- }
21
- var UNITS = ["B", "KB", "MB", "GB", "TB"];
22
- function formatBytes(bytes) {
23
- let value = Math.max(0, bytes);
24
- let unit = 0;
25
- while (value >= 1024 && unit < UNITS.length - 1) {
26
- value /= 1024;
27
- unit++;
28
- }
29
- return unit === 0 ? `${Math.round(value)} B` : `${value.toFixed(1)} ${UNITS[unit]}`;
30
- }
31
-
32
- export { formatBytes, freeBytes };