@rryando/arcs 3.11.0 → 4.0.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 (191) hide show
  1. package/dist/cli/commands/hooks.d.ts +46 -6
  2. package/dist/cli/commands/hooks.d.ts.map +1 -1
  3. package/dist/cli/commands/hooks.js +190 -52
  4. package/dist/cli/commands/hooks.js.map +1 -1
  5. package/dist/cli/commands/web.js +14 -4
  6. package/dist/cli/commands/web.js.map +1 -1
  7. package/dist/cli/config.d.ts +14 -3
  8. package/dist/cli/config.d.ts.map +1 -1
  9. package/dist/cli/config.js +39 -38
  10. package/dist/cli/config.js.map +1 -1
  11. package/dist/cli/instructions.d.ts +13 -1
  12. package/dist/cli/instructions.d.ts.map +1 -1
  13. package/dist/cli/instructions.js +38 -3
  14. package/dist/cli/instructions.js.map +1 -1
  15. package/dist/cli/setup.d.ts.map +1 -1
  16. package/dist/cli/setup.js +76 -11
  17. package/dist/cli/setup.js.map +1 -1
  18. package/dist/shared/session-vocabulary.d.ts +88 -0
  19. package/dist/shared/session-vocabulary.d.ts.map +1 -0
  20. package/dist/shared/session-vocabulary.js +114 -0
  21. package/dist/shared/session-vocabulary.js.map +1 -0
  22. package/dist/utils/claude-code-hook-install.d.ts +1 -1
  23. package/dist/utils/claude-code-hook-install.d.ts.map +1 -1
  24. package/dist/utils/claude-code-hook-install.js +68 -3
  25. package/dist/utils/claude-code-hook-install.js.map +1 -1
  26. package/dist/utils/claude-transcript.d.ts +81 -2
  27. package/dist/utils/claude-transcript.d.ts.map +1 -1
  28. package/dist/utils/claude-transcript.js +33 -2
  29. package/dist/utils/claude-transcript.js.map +1 -1
  30. package/dist/utils/git.d.ts +21 -0
  31. package/dist/utils/git.d.ts.map +1 -1
  32. package/dist/utils/git.js +65 -1
  33. package/dist/utils/git.js.map +1 -1
  34. package/dist/utils/hook-contract.d.ts +36 -0
  35. package/dist/utils/hook-contract.d.ts.map +1 -0
  36. package/dist/utils/hook-contract.js +35 -0
  37. package/dist/utils/hook-contract.js.map +1 -0
  38. package/dist/utils/hook-token-store.d.ts +39 -0
  39. package/dist/utils/hook-token-store.d.ts.map +1 -1
  40. package/dist/utils/hook-token-store.js +46 -3
  41. package/dist/utils/hook-token-store.js.map +1 -1
  42. package/dist/utils/session-store.d.ts +226 -0
  43. package/dist/utils/session-store.d.ts.map +1 -1
  44. package/dist/utils/session-store.js +266 -1
  45. package/dist/utils/session-store.js.map +1 -1
  46. package/dist/web-client/assets/{GraphCanvas-dNyZ458L.js → GraphCanvas-CTyf_XXQ.js} +1 -1
  47. package/dist/web-client/assets/{MarkdownEditor-BmU9mdkN.js → MarkdownEditor-af2vwQOX.js} +1 -1
  48. package/dist/web-client/assets/{abnfDiagram-VRR7QNED-D1BFBoeF.js → abnfDiagram-VRR7QNED-CdxcKX9t.js} +1 -1
  49. package/dist/web-client/assets/architecture-TIHT7OUA-Bt2-DmfV.js +1 -0
  50. package/dist/web-client/assets/{architectureDiagram-ZJ3FMSHR-CA8hTWUK.js → architectureDiagram-ZJ3FMSHR-DOISDv6o.js} +1 -1
  51. package/dist/web-client/assets/{blockDiagram-677ZJIJ3-CQpb_KwX.js → blockDiagram-677ZJIJ3-DKwtbttM.js} +1 -1
  52. package/dist/web-client/assets/{c4Diagram-LMCZKHZV-BhpHX84V.js → c4Diagram-LMCZKHZV-CilqK-Mm.js} +1 -1
  53. package/dist/web-client/assets/channel-C2mb9np_.js +1 -0
  54. package/dist/web-client/assets/{chunk-32BRIVSS-BUusQQa_.js → chunk-32BRIVSS-C79m1mkG.js} +1 -1
  55. package/dist/web-client/assets/{chunk-52WLFC77-nNYwlftl.js → chunk-52WLFC77-C6WelGWJ.js} +1 -1
  56. package/dist/web-client/assets/{chunk-C7G6YPKG-D0a-yqnK.js → chunk-C7G6YPKG-DLg7ryWI.js} +1 -1
  57. package/dist/web-client/assets/{chunk-EX3LRPZG-IDuRMN-4.js → chunk-EX3LRPZG-DjWgo4gL.js} +1 -1
  58. package/dist/web-client/assets/{chunk-FWX5IMBZ-D_spTcqi.js → chunk-FWX5IMBZ-BgS9p_zy.js} +2 -2
  59. package/dist/web-client/assets/{chunk-HOUHSVGY-C-bcxwZS.js → chunk-HOUHSVGY-DuVR7dZO.js} +1 -1
  60. package/dist/web-client/assets/{chunk-ICXQ74PX-CjmK2bAM.js → chunk-ICXQ74PX-Y8DlnIJM.js} +1 -1
  61. package/dist/web-client/assets/{chunk-MOJQB5TN-Bkc08KWY.js → chunk-MOJQB5TN-BEM3QgeD.js} +1 -1
  62. package/dist/web-client/assets/{chunk-OGEWGWER-BAAYYvG9.js → chunk-OGEWGWER-DlM8LxGr.js} +1 -1
  63. package/dist/web-client/assets/{chunk-PUDLZKDR-WXbPY7NM.js → chunk-PUDLZKDR-c6cqNVTx.js} +1 -1
  64. package/dist/web-client/assets/{chunk-Q4XR5HBZ-DcbnjxQE.js → chunk-Q4XR5HBZ-C5lNmcka.js} +1 -1
  65. package/dist/web-client/assets/{chunk-V7JOEXUC-C6t75PAp.js → chunk-V7JOEXUC-nSswxvSG.js} +1 -1
  66. package/dist/web-client/assets/{chunk-VAUOI2AC-DVrJ0Ic7.js → chunk-VAUOI2AC-CqJkCkT0.js} +1 -1
  67. package/dist/web-client/assets/{chunk-VR4S4FIN-MOOFvGS0.js → chunk-VR4S4FIN-D3pFchin.js} +1 -1
  68. package/dist/web-client/assets/{chunk-WYO6CB5R-sK7Y2NZD.js → chunk-WYO6CB5R-BI9c-NzI.js} +1 -1
  69. package/dist/web-client/assets/{chunk-ZGVPDNZ5-a13RQsku.js → chunk-ZGVPDNZ5-CKTF2kLR.js} +1 -1
  70. package/dist/web-client/assets/classDiagram-OUVF2IWQ-CPd_w3Zr.js +1 -0
  71. package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-CPd_w3Zr.js +1 -0
  72. package/dist/web-client/assets/{cynefin-VYW2F7L2-D8xaH-wO.js → cynefin-VYW2F7L2-BrJrnfh1.js} +1 -1
  73. package/dist/web-client/assets/{cynefinDiagram-TSTJHNR4-Bt__EqJW.js → cynefinDiagram-TSTJHNR4-9jYzPWJZ.js} +1 -1
  74. package/dist/web-client/assets/{dagre-VKFMJZFB-Bwgjwflz.js → dagre-VKFMJZFB-B705Djpu.js} +1 -1
  75. package/dist/web-client/assets/{diagram-FQU43EPY-CaPDVUq2.js → diagram-FQU43EPY-BfQAlUlJ.js} +1 -1
  76. package/dist/web-client/assets/{diagram-G47NLZAW-BQLB9YYA.js → diagram-G47NLZAW-s1YDe06A.js} +1 -1
  77. package/dist/web-client/assets/{diagram-NH7WQ7WH-BWo84w8Y.js → diagram-NH7WQ7WH-Dy3z11Hc.js} +1 -1
  78. package/dist/web-client/assets/{diagram-OA4YK3LP-bKn6Pz5s.js → diagram-OA4YK3LP-Bius2xUN.js} +1 -1
  79. package/dist/web-client/assets/{diagram-WEI45ONY-BRqV5Oy6.js → diagram-WEI45ONY-D7x4VcHM.js} +1 -1
  80. package/dist/web-client/assets/{ebnfDiagram-CCIWWBDH-DhUXL1-7.js → ebnfDiagram-CCIWWBDH-CBg1xrmD.js} +1 -1
  81. package/dist/web-client/assets/{erDiagram-Q63AITRT-HXAQQ-_F.js → erDiagram-Q63AITRT-CJRvTFvd.js} +1 -1
  82. package/dist/web-client/assets/eventmodeling-45OFAUF4-CTKRC2Yj.js +1 -0
  83. package/dist/web-client/assets/flowDiagram-23GEKE2U-CaZjFyU1.js +1 -0
  84. package/dist/web-client/assets/{ganttDiagram-NO4QXBWP-D-Ddf_Ii.js → ganttDiagram-NO4QXBWP-C_LsypZ4.js} +1 -1
  85. package/dist/web-client/assets/{gitGraph-TEB2WS4Q-BmHzs0uF.js → gitGraph-TEB2WS4Q-Dx2XxdGk.js} +1 -1
  86. package/dist/web-client/assets/{gitGraphDiagram-IHSO6WYX-YnQWrlh_.js → gitGraphDiagram-IHSO6WYX-DiKWkGWQ.js} +1 -1
  87. package/dist/web-client/assets/{index-DCWxuIeQ.js → index-CYwhkPtc.js} +38 -36
  88. package/dist/web-client/assets/index-wSzUPvml.css +2 -0
  89. package/dist/web-client/assets/{info-DKCQHKI2-DCT_B7RN.js → info-DKCQHKI2-DORwHenK.js} +1 -1
  90. package/dist/web-client/assets/{infoDiagram-FWYZ7A6U-D-le1Zhq.js → infoDiagram-FWYZ7A6U-CQecXS1E.js} +1 -1
  91. package/dist/web-client/assets/{ishikawaDiagram-FXEZZL3T-Jr1x2VJB.js → ishikawaDiagram-FXEZZL3T-CWhj60Zp.js} +1 -1
  92. package/dist/web-client/assets/{journeyDiagram-5HDEW3XC-BF9ELxj-.js → journeyDiagram-5HDEW3XC-Cj3z2U8u.js} +1 -1
  93. package/dist/web-client/assets/{kanban-definition-HUTT4EX6-C4fJqAxu.js → kanban-definition-HUTT4EX6-DFmBRenP.js} +1 -1
  94. package/dist/web-client/assets/{line-7N7ikFxa.js → line-C_Hxz9xb.js} +1 -1
  95. package/dist/web-client/assets/{mermaid-parser.core-QbC1icPt.js → mermaid-parser.core-E3xRdzPn.js} +3 -3
  96. package/dist/web-client/assets/{mermaid.core-C26d_UJm.js → mermaid.core-C2_CcotH.js} +3 -3
  97. package/dist/web-client/assets/{mindmap-definition-LN4V7U3C-D6TV1JDf.js → mindmap-definition-LN4V7U3C-Bs7VxPid.js} +1 -1
  98. package/dist/web-client/assets/{packet-7NZHBO7P-CR1vrGj3.js → packet-7NZHBO7P-D2nqso7i.js} +1 -1
  99. package/dist/web-client/assets/{pegDiagram-2B236MQR-xOMBBtfV.js → pegDiagram-2B236MQR-Cepo1sIu.js} +1 -1
  100. package/dist/web-client/assets/{pie-RZYD4A2V-BbWuhjwy.js → pie-RZYD4A2V-Sx0IGbXt.js} +1 -1
  101. package/dist/web-client/assets/{pieDiagram-ENE6RG2P-MsfnsqgW.js → pieDiagram-ENE6RG2P-D-PMDNhk.js} +1 -1
  102. package/dist/web-client/assets/{quadrantDiagram-ABIIQ3AL-BoI7zKXF.js → quadrantDiagram-ABIIQ3AL-BNGC7Fms.js} +1 -1
  103. package/dist/web-client/assets/{radar-I7S5WNFK-CbYXKToJ.js → radar-I7S5WNFK-CFf_-2OC.js} +1 -1
  104. package/dist/web-client/assets/{railroad-3IZDKUUU-6LxHDkLe.js → railroad-3IZDKUUU-BvZeVRGh.js} +1 -1
  105. package/dist/web-client/assets/railroad-abnf-AHOZXSZD-DnGh6x2O.js +1 -0
  106. package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-CGfgCoaE.js +1 -0
  107. package/dist/web-client/assets/railroad-peg-LSFZ7HO6-BzQxYdqp.js +1 -0
  108. package/dist/web-client/assets/{railroadDiagram-RFXS5EU6-D6RUoUki.js → railroadDiagram-RFXS5EU6-D0iK_k84.js} +1 -1
  109. package/dist/web-client/assets/{requirementDiagram-TGXJPOKE-B6k4BDpE.js → requirementDiagram-TGXJPOKE-BPdsw9tz.js} +1 -1
  110. package/dist/web-client/assets/{sankeyDiagram-HTMAVEWB-BUDF-UFr.js → sankeyDiagram-HTMAVEWB-maA6ukOJ.js} +1 -1
  111. package/dist/web-client/assets/{sequenceDiagram-DBY2YBRQ-D6GqcsUi.js → sequenceDiagram-DBY2YBRQ-DKmAjmgr.js} +1 -1
  112. package/dist/web-client/assets/{stateDiagram-2N3HPSRC-WfJCQAK5.js → stateDiagram-2N3HPSRC-esxmzk3w.js} +1 -1
  113. package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-hcBqlOLc.js +1 -0
  114. package/dist/web-client/assets/{swimlanes-5IMT3BWC-BtMo82mC.js → swimlanes-5IMT3BWC-DFd-wGBv.js} +1 -1
  115. package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DbSrPBYr.js +8 -0
  116. package/dist/web-client/assets/{timeline-definition-FHXFAJF6-CoAmv2Sn.js → timeline-definition-FHXFAJF6-C7SG8MQH.js} +1 -1
  117. package/dist/web-client/assets/{treeView-QDETBFTQ-BWsKzE1s.js → treeView-QDETBFTQ-M0rhxbs2.js} +1 -1
  118. package/dist/web-client/assets/{treemap-6X3UGDF4-i_qGtB3o.js → treemap-6X3UGDF4-BQfkQxSh.js} +1 -1
  119. package/dist/web-client/assets/{vennDiagram-L72KCM5P-DYkiLe-P.js → vennDiagram-L72KCM5P-CyIlb8ju.js} +1 -1
  120. package/dist/web-client/assets/{wardley-OPB4EBWU-Daaqr1Vp.js → wardley-OPB4EBWU-EE-7q8M1.js} +1 -1
  121. package/dist/web-client/assets/{wardleyDiagram-EHGQE667-Bofbsg3J.js → wardleyDiagram-EHGQE667-bY8XdYYS.js} +1 -1
  122. package/dist/web-client/assets/{xychartDiagram-FW5EYKEG-KNF4VTfL.js → xychartDiagram-FW5EYKEG-AhuXJ3de.js} +1 -1
  123. package/dist/web-client/index.html +2 -2
  124. package/dist/web-server/app.d.ts +4 -1
  125. package/dist/web-server/app.d.ts.map +1 -1
  126. package/dist/web-server/app.js +19 -0
  127. package/dist/web-server/app.js.map +1 -1
  128. package/dist/web-server/claude-runner.d.ts +109 -7
  129. package/dist/web-server/claude-runner.d.ts.map +1 -1
  130. package/dist/web-server/claude-runner.js +329 -50
  131. package/dist/web-server/claude-runner.js.map +1 -1
  132. package/dist/web-server/index.d.ts +2 -2
  133. package/dist/web-server/index.d.ts.map +1 -1
  134. package/dist/web-server/index.js +3 -2
  135. package/dist/web-server/index.js.map +1 -1
  136. package/dist/web-server/permission-policy.d.ts +46 -0
  137. package/dist/web-server/permission-policy.d.ts.map +1 -0
  138. package/dist/web-server/permission-policy.js +96 -0
  139. package/dist/web-server/permission-policy.js.map +1 -0
  140. package/dist/web-server/prompt-assembly.d.ts +454 -0
  141. package/dist/web-server/prompt-assembly.d.ts.map +1 -0
  142. package/dist/web-server/prompt-assembly.js +1122 -0
  143. package/dist/web-server/prompt-assembly.js.map +1 -0
  144. package/dist/web-server/routes/hook-events.d.ts +28 -3
  145. package/dist/web-server/routes/hook-events.d.ts.map +1 -1
  146. package/dist/web-server/routes/hook-events.js +209 -24
  147. package/dist/web-server/routes/hook-events.js.map +1 -1
  148. package/dist/web-server/routes/sessions.d.ts +7 -5
  149. package/dist/web-server/routes/sessions.d.ts.map +1 -1
  150. package/dist/web-server/routes/sessions.js +1030 -174
  151. package/dist/web-server/routes/sessions.js.map +1 -1
  152. package/dist/web-server/routes/workspace.d.ts +27 -0
  153. package/dist/web-server/routes/workspace.d.ts.map +1 -0
  154. package/dist/web-server/routes/workspace.js +280 -0
  155. package/dist/web-server/routes/workspace.js.map +1 -0
  156. package/dist/web-server/run-event-log.d.ts +167 -0
  157. package/dist/web-server/run-event-log.d.ts.map +1 -0
  158. package/dist/web-server/run-event-log.js +468 -0
  159. package/dist/web-server/run-event-log.js.map +1 -0
  160. package/dist/web-server/session-reconciler.d.ts +162 -0
  161. package/dist/web-server/session-reconciler.d.ts.map +1 -0
  162. package/dist/web-server/session-reconciler.js +363 -0
  163. package/dist/web-server/session-reconciler.js.map +1 -0
  164. package/dist/web-server/static.d.ts +7 -0
  165. package/dist/web-server/static.d.ts.map +1 -1
  166. package/dist/web-server/static.js +46 -3
  167. package/dist/web-server/static.js.map +1 -1
  168. package/dist/web-server/web-auth.d.ts +17 -0
  169. package/dist/web-server/web-auth.d.ts.map +1 -0
  170. package/dist/web-server/web-auth.js +33 -0
  171. package/dist/web-server/web-auth.js.map +1 -0
  172. package/dist/web-server/web-token.d.ts +39 -0
  173. package/dist/web-server/web-token.d.ts.map +1 -0
  174. package/dist/web-server/web-token.js +71 -0
  175. package/dist/web-server/web-token.js.map +1 -0
  176. package/opencode/arcs/manifest.json +8 -8
  177. package/package.json +1 -1
  178. package/scripts/claude-code-session-hook.mjs +49 -3
  179. package/scripts/deploy-claudecode-bundle.mjs +24 -3
  180. package/dist/web-client/assets/architecture-TIHT7OUA-CJqI5wNI.js +0 -1
  181. package/dist/web-client/assets/channel-C8DlmyVe.js +0 -1
  182. package/dist/web-client/assets/classDiagram-OUVF2IWQ-p32N1P_G.js +0 -1
  183. package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-p32N1P_G.js +0 -1
  184. package/dist/web-client/assets/eventmodeling-45OFAUF4-Bj5P8mZJ.js +0 -1
  185. package/dist/web-client/assets/flowDiagram-23GEKE2U-37BztFri.js +0 -1
  186. package/dist/web-client/assets/index-3mNPVkix.css +0 -2
  187. package/dist/web-client/assets/railroad-abnf-AHOZXSZD-2Dg9wu0J.js +0 -1
  188. package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-C_E2ot0R.js +0 -1
  189. package/dist/web-client/assets/railroad-peg-LSFZ7HO6-Bs9UQR1b.js +0 -1
  190. package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-BCMWGnsJ.js +0 -1
  191. package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DmudmLcK.js +0 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-assembly.js","sourceRoot":"","sources":["../../src/web-server/prompt-assembly.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,38 @@
