@outerlayer/cli 0.18.0 → 0.19.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 (102) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +21 -2
  3. package/dist/{agent-setup-RBTEACYU.js → agent-setup-TPR4BBFV.js} +15 -16
  4. package/dist/{artifact-link-cmd-AVM2EKTV.js → artifact-link-cmd-W7XF5BFB.js} +2 -2
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-DUI2ZH2H.js → builder-C4QNTYMS.js} +3 -3
  7. package/dist/{check-5C4YDZYV.js → check-UWQAL2MN.js} +44 -43
  8. package/dist/{chunk-S26M3YBJ.js → chunk-3UZTIRLF.js} +1 -1
  9. package/dist/{chunk-W5VPCONO.js → chunk-452TM7J4.js} +33 -227
  10. package/dist/{chunk-UYOYTKE2.js → chunk-5GHGAF6P.js} +3 -3
  11. package/dist/{chunk-QQM2UJ6T.js → chunk-5MYFOW5V.js} +182 -28
  12. package/dist/{chunk-Y5GE76XC.js → chunk-5TN7GLYX.js} +33 -81
  13. package/dist/{chunk-GOBOJMOJ.js → chunk-6D7GT22T.js} +4 -4
  14. package/dist/{chunk-3OFZM4X6.js → chunk-6U3MV7TZ.js} +151 -20
  15. package/dist/{chunk-F4XSVQJ4.js → chunk-6X4SQ5MY.js} +2 -2
  16. package/dist/{chunk-Y5MXET4M.js → chunk-7KSSBQTS.js} +11 -10
  17. package/dist/{chunk-JF42URPU.js → chunk-7SJPQWBM.js} +33 -9
  18. package/dist/{chunk-N3CUDFCW.js → chunk-7VUK5RFS.js} +15 -2
  19. package/dist/{chunk-SWCTGCSC.js → chunk-7YP7T6GV.js} +1 -1
  20. package/dist/{chunk-KDVIU23F.js → chunk-BWSUPRDK.js} +1 -1
  21. package/dist/{chunk-S76AYB4M.js → chunk-CG36IONK.js} +5 -5
  22. package/dist/chunk-CJJDJ7AT.js +56 -0
  23. package/dist/{chunk-FUB7LRUE.js → chunk-DADWEUH3.js} +5 -5
  24. package/dist/{chunk-RAZTWYZN.js → chunk-DJ3ZUSC3.js} +7 -8
  25. package/dist/{chunk-MQJSXHV7.js → chunk-G3IJ3N6F.js} +5 -3
  26. package/dist/{chunk-KK4VBOH6.js → chunk-HPJNLETG.js} +10 -11
  27. package/dist/{chunk-IP7BIBXJ.js → chunk-IF2OSI5T.js} +35 -1
  28. package/dist/{chunk-T4Y6SCG3.js → chunk-IXYZUUYQ.js} +2 -2
  29. package/dist/chunk-KYS3TQAG.js +296 -0
  30. package/dist/chunk-LLM3I5YU.js +89 -0
  31. package/dist/{chunk-B3UKB46N.js → chunk-LRG3ZMZD.js} +4 -5
  32. package/dist/{chunk-ULSIJGLS.js → chunk-NFIR3GEE.js} +56 -14
  33. package/dist/{chunk-MNTSH4CL.js → chunk-NNLA7LLQ.js} +1 -1
  34. package/dist/{chunk-WGAUY5LE.js → chunk-QEFKA2QD.js} +1 -1
  35. package/dist/{chunk-BMYGAGBJ.js → chunk-QNLX477Q.js} +155 -23
  36. package/dist/chunk-TUSYOL2O.js +113 -0
  37. package/dist/{chunk-ESC6UR76.js → chunk-TWF3RICI.js} +6 -6
  38. package/dist/{chunk-NL4XPC7W.js → chunk-UVG35MWF.js} +1 -1
  39. package/dist/{chunk-L2USZT6T.js → chunk-VMJPFQNE.js} +1 -1
  40. package/dist/chunk-VRRGENS4.js +144 -0
  41. package/dist/{chunk-X5N6KC6V.js → chunk-WFSUUUAN.js} +2 -3
  42. package/dist/{chunk-6CHIYEZZ.js → chunk-XSZD4AZ6.js} +9 -83
  43. package/dist/{chunk-LXAY4A2G.js → chunk-YQR6E6OV.js} +34 -49
  44. package/dist/{chunk-47TTLEDX.js → chunk-ZHAUSEEN.js} +35 -13
  45. package/dist/{claude-launcher-YVXI76NX.js → claude-launcher-FPPHZPMR.js} +20 -7
  46. package/dist/{cli-C77H54BV.js → cli-HROW5T7X.js} +203 -228
  47. package/dist/{command-H5CILO4S.js → command-OEAV7BVX.js} +29 -30
  48. package/dist/{config-FXDG4NPJ.js → config-CLSGABD5.js} +2 -2
  49. package/dist/{connect-cmd-ZW5FV3ZW.js → connect-cmd-UNYKGDAL.js} +7 -7
  50. package/dist/context-cleanup-HSVYDGMI.js +9 -0
  51. package/dist/control-plane-launch-NYVDJESK.js +216 -0
  52. package/dist/{dist-QTX4RSCL.js → dist-WO7NOJNG.js} +2 -2
  53. package/dist/{docker-RC3PRX3Q.js → docker-BFU3AQGY.js} +4 -4
  54. package/dist/{doctor-2NQQML6P.js → doctor-23BBJWBX.js} +32 -33
  55. package/dist/{emit-artifact-cmd-7MP63KXU.js → emit-artifact-cmd-O6SCM7TV.js} +17 -17
  56. package/dist/{emit-cmd-PPN4QQF2.js → emit-cmd-7SP3I6UZ.js} +6 -6
  57. package/dist/{emit-criteria-cmd-3RXPDLNK.js → emit-criteria-cmd-LQNERZRV.js} +11 -12
  58. package/dist/{emit-finding-cmd-OL7JB6H3.js → emit-finding-cmd-AJPKHIOV.js} +12 -13
  59. package/dist/{emit-result-cmd-UZVMOCF4.js → emit-result-cmd-RUICOKWQ.js} +17 -17
  60. package/dist/emit-step-cmd-347XNGPQ.js +26 -0
  61. package/dist/{governing-source-BUU4IABS.js → governing-source-V5EEGPTA.js} +21 -22
  62. package/dist/{hook-fast-W5MKHMJT.js → hook-fast-YAZG5MDX.js} +3 -3
  63. package/dist/{import-capture-cmd-ZO6KGHI2.js → import-capture-cmd-KKFFOGWP.js} +4 -4
  64. package/dist/{import-ruler-cmd-KJMWL5V6.js → import-ruler-cmd-5P6JOXQN.js} +2 -2
  65. package/dist/index.js +4 -4
  66. package/dist/{init-WNXXYMO7.js → init-LWHDMZQG.js} +30 -31
  67. package/dist/{init-VWXIZEAN.js → init-MOINY2DD.js} +30 -31
  68. package/dist/{init-cmd-WS6TIRYT.js → init-cmd-HSMRID6A.js} +67 -26
  69. package/dist/{init-update-E3J6TVIN.js → init-update-LWX5MPPR.js} +21 -22
  70. package/dist/{install-CBWIEF3R.js → install-4SEFIIW2.js} +3 -3
  71. package/dist/{login-browser-O63QZN7D.js → login-browser-DX35MARZ.js} +2 -2
  72. package/dist/{loop-UGI2BJOT.js → loop-SYYPVFYW.js} +44 -43
  73. package/dist/{machine-JOW4RNZ7.js → machine-6X63G2KH.js} +26 -27
  74. package/dist/{mcp-serve-cmd-DOTY5FKY.js → mcp-serve-cmd-N3UTY6EE.js} +5 -5
  75. package/dist/{runner-env-4NB2GA7O.js → runner-env-FRZFFHDF.js} +4 -4
  76. package/dist/{runner-key-TC3NFWFV.js → runner-key-276SJU5R.js} +30 -31
  77. package/dist/{session-sender-NNVPSPY7.js → session-sender-GGIY5OAX.js} +19 -15
  78. package/dist/shell-function-NRD4KVUK.js +6 -0
  79. package/dist/{spec-cmd-OWVTBB4J.js → spec-cmd-SIZBRN7D.js} +12 -13
  80. package/dist/{starter-pack-OPWUDOWX.js → starter-pack-6LQVLBIA.js} +5 -5
  81. package/dist/{status-TKCLLKFG.js → status-NAK6DYSF.js} +33 -32
  82. package/dist/{sync-cmd-Q6VYNPWG.js → sync-cmd-G7GF4UTW.js} +18 -14
  83. package/dist/{watch-ARAGADTF.js → watch-EVM5GSMP.js} +18 -14
  84. package/dist/{work-claim-cmd-34FERLYX.js → work-claim-cmd-3J3QW56U.js} +16 -17
  85. package/dist/{work-cmd-7S5B2H2P.js → work-cmd-5EPPD33Y.js} +12 -13
  86. package/dist/{work-comment-cmd-SZJSPM5S.js → work-comment-cmd-2ACOZQAE.js} +12 -13
  87. package/dist/work-logs-cmd-QDD2NMJL.js +60 -0
  88. package/dist/{work-open-pr-cmd-RPXKCBWS.js → work-open-pr-cmd-XNCEI4ZM.js} +13 -14
  89. package/dist/{work-pr-cmd-5LGANL32.js → work-pr-cmd-H4OQR26N.js} +12 -13
  90. package/package.json +2 -2
  91. package/skill-pack/maintained/outerlayer-cli/SKILL.md +9 -2
  92. package/skill-pack/maintained/outerlayer-cli/references/find-out-why-a-build-ended.md +76 -0
  93. package/skill-pack/shipped.json +1 -0
  94. package/skill-pack/template/build/references/release.md +3 -1
  95. package/dist/chunk-WBT5X3NH.js +0 -40
  96. package/dist/chunk-XCCLFVXM.js +0 -401
  97. package/dist/context-adopt-O5OFXMKI.js +0 -109
  98. package/dist/context-materialize-Y5IJ4MQT.js +0 -23
  99. package/dist/{chunk-NACDBXUG.js → chunk-BM63HB2M.js} +1 -1
  100. package/dist/{chunk-ZRL6HKBY.js → chunk-FVMYKL6L.js} +1 -1
  101. package/dist/{chunk-52NC2FIU.js → chunk-NTRCK4NH.js} +1 -1
  102. package/dist/{chunk-XGP3VYOG.js → chunk-P53VEAOF.js} +1 -1
