@rryando/arcs 5.1.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 (219) hide show
  1. package/README.md +30 -17
  2. package/dist/cli/arcs-orchestrate.d.ts +1 -1
  3. package/dist/cli/arcs-orchestrate.d.ts.map +1 -1
  4. package/dist/cli/commands/bundle.js +39 -0
  5. package/dist/cli/commands/bundle.js.map +1 -1
  6. package/dist/cli/commands/proposal-doc.js +76 -58
  7. package/dist/cli/commands/proposal-doc.js.map +1 -1
  8. package/dist/cli/commands/web.js +2 -2
  9. package/dist/cli/commands/web.js.map +1 -1
  10. package/dist/cli/config.d.ts +37 -9
  11. package/dist/cli/config.d.ts.map +1 -1
  12. package/dist/cli/config.js +64 -5
  13. package/dist/cli/config.js.map +1 -1
  14. package/dist/cli/instructions.d.ts +3 -3
  15. package/dist/cli/instructions.d.ts.map +1 -1
  16. package/dist/cli/instructions.js +10 -2
  17. package/dist/cli/instructions.js.map +1 -1
  18. package/dist/cli/orchestrator-shared-blocks.d.ts +1 -1
  19. package/dist/cli/orchestrator-shared-blocks.d.ts.map +1 -1
  20. package/dist/cli/orchestrator-shared-blocks.js +1 -1
  21. package/dist/cli/setup.d.ts.map +1 -1
  22. package/dist/cli/setup.js +281 -47
  23. package/dist/cli/setup.js.map +1 -1
  24. package/dist/utils/json-schemas.d.ts +32 -9
  25. package/dist/utils/json-schemas.d.ts.map +1 -1
  26. package/dist/utils/json-schemas.js +8 -1
  27. package/dist/utils/json-schemas.js.map +1 -1
  28. package/dist/utils/project-resolver.d.ts.map +1 -1
  29. package/dist/utils/project-resolver.js +9 -2
  30. package/dist/utils/project-resolver.js.map +1 -1
  31. package/dist/utils/run-transcript.d.ts +138 -0
  32. package/dist/utils/run-transcript.d.ts.map +1 -0
  33. package/dist/utils/run-transcript.js +146 -0
  34. package/dist/utils/run-transcript.js.map +1 -0
  35. package/dist/utils/storage-utils.d.ts +1 -1
  36. package/dist/utils/storage-utils.d.ts.map +1 -1
  37. package/dist/utils/storage-utils.js +1 -1
  38. package/dist/utils/storage-utils.js.map +1 -1
  39. package/dist/web-client/assets/{GraphCanvas-BYZE4sO9.js → GraphCanvas-BgWF1rB_.js} +1 -1
  40. package/dist/web-client/assets/{MarkdownEditor-BKx6M1cw.js → MarkdownEditor-5buYPQ1d.js} +1 -1
  41. package/dist/web-client/assets/{abnfDiagram-VRR7QNED-D4kt0l2y.js → abnfDiagram-VRR7QNED-AjQ08-zY.js} +1 -1
  42. package/dist/web-client/assets/architecture-TIHT7OUA-a3lTAuFS.js +1 -0
  43. package/dist/web-client/assets/{architectureDiagram-ZJ3FMSHR-bu29SJFS.js → architectureDiagram-ZJ3FMSHR-CtW2pYEp.js} +1 -1
  44. package/dist/web-client/assets/{blockDiagram-677ZJIJ3-hsu7mXKw.js → blockDiagram-677ZJIJ3-DE6HRcpA.js} +1 -1
  45. package/dist/web-client/assets/{c4Diagram-LMCZKHZV-DMllRlT_.js → c4Diagram-LMCZKHZV-Rn6iQdUl.js} +1 -1
  46. package/dist/web-client/assets/channel-Rxk7gzWl.js +1 -0
  47. package/dist/web-client/assets/{chunk-32BRIVSS-BSzwj5eM.js → chunk-32BRIVSS-C4-ay_Qd.js} +1 -1
  48. package/dist/web-client/assets/{chunk-52WLFC77-RDdZn6yY.js → chunk-52WLFC77-Bib0DU0H.js} +1 -1
  49. package/dist/web-client/assets/{chunk-C7G6YPKG-DQr--txT.js → chunk-C7G6YPKG-BLphnESE.js} +1 -1
  50. package/dist/web-client/assets/{chunk-EX3LRPZG-Bb8nc4z4.js → chunk-EX3LRPZG-CzvkrPNM.js} +1 -1
  51. package/dist/web-client/assets/{chunk-FWX5IMBZ-QvBpOcOg.js → chunk-FWX5IMBZ-BFTR_OLz.js} +2 -2
  52. package/dist/web-client/assets/{chunk-HOUHSVGY-B0mX_yjc.js → chunk-HOUHSVGY-CZS3ExUR.js} +1 -1
  53. package/dist/web-client/assets/{chunk-ICXQ74PX-BmJSQqOH.js → chunk-ICXQ74PX-iWFpNZgv.js} +1 -1
  54. package/dist/web-client/assets/{chunk-MOJQB5TN-BrEI4GGn.js → chunk-MOJQB5TN-opEQCwVq.js} +1 -1
  55. package/dist/web-client/assets/{chunk-OGEWGWER-CrqDPOWP.js → chunk-OGEWGWER-NCfmjyhi.js} +1 -1
  56. package/dist/web-client/assets/{chunk-PUDLZKDR-DfPKldpG.js → chunk-PUDLZKDR-D3_A--Z2.js} +1 -1
  57. package/dist/web-client/assets/{chunk-Q4XR5HBZ-ekATI9aV.js → chunk-Q4XR5HBZ-D6s-qZLi.js} +1 -1
  58. package/dist/web-client/assets/{chunk-V7JOEXUC-C5APsP1t.js → chunk-V7JOEXUC-DTqLR-bZ.js} +1 -1
  59. package/dist/web-client/assets/{chunk-VAUOI2AC-BhfSWJZI.js → chunk-VAUOI2AC-Gsd0Itap.js} +1 -1
  60. package/dist/web-client/assets/{chunk-VR4S4FIN-BGa-44J7.js → chunk-VR4S4FIN-Cdo_MeDQ.js} +1 -1
  61. package/dist/web-client/assets/{chunk-WYO6CB5R-By1K0guW.js → chunk-WYO6CB5R-n7FhYrli.js} +1 -1
  62. package/dist/web-client/assets/{chunk-ZGVPDNZ5-Vnzpc76F.js → chunk-ZGVPDNZ5-DU1Jcue0.js} +1 -1
  63. package/dist/web-client/assets/classDiagram-OUVF2IWQ-BG5uYDvC.js +1 -0
  64. package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-BG5uYDvC.js +1 -0
  65. package/dist/web-client/assets/{cynefin-VYW2F7L2-C6MOMOOz.js → cynefin-VYW2F7L2-D-gD9LCO.js} +1 -1
  66. package/dist/web-client/assets/{cynefinDiagram-TSTJHNR4-Cseyu79b.js → cynefinDiagram-TSTJHNR4-BFGkcrNl.js} +1 -1
  67. package/dist/web-client/assets/{dagre-VKFMJZFB-CQJlIuNh.js → dagre-VKFMJZFB-BUaC6fks.js} +1 -1
  68. package/dist/web-client/assets/{diagram-FQU43EPY-DpqDxhq4.js → diagram-FQU43EPY-Ckgu02XC.js} +1 -1
  69. package/dist/web-client/assets/{diagram-G47NLZAW-C11fYYaF.js → diagram-G47NLZAW-BickHhmE.js} +1 -1
  70. package/dist/web-client/assets/{diagram-NH7WQ7WH-BiG-uRAF.js → diagram-NH7WQ7WH-CoqgJpcU.js} +1 -1
  71. package/dist/web-client/assets/{diagram-OA4YK3LP-CIXWWjq-.js → diagram-OA4YK3LP-CTSZWqCe.js} +1 -1
  72. package/dist/web-client/assets/{diagram-WEI45ONY-C3OgIWu9.js → diagram-WEI45ONY-D7xd1naU.js} +1 -1
  73. package/dist/web-client/assets/{ebnfDiagram-CCIWWBDH-BHF_NA3_.js → ebnfDiagram-CCIWWBDH-FESKYpKQ.js} +1 -1
  74. package/dist/web-client/assets/{erDiagram-Q63AITRT-CUOJCrLy.js → erDiagram-Q63AITRT-C-879ftU.js} +1 -1
  75. package/dist/web-client/assets/eventmodeling-45OFAUF4-C3kRZCei.js +1 -0
  76. package/dist/web-client/assets/flowDiagram-23GEKE2U-QKWFycdH.js +1 -0
  77. package/dist/web-client/assets/{ganttDiagram-NO4QXBWP-D_4BMJ-g.js → ganttDiagram-NO4QXBWP-mIX5nPpv.js} +1 -1
  78. package/dist/web-client/assets/{gitGraph-TEB2WS4Q-CBuaZBId.js → gitGraph-TEB2WS4Q-DlEDJ1IK.js} +1 -1
  79. package/dist/web-client/assets/{gitGraphDiagram-IHSO6WYX-BbztsGuO.js → gitGraphDiagram-IHSO6WYX-D2fXD4AO.js} +1 -1
  80. package/dist/web-client/assets/index-BsYR-C8u.js +61 -0
  81. package/dist/web-client/assets/index-Cc5DCTOr.css +2 -0
  82. package/dist/web-client/assets/{info-DKCQHKI2-Bzi0Xjro.js → info-DKCQHKI2-jinbCROt.js} +1 -1
  83. package/dist/web-client/assets/{infoDiagram-FWYZ7A6U-BkeEKcr0.js → infoDiagram-FWYZ7A6U-CM-A4TL8.js} +1 -1
  84. package/dist/web-client/assets/{ishikawaDiagram-FXEZZL3T-CVusWu0p.js → ishikawaDiagram-FXEZZL3T-BdFpHwp4.js} +1 -1
  85. package/dist/web-client/assets/{journeyDiagram-5HDEW3XC-BUxu71zw.js → journeyDiagram-5HDEW3XC-BwDWz25z.js} +1 -1
  86. package/dist/web-client/assets/{kanban-definition-HUTT4EX6-BE8Hv4Kd.js → kanban-definition-HUTT4EX6-_2QXjSvx.js} +1 -1
  87. package/dist/web-client/assets/{line-CiAoINJS.js → line-HCziev87.js} +1 -1
  88. package/dist/web-client/assets/{mermaid-parser.core-BW47khiS.js → mermaid-parser.core-C4139mkz.js} +3 -3
  89. package/dist/web-client/assets/{mermaid.core-DP--Jl9R.js → mermaid.core-ocHwkZiF.js} +3 -3
  90. package/dist/web-client/assets/{mindmap-definition-LN4V7U3C-CvWJUqdq.js → mindmap-definition-LN4V7U3C-DHyCmflp.js} +1 -1
  91. package/dist/web-client/assets/{packet-7NZHBO7P-XtzX9SaQ.js → packet-7NZHBO7P-Bk0w_irl.js} +1 -1
  92. package/dist/web-client/assets/{pegDiagram-2B236MQR-XNo0K1ct.js → pegDiagram-2B236MQR-D_GrmL93.js} +1 -1
  93. package/dist/web-client/assets/{pie-RZYD4A2V-B1eUd9yt.js → pie-RZYD4A2V-B6VIAbyj.js} +1 -1
  94. package/dist/web-client/assets/{pieDiagram-ENE6RG2P-CRSb5z-4.js → pieDiagram-ENE6RG2P-CiR2Y8y2.js} +1 -1
  95. package/dist/web-client/assets/{quadrantDiagram-ABIIQ3AL-DziMaQxE.js → quadrantDiagram-ABIIQ3AL-CLlicKmV.js} +1 -1
  96. package/dist/web-client/assets/{radar-I7S5WNFK-BpRqZH2g.js → radar-I7S5WNFK-B53XVRSZ.js} +1 -1
  97. package/dist/web-client/assets/{railroad-3IZDKUUU-FDIHW04k.js → railroad-3IZDKUUU-Dn8TN2M-.js} +1 -1
  98. package/dist/web-client/assets/railroad-abnf-AHOZXSZD-UrOKy6yx.js +1 -0
  99. package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-Bx73sfMZ.js +1 -0
  100. package/dist/web-client/assets/railroad-peg-LSFZ7HO6-C4QEje-y.js +1 -0
  101. package/dist/web-client/assets/{railroadDiagram-RFXS5EU6-Cs7EVBaz.js → railroadDiagram-RFXS5EU6-C6kZwOio.js} +1 -1
  102. package/dist/web-client/assets/{requirementDiagram-TGXJPOKE-B9_Lj1ga.js → requirementDiagram-TGXJPOKE-D2b1MeP8.js} +1 -1
  103. package/dist/web-client/assets/{sankeyDiagram-HTMAVEWB-DuTJTiy0.js → sankeyDiagram-HTMAVEWB-pS_Ufq1E.js} +1 -1
  104. package/dist/web-client/assets/{sequenceDiagram-DBY2YBRQ-vOCU5UoE.js → sequenceDiagram-DBY2YBRQ-BrsKXNzu.js} +1 -1
  105. package/dist/web-client/assets/{stateDiagram-2N3HPSRC-rxAnfzWn.js → stateDiagram-2N3HPSRC-BuQKu3i0.js} +1 -1
  106. package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-BhqgaxDu.js +1 -0
  107. package/dist/web-client/assets/{swimlanes-5IMT3BWC-gdVZUnPe.js → swimlanes-5IMT3BWC-CzoImfTA.js} +1 -1
  108. package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-CHOEI9hI.js +8 -0
  109. package/dist/web-client/assets/{timeline-definition-FHXFAJF6-Do68JyGy.js → timeline-definition-FHXFAJF6-DvezW7Fr.js} +1 -1
  110. package/dist/web-client/assets/{treeView-QDETBFTQ-CdZkmg80.js → treeView-QDETBFTQ-xu58R4kS.js} +1 -1
  111. package/dist/web-client/assets/{treemap-6X3UGDF4-ub54fmpW.js → treemap-6X3UGDF4-DMYBAOW1.js} +1 -1
  112. package/dist/web-client/assets/{vennDiagram-L72KCM5P-D-r8NBEp.js → vennDiagram-L72KCM5P-l1CbC7Ig.js} +1 -1
  113. package/dist/web-client/assets/{wardley-OPB4EBWU-CTleH1-J.js → wardley-OPB4EBWU-G3zmnnM0.js} +1 -1
  114. package/dist/web-client/assets/{wardleyDiagram-EHGQE667-BU8Kw39F.js → wardleyDiagram-EHGQE667-Dl2I79Vx.js} +1 -1
  115. package/dist/web-client/assets/{xychartDiagram-FW5EYKEG-CfNnag6i.js → xychartDiagram-FW5EYKEG-BWfge21N.js} +1 -1
  116. package/dist/web-client/index.html +2 -2
  117. package/dist/web-server/app.d.ts.map +1 -1
  118. package/dist/web-server/app.js +13 -7
  119. package/dist/web-server/app.js.map +1 -1
  120. package/dist/web-server/ask-prompt.d.ts +70 -0
  121. package/dist/web-server/ask-prompt.d.ts.map +1 -0
  122. package/dist/web-server/ask-prompt.js +238 -0
  123. package/dist/web-server/ask-prompt.js.map +1 -0
  124. package/dist/web-server/index.d.ts.map +1 -1
  125. package/dist/web-server/index.js +56 -3
  126. package/dist/web-server/index.js.map +1 -1
  127. package/dist/web-server/respond.d.ts.map +1 -1
  128. package/dist/web-server/respond.js +6 -1
  129. package/dist/web-server/respond.js.map +1 -1
  130. package/dist/web-server/routes/ask.d.ts +29 -0
  131. package/dist/web-server/routes/ask.d.ts.map +1 -0
  132. package/dist/web-server/routes/ask.js +698 -0
  133. package/dist/web-server/routes/ask.js.map +1 -0
  134. package/dist/web-server/routes/changes.d.ts +35 -0
  135. package/dist/web-server/routes/changes.d.ts.map +1 -0
  136. package/dist/web-server/routes/changes.js +93 -0
  137. package/dist/web-server/routes/changes.js.map +1 -0
  138. package/dist/web-server/routes/projects.d.ts.map +1 -1
  139. package/dist/web-server/routes/projects.js +10 -2
  140. package/dist/web-server/routes/projects.js.map +1 -1
  141. package/dist/web-server/routes/proposal-docs.d.ts +18 -0
  142. package/dist/web-server/routes/proposal-docs.d.ts.map +1 -0
  143. package/dist/web-server/routes/proposal-docs.js +208 -0
  144. package/dist/web-server/routes/proposal-docs.js.map +1 -0
  145. package/dist/web-server/routes/runners.d.ts +15 -0
  146. package/dist/web-server/routes/runners.d.ts.map +1 -0
  147. package/dist/web-server/routes/runners.js +66 -0
  148. package/dist/web-server/routes/runners.js.map +1 -0
  149. package/dist/web-server/routes/workspace.d.ts +2 -2
  150. package/dist/web-server/routes/workspace.js +4 -4
  151. package/dist/web-server/run-diff.d.ts +188 -0
  152. package/dist/web-server/run-diff.d.ts.map +1 -0
  153. package/dist/web-server/run-diff.js +739 -0
  154. package/dist/web-server/run-diff.js.map +1 -0
  155. package/dist/web-server/run-driver.d.ts +102 -2
  156. package/dist/web-server/run-driver.d.ts.map +1 -1
  157. package/dist/web-server/run-driver.js +495 -1
  158. package/dist/web-server/run-driver.js.map +1 -1
  159. package/dist/web-server/run-event-log.d.ts +13 -6
  160. package/dist/web-server/run-event-log.d.ts.map +1 -1
  161. package/dist/web-server/run-event-log.js +70 -25
  162. package/dist/web-server/run-event-log.js.map +1 -1
  163. package/dist/web-server/run-store.d.ts +201 -0
  164. package/dist/web-server/run-store.d.ts.map +1 -0
  165. package/dist/web-server/run-store.js +304 -0
  166. package/dist/web-server/run-store.js.map +1 -0
  167. package/dist/web-server/watcher.d.ts.map +1 -1
  168. package/dist/web-server/watcher.js +4 -0
  169. package/dist/web-server/watcher.js.map +1 -1
  170. package/opencode/arcs/manifest.json +8 -8
  171. package/opencode/arcs/prompts/arcs-orchestrate-caveman.txt +1 -1
  172. package/opencode/arcs/prompts/arcs-orchestrate.txt +1 -1
  173. package/opencode/arcs/skills/writing-proposals/SKILL.md +6 -3
  174. package/package.json +1 -1
  175. package/scripts/deploy-claudecode-bundle.mjs +2 -2
  176. package/scripts/deploy-opencode-bundle.mjs +1 -1
  177. package/scripts/deploy-pi-bundle.mjs +468 -0
  178. package/scripts/lint-bundle.mjs +1 -1
  179. package/dist/shared/session-vocabulary.d.ts +0 -88
  180. package/dist/shared/session-vocabulary.d.ts.map +0 -1
  181. package/dist/shared/session-vocabulary.js +0 -114
  182. package/dist/shared/session-vocabulary.js.map +0 -1
  183. package/dist/utils/claude-transcript.d.ts +0 -206
  184. package/dist/utils/claude-transcript.d.ts.map +0 -1
  185. package/dist/utils/claude-transcript.js +0 -384
  186. package/dist/utils/claude-transcript.js.map +0 -1
  187. package/dist/utils/session-store.d.ts +0 -313
  188. package/dist/utils/session-store.d.ts.map +0 -1
  189. package/dist/utils/session-store.js +0 -513
  190. package/dist/utils/session-store.js.map +0 -1
  191. package/dist/web-client/assets/architecture-TIHT7OUA-CIdGE6VO.js +0 -1
  192. package/dist/web-client/assets/channel-CBg-s-ZD.js +0 -1
  193. package/dist/web-client/assets/classDiagram-OUVF2IWQ-ciwDjhUR.js +0 -1
  194. package/dist/web-client/assets/classDiagram-v2-EOCWNBFH-ciwDjhUR.js +0 -1
  195. package/dist/web-client/assets/eventmodeling-45OFAUF4-DxfboL1J.js +0 -1
  196. package/dist/web-client/assets/flowDiagram-23GEKE2U-C3NzpTtI.js +0 -1
  197. package/dist/web-client/assets/index-B1KVIr80.css +0 -2
  198. package/dist/web-client/assets/index-BWd2fBNL.js +0 -60
  199. package/dist/web-client/assets/railroad-abnf-AHOZXSZD-BKj6JAhH.js +0 -1
  200. package/dist/web-client/assets/railroad-ebnf-EBAXGLYW-ChDM1OBv.js +0 -1
  201. package/dist/web-client/assets/railroad-peg-LSFZ7HO6-DvwA2e0i.js +0 -1
  202. package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-B3EvQPEe.js +0 -1
  203. package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-WcOXuCPg.js +0 -8
  204. package/dist/web-server/permission-policy.d.ts +0 -46
  205. package/dist/web-server/permission-policy.d.ts.map +0 -1
  206. package/dist/web-server/permission-policy.js +0 -96
  207. package/dist/web-server/permission-policy.js.map +0 -1
  208. package/dist/web-server/prompt-assembly.d.ts +0 -454
  209. package/dist/web-server/prompt-assembly.d.ts.map +0 -1
  210. package/dist/web-server/prompt-assembly.js +0 -1121
  211. package/dist/web-server/prompt-assembly.js.map +0 -1
  212. package/dist/web-server/routes/sessions.d.ts +0 -19
  213. package/dist/web-server/routes/sessions.d.ts.map +0 -1
  214. package/dist/web-server/routes/sessions.js +0 -1296
  215. package/dist/web-server/routes/sessions.js.map +0 -1
  216. package/dist/web-server/session-reconciler.d.ts +0 -162
  217. package/dist/web-server/session-reconciler.d.ts.map +0 -1
  218. package/dist/web-server/session-reconciler.js +0 -363
  219. package/dist/web-server/session-reconciler.js.map +0 -1
