@outerlayer/cli 0.6.0 → 0.8.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 (92) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +15 -5
  3. package/dist/{agent-setup-USZ2SAXC.js → agent-setup-C7PLRXZO.js} +7 -6
  4. package/dist/{build-PAEKVYVK.js → build-MS34XEGN.js} +3 -1
  5. package/dist/build-info.json +1 -1
  6. package/dist/builder-G52A6GW2.js +13 -0
  7. package/dist/{check-CCVPBN7A.js → check-FOF3PUKI.js} +35 -26
  8. package/dist/{chunk-ZILGTTY6.js → chunk-3S4P55NE.js} +3 -3
  9. package/dist/{chunk-MIGEDH5P.js → chunk-4A5E2G4E.js} +9 -9
  10. package/dist/chunk-4ACZCY4I.js +39 -0
  11. package/dist/{chunk-OIRNH6UO.js → chunk-5FWNEQNZ.js} +3 -3
  12. package/dist/{chunk-BNMCXPG7.js → chunk-5QLNZGAQ.js} +12 -3
  13. package/dist/chunk-5TNS3PL7.js +263 -0
  14. package/dist/chunk-7RQ73DLO.js +23 -0
  15. package/dist/{chunk-VMJ3MMBX.js → chunk-7VNURP6M.js} +538 -46
  16. package/dist/{chunk-EMY4I27X.js → chunk-7ZR5UPMB.js} +555 -5
  17. package/dist/{chunk-UMFWVGJO.js → chunk-AIL2R4SI.js} +4 -3
  18. package/dist/{chunk-NQXFAGHU.js → chunk-AX23QKHS.js} +7 -3
  19. package/dist/{chunk-RZSF5B46.js → chunk-CM5QTKM4.js} +152 -158
  20. package/dist/chunk-CX22S5BA.js +45 -0
  21. package/dist/{chunk-H5NCNVDA.js → chunk-EV3M3EH7.js} +2 -2
  22. package/dist/{chunk-ANK2B36Y.js → chunk-GAYWY4GI.js} +6190 -28615
  23. package/dist/chunk-HKMPVPO7.js +55 -0
  24. package/dist/{chunk-43J3M6KB.js → chunk-IJBVPLZZ.js} +91 -39
  25. package/dist/{chunk-PMAMOSTP.js → chunk-ILEA3YHM.js} +85 -25
  26. package/dist/{chunk-MXB5VB4Y.js → chunk-IRCBTGWF.js} +6 -6
  27. package/dist/{chunk-OUUINEYB.js → chunk-JKIWMRFH.js} +1 -1
  28. package/dist/{chunk-FA2BOX4O.js → chunk-JPR2WHHF.js} +1 -1
  29. package/dist/{chunk-IASWYRVG.js → chunk-K35RW5HP.js} +4 -1
  30. package/dist/{chunk-ZMYPLFG3.js → chunk-M3SQ4YGD.js} +1 -1
  31. package/dist/{chunk-4NLKY4WR.js → chunk-NALVDFIS.js} +2 -2
  32. package/dist/{chunk-AUFG23AA.js → chunk-OD2VTIHN.js} +19 -47
  33. package/dist/{chunk-JWOQNNN2.js → chunk-OEK4JEB3.js} +33 -4
  34. package/dist/chunk-PTW6W5NR.js +127 -0
  35. package/dist/{chunk-3DD6AOWC.js → chunk-PWBILI5P.js} +28 -3
  36. package/dist/{chunk-B2G7JHHB.js → chunk-R7STSBLC.js} +1 -1
  37. package/dist/{chunk-YYYXRJUW.js → chunk-TI7B7UEO.js} +1 -1
  38. package/dist/{chunk-Z62HNKEJ.js → chunk-TTNFGMHO.js} +72 -54
  39. package/dist/{chunk-RBOMWNOG.js → chunk-TUUMW4TC.js} +2 -2
  40. package/dist/{chunk-774HEQL6.js → chunk-U3GOI2B4.js} +91 -8
  41. package/dist/{chunk-F6GFZXZ3.js → chunk-UXYLWVTQ.js} +1 -18
  42. package/dist/{chunk-WO2BXCTQ.js → chunk-VXLJORHL.js} +1 -1
  43. package/dist/{chunk-CBPPJSAR.js → chunk-WVGSB3Z2.js} +2 -2
  44. package/dist/chunk-YNJEOGDL.js +22434 -0
  45. package/dist/{chunk-W4SQCOZU.js → chunk-ZOAEPWGL.js} +1 -1
  46. package/dist/{chunk-3DEVYTNQ.js → chunk-ZYHKJKSU.js} +1 -1
  47. package/dist/{chunk-WIOZAJ2W.js → chunk-ZZXLM64C.js} +1 -1
  48. package/dist/{cli-7WCNPBYC.js → cli-AOJPAVFX.js} +109 -81
  49. package/dist/{command-ARFK3OYF.js → command-SY3SVLAI.js} +67 -27
  50. package/dist/config-Z3USDBLU.js +11 -0
  51. package/dist/{connect-cmd-PCESZLTR.js → connect-cmd-PNZ6IJLJ.js} +4 -4
  52. package/dist/{context-adopt-G5JAELE7.js → context-adopt-CE4KDXS3.js} +5 -4
  53. package/dist/{context-materialize-3HLPZAF6.js → context-materialize-QL33HDJN.js} +5 -4
  54. package/dist/{dist-RDLP4GGJ.js → dist-3ZTZF2TP.js} +2 -1
  55. package/dist/docker-676FD3CQ.js +15 -0
  56. package/dist/{doctor-VOMYOHQU.js → doctor-WR6TRPSU.js} +49 -19
  57. package/dist/{emit-artifact-cmd-TBF46VXZ.js → emit-artifact-cmd-AVM4YXMQ.js} +11 -4
  58. package/dist/{emit-cmd-DCERAU27.js → emit-cmd-2QRMYPYO.js} +4 -3
  59. package/dist/{emit-criteria-cmd-3427XKFW.js → emit-criteria-cmd-LDBE4YDS.js} +10 -1
  60. package/dist/{emit-finding-cmd-GSI75K36.js → emit-finding-cmd-6R5WBPCH.js} +12 -1
  61. package/dist/{emit-result-cmd-3PRQKB55.js → emit-result-cmd-2DMN6O6U.js} +13 -6
  62. package/dist/{exec-client-4XGXV3XN.js → exec-client-NPYNUAF3.js} +4 -3
  63. package/dist/{guest-init-GENRHNP7.js → guest-init-JWNNAH2H.js} +4 -3
  64. package/dist/{hook-fast-NJBBZQ5Q.js → hook-fast-XBOZ3N6L.js} +1 -1
  65. package/dist/{import-capture-cmd-AVZ4VIVJ.js → import-capture-cmd-T4556ELW.js} +3 -2
  66. package/dist/{import-ruler-cmd-GUHL6IY5.js → import-ruler-cmd-SG3UVGI7.js} +2 -1
  67. package/dist/index.js +3 -3
  68. package/dist/init-KDK5QLQZ.js +46 -0
  69. package/dist/{init-OHYFIKZD.js → init-R2FJ5KNS.js} +35 -21
  70. package/dist/{init-cmd-HMFNIFPI.js → init-cmd-BYZYAJ5P.js} +10 -9
  71. package/dist/{install-DSUZE2TJ.js → install-FHTVJZS6.js} +7 -5
  72. package/dist/{install-cmd-453C7IZT.js → install-cmd-DCF7TVXD.js} +3 -2
  73. package/dist/{logs-7RYUH5A6.js → logs-H55NWW4H.js} +1 -0
  74. package/dist/{loop-UAJB34KA.js → loop-AG3PLXPO.js} +35 -26
  75. package/dist/machine-LV6WBRRK.js +45 -0
  76. package/dist/{session-sender-ED26V45B.js → session-sender-Q5HAMOL2.js} +6 -5
  77. package/dist/{starter-pack-LIZYMKYQ.js → starter-pack-MUXMAU4S.js} +4 -3
  78. package/dist/{status-6WNXX2O7.js → status-HH4OSOHR.js} +29 -20
  79. package/dist/{sync-cmd-YONVGUYS.js → sync-cmd-CAEPJR7B.js} +5 -4
  80. package/dist/{watch-HHKAF26L.js → watch-LAAZFBHH.js} +5 -4
  81. package/dist/{work-claim-cmd-LXBZTMJA.js → work-claim-cmd-ARIYZARE.js} +15 -7
  82. package/dist/{work-cmd-OVNF44FY.js → work-cmd-B3FOXZAL.js} +9 -3
  83. package/dist/{work-comment-cmd-6DGQNTAH.js → work-comment-cmd-O5WGRI6K.js} +9 -3
  84. package/dist/{work-open-pr-cmd-FCZHFHZS.js → work-open-pr-cmd-M6CQW7KW.js} +10 -4
  85. package/dist/{work-pr-cmd-QJJVHZDC.js → work-pr-cmd-C4YEGKD6.js} +9 -2
  86. package/package.json +1 -1
  87. package/skill-pack/template/build/scripts/record-criteria.mjs +2 -1
  88. package/dist/chunk-7DBI6SNT.js +0 -55
  89. package/dist/config-HL2AIR3K.js +0 -9
  90. package/dist/docker-NEGDLU6D.js +0 -7
  91. package/dist/init-WVR4BZQ4.js +0 -36
  92. package/dist/machine-2JOWGRSZ.js +0 -35