@@ -1,24 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
+ import { readJobFile } from './chunk-SADUQSO4.js';
3
4
  import { runRunnerInstall, launcherSummary, restartNote } from './chunk-MLAAT4S6.js';
4
5
  import './chunk-I2UOAV7X.js';
5
- import { readJobFile } from './chunk-SADUQSO4.js';
6
6
  import './chunk-VYAL7PUE.js';
7
7
  import { currentLink, execStartCommand } from './chunk-AMFWYESY.js';
8
- import { detectMachine } from './chunk-NL4XPC7W.js';
9
- import './chunk-Y5MXET4M.js';
10
- import './chunk-L2USZT6T.js';
11
- import './chunk-S26M3YBJ.js';
8
+ import { detectMachine } from './chunk-UVG35MWF.js';
9
+ import './chunk-7KSSBQTS.js';
10
+ import './chunk-OGFGZQA3.js';
11
+ import './chunk-VMJPFQNE.js';
12
+ import './chunk-3UZTIRLF.js';
12
13
  import './chunk-GGOMT6KF.js';
13
14
  import './chunk-X5H2WYMB.js';
14
- import './chunk-6CHIYEZZ.js';
15
- import { installService, uninstallService, realTaskScheduler } from './chunk-WGAUY5LE.js';
16
- import './chunk-KK4VBOH6.js';
17
- import './chunk-WBT5X3NH.js';
18
- import './chunk-IP7BIBXJ.js';
19
- import './chunk-S76AYB4M.js';
20
- import './chunk-MQJSXHV7.js';
21
- import { runnerVmOf, loadRunnerConfig } from './chunk-XGP3VYOG.js';
15
+ import './chunk-XSZD4AZ6.js';
16
+ import { installService, uninstallService, realTaskScheduler } from './chunk-QEFKA2QD.js';
17
+ import './chunk-HPJNLETG.js';
18
+ import './chunk-IF2OSI5T.js';
19
+ import './chunk-CG36IONK.js';
20
+ import './chunk-G3IJ3N6F.js';
21
+ import './chunk-BM63HB2M.js';
22
+ import { runnerVmOf, loadRunnerConfig } from './chunk-P53VEAOF.js';
22
23
  import './chunk-UXYLWVTQ.js';