@@ -31,11 +31,19 @@ export function registerRunDriver(adapter) {
31
31
  }
32
32
  /**
33
33
  * The adapter for a runtime type, or undefined when that runtime has no
34
- * one-shot driver yet (claude-code drivers arrive against this same seam).
34
+ * one-shot driver yet (a future runtime type is simply not drivable).
35
35
  */
36
36
  export function getRunDriver(runtimeType) {
37
37
  return adapters.get(runtimeType);
38
38
  }
39
+ /**
40
+ * Every runtime type with a registered one-shot adapter, in registration order.
41
+ * The runners route enumerates the drivable surface from this rather than a
42
+ * maintained list, so a driver added later shows up automatically.
43
+ */
44
+ export function getRunDriverRuntimeTypes() {
45
+ return [...adapters.keys()];
46
+ }
39
47
  // ---------------------------------------------------------------------------
40
48
  // Opencode adapter — verified against opencode 1.18.19
41
49
  // ---------------------------------------------------------------------------
@@ -211,4 +219,490 @@ registerRunDriver({
211
219
  buildArgv: buildOpencodeRunArgv,
212
220
  foldOutput: foldOpencodeOutput,
213
221
  });
222
+ // ---------------------------------------------------------------------------
223
+ // Pi adapter — verified against pi 0.84.4
224
+ // ---------------------------------------------------------------------------
225
+ /**
226
+ * Argv for `pi -p --mode json`.
227
+ *
228
+ * Fresh thread: ["-p", "--mode", "json", <message>]
229
+ * Continuation: ["-p", "--mode", "json", "--session-id", <id>, <message>]
230
+ * plus `--session-dir`, <dir> when the caller supplies sessionDir, so pi's
231
+ * session store stays stable across cwd changes.
232
+ *
233
+ * Allow-all policy: NO tool-permission flags — the old ask/change intent
234
+ * machinery is being deleted project-wide and runs are full-tool, so the path
235
+ * has no permission vocabulary to emit. The message travels as ONE argv
236
+ * element exactly like opencode's, so a multi-word staged message stays
237
+ * byte-identical and can never be re-tokenized by a shell.
238
+ */
239
+ export function buildPiRunArgv(input) {
240
+ if (typeof input.message !== "string" || input.message.trim() === "") {
241
+ throw new Error("pi -p requires a non-empty message");
242
+ }
243
+ const sessionId = input.runtimeSessionId?.trim();
244
+ if (input.runtimeSessionId !== undefined && sessionId === "") {
245
+ throw new Error("pi -p requires a non-blank runtimeSessionId to continue");
246
+ }
247
+ const argv = ["-p", "--mode", "json"];
248
+ if (sessionId !== undefined && sessionId !== "") {
249
+ // Continuation: --session-id is the exact project session id (created if
250
+ // missing, per `pi --help`); a fresh thread picks pi's own generated id.
251
+ argv.push("--session-id", sessionId);
252
+ const sessionDir = input.sessionDir?.trim();
253
+ if (sessionDir)
254
+ argv.push("--session-dir", sessionDir);
255
+ }
256
+ argv.push(input.message);
257
+ return argv;
258
+ }
259
+ /** Event types the pi normalizer knows; anything else is drift. */
260
+ const PI_EVENT_TYPES = new Set([
261
+ "session",
262
+ "agent_start",
263
+ "turn_start",
264
+ "message_start",
265
+ "message_update",
266
+ "message_end",
267
+ "tool_execution_start",
268
+ "tool_execution_update",
269
+ "tool_execution_end",
270
+ "turn_end",
271
+ "agent_end",
272
+ "agent_settled",
273
+ ]);
274
+ /**
275
+ * The reply-text delta of a `message_update`, or undefined when the event
276
+ * carries none. Only `assistantMessageEvent.type === "text_delta"` produces
277
+ * reply text — the documented rule is that a thinking or input_json_delta
278
+ * delta carries no text, so those are ignored rather than folded.
279
+ */
280
+ function piTextDelta(event) {
281
+ const assistantEvent = readField(event, "assistantMessageEvent");
282
+ if (!isBlock(assistantEvent) || assistantEvent.type !== "text_delta")
283
+ return undefined;
284
+ const delta = assistantEvent.delta;
285
+ return typeof delta === "string" && delta !== "" ? delta : undefined;
286
+ }
287
+ /**
288
+ * Normalizes raw `pi -p --mode json` stdout into fold turns.
289
+ *
290
+ * Every line is expected to be one JSON object from the event stream
291
+ * (`session` header, `message_update` deltas, `tool_execution_start`/`_end`,
292
+ * agent/turn bookkeeping) — but the schema is pi's to change, so nothing here
293
+ * is fatal: unparsable lines and unknown event types are skipped and counted,
294
+ * the session id is harvested from the `session` header line only, and
295
+ * consecutive `text_delta`s coalesce into ONE assistant turn (they are chunks
296
+ * of one reply segment). Each named `tool_execution_start` becomes its own
297
+ * tool turn after flushing pending text, mirroring the opencode tool fold;
298
+ * `thinking_delta` and the tool result carries are folded by nothing.
299
+ */
300
+ export function foldPiOutput(raw) {
301
+ const turns = [];
302
+ let pendingText = "";
303
+ let replyText = "";
304
+ let runtimeSessionId;
305
+ let skippedLines = 0;
306
+ const flushText = () => {
307
+ if (pendingText === "")
308
+ return;
309
+ turns.push({ type: "assistant", text: pendingText });
310
+ pendingText = "";
311
+ };
312
+ for (const line of raw.split("\n")) {
313
+ // Tolerate CRLF: the trailing \r is not part of the JSON.
314
+ const text = (line.endsWith("\r") ? line.slice(0, -1) : line).trim();
315
+ if (text === "")
316
+ continue; // blank separator lines are normal, not drift
317
+ let value;
318
+ try {
319
+ value = JSON.parse(text);
320
+ }
321
+ catch {
322
+ skippedLines += 1;
323
+ continue;
324
+ }
325
+ if (!isBlock(value)) {
326
+ skippedLines += 1;
327
+ continue;
328
+ }
329
+ const type = typeof value.type === "string" ? value.type : "";
330
+ if (!PI_EVENT_TYPES.has(type)) {
331
+ skippedLines += 1;
332
+ continue;
333
+ }
334
+ if (type === "session") {
335
+ // The header line is where pi carries its session id; first one wins.
336
+ const sid = value.id;
337
+ if (runtimeSessionId === undefined && typeof sid === "string" && sid !== "") {
338
+ runtimeSessionId = sid;
339
+ }
340
+ continue;
341
+ }
342
+ if (type === "message_update") {
343
+ const delta = piTextDelta(value);
344
+ if (delta !== undefined) {
345
+ pendingText += delta;
346
+ replyText += delta;
347
+ }
348
+ continue;
349
+ }
350
+ if (type === "tool_execution_start") {
351
+ const name = readField(value, "toolName");
352
+ if (typeof name === "string" && name !== "") {
353
+ flushText();
354
+ turns.push({ type: "assistant", text: "", tool: { name } });
355
+ }
356
+ }
357
+ // session header handled above; agent/turn/message start-end events and
358
+ // tool_execution_update/_end carry no reply content.
359
+ }
360
+ flushText();
361
+ return {
362
+ turns,
363
+ replyText,
364
+ ...(runtimeSessionId !== undefined && { runtimeSessionId }),
365
+ skippedLines,
366
+ };
367
+ }
368
+ /** The pi one-shot driver, registered at module load. */
369
+ registerRunDriver({
370
+ runtimeType: "pi",
371
+ binary: "pi",
372
+ buildArgv: buildPiRunArgv,
373
+ foldOutput: foldPiOutput,
374
+ });
375
+ // ---------------------------------------------------------------------------
376
+ // Claude-code adapter — verified against claude 2.1.247
377
+ // ---------------------------------------------------------------------------
378
+ /**
379
+ * Argv for `claude -p --output-format json`.
380
+ *
381
+ * Fresh thread: ["-p", "--output-format", "json", "--dangerously-skip-permissions", <message>]
382
+ * Continuation: ["-p", "--output-format", "json", "--dangerously-skip-permissions", "--resume", <id>, <message>]
383
+ *
384
+ * `--dangerously-skip-permissions` is REQUIRED so a headless `-p` run never
385
+ * blocks on an approval prompt — the approved allow-all design, with the
386
+ * diff-review safety gate living in the web UI rather than the driver. Runs
387
+ * through this driver reach the child verbatim (streamJsonArgv: false at the
388
+ * call site), so the fold below reads exactly this output contract.
389
+ */
390
+ export function buildClaudeCodeRunArgv(input) {
391
+ if (typeof input.message !== "string" || input.message.trim() === "") {
392
+ throw new Error("claude -p requires a non-empty message");
393
+ }
394
+ const sessionId = input.runtimeSessionId?.trim();
395
+ if (input.runtimeSessionId !== undefined && sessionId === "") {
396
+ throw new Error("claude -p requires a non-blank runtimeSessionId to continue");
397
+ }
398
+ const argv = ["-p", "--output-format", "json", "--dangerously-skip-permissions"];
399
+ if (sessionId !== undefined && sessionId !== "") {
400
+ argv.push("--resume", sessionId);
401
+ }
402
+ argv.push(input.message);
403
+ return argv;
404
+ }
405
+ /** Event types the claude-code normalizer knows; anything else is drift. */
406
+ const CLAUDE_DRIVER_EVENT_TYPES = new Set(["system", "user", "assistant", "result"]);
407
+ /**
408
+ * Normalizes raw `claude -p --output-format json` stdout into fold turns.
409
+ *
410
+ * Line shapes: `system` (init carries the `session_id`), `user` (echoed turn),
411
+ * `assistant` (message with content blocks), `result` (terminal envelope with
412
+ * `result` text and `is_error`). The legacy pre-stream envelope — a single
413
+ * `{is_error, result}` object with no `type` — is recognized by shape alone,
414
+ * exactly as the built-in runner reader does. Tolerant by construction: every
415
+ * field access is defensive, unparsable/unknown lines are skipped and counted,
416
+ * and the session id is harvested from any decoded line that carries one.
417
+ * Text blocks of one assistant message flush as ONE turn with tool_use blocks
418
+ * as their own turns in block order (the run-event-log's claude fold shape);
419
+ * a terminal `result` string is the reply-text fallback only when no assistant
420
+ * content was folded, and a failing `result` (is_error) surfaces as `error`
421
+ * instead of reply text — mirroring the runner's reply precedence.
422
+ */
423
+ export function foldClaudeCodeOutput(raw) {
424
+ const turns = [];
425
+ let pendingText = "";
426
+ let replyText = "";
427
+ let runtimeSessionId;
428
+ let error;
429
+ let skippedLines = 0;
430
+ const flushText = () => {
431
+ if (pendingText === "")
432
+ return;
433
+ turns.push({ type: "assistant", text: pendingText });
434
+ pendingText = "";
435
+ };
436
+ for (const line of raw.split("\n")) {
437
+ // Tolerate CRLF: the trailing \r is not part of the JSON.
438
+ const text = (line.endsWith("\r") ? line.slice(0, -1) : line).trim();
439
+ if (text === "")
440
+ continue;
441
+ let value;
442
+ try {
443
+ value = JSON.parse(text);
444
+ }
445
+ catch {
446
+ skippedLines += 1;
447
+ continue;
448
+ }
449
+ if (!isBlock(value)) {
450
+ skippedLines += 1;
451
+ continue;
452
+ }
453
+ // The init line puts the session id at the top level — harvest it before
454
+ // anything else so even a drifted event shape still mints the id. The
455
+ // terminal result envelope repeats it, so first non-empty wins.
456
+ const sid = value.session_id;
457
+ if (runtimeSessionId === undefined && typeof sid === "string" && sid !== "") {
458
+ runtimeSessionId = sid;
459
+ }
460
+ const type = typeof value.type === "string" ? value.type : "";
461
+ // The legacy single-object envelope has no `type`; recognize it by shape.
462
+ const legacyResult = type === "" && (typeof value.is_error === "boolean" || typeof value.result === "string");
463
+ if (!CLAUDE_DRIVER_EVENT_TYPES.has(type) && !legacyResult) {
464
+ skippedLines += 1;
465
+ continue;
466
+ }
467
+ if (type === "assistant") {
468
+ const content = readField(value.message, "content");
469
+ if (Array.isArray(content)) {
470
+ for (const block of content) {
471
+ if (!isBlock(block))
472
+ continue;
473
+ if (block.type === "text" && typeof block.text === "string") {
474
+ pendingText += block.text;
475
+ replyText += block.text;
476
+ continue;
477
+ }
478
+ if (block.type === "tool_use" && typeof block.name === "string" && block.name !== "") {
479
+ flushText();
480
+ turns.push({ type: "assistant", text: "", tool: { name: block.name } });
481
+ }
482
+ }
483
+ }
484
+ flushText(); // flush-per-message: one assistant turn per message
485
+ continue;
486
+ }
487
+ if (type === "result" || legacyResult) {
488
+ const resultText = typeof value.result === "string" ? value.result : undefined;
489
+ if (value.is_error === true) {
490
+ if (error === undefined && resultText !== undefined && resultText !== "") {
491
+ error = resultText;
492
+ }
493
+ }
494
+ else if (resultText !== undefined && resultText !== "" && replyText === "") {
495
+ // Reply fallback: a result with no assistant content on the stream.
496
+ replyText = resultText;
497
+ }
498
+ }
499
+ // system / user carry no reply content.
500
+ }
501
+ flushText();
502
+ return {
503
+ turns,
504
+ replyText,
505
+ ...(runtimeSessionId !== undefined && { runtimeSessionId }),
506
+ ...(error !== undefined && { error }),
507
+ skippedLines,
508
+ };
509
+ }
510
+ /** The claude-code one-shot driver, registered at module load. */
511
+ registerRunDriver({
512
+ runtimeType: "claude-code",
513
+ binary: "claude",
514
+ buildArgv: buildClaudeCodeRunArgv,
515
+ foldOutput: foldClaudeCodeOutput,
516
+ });
517
+ // ---------------------------------------------------------------------------
518
+ // Codex adapter — verified against codex-cli 0.150.1
519
+ // ---------------------------------------------------------------------------
520
+ /**
521
+ * Argv for `codex exec --json`.
522
+ *
523
+ * Fresh thread: ["exec", "--json", "--sandbox", "workspace-write", <message>]
524
+ * Continuation: ["exec", "resume", <id>, "--json", "--sandbox", "workspace-write", <message>]
525
+ *
526
+ * `--sandbox workspace-write` is the full-write sandbox this allow-all design
527
+ * runs under; `--json` is the NDJSON event stream the fold reads. The resume
528
+ * id is the `thread_id` a settled run harvested from its `thread.started`
529
+ * line. Runs through this driver reach the child verbatim
530
+ * (streamJsonArgv: false at the call site).
531
+ */
532
+ export function buildCodexRunArgv(input) {
533
+ if (typeof input.message !== "string" || input.message.trim() === "") {
534
+ throw new Error("codex exec requires a non-empty message");
535
+ }
536
+ const sessionId = input.runtimeSessionId?.trim();
537
+ if (input.runtimeSessionId !== undefined && sessionId === "") {
538
+ throw new Error("codex exec requires a non-blank runtimeSessionId to continue");
539
+ }
540
+ if (sessionId !== undefined && sessionId !== "") {
541
+ return ["exec", "resume", sessionId, "--json", "--sandbox", "workspace-write", input.message];
542
+ }
543
+ return ["exec", "--json", "--sandbox", "workspace-write", input.message];
544
+ }
545
+ /**
546
+ * Top-level event types the codex normalizer knows; anything else is drift.
547
+ * `agent_message` / `tool_execution` are the documented alternative shapes
548
+ * (older or wrapped builds); 0.150.1 emits `item.*` events instead, which the
549
+ * item-level types below handle.
550
+ */
551
+ const CODEX_EVENT_TYPES = new Set([
552
+ "thread.started",
553
+ "thread.completed",
554
+ "turn.started",
555
+ "turn.completed",
556
+ "item.started",
557
+ "item.completed",
558
+ "agent_message",
559
+ "tool_execution",
560
+ ]);
561
+ /**
562
+ * Item types folded inside `item.*` events. `agent_message` is reply text and
563
+ * `command_execution` a tool call — both observed on 0.150.1. Any other item
564
+ * type (approval prompts, reasoning, unknown) is drift, counted like any
565
+ * unrecognized line.
566
+ */
567
+ const CODEX_ITEM_TYPES = new Set(["agent_message", "command_execution"]);
568
+ /**
569
+ * Agent text carried by a codex item, tolerant of the observed flat `text`
570
+ * and the claude-like `message.content` block shape of the documented
571
+ * payload alternative. Empty when the item carries none.
572
+ */
573
+ function codexItemText(item) {
574
+ const direct = readField(item, "text");
575
+ if (typeof direct === "string" && direct !== "")
576
+ return direct;
577
+ const content = readField(readField(item, "message"), "content");
578
+ if (!Array.isArray(content))
579
+ return "";
580
+ let text = "";
581
+ for (const block of content) {
582
+ if (!isBlock(block) || block.type !== "text")
583
+ continue;
584
+ const blockText = readField(block, "text");
585
+ if (typeof blockText === "string")
586
+ text += blockText;
587
+ }
588
+ return text;
589
+ }
590
+ /**
591
+ * Normalizes raw `codex exec --json` stdout into fold turns.
592
+ *
593
+ * EXTRA conservative on purpose: the codex wire has drifted between builds
594
+ * (the observed 0.150.1 emits `item.*` events; the documented shape wraps
595
+ * agent text in `agent_message` payloads), so nothing here may throw and
596
+ * anything unrecognized is skipped and counted. Text folds from agent-message
597
+ * items (consecutive ones coalesce into one turn), tool turns come from
598
+ * `command_execution` start items (one per invocation, named by the item
599
+ * type), the thread id is harvested from any line that carries one, and
600
+ * ambiguous shapes fold text only — the panels tick tools by name and tolerate
601
+ * missing detail.
602
+ */
603
+ export function foldCodexOutput(raw) {
604
+ const turns = [];
605
+ let pendingText = "";
606
+ let replyText = "";
607
+ let runtimeSessionId;
608
+ let skippedLines = 0;
609
+ const flushText = () => {
610
+ if (pendingText === "")
611
+ return;
612
+ turns.push({ type: "assistant", text: pendingText });
613
+ pendingText = "";
614
+ };
615
+ const addText = (text) => {
616
+ if (text === "")
617
+ return;
618
+ pendingText += text;
619
+ replyText += text;
620
+ };
621
+ for (const line of raw.split("\n")) {
622
+ // Tolerate CRLF: the trailing \r is not part of the JSON.
623
+ const text = (line.endsWith("\r") ? line.slice(0, -1) : line).trim();
624
+ if (text === "")
625
+ continue;
626
+ let value;
627
+ try {
628
+ value = JSON.parse(text);
629
+ }
630
+ catch {
631
+ skippedLines += 1;
632
+ continue;
633
+ }
634
+ if (!isBlock(value)) {
635
+ skippedLines += 1;
636
+ continue;
637
+ }
638
+ // The session/thread id rides the thread.started line (and may ride
639
+ // others in future builds); harvest it before anything else, first wins.
640
+ const threadId = value.thread_id;
641
+ if (runtimeSessionId === undefined && typeof threadId === "string" && threadId !== "") {
642
+ runtimeSessionId = threadId;
643
+ }
644
+ const type = typeof value.type === "string" ? value.type : "";
645
+ if (!CODEX_EVENT_TYPES.has(type)) {
646
+ skippedLines += 1;
647
+ continue;
648
+ }
649
+ if (type === "thread.started" ||
650
+ type === "thread.completed" ||
651
+ type === "turn.started" ||
652
+ type === "turn.completed") {
653
+ // Session/turn bookkeeping — no reply content.
654
+ continue;
655
+ }
656
+ if (type === "item.started" || type === "item.completed") {
657
+ const item = readField(value, "item");
658
+ if (!isBlock(item)) {
659
+ skippedLines += 1;
660
+ continue;
661
+ }
662
+ const itemType = typeof item.type === "string" ? item.type : "";
663
+ if (!CODEX_ITEM_TYPES.has(itemType)) {
664
+ skippedLines += 1;
665
+ continue;
666
+ }
667
+ if (itemType === "agent_message") {
668
+ addText(codexItemText(item));
669
+ continue;
670
+ }
671
+ // command_execution: item.started opens the call, item.completed echoes
672
+ // the same item — so only the START folds a tool turn.
673
+ if (type === "item.started") {
674
+ flushText();
675
+ turns.push({ type: "assistant", text: "", tool: { name: "command_execution" } });
676
+ }
677
+ continue;
678
+ }
679
+ if (type === "agent_message") {
680
+ // Documented alternative shape: text at payload, string or claude-like.
681
+ const payload = readField(value, "payload");
682
+ addText(typeof payload === "string" ? payload : codexItemText(payload));
683
+ continue;
684
+ }
685
+ // tool_execution (documented alternative): payload carries the tool name.
686
+ const payload = readField(value, "payload");
687
+ const name = readField(payload, "toolName") ?? readField(payload, "name");
688
+ if (typeof name === "string" && name !== "") {
689
+ flushText();
690
+ turns.push({ type: "assistant", text: "", tool: { name } });
691
+ }
692
+ }
693
+ flushText();
694
+ return {
695
+ turns,
696
+ replyText,
697
+ ...(runtimeSessionId !== undefined && { runtimeSessionId }),
698
+ skippedLines,
699
+ };
700
+ }
701
+ /** The codex one-shot driver, registered at module load. */
702
+ registerRunDriver({
703
+ runtimeType: "codex",
704
+ binary: "codex",
705
+ buildArgv: buildCodexRunArgv,
706
+ foldOutput: foldCodexOutput,
707
+ });
214
708
  //# sourceMappingURL=run-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-driver.js","sourceRoot":"","sources":["../../src/web-server/run-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-driver.js","sourceRoot":"","sources":["../../src/web-server/run-driver.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,9 @@