7
7
  * every `UserPromptSubmit` checkpoint, closes out at `SessionEnd`, and reports
8
8
  * its transcript at `Stop` (the last checkpoint before teardown).
9
9
  *
10
- * The response stays ARCS-shaped (`{sessionId, queuedMessages}`); turning that
11
- * into Claude Code's `hookSpecificOutput` envelope is the hook script's job, so
12
- * a change to Claude Code's wire format never reaches the server.
10
+ * Those checkpoints are also the only liveness signal an observed session ever
11
+ * emits, so each one stamps `lastCheckpointAt` the field the session's derived
12
+ * phase reads to decide whether a terminal is still working.
13
+ *
14
+ * `SessionStart` additionally answers with `stagedContext`: the same staged
15
+ * environment an ARCS-owned headless run carries on `--append-system-prompt`,
16
+ * so a terminal a human drives knows its project, its workspace and its DAG
17
+ * position without the human setting the stage by hand. See
18
+ * `sessionStartContext` for what differs from the owned path.
19
+ *
20
+ * The response stays ARCS-shaped (`{sessionId, queuedMessages, stagedContext?}`);
21
+ * turning that into Claude Code's `hookSpecificOutput` envelope is the hook
22
+ * script's job, so a change to Claude Code's wire format never reaches the
23
+ * server.
13
24
  *
