@rryando/arcs 5.2.0 → 5.2.1

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 (195) hide show
  1. package/README.md +29 -16
  2. package/dist/cli/commands/bundle.js +39 -0
  3. package/dist/cli/commands/bundle.js.map +1 -1
  4. package/dist/cli/commands/web.js +2 -2
  5. package/dist/cli/commands/web.js.map +1 -1
  6. package/dist/cli/config.d.ts +18 -0
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +46 -0
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/setup.d.ts.map +1 -1
  11. package/dist/cli/setup.js +218 -35
  12. package/dist/cli/setup.js.map +1 -1
  13. package/dist/utils/json-schemas.d.ts +9 -9
  14. package/dist/utils/json-schemas.d.ts.map +1 -1
  15. package/dist/utils/json-schemas.js +1 -1
  16. package/dist/utils/json-schemas.js.map +1 -1
  17. package/dist/utils/run-transcript.d.ts +138 -0
  18. package/dist/utils/run-transcript.d.ts.map +1 -0
  19. package/dist/utils/run-transcript.js +146 -0
  20. package/dist/utils/run-transcript.js.map +1 -0
  21. package/dist/utils/storage-utils.d.ts +1 -1
  22. package/dist/utils/storage-utils.d.ts.map +1 -1
  23. package/dist/utils/storage-utils.js +1 -1
  24. package/dist/utils/storage-utils.js.map +1 -1
  25. package/dist/web-client/assets/{GraphCanvas-DvTmx2os.js → GraphCanvas-BgWF1rB_.js} +1 -1
  26. package/dist/web-client/assets/{MarkdownEditor-B8j_5lK7.js → MarkdownEditor-5buYPQ1d.js} +1 -1
  27. package/dist/web-client/assets/{abnfDiagram-VRR7QNED-DZ5c8NM5.js → abnfDiagram-VRR7QNED-AjQ08-zY.js} +1 -1
  28. package/dist/web-client/assets/architecture-TIHT7OUA-a3lTAuFS.js +1 -0
  29. package/dist/web-client/assets/{architectureDiagram-ZJ3FMSHR-DeNroB33.js → architectureDiagram-ZJ3FMSHR-CtW2pYEp.js} +1 -1
  30. package/dist/web-client/assets/{blockDiagram-677ZJIJ3-C92i1GHh.js → blockDiagram-677ZJIJ3-DE6HRcpA.js} +1 -1
  31. package/dist/web-client/assets/{c4Diagram-LMCZKHZV-BniYzyYJ.js → c4Diagram-LMCZKHZV-Rn6iQdUl.js} +1 -1
  32. package/dist/web-client/assets/channel-Rxk7gzWl.js +1 -0
  33. package/dist/web-client/assets/{chunk-32BRIVSS-DXA4fMwe.js → chunk-32BRIVSS-C4-ay_Qd.js} +1 -1
  34. package/dist/web-client/assets/{chunk-52WLFC77-DxLpDT5g.js → chunk-52WLFC77-Bib0DU0H.js} +1 -1
  35. package/dist/web-client/assets/{chunk-C7G6YPKG-DC22BvA6.js → chunk-C7G6YPKG-BLphnESE.js} +1 -1
  36. package/dist/web-client/assets/{chunk-EX3LRPZG-CP5bMsNz.js → chunk-EX3LRPZG-CzvkrPNM.js} +1 -1
  37. package/dist/web-client/assets/{chunk-FWX5IMBZ-CRhTkdyH.js → chunk-FWX5IMBZ-BFTR_OLz.js} +2 -2
  38. package/dist/web-client/assets/{chunk-HOUHSVGY-BL8xdKlN.js → chunk-HOUHSVGY-CZS3ExUR.js} +1 -1
  39. package/dist/web-client/assets/{chunk-ICXQ74PX-B7Ur00R9.js → chunk-ICXQ74PX-iWFpNZgv.js} +1 -1
  40. package/dist/web-client/assets/{chunk-MOJQB5TN-D9EnTuIj.js → chunk-MOJQB5TN-opEQCwVq.js} +1 -1
  41. package/dist/web-client/assets/{chunk-OGEWGWER-Dr-xsHrU.js → chunk-OGEWGWER-NCfmjyhi.js} +1 -1
  42. package/dist/web-client/assets/{chunk-PUDLZKDR-BIrspPOB.js → chunk-PUDLZKDR-D3_A--Z2.js} +1 -1
  43. package/dist/web-client/assets/{chunk-Q4XR5HBZ-Dfip_4XA.js → chunk-Q4XR5HBZ-D6s-qZLi.js} +1 -1
  44. package/dist/web-client/assets/{chunk-V7JOEXUC-CWqwzV_g.js → chunk-V7JOEXUC-DTqLR-bZ.js} +1 -1
  45. package/dist/web-client/assets/{chunk-VAUOI2AC-EosDVEFn.js → chunk-VAUOI2AC-Gsd0Itap.js} +1 -1
  46. package/dist/web-client/assets/{chunk-VR4S4FIN-DnMox7F5.js → chunk-VR4S4FIN-Cdo_MeDQ.js} +1 -1
  47. package/dist/web-client/assets/{chunk-WYO6CB5R-B3xja0Q5.js → chunk-WYO6CB5R-n7FhYrli.js} +1 -1
  48. package/dist/web-client/assets/{chunk-ZGVPDNZ5-BGoIOVsc.js → chunk-ZGVPDNZ5-DU1Jcue0.js} +1 -1
  49. package/dist/web-client/assets/classDiagram-OUVF2IWQ-BG5uYDvC.js +1 -0
  50. package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-BG5uYDvC.js +1 -0
  51. package/dist/web-client/assets/{cynefin-VYW2F7L2-BlBnSViH.js → cynefin-VYW2F7L2-D-gD9LCO.js} +1 -1
  52. package/dist/web-client/assets/{cynefinDiagram-TSTJHNR4-jRcAddSh.js → cynefinDiagram-TSTJHNR4-BFGkcrNl.js} +1 -1
  53. package/dist/web-client/assets/{dagre-VKFMJZFB-D4elj7jV.js → dagre-VKFMJZFB-BUaC6fks.js} +1 -1
  54. package/dist/web-client/assets/{diagram-FQU43EPY-D7OKzbLh.js → diagram-FQU43EPY-Ckgu02XC.js} +1 -1
  55. package/dist/web-client/assets/{diagram-G47NLZAW-DBF9p-RV.js → diagram-G47NLZAW-BickHhmE.js} +1 -1
  56. package/dist/web-client/assets/{diagram-NH7WQ7WH-CpE02PRM.js → diagram-NH7WQ7WH-CoqgJpcU.js} +1 -1
  57. package/dist/web-client/assets/{diagram-OA4YK3LP-BdJ1lOcZ.js → diagram-OA4YK3LP-CTSZWqCe.js} +1 -1
  58. package/dist/web-client/assets/{diagram-WEI45ONY-BpPxpOcu.js → diagram-WEI45ONY-D7xd1naU.js} +1 -1
  59. package/dist/web-client/assets/{ebnfDiagram-CCIWWBDH-DLKdgImF.js → ebnfDiagram-CCIWWBDH-FESKYpKQ.js} +1 -1
  60. package/dist/web-client/assets/{erDiagram-Q63AITRT-c0bbf0vk.js → erDiagram-Q63AITRT-C-879ftU.js} +1 -1
  61. package/dist/web-client/assets/eventmodeling-45OFAUF4-C3kRZCei.js +1 -0
  62. package/dist/web-client/assets/flowDiagram-23GEKE2U-QKWFycdH.js +1 -0
  63. package/dist/web-client/assets/{ganttDiagram-NO4QXBWP-Ynj8Qkax.js → ganttDiagram-NO4QXBWP-mIX5nPpv.js} +1 -1
  64. package/dist/web-client/assets/{gitGraph-TEB2WS4Q-j-MdxZrn.js → gitGraph-TEB2WS4Q-DlEDJ1IK.js} +1 -1
  65. package/dist/web-client/assets/{gitGraphDiagram-IHSO6WYX-SaPe2Npn.js → gitGraphDiagram-IHSO6WYX-D2fXD4AO.js} +1 -1
  66. package/dist/web-client/assets/index-BsYR-C8u.js +61 -0
  67. package/dist/web-client/assets/index-Cc5DCTOr.css +2 -0
  68. package/dist/web-client/assets/{info-DKCQHKI2-DzsnPugh.js → info-DKCQHKI2-jinbCROt.js} +1 -1
  69. package/dist/web-client/assets/{infoDiagram-FWYZ7A6U-e6BJvSRj.js → infoDiagram-FWYZ7A6U-CM-A4TL8.js} +1 -1
  70. package/dist/web-client/assets/{ishikawaDiagram-FXEZZL3T-DI1KDN2v.js → ishikawaDiagram-FXEZZL3T-BdFpHwp4.js} +1 -1
  71. package/dist/web-client/assets/{journeyDiagram-5HDEW3XC-BQbFOIm6.js → journeyDiagram-5HDEW3XC-BwDWz25z.js} +1 -1
  72. package/dist/web-client/assets/{kanban-definition-HUTT4EX6-D5DV7Dh0.js → kanban-definition-HUTT4EX6-_2QXjSvx.js} +1 -1
  73. package/dist/web-client/assets/{line-D_qHyqs1.js → line-HCziev87.js} +1 -1
  74. package/dist/web-client/assets/{mermaid-parser.core-VzGX5B89.js → mermaid-parser.core-C4139mkz.js} +3 -3
  75. package/dist/web-client/assets/{mermaid.core-BqWcehVs.js → mermaid.core-ocHwkZiF.js} +3 -3
  76. package/dist/web-client/assets/{mindmap-definition-LN4V7U3C-CcZZrFcy.js → mindmap-definition-LN4V7U3C-DHyCmflp.js} +1 -1
  77. package/dist/web-client/assets/{packet-7NZHBO7P-DWMuocpD.js → packet-7NZHBO7P-Bk0w_irl.js} +1 -1
  78. package/dist/web-client/assets/{pegDiagram-2B236MQR-CQfp4S-y.js → pegDiagram-2B236MQR-D_GrmL93.js} +1 -1
  79. package/dist/web-client/assets/{pie-RZYD4A2V-BlI6y28n.js → pie-RZYD4A2V-B6VIAbyj.js} +1 -1
  80. package/dist/web-client/assets/{pieDiagram-ENE6RG2P-DEsRhIVS.js → pieDiagram-ENE6RG2P-CiR2Y8y2.js} +1 -1
  81. package/dist/web-client/assets/{quadrantDiagram-ABIIQ3AL-BZCSbtlm.js → quadrantDiagram-ABIIQ3AL-CLlicKmV.js} +1 -1
  82. package/dist/web-client/assets/{radar-I7S5WNFK-DlwfjSpa.js → radar-I7S5WNFK-B53XVRSZ.js} +1 -1
  83. package/dist/web-client/assets/{railroad-3IZDKUUU-Be-bZpf0.js → railroad-3IZDKUUU-Dn8TN2M-.js} +1 -1
  84. package/dist/web-client/assets/railroad-abnf-AHOZXSZD-UrOKy6yx.js +1 -0
  85. package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-Bx73sfMZ.js +1 -0
  86. package/dist/web-client/assets/railroad-peg-LSFZ7HO6-C4QEje-y.js +1 -0
  87. package/dist/web-client/assets/{railroadDiagram-RFXS5EU6-ClVubHv1.js → railroadDiagram-RFXS5EU6-C6kZwOio.js} +1 -1
  88. package/dist/web-client/assets/{requirementDiagram-TGXJPOKE-swYyFYJk.js → requirementDiagram-TGXJPOKE-D2b1MeP8.js} +1 -1
  89. package/dist/web-client/assets/{sankeyDiagram-HTMAVEWB-LAu1XR2n.js → sankeyDiagram-HTMAVEWB-pS_Ufq1E.js} +1 -1
  90. package/dist/web-client/assets/{sequenceDiagram-DBY2YBRQ-XvIU8hX9.js → sequenceDiagram-DBY2YBRQ-BrsKXNzu.js} +1 -1
  91. package/dist/web-client/assets/{stateDiagram-2N3HPSRC-C3nbJ1dX.js → stateDiagram-2N3HPSRC-BuQKu3i0.js} +1 -1
  92. package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-BhqgaxDu.js +1 -0
  93. package/dist/web-client/assets/{swimlanes-5IMT3BWC-BF5fFeNe.js → swimlanes-5IMT3BWC-CzoImfTA.js} +1 -1
  94. package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-CHOEI9hI.js +8 -0
  95. package/dist/web-client/assets/{timeline-definition-FHXFAJF6-CjK82kFp.js → timeline-definition-FHXFAJF6-DvezW7Fr.js} +1 -1
  96. package/dist/web-client/assets/{treeView-QDETBFTQ-DBRGCYnY.js → treeView-QDETBFTQ-xu58R4kS.js} +1 -1
  97. package/dist/web-client/assets/{treemap-6X3UGDF4-BIexMw3j.js → treemap-6X3UGDF4-DMYBAOW1.js} +1 -1
  98. package/dist/web-client/assets/{vennDiagram-L72KCM5P-DOjvh0XG.js → vennDiagram-L72KCM5P-l1CbC7Ig.js} +1 -1
  99. package/dist/web-client/assets/{wardley-OPB4EBWU-Dxw6mW95.js → wardley-OPB4EBWU-G3zmnnM0.js} +1 -1
  100. package/dist/web-client/assets/{wardleyDiagram-EHGQE667-D1A7JTB_.js → wardleyDiagram-EHGQE667-Dl2I79Vx.js} +1 -1
  101. package/dist/web-client/assets/{xychartDiagram-FW5EYKEG-CxvobQJD.js → xychartDiagram-FW5EYKEG-BWfge21N.js} +1 -1
  102. package/dist/web-client/index.html +2 -2
  103. package/dist/web-server/app.d.ts.map +1 -1
  104. package/dist/web-server/app.js +11 -7
  105. package/dist/web-server/app.js.map +1 -1
  106. package/dist/web-server/ask-prompt.d.ts +70 -0
  107. package/dist/web-server/ask-prompt.d.ts.map +1 -0
  108. package/dist/web-server/ask-prompt.js +238 -0
  109. package/dist/web-server/ask-prompt.js.map +1 -0
  110. package/dist/web-server/index.d.ts.map +1 -1
  111. package/dist/web-server/index.js +56 -3
  112. package/dist/web-server/index.js.map +1 -1
  113. package/dist/web-server/respond.d.ts.map +1 -1
  114. package/dist/web-server/respond.js +2 -1
  115. package/dist/web-server/respond.js.map +1 -1
  116. package/dist/web-server/routes/ask.d.ts +29 -0
  117. package/dist/web-server/routes/ask.d.ts.map +1 -0
  118. package/dist/web-server/routes/ask.js +698 -0
  119. package/dist/web-server/routes/ask.js.map +1 -0
  120. package/dist/web-server/routes/changes.d.ts +35 -0
  121. package/dist/web-server/routes/changes.d.ts.map +1 -0
  122. package/dist/web-server/routes/changes.js +93 -0
  123. package/dist/web-server/routes/changes.js.map +1 -0
  124. package/dist/web-server/routes/runners.d.ts +15 -0
  125. package/dist/web-server/routes/runners.d.ts.map +1 -0
  126. package/dist/web-server/routes/runners.js +66 -0
  127. package/dist/web-server/routes/runners.js.map +1 -0
  128. package/dist/web-server/routes/workspace.d.ts +2 -2
  129. package/dist/web-server/routes/workspace.js +4 -4
  130. package/dist/web-server/run-diff.d.ts +188 -0
  131. package/dist/web-server/run-diff.d.ts.map +1 -0
  132. package/dist/web-server/run-diff.js +739 -0
  133. package/dist/web-server/run-diff.js.map +1 -0
  134. package/dist/web-server/run-driver.d.ts +102 -2
  135. package/dist/web-server/run-driver.d.ts.map +1 -1
  136. package/dist/web-server/run-driver.js +495 -1
  137. package/dist/web-server/run-driver.js.map +1 -1
  138. package/dist/web-server/run-event-log.d.ts +13 -6
  139. package/dist/web-server/run-event-log.d.ts.map +1 -1
  140. package/dist/web-server/run-event-log.js +70 -25
  141. package/dist/web-server/run-event-log.js.map +1 -1
  142. package/dist/web-server/run-store.d.ts +201 -0
  143. package/dist/web-server/run-store.d.ts.map +1 -0
  144. package/dist/web-server/run-store.js +304 -0
  145. package/dist/web-server/run-store.js.map +1 -0
  146. package/dist/web-server/watcher.d.ts.map +1 -1
  147. package/dist/web-server/watcher.js +4 -0
  148. package/dist/web-server/watcher.js.map +1 -1
  149. package/opencode/arcs/manifest.json +8 -8
  150. package/package.json +1 -1
  151. package/scripts/deploy-claudecode-bundle.mjs +1 -1
  152. package/scripts/deploy-opencode-bundle.mjs +1 -1
  153. package/scripts/deploy-pi-bundle.mjs +468 -0
  154. package/scripts/lint-bundle.mjs +1 -1
  155. package/dist/shared/session-vocabulary.d.ts +0 -88
  156. package/dist/shared/session-vocabulary.d.ts.map +0 -1
  157. package/dist/shared/session-vocabulary.js +0 -114
  158. package/dist/shared/session-vocabulary.js.map +0 -1
  159. package/dist/utils/claude-transcript.d.ts +0 -206
  160. package/dist/utils/claude-transcript.d.ts.map +0 -1
  161. package/dist/utils/claude-transcript.js +0 -384
  162. package/dist/utils/claude-transcript.js.map +0 -1
  163. package/dist/utils/session-store.d.ts +0 -313
  164. package/dist/utils/session-store.d.ts.map +0 -1
  165. package/dist/utils/session-store.js +0 -513
  166. package/dist/utils/session-store.js.map +0 -1
  167. package/dist/web-client/assets/architecture-TIHT7OUA-B6H7ClR9.js +0 -1
  168. package/dist/web-client/assets/channel-CinHQ6_V.js +0 -1
  169. package/dist/web-client/assets/classDiagram-OUVF2IWQ-D_fljwRI.js +0 -1
  170. package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-D_fljwRI.js +0 -1
  171. package/dist/web-client/assets/eventmodeling-45OFAUF4-DT6B-Tvn.js +0 -1
  172. package/dist/web-client/assets/flowDiagram-23GEKE2U-fbZofWHf.js +0 -1
  173. package/dist/web-client/assets/index-C1WQ25Ow.js +0 -60
  174. package/dist/web-client/assets/index-CHdOvANQ.css +0 -2
  175. package/dist/web-client/assets/railroad-abnf-AHOZXSZD-C5-D4PxJ.js +0 -1
  176. package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-pJcCXE74.js +0 -1
  177. package/dist/web-client/assets/railroad-peg-LSFZ7HO6-B33ruY8f.js +0 -1
  178. package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-Da0ex-S_.js +0 -1
  179. package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-cc5MstHU.js +0 -8
  180. package/dist/web-server/permission-policy.d.ts +0 -46
  181. package/dist/web-server/permission-policy.d.ts.map +0 -1
  182. package/dist/web-server/permission-policy.js +0 -96
  183. package/dist/web-server/permission-policy.js.map +0 -1
  184. package/dist/web-server/prompt-assembly.d.ts +0 -454
  185. package/dist/web-server/prompt-assembly.d.ts.map +0 -1
  186. package/dist/web-server/prompt-assembly.js +0 -1121
  187. package/dist/web-server/prompt-assembly.js.map +0 -1
  188. package/dist/web-server/routes/sessions.d.ts +0 -19
  189. package/dist/web-server/routes/sessions.d.ts.map +0 -1
  190. package/dist/web-server/routes/sessions.js +0 -1296
  191. package/dist/web-server/routes/sessions.js.map +0 -1
  192. package/dist/web-server/session-reconciler.d.ts +0 -162
  193. package/dist/web-server/session-reconciler.d.ts.map +0 -1
  194. package/dist/web-server/session-reconciler.js +0 -363
  195. package/dist/web-server/session-reconciler.js.map +0 -1
