@outerlayer/cli 0.17.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 (160) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +36 -2
  3. package/dist/agent-setup-TPR4BBFV.js +27 -0
  4. package/dist/{artifact-link-cmd-2F47LT7F.js → artifact-link-cmd-W7XF5BFB.js} +4 -3
  5. package/dist/{build-BG2YENGK.js → build-TQ6X5PYN.js} +5 -4
  6. package/dist/build-info.json +1 -1
  7. package/dist/{builder-2D3WSOOY.js → builder-C4QNTYMS.js} +5 -6
  8. package/dist/{check-5XE7XMC4.js → check-UWQAL2MN.js} +56 -52
  9. package/dist/{chunk-R7PF5OOU.js → chunk-3CWUOFV6.js} +21 -14
  10. package/dist/{chunk-4NPZVMJU.js → chunk-3UZTIRLF.js} +60 -4
  11. package/dist/chunk-452TM7J4.js +502 -0
  12. package/dist/{chunk-NNRTPG7X.js → chunk-5GHGAF6P.js} +4 -4
  13. package/dist/{chunk-WVUIRTWA.js → chunk-5MYFOW5V.js} +196 -37
  14. package/dist/{chunk-HGECYFEI.js → chunk-5TN7GLYX.js} +138 -109
  15. package/dist/{chunk-VQYBXPI7.js → chunk-6D7GT22T.js} +5 -5
  16. package/dist/{chunk-G5NPRL2K.js → chunk-6U3MV7TZ.js} +687 -76
  17. package/dist/{chunk-42ZI52JW.js → chunk-6X4SQ5MY.js} +4 -3
  18. package/dist/{chunk-MAK5LYRF.js → chunk-7KSSBQTS.js} +278 -535
  19. package/dist/{chunk-NWQTTSBB.js → chunk-7SJPQWBM.js} +41 -16
  20. package/dist/{chunk-J5M7BSJQ.js → chunk-7VUK5RFS.js} +23 -4
  21. package/dist/{chunk-OZGHL5Y5.js → chunk-7YP7T6GV.js} +2 -2
  22. package/dist/{chunk-TI7B7UEO.js → chunk-AMFWYESY.js} +1 -1
  23. package/dist/{chunk-YRYMNBGQ.js → chunk-ANPNT6PM.js} +2 -1
  24. package/dist/{chunk-4KSQKQXE.js → chunk-BM63HB2M.js} +20 -16
  25. package/dist/{chunk-4Q7OMKAT.js → chunk-BQXFBI7T.js} +81 -5
  26. package/dist/{chunk-ADJRGVZC.js → chunk-BWSUPRDK.js} +1 -1
  27. package/dist/{chunk-3NSNIIBE.js → chunk-CG36IONK.js} +18 -17
  28. package/dist/chunk-CJJDJ7AT.js +56 -0
  29. package/dist/chunk-CRB3POP4.js +34 -0
  30. package/dist/{chunk-LWSJQJC6.js → chunk-DADWEUH3.js} +7 -7
  31. package/dist/{chunk-KG5ECZGJ.js → chunk-DJ3ZUSC3.js} +11 -11
  32. package/dist/{chunk-F47JBIAW.js → chunk-DSF2FWAZ.js} +2 -1
  33. package/dist/{chunk-N5FOE5PS.js → chunk-ECODQ7II.js} +4 -33
  34. package/dist/{chunk-HHJDN6AU.js → chunk-ESVW4MJY.js} +1 -1
  35. package/dist/{chunk-YO4PSLVB.js → chunk-FVMYKL6L.js} +1 -1
  36. package/dist/chunk-G2YNJIGF.js +44 -0
  37. package/dist/{chunk-WUYTWNMA.js → chunk-G3IJ3N6F.js} +5 -3
  38. package/dist/{chunk-QKFB4K7X.js → chunk-GGOMT6KF.js} +1 -1
  39. package/dist/{chunk-N6LURUEF.js → chunk-GOSFARMS.js} +1 -1
  40. package/dist/{chunk-S3NYLI2P.js → chunk-HPJNLETG.js} +93 -38
  41. package/dist/{chunk-IP7BIBXJ.js → chunk-IF2OSI5T.js} +35 -1
  42. package/dist/{chunk-C5Y5ZJJZ.js → chunk-IXYZUUYQ.js} +5 -4
  43. package/dist/chunk-JBJTC3UU.js +35 -0
  44. package/dist/chunk-KYS3TQAG.js +296 -0
  45. package/dist/chunk-LLM3I5YU.js +89 -0
  46. package/dist/{chunk-YU3VKZ5F.js → chunk-LRG3ZMZD.js} +6 -7
  47. package/dist/{chunk-V7NIVOFD.js → chunk-M2ZWWTWZ.js} +1 -1
  48. package/dist/{chunk-ERI5GBNI.js → chunk-MLAAT4S6.js} +3 -3
  49. package/dist/{chunk-O765JR4W.js → chunk-MTP2QEVO.js} +1 -1
  50. package/dist/{chunk-ZM2IMMYN.js → chunk-N2PXGQRL.js} +9 -1
  51. package/dist/{chunk-BWQ66M6N.js → chunk-NFIR3GEE.js} +98 -24
  52. package/dist/{chunk-POJMEEJJ.js → chunk-NNLA7LLQ.js} +1 -1
  53. package/dist/{chunk-PLMTLGYH.js → chunk-NTRCK4NH.js} +5 -4
  54. package/dist/{chunk-22RMZBGW.js → chunk-P53VEAOF.js} +1 -1
  55. package/dist/{chunk-RLYZLUQ7.js → chunk-QEFKA2QD.js} +2 -2
  56. package/dist/{chunk-JXYVA45C.js → chunk-QNLX477Q.js} +1200 -322
  57. package/dist/{chunk-UGP76IZ5.js → chunk-S5PCA3SN.js} +1 -1
  58. package/dist/{chunk-RMWLBUCJ.js → chunk-SADUQSO4.js} +1 -1
  59. package/dist/{chunk-GQD22KKN.js → chunk-T2Q7ISPE.js} +2 -1
  60. package/dist/chunk-TUSYOL2O.js +113 -0
  61. package/dist/{chunk-NBGDBTO2.js → chunk-TWF3RICI.js} +9 -8
  62. package/dist/{chunk-ONKJUM6R.js → chunk-UVG35MWF.js} +1 -1
  63. package/dist/{chunk-KMDLFI4P.js → chunk-VMJPFQNE.js} +1 -1
  64. package/dist/chunk-VRRGENS4.js +144 -0
  65. package/dist/{chunk-PTW6W5NR.js → chunk-VYAL7PUE.js} +1 -1
  66. package/dist/{chunk-OHVJA253.js → chunk-WFSUUUAN.js} +47 -30
  67. package/dist/{chunk-RSNSZ2LJ.js → chunk-X5H2WYMB.js} +1 -1
  68. package/dist/{chunk-HYZRY4KZ.js → chunk-XNGMQ27R.js} +16 -6
  69. package/dist/chunk-XSZD4AZ6.js +490 -0
  70. package/dist/chunk-YQR6E6OV.js +109 -0
  71. package/dist/{chunk-XCK2YAY5.js → chunk-YVZJ6GKF.js} +3 -2
  72. package/dist/{chunk-2MNPHL23.js → chunk-ZHAUSEEN.js} +38 -15
  73. package/dist/claude-launcher-FPPHZPMR.js +115 -0
  74. package/dist/{cli-A76AXELQ.js → cli-HROW5T7X.js} +567 -285
  75. package/dist/{command-R2QCVX55.js → command-OEAV7BVX.js} +42 -40
  76. package/dist/{config-N3C6DFQA.js → config-CLSGABD5.js} +2 -3
  77. package/dist/{connect-cmd-JBKAQNSF.js → connect-cmd-UNYKGDAL.js} +10 -9
  78. package/dist/context-cleanup-HSVYDGMI.js +9 -0
  79. package/dist/control-plane-launch-NYVDJESK.js +216 -0
  80. package/dist/{dist-LKDWQWZ7.js → dist-WO7NOJNG.js} +2 -2
  81. package/dist/{docker-4J77Q2BF.js → docker-BFU3AQGY.js} +7 -8
  82. package/dist/{doctor-4TAIARIG.js → doctor-23BBJWBX.js} +48 -42
  83. package/dist/{emit-artifact-cmd-MPZVR56N.js → emit-artifact-cmd-O6SCM7TV.js} +27 -24
  84. package/dist/emit-cmd-7SP3I6UZ.js +14 -0
  85. package/dist/{emit-criteria-cmd-EFGYI23V.js → emit-criteria-cmd-LQNERZRV.js} +17 -16
  86. package/dist/{emit-finding-cmd-5GF3V4LR.js → emit-finding-cmd-AJPKHIOV.js} +18 -17
  87. package/dist/{emit-result-cmd-I4OADKMD.js → emit-result-cmd-RUICOKWQ.js} +22 -19
  88. package/dist/emit-step-cmd-347XNGPQ.js +26 -0
  89. package/dist/{exec-client-CQV746UF.js → exec-client-7UMESIE2.js} +3 -4
  90. package/dist/governing-source-V5EEGPTA.js +34 -0
  91. package/dist/guest-init-KPBQOFE5.js +9 -0
  92. package/dist/{hook-fast-R4FVSZ2H.js → hook-fast-YAZG5MDX.js} +5 -2
  93. package/dist/host-key-U4B5QETR.js +8 -0
  94. package/dist/{import-capture-cmd-EQ35EARA.js → import-capture-cmd-KKFFOGWP.js} +7 -5
  95. package/dist/{import-ruler-cmd-BGAZXCQM.js → import-ruler-cmd-5P6JOXQN.js} +5 -3
  96. package/dist/index.js +8 -4
  97. package/dist/{init-PWU5YVL7.js → init-LWHDMZQG.js} +40 -38
  98. package/dist/init-MOINY2DD.js +53 -0
  99. package/dist/{init-cmd-XAVO7HYZ.js → init-cmd-HSMRID6A.js} +75 -30
  100. package/dist/{init-update-CVCWD6VS.js → init-update-LWX5MPPR.js} +29 -29
  101. package/dist/{install-HDBIPHTX.js → install-4SEFIIW2.js} +4 -5
  102. package/dist/{install-cmd-5HYMXLEW.js → install-cmd-QDOTR4OM.js} +5 -4
  103. package/dist/{login-browser-QZCS3WW6.js → login-browser-DX35MARZ.js} +5 -4
  104. package/dist/{logout-cmd-QAUFDJ6J.js → logout-cmd-5V5MMBSY.js} +3 -2
  105. package/dist/{logs-H55NWW4H.js → logs-AMLKC3VP.js} +3 -1
  106. package/dist/loop-SYYPVFYW.js +77 -0
  107. package/dist/machine-6X63G2KH.js +48 -0
  108. package/dist/{mcp-install-cmd-FDTPQQS6.js → mcp-install-cmd-GGWB3JJ2.js} +3 -2
  109. package/dist/{mcp-serve-cmd-3KVYEUXG.js → mcp-serve-cmd-N3UTY6EE.js} +11 -9
  110. package/dist/paths-7XP63OAX.js +7 -0
  111. package/dist/pending-532ABZYC.js +8 -0
  112. package/dist/{pidfile-UZRH774M.js → pidfile-3DM4OBKO.js} +4 -2
  113. package/dist/{record-C43U4PKS.js → record-3WP6V2K5.js} +3 -2
  114. package/dist/{runner-env-EN7YE7QX.js → runner-env-FRZFFHDF.js} +5 -6
  115. package/dist/{runner-key-6SLBI7PP.js → runner-key-276SJU5R.js} +40 -38
  116. package/dist/session-sender-GGIY5OAX.js +36 -0
  117. package/dist/{pending-MXLSRYMO.js → shell-function-NRD4KVUK.js} +1 -2
  118. package/dist/spec-cmd-SIZBRN7D.js +115 -0
  119. package/dist/{starter-pack-KF66HGZR.js → starter-pack-6LQVLBIA.js} +7 -5
  120. package/dist/{status-7VNQN5PW.js → status-NAK6DYSF.js} +46 -42
  121. package/dist/{statusline-fast-SVTMBMD7.js → statusline-fast-KN3BX67H.js} +2 -1
  122. package/dist/sync-cmd-G7GF4UTW.js +35 -0
  123. package/dist/{watch-23HSAEI6.js → watch-EVM5GSMP.js} +22 -15
  124. package/dist/{work-claim-cmd-LKL3GHFQ.js → work-claim-cmd-3J3QW56U.js} +26 -29
  125. package/dist/work-cmd-5EPPD33Y.js +24 -0
  126. package/dist/{work-comment-cmd-AWHP56M2.js → work-comment-cmd-2ACOZQAE.js} +16 -15
  127. package/dist/{work-launch-R5HTAP6X.js → work-launch-LEQ2MPM3.js} +3 -1
  128. package/dist/work-logs-cmd-QDD2NMJL.js +60 -0
  129. package/dist/{work-open-pr-cmd-IOM4AVQQ.js → work-open-pr-cmd-XNCEI4ZM.js} +18 -17
  130. package/dist/work-pr-cmd-H4OQR26N.js +25 -0
  131. package/package.json +3 -2
  132. package/skill-pack/maintained/outerlayer-amend/SKILL.md +4 -2
  133. package/skill-pack/maintained/outerlayer-cli/SKILL.md +9 -2
  134. package/skill-pack/maintained/outerlayer-cli/references/find-out-why-a-build-ended.md +76 -0
  135. package/skill-pack/shipped.json +18 -2
  136. package/skill-pack/template/build/SKILL.md +23 -10
  137. package/skill-pack/template/build/references/agent-briefs.md +3 -1
  138. package/skill-pack/template/build/references/criteria-judge.md +27 -0
  139. package/skill-pack/template/build/references/release.md +22 -29
  140. package/skill-pack/template/spec/SKILL.md +35 -10
  141. package/skill-pack/validators/acceptance-criteria.yaml +25 -26
  142. package/dist/agent-setup-T624CWPD.js +0 -27
  143. package/dist/chunk-6Y5RUTHO.js +0 -39
  144. package/dist/chunk-BYT5O5RV.js +0 -61
  145. package/dist/chunk-WTE3MQML.js +0 -133
  146. package/dist/chunk-XCCLFVXM.js +0 -401
  147. package/dist/chunk-YZ5F4PIS.js +0 -797
  148. package/dist/context-adopt-NFHCLVUB.js +0 -108
  149. package/dist/context-materialize-IV2TUUFO.js +0 -22
  150. package/dist/emit-cmd-IJ3GVRFD.js +0 -12
  151. package/dist/guest-init-LJP5GPZF.js +0 -9
  152. package/dist/host-key-YMLXY6QB.js +0 -7
  153. package/dist/init-6XPDRDTC.js +0 -51
  154. package/dist/loop-FK3LPMMZ.js +0 -73
  155. package/dist/machine-SQXEBAM2.js +0 -46
  156. package/dist/paths-OYKMVYJP.js +0 -6
  157. package/dist/session-sender-FO3LCREV.js +0 -29
  158. package/dist/sync-cmd-GVPPFZ3G.js +0 -28
  159. package/dist/work-cmd-Z2WXLZPH.js +0 -23
  160. package/dist/work-pr-cmd-HNEUIEN7.js +0 -24