14
25
  * Unlike every other route here this one is not browser-facing, so it sits
15
26
  * behind `requireHookToken` in addition to the global loopback check.
16
27
  */
17
28
  import { Hono } from "hono";
18
29
  export declare const hookEventsRoute: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
30
+ /**
31
+ * Ceiling on the block a SessionStart mirrors into a terminal, in characters.
32
+ *
33
+ * Deliberately far below `STAGE_SOFT_CAP` (6000): that budget is spent inside a
34
+ * headless `claude -p` process nobody is watching, whereas this text lands at
35
+ * the head of a live session a human is about to type into. Anything wider buys
36
+ * context nobody asked for at the cost of the window they did.
37
+ *
38
+ * Enforced by SELECTION, never by clipping — see `sessionStartContext`.
39
+ * `scripts/claude-code-session-hook.mjs` carries its own, wider refusal bound
40
+ * (`MAX_CONTEXT_CHARS`), pinned against this constant by
41
+ * `test/claude-code-hook-script.test.ts`.
42
+ */
43
+ export declare const SESSION_START_STAGE_CAP = 2500;
19
44
  //# sourceMappingURL=hook-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-events.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/hook-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAY5B,eAAO,MAAM,eAAe,4EAAa,CAAC"}
1
+ {"version":3,"file":"hook-events.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/hook-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAkB5B,eAAO,MAAM,eAAe,4EAAa,CAAC;AAsI1C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC"}
@@ -7,26 +7,47 @@
7
7
  * every `UserPromptSubmit` checkpoint, closes out at `SessionEnd`, and reports