23
24
  import './chunk-7RQ73DLO.js';
24
25
  import { realLima } from './chunk-77MM5RYD.js';
@@ -28,31 +29,29 @@ import './chunk-QOZKPLVJ.js';
28
29
  import './chunk-CX22S5BA.js';
29
30
  import './chunk-ECODQ7II.js';
30
31
  import './chunk-JBJTC3UU.js';
31
- import './chunk-OGFGZQA3.js';
32
- import './chunk-BMYGAGBJ.js';
33
- import './chunk-NACDBXUG.js';
32
+ import './chunk-QNLX477Q.js';
34
33
  import './chunk-GOSFARMS.js';
35
34
  import './chunk-ANPNT6PM.js';
36
35
  import './chunk-WZBHBH3J.js';
37
- import './chunk-W5VPCONO.js';
38
- import './chunk-LXAY4A2G.js';
39
- import './chunk-T4Y6SCG3.js';
40
- import './chunk-ZRL6HKBY.js';
41
- import './chunk-52NC2FIU.js';
42
- import './chunk-MNTSH4CL.js';
43
- import './chunk-X5N6KC6V.js';
44
- import './chunk-N3CUDFCW.js';
36
+ import './chunk-LLM3I5YU.js';
37
+ import './chunk-452TM7J4.js';
38
+ import './chunk-IXYZUUYQ.js';
39
+ import './chunk-FVMYKL6L.js';
40
+ import './chunk-NTRCK4NH.js';
41
+ import './chunk-ZJSNLVCE.js';
42
+ import './chunk-BJ3KTMDH.js';
43
+ import './chunk-G2YNJIGF.js';
44
+ import './chunk-NNLA7LLQ.js';
45
+ import './chunk-WFSUUUAN.js';
46
+ import './chunk-7VUK5RFS.js';
45
47
  import './chunk-EABW6AJQ.js';
48
+ import './chunk-CRB3POP4.js';
49
+ import './chunk-YQR6E6OV.js';
50
+ import './chunk-VNVZDWO3.js';
46
51
  import './chunk-RA3O54FC.js';
47
52
  import './chunk-M2ZWWTWZ.js';
48
53
  import './chunk-N2PXGQRL.js';
49
54
  import './chunk-BQXFBI7T.js';
50
- import './chunk-G2YNJIGF.js';
51
- import './chunk-XCCLFVXM.js';
52
- import './chunk-ZJSNLVCE.js';
53
- import './chunk-BJ3KTMDH.js';
54
- import './chunk-CRB3POP4.js';
55
- import './chunk-VNVZDWO3.js';
56
55
  import './chunk-Z5GEFMRW.js';
57
56
  import { userInfo, totalmem } from 'os';
58
57
  import { join } from 'path';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-XGP3VYOG.js';
3
+ export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-P53VEAOF.js';
4
4
  import './chunk-UXYLWVTQ.js';
5
5
  import './chunk-7RQ73DLO.js';
6
- import './chunk-BQXFBI7T.js';
7
6
  import './chunk-VNVZDWO3.js';
7
+ import './chunk-BQXFBI7T.js';
8
8
  import './chunk-Z5GEFMRW.js';
9
9
 