@@ -1,37 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runRunnerInstall } from './chunk-JWOQNNN2.js';
4
- import { execStartCommand } from './chunk-YYYXRJUW.js';
3
+ import { runRunnerInstall, launcherSummary } from './chunk-OEK4JEB3.js';
5
4
  import { readJobFile } from './chunk-T6OIJQRT.js';
6
- import { installService, uninstallService, realTaskScheduler } from './chunk-NQXFAGHU.js';
5
+ import './chunk-PTW6W5NR.js';
6
+ import { currentLink, execStartCommand } from './chunk-TI7B7UEO.js';
7
+ import { detectMachine } from './chunk-TUUMW4TC.js';
8
+ import './chunk-CM5QTKM4.js';
9
+ import { installService, uninstallService, realTaskScheduler } from './chunk-AX23QKHS.js';
7
10
  import './chunk-FBTE2A2X.js';
8
- import './chunk-OUUINEYB.js';
11
+ import './chunk-JKIWMRFH.js';
12
+ import { realLima } from './chunk-77MM5RYD.js';
9
13
  import { writeLaunchAgent, launchAgentPath } from './chunk-LF6MLJCY.js';
10
- import { detectMachine } from './chunk-RBOMWNOG.js';
11
- import './chunk-RZSF5B46.js';
12
- import './chunk-Z62HNKEJ.js';
14
+ import './chunk-TTNFGMHO.js';
13
15
  import './chunk-N5FOE5PS.js';
14
16
  import './chunk-OGFGZQA3.js';
15
- import './chunk-774HEQL6.js';
17
+ import './chunk-U3GOI2B4.js';
16
18
  import './chunk-QOZKPLVJ.js';
17
- import './chunk-W4SQCOZU.js';
18
- import './chunk-B2G7JHHB.js';
19
- import './chunk-BNMCXPG7.js';
19
+ import './chunk-5TNS3PL7.js';
20
+ import './chunk-CX22S5BA.js';
21
+ import './chunk-ZOAEPWGL.js';
22
+ import './chunk-R7STSBLC.js';
23
+ import './chunk-5QLNZGAQ.js';
24
+ import './chunk-4ACZCY4I.js';
20
25
  import './chunk-BFESLKPP.js';