@@ -1,24 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
4
- import { autoConnect } from './chunk-6Y5RUTHO.js';
5
- import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-3NSNIIBE.js';
7
- import './chunk-WUYTWNMA.js';
8
- import { resolveRepoIdentity } from './chunk-JXYVA45C.js';
9
- import './chunk-4KSQKQXE.js';
10
- import './chunk-N6LURUEF.js';
11
- import { C } from './chunk-YRYMNBGQ.js';
12
- import { launchedItemForSession } from './chunk-GQD22KKN.js';
3
+ import { launchRefusalForSession } from './chunk-ESVW4MJY.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';
9
+ import './chunk-GOSFARMS.js';
10
+ import { C } from './chunk-ANPNT6PM.js';
11
+ import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
13
12
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
14
- import { defaultFetch } from './chunk-YO4PSLVB.js';
15
- import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
16
- import { CriteriaListSchema } from './chunk-J5M7BSJQ.js';
17
- import './chunk-EABW6AJQ.js';
18
- import './chunk-V7NIVOFD.js';
19
- import './chunk-ZM2IMMYN.js';
13
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
14
+ import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
20
15
  import './chunk-BJ3KTMDH.js';
16
+ import { CriteriaListSchema } from './chunk-7VUK5RFS.js';
17
+ import './chunk-EABW6AJQ.js';
18
+ import './chunk-CRB3POP4.js';
21
19
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
20
+ import './chunk-M2ZWWTWZ.js';
21
+ import './chunk-N2PXGQRL.js';
22
+ import './chunk-BQXFBI7T.js';
22
23
  import './chunk-Z5GEFMRW.js';