10
10
  createRequire(import.meta.url);
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { COMMIT_LINE, autoConnectedLine, listText as factoryListText, slug as factorySlug, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-S76AYB4M.js';
4
- import './chunk-MQJSXHV7.js';
5
- import './chunk-BMYGAGBJ.js';
6
- import './chunk-NACDBXUG.js';
3
+ export { COMMIT_LINE, autoConnectedLine, listText as factoryListText, slug as factorySlug, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-CG36IONK.js';
4
+ import './chunk-G3IJ3N6F.js';
5
+ import './chunk-BM63HB2M.js';
6
+ import './chunk-QNLX477Q.js';
7
7
  import './chunk-GOSFARMS.js';
8
8
  import './chunk-ANPNT6PM.js';
9
- import './chunk-52NC2FIU.js';
10
- import './chunk-N3CUDFCW.js';
11
- import './chunk-EABW6AJQ.js';
9
+ import './chunk-NTRCK4NH.js';
12
10
  import './chunk-BJ3KTMDH.js';
11
+ import './chunk-7VUK5RFS.js';
12
+ import './chunk-EABW6AJQ.js';
13
13
  import './chunk-CRB3POP4.js';
14
14
  import './chunk-VNVZDWO3.js';
15
15
  import './chunk-Z5GEFMRW.js';
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { cleanupEarlierCopies } from './chunk-VRRGENS4.js';
4
+ import './chunk-YQR6E6OV.js';
5
+ import './chunk-TUSYOL2O.js';
6
+ import './chunk-VNVZDWO3.js';
7
+ import './chunk-Z5GEFMRW.js';
8
+
9
+ createRequire(import.meta.url);
@@ -0,0 +1,216 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ import { sharedSkillNames, skillConflictMessage, composeDelivery } from './chunk-LLM3I5YU.js';
4
+ import { parseOwnerRepo, lookupGoverningSource, defaultGitRunner, materializeContext } from './chunk-452TM7J4.js';
5
+ import './chunk-IXYZUUYQ.js';
6
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
7
+ import { resolveGatewayCredentials } from './chunk-NTRCK4NH.js';
8
+ import './chunk-ZJSNLVCE.js';
9
+ import { findGitDirs } from './chunk-BJ3KTMDH.js';
10
+ import './chunk-G2YNJIGF.js';
11
+ import './chunk-NNLA7LLQ.js';
12
+ import './chunk-WFSUUUAN.js';
13
+ import './chunk-7VUK5RFS.js';
14
+ import './chunk-EABW6AJQ.js';
15
+ import './chunk-CRB3POP4.js';
16
+ import { cleanupEarlierCopies } from './chunk-VRRGENS4.js';
17
+ import { readSourceCache, readDeliveryRecord, isSourceCacheFresh, writeDeliveryRecord, writeSourceCache, SOURCE_CACHE_TTL_SUCCESS_MS, clearDegraded, removeLauncherDeliveryRecord } from './chunk-YQR6E6OV.js';
18
+ import './chunk-TUSYOL2O.js';
19
+ import './chunk-VNVZDWO3.js';
20
+ import './chunk-RA3O54FC.js';
21
+ import './chunk-M2ZWWTWZ.js';
22
+ import './chunk-N2PXGQRL.js';
23
+ import './chunk-BQXFBI7T.js';
24
+ import './chunk-Z5GEFMRW.js';
25
+ import { execFileSync } from 'child_process';
26
+ import { existsSync, mkdirSync, mkdtempSync, cpSync, renameSync, rmSync, readdirSync } from 'fs';
27
+ import { join } from 'path';
28
+
29
+ createRequire(import.meta.url);
30
+ var GOVERNANCE_LOOKUP = { timeoutMs: 5e3, attempts: 1 };
31
+ function laptopDeliveryDir(home, repository, sha) {
32
+ if (!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(repository) || repository.split("/").some((part) => part === "." || part === "..") || !/^[0-9a-f]{7,64}$/.test(sha)) {
33
+ throw new Error(`cannot name a directory for ${repository} at ${sha}`);
34
+ }
35
+ return join(home, ".outerlayer", "context", ...repository.split("/"), sha);
36
+ }
37
+ function gitOutput(cwd, args) {
38
+ try {
39
+ return execFileSync("git", args, { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], timeout: 5e3 }).trim();
40
+ } catch {
41
+ return void 0;
42
+ }
43
+ }
44
+ function committedSkillNames(repoRoot) {
45
+ const entry = gitOutput(repoRoot, ["ls-files", "-s", "--", ".claude/skills"]) ?? "";
46
+ if (entry.startsWith("120000 ")) {
47
+ try {
48
+ return new Set(readdirSync(join(repoRoot, ".claude", "skills")));
49
+ } catch {
50
+ return /* @__PURE__ */ new Set();
51
+ }
52
+ }
53
+ const out = gitOutput(repoRoot, ["ls-files", "-z", "--", ".claude/skills"]) ?? "";
54
+ const names = /* @__PURE__ */ new Set();
55
+ for (const path of out.split("\0")) {
56
+ const name = path.split("/")[2];
57
+ if (name !== void 0 && name !== "") names.add(name);
58
+ }
59
+ return names;
60
+ }
61
+ async function storeCopy(input) {
62
+ const staging = join(input.home, ".outerlayer", "context", ".staging");
63
+ mkdirSync(staging, { recursive: true });
64
+ const work = mkdtempSync(join(staging, "launch-"));
65
+ try {
66
+ const tree = join(work, "tree");
67
+ mkdirSync(tree);
68
+ for (const args of [
69
+ ["init", "-q", "--initial-branch=main", tree],
70
+ ["-C", tree, "remote", "add", "origin", input.originUrl]
71
+ ]) {
72
+ const done = defaultGitRunner(args, { cwd: work, timeoutMs: 1e4 });
73
+ if (!done.ok) return `the scratch directory could not be prepared: ${done.stderr.trim().split("\n")[0] ?? ""}`;
74
+ }
75
+ const result = await materializeContext({ cwd: tree, home: input.home, pinnedSource: input.source, fetchImpl: input.fetchImpl });
76
+ if (result.status !== "materialized") return result.message ?? `the control plane was not fetched (${result.status})`;
77
+ composeDelivery({ tree, dir: input.dir });
78
+ const composed = join(work, "composed");
79
+ mkdirSync(composed);
80
+ for (const entry of ["AGENTS.md", "CLAUDE.md", "settings.json", ".claude", ".outerlayer"]) {
81
+ if (existsSync(join(tree, entry))) cpSync(join(tree, entry), join(composed, entry), { recursive: true });
82
+ }
83
+ mkdirSync(join(input.dir, ".."), { recursive: true });
84
+ try {
85
+ renameSync(composed, input.dir);
86
+ } catch (err) {
87
+ if (!existsSync(join(input.dir, "settings.json"))) throw err;
88
+ }
89
+ return void 0;
90
+ } catch (err) {
91
+ return err instanceof Error ? err.message : String(err);
92
+ } finally {
93
+ rmSync(work, { recursive: true, force: true });
94
+ }
95
+ }
96
+ async function askGovernance(input) {
97
+ const { gitCommonDir, credentials, now } = input;
98
+ const answer = await lookupGoverningSource({ url: credentials.url, apiKey: credentials.credential, appId: credentials.appId }, input.ownName, input.fetchImpl, input.lookup);
99
+ const named = answer.kind === "answered" ? answer.source : void 0;
100
+ if (named === null) {
101
+ writeSourceCache(gitCommonDir, { checkedAt: new Date(now).toISOString(), status: "self", ttlMs: SOURCE_CACHE_TTL_SUCCESS_MS });
102
+ clearDegraded(gitCommonDir);
103
+ removeLauncherDeliveryRecord(gitCommonDir);
104
+ return { kind: "self" };
105
+ }
106
+ if (named !== void 0) {
107
+ writeSourceCache(gitCommonDir, { checkedAt: new Date(now).toISOString(), status: "governed", repository: named.repository, ref: named.ref, sha: named.sha, ttlMs: SOURCE_CACHE_TTL_SUCCESS_MS });
108
+ clearDegraded(gitCommonDir);
109
+ return { kind: "governed", source: named };
110
+ }
111
+ if (answer.kind === "answered") return { kind: "unknown", why: "the gateway is too old to name the control plane" };
112
+ if (answer.kind === "rejected") return { kind: "unknown", why: "the gateway rejected the saved login or key" };
113
+ return { kind: "unknown", why: describeFailure(answer.failure) };
114
+ }
115
+ async function governanceOf(input) {
116
+ const dirs = findGitDirs(input.cwd);
117
+ if (dirs === void 0) return "self";
118
+ const cache = readSourceCache(dirs.gitCommonDir);
119
+ if (cache?.status === "governed" || readDeliveryRecord(dirs.gitCommonDir) !== void 0) return "governed";
120
+ if (cache?.status === "self" && cache.unanswered === void 0 && isSourceCacheFresh(cache, Date.now())) return "self";
121
+ const credentials = resolveGatewayCredentials({ home: input.home, env: input.env, cwd: dirs.repoRoot });
122
+ const originUrl = gitOutput(dirs.repoRoot, ["config", "--get", "remote.origin.url"]);
123
+ const ownName = originUrl === void 0 ? void 0 : parseOwnerRepo(originUrl);
124
+ if (!credentials.ok || ownName === void 0) return "self";
125
+ const governance = await askGovernance({
126
+ gitCommonDir: dirs.gitCommonDir,
127
+ credentials,
128
+ ownName,
129
+ fetchImpl: input.fetchImpl ?? defaultFetch,
130
+ lookup: input.lookup ?? { timeoutMs: 2e3, attempts: 1 },
131
+ now: Date.now()
132
+ });
133
+ return governance.kind;
134
+ }
135
+ async function resolveLaunchPlane(deps) {
136
+ const dirs = findGitDirs(deps.cwd);
137
+ if (dirs === void 0) return { kind: "none" };
138
+ const { repoRoot, gitCommonDir } = dirs;
139
+ cleanupEarlierCopies({ repoRoot, gitCommonDir });
140
+ const credentials = resolveGatewayCredentials({ home: deps.home, env: deps.env, cwd: repoRoot });
141
+ if (!credentials.ok) return { kind: "none" };
142
+ const originUrl = gitOutput(repoRoot, ["config", "--get", "remote.origin.url"]);
143
+ const ownName = originUrl === void 0 ? void 0 : parseOwnerRepo(originUrl);
144
+ if (originUrl === void 0 || ownName === void 0) return { kind: "none" };
145
+ const now = Date.now();
146
+ const cache = readSourceCache(gitCommonDir);
147
+ if (cache?.status === "self" && cache.unanswered === void 0 && isSourceCacheFresh(cache, now)) return { kind: "none" };
148
+ const fetchImpl = deps.fetchImpl ?? defaultFetch;
149
+ const governance = await askGovernance({ gitCommonDir, credentials, ownName, fetchImpl, lookup: GOVERNANCE_LOOKUP, now });
150
+ if (governance.kind === "self") {
151
+ if (existsSync(join(repoRoot, ".outerlayer-pin.json"))) {
152
+ deps.stderr(`outerlayer claude: no control plane governs ${ownName} any more; starting Claude Code without one. The committed .outerlayer-pin.json is no longer used and can be deleted
153
+ `);
154
+ }
155
+ return { kind: "none" };
156
+ }
157
+ const source = governance.kind === "governed" ? governance.source : void 0;
158
+ const whyNoAnswer = governance.kind === "unknown" ? governance.why : "";
159
+ const last = readDeliveryRecord(gitCommonDir);
160
+ if (source === void 0) {
161
+ const lastCopy = last !== void 0 && existsSync(last.dir) ? last : void 0;
162
+ const knownGoverned = cache?.status === "governed" || last !== void 0;
163
+ if (!knownGoverned) {
164
+ deps.stderr(`outerlayer claude: ${whyNoAnswer}, so whether a control plane governs this repository is unknown; starting Claude Code without one
165
+ `);
166
+ return { kind: "none" };
167
+ }
168
+ if (lastCopy === void 0) {
169
+ return { kind: "refused", message: `outerlayer claude: the control plane could not be fetched: ${whyNoAnswer}, and no copy of it is stored on this machine
170
+ ` };
171
+ }
172
+ deps.stderr(`outerlayer claude: ${whyNoAnswer}; starting with the control plane copy from ${lastCopy.sha.slice(0, 7)}, which may be out of date
173
+ `);
174
+ return finish(lastCopy, repoRoot, gitCommonDir, ownName);
175
+ }
176
+ let dir;
177
+ try {
178
+ dir = laptopDeliveryDir(deps.home, source.repository, source.sha);
179
+ } catch (err) {
180
+ return { kind: "refused", message: `outerlayer claude: the control plane could not be fetched: ${err instanceof Error ? err.message : String(err)}
181
+ ` };
182
+ }
183
+ if (!existsSync(join(dir, "settings.json"))) {
184
+ const problem = await storeCopy({ home: deps.home, dir, originUrl, source, fetchImpl });
185
+ if (problem !== void 0) {
186
+ if (last !== void 0 && existsSync(last.dir)) {
187
+ deps.stderr(`outerlayer claude: the control plane could not be fetched (${problem}); starting with the copy from ${last.sha.slice(0, 7)}, which may be out of date
188
+ `);
189
+ return finish(last, repoRoot, gitCommonDir, ownName);
190
+ }
191
+ return { kind: "refused", message: `outerlayer claude: the control plane could not be fetched: ${problem}
192
+ ` };
193
+ }
194
+ }
195
+ return finish({ schemaVersion: 1, repository: source.repository, ref: source.ref, sha: source.sha, dir }, repoRoot, gitCommonDir, ownName);
196
+ }
197
+ function describeFailure(failure) {
198
+ if (failure.kind === "timeout") return `the gateway did not answer within ${(failure.timeoutMs ?? 0) / 1e3} seconds`;
199
+ if (failure.kind === "status") return `the gateway answered ${failure.status}`;
200
+ return `the gateway could not be reached (${failure.message ?? "network error"})`;
201
+ }
202
+ function finish(record, repoRoot, gitCommonDir, ownName) {
203
+ const own = committedSkillNames(repoRoot);
204
+ const clash = sharedSkillNames(record.dir).find((name) => own.has(name));
205
+ if (clash !== void 0) {
206
+ return {
207
+ kind: "refused",
208
+ message: `outerlayer claude: ${skillConflictMessage({ skill: clash, repository: ownName, controlPlane: record.repository })}, and would replace it in this session; rename or remove it from the repository
209
+ `
210
+ };
211
+ }
212
+ writeDeliveryRecord(gitCommonDir, { ...record, launcher: true });
213
+ return { kind: "attach", dir: record.dir };
214
+ }
215
+
216
+ export { governanceOf, resolveLaunchPlane };
@@ -1,7 +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-BMYGAGBJ.js';
4
- import './chunk-N3CUDFCW.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-QNLX477Q.js';
4
+ import './chunk-7VUK5RFS.js';
5
5
  import './chunk-Z5GEFMRW.js';
6
6
 
7
7
  createRequire(import.meta.url);
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { childEnvironment, createDockerHost, spawnRun } from './chunk-L2USZT6T.js';
4
- import './chunk-S26M3YBJ.js';
3
+ export { childEnvironment, createDockerHost, spawnRun } from './chunk-VMJPFQNE.js';
4
+ import './chunk-3UZTIRLF.js';
5
5
  import './chunk-7RQ73DLO.js';
6
6
  import './chunk-QOZKPLVJ.js';
7
7
  import './chunk-CX22S5BA.js';
8
- import './chunk-BMYGAGBJ.js';
9
- import './chunk-N3CUDFCW.js';
8
+ import './chunk-QNLX477Q.js';
9
+ import './chunk-7VUK5RFS.js';
10
10
  import './chunk-N2PXGQRL.js';
11
11
  import './chunk-BQXFBI7T.js';
12
12
  import './chunk-Z5GEFMRW.js';
@@ -1,27 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
+ import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-DADWEUH3.js';
4
+ import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
3
5
  import { launcherCheck } from './chunk-VYAL7PUE.js';
4
- import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-FUB7LRUE.js';
5
6
  import './chunk-AMFWYESY.js';
6
- import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
7
- import './chunk-GOBOJMOJ.js';
8
7
  import { RepoFilter } from './chunk-TBT347UY.js';
9
- import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-NL4XPC7W.js';
10
- import { MIN_ENGINE_MAJOR } from './chunk-Y5MXET4M.js';
11
- import { resolveDevcontainerCli, spawnRun } from './chunk-L2USZT6T.js';
12
- import { buildxState } from './chunk-S26M3YBJ.js';
8
+ import './chunk-6D7GT22T.js';
9
+ import './chunk-7YP7T6GV.js';
10
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-UVG35MWF.js';
11
+ import { MIN_ENGINE_MAJOR } from './chunk-7KSSBQTS.js';
12
+ import './chunk-OGFGZQA3.js';
13
+ import { resolveDevcontainerCli, spawnRun } from './chunk-VMJPFQNE.js';
14
+ import { buildxState } from './chunk-3UZTIRLF.js';
13
15
  import './chunk-GGOMT6KF.js';
14
16
  import './chunk-X5H2WYMB.js';
15
- import './chunk-6CHIYEZZ.js';
16
- import './chunk-SWCTGCSC.js';
17
- import './chunk-WGAUY5LE.js';
17
+ import './chunk-XSZD4AZ6.js';
18
+ import './chunk-QEFKA2QD.js';
18
19
  import './chunk-6MZSX4M7.js';
19
- import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-KK4VBOH6.js';
20
- import './chunk-WBT5X3NH.js';
21
- import './chunk-IP7BIBXJ.js';
22
- import './chunk-S76AYB4M.js';
23
- import './chunk-MQJSXHV7.js';
24
- import { builtinKind } from './chunk-XGP3VYOG.js';
20
+ import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-HPJNLETG.js';
21
+ import './chunk-IF2OSI5T.js';
22
+ import './chunk-CG36IONK.js';
23
+ import './chunk-G3IJ3N6F.js';
24
+ import './chunk-BM63HB2M.js';
25
+ import { builtinKind } from './chunk-P53VEAOF.js';
25
26
  import { allowHostProblem, MAX_ALLOW_HOSTS } from './chunk-UXYLWVTQ.js';
26
27
  import { parseSize } from './chunk-7RQ73DLO.js';
27
28
  import './chunk-3CWUOFV6.js';
@@ -29,31 +30,29 @@ import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-
29
30
  import { CLAUDE_CODE_VERSION } from './chunk-CX22S5BA.js';
30
31
  import './chunk-ECODQ7II.js';
31
32
  import './chunk-JBJTC3UU.js';
32
- import './chunk-OGFGZQA3.js';
33
- import { compareVersions } from './chunk-BMYGAGBJ.js';
34
- import './chunk-NACDBXUG.js';
33
+ import { compareVersions } from './chunk-QNLX477Q.js';
35
34
  import './chunk-GOSFARMS.js';
36
35
  import './chunk-ANPNT6PM.js';
37
36
  import './chunk-WZBHBH3J.js';
38
- import { defaultGitRunner } from './chunk-W5VPCONO.js';
39
- import './chunk-LXAY4A2G.js';
40
- import './chunk-T4Y6SCG3.js';
41
- import { defaultFetch } from './chunk-ZRL6HKBY.js';
42
- import './chunk-52NC2FIU.js';
43
- import './chunk-MNTSH4CL.js';
44
- import './chunk-X5N6KC6V.js';
45
- import './chunk-N3CUDFCW.js';
37
+ import './chunk-LLM3I5YU.js';
38
+ import { defaultGitRunner } from './chunk-452TM7J4.js';
39
+ import './chunk-IXYZUUYQ.js';
40
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
41
+ import './chunk-NTRCK4NH.js';
42
+ import './chunk-ZJSNLVCE.js';
43
+ import './chunk-BJ3KTMDH.js';
44
+ import './chunk-G2YNJIGF.js';
45
+ import './chunk-NNLA7LLQ.js';
46
+ import './chunk-WFSUUUAN.js';
47
+ import './chunk-7VUK5RFS.js';
46
48
  import './chunk-EABW6AJQ.js';
49
+ import './chunk-CRB3POP4.js';
50
+ import './chunk-YQR6E6OV.js';
51
+ import { homeFromEnv } from './chunk-VNVZDWO3.js';
47
52
  import './chunk-RA3O54FC.js';
48
53
  import { loadHostKey } from './chunk-M2ZWWTWZ.js';
49
54
  import { runnerDir, hostKeyPath, jobsDir } from './chunk-N2PXGQRL.js';
50
55
  import './chunk-BQXFBI7T.js';
51
- import './chunk-G2YNJIGF.js';
52
- import './chunk-XCCLFVXM.js';
53
- import './chunk-ZJSNLVCE.js';
54
- import './chunk-BJ3KTMDH.js';
55
- import './chunk-CRB3POP4.js';
56
- import { homeFromEnv } from './chunk-VNVZDWO3.js';
57
56
  import './chunk-Z5GEFMRW.js';
58
57
  import { spawnSync } from 'child_process';
59
58
  import { existsSync, readdirSync, statSync, readFileSync } from 'fs';
@@ -1,35 +1,35 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-JF42URPU.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-7SJPQWBM.js';
4
+ import './chunk-KYS3TQAG.js';
4
5
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
5
6
  import './chunk-TBT347UY.js';
6
- import { autoConnect } from './chunk-WBT5X3NH.js';
7
- import { detectActiveSession } from './chunk-IP7BIBXJ.js';
8
- import './chunk-S76AYB4M.js';
9
- import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-MQJSXHV7.js';
7
+ import { detectActiveSession, autoConnect } from './chunk-IF2OSI5T.js';
8
+ import './chunk-CG36IONK.js';
9
+ import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-G3IJ3N6F.js';
10
+ import './chunk-BM63HB2M.js';
11
+ import './chunk-NFIR3GEE.js';
10
12
  import './chunk-F7CU5ABH.js';
11
13
  import './chunk-BKO6JEZI.js';
12
- import { resolveRepoIdentity } from './chunk-BMYGAGBJ.js';
13
- import './chunk-NACDBXUG.js';
14
+ import { resolveRepoIdentity } from './chunk-QNLX477Q.js';
14
15
  import './chunk-GOSFARMS.js';
15
16
  import { C } from './chunk-ANPNT6PM.js';
16
17
  import './chunk-T2Q7ISPE.js';
17
18
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
18
19
  import './chunk-5QRP3MVS.js';
19
- import { defaultFetch } from './chunk-ZRL6HKBY.js';
20
- import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-52NC2FIU.js';
21
- import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-N3CUDFCW.js';
22
- import './chunk-EABW6AJQ.js';
23
- import './chunk-M2ZWWTWZ.js';
24
- import './chunk-N2PXGQRL.js';
25
- import './chunk-BQXFBI7T.js';
26
- import './chunk-ULSIJGLS.js';
27
- import './chunk-G2YNJIGF.js';
28
- import './chunk-XCCLFVXM.js';
20
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
21
+ import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
29
22
  import './chunk-ZJSNLVCE.js';
30
23
  import './chunk-BJ3KTMDH.js';
24
+ import './chunk-G2YNJIGF.js';
25
+ import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-7VUK5RFS.js';
26
+ import './chunk-EABW6AJQ.js';
31
27
  import { cliInvocation } from './chunk-CRB3POP4.js';
28
+ import './chunk-TUSYOL2O.js';
32
29
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
30
+ import './chunk-M2ZWWTWZ.js';
31
+ import './chunk-N2PXGQRL.js';
32
+ import './chunk-BQXFBI7T.js';
33
33
  import './chunk-Z5GEFMRW.js';
34
34
  import { createHash, randomUUID } from 'crypto';
35
35
  import { statSync, readFileSync, mkdirSync, existsSync, writeFileSync, renameSync, unlinkSync } from 'fs';
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { EmitError, runEmit } from './chunk-47TTLEDX.js';
3
+ export { EmitError, runEmit } from './chunk-ZHAUSEEN.js';
4
4
  import './chunk-ANPNT6PM.js';
5
- import './chunk-T4Y6SCG3.js';
6
- import './chunk-MNTSH4CL.js';
7
- import './chunk-X5N6KC6V.js';
8
- import './chunk-N3CUDFCW.js';
9
- import './chunk-RA3O54FC.js';
5
+ import './chunk-IXYZUUYQ.js';
6
+ import './chunk-NNLA7LLQ.js';
7
+ import './chunk-WFSUUUAN.js';
8
+ import './chunk-7VUK5RFS.js';
10
9
  import './chunk-CRB3POP4.js';
11
10
  import './chunk-VNVZDWO3.js';
11
+ import './chunk-RA3O54FC.js';
12
12
  import './chunk-Z5GEFMRW.js';
13
13
 
14
14
  createRequire(import.meta.url);
@@ -1,26 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { autoConnect } from './chunk-WBT5X3NH.js';
5
- import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-S76AYB4M.js';
7
- import './chunk-MQJSXHV7.js';
8
- import { resolveRepoIdentity } from './chunk-BMYGAGBJ.js';
9
- import './chunk-NACDBXUG.js';
4
+ import { detectActiveSession, autoConnect } from './chunk-IF2OSI5T.js';
5
+ import './chunk-CG36IONK.js';
6
+ import './chunk-G3IJ3N6F.js';
7
+ import './chunk-BM63HB2M.js';
8
+ import { resolveRepoIdentity } from './chunk-QNLX477Q.js';
10
9
  import './chunk-GOSFARMS.js';
11
10
  import { C } from './chunk-ANPNT6PM.js';
12
11
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
13
12
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
14
- import { defaultFetch } from './chunk-ZRL6HKBY.js';
15
- import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-52NC2FIU.js';
16
- import { CriteriaListSchema } from './chunk-N3CUDFCW.js';
13
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
14
+ import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
15
+ import './chunk-BJ3KTMDH.js';
16
+ import { CriteriaListSchema } from './chunk-7VUK5RFS.js';
17
17
  import './chunk-EABW6AJQ.js';
18
+ import './chunk-CRB3POP4.js';
19
+ import { homeFromEnv } from './chunk-VNVZDWO3.js';
18
20
  import './chunk-M2ZWWTWZ.js';
19
21
  import './chunk-N2PXGQRL.js';
20
22
  import './chunk-BQXFBI7T.js';
21
- import './chunk-BJ3KTMDH.js';
22
- import './chunk-CRB3POP4.js';
23
- import { homeFromEnv } from './chunk-VNVZDWO3.js';
24
23
  import './chunk-Z5GEFMRW.js';
25
24
  import { readFileSync } from 'fs';
26
25
 
@@ -1,27 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { autoConnect } from './chunk-WBT5X3NH.js';
5
- import { detectActiveSession, transcriptPathForSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-S76AYB4M.js';
7
- import './chunk-MQJSXHV7.js';
8
- import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-BMYGAGBJ.js';
9
- import './chunk-NACDBXUG.js';
4
+ import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-IF2OSI5T.js';
5
+ import './chunk-CG36IONK.js';
6
+ import './chunk-G3IJ3N6F.js';
7
+ import './chunk-BM63HB2M.js';
8
+ import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-QNLX477Q.js';
10
9
  import './chunk-GOSFARMS.js';
11
10
  import { C } from './chunk-ANPNT6PM.js';
12
11
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
13
12
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
14
- import { defaultFetch } from './chunk-ZRL6HKBY.js';
15
- import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-52NC2FIU.js';
16
- import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-N3CUDFCW.js';
17
- import './chunk-EABW6AJQ.js';
18
- import './chunk-M2ZWWTWZ.js';
19
- import './chunk-N2PXGQRL.js';
20
- import './chunk-BQXFBI7T.js';
13
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
14
+ import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
21
15
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
22
16
  import './chunk-BJ3KTMDH.js';
17
+ import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-7VUK5RFS.js';
18
+ import './chunk-EABW6AJQ.js';
23
19
  import { cliInvocation } from './chunk-CRB3POP4.js';
24
20
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
21
+ import './chunk-M2ZWWTWZ.js';
22
+ import './chunk-N2PXGQRL.js';
23
+ import './chunk-BQXFBI7T.js';
25
24
  import './chunk-Z5GEFMRW.js';
26
25
  import { readFileSync, existsSync } from 'fs';
27
26
  import { join, dirname, basename } from 'path';