8
8
  * its transcript at `Stop` (the last checkpoint before teardown).
9
9
  *
10
- * The response stays ARCS-shaped (`{sessionId, queuedMessages}`); turning that
11
- * into Claude Code's `hookSpecificOutput` envelope is the hook script's job, so
12
- * a change to Claude Code's wire format never reaches the server.
10
+ * Those checkpoints are also the only liveness signal an observed session ever
11
+ * emits, so each one stamps `lastCheckpointAt` the field the session's derived
12
+ * phase reads to decide whether a terminal is still working.
13
+ *
14
+ * `SessionStart` additionally answers with `stagedContext`: the same staged
15
+ * environment an ARCS-owned headless run carries on `--append-system-prompt`,
16
+ * so a terminal a human drives knows its project, its workspace and its DAG
17
+ * position without the human setting the stage by hand. See
18
+ * `sessionStartContext` for what differs from the owned path.
19
+ *
20
+ * The response stays ARCS-shaped (`{sessionId, queuedMessages, stagedContext?}`);
21
+ * turning that into Claude Code's `hookSpecificOutput` envelope is the hook
22
+ * script's job, so a change to Claude Code's wire format never reaches the
23
+ * server.
13
24
  *
14
25
  * Unlike every other route here this one is not browser-facing, so it sits