23
24
  import { readFileSync } from 'fs';
24
25
 
@@ -1,25 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
4
- import { autoConnect } from './chunk-6Y5RUTHO.js';
5
- import { detectActiveSession, transcriptPathForSession } from './chunk-IP7BIBXJ.js';
6
- import './chunk-3NSNIIBE.js';
7
- import './chunk-WUYTWNMA.js';
8
- import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-JXYVA45C.js';
9
- import './chunk-4KSQKQXE.js';
10
- import './chunk-N6LURUEF.js';
11
- import { C } from './chunk-YRYMNBGQ.js';
12
- import { launchedItemForSession } from './chunk-GQD22KKN.js';
3
+ import { launchRefusalForSession } from './chunk-ESVW4MJY.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';
9
+ import './chunk-GOSFARMS.js';
10
+ import { C } from './chunk-ANPNT6PM.js';
11
+ import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
13
12
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
13
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
14
+ import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
14
15
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
15
- import { defaultFetch } from './chunk-YO4PSLVB.js';
16
- import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
17
- import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-J5M7BSJQ.js';
18
- import './chunk-EABW6AJQ.js';
19
- import './chunk-V7NIVOFD.js';
20
- import './chunk-ZM2IMMYN.js';
21
16
  import './chunk-BJ3KTMDH.js';