21
- import './chunk-3DEVYTNQ.js';
22
- import './chunk-ANK2B36Y.js';
23
- import { runnerVmOf, loadRunnerConfig } from './chunk-3DD6AOWC.js';
24
- import './chunk-F6GFZXZ3.js';
25
- import './chunk-AUFG23AA.js';
26
- import { realLima } from './chunk-77MM5RYD.js';
26
+ import './chunk-ILEA3YHM.js';
27
+ import './chunk-ZYHKJKSU.js';
28
+ import './chunk-GAYWY4GI.js';
29
+ import './chunk-USO2DKBD.js';
30
+ import './chunk-N6LURUEF.js';
31
+ import './chunk-YRYMNBGQ.js';
32
+ import { runnerVmOf, loadRunnerConfig } from './chunk-PWBILI5P.js';
33
+ import './chunk-UXYLWVTQ.js';
34
+ import './chunk-7RQ73DLO.js';
35
+ import './chunk-OD2VTIHN.js';
36
+ import './chunk-HKMPVPO7.js';
27
37
  import './chunk-WZBHBH3J.js';
28
- import './chunk-OIRNH6UO.js';
38
+ import './chunk-5FWNEQNZ.js';
29
39
  import './chunk-ZJSNLVCE.js';
30
- import './chunk-WIOZAJ2W.js';
31
- import './chunk-WO2BXCTQ.js';
32
- import './chunk-EMY4I27X.js';
40
+ import './chunk-ZZXLM64C.js';
41
+ import './chunk-VXLJORHL.js';
42
+ import './chunk-7ZR5UPMB.js';
33
43
  import './chunk-BCLJSQCV.js';
34
44
  import './chunk-BOLTI6LR.js';
45
+ import './chunk-YNJEOGDL.js';
35
46
  import './chunk-EABW6AJQ.js';
36
47
  import './chunk-RA3O54FC.js';
37
48
  import './chunk-M5POMKKW.js';
@@ -41,9 +52,9 @@ import './chunk-BJ3KTMDH.js';
41
52
  import './chunk-VNVZDWO3.js';
42
53
  import './chunk-Z5GEFMRW.js';
43
54
  import { userInfo, totalmem } from 'os';
55
+ import { join } from 'path';
44
56
  import { rmSync, existsSync, readdirSync, readFileSync } from 'fs';
45
57
  import { spawnSync } from 'child_process';
46
- import { join } from 'path';
47
58
 
48
59
  createRequire(import.meta.url);
49
60
  async function serviceInVm(lima, instance, action, options) {
@@ -114,11 +125,22 @@ function realServiceDeps() {
114
125
  systemd: realSystemd(),
115
126
  ...platform === "wsl2" ? { tasks: realTaskScheduler(), wslConf: realWslConf(), distro: process.env.WSL_DISTRO_NAME } : {},
116
127
  usableMemoryBytes: totalmem(),
117
- buildsRunning: buildsRunningIn
128
+ buildsRunning: buildsRunningIn,
129
+ // Asked as the account, through sudo, which the unit's own install needs anyway.
130
+ accountCan: (account, flag, path) => spawnSync("sudo", ["-n", "-u", account, "test", flag, path], { stdio: "ignore" }).status === 0
118
131
  };
119
132
  }
120
133
 
121
134
  // src/runner/service/command.ts
135
+ function accountCannotStart(account, nodePath, entry, can) {
136
+ if (!can(account, "-x", nodePath)) {
137
+ return `\u2717 the service would run as ${account}, which cannot execute ${nodePath}, the Node this install runs on. Nothing is set up: run the install as ${account} with a Node it can execute, or install Node where ${account} can reach it`;
138
+ }
139
+ if (!can(account, "-r", entry)) {
140
+ return `\u2717 the service would run as ${account}, which cannot read ${entry}. Nothing is set up: put the runner's config where ${account} can read it, or run the install as ${account}`;
141
+ }
142
+ return void 0;
143
+ }
122
144
  function vmArgs(input) {
123
145
  return [...input.print === true ? ["--print"] : [], ...input.replace === true ? ["--replace"] : [], ...input.user === void 0 ? [] : ["--user", input.user], ...input.unitName === void 0 ? [] : ["--unit-name", input.unitName]];
124
146
  }
@@ -129,8 +151,26 @@ async function installServiceCommand(input, deps = {}) {
129
151
  return { ok: result.ok, state: "vm", lines: result.lines };
130
152
  }
131
153
  const config = loadRunnerConfig(input.configPath);
154
+ let launcherLines = [];
155
+ let launcherNotes = [];
132
156
  if (input.print !== true && input.layoutInstalled !== true) {
133
- runRunnerInstall({ configPath: input.configPath, entryPath: input.entryPath, nodePath: input.nodePath });
157
+ const installed = runRunnerInstall({
158
+ configPath: input.configPath,
159
+ entryPath: input.entryPath,
160
+ nodePath: input.nodePath,
161
+ home: input.home,
162
+ PATH: process.env.PATH,
163
+ replace: input.replace
164
+ });
165
+ launcherLines = [launcherSummary(installed.launcher)].filter((line) => line !== void 0);
166
+ launcherNotes = installed.launcher.notes;
167
+ }
168
+ const account = input.user ?? userInfo().username;
169
+ const serviceDeps = (deps.service ?? realServiceDeps)();
170
+ if (input.print !== true && account !== userInfo().username && serviceDeps.accountCan !== void 0) {
171
+ const entry = join(currentLink(input.configPath), "node_modules", "@outerlayer", "cli", "dist", "index.js");
172
+ const problem = accountCannotStart(account, input.nodePath, entry, serviceDeps.accountCan);
173
+ if (problem !== void 0) return { ok: false, state: "refused", lines: [problem] };
134
174
  }
135
175
  const outcome = installService(
136
176
  {
@@ -140,14 +180,14 @@ async function installServiceCommand(input, deps = {}) {
140
180
  buildMemory: config.build?.memory ?? "8g",
141
181
  timeLimitMinutes: config.timeLimitMinutes,
142
182
  execStart: execStartCommand(input.configPath, input.nodePath),
143
- user: input.user ?? userInfo().username,
183
+ user: account,
144
184
  unitName: input.unitName,
145
185
  print: input.print,
146
186
  replace: input.replace
147
187
  },
148
- (deps.service ?? realServiceDeps)()
188
+ serviceDeps
149
189
  );
150
- return { ok: outcome.ok, state: outcome.state, lines: outcome.lines, unit: outcome.unit };
190
+ return { ok: outcome.ok, state: outcome.state, lines: [...outcome.lines, ...outcome.ok ? launcherLines : []], unit: outcome.unit, ...launcherNotes.length > 0 ? { notes: launcherNotes } : {} };
151
191
  }
