@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.
- package/dist/cli/commands/hooks.d.ts +46 -6
- package/dist/cli/commands/hooks.d.ts.map +1 -1
- package/dist/cli/commands/hooks.js +190 -52
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/web.js +14 -4
- package/dist/cli/commands/web.js.map +1 -1
- package/dist/cli/config.d.ts +14 -3
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +39 -38
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/instructions.d.ts +13 -1
- package/dist/cli/instructions.d.ts.map +1 -1
- package/dist/cli/instructions.js +38 -3
- package/dist/cli/instructions.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +76 -11
- package/dist/cli/setup.js.map +1 -1
- package/dist/shared/session-vocabulary.d.ts +88 -0
- package/dist/shared/session-vocabulary.d.ts.map +1 -0
- package/dist/shared/session-vocabulary.js +114 -0
- package/dist/shared/session-vocabulary.js.map +1 -0
- package/dist/utils/claude-code-hook-install.d.ts +1 -1
- package/dist/utils/claude-code-hook-install.d.ts.map +1 -1
- package/dist/utils/claude-code-hook-install.js +68 -3
- package/dist/utils/claude-code-hook-install.js.map +1 -1
- package/dist/utils/claude-transcript.d.ts +81 -2
- package/dist/utils/claude-transcript.d.ts.map +1 -1
- package/dist/utils/claude-transcript.js +33 -2
- package/dist/utils/claude-transcript.js.map +1 -1
- package/dist/utils/git.d.ts +21 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +65 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hook-contract.d.ts +36 -0
- package/dist/utils/hook-contract.d.ts.map +1 -0
- package/dist/utils/hook-contract.js +35 -0
- package/dist/utils/hook-contract.js.map +1 -0
- package/dist/utils/hook-token-store.d.ts +39 -0
- package/dist/utils/hook-token-store.d.ts.map +1 -1
- package/dist/utils/hook-token-store.js +46 -3
- package/dist/utils/hook-token-store.js.map +1 -1
- package/dist/utils/session-store.d.ts +226 -0
- package/dist/utils/session-store.d.ts.map +1 -1
- package/dist/utils/session-store.js +266 -1
- package/dist/utils/session-store.js.map +1 -1
- package/dist/web-client/assets/{GraphCanvas-dNyZ458L.js → GraphCanvas-CTyf_XXQ.js} +1 -1
- package/dist/web-client/assets/{MarkdownEditor-BmU9mdkN.js → MarkdownEditor-af2vwQOX.js} +1 -1
- package/dist/web-client/assets/{abnfDiagram-VRR7QNED-D1BFBoeF.js → abnfDiagram-VRR7QNED-CdxcKX9t.js} +1 -1
- package/dist/web-client/assets/architecture-TIHT7OUA-Bt2-DmfV.js +1 -0
- package/dist/web-client/assets/{architectureDiagram-ZJ3FMSHR-CA8hTWUK.js → architectureDiagram-ZJ3FMSHR-DOISDv6o.js} +1 -1
- package/dist/web-client/assets/{blockDiagram-677ZJIJ3-CQpb_KwX.js → blockDiagram-677ZJIJ3-DKwtbttM.js} +1 -1
- package/dist/web-client/assets/{c4Diagram-LMCZKHZV-BhpHX84V.js → c4Diagram-LMCZKHZV-CilqK-Mm.js} +1 -1
- package/dist/web-client/assets/channel-C2mb9np_.js +1 -0
- package/dist/web-client/assets/{chunk-32BRIVSS-BUusQQa_.js → chunk-32BRIVSS-C79m1mkG.js} +1 -1
- package/dist/web-client/assets/{chunk-52WLFC77-nNYwlftl.js → chunk-52WLFC77-C6WelGWJ.js} +1 -1
- package/dist/web-client/assets/{chunk-C7G6YPKG-D0a-yqnK.js → chunk-C7G6YPKG-DLg7ryWI.js} +1 -1
- package/dist/web-client/assets/{chunk-EX3LRPZG-IDuRMN-4.js → chunk-EX3LRPZG-DjWgo4gL.js} +1 -1
- package/dist/web-client/assets/{chunk-FWX5IMBZ-D_spTcqi.js → chunk-FWX5IMBZ-BgS9p_zy.js} +2 -2
- package/dist/web-client/assets/{chunk-HOUHSVGY-C-bcxwZS.js → chunk-HOUHSVGY-DuVR7dZO.js} +1 -1
- package/dist/web-client/assets/{chunk-ICXQ74PX-CjmK2bAM.js → chunk-ICXQ74PX-Y8DlnIJM.js} +1 -1
- package/dist/web-client/assets/{chunk-MOJQB5TN-Bkc08KWY.js → chunk-MOJQB5TN-BEM3QgeD.js} +1 -1
- package/dist/web-client/assets/{chunk-OGEWGWER-BAAYYvG9.js → chunk-OGEWGWER-DlM8LxGr.js} +1 -1
- package/dist/web-client/assets/{chunk-PUDLZKDR-WXbPY7NM.js → chunk-PUDLZKDR-c6cqNVTx.js} +1 -1
- package/dist/web-client/assets/{chunk-Q4XR5HBZ-DcbnjxQE.js → chunk-Q4XR5HBZ-C5lNmcka.js} +1 -1
- package/dist/web-client/assets/{chunk-V7JOEXUC-C6t75PAp.js → chunk-V7JOEXUC-nSswxvSG.js} +1 -1
- package/dist/web-client/assets/{chunk-VAUOI2AC-DVrJ0Ic7.js → chunk-VAUOI2AC-CqJkCkT0.js} +1 -1
- package/dist/web-client/assets/{chunk-VR4S4FIN-MOOFvGS0.js → chunk-VR4S4FIN-D3pFchin.js} +1 -1
- package/dist/web-client/assets/{chunk-WYO6CB5R-sK7Y2NZD.js → chunk-WYO6CB5R-BI9c-NzI.js} +1 -1
- package/dist/web-client/assets/{chunk-ZGVPDNZ5-a13RQsku.js → chunk-ZGVPDNZ5-CKTF2kLR.js} +1 -1
- package/dist/web-client/assets/classDiagram-OUVF2IWQ-CPd_w3Zr.js +1 -0
- package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-CPd_w3Zr.js +1 -0
- package/dist/web-client/assets/{cynefin-VYW2F7L2-D8xaH-wO.js → cynefin-VYW2F7L2-BrJrnfh1.js} +1 -1
- package/dist/web-client/assets/{cynefinDiagram-TSTJHNR4-Bt__EqJW.js → cynefinDiagram-TSTJHNR4-9jYzPWJZ.js} +1 -1
- package/dist/web-client/assets/{dagre-VKFMJZFB-Bwgjwflz.js → dagre-VKFMJZFB-B705Djpu.js} +1 -1
- package/dist/web-client/assets/{diagram-FQU43EPY-CaPDVUq2.js → diagram-FQU43EPY-BfQAlUlJ.js} +1 -1
- package/dist/web-client/assets/{diagram-G47NLZAW-BQLB9YYA.js → diagram-G47NLZAW-s1YDe06A.js} +1 -1
- package/dist/web-client/assets/{diagram-NH7WQ7WH-BWo84w8Y.js → diagram-NH7WQ7WH-Dy3z11Hc.js} +1 -1
- package/dist/web-client/assets/{diagram-OA4YK3LP-bKn6Pz5s.js → diagram-OA4YK3LP-Bius2xUN.js} +1 -1
- package/dist/web-client/assets/{diagram-WEI45ONY-BRqV5Oy6.js → diagram-WEI45ONY-D7x4VcHM.js} +1 -1
- package/dist/web-client/assets/{ebnfDiagram-CCIWWBDH-DhUXL1-7.js → ebnfDiagram-CCIWWBDH-CBg1xrmD.js} +1 -1
- package/dist/web-client/assets/{erDiagram-Q63AITRT-HXAQQ-_F.js → erDiagram-Q63AITRT-CJRvTFvd.js} +1 -1
- package/dist/web-client/assets/eventmodeling-45OFAUF4-CTKRC2Yj.js +1 -0
- package/dist/web-client/assets/flowDiagram-23GEKE2U-CaZjFyU1.js +1 -0
- package/dist/web-client/assets/{ganttDiagram-NO4QXBWP-D-Ddf_Ii.js → ganttDiagram-NO4QXBWP-C_LsypZ4.js} +1 -1
- package/dist/web-client/assets/{gitGraph-TEB2WS4Q-BmHzs0uF.js → gitGraph-TEB2WS4Q-Dx2XxdGk.js} +1 -1
- package/dist/web-client/assets/{gitGraphDiagram-IHSO6WYX-YnQWrlh_.js → gitGraphDiagram-IHSO6WYX-DiKWkGWQ.js} +1 -1
- package/dist/web-client/assets/{index-DCWxuIeQ.js → index-CYwhkPtc.js} +38 -36
- package/dist/web-client/assets/index-wSzUPvml.css +2 -0
- package/dist/web-client/assets/{info-DKCQHKI2-DCT_B7RN.js → info-DKCQHKI2-DORwHenK.js} +1 -1
- package/dist/web-client/assets/{infoDiagram-FWYZ7A6U-D-le1Zhq.js → infoDiagram-FWYZ7A6U-CQecXS1E.js} +1 -1
- package/dist/web-client/assets/{ishikawaDiagram-FXEZZL3T-Jr1x2VJB.js → ishikawaDiagram-FXEZZL3T-CWhj60Zp.js} +1 -1
- package/dist/web-client/assets/{journeyDiagram-5HDEW3XC-BF9ELxj-.js → journeyDiagram-5HDEW3XC-Cj3z2U8u.js} +1 -1
- package/dist/web-client/assets/{kanban-definition-HUTT4EX6-C4fJqAxu.js → kanban-definition-HUTT4EX6-DFmBRenP.js} +1 -1
- package/dist/web-client/assets/{line-7N7ikFxa.js → line-C_Hxz9xb.js} +1 -1
- package/dist/web-client/assets/{mermaid-parser.core-QbC1icPt.js → mermaid-parser.core-E3xRdzPn.js} +3 -3
- package/dist/web-client/assets/{mermaid.core-C26d_UJm.js → mermaid.core-C2_CcotH.js} +3 -3
- package/dist/web-client/assets/{mindmap-definition-LN4V7U3C-D6TV1JDf.js → mindmap-definition-LN4V7U3C-Bs7VxPid.js} +1 -1
- package/dist/web-client/assets/{packet-7NZHBO7P-CR1vrGj3.js → packet-7NZHBO7P-D2nqso7i.js} +1 -1
- package/dist/web-client/assets/{pegDiagram-2B236MQR-xOMBBtfV.js → pegDiagram-2B236MQR-Cepo1sIu.js} +1 -1
- package/dist/web-client/assets/{pie-RZYD4A2V-BbWuhjwy.js → pie-RZYD4A2V-Sx0IGbXt.js} +1 -1
- package/dist/web-client/assets/{pieDiagram-ENE6RG2P-MsfnsqgW.js → pieDiagram-ENE6RG2P-D-PMDNhk.js} +1 -1
- package/dist/web-client/assets/{quadrantDiagram-ABIIQ3AL-BoI7zKXF.js → quadrantDiagram-ABIIQ3AL-BNGC7Fms.js} +1 -1
- package/dist/web-client/assets/{radar-I7S5WNFK-CbYXKToJ.js → radar-I7S5WNFK-CFf_-2OC.js} +1 -1
- package/dist/web-client/assets/{railroad-3IZDKUUU-6LxHDkLe.js → railroad-3IZDKUUU-BvZeVRGh.js} +1 -1
- package/dist/web-client/assets/railroad-abnf-AHOZXSZD-DnGh6x2O.js +1 -0
- package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-CGfgCoaE.js +1 -0
- package/dist/web-client/assets/railroad-peg-LSFZ7HO6-BzQxYdqp.js +1 -0
- package/dist/web-client/assets/{railroadDiagram-RFXS5EU6-D6RUoUki.js → railroadDiagram-RFXS5EU6-D0iK_k84.js} +1 -1
- package/dist/web-client/assets/{requirementDiagram-TGXJPOKE-B6k4BDpE.js → requirementDiagram-TGXJPOKE-BPdsw9tz.js} +1 -1
- package/dist/web-client/assets/{sankeyDiagram-HTMAVEWB-BUDF-UFr.js → sankeyDiagram-HTMAVEWB-maA6ukOJ.js} +1 -1
- package/dist/web-client/assets/{sequenceDiagram-DBY2YBRQ-D6GqcsUi.js → sequenceDiagram-DBY2YBRQ-DKmAjmgr.js} +1 -1
- package/dist/web-client/assets/{stateDiagram-2N3HPSRC-WfJCQAK5.js → stateDiagram-2N3HPSRC-esxmzk3w.js} +1 -1
- package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-hcBqlOLc.js +1 -0
- package/dist/web-client/assets/{swimlanes-5IMT3BWC-BtMo82mC.js → swimlanes-5IMT3BWC-DFd-wGBv.js} +1 -1
- package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DbSrPBYr.js +8 -0
- package/dist/web-client/assets/{timeline-definition-FHXFAJF6-CoAmv2Sn.js → timeline-definition-FHXFAJF6-C7SG8MQH.js} +1 -1
- package/dist/web-client/assets/{treeView-QDETBFTQ-BWsKzE1s.js → treeView-QDETBFTQ-M0rhxbs2.js} +1 -1
- package/dist/web-client/assets/{treemap-6X3UGDF4-i_qGtB3o.js → treemap-6X3UGDF4-BQfkQxSh.js} +1 -1
- package/dist/web-client/assets/{vennDiagram-L72KCM5P-DYkiLe-P.js → vennDiagram-L72KCM5P-CyIlb8ju.js} +1 -1
- package/dist/web-client/assets/{wardley-OPB4EBWU-Daaqr1Vp.js → wardley-OPB4EBWU-EE-7q8M1.js} +1 -1
- package/dist/web-client/assets/{wardleyDiagram-EHGQE667-Bofbsg3J.js → wardleyDiagram-EHGQE667-bY8XdYYS.js} +1 -1
- package/dist/web-client/assets/{xychartDiagram-FW5EYKEG-KNF4VTfL.js → xychartDiagram-FW5EYKEG-AhuXJ3de.js} +1 -1
- package/dist/web-client/index.html +2 -2
- package/dist/web-server/app.d.ts +4 -1
- package/dist/web-server/app.d.ts.map +1 -1
- package/dist/web-server/app.js +19 -0
- package/dist/web-server/app.js.map +1 -1
- package/dist/web-server/claude-runner.d.ts +109 -7
- package/dist/web-server/claude-runner.d.ts.map +1 -1
- package/dist/web-server/claude-runner.js +329 -50
- package/dist/web-server/claude-runner.js.map +1 -1
- package/dist/web-server/index.d.ts +2 -2
- package/dist/web-server/index.d.ts.map +1 -1
- package/dist/web-server/index.js +3 -2
- package/dist/web-server/index.js.map +1 -1
- package/dist/web-server/permission-policy.d.ts +46 -0
- package/dist/web-server/permission-policy.d.ts.map +1 -0
- package/dist/web-server/permission-policy.js +96 -0
- package/dist/web-server/permission-policy.js.map +1 -0
- package/dist/web-server/prompt-assembly.d.ts +454 -0
- package/dist/web-server/prompt-assembly.d.ts.map +1 -0
- package/dist/web-server/prompt-assembly.js +1122 -0
- package/dist/web-server/prompt-assembly.js.map +1 -0
- package/dist/web-server/routes/hook-events.d.ts +28 -3
- package/dist/web-server/routes/hook-events.d.ts.map +1 -1
- package/dist/web-server/routes/hook-events.js +209 -24
- package/dist/web-server/routes/hook-events.js.map +1 -1
- package/dist/web-server/routes/sessions.d.ts +7 -5
- package/dist/web-server/routes/sessions.d.ts.map +1 -1
- package/dist/web-server/routes/sessions.js +1030 -174
- package/dist/web-server/routes/sessions.js.map +1 -1
- package/dist/web-server/routes/workspace.d.ts +27 -0
- package/dist/web-server/routes/workspace.d.ts.map +1 -0
- package/dist/web-server/routes/workspace.js +280 -0
- package/dist/web-server/routes/workspace.js.map +1 -0
- package/dist/web-server/run-event-log.d.ts +167 -0
- package/dist/web-server/run-event-log.d.ts.map +1 -0
- package/dist/web-server/run-event-log.js +468 -0
- package/dist/web-server/run-event-log.js.map +1 -0
- package/dist/web-server/session-reconciler.d.ts +162 -0
- package/dist/web-server/session-reconciler.d.ts.map +1 -0
- package/dist/web-server/session-reconciler.js +363 -0
- package/dist/web-server/session-reconciler.js.map +1 -0
- package/dist/web-server/static.d.ts +7 -0
- package/dist/web-server/static.d.ts.map +1 -1
- package/dist/web-server/static.js +46 -3
- package/dist/web-server/static.js.map +1 -1
- package/dist/web-server/web-auth.d.ts +17 -0
- package/dist/web-server/web-auth.d.ts.map +1 -0
- package/dist/web-server/web-auth.js +33 -0
- package/dist/web-server/web-auth.js.map +1 -0
- package/dist/web-server/web-token.d.ts +39 -0
- package/dist/web-server/web-token.d.ts.map +1 -0
- package/dist/web-server/web-token.js +71 -0
- package/dist/web-server/web-token.js.map +1 -0
- package/opencode/arcs/manifest.json +8 -8
- package/package.json +1 -1
- package/scripts/claude-code-session-hook.mjs +49 -3
- package/scripts/deploy-claudecode-bundle.mjs +24 -3
- package/dist/web-client/assets/architecture-TIHT7OUA-CJqI5wNI.js +0 -1
- package/dist/web-client/assets/channel-C8DlmyVe.js +0 -1
- package/dist/web-client/assets/classDiagram-OUVF2IWQ-p32N1P_G.js +0 -1
- package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-p32N1P_G.js +0 -1
- package/dist/web-client/assets/eventmodeling-45OFAUF4-Bj5P8mZJ.js +0 -1
- package/dist/web-client/assets/flowDiagram-23GEKE2U-37BztFri.js +0 -1
- package/dist/web-client/assets/index-3mNPVkix.css +0 -2
- package/dist/web-client/assets/railroad-abnf-AHOZXSZD-2Dg9wu0J.js +0 -1
- package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-C_E2ot0R.js +0 -1
- package/dist/web-client/assets/railroad-peg-LSFZ7HO6-Bs9UQR1b.js +0 -1
- package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-BCMWGnsJ.js +0 -1
- package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DmudmLcK.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/web-server/routes/sessions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/web-server/routes/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only workspace file plane — the surface a user points at.
|
|
3
|
+
*
|
|
4
|
+
* Two GETs and nothing else: `tree` lists a directory under the project's
|
|
5
|
+
* registered workspace roots, `file` returns one file's text plus the head
|
|
6
|
+
* revision it was read at, so the browser can build the `file` variant of
|
|
7
|
+
* `sessionReferenceSchema` (path + line range + headRev) and hand it to a
|
|
8
|
+
* session. There is deliberately NO write route here: an edit is something the
|
|
9
|
+
* agent does in the workspace, never something this plane does on its behalf.
|
|
10
|
+
*
|
|
11
|
+
* Every path the caller supplies goes through `resolveInsideWorkspace` — the
|
|
12
|
+
* one containment guard — which resolves symlinks BEFORE deciding whether the
|
|
13
|
+
* result is inside a root. Both routes are cheap to abuse otherwise, so both
|
|
14
|
+
* are also capped: bytes on the file route, depth and entry count on the tree.
|
|
15
|
+
*/
|
|
16
|
+
import { Hono } from "hono";
|
|
17
|
+
export declare const workspaceRoute: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
18
|
+
/** Ceiling on the bytes one file response may carry. Past it the response is
|
|
19
|
+
* the first slice plus `truncated: true` — never the whole file, and never a
|
|
20
|
+
* stream this plane would have to keep open. */
|
|
21
|
+
export declare const WORKSPACE_FILE_MAX_BYTES: number;
|
|
22
|
+
/** Ceiling on entries in one tree response, across every level walked. */
|
|
23
|
+
export declare const WORKSPACE_TREE_MAX_ENTRIES = 500;
|
|
24
|
+
/** Ceiling on how many levels below the requested directory a walk descends.
|
|
25
|
+
* A larger `?depth=` is clamped to this, never honoured. */
|
|
26
|
+
export declare const WORKSPACE_TREE_MAX_DEPTH = 4;
|
|
27
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,eAAO,MAAM,cAAc,4EAAa,CAAC;AAEzC;;iDAEiD;AACjD,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;6DAC6D;AAC7D,eAAO,MAAM,wBAAwB,IAAI,CAAC"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only workspace file plane — the surface a user points at.
|
|
3
|
+
*
|
|
4
|
+
* Two GETs and nothing else: `tree` lists a directory under the project's
|
|
5
|
+
* registered workspace roots, `file` returns one file's text plus the head
|
|
6
|
+
* revision it was read at, so the browser can build the `file` variant of
|
|
7
|
+
* `sessionReferenceSchema` (path + line range + headRev) and hand it to a
|
|
8
|
+
* session. There is deliberately NO write route here: an edit is something the
|
|
9
|
+
* agent does in the workspace, never something this plane does on its behalf.
|
|
10
|
+
*
|
|
11
|
+
* Every path the caller supplies goes through `resolveInsideWorkspace` — the
|
|
12
|
+
* one containment guard — which resolves symlinks BEFORE deciding whether the
|
|
13
|
+
* result is inside a root. Both routes are cheap to abuse otherwise, so both
|
|
14
|
+
* are also capped: bytes on the file route, depth and entry count on the tree.
|
|
15
|
+
*/
|
|
16
|
+
import { open, readdir, realpath, stat } from "node:fs/promises";
|
|
17
|
+
import { homedir } from "node:os";
|
|
18
|
+
import { isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
19
|
+
import { Hono } from "hono";
|
|
20
|
+
import { DagError } from "../../utils/errors.js";
|
|
21
|
+
import { getHeadCommitAsync } from "../../utils/git.js";
|
|
22
|
+
import { readJsonSafe } from "../../utils/json.js";
|
|
23
|
+
import { requireProjectDir, respond } from "../respond.js";
|
|
24
|
+
export const workspaceRoute = new Hono();
|
|
25
|
+
/** Ceiling on the bytes one file response may carry. Past it the response is
|
|
26
|
+
* the first slice plus `truncated: true` — never the whole file, and never a
|
|
27
|
+
* stream this plane would have to keep open. */
|
|
28
|
+
export const WORKSPACE_FILE_MAX_BYTES = 256 * 1024;
|
|
29
|
+
/** Ceiling on entries in one tree response, across every level walked. */
|
|
30
|
+
export const WORKSPACE_TREE_MAX_ENTRIES = 500;
|
|
31
|
+
/** Ceiling on how many levels below the requested directory a walk descends.
|
|
32
|
+
* A larger `?depth=` is clamped to this, never honoured. */
|
|
33
|
+
export const WORKSPACE_TREE_MAX_DEPTH = 4;
|
|
34
|
+
/**
|
|
35
|
+
* Directories skipped by the walk. Not a security control — the guard is — but
|
|
36
|
+
* either of these would exhaust the entry cap on its own and leave the tree
|
|
37
|
+
* showing nothing a user came to look at.
|
|
38
|
+
*/
|
|
39
|
+
const SKIP_DIRECTORIES = new Set([".git", "node_modules"]);
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
// Roots + containment
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
/**
|
|
44
|
+
* `~/x` → `<home>/x`, anything else made absolute.
|
|
45
|
+
*
|
|
46
|
+
* Mirrors `expandWorkspacePath` in src/utils/project-resolver.ts, which is
|
|
47
|
+
* module-private there. Same two-branch rule, deliberately not re-derived: a
|
|
48
|
+
* root expanded differently from the way the rest of ARCS expands it would
|
|
49
|
+
* contain a different set of files than the CLI thinks it does.
|
|
50
|
+
*/
|
|
51
|
+
function expandWorkspacePath(configured) {
|
|
52
|
+
return configured.startsWith("~") ? resolve(homedir(), configured.slice(2)) : resolve(configured);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Segment-aware containment. `relative()` alone is not enough: a `startsWith`
|
|
56
|
+
* on its output rejects a legitimate file literally named `..foo`, and a
|
|
57
|
+
* `startsWith` on the raw paths accepts `/repo-secrets` for root `/repo`.
|
|
58
|
+
*/
|
|
59
|
+
function isInside(root, target) {
|
|
60
|
+
if (target === root)
|
|
61
|
+
return true;
|
|
62
|
+
const rel = relative(root, target);
|
|
63
|
+
return rel !== "" && !isAbsolute(rel) && !rel.split(sep).includes("..");
|
|
64
|
+
}
|
|
65
|
+
/** Root-relative paths go over the wire with `/` separators regardless of host. */
|
|
66
|
+
function toPosix(path) {
|
|
67
|
+
return sep === "/" ? path : path.split(sep).join("/");
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The project's workspace roots, resolved and deduplicated.
|
|
71
|
+
*
|
|
72
|
+
* Read from `meta.workspacePaths` exactly as `primaryWorkspacePath` in
|
|
73
|
+
* routes/sessions.ts reads it, including its rule: an unset workspace is an
|
|
74
|
+
* ERROR, never a default. `resolveProject().workspacePath` returns `""` rather
|
|
75
|
+
* than `process.cwd()` for the same reason — an empty root here would otherwise
|
|
76
|
+
* quietly mean "contain everything", i.e. the whole filesystem.
|
|
77
|
+
*
|
|
78
|
+
* The roots are realpath'd because containment compares them against realpath'd
|
|
79
|
+
* targets: on a host whose configured root passes through a symlink (a
|
|
80
|
+
* symlinked tmpdir, a `~/code` → volume link) an unresolved root would fail to
|
|
81
|
+
* contain its own children.
|
|
82
|
+
*/
|
|
83
|
+
async function workspaceRoots(projectDir, slug) {
|
|
84
|
+
const meta = await readJsonSafe(resolve(projectDir, "meta.json"));
|
|
85
|
+
const configured = (meta?.workspacePaths ?? []).filter((path) => typeof path === "string" && path.trim() !== "");
|
|
86
|
+
if (configured.length === 0) {
|
|
87
|
+
throw new DagError("PROJECT_WORKSPACE_UNSET", `Project "${slug}" has no registered workspace path, so there is no directory to browse — ` +
|
|
88
|
+
`run \`arcs project update-paths ${slug} --add <path>\` first.`);
|
|
89
|
+
}
|
|
90
|
+
const roots = [];
|
|
91
|
+
for (const path of configured) {
|
|
92
|
+
const real = await realpath(expandWorkspacePath(path)).catch(() => null);
|
|
93
|
+
if (real !== null && !roots.includes(real))
|
|
94
|
+
roots.push(real);
|
|
95
|
+
}
|
|
96
|
+
if (roots.length === 0) {
|
|
97
|
+
throw new DagError("PROJECT_WORKSPACE_UNREADABLE", `None of the workspace paths registered for project "${slug}" exist on this machine.`);
|
|
98
|
+
}
|
|
99
|
+
return roots;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Resolves a caller-supplied path against the workspace roots, or refuses it.
|
|
103
|
+
*
|
|
104
|
+
* RESOLVE FIRST, CONTAIN SECOND — this ordering is the entire point of the
|
|
105
|
+
* function. `realpath` collapses every symlink in every segment, so the value
|
|
106
|
+
* that gets contained is the path the filesystem would actually read. A guard
|
|
107
|
+
* that normalizes the REQUESTED STRING and containment-checks that instead
|
|
108
|
+
* admits `<root>/link` for any link at all: the string is inside the root, the
|
|
109
|
+
* bytes are not. These two steps must never be reordered or short-circuited.
|
|
110
|
+
*
|
|
111
|
+
* Both failure modes return before a single byte is read. Anything that DID
|
|
112
|
+
* resolve and landed outside is forbidden (400) — a lexically-inside symlink
|
|
113
|
+
* whose target escapes is exactly that case and must not be softened into a
|
|
114
|
+
* miss. Only a path that resolves to nothing at all consults the lexical test,
|
|
115
|
+
* purely to choose between 404 and 400; that test is never load-bearing for
|
|
116
|
+
* access.
|
|
117
|
+
*/
|
|
118
|
+
async function resolveInsideWorkspace(roots, requested) {
|
|
119
|
+
const candidates = isAbsolute(requested)
|
|
120
|
+
? [requested]
|
|
121
|
+
: roots.map((root) => resolve(root, requested));
|
|
122
|
+
let resolvedOutside = false;
|
|
123
|
+
for (const candidate of candidates) {
|
|
124
|
+
// 1. RESOLVE — every symlink in every segment collapses here.
|
|
125
|
+
const real = await realpath(candidate).catch(() => null);
|
|
126
|
+
if (real === null)
|
|
127
|
+
continue;
|
|
128
|
+
// 2. CONTAIN — on the resolved path, never on the requested string.
|
|
129
|
+
const root = roots.find((candidateRoot) => isInside(candidateRoot, real));
|
|
130
|
+
if (root)
|
|
131
|
+
return { real, root, relPath: toPosix(relative(root, real)) };
|
|
132
|
+
resolvedOutside = true;
|
|
133
|
+
}
|
|
134
|
+
const lexicallyInside = !resolvedOutside &&
|
|
135
|
+
candidates.some((candidate) => roots.some((root) => isInside(root, candidate)));
|
|
136
|
+
if (lexicallyInside) {
|
|
137
|
+
throw new DagError("WORKSPACE_PATH_NOT_FOUND", `"${requested}" does not exist in the project workspace`);
|
|
138
|
+
}
|
|
139
|
+
throw new DagError("WORKSPACE_PATH_FORBIDDEN", "Requested path resolves outside the project's workspace roots");
|
|
140
|
+
}
|
|
141
|
+
// ---------------------------------------------------------------------------
|
|
142
|
+
// GET /api/p/:slug/workspace/tree — one directory, depth- and entry-capped
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
function clampDepth(raw) {
|
|
145
|
+
const parsed = Number(raw ?? "1");
|
|
146
|
+
if (!Number.isFinite(parsed))
|
|
147
|
+
return 1;
|
|
148
|
+
return Math.min(Math.max(1, Math.trunc(parsed)), WORKSPACE_TREE_MAX_DEPTH);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Depth-first collection into `out`, returning whether a cap cut the walk short.
|
|
152
|
+
*
|
|
153
|
+
* A symlinked entry is resolved and contained before it is listed at all, so
|
|
154
|
+
* the tree never advertises a door the file route would then refuse to open —
|
|
155
|
+
* and never names a file living outside the root.
|
|
156
|
+
*/
|
|
157
|
+
async function collectEntries(root, dir, remainingDepth, out) {
|
|
158
|
+
if (remainingDepth <= 0)
|
|
159
|
+
return false;
|
|
160
|
+
const dirents = await readdir(dir, { withFileTypes: true }).catch(() => null);
|
|
161
|
+
if (dirents === null)
|
|
162
|
+
return false;
|
|
163
|
+
const resolved = [];
|
|
164
|
+
for (const dirent of dirents) {
|
|
165
|
+
if (SKIP_DIRECTORIES.has(dirent.name))
|
|
166
|
+
continue;
|
|
167
|
+
const abs = join(dir, dirent.name);
|
|
168
|
+
if (dirent.isSymbolicLink()) {
|
|
169
|
+
const real = await realpath(abs).catch(() => null);
|
|
170
|
+
if (real === null || !isInside(root, real))
|
|
171
|
+
continue;
|
|
172
|
+
const stats = await stat(real).catch(() => null);
|
|
173
|
+
if (stats === null)
|
|
174
|
+
continue;
|
|
175
|
+
resolved.push({ name: dirent.name, abs: real, type: stats.isDirectory() ? "dir" : "file" });
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
if (dirent.isDirectory())
|
|
179
|
+
resolved.push({ name: dirent.name, abs, type: "dir" });
|
|
180
|
+
else if (dirent.isFile())
|
|
181
|
+
resolved.push({ name: dirent.name, abs, type: "file" });
|
|
182
|
+
}
|
|
183
|
+
resolved.sort((a, b) => a.type === b.type ? a.name.localeCompare(b.name) : a.type === "dir" ? -1 : 1);
|
|
184
|
+
let truncated = false;
|
|
185
|
+
for (const entry of resolved) {
|
|
186
|
+
if (out.length >= WORKSPACE_TREE_MAX_ENTRIES)
|
|
187
|
+
return true;
|
|
188
|
+
out.push({ name: entry.name, path: toPosix(relative(root, entry.abs)), type: entry.type });
|
|
189
|
+
if (entry.type === "dir") {
|
|
190
|
+
truncated = (await collectEntries(root, entry.abs, remainingDepth - 1, out)) || truncated;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return truncated;
|
|
194
|
+
}
|
|
195
|
+
workspaceRoute.get("/api/p/:slug/workspace/tree", async (c) => respond(c, async () => {
|
|
196
|
+
const slug = c.req.param("slug");
|
|
197
|
+
const projectDir = requireProjectDir(slug);
|
|
198
|
+
const roots = await workspaceRoots(projectDir, slug);
|
|
199
|
+
const target = await resolveInsideWorkspace(roots, c.req.query("path") ?? "");
|
|
200
|
+
const stats = await stat(target.real);
|
|
201
|
+
if (!stats.isDirectory()) {
|
|
202
|
+
throw new DagError("WORKSPACE_NOT_A_DIRECTORY", `"${target.relPath}" is not a directory — read it with the file route instead`);
|
|
203
|
+
}
|
|
204
|
+
const depth = clampDepth(c.req.query("depth"));
|
|
205
|
+
const entries = [];
|
|
206
|
+
const truncated = await collectEntries(target.root, target.real, depth, entries);
|
|
207
|
+
return { root: target.root, path: target.relPath, depth, entries, truncated };
|
|
208
|
+
}));
|
|
209
|
+
// ---------------------------------------------------------------------------
|
|
210
|
+
// GET /api/p/:slug/workspace/file — one file's text, byte-capped
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
/** Lines a viewer would render: a trailing newline terminates the last line
|
|
213
|
+
* rather than starting an empty one. */
|
|
214
|
+
function countLines(content) {
|
|
215
|
+
if (content === "")
|
|
216
|
+
return 0;
|
|
217
|
+
return content.split("\n").length - (content.endsWith("\n") ? 1 : 0);
|
|
218
|
+
}
|
|
219
|
+
workspaceRoute.get("/api/p/:slug/workspace/file", async (c) => respond(c, async () => {
|
|
220
|
+
const slug = c.req.param("slug");
|
|
221
|
+
const projectDir = requireProjectDir(slug);
|
|
222
|
+
const roots = await workspaceRoots(projectDir, slug);
|
|
223
|
+
const requested = c.req.query("path") ?? "";
|
|
224
|
+
if (requested === "") {
|
|
225
|
+
throw new DagError("WORKSPACE_PATH_REQUIRED", "A `path` query parameter is required");
|
|
226
|
+
}
|
|
227
|
+
const target = await resolveInsideWorkspace(roots, requested);
|
|
228
|
+
const stats = await stat(target.real);
|
|
229
|
+
if (!stats.isFile()) {
|
|
230
|
+
throw new DagError("WORKSPACE_NOT_A_FILE", `"${target.relPath}" is not a regular file — list it with the tree route instead`);
|
|
231
|
+
}
|
|
232
|
+
// Capped at the read, not after it: a multi-gigabyte file must never be
|
|
233
|
+
// pulled into memory just to be sliced.
|
|
234
|
+
const length = Math.min(stats.size, WORKSPACE_FILE_MAX_BYTES);
|
|
235
|
+
const buffer = Buffer.alloc(length);
|
|
236
|
+
const handle = await open(target.real, "r");
|
|
237
|
+
try {
|
|
238
|
+
if (length > 0)
|
|
239
|
+
await handle.read(buffer, 0, length, 0);
|
|
240
|
+
}
|
|
241
|
+
finally {
|
|
242
|
+
await handle.close();
|
|
243
|
+
}
|
|
244
|
+
// A NUL byte means this is not text; a line-numbered viewer would render
|
|
245
|
+
// garbage and the excerpt on any reference built from it would be noise.
|
|
246
|
+
if (buffer.includes(0)) {
|
|
247
|
+
throw new DagError("WORKSPACE_FILE_BINARY", `"${target.relPath}" is not a text file — this plane serves text only`);
|
|
248
|
+
}
|
|
249
|
+
const content = buffer.toString("utf-8");
|
|
250
|
+
return {
|
|
251
|
+
path: target.relPath,
|
|
252
|
+
root: target.root,
|
|
253
|
+
content,
|
|
254
|
+
lineCount: countLines(content),
|
|
255
|
+
size: stats.size,
|
|
256
|
+
truncated: stats.size > length,
|
|
257
|
+
// The revision the slice was taken at, so a `file` reference built from
|
|
258
|
+
// this response carries `headRev` and a later diff can tell whether the
|
|
259
|
+
// file moved under the agent. `null` outside a git worktree.
|
|
260
|
+
//
|
|
261
|
+
// The ASYNC twin, deliberately: `getHeadCommit` is `execSync`, and a
|
|
262
|
+
// sync spawn in a handler blocks the entire loop for the child's whole
|
|
263
|
+
// lifetime, which every concurrent request and every open SSE stream pays
|
|
264
|
+
// too. Both the cost and the saving scale with the PARENT's RSS, so
|
|
265
|
+
// neither number means anything unquoted: measured on this route at
|
|
266
|
+
// 4.16 ms per GET with the server at 134 MB RSS and 8.46 ms at 444 MB,
|
|
267
|
+
// and going async removes 66% of that block at 134 MB but only 28% at
|
|
268
|
+
// 444 MB. Re-measure on the host before quoting either figure.
|
|
269
|
+
//
|
|
270
|
+
// Async does not take the block to zero — `uv_spawn`'s fork/exec runs in
|
|
271
|
+
// the parent, and no `child_process` API avoids it. Cheaper routes exist
|
|
272
|
+
// and are rejected as not worth the machinery here rather than as
|
|
273
|
+
// impossible: a worker thread spawns in 0.34 ms but costs a thread pool,
|
|
274
|
+
// and reading `.git/HEAD` directly costs 0.05 ms but a hand-rolled ref
|
|
275
|
+
// resolver covering packed-refs, `.git`-as-a-file worktrees, detached
|
|
276
|
+
// HEAD and `core.abbrev`.
|
|
277
|
+
headRev: await getHeadCommitAsync(target.root),
|
|
278
|
+
};
|
|
279
|
+
}));
|
|
280
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/web-server/routes/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-run stdout event log — the durable spine of a headless `claude -p` run.
|
|
3
|
+
*
|
|
4
|
+
* Owns `sessions/{normalizedId}.run-{runId}.events.jsonl`: every byte the child
|
|
5
|
+
* writes to stdout lands here VERBATIM, one file line per stdout line, BEFORE
|
|
6
|
+
* anything parses it. That ordering is the whole point — the log is the source
|
|
7
|
+
* of truth and the runner's NDJSON reader is merely its first consumer, so a
|
|
8
|
+
* line the reader cannot parse (drifted wire format, truncated JSON, an event
|
|
9
|
+
* type that did not exist when this shipped) is still on disk, and a process
|
|
10
|
+
* that dies mid-run still leaves behind everything that arrived.
|
|
11
|
+
*
|
|
12
|
+
* Writes are synchronous (`writeSync` against an fd opened with "a") for
|
|
13
|
+
* exactly that reason: an async queue would only ever have *issued* the write
|
|
14
|
+
* before the parse, and a hard kill would lose whatever was still in flight.
|
|
15
|
+
* The chunks are small and few (one per stdout chunk of a single child), so the
|
|
16
|
+
* event-loop cost is a rounding error against a run measured in minutes.
|
|
17
|
+
*
|
|
18
|
+
* The `runId` in the filename is the SAME id the route persists as
|
|
19
|
+
* `currentRunId`, so the log's name and the session record can never disagree
|
|
20
|
+
* about which run produced it.
|
|
21
|
+
*
|
|
22
|
+
* Total by construction, like the reader it feeds: nothing here throws. A log
|
|
23
|
+
* that cannot be opened or written reports itself through `RunEventLogStats`
|
|
24
|
+
* and the run proceeds untouched — a logging failure must never fail a run.
|
|
25
|
+
* Reporting is the whole point: a log that hit its size cap or lost bytes to a
|
|
26
|
+
* short write says so on `truncated`, which rides all the way out to
|
|
27
|
+
* `metadata.run.eventLogTruncated`. A silent fallback here would make an empty
|
|
28
|
+
* log and a capped one look identical to every consumer downstream.
|
|
29
|
+
*
|
|
30
|
+
* At settle the log folds down into the transcript sidecar (assistant text plus
|
|
31
|
+
* one turn per `tool_use`) through `appendSessionTurn`, and older logs for the
|
|
32
|
+
* same session are pruned so the sessions dir cannot grow without limit.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Ceiling on one run's log — a runaway child cannot fill the disk.
|
|
36
|
+
*
|
|
37
|
+
* The finished file is never LARGER than this, terminator included: the writer
|
|
38
|
+
* refuses a chunk that would take it TO the cap (`>=`, not `>`), leaving the one
|
|
39
|
+
* byte `flush()` may still need. The off-by-one that leaves matters because
|
|
40
|
+
* `foldRunEventLog` refuses to read anything past this size — a writer allowed
|
|
41
|
+
* to land on exactly the cap and then add a terminator produces a file its own
|
|
42
|
+
* fold silently discards.
|
|
43
|
+
*
|
|
44
|
+
* Reaching it does not close the log: only the crossing chunk is refused, later
|
|
45
|
+
* chunks that still fit are still written, and `RunEventLogStats.truncated`
|
|
46
|
+
* reports that bytes are missing. The file always ends on a line boundary, so an
|
|
47
|
+
* offset-based tail never reads half a record.
|
|
48
|
+
*/
|
|
49
|
+
export declare const RUN_EVENT_LOG_MAX_BYTES: number;
|
|
50
|
+
/**
|
|
51
|
+
* How many event logs a single session keeps. Count-based rather than
|
|
52
|
+
* age-based: a count is a hard bound (N logs per session, at most
|
|
53
|
+
* RUN_EVENT_LOG_MAX_BYTES each), while an age window still admits unbounded
|
|
54
|
+
* growth from a session that runs in a tight loop.
|
|
55
|
+
*/
|
|
56
|
+
export declare const RUN_EVENT_LOG_RETENTION = 5;
|
|
57
|
+
/** Which run's stdout a log belongs to. */
|
|
58
|
+
export interface RunEventLogTarget {
|
|
59
|
+
/** Project data dir — the log lives under its `sessions/`. */
|
|
60
|
+
projectDir: string;
|
|
61
|
+
/** Canonical `normalizedId` of the write-target session. */
|
|
62
|
+
sessionId: string;
|
|
63
|
+
/** The run's id — the SAME one persisted as `currentRunId`. */
|
|
64
|
+
runId: string;
|
|
65
|
+
}
|
|
66
|
+
/** What a finished log wrote, for the run record's diagnostics. */
|
|
67
|
+
export interface RunEventLogStats {
|
|
68
|
+
/** Complete lines appended (the terminator added at flush counts its line). */
|
|
69
|
+
lines: number;
|
|
70
|
+
/** Bytes appended — always exactly the size of the file on disk. */
|
|
71
|
+
bytes: number;
|
|
72
|
+
/**
|
|
73
|
+
* The file is INCOMPLETE: bytes the child wrote are not in it, because a chunk
|
|
74
|
+
* crossed RUN_EVENT_LOG_MAX_BYTES or a write landed short. What IS there is
|
|
75
|
+
* still whole lines in stream order — but this file is no longer the whole
|
|
76
|
+
* stream, so nothing may read it (or tail it by offset) as if it were.
|
|
77
|
+
*
|
|
78
|
+
* Surfaced all the way to `metadata.run.eventLogTruncated`: without it a
|
|
79
|
+
* capped log reports `eventLogLines: 0` and is indistinguishable from a child
|
|
80
|
+
* that said nothing at all.
|
|
81
|
+
*
|
|
82
|
+
* `truncated: false` is the strong claim and holds even when `error` is set:
|
|
83
|
+
* every byte the child wrote is in the file AND the file ends on a line
|
|
84
|
+
* boundary. An error beside it belongs to a failure that cost no bytes — the
|
|
85
|
+
* log never opened (`bytes: 0`, nothing was ever written) or the fd failed to
|
|
86
|
+
* close after everything had landed. Anything that loses bytes or leaves the
|
|
87
|
+
* last line open, a failed terminator write included, sets `truncated`.
|
|
88
|
+
*/
|
|
89
|
+
truncated: boolean;
|
|
90
|
+
/** First open/write failure, reported rather than thrown. */
|
|
91
|
+
error?: string;
|
|
92
|
+
}
|
|
93
|
+
export interface RunEventLogHandle {
|
|
94
|
+
/** Where the log lives; empty string for the no-op handle. */
|
|
95
|
+
readonly path: string;
|
|
96
|
+
/** Appends a raw stdout chunk verbatim. Never throws. */
|
|
97
|
+
push(chunk: Buffer | string): void;
|
|
98
|
+
/** Terminates a final line that arrived without its newline. Never throws. */
|
|
99
|
+
flush(): void;
|
|
100
|
+
/** Closes the fd and reports what was written. Never throws. */
|
|
101
|
+
close(): RunEventLogStats;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Filename-safe form of a run id. The id reaches a path, so it is sanitized
|
|
105
|
+
* rather than trusted: anything outside `[A-Za-z0-9_-]` (`/`, `.`, `..`) becomes
|
|
106
|
+
* `-` before it can traverse out of the sessions dir.
|
|
107
|
+
*/
|
|
108
|
+
export declare function runEventLogSegment(runId: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Log path for one run. Keys on the session's canonical `normalizedId` exactly
|
|
111
|
+
* as the transcript sidecar does, so both files for a session sort together and
|
|
112
|
+
* neither can be derived from a raw route id.
|
|
113
|
+
*/
|
|
114
|
+
export declare function runEventLogPath(projectDir: string, sessionId: string, runId: string): string;
|
|
115
|
+
/**
|
|
116
|
+
* Opens (creating) the run's log and returns a write-through handle.
|
|
117
|
+
*
|
|
118
|
+
* The file is created up front, so a run that produces no stdout at all — a
|
|
119
|
+
* child killed at its deadline before it spoke, an immediate non-zero exit —
|
|
120
|
+
* still leaves the log behind. `undefined` target yields the no-op handle, which
|
|
121
|
+
* is how the runner stays usable without a project dir (tests, and any caller
|
|
122
|
+
* that does not want a log).
|
|
123
|
+
*/
|
|
124
|
+
export declare function openRunEventLog(target: RunEventLogTarget | undefined): RunEventLogHandle;
|
|
125
|
+
export interface RunFoldResult {
|
|
126
|
+
/** Turns this call appended to the sidecar. */
|
|
127
|
+
appended: number;
|
|
128
|
+
/** The sidecar already carried this run's turns — nothing was written. */
|
|
129
|
+
alreadyFolded: boolean;
|
|
130
|
+
/** An assistant TEXT turn for this run is in the sidecar (from either call). */
|
|
131
|
+
assistantTextFolded: boolean;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Folds a run's event log down into the session's transcript sidecar: assistant
|
|
135
|
+
* text plus one turn per `tool_use`, appended through `appendSessionTurn` in
|
|
136
|
+
* stream order, each tagged with the run id.
|
|
137
|
+
*
|
|
138
|
+
* Idempotence mechanism: the fold's OWN OUTPUT is the marker. Every appended
|
|
139
|
+
* turn carries `run: <runId>`, and a fold refuses as soon as the sidecar holds
|
|
140
|
+
* any turn tagged with that id. This was chosen over a separate marker (a
|
|
141
|
+
* `foldedAt` on the run record, a `.folded` sentinel file) precisely because a
|
|
142
|
+
* separate marker has a window: a crash between "turns appended" and "marker
|
|
143
|
+
* written" would re-fold and duplicate the whole run on the next settle. Here
|
|
144
|
+
* there is no window — the evidence and the mark are the same bytes. The cost
|
|
145
|
+
* is at-most-once rather than exactly-once under a crash MID-fold (the turns
|
|
146
|
+
* already appended are tagged, so the remainder is never completed), which is
|
|
147
|
+
* the safe direction: a short transcript, never a doubled one.
|
|
148
|
+
*
|
|
149
|
+
* Never throws — a fold that cannot read the log or write the sidecar reports
|
|
150
|
+
* an empty result and the settle continues.
|
|
151
|
+
*/
|
|
152
|
+
export declare function foldRunEventLog(projectDir: string, sessionId: string, runId: string): Promise<RunFoldResult>;
|
|
153
|
+
/**
|
|
154
|
+
* Keeps the newest `keep` event logs for one session and deletes the rest.
|
|
155
|
+
*
|
|
156
|
+
* Called at EVERY settle (after the fold), so the log that just settled is
|
|
157
|
+
* always among the survivors and the sessions dir is bounded at `keep` logs per
|
|
158
|
+
* session no matter how many runs a session accumulates. "Every settle" means
|
|
159
|
+
* the startup orphan sweep too (`settleOrphanedRuns`): a server that dies
|
|
160
|
+
* mid-run never reaches the route's write-back, so without that call site a
|
|
161
|
+
* session whose runs are always interrupted grows one capped log per run
|
|
162
|
+
* forever. `keep: 0` drops them all — what session deletion uses.
|
|
163
|
+
*
|
|
164
|
+
* Never throws; returns how many files it removed.
|
|
165
|
+
*/
|
|
166
|
+
export declare function pruneRunEventLogs(projectDir: string, sessionId: string, keep?: number): Promise<number>;
|
|
167
|
+
//# sourceMappingURL=run-event-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-event-log.d.ts","sourceRoot":"","sources":["../../src/web-server/run-event-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAQH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAOzC,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAAC;IACd,gEAAgE;IAChE,KAAK,IAAI,gBAAgB,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5F;AAYD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,iBAAiB,CAkLxF;AAMD,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,aAAa,EAAE,OAAO,CAAC;IACvB,gFAAgF;IAChF,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AA0ED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAwCxB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAgC,GACrC,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
|