17
+ import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-7VUK5RFS.js';
18
+ import './chunk-EABW6AJQ.js';
19
+ import { cliInvocation } from './chunk-CRB3POP4.js';
22
20
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
21
+ import './chunk-M2ZWWTWZ.js';
22
+ import './chunk-N2PXGQRL.js';
23
+ import './chunk-BQXFBI7T.js';
23
24
  import './chunk-Z5GEFMRW.js';
24
25
  import { readFileSync, existsSync } from 'fs';
25
26
  import { join, dirname, basename } from 'path';
@@ -135,7 +136,7 @@ function pickSessionEvent(events, id) {
135
136
  }
136
137
  const found = events.find((event) => event.id === id);
137
138
  if (found === void 0) {
138
- throw new SessionEventNotFoundError(`event ${id} is not in this session's transcript \u2014 pick an id from the list \`outerlayer emit finding\` prints`);
139
+ throw new SessionEventNotFoundError(`event ${id} is not in this session's transcript \u2014 pick an id from the list \`${cliInvocation()} emit finding\` prints`);
139
140
  }
140
141
  return { id: found.id, at: found.at };
141
142
  }
@@ -1,32 +1,35 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectCi } from './chunk-NWQTTSBB.js';
4
- import { launchRefusalForSession } from './chunk-HHJDN6AU.js';
3
+ import { detectCi } from './chunk-7SJPQWBM.js';
4
+ import './chunk-KYS3TQAG.js';
5
+ import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
5
6
  import './chunk-TBT347UY.js';
6
- import { autoConnect } from './chunk-6Y5RUTHO.js';
7
- import { detectActiveSession } from './chunk-IP7BIBXJ.js';
7
+ import { detectActiveSession, autoConnect } from './chunk-IF2OSI5T.js';
8
+ import './chunk-CG36IONK.js';
9
+ import './chunk-G3IJ3N6F.js';
10
+ import './chunk-BM63HB2M.js';
11
+ import './chunk-NFIR3GEE.js';
8
12
  import './chunk-F7CU5ABH.js';
9
13
  import './chunk-BKO6JEZI.js';
10
- import './chunk-3NSNIIBE.js';
11
- import './chunk-WUYTWNMA.js';
12
- import { resolveRepoIdentity } from './chunk-JXYVA45C.js';
13
- import './chunk-4KSQKQXE.js';
14
- import './chunk-N6LURUEF.js';
15
- import { C } from './chunk-YRYMNBGQ.js';
16
- import './chunk-GQD22KKN.js';
14
+ import { resolveRepoIdentity } from './chunk-QNLX477Q.js';
15
+ import './chunk-GOSFARMS.js';
16
+ import { C } from './chunk-ANPNT6PM.js';
17
+ import './chunk-T2Q7ISPE.js';
17
18
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
18
19
  import './chunk-5QRP3MVS.js';
20
+ import { defaultFetch } from './chunk-FVMYKL6L.js';
21
+ import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
19
22
  import './chunk-ZJSNLVCE.js';
20
- import { defaultFetch } from './chunk-YO4PSLVB.js';
21
- import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
22
- import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH } from './chunk-J5M7BSJQ.js';
23
- import './chunk-EABW6AJQ.js';
24
- import './chunk-V7NIVOFD.js';
25
- import './chunk-ZM2IMMYN.js';
26
- import './chunk-BWQ66M6N.js';
27
- import './chunk-XCCLFVXM.js';
28
23
  import './chunk-BJ3KTMDH.js';
24
+ import './chunk-G2YNJIGF.js';
25
+ import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, EMITTED_RESULT_MAX_BODY_LENGTH } from './chunk-7VUK5RFS.js';
26
+ import './chunk-EABW6AJQ.js';
27
+ import './chunk-CRB3POP4.js';
28
+ import './chunk-TUSYOL2O.js';
29
29
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
30
+ import './chunk-M2ZWWTWZ.js';
31
+ import './chunk-N2PXGQRL.js';
32
+ import './chunk-BQXFBI7T.js';
30
33
  import './chunk-Z5GEFMRW.js';
31
34
  import { randomUUID } from 'crypto';
32
35
  import { readFileSync } from 'fs';
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { EmitStepError, runEmitStep, uploadSpooledSteps } from './chunk-KYS3TQAG.js';
4
+ import './chunk-ESVW4MJY.js';
5
+ import './chunk-IF2OSI5T.js';
6
+ import './chunk-CG36IONK.js';
7
+ import './chunk-G3IJ3N6F.js';
8
+ import './chunk-BM63HB2M.js';
9
+ import './chunk-QNLX477Q.js';
10
+ import './chunk-GOSFARMS.js';
11
+ import './chunk-ANPNT6PM.js';
12
+ import './chunk-T2Q7ISPE.js';
13
+ import './chunk-WZBHBH3J.js';
14
+ import './chunk-FVMYKL6L.js';
15
+ import './chunk-NTRCK4NH.js';
16
+ import './chunk-BJ3KTMDH.js';
17
+ import './chunk-7VUK5RFS.js';
18
+ import './chunk-EABW6AJQ.js';
19
+ import './chunk-CRB3POP4.js';
20
+ import './chunk-VNVZDWO3.js';
21
+ import './chunk-M2ZWWTWZ.js';
22
+ import './chunk-N2PXGQRL.js';
23
+ import './chunk-BQXFBI7T.js';
24
+ import './chunk-Z5GEFMRW.js';
25
+
26
+ createRequire(import.meta.url);
@@ -1,9 +1,8 @@
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-QKFB4K7X.js';
4
- import './chunk-RSNSZ2LJ.js';
5
- import './chunk-4Q7OMKAT.js';
6
- import './chunk-BYT5O5RV.js';
3
+ export { CAPTURE_LIMIT_BYTES, ExecConnectionError, HANDSHAKE_TIMEOUT_MS, execCapture, runExec, runVmExec, vmExecArgs, waitForAgent } from './chunk-GGOMT6KF.js';
4
+ import './chunk-X5H2WYMB.js';
5
+ import './chunk-BQXFBI7T.js';
7
6
  import './chunk-Z5GEFMRW.js';