152
192
  async function uninstallServiceCommand(input, deps = {}) {
153
193
  const vm = runnerVmOf(input.configPath);
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerVmOf } from './chunk-PWBILI5P.js';
4
+ import './chunk-UXYLWVTQ.js';
5
+ import './chunk-7RQ73DLO.js';
6
+ import './chunk-OD2VTIHN.js';
7
+ import './chunk-HKMPVPO7.js';
8
+ import './chunk-VNVZDWO3.js';
9
+ import './chunk-Z5GEFMRW.js';
10
+
11
+ createRequire(import.meta.url);
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { promptOnTerminal, realConnectDeps, runConnect, runConnectCommand } from './chunk-PMAMOSTP.js';
4
- import './chunk-7DBI6SNT.js';
5
- import './chunk-3DEVYTNQ.js';
6
- import './chunk-ANK2B36Y.js';
3
+ export { connectedLine, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-ILEA3YHM.js';
4
+ import './chunk-ZYHKJKSU.js';
5
+ import './chunk-GAYWY4GI.js';
7
6
  import './chunk-USO2DKBD.js';
8
7
  import './chunk-N6LURUEF.js';
9
8
  import './chunk-YRYMNBGQ.js';
10
9
  import './chunk-BOLTI6LR.js';
10
+ import './chunk-YNJEOGDL.js';
11
11
  import './chunk-EABW6AJQ.js';
12
12
  import './chunk-BJ3KTMDH.js';
13
13
  import './chunk-VNVZDWO3.js';
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { defaultGitRunner, hasSymlinkComponent } from './chunk-OIRNH6UO.js';
3
+ import { defaultGitRunner, hasSymlinkComponent } from './chunk-5FWNEQNZ.js';
4
4
  import './chunk-ZJSNLVCE.js';
5
- import { writeContextManifest, writePinIfChanged, touchLastCheck, clearDegraded, writeSourceCache, SOURCE_CACHE_TTL_SUCCESS_MS, writeBuildHold } from './chunk-WIOZAJ2W.js';
6
- import './chunk-WO2BXCTQ.js';
7
- import './chunk-EMY4I27X.js';
5
+ import { writeContextManifest, writePinIfChanged, touchLastCheck, clearDegraded, writeSourceCache, SOURCE_CACHE_TTL_SUCCESS_MS, writeBuildHold } from './chunk-ZZXLM64C.js';
6
+ import './chunk-VXLJORHL.js';
7
+ import './chunk-7ZR5UPMB.js';
8
8
  import './chunk-BCLJSQCV.js';
9
9
  import './chunk-BOLTI6LR.js';
10
+ import './chunk-YNJEOGDL.js';
10
11
  import './chunk-EABW6AJQ.js';
11
12
  import './chunk-RA3O54FC.js';
12
13
  import './chunk-M5POMKKW.js';
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { defaultGitRunner, hasSymlinkComponent, materializeContext, parseOwnerRepo, parseRemoteHost, resolveGitCommonDir } from './chunk-OIRNH6UO.js';
3
+ export { defaultGitRunner, hasSymlinkComponent, materializeContext, parseOwnerRepo, parseRemoteHost, resolveGitCommonDir } from './chunk-5FWNEQNZ.js';
4
4
  import './chunk-ZJSNLVCE.js';
5
- import './chunk-WIOZAJ2W.js';
6
- import './chunk-WO2BXCTQ.js';
7
- import './chunk-EMY4I27X.js';
5
+ import './chunk-ZZXLM64C.js';
6
+ import './chunk-VXLJORHL.js';
7
+ import './chunk-7ZR5UPMB.js';
8
8
  import './chunk-BCLJSQCV.js';
9
9
  import './chunk-BOLTI6LR.js';
10
+ import './chunk-YNJEOGDL.js';
10
11
  import './chunk-EABW6AJQ.js';
11
12
  import './chunk-RA3O54FC.js';
12
13
  import './chunk-M5POMKKW.js';
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { CaptureDaemon, PRICE_TABLE_SOURCE, SECRET_PATTERNS, SOURCE_ADAPTERS, SUPPORTED_VERSIONS, StatuslineAggregator, WARNING_CODES, claudeCodeAdapter, codexAdapter, codexSessionIdFromPath, compareVersions, completePrefix, computeStatuslineState, costOfUsage, cursorAdapter, cursorChatIdFromPath, defaultCodexSessionsDir, defaultCursorChatsDir, defaultCursorProjectsDir, defaultProjectsDir, defaultRawDir, enrichSessionRepo, findCodexRollouts, findCursorChats, findTranscripts, isNewerThanSupported, isPriceKnown, normalizeErrorSignature, normalizeRemote, parseCodexRollout, parseCursorChat, parseTranscript, readStatuslineState, readSyncWatermarkMs, remoteLookupFailed, resolvePrice, resolveRepoIdentity, rootChildIds, scanAll, scrubDeep, scrubText, sessionIdFromPath, setCustomScrubbers, setLocalIdentity, setRepoRoot, statuslineStatePath, tailTranscript, workspacesByHash, writeStatuslineState } from './chunk-ANK2B36Y.js';
3
+ export { CaptureDaemon, PRICE_TABLE_SOURCE, SECRET_PATTERNS, SOURCE_ADAPTERS, SUPPORTED_VERSIONS, StatuslineAggregator, WARNING_CODES, claudeCodeAdapter, codexAdapter, codexSessionIdFromPath, compareVersions, completePrefix, computeStatuslineState, costOfUsage, cursorAdapter, cursorChatIdFromPath, defaultCodexSessionsDir, defaultCursorChatsDir, defaultCursorProjectsDir, defaultProjectsDir, defaultRawDir, enrichSessionRepo, findCodexRollouts, findCursorChats, findTranscripts, isNewerThanSupported, isPriceKnown, normalizeErrorSignature, normalizeRemote, parseCodexRollout, parseCursorChat, parseTranscript, readStatuslineState, readSyncWatermarkMs, remoteLookupFailed, resolvePrice, resolveRepoIdentity, rootChildIds, scanAll, scrubDeep, scrubText, sessionIdFromPath, setCustomScrubbers, setLocalIdentity, setRepoRoot, statuslineStatePath, tailTranscript, workspacesByHash, writeStatuslineState } from './chunk-GAYWY4GI.js';
4
+ import './chunk-YNJEOGDL.js';
4
5
  import './chunk-Z5GEFMRW.js';
5
6
 
6
7
  createRequire(import.meta.url);
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { childEnvironment, createDockerHost, spawnRun } from './chunk-U3GOI2B4.js';
4
+ import './chunk-QOZKPLVJ.js';
5
+ import './chunk-5TNS3PL7.js';
6
+ import './chunk-CX22S5BA.js';
7
+ import './chunk-GAYWY4GI.js';
8
+ import './chunk-7RQ73DLO.js';
9
+ import './chunk-OD2VTIHN.js';
10
+ import './chunk-HKMPVPO7.js';
11
+ import './chunk-YNJEOGDL.js';
12
+ import './chunk-ZM2IMMYN.js';
13
+ import './chunk-Z5GEFMRW.js';
14
+
15
+ createRequire(import.meta.url);
@@ -1,40 +1,52 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-MXB5VB4Y.js';
3
+ import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-IRCBTGWF.js';
4
+ import { launcherCheck } from './chunk-PTW6W5NR.js';
5
+ import './chunk-TI7B7UEO.js';
4
6
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
5
7
  import { RepoFilter } from './chunk-TBT347UY.js';
6
- import './chunk-4NLKY4WR.js';
7
- import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-RBOMWNOG.js';
8
- import { MIN_ENGINE_MAJOR } from './chunk-RZSF5B46.js';
9
- import { CLAUDE_CODE_VERSION } from './chunk-Z62HNKEJ.js';
8
+ import './chunk-NALVDFIS.js';
9
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-TUUMW4TC.js';
10
+ import { MIN_ENGINE_MAJOR } from './chunk-CM5QTKM4.js';
11
+ import './chunk-TTNFGMHO.js';
10
12
  import './chunk-N5FOE5PS.js';
11
13
  import './chunk-OGFGZQA3.js';
12
- import { resolveDevcontainerCli } from './chunk-774HEQL6.js';
14
+ import { resolveDevcontainerCli, spawnRun } from './chunk-U3GOI2B4.js';
13
15
  import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-QOZKPLVJ.js';
14
- import './chunk-W4SQCOZU.js';
15
- import './chunk-B2G7JHHB.js';
16
- import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-BNMCXPG7.js';
16
+ import { buildxState } from './chunk-5TNS3PL7.js';
17
+ import { CLAUDE_CODE_VERSION } from './chunk-CX22S5BA.js';
18
+ import './chunk-ZOAEPWGL.js';
19
+ import './chunk-R7STSBLC.js';
20
+ import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-5QLNZGAQ.js';
21
+ import './chunk-4ACZCY4I.js';
17
22
  import './chunk-BFESLKPP.js';
18
- import './chunk-3DEVYTNQ.js';
19
- import { compareVersions } from './chunk-ANK2B36Y.js';
20
- import { builtinKind } from './chunk-3DD6AOWC.js';
21
- import { parseSize } from './chunk-F6GFZXZ3.js';
22
- import './chunk-AUFG23AA.js';
23
+ import './chunk-ILEA3YHM.js';
24
+ import './chunk-ZYHKJKSU.js';
25
+ import { compareVersions } from './chunk-GAYWY4GI.js';
26
+ import './chunk-USO2DKBD.js';
27
+ import './chunk-N6LURUEF.js';
28
+ import './chunk-YRYMNBGQ.js';
29
+ import { builtinKind } from './chunk-PWBILI5P.js';
30
+ import './chunk-UXYLWVTQ.js';
31
+ import { parseSize } from './chunk-7RQ73DLO.js';
32
+ import './chunk-OD2VTIHN.js';
33
+ import './chunk-HKMPVPO7.js';
23
34
  import './chunk-WZBHBH3J.js';
24
- import { defaultGitRunner } from './chunk-OIRNH6UO.js';
35
+ import { defaultGitRunner } from './chunk-5FWNEQNZ.js';
25
36
  import './chunk-ZJSNLVCE.js';
26
- import './chunk-WIOZAJ2W.js';
27
- import './chunk-WO2BXCTQ.js';
28
- import './chunk-EMY4I27X.js';
37
+ import './chunk-ZZXLM64C.js';
38
+ import './chunk-VXLJORHL.js';
39
+ import './chunk-7ZR5UPMB.js';
29
40
  import { defaultFetch } from './chunk-BCLJSQCV.js';
30
41
  import './chunk-BOLTI6LR.js';
42
+ import './chunk-YNJEOGDL.js';
31
43
  import './chunk-EABW6AJQ.js';
32
44
  import './chunk-RA3O54FC.js';
33
45
  import { loadHostKey } from './chunk-M5POMKKW.js';
34
46
  import { runnerDir, hostKeyPath } from './chunk-ZM2IMMYN.js';
35
47
  import './chunk-XCCLFVXM.js';
36
48
  import './chunk-BJ3KTMDH.js';
37
- import './chunk-VNVZDWO3.js';
49
+ import { homeFromEnv } from './chunk-VNVZDWO3.js';
38
50
  import './chunk-Z5GEFMRW.js';
39
51
  import { spawnSync } from 'child_process';
40
52
  import { existsSync, readdirSync, statSync } from 'fs';
@@ -410,6 +422,18 @@ async function controlPlaneAccessCheck(env, fetchImpl) {
410
422
  detail: readable.length > 0 ? `this host's git login reads ${[...new Set(readable)].join(", ")}` : repositories.length === 0 ? "the factory has no repositories this runner builds" : `no control plane governs ${repositories.length === 1 ? "the repository" : "any of the repositories"} ${listFactory ? "connected to the factory" : "in repos.include"}`
411
423
  };
412
424
  }