15
26
  * behind `requireHookToken` in addition to the global loopback check.
16
27
  */
28
+ import { join } from "node:path";
17
29
  import { Hono } from "hono";
18
30
  import { z } from "zod";
19
31
  import { mirrorSessionTranscript } from "../../utils/claude-transcript.js";
32
+ import { HOOK_EVENTS } from "../../utils/hook-contract.js";
33
+ import { readJsonSafe } from "../../utils/json.js";
34
+ import { readPlanIndex } from "../../utils/plan-store.js";
20
35
  import { drainSessionMessageQueue, getSession, updateSession, upsertSession, } from "../../utils/session-store.js";
36
+ import { listTasks } from "../../utils/task-store.js";
37
+ import { deriveOperatingBrief } from "../../utils/workflow-policy.js";
38
+ import { buildStagedEnvironment, stripStageDelimiters } from "../prompt-assembly.js";
21
39
  import { parseBody, requireProjectDir, respond } from "../respond.js";
22
40
  export const hookEventsRoute = new Hono();
23
41
  /**
24
42
  * Claude Code's native stdin fields, forwarded verbatim by the hook script.
25
43
  * Unknown extra fields are ignored rather than rejected — Claude Code adds
26
44
  * fields between releases and a hook must not start failing because of it.
45
+ *
46
+ * The accepted event names come straight from the bridge contract: the server
47
+ * cannot end up rejecting an event the installer registered the hook for.
27
48
  */