8
7
 
9
8
  createRequire(import.meta.url);
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { imageTargetFor, pinnedSourceOf, resolveGoverningSource } from './chunk-XSZD4AZ6.js';
4
+ import './chunk-HPJNLETG.js';
5
+ import './chunk-IF2OSI5T.js';
6
+ import './chunk-CG36IONK.js';
7
+ import './chunk-G3IJ3N6F.js';
8
+ import './chunk-BM63HB2M.js';
9
+ import './chunk-QNLX477Q.js';
10
+ import './chunk-GOSFARMS.js';
11
+ import './chunk-ANPNT6PM.js';
12
+ import './chunk-WZBHBH3J.js';
13
+ import './chunk-LLM3I5YU.js';
14
+ import './chunk-452TM7J4.js';
15
+ import './chunk-IXYZUUYQ.js';
16
+ import './chunk-FVMYKL6L.js';
17
+ import './chunk-NTRCK4NH.js';
18
+ import './chunk-ZJSNLVCE.js';
19
+ import './chunk-BJ3KTMDH.js';
20
+ import './chunk-G2YNJIGF.js';
21
+ import './chunk-NNLA7LLQ.js';
22
+ import './chunk-WFSUUUAN.js';
23
+ import './chunk-7VUK5RFS.js';
24
+ import './chunk-EABW6AJQ.js';
25
+ import './chunk-CRB3POP4.js';
26
+ import './chunk-YQR6E6OV.js';
27
+ import './chunk-VNVZDWO3.js';
28
+ import './chunk-RA3O54FC.js';
29
+ import './chunk-M2ZWWTWZ.js';
30
+ import './chunk-N2PXGQRL.js';
31
+ import './chunk-BQXFBI7T.js';
32
+ import './chunk-Z5GEFMRW.js';
33
+
34
+ createRequire(import.meta.url);
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD, realGuestHost, relayPortsFrom, runGuestInit } from './chunk-XNGMQ27R.js';
4
+ import './chunk-X5H2WYMB.js';
5
+ import './chunk-JBJTC3UU.js';
6
+ import './chunk-BQXFBI7T.js';
7
+ import './chunk-Z5GEFMRW.js';
8
+
9
+ createRequire(import.meta.url);
@@ -1,8 +1,11 @@
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, markWorkLeaseRenewed, maybeAutoSync, maybeRenewWorkLease, recordLinkExitFailure, runHookFast, spoolDir } from './chunk-BWQ66M6N.js';
4
- import './chunk-XCCLFVXM.js';
3
+ export { AUTO_SYNC_DEBOUNCE_MS, WORK_LEASE_RENEW_DEBOUNCE_MS, WORK_LINK_RETRIES, contextPossiblyGoverned, handleWorkLaunch, handleWorkSessionEnd, hookFiredMarkerPath, logHookError, markWorkLeaseRenewed, maybeAutoSync, maybeRenewWorkLease, recordLinkExitFailure, runHookFast, spoolDir } from './chunk-NFIR3GEE.js';
4
+ import './chunk-ZJSNLVCE.js';
5
5
  import './chunk-BJ3KTMDH.js';
6
+ import './chunk-G2YNJIGF.js';
7
+ import './chunk-CRB3POP4.js';
8
+ import './chunk-TUSYOL2O.js';
6
9
  import './chunk-VNVZDWO3.js';
7
10
  import './chunk-Z5GEFMRW.js';
8
11
 
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { ensureHostKey, loadHostKey, signerFor } from './chunk-M2ZWWTWZ.js';
4
+ import './chunk-N2PXGQRL.js';
5
+ import './chunk-BQXFBI7T.js';
6
+ import './chunk-Z5GEFMRW.js';
7
+
8
+ createRequire(import.meta.url);
@@ -1,9 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { C } from './chunk-YRYMNBGQ.js';
4
- import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-POJMEEJJ.js';
5
- import './chunk-OHVJA253.js';
6
- import './chunk-J5M7BSJQ.js';
3
+ import { C } from './chunk-ANPNT6PM.js';
4
+ import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-NNLA7LLQ.js';
5
+ import './chunk-WFSUUUAN.js';
6
+ import './chunk-7VUK5RFS.js';
7
+ import { cliInvocation } from './chunk-CRB3POP4.js';
8
+ import './chunk-VNVZDWO3.js';
7
9
  import './chunk-RA3O54FC.js';
8
10
  import './chunk-Z5GEFMRW.js';
9
11
  import { statSync, existsSync, readFileSync, writeFileSync } from 'fs';
@@ -48,7 +50,7 @@ function runImportCapture(opts = {}) {
48
50
  if (files.length === 0 && rewritten.length === 0 && !appendedAgentsMd) {
49
51
  lines.push(`${C.dim}capture pack already installed \u2014 nothing to write${C.reset}`);
50
52
  }
51
- lines.push(`Run ${C.yellow}\`outerlayer context emit\`${C.reset} to compile the pack into your agent's native files.`);
53
+ lines.push(`Run ${C.yellow}\`${cliInvocation()} context emit\`${C.reset} to compile the pack into your agent's native files.`);
52
54
  output = lines.join("\n");
53
55
  }