425
+ function imageBuildLimitCheck(state, buildMemory) {
426
+ const name = "Image build limit";
427
+ if (state === "usable") {
428
+ return { name, status: "pass", detail: `image builds run in the runner's own builder${buildMemory === void 0 ? "" : `, limited to runner.build.memory (${buildMemory})`}` };
429
+ }
430
+ return {
431
+ name,
432
+ status: "fail",
433
+ detail: `image builds cannot be limited, so this runner claims nothing: ${state.problem}`,
434
+ fix: "install Docker's Buildx plugin: docker-buildx-plugin (Docker's apt repository) or docker-buildx (Ubuntu's own packages), then run outerlayer doctor again; the runner takes work again by itself"
435
+ };
436
+ }
413
437
  function freeDiskCheck(configPath, minFreeDisk, freeBytes2) {
414
438
  const name = "Free disk";
415
439
  const free = freeBytes2(runnerDir(configPath));
@@ -422,9 +446,13 @@ function freeDiskCheck(configPath, minFreeDisk, freeBytes2) {
422
446
  fix: "free disk space on the runner's file system, or lower runner.housekeeping.minFreeDisk; the runner takes work again by itself once there is room"
423
447
  };
424
448
  }
449
+ function launcherCheckOf(env) {
450
+ return launcherCheck({ home: env.home ?? homeFromEnv(), PATH: env.PATH ?? process.env.PATH });
451
+ }
425
452
  async function runnerHostChecks(env) {
426
453
  const dockerAvailable = env.dockerAvailable ?? (() => spawnSync("docker", ["info"], { stdio: "ignore" }).status === 0);
427
454
  const devcontainerRunnable = env.devcontainerRunnable ?? (() => devcontainerCliRunnable());
455
+ const pathCheck = launcherCheckOf(env);
428
456
  const reposDir = join(runnerDir(env.configPath), "repos");
429
457
  const recipes = existsSync(reposDir) ? directories(reposDir).flatMap(
430
458
  (owner) => directories(join(reposDir, owner)).filter((name) => existsSync(join(reposDir, owner, name, ".git"))).map((name) => recipeCheck(reposDir, owner, name))
@@ -442,10 +470,12 @@ async function runnerHostChecks(env) {
442
470
  ...env.service === void 0 ? [] : [delegationCheck(env.service)],
443
471
  ...env.runner === void 0 ? [] : [memoryCheck({ concurrency: env.runner.concurrency, buildMemory: env.runner.buildMemory, hostMemory: env.hostMemory ?? totalmem() })]
444
472
  ] : [],
473
+ ...env.hooks !== void 0 && ["container", "vm"].includes(builtinKind(env.hooks.provision)) ? [imageBuildLimitCheck(await (env.buildx ?? (() => buildxState(spawnRun)))(), env.runner?.buildMemory)] : [],
445
474
  ...env.runner?.minFreeDisk === void 0 ? [] : [freeDiskCheck(env.configPath, env.runner.minFreeDisk, env.freeBytes ?? freeBytes)],
446
475
  ...env.hooks !== void 0 && needsClaudeCredential(env.hooks) ? [claudeCredentialCheck(env.env ?? process.env, env.service === void 0 ? { shell: true } : { service: { unit: env.service.unit, variables: env.service.credentialVariables } })] : [],
447
476
  ...env.gateway === void 0 ? [] : [await hostKeyBindingCheck(env.configPath, env.gateway, env.fetchImpl ?? defaultFetch)],
448
477
  ...env.gateway === void 0 || env.hooks === void 0 || !["container", "vm"].includes(builtinKind(env.hooks.provision)) ? [] : [await controlPlaneAccessCheck({ ...env, gateway: env.gateway }, env.fetchImpl ?? defaultFetch)],
478
+ ...pathCheck === void 0 ? [] : [pathCheck],
449
479
  devcontainerRunnable() ? { name: "Devcontainer CLI", status: "pass", detail: "installed beside the outerlayer CLI" } : {
450
480
  name: "Devcontainer CLI",
451
481
  status: "fail",
@@ -1,13 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-UMFWVGJO.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-AIL2R4SI.js';
4
4
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
6
  import './chunk-F7CU5ABH.js';
7
7
  import './chunk-BKO6JEZI.js';
8
+ import { autoConnect } from './chunk-4ACZCY4I.js';
8
9
  import { detectActiveSession } from './chunk-BFESLKPP.js';
9
- import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, appendArtifactTombstone } from './chunk-3DEVYTNQ.js';
10
- import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, resolveRepoIdentity, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-ANK2B36Y.js';
10
+ import './chunk-ILEA3YHM.js';
11
+ import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, appendArtifactTombstone } from './chunk-ZYHKJKSU.js';
12
+ import { resolveRepoIdentity } from './chunk-GAYWY4GI.js';
13
+ import './chunk-USO2DKBD.js';
14
+ import './chunk-N6LURUEF.js';
11
15
  import './chunk-YRYMNBGQ.js';
12
16
  import './chunk-GQD22KKN.js';
13
17
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -15,10 +19,11 @@ import './chunk-5QRP3MVS.js';
15
19
  import './chunk-ZJSNLVCE.js';
16
20
  import { defaultFetch } from './chunk-BCLJSQCV.js';
17
21
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-BOLTI6LR.js';
22
+ import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-YNJEOGDL.js';
18
23
  import './chunk-EABW6AJQ.js';
19
24
  import './chunk-M5POMKKW.js';
20
25
  import './chunk-ZM2IMMYN.js';
21
- import './chunk-FA2BOX4O.js';
26
+ import './chunk-JPR2WHHF.js';
22
27
  import './chunk-XCCLFVXM.js';
23
28
  import './chunk-BJ3KTMDH.js';
24
29
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -319,6 +324,8 @@ async function runEmitArtifact(opts) {
319
324
  "nothing to attach this to \u2014 no recorded session, no PR, and no git repo. Run inside a recorded Claude Code session, from a git checkout, in CI with PR context, or pass --pr <number>."
320
325
  );
321
326
  }