28
49
  const hookEventSchema = z.object({
29
- hook_event_name: z.enum(["SessionStart", "UserPromptSubmit", "Stop", "SessionEnd"]),
50
+ hook_event_name: z.enum(HOOK_EVENTS),
30
51
  session_id: z.string().min(1),
31
52
  cwd: z.string().optional(),
32
53
  source: z.string().optional(),
@@ -41,8 +62,9 @@ const hookEventSchema = z.object({
41
62
  * bridge already read, so both runtimes render their worktree the same way.
42
63
  * `transcript_path` is persisted under `transcriptPath` (the sessions UI reads
43
64
  * that key) so headless-run write-backs can resolve the transcript without the
44
- * client resupplying it, and `control` is persisted verbatim the "arcs-owned"
45
- * marker that suppresses transcript mirroring for records ARCS wrote itself.
65
+ * client resupplying it, and `control` is persisted verbatim for back-compat
66
+ * with readers that still display it it no longer decides anything here, the
67
+ * session's persisted `origin` does.
46
68
  */
47
69
  function sessionMetadata(event) {
48
70
  const metadata = {
@@ -53,27 +75,56 @@ function sessionMetadata(event) {
53
75
  };
54
76
  return Object.keys(metadata).length > 0 ? metadata : undefined;
55
77
  }
78
+ /**
79
+ * Registers (or refreshes) the session behind a hook event.
80
+ *
81
+ * Anything announcing itself through this endpoint is by definition a real
82
+ * terminal session ARCS is watching, so a record created here is `observed` —
83
+ * which is what makes it queueable. Provenance is create-only in the store, so
84
+ * an event arriving for an ARCS-owned thread refreshes it without demoting it.
85
+ */
56
86
  function registerSession(projectDir, event) {
57
87
  const metadata = sessionMetadata(event);
58
88
  return upsertSession(projectDir, {
59
89
  runtimeType: "claude-code",
60
90
  runtimeSessionId: event.session_id,
91
+ origin: "observed",
61
92
  status: "active",
62
93
  ...(metadata && { metadata }),
63
94
  });
64
95
  }
65
96
  /**
66
- * Merges checkpoint-derived fields (transcriptPath, control, directory…) into
67
- * the session's metadata. A checkpoint usually arrives for a session registered
68
- * at SessionStart, so `resolveCheckpointSession` returns it without persisting
69
- * the checkpoint's own fields without this merge the transcript path and the
70
- * arcs-owned marker carried by the checkpoint would be dropped.
97
+ * Records the checkpoint itself, plus whatever it carried.
98
+ *
99
+ * `lastCheckpointAt` is written at EVERY UserPromptSubmit and Stop, even for an
100
+ * event with no metadata at all: it is the only proof of life a session ARCS
101
+ * merely observes ever emits, and the derived phase reads nothing else for such
102
+ * a session. Miss one and a working terminal reads idle.
103
+ *
104
+ * ISO-8601, like every other top-level session timestamp (`metadata.run` keeps
105
+ * epoch ms — the two units never mix). Checkpoint-derived metadata
106
+ * (transcriptPath, directory…) rides the same write, so the transcript path a
107
+ * checkpoint carries is still never dropped.
71
108
  */
72
- async function persistCheckpointMetadata(projectDir, session, event) {
109
+ async function persistCheckpoint(projectDir, session, event) {
73
110
  const metadata = sessionMetadata(event);
74
- if (metadata === undefined)
75
- return session;
76
- return updateSession(projectDir, { id: session.normalizedId, metadata });
111
+ return updateSession(projectDir, {
112
+ id: session.normalizedId,
113
+ lastCheckpointAt: new Date().toISOString(),
114
+ ...(metadata !== undefined && { metadata }),
115
+ });
116
+ }
117
+ /**
118
+ * Whether a checkpoint's runtime transcript should be mirrored into the
119
+ * session's sidecar.
120
+ *
121
+ * Only sessions ARCS observes qualify. An `arcs`-origin record owns its sidecar
122
+ * through the run route's own turn appends, so mirroring a runtime transcript
123
+ * on top would duplicate the conversation. The rule reads the persisted origin,
124
+ * never `metadata.control`.
125
+ */
126
+ function shouldMirrorTranscript(session) {
127
+ return session.origin === "observed";
77
128
  }
78
129
  /**
79
130
  * Resolves the session behind a checkpoint, registering it if this is the first
@@ -89,15 +140,146 @@ async function resolveCheckpointSession(projectDir, event) {
89
140
  return registerSession(projectDir, event);
90
141
  }
91
142
  }
92
- async function handleHookEvent(projectDir, event) {
143
+ // ---------------------------------------------------------------------------
144
+ // SessionStart staged context
145
+ // ---------------------------------------------------------------------------
146
+ /**
147
+ * Ceiling on the block a SessionStart mirrors into a terminal, in characters.
148
+ *
149
+ * Deliberately far below `STAGE_SOFT_CAP` (6000): that budget is spent inside a
150
+ * headless `claude -p` process nobody is watching, whereas this text lands at
151
+ * the head of a live session a human is about to type into. Anything wider buys
152
+ * context nobody asked for at the cost of the window they did.
153
+ *
154
+ * Enforced by SELECTION, never by clipping — see `sessionStartContext`.
155
+ * `scripts/claude-code-session-hook.mjs` carries its own, wider refusal bound
156
+ * (`MAX_CONTEXT_CHARS`), pinned against this constant by
157
+ * `test/claude-code-hook-script.test.ts`.
158
+ */
159
+ export const SESSION_START_STAGE_CAP = 2500;
160
+ /** Width for one value interpolated into the degraded block. */
161
+ const DEGRADED_FIELD_WIDTH = 160;
162
+ /**
163
+ * Normalizes one untrusted value for an ARCS-authored line: delimiter-stripped,
164
+ * whitespace-collapsed, width-bounded. Mirrors prompt-assembly's `field` (not
165
+ * exported), and applies to EVERY slot below rather than to the values that
166
+ * look risky — a project name and a task title are both agent- or user-authored
167
+ * text arriving in the controller's voice.
168
+ */
169
+ function degradedField(value, width = DEGRADED_FIELD_WIDTH) {
170
+ const clean = stripStageDelimiters(value).replace(/\s+/g, " ").trim();
171
+ return clean.length <= width ? clean : `${clean.slice(0, width - 1)}…`;
172
+ }
173
+ /**
174
+ * The two lines a session with nothing staged for it still deserves.
175
+ *
176
+ * An observed session carries no `linkedNodeId` until a human sets one —
177
+ * discovery never links — so this is the COMMON case at SessionStart, not an
178
+ * edge. It therefore states what is true and useful (which project this
179
+ * workspace is, how to read its DAG, and what the operating brief says the
180
+ * project is currently on) instead of apologising for the missing link.
181
+ *
182
+ * No wrapper, and none needed: nothing here is a quoted body. The two variable
183
+ * values are stripped, collapsed and width-bounded through `degradedField`,
184
+ * exactly as prompt-assembly treats the same task title in its own brief block.
185
+ */
186
+ async function degradedStagedContext(projectDir, slug) {
187
+ const [projectMeta, tasks, planIndex] = await Promise.all([
188
+ readJsonSafe(join(projectDir, "meta.json")),
189
+ listTasks(projectDir),
190
+ readPlanIndex(projectDir),
191
+ ]);
192
+ const operating = deriveOperatingBrief({
193
+ tasks: tasks.map((t) => ({
194
+ id: t.id,
195
+ title: t.title,
196
+ status: t.status,
197
+ planId: t.planId,
198
+ priority: t.priority,
199
+ dependsOn: t.dependsOn,
200
+ })),
201
+ plans: planIndex.plans.map((p) => ({ id: p.id, title: p.title, status: p.status })),
202
+ });
203
+ return [
204
+ `This workspace is tracked by ARCS as project ${degradedField(slug)} ` +
205
+ `"${degradedField(projectMeta?.name ?? slug)}" — read its DAG with ` +
206
+ `\`arcs brief ${degradedField(slug)} --lean --json\`. Link this session to a task in the ` +
207
+ "ARCS web UI to stage that task's scope, acceptance and verify command here.",
208
+ `Project current focus: ${degradedField(operating.currentFocus)} · ` +
209
+ `Next action: ${degradedField(operating.nextAction)}`,
210
+ ].join("\n");
211
+ }
212
+ /**
213
+ * The staged block a SessionStart answers with, or nothing at all.
214
+ *
215
+ * Same builder as an ARCS-owned headless run (`buildStagedEnvironment`), and
216
+ * deliberately NOT the same call:
217
+ * - no references — those are attached per SEND, and a session that has not
218
+ * started yet has none;
219
+ * - no argv, no permission segment — the terminal's user owns their own
220
+ * permissions and ARCS does not get to narrow them from here;
221
+ * - a much tighter cap (see SESSION_START_STAGE_CAP);
222
+ * - STATELESS — no fingerprint, no `metadata.stage`, no restage bookkeeping at
223
+ * all. The staleness machinery exists to avoid re-injecting an unchanged
224
+ * block across turns of one conversation; a SessionStart IS turn zero, so
225
+ * there is nothing to compare against and nothing to persist.
226
+ *
227
+ * The cap is enforced by SELECTION — the whole assembled text, or the whole
228
+ * degraded block — never by clipping the assembled text. A head truncation
229
+ * would keep an untrusted body's opener and sever its closer, putting every
230
+ * later ARCS-authored line (including the one stating the controller's own
231
+ * scope) inside an unterminated untrusted region. `softCap` lets the builder's
232
+ * own ladder degrade gracefully first; the degraded block is the floor for the
233
+ * DAG wide enough that even a fully degraded build does not fit.
234
+ *
235
+ * Any failure returns `undefined`: the hook script's hard rule is that a broken
236
+ * bridge is invisible, so a staging error must reach it as an absent field, not
237
+ * as a 500.
238
+ *
239
+ * ONE builder, but not one wording: prompt-assembly conditions its IDENTITY and
240
+ * LIMITS blocks on the session's PERSISTED origin, and provenance is CREATE-ONLY
241
+ * (see `registerSession`). A first sighting is created `observed`; an event
242
+ * arriving for an ARCS-owned thread refreshes it without demoting it, so an
243
+ * `arcs`-origin session reaching SessionStart keeps its origin and therefore gets
244
+ * the `arcs` variant. Either variant states what is true of THAT session — for
245
+ * the observed one, that ARCS is NOT setting its tools, permissions or lifecycle,
246
+ * which the bullets above are the reason for, since no argv exists to set them
247
+ * with. The untrusted-content half is identical on both origins; only the claim
248
+ * of control moves.
249
+ */
250
+ async function sessionStartContext(projectDir, slug, session, event) {
251
+ try {
252
+ if (session.linkedNodeType && session.linkedNodeId) {
253
+ const staged = await buildStagedEnvironment(projectDir, slug, session, {
254
+ // Claude Code's own cwd: the directory this terminal is actually in,
255
+ // which is a truer workspace root than the project's registered first
256
+ // path when a project spans more than one checkout.
257
+ ...(event.cwd && { workspaceRoot: event.cwd }),
258
+ softCap: SESSION_START_STAGE_CAP,
259
+ });
260
+ if (staged.text.length <= SESSION_START_STAGE_CAP)
261
+ return staged.text;
262
+ }
263
+ return await degradedStagedContext(projectDir, slug);
264
+ }
265
+ catch {
266
+ return undefined;
267
+ }
268
+ }
269
+ async function handleHookEvent(projectDir, slug, event) {
93
270
  if (event.hook_event_name === "SessionStart") {
94
271
  const session = await registerSession(projectDir, event);
95
- return { sessionId: session.normalizedId, queuedMessages: [] };
272
+ const stagedContext = await sessionStartContext(projectDir, slug, session, event);
273
+ return {
274
+ sessionId: session.normalizedId,
275
+ queuedMessages: [],
276
+ ...(stagedContext !== undefined && { stagedContext }),
277
+ };
96
278
  }
97
279
  if (event.hook_event_name === "UserPromptSubmit") {
98
280
  const session = await resolveCheckpointSession(projectDir, event);
99
- const checkpoint = await persistCheckpointMetadata(projectDir, session, event);
100
- if (event.transcript_path !== undefined && checkpoint.metadata?.control !== "arcs-owned") {
281
+ const checkpoint = await persistCheckpoint(projectDir, session, event);
282
+ if (event.transcript_path !== undefined && shouldMirrorTranscript(checkpoint)) {
101
283
  await mirrorSessionTranscript(projectDir, checkpoint.normalizedId, event.transcript_path);
102
284
  }
103
285
  const queuedMessages = await drainSessionMessageQueue(projectDir, checkpoint.normalizedId);
@@ -109,8 +291,8 @@ async function handleHookEvent(projectDir, event) {
109
291
  // queued for the session must survive to the next UserPromptSubmit, and
110
292
  // Stop can arrive before that checkpoint if the turn ends without one.
111
293
  const session = await resolveCheckpointSession(projectDir, event);
112
- const checkpoint = await persistCheckpointMetadata(projectDir, session, event);
113
- if (event.transcript_path !== undefined && checkpoint.metadata?.control !== "arcs-owned") {
294
+ const checkpoint = await persistCheckpoint(projectDir, session, event);
295
+ if (event.transcript_path !== undefined && shouldMirrorTranscript(checkpoint)) {
114
296
  await mirrorSessionTranscript(projectDir, checkpoint.normalizedId, event.transcript_path);
115
297
  }
116
298
  return { sessionId: checkpoint.normalizedId, queuedMessages: [] };
@@ -123,13 +305,16 @@ async function handleHookEvent(projectDir, event) {
123
305
  status: "completed",
124
306
  ...(metadata !== undefined && { metadata }),
125
307
  });
126
- if (event.transcript_path !== undefined && session.metadata?.control !== "arcs-owned") {
308
+ if (event.transcript_path !== undefined && shouldMirrorTranscript(session)) {
127
309
  await mirrorSessionTranscript(projectDir, session.normalizedId, event.transcript_path);
128
310
  }
129
311
  return { sessionId: session.normalizedId, queuedMessages: [] };
130
312
  }
131
313
  hookEventsRoute.post("/api/hook/:slug/event", async (c) => respond(c, async () => {
132
- const projectDir = requireProjectDir(c.req.param("slug"));
133
- return handleHookEvent(projectDir, await parseBody(c, hookEventSchema));
314
+ const slug = c.req.param("slug");
315
+ // Validates the slug before it is threaded on to the stager, which uses it
316
+ // both as a knowledge-selection key and as an interpolated identity value.
317
+ const projectDir = requireProjectDir(slug);
318
+ return handleHookEvent(projectDir, slug, await parseBody(c, hookEventSchema));
134
319
  }));
135
320
  //# sourceMappingURL=hook-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-events.js","sourceRoot":"","sources":["../../../src/web-server/routes/hook-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-events.js","sourceRoot":"","sources":["../../../src/web-server/routes/hook-events.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,13 @@
5
5
  * attached to a project. All mutations go through the locked session-store,
6
6
  * so the opencode discovery bridge and the web UI cannot clobber each other.
7
7
  *
8
- * `POST /sessions/:id/message` is the one route that reaches outside the store:
9
- * it proxies a prompt into the live runtime (opencode) or queues it for the
10
- * session to collect itself (claude-code). Every route here is browser-facing
11
- * and therefore already behind the global loopback-only `secureLocalRequest`
12
- * middleware no per-route auth.
8
+ * Two routes reach outside the store, and they partition the session space
9
+ * rather than overlapping: `POST /sessions/:id/message` DELIVERS a prompt to a
10
+ * session something else drives (live injection for opencode, a queue the
11
+ * terminal drains for claude-code), while `POST /sessions/:id/turns` RUNS a
12
+ * headless `claude -p` turn against a thread ARCS owns. Every route here is
13
+ * browser-facing and therefore already behind the global loopback-only
14
+ * `secureLocalRequest` middleware — no per-route auth.
13
15
  */
14
16
  import { Hono } from "hono";
15
17
  export declare const sessionsRoute: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAiC5B,eAAO,MAAM,aAAa,4EAAa,CAAC"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAyD1C,eAAO,MAAM,aAAa,4EAAa,CAAC"}