54
56
  if (!opts.quiet) {
@@ -1,8 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { C } from './chunk-YRYMNBGQ.js';
4
- import { normalizePath } from './chunk-OHVJA253.js';
5
- import './chunk-J5M7BSJQ.js';
3
+ import { C } from './chunk-ANPNT6PM.js';
4
+ import { normalizePath } from './chunk-WFSUUUAN.js';
5
+ import './chunk-7VUK5RFS.js';
6
+ import './chunk-CRB3POP4.js';
7
+ import './chunk-VNVZDWO3.js';
6
8
  import './chunk-Z5GEFMRW.js';
7
9
  import { existsSync, readdirSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
8
10
  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-R4FVSZ2H.js');
9
+ const { runHookFast } = await import('./hook-fast-YAZG5MDX.js');
10
10
  await runHookFast(argv[1]);
11
11
  process.exit(0);
12
12
  }
@@ -17,10 +17,14 @@ if (argv[0] === "hook-wrap") {
17
17
  process.exit(code);
18
18
  }
19
19
  if (argv[0] === "statusline") {
20
- const { runStatuslineFast } = await import('./statusline-fast-SVTMBMD7.js');
20
+ const { runStatuslineFast } = await import('./statusline-fast-KN3BX67H.js');
21
21
  await runStatuslineFast(argv.slice(1));
22
22
  process.exit(0);
23
23
  }
24
- (await import('./hook-fast-R4FVSZ2H.js')).recordLinkExitFailure(argv);
25
- var { runCli } = await import('./cli-A76AXELQ.js');
24
+ if (argv[0] === "claude") {
25
+ const { runClaudeLauncher } = await import('./claude-launcher-FPPHZPMR.js');
26
+ process.exit(await runClaudeLauncher(argv.slice(1)));
27
+ }
28
+ (await import('./hook-fast-YAZG5MDX.js')).recordLinkExitFailure(argv);
29
+ var { runCli } = await import('./cli-HROW5T7X.js');
26
30
  await runCli(process.argv);
@@ -1,53 +1,55 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { npmSupportsProvenance } from './chunk-YETTWTAY.js';
4
- import { RunnerInitError, readConfigObject } from './chunk-VQYBXPI7.js';
5
- import './chunk-ONKJUM6R.js';
6
- import './chunk-MAK5LYRF.js';
7
- import './chunk-KMDLFI4P.js';
8
- import './chunk-QKFB4K7X.js';
9
- import './chunk-RSNSZ2LJ.js';
10
- import './chunk-OZGHL5Y5.js';
11
- import { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-RLYZLUQ7.js';
4
+ import { RunnerInitError, readConfigObject } from './chunk-6D7GT22T.js';
5
+ import './chunk-7YP7T6GV.js';
6
+ import './chunk-UVG35MWF.js';
7
+ import './chunk-7KSSBQTS.js';
8
+ import './chunk-OGFGZQA3.js';
9
+ import './chunk-VMJPFQNE.js';
10
+ import './chunk-3UZTIRLF.js';
11
+ import './chunk-GGOMT6KF.js';
12
+ import './chunk-X5H2WYMB.js';
13
+ import './chunk-XSZD4AZ6.js';
14
+ import { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-QEFKA2QD.js';
12
15
  import './chunk-6MZSX4M7.js';
13
- import './chunk-S3NYLI2P.js';
14
- import './chunk-6Y5RUTHO.js';
15
- import './chunk-IP7BIBXJ.js';
16
- import { runnerCredentialProblem, resolveBuild, resolveHousekeeping } from './chunk-22RMZBGW.js';
16
+ import './chunk-HPJNLETG.js';
17
+ import './chunk-IF2OSI5T.js';
18
+ import './chunk-CG36IONK.js';
19
+ import './chunk-G3IJ3N6F.js';
20
+ import './chunk-BM63HB2M.js';
21
+ import { runnerCredentialProblem, resolveBuild, resolveHousekeeping } from './chunk-P53VEAOF.js';
17
22
  import './chunk-UXYLWVTQ.js';
23
+ import { parseSize } from './chunk-7RQ73DLO.js';
18
24
  import { writeLaunchAgent } from './chunk-LF6MLJCY.js';
19
- import './chunk-R7PF5OOU.js';
25
+ import './chunk-3CWUOFV6.js';
20
26
  import './chunk-QOZKPLVJ.js';
21
- import './chunk-N5FOE5PS.js';
22
- import './chunk-OGFGZQA3.js';
23
- import './chunk-4NPZVMJU.js';
24
- import { parseSize } from './chunk-7RQ73DLO.js';
25
- import './chunk-4Q7OMKAT.js';
26
27
  import './chunk-CX22S5BA.js';
27
- import './chunk-3NSNIIBE.js';
28
- import './chunk-WUYTWNMA.js';
29
- import './chunk-JXYVA45C.js';
30
- import './chunk-4KSQKQXE.js';
31
- import './chunk-N6LURUEF.js';
32
- import './chunk-YRYMNBGQ.js';
28
+ import './chunk-ECODQ7II.js';
29
+ import './chunk-JBJTC3UU.js';
30
+ import './chunk-QNLX477Q.js';
31
+ import './chunk-GOSFARMS.js';
32
+ import './chunk-ANPNT6PM.js';
33
33
  import './chunk-WZBHBH3J.js';
34
- import './chunk-YZ5F4PIS.js';
35
- import './chunk-WTE3MQML.js';
36
- import './chunk-C5Y5ZJJZ.js';
34
+ import './chunk-LLM3I5YU.js';
35
+ import './chunk-452TM7J4.js';
36
+ import './chunk-IXYZUUYQ.js';
37
+ import './chunk-FVMYKL6L.js';
38
+ import './chunk-NTRCK4NH.js';
37
39
  import './chunk-ZJSNLVCE.js';
38
- import './chunk-YO4PSLVB.js';
39
- import './chunk-BYT5O5RV.js';
40
- import './chunk-POJMEEJJ.js';
41
- import './chunk-OHVJA253.js';
42
- import './chunk-PLMTLGYH.js';
43
- import './chunk-J5M7BSJQ.js';
44
- import { readCloudConfig } from './chunk-EABW6AJQ.js';
45
- import './chunk-RA3O54FC.js';
46
- import './chunk-V7NIVOFD.js';
47
- import { hostKeyPath } from './chunk-ZM2IMMYN.js';
48
- import './chunk-XCCLFVXM.js';
49
40
  import './chunk-BJ3KTMDH.js';
41
+ import './chunk-G2YNJIGF.js';
42
+ import './chunk-NNLA7LLQ.js';
43
+ import './chunk-WFSUUUAN.js';
44
+ import './chunk-7VUK5RFS.js';
45
+ import { readCloudConfig } from './chunk-EABW6AJQ.js';
46
+ import './chunk-CRB3POP4.js';
47
+ import './chunk-YQR6E6OV.js';
50
48
  import './chunk-VNVZDWO3.js';
49
+ import './chunk-RA3O54FC.js';
50
+ import './chunk-M2ZWWTWZ.js';
51
+ import { hostKeyPath } from './chunk-N2PXGQRL.js';
52
+ import './chunk-BQXFBI7T.js';
51
53
  import './chunk-Z5GEFMRW.js';
52
54
  import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync } from 'fs';
53
55
  import { dirname } from 'path';
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-6D7GT22T.js';
4
+ import './chunk-7YP7T6GV.js';
5
+ import './chunk-UVG35MWF.js';
6
+ import './chunk-7KSSBQTS.js';
7
+ import './chunk-OGFGZQA3.js';
8
+ import './chunk-VMJPFQNE.js';
9
+ import './chunk-3UZTIRLF.js';
10
+ import './chunk-GGOMT6KF.js';
11
+ import './chunk-X5H2WYMB.js';
12
+ import './chunk-XSZD4AZ6.js';
13
+ import './chunk-QEFKA2QD.js';
14
+ import './chunk-6MZSX4M7.js';
15
+ import './chunk-HPJNLETG.js';
16
+ import './chunk-IF2OSI5T.js';
17
+ import './chunk-CG36IONK.js';
18
+ import './chunk-G3IJ3N6F.js';
19
+ import './chunk-BM63HB2M.js';
20
+ import './chunk-P53VEAOF.js';
21
+ import './chunk-UXYLWVTQ.js';
22
+ import './chunk-7RQ73DLO.js';
23
+ import './chunk-3CWUOFV6.js';
24
+ import './chunk-QOZKPLVJ.js';
25
+ import './chunk-CX22S5BA.js';
26
+ import './chunk-ECODQ7II.js';
27
+ import './chunk-JBJTC3UU.js';
28
+ import './chunk-QNLX477Q.js';
29
+ import './chunk-GOSFARMS.js';
30
+ import './chunk-ANPNT6PM.js';
31
+ import './chunk-WZBHBH3J.js';
32
+ import './chunk-LLM3I5YU.js';
33
+ import './chunk-452TM7J4.js';
34
+ import './chunk-IXYZUUYQ.js';
35
+ import './chunk-FVMYKL6L.js';
36
+ import './chunk-NTRCK4NH.js';
37
+ import './chunk-ZJSNLVCE.js';
38
+ import './chunk-BJ3KTMDH.js';
39
+ import './chunk-G2YNJIGF.js';
40
+ import './chunk-NNLA7LLQ.js';
41
+ import './chunk-WFSUUUAN.js';
42
+ import './chunk-7VUK5RFS.js';
43
+ import './chunk-EABW6AJQ.js';
44
+ import './chunk-CRB3POP4.js';
45
+ import './chunk-YQR6E6OV.js';
46
+ import './chunk-VNVZDWO3.js';
47
+ import './chunk-RA3O54FC.js';
48
+ import './chunk-M2ZWWTWZ.js';
49
+ import './chunk-N2PXGQRL.js';
50
+ import './chunk-BQXFBI7T.js';
51
+ import './chunk-Z5GEFMRW.js';
52
+
53
+ createRequire(import.meta.url);
@@ -1,43 +1,47 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { summarizeChecks, summaryText, renderDoctorText } from './chunk-HGECYFEI.js';
4
- import './chunk-NBGDBTO2.js';
5
- import './chunk-S3NYLI2P.js';
6
- import './chunk-6Y5RUTHO.js';
7
- import './chunk-IP7BIBXJ.js';
8
- import './chunk-F47JBIAW.js';
3
+ import { summarizeChecks, summaryText, renderDoctorText } from './chunk-5TN7GLYX.js';
4
+ import './chunk-TWF3RICI.js';
5
+ import { removeShellFunction, shellFunctionInstalled, installShellFunction, SHELL_FUNCTION_LINE } from './chunk-CJJDJ7AT.js';
6
+ import './chunk-HPJNLETG.js';
7
+ import './chunk-IF2OSI5T.js';
8
+ import { runConnect, COMMIT_LINE } from './chunk-CG36IONK.js';
9
+ import './chunk-G3IJ3N6F.js';
10
+ import './chunk-BM63HB2M.js';
11
+ import './chunk-NFIR3GEE.js';
12
+ import './chunk-DSF2FWAZ.js';
9
13
  import './chunk-BKO6JEZI.js';
10
- import './chunk-XCK2YAY5.js';
11
- import './chunk-42ZI52JW.js';
12
- import { runConnect, COMMIT_LINE } from './chunk-3NSNIIBE.js';
13
- import './chunk-WUYTWNMA.js';
14
- import './chunk-JXYVA45C.js';
15
- import './chunk-4KSQKQXE.js';
16
- import './chunk-N6LURUEF.js';
17
- import { C } from './chunk-YRYMNBGQ.js';
14
+ import './chunk-QNLX477Q.js';
15
+ import './chunk-YVZJ6GKF.js';
16
+ import './chunk-6X4SQ5MY.js';
17
+ import './chunk-GOSFARMS.js';
18
+ import { C } from './chunk-ANPNT6PM.js';
18
19
  import './chunk-WZBHBH3J.js';
19
20
  import './chunk-5QRP3MVS.js';
20
- import './chunk-WTE3MQML.js';
21
- import './chunk-C5Y5ZJJZ.js';
22
- import './chunk-YO4PSLVB.js';
23
- import './chunk-POJMEEJJ.js';
24
- import './chunk-OHVJA253.js';
25
- import './chunk-PLMTLGYH.js';
26
- import './chunk-J5M7BSJQ.js';
27
- import './chunk-EABW6AJQ.js';
28
- import './chunk-RA3O54FC.js';
29
- import './chunk-V7NIVOFD.js';
30
- import './chunk-ZM2IMMYN.js';
31
- import './chunk-BWQ66M6N.js';
32
- import './chunk-XCCLFVXM.js';
21
+ import './chunk-IXYZUUYQ.js';
22
+ import './chunk-FVMYKL6L.js';
23
+ import './chunk-NTRCK4NH.js';
24
+ import './chunk-ZJSNLVCE.js';
33
25
  import './chunk-BJ3KTMDH.js';
26
+ import './chunk-G2YNJIGF.js';
27
+ import './chunk-NNLA7LLQ.js';
28
+ import './chunk-WFSUUUAN.js';
29
+ import './chunk-7VUK5RFS.js';
30
+ import './chunk-EABW6AJQ.js';
31
+ import { cliInvocation } from './chunk-CRB3POP4.js';
32
+ import './chunk-YQR6E6OV.js';
33
+ import './chunk-TUSYOL2O.js';
34
34
  import './chunk-VNVZDWO3.js';
35
+ import './chunk-RA3O54FC.js';
36
+ import './chunk-M2ZWWTWZ.js';
37
+ import './chunk-N2PXGQRL.js';
38
+ import './chunk-BQXFBI7T.js';
35
39
  import './chunk-Z5GEFMRW.js';
36
40
 
37
41
  createRequire(import.meta.url);
38
42
 
39
43
  // src/init-cmd.ts
40
- var STEP_NAMES = ["connect", "hooks", "agent-setup", "doctor"];
44
+ var STEP_NAMES = ["connect", "hooks", "shell", "agent-setup", "doctor"];
41
45
  var CLOSING_LINE = "Add an issue on the Work page and choose Build locally, or Build if a host runs for this factory.";
42
46
  var errorMessage = (err) => err instanceof Error ? err.message : String(err);
43
47
  async function runInitCommand(flags, deps) {
@@ -54,11 +58,12 @@ async function runInitCommand(flags, deps) {
54
58
  say(`
55
59
  Next
56
60
  Link ${unlinked.repository} on the factory's Work page: ${unlinked.url}
57
- Then run \`outerlayer connect\` again.
61
+ Then run \`${cliInvocation()} connect\` again.
58
62
  `);
59
63
  }
60
64
  if (flags.json) {
61
- deps.stdout.write(JSON.stringify({ status: failed ? "failed" : "done", steps }, null, 2) + "\n");
65
+ const reported = deps.shell === void 0 ? Object.fromEntries(Object.entries(steps).filter(([name]) => name !== "shell")) : steps;
66
+ deps.stdout.write(JSON.stringify({ status: failed ? "failed" : "done", steps: reported }, null, 2) + "\n");
62
67
  } else {
63
68
  deps.stdout.write(text + closing());
64
69
  }
@@ -112,6 +117,17 @@ ${CLOSING_LINE}
112
117
  return finish();
113
118
  }
114
119
  say(hooks.text);
120
+ if (deps.shell !== void 0) {
121
+ const shell = await Promise.resolve().then(() => setUpShellFunction(flags, deps.shell)).catch((err) => ({
122
+ outcome: "failed",
123
+ reason: errorMessage(err),
124
+ text: `${C.red}\u2717${C.reset} could not set up the shell function: ${errorMessage(err)}
125
+ `
126
+ }));
127
+ steps.shell = { outcome: shell.outcome, reason: shell.reason };
128
+ if (shell.outcome === "failed") deps.stderr.write(shell.text);
129
+ else say(shell.text);
130
+ }
115
131
  const agent = await Promise.resolve().then(() => deps.runAgentSetup()).catch(
116
132
  (err) => ({
117
133
  outcome: "failed",
@@ -140,5 +156,34 @@ ${CLOSING_LINE}
140
156
  }
141
157
  return finish();
142
158
  }
159
+ async function setUpShellFunction(flags, shell) {
160
+ if (flags.shellFunction === false) {
161
+ const changed = removeShellFunction({ home: shell.home });
162
+ return changed.length === 0 ? { outcome: "skipped", reason: "no shell function to remove", text: "" } : { outcome: "done", reason: "removed the shell function", text: `${C.green}\u2713${C.reset} removed the claude function from ${changed.join(", ")}
163
+ ` };
164
+ }
165
+ if (flags.shellFunction !== true) {
166
+ if (shellFunctionInstalled({ home: shell.home, shellPath: shell.shellPath })) return { outcome: "skipped", reason: "already set up", text: "" };
167
+ if (!shell.interactive) return { outcome: "skipped", reason: "no terminal to ask on", text: "" };
168
+ if (!await shell.ask()) return { outcome: "skipped", reason: "declined", text: "" };
169
+ }
170
+ const installed = installShellFunction({ home: shell.home, shellPath: shell.shellPath });
171
+ switch (installed.status) {
172
+ case "added":
173
+ return { outcome: "done", reason: "added the shell function", text: `${C.green}\u2713${C.reset} plain claude now runs ${cliInvocation()} claude in new shells (${installed.file})
174
+ ` };
175
+ case "unchanged":
176
+ return { outcome: "done", reason: "already set up", text: `${C.green}\u2713${C.reset} plain claude already runs ${cliInvocation()} claude (${installed.file})
177
+ ` };
178
+ case "unsupported":
179
+ return {
180
+ outcome: "skipped",
181
+ reason: "this shell is not zsh or bash",
182
+ text: `${C.dim}- Shell function skipped: only zsh and bash are set up automatically. Add this line to your shell's startup file:${C.reset}
183
+ ${SHELL_FUNCTION_LINE}
184
+ `
185
+ };
186
+ }
187
+ }
143
188
 
144
189
  export { runInitCommand };