package/README.md CHANGED
@@ -371,22 +371,35 @@ Beyond `dependsOn`, ARCS builds a weighted relationship graph across every proje
371
371
 
372
372
  ---
373
373
 
374
- ## Session Panel Headless Claude Runs
375
-
376
- The web UI's session panel delivers a prompt through one of four modes (the "deliver via" selector):
377
-
378
- | Mode | Runtime target | Memory |
379
- |------|----------------|--------|
380
- | **fork via turns** | A new ARCS-owned thread forked from the referenced Claude Code session (`POST /sessions/:id/turns` + `--fork-session`) — ARCS never injects into the live session itself | The fork inherits the session's context; later turns accumulate on the fork's own sidecar |
381
- | **headless resume** | The referenced Claude Code session's runtime thread, resumed headlessly (`--resume`) | The session's thread; **idle sessions only** |
382
- | **headless one-shot** | A fresh `claude -p` against an ARCS-owned `arcs-oneshot-<slug>` record | None a fresh Claude every call |
383
- | **headless thread** | A persistent ARCS-owned thread (`arcs-thread-<slug>-<uuid4>`), minted once then reused | Accumulates in one sidecar |
384
-
385
- Headless runs are **asynchronous by contract**: `POST /sessions/:id/run` answers `202 { accepted: true }` immediately and the job runs out-of-band on the server. The reply is not streamed — it appears in the write-target session's transcript (`GET /sessions/:id/transcript`) when the job finishes, alongside `metadata.run` finalization (outcome, `endedAt`, `replyChars`). Resume additionally mirrors the resumed session's runtime transcript back into the sidecar after the child exits.
386
-
387
- Resume targets are **idle-only**: an active Claude Code session is refused with `409 CLAUDE_SESSION_ACTIVE` ARCS never pushes into a live terminal session.
388
-
389
- The real-child end-to-end test is env-gated so CI never shells out to Claude: `test/claude-run-e2e.test.ts` self-skips via `it.skipIf` unless `ARCS_CLAUDE_E2E=1` is set, in which case it runs a real `claude` binary in a temp workspace (spawn → exit → write-back → transcript GET). Run it deliberately — it requires an authenticated `claude` on PATH and spends real tokens.
374
+ ## Ask-AIweb-side agent chats
375
+
376
+ The web UI's Ask-AI sidebar drives one-shot agent turns from the browser against
377
+ four runtimes, selectable per user and remembered in localStorage:
378
+
379
+ | Runner | Headless shape | Continuation |
380
+ |--------|----------------|--------------|
381
+ | **pi** (default) | `pi -p --mode json` | `--session-id <id>` (+ `--session-dir` under the project data dir) |
382
+ | opencode | `opencode run --format json` | `-s <id>` |
383
+ | claude-code | `claude -p --output-format json` | `--resume <id>` |
384
+ | codex | `codex exec --json --sandbox workspace-write` | `codex exec resume <id>` |
385
+
386
+ Sessions are **browser-owned**: each project+runner pair has one conversation
387
+ stored in localStorage (`arcs:askai:<slug>:<runner>`), including the runtime's
388
+ continuation id — hybrid continuation sends the capped local history every
389
+ turn AND resumes the runtime thread when a `continueSessionId` exists (a
390
+ `CONTINUATION_LOST` end-frame signal clears it and re-seeds).
391
+
392
+ Turns are **asynchronous by contract**: `POST /api/p/:slug/ask` (any runtimes),
393
+ body `{ runner, message, refs?, history?, continueSessionId? }`, answers
394
+ `202 { runId, streamUrl }`; the reply streams over the run's SSE tail
395
+ (`GET /api/p/:slug/runs/:runId/stream`), and the panel renders it live with a
396
+ tool ticker. Runs are **allow-all** — Runners spawn with their full tool
397
+ surface, and the safety gate is a post-run **diff review**: the server snapshots
398
+ the workspace before spawning (git baseline, or a file-hash manifest outside
399
+ git), diffs on settle, and the panel shows a per-file diff card with
400
+ **approve (keep) / reject (revert)** (`GET/POST /runs/:runId/changes|revert`).
401
+
402
+ `GET /api/runners` lists the registered runtimes with PATH availability; `DELETE /runs/:runId` cancels a live run. The web server binds an uncommon local port (default 8745, persisted to `web-config.json` in the data dir so the URL is stable; `arcs web --port` overrides). A pi extension (`web/extensions/arcs-web-status.ts`, `pi -e`) shows the server's up/down state in pi's footer.
390
403
 