327
+ const noFactory = await autoConnect({ ...opts, home, env });
328
+ if (noFactory !== void 0) throw new EmitArtifactError(noFactory);
322
329
  const resolved = resolveGatewayCredentials({ ...opts, home, env });
323
330
  if (!resolved.ok) throw new EmitArtifactError(resolved.message);
324
331
  const { url, credential: apiKey, appId } = resolved;
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { EmitError, runEmit } from './chunk-H5NCNVDA.js';
4
- import './chunk-WO2BXCTQ.js';
5
- import './chunk-EMY4I27X.js';
3
+ export { EmitError, runEmit } from './chunk-EV3M3EH7.js';
4
+ import './chunk-VXLJORHL.js';
5
+ import './chunk-7ZR5UPMB.js';
6
+ import './chunk-YNJEOGDL.js';
6
7
  import './chunk-RA3O54FC.js';
7
8
  import './chunk-Z5GEFMRW.js';
8
9
 
@@ -1,12 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
4
+ import { autoConnect } from './chunk-4ACZCY4I.js';
4
5
  import { detectActiveSession } from './chunk-BFESLKPP.js';
5
- import { resolveRepoIdentity, CriteriaListSchema } from './chunk-ANK2B36Y.js';
6
+ import './chunk-ILEA3YHM.js';
7
+ import './chunk-ZYHKJKSU.js';
8
+ import { resolveRepoIdentity } from './chunk-GAYWY4GI.js';
9
+ import './chunk-USO2DKBD.js';
10
+ import './chunk-N6LURUEF.js';
11
+ import './chunk-YRYMNBGQ.js';
6
12
  import { launchedItemForSession } from './chunk-GQD22KKN.js';