28
28
  * log and a capped one look identical to every consumer downstream.
29
29
  *
30
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.
31
+ * one turn per `tool_use`) through `appendSessionTurn` (run-transcript.ts), and
32
+ * older logs for the same segment are pruned so the sessions dir cannot grow
33
+ * without limit.
33
34
  */
34
35
  import type { SessionRuntimeType } from "../utils/storage-utils.js";
35
36
  /**
@@ -153,7 +154,7 @@ export interface FoldRunEventLogOptions {
153
154
  runtimeType?: SessionRuntimeType;
154
155
  }
155
156
  /**
156
- * Folds a run's event log down into the session's transcript sidecar: assistant
157
+ * Folds a run's event log down into the segment's transcript sidecar: assistant
157
158
  * text plus one turn per `tool_use`, appended through `appendSessionTurn` in
158
159
  * stream order, each tagged with the run id.
159
160
  *
@@ -173,16 +174,22 @@ export interface FoldRunEventLogOptions {
173
174
  */
174
175
  export declare function foldRunEventLog(projectDir: string, sessionId: string, runId: string, options?: FoldRunEventLogOptions): Promise<RunFoldResult>;
175
176
  /**
176
- * Keeps the newest `keep` event logs for one session and deletes the rest.
177
+ * Keeps the newest `keep` RUNS for one session and deletes all their files —
178
+ * event log AND the snapshot/changes sidecars that live beside it.
177
179
  *
178
- * Called at EVERY settle (after the fold), so the log that just settled is
179
- * always among the survivors and the sessions dir is bounded at `keep` logs per
180
+ * Called at EVERY settle (after the fold), so the run that just settled is
181
+ * always among the survivors and the sessions dir is bounded at `keep` runs per
180
182
  * session no matter how many runs a session accumulates. "Every settle" means
181
183
  * the startup orphan sweep too (`settleOrphanedRuns`): a server that dies
182
184
  * mid-run never reaches the route's write-back, so without that call site a
183
185
  * session whose runs are always interrupted grows one capped log per run
184
186
  * forever. `keep: 0` drops them all — what session deletion uses.
185
187
  *
188
+ * Preservation unit is the RUN, not the file: one run's log + snapshot +
189
+ * changes manifest are born, age and die together (grouped by the run segment
190
+ * in the filename), so the review surface for a retained run always has its
191
+ * baseline and its diff, and a pruned run takes all three with it.
192
+ *
186
193
  * Never throws; returns how many files it removed.
187
194
  */
188
195
  export declare function pruneRunEventLogs(projectDir: string, sessionId: string, keep?: number): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"run-event-log.d.ts","sourceRoot":"","sources":["../../src/web-server/run-event-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;;;;;;;;;;;;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;IAC7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA0ED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC,CAgExB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAgC,GACrC,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
1
+ {"version":3,"file":"run-event-log.d.ts","sourceRoot":"","sources":["../../src/web-server/run-event-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAYzC,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;IAC7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA0ED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC,CAgExB;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAgC,GACrC,OAAO,CAAC,MAAM,CAAC,CA8DjB"}