391
404
  ---
392
405
 
@@ -135,4 +135,43 @@ async function handleDeployClaudecodeSuperpowers(params, flags) {
135
135
  envOverrides.DEPLOY_SCOPE = scope;
136
136
  return runDeployScript("deploy-claudecode-bundle.mjs", envOverrides);
137
137
  }
138
+ // ---------------------------------------------------------------------------
139
+ // deploy-pi-superpowers
140
+ // ---------------------------------------------------------------------------
141
+ const deployPiSuperpowersParams = {
142
+ "bundle-root": { type: "string", description: "Override bundle root directory" },
143
+ "config-root": { type: "string", description: "Override config root directory (~/.pi)" },
144
+ "project-root": { type: "string", description: "Override project root directory" },
145
+ scope: {
146
+ type: "string",
147
+ description: "Deployment scope (global or project)",
148
+ enum: ["global", "project"],
149
+ },
150
+ };
151
+ defineCommand({
152
+ path: "deploy-pi-superpowers",
153
+ description: "Deploy ARCS sub-agents to pi subagent types (~/.pi/agent/agents or .pi/agents)",
154
+ mutation: true,
155
+ params: deployPiSuperpowersParams,
156
+ handler: handleDeployPiSuperpowers,
157
+ });
158
+ async function handleDeployPiSuperpowers(params, flags) {
159
+ const bundleRoot = params["bundle-root"];
160
+ const configRoot = params["config-root"];
161
+ const projectRoot = params["project-root"];
162
+ const scope = params.scope;
163
+ if (flags.dryRun) {
164
+ return success({ dryRun: true, wouldDeploy: true });
165
+ }
166
+ const envOverrides = {};
167
+ if (bundleRoot)
168
+ envOverrides.DEPLOY_BUNDLE_ROOT = bundleRoot;
169
+ if (configRoot)
170
+ envOverrides.DEPLOY_CONFIG_ROOT = configRoot;
171
+ if (projectRoot)
172
+ envOverrides.DEPLOY_PROJECT_ROOT = projectRoot;
173
+ if (scope)
174
+ envOverrides.DEPLOY_SCOPE = scope;
175
+ return runDeployScript("deploy-pi-bundle.mjs", envOverrides);
176
+ }
138
177
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/cli/commands/bundle.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,aAAa,GAGd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;IACvB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAChF,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;CACrC,CAAC;AAE9C,aAAa,CAAC;IACZ,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC;AAEH,KAAK,UAAU,gBAAgB,CAC7B,MAA6C,EAC7C,MAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QAEhE,MAAM,GAAG,GAA2B,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;QACjF,IAAI,UAAU;YAAE,GAAG,CAAC,uBAAuB,GAAG,UAAU,CAAC;QACzD,IAAI,UAAU;YAAE,GAAG,CAAC,uBAAuB,GAAG,UAAU,CAAC;QAEzD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YAC3C,GAAG,EAAE,QAAQ;YACb,GAAG;YACH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,IAAI,gCAAgC,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,gBAAgB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,UAAkB,EAClB,YAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,GAAG,GAA2B;YAClC,GAAG,OAAO,CAAC,GAAG;YACd,cAAc,EAAE,OAAO;YACvB,GAAG,YAAY;SACU,CAAC;QAE5B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YAC3C,GAAG,EAAE,QAAQ;YACb,GAAG;YACH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,IAAI,kCAAkC,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,gBAAgB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,uBAAuB,GAAG;IAC9B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAChF,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;CACrC,CAAC;AAE9C,aAAa,CAAC;IACZ,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,uBAAuB;IAC/B,OAAO,EAAE,uBAAuB;CACjC,CAAC,CAAC;AAEH,KAAK,UAAU,uBAAuB,CACpC,MAAoD,EACpD,KAAmB;IAEnB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,UAAU;QAAE,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAC;IAC7D,IAAI,UAAU;QAAE,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAC;IAE7D,OAAO,eAAe,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,MAAM,iCAAiC,GAAG;IACxC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAChF,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAChF,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;IAClF,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC5B;CAC0C,CAAC;AAE9C,aAAa,CAAC;IACZ,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,iCAAiC;IACzC,OAAO,EAAE,iCAAiC;CAC3C,CAAC,CAAC;AAEH,KAAK,UAAU,iCAAiC,CAC9C,MAA8D,EAC9D,KAAmB;IAEnB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAE3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,UAAU;QAAE,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAC;IAC7D,IAAI,UAAU;QAAE,YAAY,CAAC,kBAAkB,GAAG,UAAU,CAAC;IAC7D,IAAI,WAAW;QAAE,YAAY,CAAC,mBAAmB,GAAG,WAAW,CAAC;IAChE,IAAI,KAAK;QAAE,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;IAE7C,OAAO,eAAe,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/cli/commands/bundle.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ import { defineCommand, } from "../command-registry.js";
6
6
  import { failure, success } from "../output-envelope.js";