7
13
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
8
14
  import { defaultFetch } from './chunk-BCLJSQCV.js';
9
15
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-BOLTI6LR.js';
16
+ import { CriteriaListSchema } from './chunk-YNJEOGDL.js';
10
17
  import './chunk-EABW6AJQ.js';
11
18
  import './chunk-M5POMKKW.js';
12
19
  import './chunk-ZM2IMMYN.js';
@@ -120,6 +127,8 @@ async function runEmitCriteria(opts) {
120
127
  nowMs: now().getTime()
121
128
  });
122
129
  const target = resolveTarget({ item: opts.item, sessionId, home });
130
+ const refusal = await autoConnect({ url: opts.url, apiKey: opts.apiKey, appId: opts.appId, cwd, home, env, fetchImpl: opts.fetchImpl });
131
+ if (refusal !== void 0) throw new EmitCriteriaError(refusal);
123
132
  const resolved = resolveGatewayCredentials({ url: opts.url, apiKey: opts.apiKey, appId: opts.appId, cwd, home, env });
124
133
  if (!resolved.ok) throw new EmitCriteriaError(resolved.message);
125
134
  const { url, credential: apiKey, appId } = resolved;
@@ -1,13 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
4
+ import { autoConnect } from './chunk-4ACZCY4I.js';
4
5
  import { detectActiveSession } from './chunk-BFESLKPP.js';
5
- import { FindingBatchSchema, resolveRepoIdentity } from './chunk-ANK2B36Y.js';
6
+ import './chunk-ILEA3YHM.js';
7
+ import './chunk-ZYHKJKSU.js';
8
+ import { resolveRepoIdentity } from './chunk-GAYWY4GI.js';
9
+ import './chunk-USO2DKBD.js';
10
+ import './chunk-N6LURUEF.js';
11
+ import './chunk-YRYMNBGQ.js';
6
12
  import { launchedItemForSession } from './chunk-GQD22KKN.js';
7
13
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
8
14
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
9
15
  import { defaultFetch } from './chunk-BCLJSQCV.js';
10
16
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-BOLTI6LR.js';
17
+ import { FindingBatchSchema } from './chunk-YNJEOGDL.js';
11
18
  import './chunk-EABW6AJQ.js';
12
19
  import './chunk-M5POMKKW.js';
13
20
  import './chunk-ZM2IMMYN.js';
@@ -117,6 +124,8 @@ function resolveUploadTarget(opts) {
117
124
  return { item: { number: launchedNumber }, sessionId };
118
125
  }
119
126
  async function upload(batch, target, opts) {
127
+ const refusal = await autoConnect(opts);
128
+ if (refusal !== void 0) throw new EmitFindingError(refusal);
120
129
  const resolved = resolveGatewayCredentials(opts);
121
130
  if (!resolved.ok) throw new EmitFindingError(resolved.message);
122
131
  const { url, credential: apiKey, appId } = resolved;
@@ -187,6 +196,7 @@ async function runEmitFinding(opts) {
187
196
  url: opts.url,
188
197
  apiKey: opts.apiKey,
189
198
  appId: opts.appId,
199
+ cwd,
190
200
  quiet: opts.quiet,
191
201
  home,
192
202
  env,
@@ -230,6 +240,7 @@ async function runEmitFindings(opts) {
230
240
  url: opts.url,
231
241
  apiKey: opts.apiKey,
232
242
  appId: opts.appId,
243
+ cwd,
233
244
  quiet: opts.quiet,
234
245
  home,
235
246
  env,
@@ -1,13 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectCi } from './chunk-UMFWVGJO.js';
3
+ import { detectCi } from './chunk-AIL2R4SI.js';
4
4
  import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
5
5
  import './chunk-TBT347UY.js';
6
6
  import './chunk-F7CU5ABH.js';
7
7
  import './chunk-BKO6JEZI.js';
8
+ import { autoConnect } from './chunk-4ACZCY4I.js';
8
9
  import { detectActiveSession } from './chunk-BFESLKPP.js';
9
- import './chunk-3DEVYTNQ.js';
10
- import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH, resolveRepoIdentity } from './chunk-ANK2B36Y.js';
10
+ import './chunk-ILEA3YHM.js';
11
+ import './chunk-ZYHKJKSU.js';
12
+ import { resolveRepoIdentity } from './chunk-GAYWY4GI.js';
13
+ import './chunk-USO2DKBD.js';
14
+ import './chunk-N6LURUEF.js';
11
15
  import './chunk-YRYMNBGQ.js';
12
16
  import './chunk-GQD22KKN.js';
13
17
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -15,10 +19,11 @@ import './chunk-5QRP3MVS.js';
15
19
  import './chunk-ZJSNLVCE.js';
16
20
  import { defaultFetch } from './chunk-BCLJSQCV.js';
17
21
  import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-BOLTI6LR.js';
22
+ import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH } from './chunk-YNJEOGDL.js';
18
23
  import './chunk-EABW6AJQ.js';
19
24
  import './chunk-M5POMKKW.js';
20
25
  import './chunk-ZM2IMMYN.js';
21
- import './chunk-FA2BOX4O.js';
26
+ import './chunk-JPR2WHHF.js';
22
27
  import './chunk-XCCLFVXM.js';
23
28
  import './chunk-BJ3KTMDH.js';
24
29
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -127,14 +132,16 @@ async function runEmitResult(opts) {
127
132
  );
128
133
  }
129
134
  if (sessionId !== void 0) {
130
- const refusal = launchRefusalForSession(sessionId, home);
131
- if (refusal !== void 0) throw new EmitResultError(refusal);
135
+ const refusal2 = launchRefusalForSession(sessionId, home);
136
+ if (refusal2 !== void 0) throw new EmitResultError(refusal2);
132
137
  }
133
138
  if (item === void 0) {
134
139
  throw new EmitResultError(
135
140
  "nothing to attach this to \u2014 no work item. Pass --item <number>; a recorded session alone does not name one."
136
141
  );
137
142
  }
143
+ const refusal = await autoConnect({ ...opts, home, env });
144
+ if (refusal !== void 0) throw new EmitResultError(refusal);
138
145
  const resolved = resolveGatewayCredentials({ ...opts, home, env });
139
146
  if (!resolved.ok) throw new EmitResultError(resolved.message);
140
147
  const { url, credential: apiKey, appId } = resolved;
@@ -1,8 +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-W4SQCOZU.js';
4
- import './chunk-B2G7JHHB.js';
5
- import './chunk-AUFG23AA.js';
3
+ export { CAPTURE_LIMIT_BYTES, ExecConnectionError, HANDSHAKE_TIMEOUT_MS, execCapture, runExec, runVmExec, vmExecArgs, waitForAgent } from './chunk-ZOAEPWGL.js';
4
+ import './chunk-R7STSBLC.js';
5
+ import './chunk-OD2VTIHN.js';
6
+ import './chunk-HKMPVPO7.js';
6
7
  import './chunk-Z5GEFMRW.js';
7
8
 
8
9
  createRequire(import.meta.url);
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DOCKERD_LOG, HELPER_PATH, realGuestHost, relayPortsFrom, runGuestInit } from './chunk-CBPPJSAR.js';
4
- import './chunk-B2G7JHHB.js';
5
- import './chunk-AUFG23AA.js';
3
+ export { DOCKERD_LOG, HELPER_PATH, realGuestHost, relayPortsFrom, runGuestInit } from './chunk-WVGSB3Z2.js';
4
+ import './chunk-R7STSBLC.js';
5
+ import './chunk-OD2VTIHN.js';
6
+ import './chunk-HKMPVPO7.js';
6
7
  import './chunk-Z5GEFMRW.js';
7
8
 
8
9
  createRequire(import.meta.url);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { AUTO_SYNC_DEBOUNCE_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, contextPossiblyGoverned, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, logHookError, maybeAutoSync, maybeRenewWorkLease, recordLinkExitFailure, runHookFast, spoolDir } from './chunk-FA2BOX4O.js';
3
+ export { AUTO_SYNC_DEBOUNCE_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, contextPossiblyGoverned, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, logHookError, maybeAutoSync, maybeRenewWorkLease, recordLinkExitFailure, runHookFast, spoolDir } from './chunk-JPR2WHHF.js';
4
4
  import './chunk-XCCLFVXM.js';
5
5
  import './chunk-BJ3KTMDH.js';
6
6
  import './chunk-VNVZDWO3.js';
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-WO2BXCTQ.js';
4
- import './chunk-EMY4I27X.js';
3
+ import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-VXLJORHL.js';
4
+ import './chunk-7ZR5UPMB.js';
5
+ import './chunk-YNJEOGDL.js';
5
6
  import './chunk-RA3O54FC.js';
6
7
  import './chunk-Z5GEFMRW.js';
7
8
  import { statSync, existsSync, readFileSync, writeFileSync } from 'fs';
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { normalizePath } from './chunk-EMY4I27X.js';
3
+ import { normalizePath } from './chunk-7ZR5UPMB.js';
4
+ import './chunk-YNJEOGDL.js';
4
5
  import './chunk-Z5GEFMRW.js';
5
6
  import { existsSync, readdirSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
6
7
  import { join, dirname } from 'path';
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ createRequire(import.meta.url);
6
6
  // src/index.ts
7
7
  var argv = process.argv.slice(2);
8
8
  if (argv[0] === "hook") {
9
- const { runHookFast } = await import('./hook-fast-NJBBZQ5Q.js');
9
+ const { runHookFast } = await import('./hook-fast-XBOZ3N6L.js');
10
10
  await runHookFast(argv[1]);
11
11
  process.exit(0);
12
12
  }
@@ -21,6 +21,6 @@ if (argv[0] === "statusline") {
21
21
  await runStatuslineFast(argv.slice(1));
22
22
  process.exit(0);
23
23
  }
24
- (await import('./hook-fast-NJBBZQ5Q.js')).recordLinkExitFailure(argv);
25
- var { runCli } = await import('./cli-7WCNPBYC.js');
24
+ (await import('./hook-fast-XBOZ3N6L.js')).recordLinkExitFailure(argv);
25
+ var { runCli } = await import('./cli-AOJPAVFX.js');
26
26
  await runCli(process.argv);