7
7
  /** Loopback only: `arcs web` refuses to bind anything else. */
8
8
  const DEFAULT_WEB_HOST = "127.0.0.1";
9
- /** Default `arcs web` port. */
10
- const DEFAULT_WEB_PORT = 4173;
9
+ /** Default `arcs web` port — uncommon, see src/web-server/index.ts. */
10
+ const DEFAULT_WEB_PORT = 8745;
11
11
  const webParams = {
12
12
  port: {
13
13
  type: "number",
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/cli/commands/web.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAGL,aAAa,GAGd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzD,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC,+BAA+B;AAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,8BAA8B,gBAAgB,GAAG;KAC/D;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,8BAA8B,gBAAgB,GAAG;KAC/D;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,8BAA8B;KAC5C;CAC0C,CAAC;AAE9C,aAAa,CAAC;IACZ,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,+DAA+D;IAC5E,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,KAAK,UAAU,SAAS,CACtB,MAAsC,EACtC,MAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACrE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;SACzB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,EAAE;YACF,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE;YACtF,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAClD,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,UAAU,EAAE,EAAE;YAC3C,KAAK,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO;YAClI,KAAK,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YAC/B,EAAE;SACH,CAAC;QACF,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjC,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,iBAAiB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/cli/commands/web.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAGL,aAAa,GAGd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzD,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC,uEAAuE;AACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,8BAA8B,gBAAgB,GAAG;KAC/D;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,8BAA8B,gBAAgB,GAAG;KAC/D;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,8BAA8B;KAC5C;CAC0C,CAAC;AAE9C,aAAa,CAAC;IACZ,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,+DAA+D;IAC5E,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,KAAK,UAAU,SAAS,CACtB,MAAsC,EACtC,MAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACrE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;SACzB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,EAAE;YACF,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE;YACtF,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAClD,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,UAAU,EAAE,EAAE;YAC3C,KAAK,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO;YAClI,KAAK,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;YAC/B,EAAE;SACH,CAAC;QACF,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjC,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,iBAAiB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,CAAC;AACH,CAAC"}
@@ -86,6 +86,24 @@ export declare function diagnoseClaudeCodeBundle(): Promise<{
86
86
  path: string;
87
87
  error: string;
88
88
  }>;
89
+ /**
90
+ * Diagnosis for the pi deploy bundle manifest (~/.pi/.arcs-bundle.json),
91
+ * mirroring {@link diagnoseClaudeCodeBundle} for the pi host. Reads the
92
+ * `tierModels` the pi deploy script persisted so a later `arcs init` can
93
+ * reuse the previous selection instead of re-prompting.
94
+ */
95
+ export declare function diagnosePiBundle(): Promise<{
96
+ status: "missing";
97
+ path: string;
98
+ } | {
99
+ status: "ok";
100
+ path: string;
101
+ tierModels?: ModelTierConfig;
102
+ } | {
103
+ status: "corrupt";
104
+ path: string;
105
+ error: string;
106
+ }>;
89
107
  /**
90
108
  * Extracts model tier pre-fills from parsed opencode config.
91
109
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qBAAqB,CAAC,EAAE,aAAa,CAAC;CACvC;AAMD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAUD;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAOtC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,UAAU,CAYvC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,CAKhD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGpD;AAMD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAQlE;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CACnD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACrD,CAaA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CACrD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,eAAe,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACrD,CAyCA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAarE;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA4BD;;;GAGG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CASlE;AAED;;;;;;GAMG;AACH,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAEtD;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA8CxF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,52 @@ export async function diagnoseClaudeCodeBundle() {
160
160
  }
161
161
  return { status: "ok", path, tierModels: { heavy, standard, light } };
162
162
  }
163
+ /**
164
+ * Diagnosis for the pi deploy bundle manifest (~/.pi/.arcs-bundle.json),
165
+ * mirroring {@link diagnoseClaudeCodeBundle} for the pi host. Reads the
166
+ * `tierModels` the pi deploy script persisted so a later `arcs init` can
167
+ * reuse the previous selection instead of re-prompting.
168
+ */
169
+ export async function diagnosePiBundle() {
170
+ const path = join(homedir(), ".pi", ".arcs-bundle.json");
171
+ let content;
172
+ try {
173
+ content = await readFile(path, "utf-8");
174
+ }
175
+ catch {
176
+ return { status: "missing", path };
177
+ }
178
+ let parsed;
179
+ try {
180
+ parsed = JSON.parse(content);
181
+ }
182
+ catch (err) {
183
+ return { status: "corrupt", path, error: err instanceof Error ? err.message : String(err) };
184
+ }
185
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
186
+ return { status: "missing", path };
187
+ }
188
+ const manifest = parsed;
189
+ if (manifest.bundleId !== "arcs-pi-bundle")
190
+ return { status: "missing", path };
191
+ if (!Array.isArray(manifest.agents) || manifest.agents.length === 0) {
192
+ return { status: "missing", path };
193
+ }
194
+ const tiers = manifest.tierModels;
195
+ if (tiers === null || typeof tiers !== "object" || Array.isArray(tiers)) {
196
+ return { status: "ok", path };
197
+ }
198
+ const { heavy, standard, light } = tiers;
199
+ if (typeof heavy !== "string" ||
200
+ typeof standard !== "string" ||
201
+ typeof light !== "string" ||
202
+ !heavy ||
203
+ !standard ||
204
+ !light) {
205
+ return { status: "ok", path };
206
+ }
207
+ return { status: "ok", path, tierModels: { heavy, standard, light } };
208
+ }
163
209
  /**
164
210
  * Extracts model tier pre-fills from parsed opencode config.
165
211
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAiIA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwjBrE;AA4QD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0F3E;AAgDD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CAyGf"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAkIA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4tBrE;AA6SD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0F3E;AAgDD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CAyGf"}
package/dist/cli/setup.js CHANGED
@@ -8,7 +8,7 @@ import { PACKAGE_ROOT } from "../utils/paths.js";
8
8
  import { detectRtk } from "../utils/rtk.js";
9
9
  import { getActiveAgents, getAgentsByTier } from "./agent-registry.js";
10
10
  import { detectArcsBundleInstall, installArcsBundle } from "./bundle-installer.js";
11
- import { DEFAULT_MODEL_VARIANT, diagnoseClaudeCodeBundle, diagnoseOpenCodeConfig, extractModelPreFills, getAvailableModels, getClaudeCodeModels, readClaudeCodeCurrentModel, readClaudeCodeCurrentPrimaryAgent, readConfigOrDefault, writeConfig, } from "./config.js";
11
+ import { DEFAULT_MODEL_VARIANT, diagnoseClaudeCodeBundle, diagnoseOpenCodeConfig, diagnosePiBundle, extractModelPreFills, getAvailableModels, getClaudeCodeModels, readClaudeCodeCurrentModel, readClaudeCodeCurrentPrimaryAgent, readConfigOrDefault, writeConfig, } from "./config.js";
12
12
  import { applyAgentModelConfig, displayPath, opencodeHasAgent, readOpencodePrimaryAgentId, writeOpencodeAgent, } from "./instructions.js";
13
13
  const HOST_AGENT_TIERS = [
14
14
  { name: "plan", tier: "heavy" },
@@ -98,6 +98,7 @@ export async function runSetup(mode) {
98
98
  // ── Environment detection gates ─────────────────────────────────────────────
99
99
  let hasOpenCode = false;
100
100
  let hasClaudeCode = false;
101
+ let hasPi = false;
101
102
  try {
102
103
  execSync("which opencode", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
103
104
  hasOpenCode = true;
@@ -112,8 +113,15 @@ export async function runSetup(mode) {
112
113
  catch {
113
114
  // ignore
114
115
  }
115
- if (!hasOpenCode && !hasClaudeCode) {
116
- p.cancel("Neither OpenCode nor Claude Code is installed or on PATH. ARCS requires at least one of them.");
116
+ try {
117
+ execSync("which pi", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
118
+ hasPi = true;
119
+ }
120
+ catch {
121
+ // ignore
122
+ }
123
+ if (!hasOpenCode && !hasClaudeCode && !hasPi) {
124
+ p.cancel("Neither OpenCode, Claude Code, nor pi is installed or on PATH. ARCS requires at least one of them.");
117
125
  process.exit(1);
118
126
  }
119
127
  const isInit = mode === "init";
@@ -122,13 +130,23 @@ export async function runSetup(mode) {
122
130
  const versionSuffix = version ? ` v${version} ` : " ";
123
131
  p.intro(color.bgCyan(color.black(isInit ? ` ARCS setup ${versionSuffix}` : ` ARCS config ${versionSuffix}`)));
124
132
  let selectedPlatforms = [];
125
- if (hasOpenCode && hasClaudeCode) {
133
+ const PLATFORM_LABELS = {
134
+ opencode: "OpenCode",
135
+ claudecode: "Claude Code",
136
+ pi: "pi",
137
+ };
138
+ const installedPlatforms = [
139
+ hasOpenCode && "opencode",
140
+ hasClaudeCode && "claudecode",
141
+ hasPi && "pi",
142
+ ].filter(Boolean);
143
+ if (installedPlatforms.length > 1) {
126
144
  const selected = await p.multiselect({
127
145
  message: "Which IDE platforms would you like to configure ARCS with?",
128
- options: [
129
- { value: "opencode", label: "OpenCode" },
130
- { value: "claudecode", label: "Claude Code" },
131
- ],
146
+ options: installedPlatforms.map((value) => ({
147
+ value,
148
+ label: PLATFORM_LABELS[value],
149
+ })),
132
150
  });
133
151
  if (p.isCancel(selected)) {
134
152
  p.cancel("Setup cancelled.");
@@ -136,36 +154,26 @@ export async function runSetup(mode) {
136
154
  }
137
155
  selectedPlatforms = selected;
138
156
  }
139
- else if (hasOpenCode) {
140
- const confirmOpenCode = await p.confirm({
141
- message: "Configure ARCS with OpenCode?",
142
- initialValue: true,
143
- });
144
- if (p.isCancel(confirmOpenCode)) {
145
- p.cancel("Setup cancelled.");
146
- process.exit(0);
147
- }
148
- if (confirmOpenCode) {
149
- selectedPlatforms.push("opencode");
150
- }
151
- }
152
- else if (hasClaudeCode) {
153
- const confirmClaude = await p.confirm({
154
- message: "Configure ARCS with Claude Code?",
157
+ else if (installedPlatforms.length === 1) {
158
+ const only = installedPlatforms[0];
159
+ const confirmOpen = await p.confirm({
160
+ message: `Configure ARCS with ${PLATFORM_LABELS[only]}?`,
155
161
  initialValue: true,
156
162
  });
157
- if (p.isCancel(confirmClaude)) {
163
+ if (p.isCancel(confirmOpen)) {
158
164
  p.cancel("Setup cancelled.");
159
165
  process.exit(0);
160
166
  }
161
- if (confirmClaude) {
162
- selectedPlatforms.push("claudecode");
167
+ if (confirmOpen) {
168
+ selectedPlatforms.push(only);
163
169
  }
164
170
  }
165
171
  const selectedOpenCode = selectedPlatforms.includes("opencode");
166
172
  const selectedClaudeCode = selectedPlatforms.includes("claudecode");
173
+ const selectedPi = selectedPlatforms.includes("pi");
167
174
  let opencodeAgentActive = false;
168
175
  let claudecodeDeployed = false;
176
+ let piDeployed = false;
169
177
  let opencodeModelVariants;
170
178
  const arcsConfig = readConfigOrDefault();
171
179
  // ── OpenCode configuration and installation flow ──────────────────────────
@@ -493,6 +501,132 @@ export async function runSetup(mode) {
493
501
  p.note(`${color.yellow("⊘")} Skipped Claude Code deployment`, "Claude Code Agent");
494
502
  }
495
503
  }
504
+ // ── pi support ────────────────────────────────────────────────────────────
505
+ if (selectedPi) {
506
+ const shouldDeployPi = await p.confirm({
507
+ message: "Deploy ARCS sub-agents to pi?",
508
+ initialValue: true,
509
+ });
510
+ if (p.isCancel(shouldDeployPi)) {
511
+ p.cancel("Setup cancelled.");
512
+ process.exit(0);
513
+ }
514
+ if (shouldDeployPi) {
515
+ // ── Reuse fast path ───────────────────────────────────────────────────
516
+ // Only offered when a previous deploy left a readable bundle manifest
517
+ // that recorded the required three tiers. Falls through to the tier
518
+ // prompt sequence below otherwise — same shape as the Claude Code flow.
519
+ const piBundleDiagnosis = await diagnosePiBundle();
520
+ const reusablePiModels = piBundleDiagnosis.status === "ok" && piBundleDiagnosis.tierModels
521
+ ? piBundleDiagnosis.tierModels
522
+ : null;
523
+ let piModelConfig = null;
524
+ if (reusablePiModels) {
525
+ const reuseExistingPi = await p.confirm({
526
+ message: [
527
+ "Reuse the existing pi model config?",
528
+ ` heavy: ${reusablePiModels.heavy}`,
529
+ ` standard: ${reusablePiModels.standard}`,
530
+ ` light: ${reusablePiModels.light}`,
531
+ ].join("\n"),
532
+ initialValue: true,
533
+ });
534
+ // Deliberate exception to this file's convention: cancelling means
535
+ // "let me pick models again", not "abort the wizard".
536
+ if (!p.isCancel(reuseExistingPi) && reuseExistingPi) {
537
+ piModelConfig = { ...reusablePiModels };
538
+ }
539
+ }
540
+ if (!piModelConfig) {
541
+ // ── Model selection for pi ─────────────────────────────────────────
542
+ // pi has no curated model list: sub-agents inherit the parent pi
543
+ // session's model by default ("inherit" — the extension default) or
544
+ // get an explicit provider/model id. Falls back to the pi session's
545
+ // currently configured model when present.
546
+ p.note([
547
+ "ARCS agents are grouped into three tiers.",
548
+ ` Heavy — reasoning & synthesis (${registryTierAgentNames("heavy")})`,
549
+ ` Standard — orchestration (${registryTierAgentNames("standard")})`,
550
+ ` Light — read-only exploration (${registryTierAgentNames("light")})`,
551
+ "",
552
+ '"inherit" (default) delegates each agent model to the parent pi',
553
+ "session. A custom id must be provider/modelId (e.g. opencode/deepseek-v4).",
554
+ ].join("\n"), "pi Model Tiers");
555
+ const piHeavyModel = await selectPiTierModel("Heavy model (reasoning, synthesis)");
556
+ if (p.isCancel(piHeavyModel)) {
557
+ p.cancel("Setup cancelled.");
558
+ process.exit(0);
559
+ }
560
+ const piStandardModel = await selectPiTierModel("Standard model (orchestration)");
561
+ if (p.isCancel(piStandardModel)) {
562
+ p.cancel("Setup cancelled.");
563
+ process.exit(0);
564
+ }
565
+ const piLightModel = await selectPiTierModel("Light/fast model (read-only, exploration)");
566
+ if (p.isCancel(piLightModel)) {
567
+ p.cancel("Setup cancelled.");
568
+ process.exit(0);
569
+ }
570
+ piModelConfig = {
571
+ heavy: piHeavyModel,
572
+ standard: piStandardModel,
573
+ light: piLightModel,
574
+ };
575
+ }
576
+ const sPi = p.spinner();
577
+ sPi.start("Deploying ARCS sub-agents to pi…");
578
+ try {
579
+ const repoRoot = resolve(import.meta.dirname, "../..");
580
+ const scriptPath = resolve(repoRoot, "scripts/deploy-pi-bundle.mjs");
581
+ const proc = spawnSync("node", [scriptPath], {
582
+ env: {
583
+ ...process.env,
584
+ DEPLOY_DRY_RUN: "false",
585
+ DEPLOY_MODEL_HEAVY: piModelConfig.heavy,
586
+ DEPLOY_MODEL_STANDARD: piModelConfig.standard,
587
+ DEPLOY_MODEL_LIGHT: piModelConfig.light,
588
+ },
589
+ encoding: "utf-8",
590
+ });
591
+ if (proc.status === 0) {
592
+ piDeployed = true;
593
+ sPi.stop("pi deployment complete.");
594
+ if (proc.stdout) {
595
+ try {
596
+ const res = JSON.parse(proc.stdout);
597
+ const summaryLines = [
598
+ `${color.green("✔")} Source: ${res.source}`,
599
+ `${color.green("✔")} Destination: ${res.destination}`,
600
+ `${color.green("✔")} Heavy: ${color.cyan(res.modelConfig?.heavy || "inherit")} | Standard: ${color.cyan(res.modelConfig?.standard || "inherit")} | Light: ${color.cyan(res.modelConfig?.light || "inherit")}`,
601
+ `${color.green("✔")} Files added: ${res.filesAdded?.length || 0}`,
602
+ `${color.green("✔")} Files changed: ${res.filesChanged?.length || 0}`,
603
+ `${color.green("✔")} Files removed: ${res.filesRemoved?.length || 0}`,
604
+ `${color.dim("Requires @tintinweb/pi-subagents extension in pi.")}`,
605
+ ];
606
+ p.note(summaryLines.join("\n"), "pi Deployment Summary");
607
+ }
608
+ catch {
609
+ p.note("Successfully deployed but summary output was unparseable.", "pi Deployment");
610
+ }
611
+ }
612
+ else {
613
+ p.note("Successfully deployed to pi.", "pi Deployment");
614
+ }
615
+ }
616
+ else {
617
+ sPi.stop("pi deployment failed.");
618
+ p.note(proc.stderr || "deploy-pi-bundle.mjs failed with non-zero exit code.", "Error");
619
+ }
620
+ }
621
+ catch (err) {
622
+ sPi.stop("pi deployment failed.");
623
+ p.note(err instanceof Error ? err.message : String(err), "Error");
624
+ }
625
+ }
626
+ else {
627
+ p.note(`${color.yellow("⊘")} Skipped pi deployment`, "pi Agent");
628
+ }
629
+ }
496
630
  // ── Build config ──────────────────────────────────────────────────────────
497
631
  const ides = [];
498
632
  if (selectedOpenCode && opencodeAgentActive) {
@@ -501,6 +635,9 @@ export async function runSetup(mode) {
501
635
  if (claudecodeDeployed) {
502
636
  ides.push("claudecode");
503
637
  }
638
+ if (piDeployed) {
639
+ ides.push("pi");
640
+ }
504
641
  const config = {
505
642
  ...arcsConfig,
506
643
  version: "1",
@@ -513,18 +650,30 @@ export async function runSetup(mode) {
513
650
  writeConfig(config);
514
651
  sWrite.stop("Configuration saved.");
515
652
  // ── Optional codegraph installation ─────────────────────────────────────────
516
- // Derive codegraph install targets from the platforms the user selected.
653
+ // Derive codegraph install targets from the selected hosts.
517
654
  // platform "claudecode" maps to codegraph's "claude" target. Never use
518
655
  // "auto" — that would wire unselected hosts (Cursor/Codex/Hermes).
519
- const codegraphTargets = [selectedOpenCode && "opencode", selectedClaudeCode && "claude"].filter(Boolean).join(",") ||
520
- "opencode";
521
- await promptCodegraphInstall(codegraphTargets);
656
+ // codegraph has no pi target, so a pi-only selection skips it entirely
657
+ // (the old "|| opencode" fallback would have wired an unselected host).
658
+ const codegraphTargets = [selectedOpenCode && "opencode", selectedClaudeCode && "claude"]
659
+ .filter(Boolean)
660
+ .join(",");
661
+ if (codegraphTargets) {
662
+ await promptCodegraphInstall(codegraphTargets);
663
+ }
664
+ else {
665
+ p.log.info(color.dim("Skipped codegraph wiring — pi has no codegraph target."));
666
+ }
522
667
  // ── Optional RTK installation ───────────────────────────────────────────────
523
668
  // `rtk init -g` always covers Claude Code; `--opencode` additionally installs
524
- // the OpenCode plugin — so only the opencode selection changes the wiring.
525
- // The Claude Code selection is passed along so the prompt can ask before
526
- // touching an unselected host.
527
- await promptRtkInstall(selectedOpenCode, selectedClaudeCode);
669
+ // the OpenCode plugin — so only opencode/claude selections change the wiring.
670
+ // pi-only selections skip RTK entirely: rtk has no pi target.
671
+ if (selectedOpenCode || selectedClaudeCode) {
672
+ await promptRtkInstall(selectedOpenCode, selectedClaudeCode);
673
+ }
674
+ else {
675
+ p.log.info(color.dim("Skipped RTK wiring — pi has no RTK target."));
676
+ }
528
677
  p.outro(color.green("Done!") +
529
678
  " You can re-run this setup at any time with " +
530
679
  color.cyan("npm run init"));
@@ -560,6 +709,40 @@ async function selectVariant(message, currentValue = DEFAULT_MODEL_VARIANT) {
560
709
  ? selected
561
710
  : DEFAULT_MODEL_VARIANT;
562
711
  }
712
+ /**
713
+ * pi tier model selection: "inherit" (defer to the parent pi session's
714
+ * model — the extension default, and what the deploy script omits) or an
715
+ * explicit provider/modelId entered as text. No curated model list: pi
716
+ * serves any configured provider. Returns a symbol on cancel.
717
+ */
718
+ async function selectPiTierModel(message) {
719
+ const selected = await p.select({
720
+ message,
721
+ options: [
722
+ {
723
+ value: "inherit",
724
+ label: "inherit",
725
+ hint: "defer to the parent pi session's model (default)",
726
+ },
727
+ { value: CUSTOM_MODEL_SENTINEL, label: "Enter custom model ID" },
728
+ ],
729
+ initialValue: "inherit",
730
+ });
731
+ if (p.isCancel(selected))
732
+ return selected;
733
+ if (selected === CUSTOM_MODEL_SENTINEL) {
734
+ const custom = await p.text({
735
+ message: `${message} (custom)`,
736
+ placeholder: "provider/model-id e.g. opencode/deepseek-v4",
737
+ initialValue: "",
738
+ });
739
+ if (p.isCancel(custom))
740
+ return custom;
741
+ const trimmed = custom.trim();
742
+ return trimmed === "" ? "inherit" : trimmed;
743
+ }
744
+ return selected;
745
+ }
563
746
  /**
564
747
  * Hints for list entries that are not real model identifiers and would
565
748
  * otherwise read as one. Keyed by the literal option value.