@rryando/arcs 3.10.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/README.md +172 -146
- package/dist/cli/agent-registry.d.ts +12 -0
- package/dist/cli/agent-registry.d.ts.map +1 -0
- package/dist/cli/agent-registry.js +67 -0
- package/dist/cli/agent-registry.js.map +1 -0
- package/dist/cli/arcs-flash.d.ts +2 -0
- package/dist/cli/arcs-flash.d.ts.map +1 -0
- package/dist/cli/arcs-flash.js +68 -0
- package/dist/cli/arcs-flash.js.map +1 -0
- package/dist/cli/arcs-orchestrate-caveman.d.ts +2 -14
- package/dist/cli/arcs-orchestrate-caveman.d.ts.map +1 -1
- package/dist/cli/arcs-orchestrate-caveman.js +6 -97
- package/dist/cli/arcs-orchestrate-caveman.js.map +1 -1
- package/dist/cli/arcs-orchestrate.d.ts +1 -1
- package/dist/cli/arcs-orchestrate.d.ts.map +1 -1
- package/dist/cli/arcs-orchestrate.js +40 -383
- package/dist/cli/arcs-orchestrate.js.map +1 -1
- package/dist/cli/bundle-installer.d.ts +10 -4
- package/dist/cli/bundle-installer.d.ts.map +1 -1
- package/dist/cli/bundle-installer.js +99 -6
- package/dist/cli/bundle-installer.js.map +1 -1
- package/dist/cli/commands/batch.js +4 -0
- package/dist/cli/commands/batch.js.map +1 -1
- package/dist/cli/commands/hooks.d.ts +76 -0
- package/dist/cli/commands/hooks.d.ts.map +1 -0
- package/dist/cli/commands/hooks.js +436 -0
- package/dist/cli/commands/hooks.js.map +1 -0
- package/dist/cli/commands/index.d.ts +2 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/project.js +27 -0
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/task.js +16 -1
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/web.d.ts +2 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +66 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/config.d.ts +46 -3
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +95 -38
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/instructions.d.ts +32 -7
- package/dist/cli/instructions.d.ts.map +1 -1
- package/dist/cli/instructions.js +99 -34
- package/dist/cli/instructions.js.map +1 -1
- package/dist/cli/orchestrator-shared-blocks.d.ts +31 -0
- package/dist/cli/orchestrator-shared-blocks.d.ts.map +1 -0
- package/dist/cli/orchestrator-shared-blocks.js +148 -0
- package/dist/cli/orchestrator-shared-blocks.js.map +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +230 -91
- package/dist/cli/setup.js.map +1 -1
- package/dist/retrieval/index-builder.d.ts.map +1 -1
- package/dist/retrieval/index-builder.js +29 -1
- package/dist/retrieval/index-builder.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 +80 -0
- package/dist/utils/claude-code-hook-install.d.ts.map +1 -0
- package/dist/utils/claude-code-hook-install.js +211 -0
- package/dist/utils/claude-code-hook-install.js.map +1 -0
- package/dist/utils/claude-transcript.d.ts +206 -0
- package/dist/utils/claude-transcript.d.ts.map +1 -0
- package/dist/utils/claude-transcript.js +384 -0
- package/dist/utils/claude-transcript.js.map +1 -0
- package/dist/utils/diagram-generator.d.ts +1 -1
- package/dist/utils/diagram-generator.d.ts.map +1 -1
- package/dist/utils/diagram-generator.js +3 -2
- package/dist/utils/diagram-generator.js.map +1 -1
- package/dist/utils/errors.d.ts +6 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +12 -0
- package/dist/utils/errors.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 +61 -0
- package/dist/utils/hook-token-store.d.ts.map +1 -0
- package/dist/utils/hook-token-store.js +86 -0
- package/dist/utils/hook-token-store.js.map +1 -0
- package/dist/utils/json-schemas.d.ts +186 -2
- package/dist/utils/json-schemas.d.ts.map +1 -1
- package/dist/utils/json-schemas.js +48 -4
- package/dist/utils/json-schemas.js.map +1 -1
- package/dist/utils/knowledge-store.d.ts +7 -1
- package/dist/utils/knowledge-store.d.ts.map +1 -1
- package/dist/utils/knowledge-store.js +97 -65
- package/dist/utils/knowledge-store.js.map +1 -1
- package/dist/utils/plan-store.d.ts +8 -0
- package/dist/utils/plan-store.d.ts.map +1 -1
- package/dist/utils/plan-store.js +98 -59
- package/dist/utils/plan-store.js.map +1 -1
- package/dist/utils/project-resolver.d.ts +8 -0
- package/dist/utils/project-resolver.d.ts.map +1 -1
- package/dist/utils/project-resolver.js +7 -2
- package/dist/utils/project-resolver.js.map +1 -1
- package/dist/utils/session-store.d.ts +339 -0
- package/dist/utils/session-store.d.ts.map +1 -0
- package/dist/utils/session-store.js +577 -0
- package/dist/utils/session-store.js.map +1 -0
- package/dist/utils/storage-utils.d.ts +31 -0
- package/dist/utils/storage-utils.d.ts.map +1 -1
- package/dist/utils/storage-utils.js +116 -5
- package/dist/utils/storage-utils.js.map +1 -1
- package/dist/utils/task-store.d.ts +7 -0
- package/dist/utils/task-store.d.ts.map +1 -1
- package/dist/utils/task-store.js +73 -23
- package/dist/utils/task-store.js.map +1 -1
- package/dist/web-client/assets/GraphCanvas-CTyf_XXQ.js +1 -0
- package/dist/web-client/assets/MarkdownEditor-af2vwQOX.js +77 -0
- package/dist/web-client/assets/abnfDiagram-VRR7QNED-CdxcKX9t.js +1 -0
- package/dist/web-client/assets/arc-Bfaogrm1.js +1 -0
- package/dist/web-client/assets/architecture-TIHT7OUA-Bt2-DmfV.js +1 -0
- package/dist/web-client/assets/architectureDiagram-ZJ3FMSHR-DOISDv6o.js +36 -0
- package/dist/web-client/assets/array-BifhSqXX.js +1 -0
- package/dist/web-client/assets/blockDiagram-677ZJIJ3-DKwtbttM.js +132 -0
- package/dist/web-client/assets/c4Diagram-LMCZKHZV-CilqK-Mm.js +10 -0
- package/dist/web-client/assets/channel-C2mb9np_.js +1 -0
- package/dist/web-client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist/web-client/assets/chunk-32BRIVSS-C79m1mkG.js +1 -0
- package/dist/web-client/assets/chunk-52WLFC77-C6WelGWJ.js +10 -0
- package/dist/web-client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/dist/web-client/assets/chunk-7BUUIJ7U-Bb538aSH.js +1 -0
- package/dist/web-client/assets/chunk-C7G6YPKG-DLg7ryWI.js +1 -0
- package/dist/web-client/assets/chunk-EX3LRPZG-DjWgo4gL.js +231 -0
- package/dist/web-client/assets/chunk-FWX5IMBZ-BgS9p_zy.js +2 -0
- package/dist/web-client/assets/chunk-HOUHSVGY-DuVR7dZO.js +1 -0
- package/dist/web-client/assets/chunk-ICXQ74PX-Y8DlnIJM.js +2 -0
- package/dist/web-client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist/web-client/assets/chunk-KEIR6QF5-DEvma7oi.js +161 -0
- package/dist/web-client/assets/chunk-MOJQB5TN-BEM3QgeD.js +88 -0
- package/dist/web-client/assets/chunk-OGEWGWER-DlM8LxGr.js +1 -0
- package/dist/web-client/assets/chunk-PUDLZKDR-c6cqNVTx.js +156 -0
- package/dist/web-client/assets/chunk-Q4XR5HBZ-C5lNmcka.js +70 -0
- package/dist/web-client/assets/chunk-RYQCIY6F-np2RyIY1.js +1 -0
- package/dist/web-client/assets/chunk-V7JOEXUC-nSswxvSG.js +206 -0
- package/dist/web-client/assets/chunk-VAUOI2AC-CqJkCkT0.js +1 -0
- package/dist/web-client/assets/chunk-VR4S4FIN-D3pFchin.js +1 -0
- package/dist/web-client/assets/chunk-WYO6CB5R-BI9c-NzI.js +125 -0
- package/dist/web-client/assets/chunk-XXDRQBXY-BvKO0v-W.js +1 -0
- package/dist/web-client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dist/web-client/assets/chunk-ZGVPDNZ5-CKTF2kLR.js +62 -0
- package/dist/web-client/assets/chunk-ZIRB5QZD-BpeS1aZ7.js +32 -0
- 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/cose-bilkent-JH36ORCC-BebHqzgp.js +1 -0
- package/dist/web-client/assets/cynefin-VYW2F7L2-BrJrnfh1.js +1 -0
- package/dist/web-client/assets/cynefinDiagram-TSTJHNR4-9jYzPWJZ.js +62 -0
- package/dist/web-client/assets/cytoscape-fcose-peAzqedC.js +1 -0
- package/dist/web-client/assets/cytoscape.esm-C3UvhD5t.js +321 -0
- package/dist/web-client/assets/dagre-Buvkdvvj.js +1 -0
- package/dist/web-client/assets/dagre-VKFMJZFB-B705Djpu.js +4 -0
- package/dist/web-client/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist/web-client/assets/diagram-FQU43EPY-BfQAlUlJ.js +3 -0
- package/dist/web-client/assets/diagram-G47NLZAW-s1YDe06A.js +24 -0
- package/dist/web-client/assets/diagram-NH7WQ7WH-Dy3z11Hc.js +24 -0
- package/dist/web-client/assets/diagram-OA4YK3LP-Bius2xUN.js +30 -0
- package/dist/web-client/assets/diagram-WEI45ONY-D7x4VcHM.js +41 -0
- package/dist/web-client/assets/dist-B_J_HbC0.js +1 -0
- package/dist/web-client/assets/ebnfDiagram-CCIWWBDH-CBg1xrmD.js +1 -0
- package/dist/web-client/assets/erDiagram-Q63AITRT-CJRvTFvd.js +85 -0
- 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-C_LsypZ4.js +292 -0
- package/dist/web-client/assets/gitGraph-TEB2WS4Q-Dx2XxdGk.js +1 -0
- package/dist/web-client/assets/gitGraphDiagram-IHSO6WYX-DiKWkGWQ.js +106 -0
- package/dist/web-client/assets/graphlib-DS17s2tU.js +1 -0
- package/dist/web-client/assets/index-CYwhkPtc.js +60 -0
- package/dist/web-client/assets/index-wSzUPvml.css +2 -0
- package/dist/web-client/assets/info-DKCQHKI2-DORwHenK.js +1 -0
- package/dist/web-client/assets/infoDiagram-FWYZ7A6U-CQecXS1E.js +2 -0
- package/dist/web-client/assets/init-C-OQMol4.js +1 -0
- package/dist/web-client/assets/ishikawaDiagram-FXEZZL3T-CWhj60Zp.js +70 -0
- package/dist/web-client/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/web-client/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/web-client/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/web-client/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/web-client/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/web-client/assets/journeyDiagram-5HDEW3XC-Cj3z2U8u.js +139 -0
- package/dist/web-client/assets/kanban-definition-HUTT4EX6-DFmBRenP.js +89 -0
- package/dist/web-client/assets/katex-DolUETbr.js +257 -0
- package/dist/web-client/assets/line-C_Hxz9xb.js +1 -0
- package/dist/web-client/assets/linear-DeUiD2wj.js +1 -0
- package/dist/web-client/assets/map-BaFkSB1l.js +1 -0
- package/dist/web-client/assets/mermaid-parser.core-E3xRdzPn.js +7 -0
- package/dist/web-client/assets/mermaid.core-C2_CcotH.js +11 -0
- package/dist/web-client/assets/mindmap-definition-LN4V7U3C-Bs7VxPid.js +96 -0
- package/dist/web-client/assets/ordinal-BDEzSJ7C.js +1 -0
- package/dist/web-client/assets/packet-7NZHBO7P-D2nqso7i.js +1 -0
- package/dist/web-client/assets/path-COt_16Va.js +1 -0
- package/dist/web-client/assets/pegDiagram-2B236MQR-Cepo1sIu.js +1 -0
- package/dist/web-client/assets/pie-RZYD4A2V-Sx0IGbXt.js +1 -0
- package/dist/web-client/assets/pieDiagram-ENE6RG2P-D-PMDNhk.js +39 -0
- package/dist/web-client/assets/quadrantDiagram-ABIIQ3AL-BNGC7Fms.js +7 -0
- package/dist/web-client/assets/radar-I7S5WNFK-CFf_-2OC.js +1 -0
- package/dist/web-client/assets/railroad-3IZDKUUU-BvZeVRGh.js +1 -0
- 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-D0iK_k84.js +1 -0
- package/dist/web-client/assets/requirementDiagram-TGXJPOKE-BPdsw9tz.js +84 -0
- package/dist/web-client/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
- package/dist/web-client/assets/rough.esm-By172zw-.js +1 -0
- package/dist/web-client/assets/sankeyDiagram-HTMAVEWB-maA6ukOJ.js +40 -0
- package/dist/web-client/assets/sequenceDiagram-DBY2YBRQ-DKmAjmgr.js +162 -0
- package/dist/web-client/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +1 -0
- package/dist/web-client/assets/src-oBChb5qS.js +1 -0
- package/dist/web-client/assets/stateDiagram-2N3HPSRC-esxmzk3w.js +1 -0
- package/dist/web-client/assets/stateDiagram-v2-6OUMAXLB-hcBqlOLc.js +1 -0
- package/dist/web-client/assets/swimlanes-5IMT3BWC-DFd-wGBv.js +2 -0
- package/dist/web-client/assets/swimlanesDiagram-G3AALYLV-DbSrPBYr.js +8 -0
- package/dist/web-client/assets/timeline-definition-FHXFAJF6-C7SG8MQH.js +120 -0
- package/dist/web-client/assets/treeView-QDETBFTQ-M0rhxbs2.js +1 -0
- package/dist/web-client/assets/treemap-6X3UGDF4-BQfkQxSh.js +1 -0
- package/dist/web-client/assets/vennDiagram-L72KCM5P-CyIlb8ju.js +34 -0
- package/dist/web-client/assets/wardley-OPB4EBWU-EE-7q8M1.js +1 -0
- package/dist/web-client/assets/wardleyDiagram-EHGQE667-bY8XdYYS.js +78 -0
- package/dist/web-client/assets/xychartDiagram-FW5EYKEG-AhuXJ3de.js +7 -0
- package/dist/web-client/index.html +15 -0
- package/dist/web-server/app.d.ts +16 -0
- package/dist/web-server/app.d.ts.map +1 -0
- package/dist/web-server/app.js +77 -0
- package/dist/web-server/app.js.map +1 -0
- package/dist/web-server/claude-runner.d.ts +188 -0
- package/dist/web-server/claude-runner.d.ts.map +1 -0
- package/dist/web-server/claude-runner.js +599 -0
- package/dist/web-server/claude-runner.js.map +1 -0
- package/dist/web-server/hook-auth.d.ts +12 -0
- package/dist/web-server/hook-auth.d.ts.map +1 -0
- package/dist/web-server/hook-auth.js +36 -0
- package/dist/web-server/hook-auth.js.map +1 -0
- package/dist/web-server/index.d.ts +23 -0
- package/dist/web-server/index.d.ts.map +1 -0
- package/dist/web-server/index.js +50 -0
- package/dist/web-server/index.js.map +1 -0
- package/dist/web-server/opencode-client.d.ts +123 -0
- package/dist/web-server/opencode-client.d.ts.map +1 -0
- package/dist/web-server/opencode-client.js +514 -0
- package/dist/web-server/opencode-client.js.map +1 -0
- 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/respond.d.ts +33 -0
- package/dist/web-server/respond.d.ts.map +1 -0
- package/dist/web-server/respond.js +79 -0
- package/dist/web-server/respond.js.map +1 -0
- package/dist/web-server/routes/collections.d.ts +11 -0
- package/dist/web-server/routes/collections.d.ts.map +1 -0
- package/dist/web-server/routes/collections.js +217 -0
- package/dist/web-server/routes/collections.js.map +1 -0
- package/dist/web-server/routes/discovery.d.ts +7 -0
- package/dist/web-server/routes/discovery.d.ts.map +1 -0
- package/dist/web-server/routes/discovery.js +159 -0
- package/dist/web-server/routes/discovery.js.map +1 -0
- package/dist/web-server/routes/events.d.ts +6 -0
- package/dist/web-server/routes/events.d.ts.map +1 -0
- package/dist/web-server/routes/events.js +25 -0
- package/dist/web-server/routes/events.js.map +1 -0
- package/dist/web-server/routes/hook-events.d.ts +44 -0
- package/dist/web-server/routes/hook-events.d.ts.map +1 -0
- package/dist/web-server/routes/hook-events.js +320 -0
- package/dist/web-server/routes/hook-events.js.map +1 -0
- package/dist/web-server/routes/projects.d.ts +7 -0
- package/dist/web-server/routes/projects.d.ts.map +1 -0
- package/dist/web-server/routes/projects.js +272 -0
- package/dist/web-server/routes/projects.js.map +1 -0
- package/dist/web-server/routes/sessions.d.ts +18 -0
- package/dist/web-server/routes/sessions.d.ts.map +1 -0
- package/dist/web-server/routes/sessions.js +1298 -0
- package/dist/web-server/routes/sessions.js.map +1 -0
- 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/security.d.ts +7 -0
- package/dist/web-server/security.d.ts.map +1 -0
- package/dist/web-server/security.js +41 -0
- package/dist/web-server/security.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 +17 -0
- package/dist/web-server/static.d.ts.map +1 -0
- package/dist/web-server/static.js +79 -0
- package/dist/web-server/static.js.map +1 -0
- package/dist/web-server/storage.d.ts +17 -0
- package/dist/web-server/storage.d.ts.map +1 -0
- package/dist/web-server/storage.js +42 -0
- package/dist/web-server/storage.js.map +1 -0
- package/dist/web-server/watcher.d.ts +37 -0
- package/dist/web-server/watcher.d.ts.map +1 -0
- package/dist/web-server/watcher.js +181 -0
- package/dist/web-server/watcher.js.map +1 -0
- 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/bundle-runtime.json +5 -13
- package/opencode/arcs/manifest.json +215 -151
- package/opencode/arcs/prompts/arcs-docs.txt +53 -47
- package/opencode/arcs/prompts/arcs-flash.txt +190 -0
- package/opencode/arcs/prompts/arcs-orchestrate-caveman.txt +116 -422
- package/opencode/arcs/prompts/arcs-orchestrate.txt +114 -341
- package/opencode/arcs/prompts/code-reviewer.txt +37 -98
- package/opencode/arcs/prompts/devil-advocate.txt +44 -115
- package/opencode/arcs/prompts/graph-explorer.txt +31 -179
- package/opencode/arcs/prompts/software-engineer.txt +24 -6
- package/opencode/arcs/prompts/tech-architect.txt +25 -9
- package/opencode/arcs/skills/brainstorming/SKILL.md +65 -105
- package/opencode/arcs/skills/deep-pr-review/SKILL.md +5 -5
- package/opencode/arcs/skills/deep-pr-review/review-template.md +1 -1
- package/opencode/arcs/skills/enriching-codegraph-proposals/SKILL.md +17 -18
- package/opencode/arcs/skills/executing-plans/SKILL.md +26 -234
- package/opencode/arcs/skills/implementation/SKILL.md +61 -0
- package/opencode/arcs/skills/init-project/SKILL.md +16 -15
- package/opencode/arcs/skills/install-claude-code-hook/SKILL.md +143 -0
- package/opencode/arcs/skills/systematic-debugging/SKILL.md +7 -7
- package/opencode/arcs/skills/test-driven-development/SKILL.md +1 -1
- package/opencode/arcs/skills/to-diagram/SKILL.md +8 -3
- package/opencode/arcs/skills/writing-knowledge/SKILL.md +7 -6
- package/opencode/arcs/skills/writing-plans/SKILL.md +80 -130
- package/opencode/arcs/skills/writing-plans/plan-document-reviewer-prompt.md +38 -30
- package/package.json +14 -6
- package/scripts/build-opencode-bundle.mjs +22 -7
- package/scripts/claude-code-session-hook.mjs +171 -0
- package/scripts/deploy-claudecode-bundle.mjs +206 -132
- package/scripts/deploy-opencode-bundle.mjs +181 -5
- package/scripts/lib/bundle-helpers.mjs +26 -0
- package/scripts/lint-bundle.mjs +123 -3
- package/skills/explore-dag.md +5 -3
- package/skills/init-project.md +27 -26
- package/skills/orchestrate.md +29 -13
- package/skills/update-docs.md +8 -13
- package/opencode/arcs/prompts/docs-researcher.txt +0 -79
- package/opencode/arcs/prompts/oncall-ops.txt +0 -85
- package/opencode/arcs/skills/code-agent/SKILL.md +0 -63
- package/opencode/arcs/skills/executing-plans/code-quality-reviewer-prompt.md +0 -57
- package/opencode/arcs/skills/executing-plans/implementer-prompt.md +0 -152
- package/opencode/arcs/skills/executing-plans/spec-reviewer-prompt.md +0 -91
- package/opencode/arcs/skills/quick-dev/SKILL.md +0 -52
- package/opencode/arcs/skills/requesting-code-review/SKILL.md +0 -59
- package/opencode/arcs/skills/requesting-code-review/code-reviewer.md +0 -139
- package/opencode/arcs/skills/the-ladder/SKILL.md +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-assembly.js","sourceRoot":"","sources":["../../src/web-server/prompt-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared response envelope + error mapping for the web server.
|
|
3
|
+
* Mirrors the CLI envelope shape: { ok: true, data } | { ok: false, code, message }.
|
|
4
|
+
*/
|
|
5
|
+
import type { Context } from "hono";
|
|
6
|
+
import type { z } from "zod";
|
|
7
|
+
export type Envelope = {
|
|
8
|
+
ok: true;
|
|
9
|
+
data: unknown;
|
|
10
|
+
} | {
|
|
11
|
+
ok: false;
|
|
12
|
+
code: string;
|
|
13
|
+
message: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function ok(data: unknown): Envelope;
|
|
16
|
+
export declare function fail(code: string, message: string): Envelope;
|
|
17
|
+
/**
|
|
18
|
+
* Runs a handler and maps the result to the envelope + HTTP status.
|
|
19
|
+
* DagError codes containing NOT_FOUND map to 404, known conflict codes to 409,
|
|
20
|
+
* other DagErrors to 400, unknown errors to 500.
|
|
21
|
+
*/
|
|
22
|
+
export declare function respond(c: Context, fn: () => Promise<unknown>, successStatus?: 200 | 201 | 202): Promise<Response>;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the project directory, throwing DagError if the project does not exist.
|
|
25
|
+
*/
|
|
26
|
+
export declare function assertProjectSlug(slug: string): void;
|
|
27
|
+
export declare function requireProjectDir(slug: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Parses and validates a JSON request body against a zod schema.
|
|
30
|
+
* Throws ZodError (mapped to 400 INVALID_BODY by respond()).
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseBody<S extends z.ZodType>(c: Context, schema: S): Promise<z.output<S>>;
|
|
33
|
+
//# sourceMappingURL=respond.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../src/web-server/respond.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAM7B,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAE1C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAE5D;AAYD;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,CAAC,EAAE,OAAO,EACV,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC1B,aAAa,GAAE,GAAG,GAAG,GAAG,GAAG,GAAS,GACnC,OAAO,CAAC,QAAQ,CAAC,CAmBnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAatD;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAGhG"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared response envelope + error mapping for the web server.
|
|
3
|
+
* Mirrors the CLI envelope shape: { ok: true, data } | { ok: false, code, message }.
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync } from "node:fs";
|
|
6
|
+
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
7
|
+
import { ZodError } from "zod";
|
|
8
|
+
import { DagError } from "../utils/errors.js";
|
|
9
|
+
import { getDataDir, getProjectDir } from "../utils/paths.js";
|
|
10
|
+
import { normalizeIdentifier } from "../utils/slug.js";
|
|
11
|
+
export function ok(data) {
|
|
12
|
+
return { ok: true, data };
|
|
13
|
+
}
|
|
14
|
+
export function fail(code, message) {
|
|
15
|
+
return { ok: false, code, message };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* DagError codes whose semantics are a conflict with current state and must map
|
|
19
|
+
* to HTTP 409 rather than the generic 400. Explicit denylist: the codes are
|
|
20
|
+
* dispatch-mandated guard codes, and there is no shared substring convention to
|
|
21
|
+
* key on (unlike NOT_FOUND).
|
|
22
|
+
*/
|
|
23
|
+
const CONFLICT_CODES = new Set(["CLAUDE_SESSION_ACTIVE", "CLAUDE_RUN_IN_PROGRESS"]);
|
|
24
|
+
/**
|
|
25
|
+
* Runs a handler and maps the result to the envelope + HTTP status.
|
|
26
|
+
* DagError codes containing NOT_FOUND map to 404, known conflict codes to 409,
|
|
27
|
+
* other DagErrors to 400, unknown errors to 500.
|
|
28
|
+
*/
|
|
29
|
+
export async function respond(c, fn, successStatus = 200) {
|
|
30
|
+
try {
|
|
31
|
+
return c.json(ok(await fn()), successStatus);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (err instanceof DagError) {
|
|
35
|
+
const status = err.code.includes("NOT_FOUND")
|
|
36
|
+
? 404
|
|
37
|
+
: CONFLICT_CODES.has(err.code)
|
|
38
|
+
? 409
|
|
39
|
+
: 400;
|
|
40
|
+
return c.json(fail(err.code, err.message), status);
|
|
41
|
+
}
|
|
42
|
+
if (err instanceof ZodError) {
|
|
43
|
+
const message = err.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; ");
|
|
44
|
+
return c.json(fail("INVALID_BODY", message), 400);
|
|
45
|
+
}
|
|
46
|
+
console.error("[arcs-web] unexpected request failure", err);
|
|
47
|
+
return c.json(fail("internal_error", "Unexpected server error"), 500);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns the project directory, throwing DagError if the project does not exist.
|
|
52
|
+
*/
|
|
53
|
+
export function assertProjectSlug(slug) {
|
|
54
|
+
if (!slug || normalizeIdentifier(slug) !== slug) {
|
|
55
|
+
throw new DagError("INVALID_PROJECT_SLUG", `Invalid project slug "${slug}"`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function requireProjectDir(slug) {
|
|
59
|
+
assertProjectSlug(slug);
|
|
60
|
+
const projectsRoot = resolve(getDataDir(), "projects");
|
|
61
|
+
const dir = getProjectDir(slug);
|
|
62
|
+
const relativePath = relative(projectsRoot, dir);
|
|
63
|
+
if (relativePath.startsWith("..") || isAbsolute(relativePath)) {
|
|
64
|
+
throw new DagError("INVALID_PROJECT_SLUG", `Invalid project slug "${slug}"`);
|
|
65
|
+
}
|
|
66
|
+
if (!existsSync(join(dir, "meta.json"))) {
|
|
67
|
+
throw new DagError("PROJECT_NOT_FOUND", `Project "${slug}" not found`);
|
|
68
|
+
}
|
|
69
|
+
return dir;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Parses and validates a JSON request body against a zod schema.
|
|
73
|
+
* Throws ZodError (mapped to 400 INVALID_BODY by respond()).
|
|
74
|
+
*/
|
|
75
|
+
export async function parseBody(c, schema) {
|
|
76
|
+
const raw = await c.req.json();
|
|
77
|
+
return schema.parseAsync(raw);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=respond.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/web-server/respond.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection routes: knowledge, tasks, plans — full CRUD.
|
|
3
|
+
*
|
|
4
|
+
* All meta mutations go through the same locked, validated store functions the
|
|
5
|
+
* CLI uses (knowledge-store / task-store / plan-store). Body .md files are
|
|
6
|
+
* plain markdown and are read/written directly; meta file paths come from the
|
|
7
|
+
* store indexes, never from client input.
|
|
8
|
+
*/
|
|
9
|
+
import { Hono } from "hono";
|
|
10
|
+
export declare const collectionsRoute: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
11
|
+
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/collections.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAgC5B,eAAO,MAAM,gBAAgB,4EAAa,CAAC"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection routes: knowledge, tasks, plans — full CRUD.
|
|
3
|
+
*
|
|
4
|
+
* All meta mutations go through the same locked, validated store functions the
|
|
5
|
+
* CLI uses (knowledge-store / task-store / plan-store). Body .md files are
|
|
6
|
+
* plain markdown and are read/written directly; meta file paths come from the
|
|
7
|
+
* store indexes, never from client input.
|
|
8
|
+
*/
|
|
9
|
+
import { readFile } from "node:fs/promises";
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
import { Hono } from "hono";
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import { DagError } from "../../utils/errors.js";
|
|
14
|
+
import { createKnowledgeEntry, deleteKnowledgeEntry, KNOWLEDGE_AUDIENCES, KNOWLEDGE_KINDS, readKnowledgeIndex, updateKnowledgeDocument, } from "../../utils/knowledge-store.js";
|
|
15
|
+
import { createPlan, deletePlan, PLAN_STATUSES, readPlanIndex, updatePlanDocument, } from "../../utils/plan-store.js";
|
|
16
|
+
import { normalizeIdentifier } from "../../utils/slug.js";
|
|
17
|
+
import { createTask, deleteTask, listTasks, TASK_PRIORITIES, TASK_STATUSES, updateTask, } from "../../utils/task-store.js";
|
|
18
|
+
import { toposort } from "../../utils/toposort.js";
|
|
19
|
+
import { parseBody, requireProjectDir, respond } from "../respond.js";
|
|
20
|
+
export const collectionsRoute = new Hono();
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Shared zod pieces
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
const fileRefSchema = z.object({ path: z.string(), anchor: z.string().optional() });
|
|
25
|
+
async function readEntryBody(projectDir, file) {
|
|
26
|
+
try {
|
|
27
|
+
return await readFile(join(projectDir, file), "utf-8");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return "";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function findById(items, rawId, what) {
|
|
34
|
+
const normalizedId = normalizeIdentifier(rawId);
|
|
35
|
+
const item = items.find((i) => i.normalizedId === normalizedId);
|
|
36
|
+
if (!item) {
|
|
37
|
+
throw new DagError("ENTITY_NOT_FOUND", `${what} "${rawId}" not found`);
|
|
38
|
+
}
|
|
39
|
+
return item;
|
|
40
|
+
}
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Knowledge
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
const createKnowledgeSchema = z.object({
|
|
45
|
+
id: z.string().min(1),
|
|
46
|
+
title: z.string().min(1),
|
|
47
|
+
kind: z.enum(KNOWLEDGE_KINDS),
|
|
48
|
+
audience: z.enum(KNOWLEDGE_AUDIENCES).optional(),
|
|
49
|
+
keywords: z.array(z.string()).default([]),
|
|
50
|
+
summary: z.string().optional(),
|
|
51
|
+
content: z.string().optional(),
|
|
52
|
+
sourceFiles: z.array(fileRefSchema).optional(),
|
|
53
|
+
});
|
|
54
|
+
const updateKnowledgeSchema = z.object({
|
|
55
|
+
title: z.string().min(1).optional(),
|
|
56
|
+
kind: z.enum(KNOWLEDGE_KINDS).optional(),
|
|
57
|
+
audience: z.enum(KNOWLEDGE_AUDIENCES).nullable().optional(),
|
|
58
|
+
keywords: z.array(z.string()).optional(),
|
|
59
|
+
summary: z.string().optional(),
|
|
60
|
+
sourceFiles: z.array(fileRefSchema).optional(),
|
|
61
|
+
body: z.string().optional(),
|
|
62
|
+
});
|
|
63
|
+
collectionsRoute.get("/api/p/:slug/knowledge", async (c) => respond(c, async () => {
|
|
64
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
65
|
+
const index = await readKnowledgeIndex(projectDir);
|
|
66
|
+
return { entries: index.entries };
|
|
67
|
+
}));
|
|
68
|
+
collectionsRoute.post("/api/p/:slug/knowledge", async (c) => respond(c, async () => {
|
|
69
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
70
|
+
const input = await parseBody(c, createKnowledgeSchema);
|
|
71
|
+
return createKnowledgeEntry(projectDir, input);
|
|
72
|
+
}, 201));
|
|
73
|
+
collectionsRoute.get("/api/p/:slug/knowledge/:id", async (c) => respond(c, async () => {
|
|
74
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
75
|
+
const index = await readKnowledgeIndex(projectDir);
|
|
76
|
+
const meta = findById(index.entries, c.req.param("id"), "Knowledge entry");
|
|
77
|
+
const body = await readEntryBody(projectDir, meta.file);
|
|
78
|
+
return { meta, body };
|
|
79
|
+
}));
|
|
80
|
+
collectionsRoute.patch("/api/p/:slug/knowledge/:id", async (c) => respond(c, async () => {
|
|
81
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
82
|
+
const id = c.req.param("id");
|
|
83
|
+
const input = await parseBody(c, updateKnowledgeSchema);
|
|
84
|
+
const { body, audience, ...metaFields } = input;
|
|
85
|
+
return updateKnowledgeDocument(projectDir, {
|
|
86
|
+
id,
|
|
87
|
+
...metaFields,
|
|
88
|
+
...(audience !== undefined && { audience }),
|
|
89
|
+
...(body !== undefined && { content: body }),
|
|
90
|
+
});
|
|
91
|
+
}));
|
|
92
|
+
collectionsRoute.delete("/api/p/:slug/knowledge/:id", async (c) => respond(c, async () => {
|
|
93
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
94
|
+
await deleteKnowledgeEntry(projectDir, c.req.param("id"));
|
|
95
|
+
return { deleted: true };
|
|
96
|
+
}));
|
|
97
|
+
// ---------------------------------------------------------------------------
|
|
98
|
+
// Tasks
|
|
99
|
+
// ---------------------------------------------------------------------------
|
|
100
|
+
const createTaskSchema = z.object({
|
|
101
|
+
title: z.string().min(1),
|
|
102
|
+
status: z.enum(TASK_STATUSES).optional(),
|
|
103
|
+
priority: z.enum(TASK_PRIORITIES).optional(),
|
|
104
|
+
planId: z.string().optional(),
|
|
105
|
+
dependsOn: z.array(z.string()).optional(),
|
|
106
|
+
sourceFiles: z.array(fileRefSchema).optional(),
|
|
107
|
+
scope: z.string().optional(),
|
|
108
|
+
acceptance: z.string().optional(),
|
|
109
|
+
verify: z.string().optional(),
|
|
110
|
+
skill: z.string().optional(),
|
|
111
|
+
workMode: z.enum(["bounded", "inspect"]).optional(),
|
|
112
|
+
});
|
|
113
|
+
const updateTaskSchema = z.object({
|
|
114
|
+
title: z.string().min(1).optional(),
|
|
115
|
+
status: z.enum(TASK_STATUSES).optional(),
|
|
116
|
+
priority: z.enum(TASK_PRIORITIES).optional(),
|
|
117
|
+
planId: z.string().nullable().optional(),
|
|
118
|
+
dependsOn: z.array(z.string()).nullable().optional(),
|
|
119
|
+
sourceFiles: z.array(fileRefSchema).optional(),
|
|
120
|
+
scope: z.string().nullable().optional(),
|
|
121
|
+
acceptance: z.string().nullable().optional(),
|
|
122
|
+
verify: z.string().nullable().optional(),
|
|
123
|
+
skill: z.string().nullable().optional(),
|
|
124
|
+
workMode: z.enum(["bounded", "inspect"]).nullable().optional(),
|
|
125
|
+
});
|
|
126
|
+
collectionsRoute.get("/api/p/:slug/tasks", async (c) => respond(c, async () => {
|
|
127
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
128
|
+
const tasks = await listTasks(projectDir);
|
|
129
|
+
let order = null;
|
|
130
|
+
if (c.req.query("order") === "topo") {
|
|
131
|
+
try {
|
|
132
|
+
order = toposort(tasks.map((t) => ({ id: t.normalizedId, dependsOn: t.dependsOn, priority: t.priority })));
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
order = null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return { tasks, order };
|
|
139
|
+
}));
|
|
140
|
+
collectionsRoute.post("/api/p/:slug/tasks", async (c) => respond(c, async () => {
|
|
141
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
142
|
+
const input = await parseBody(c, createTaskSchema);
|
|
143
|
+
return createTask(projectDir, input);
|
|
144
|
+
}, 201));
|
|
145
|
+
collectionsRoute.patch("/api/p/:slug/tasks/:id", async (c) => respond(c, async () => {
|
|
146
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
147
|
+
const input = await parseBody(c, updateTaskSchema);
|
|
148
|
+
return updateTask(projectDir, { id: c.req.param("id"), ...input });
|
|
149
|
+
}));
|
|
150
|
+
collectionsRoute.delete("/api/p/:slug/tasks/:id", async (c) => respond(c, async () => {
|
|
151
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
152
|
+
await deleteTask(projectDir, c.req.param("id"));
|
|
153
|
+
return { deleted: true };
|
|
154
|
+
}));
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
// Plans
|
|
157
|
+
// ---------------------------------------------------------------------------
|
|
158
|
+
const createPlanSchema = z.object({
|
|
159
|
+
id: z.string().min(1),
|
|
160
|
+
title: z.string().min(1),
|
|
161
|
+
status: z.enum(PLAN_STATUSES),
|
|
162
|
+
keywords: z.array(z.string()).default([]),
|
|
163
|
+
summary: z.string().optional(),
|
|
164
|
+
content: z.string().optional(),
|
|
165
|
+
sourceFiles: z.array(fileRefSchema).optional(),
|
|
166
|
+
});
|
|
167
|
+
const updatePlanSchema = z.object({
|
|
168
|
+
title: z.string().min(1).optional(),
|
|
169
|
+
status: z.enum(PLAN_STATUSES).optional(),
|
|
170
|
+
keywords: z.array(z.string()).optional(),
|
|
171
|
+
summary: z.string().optional(),
|
|
172
|
+
sourceFiles: z.array(fileRefSchema).optional(),
|
|
173
|
+
body: z.string().optional(),
|
|
174
|
+
diagram: z.string().nullable().optional(),
|
|
175
|
+
});
|
|
176
|
+
collectionsRoute.get("/api/p/:slug/plans", async (c) => respond(c, async () => {
|
|
177
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
178
|
+
const index = await readPlanIndex(projectDir);
|
|
179
|
+
return { plans: index.plans };
|
|
180
|
+
}));
|
|
181
|
+
collectionsRoute.post("/api/p/:slug/plans", async (c) => respond(c, async () => {
|
|
182
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
183
|
+
const input = await parseBody(c, createPlanSchema);
|
|
184
|
+
return createPlan(projectDir, input);
|
|
185
|
+
}, 201));
|
|
186
|
+
collectionsRoute.get("/api/p/:slug/plans/:id", async (c) => respond(c, async () => {
|
|
187
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
188
|
+
const index = await readPlanIndex(projectDir);
|
|
189
|
+
const meta = findById(index.plans, c.req.param("id"), "Plan");
|
|
190
|
+
const body = await readEntryBody(projectDir, meta.file);
|
|
191
|
+
let diagram = null;
|
|
192
|
+
try {
|
|
193
|
+
diagram = await readFile(join(projectDir, "plans", `${meta.normalizedId}.diagram.mmd`), "utf-8");
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
diagram = null;
|
|
197
|
+
}
|
|
198
|
+
return { meta, body, diagram };
|
|
199
|
+
}));
|
|
200
|
+
collectionsRoute.patch("/api/p/:slug/plans/:id", async (c) => respond(c, async () => {
|
|
201
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
202
|
+
const id = c.req.param("id");
|
|
203
|
+
const input = await parseBody(c, updatePlanSchema);
|
|
204
|
+
const { body, diagram, ...metaFields } = input;
|
|
205
|
+
return updatePlanDocument(projectDir, {
|
|
206
|
+
id,
|
|
207
|
+
...metaFields,
|
|
208
|
+
...(body !== undefined && { content: body }),
|
|
209
|
+
...(diagram !== undefined && { diagram }),
|
|
210
|
+
});
|
|
211
|
+
}));
|
|
212
|
+
collectionsRoute.delete("/api/p/:slug/plans/:id", async (c) => respond(c, async () => {
|
|
213
|
+
const projectDir = requireProjectDir(c.req.param("slug"));
|
|
214
|
+
await deletePlan(projectDir, c.req.param("id"));
|
|
215
|
+
return { deleted: true };
|
|
216
|
+
}));
|
|
217
|
+
//# sourceMappingURL=collections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/web-server/routes/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discovery routes: per-project graph (serialized adjacency index),
|
|
3
|
+
* BM25 cross-project search, and codegraph proposal queue actions.
|
|
4
|
+
*/
|
|
5
|
+
import { Hono } from "hono";
|
|
6
|
+
export declare const discoveryRoute: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
7
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAkB5B,eAAO,MAAM,cAAc,4EAAa,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Discovery routes: per-project graph (serialized adjacency index),
|
|
3
|
+
* BM25 cross-project search, and codegraph proposal queue actions.
|
|
4
|
+
*/
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { Hono } from "hono";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { searchAcrossProjects } from "../../retrieval/cross-project-search.js";
|
|
9
|
+
import { buildAdjacencyIndex } from "../../retrieval/graph-builder.js";
|
|
10
|
+
import { DagError } from "../../utils/errors.js";
|
|
11
|
+
import { withLock } from "../../utils/file-lock.js";
|
|
12
|
+
import { createKnowledgeEntry, deleteKnowledgeEntry, readKnowledgeIndex, } from "../../utils/knowledge-store.js";
|
|
13
|
+
import { readPlanIndex } from "../../utils/plan-store.js";
|
|
14
|
+
import { readProposals, removeProposal } from "../../utils/proposal-store.js";
|
|
15
|
+
import { listTasks } from "../../utils/task-store.js";
|
|
16
|
+
import { parseBody, requireProjectDir, respond } from "../respond.js";
|
|
17
|
+
export const discoveryRoute = new Hono();
|
|
18
|
+
discoveryRoute.get("/api/p/:slug/graph", async (c) => respond(c, async () => {
|
|
19
|
+
const slug = c.req.param("slug");
|
|
20
|
+
const projectDir = requireProjectDir(slug);
|
|
21
|
+
const adjacency = await buildAdjacencyIndex(slug);
|
|
22
|
+
const [knowledge, plans, tasks] = await Promise.all([
|
|
23
|
+
readKnowledgeIndex(projectDir).catch(() => ({ entries: [] })),
|
|
24
|
+
readPlanIndex(projectDir).catch(() => ({ plans: [] })),
|
|
25
|
+
listTasks(projectDir).catch(() => []),
|
|
26
|
+
]);
|
|
27
|
+
const kindByKnowledgeId = new Map(knowledge.entries.map((e) => [e.normalizedId, e.kind]));
|
|
28
|
+
const statusByPlanId = new Map(plans.plans.map((p) => [p.normalizedId, p.status]));
|
|
29
|
+
const taskByNormalizedId = new Map(tasks.map((t) => [t.normalizedId, t]));
|
|
30
|
+
const nodes = [...adjacency.nodes.values()].map((node) => {
|
|
31
|
+
const sep = node.id.indexOf(":");
|
|
32
|
+
const rawId = sep >= 0 ? node.id.slice(sep + 1) : node.id;
|
|
33
|
+
const enriched = { ...node };
|
|
34
|
+
if (node.type === "knowledge") {
|
|
35
|
+
enriched.kind = kindByKnowledgeId.get(rawId);
|
|
36
|
+
}
|
|
37
|
+
else if (node.type === "plan") {
|
|
38
|
+
enriched.status = statusByPlanId.get(rawId);
|
|
39
|
+
}
|
|
40
|
+
else if (node.type === "task") {
|
|
41
|
+
const task = taskByNormalizedId.get(rawId);
|
|
42
|
+
enriched.status = task?.status;
|
|
43
|
+
enriched.priority = task?.priority;
|
|
44
|
+
}
|
|
45
|
+
return enriched;
|
|
46
|
+
});
|
|
47
|
+
const edges = [...adjacency.edges.values()].flat();
|
|
48
|
+
return {
|
|
49
|
+
nodes,
|
|
50
|
+
edges,
|
|
51
|
+
buildTime: adjacency.buildTime,
|
|
52
|
+
sourceHashes: adjacency.sourceHashes,
|
|
53
|
+
};
|
|
54
|
+
}));
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// GET /api/search?q=... — BM25 search across projects
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
discoveryRoute.get("/api/search", async (c) => respond(c, async () => {
|
|
59
|
+
const rawQuery = c.req.query("q") ?? "";
|
|
60
|
+
if (rawQuery.length > 256) {
|
|
61
|
+
throw new DagError("INVALID_QUERY", "Search queries must be 256 characters or fewer");
|
|
62
|
+
}
|
|
63
|
+
const q = rawQuery.trim();
|
|
64
|
+
const slug = c.req.query("slug");
|
|
65
|
+
const kind = c.req.query("kind");
|
|
66
|
+
const limitRaw = Number(c.req.query("limit") ?? "20");
|
|
67
|
+
const limit = Number.isFinite(limitRaw) ? Math.min(Math.max(1, limitRaw), 100) : 20;
|
|
68
|
+
if (q.length < 2)
|
|
69
|
+
return { results: [], query: q };
|
|
70
|
+
const results = await searchAcrossProjects({
|
|
71
|
+
query: q,
|
|
72
|
+
limit,
|
|
73
|
+
projectSlugs: slug ? [slug] : undefined,
|
|
74
|
+
includeKnowledge: true,
|
|
75
|
+
includePlans: true,
|
|
76
|
+
kind: kind || undefined,
|
|
77
|
+
});
|
|
78
|
+
return { results, query: q };
|
|
79
|
+
}));
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
// Proposals — list, drop, promote
|
|
82
|
+
// ---------------------------------------------------------------------------
|
|
83
|
+
discoveryRoute.get("/api/p/:slug/proposals", async (c) => respond(c, async () => {
|
|
84
|
+
const slug = c.req.param("slug");
|
|
85
|
+
requireProjectDir(slug);
|
|
86
|
+
const file = await readProposals(slug);
|
|
87
|
+
return {
|
|
88
|
+
proposals: file?.proposals ?? [],
|
|
89
|
+
generatedAt: file?.generatedAt ?? null,
|
|
90
|
+
graphFingerprint: file?.graphFingerprint ?? null,
|
|
91
|
+
};
|
|
92
|
+
}));
|
|
93
|
+
discoveryRoute.post("/api/p/:slug/proposals/:id/drop", async (c) => respond(c, async () => {
|
|
94
|
+
const slug = c.req.param("slug");
|
|
95
|
+
requireProjectDir(slug);
|
|
96
|
+
const removed = await removeProposal(slug, c.req.param("id"));
|
|
97
|
+
if (!removed) {
|
|
98
|
+
throw new DagError("ENTITY_NOT_FOUND", `Proposal "${c.req.param("id")}" not found`);
|
|
99
|
+
}
|
|
100
|
+
return { removed: true };
|
|
101
|
+
}));
|
|
102
|
+
const promoteSchema = z.object({
|
|
103
|
+
title: z.string().min(1).optional(),
|
|
104
|
+
summary: z.string().optional(),
|
|
105
|
+
keywords: z.array(z.string()).optional(),
|
|
106
|
+
content: z.string().optional(),
|
|
107
|
+
});
|
|
108
|
+
discoveryRoute.post("/api/p/:slug/proposals/:id/promote", async (c) => respond(c, async () => {
|
|
109
|
+
const slug = c.req.param("slug");
|
|
110
|
+
const projectDir = requireProjectDir(slug);
|
|
111
|
+
const proposalId = c.req.param("id");
|
|
112
|
+
const overrides = await parseBody(c, promoteSchema);
|
|
113
|
+
return withLock(join(projectDir, ".proposal-promotion"), async () => {
|
|
114
|
+
const file = await readProposals(slug);
|
|
115
|
+
const proposal = file?.proposals.find((entry) => entry.id === proposalId);
|
|
116
|
+
if (!proposal) {
|
|
117
|
+
throw new DagError("ENTITY_NOT_FOUND", `Proposal "${proposalId}" not found`);
|
|
118
|
+
}
|
|
119
|
+
const defaultContent = [
|
|
120
|
+
`# ${overrides.title ?? proposal.label}`,
|
|
121
|
+
"",
|
|
122
|
+
"## Structural facts",
|
|
123
|
+
"",
|
|
124
|
+
"```json",
|
|
125
|
+
JSON.stringify(proposal.structuralFacts, null, 2),
|
|
126
|
+
"```",
|
|
127
|
+
"",
|
|
128
|
+
"## Source files",
|
|
129
|
+
"",
|
|
130
|
+
...proposal.sourceFiles.map((source) => `- \`${source.path}\`${source.anchor ? ` — ${source.anchor}` : ""}`),
|
|
131
|
+
"",
|
|
132
|
+
].join("\n");
|
|
133
|
+
const created = await createKnowledgeEntry(projectDir, {
|
|
134
|
+
id: proposal.id,
|
|
135
|
+
title: overrides.title ?? proposal.label,
|
|
136
|
+
kind: proposal.kind,
|
|
137
|
+
keywords: overrides.keywords ?? [],
|
|
138
|
+
summary: overrides.summary ?? "",
|
|
139
|
+
content: overrides.content ?? defaultContent,
|
|
140
|
+
sourceFiles: proposal.sourceFiles,
|
|
141
|
+
});
|
|
142
|
+
try {
|
|
143
|
+
const removed = await removeProposal(slug, proposalId);
|
|
144
|
+
if (!removed)
|
|
145
|
+
throw new Error(`Proposal "${proposalId}" disappeared during promotion`);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
try {
|
|
149
|
+
await deleteKnowledgeEntry(projectDir, created.normalizedId);
|
|
150
|
+
}
|
|
151
|
+
catch (rollbackError) {
|
|
152
|
+
throw new DagError("PROMOTION_INCOMPLETE", `Proposal promotion created knowledge entry "${created.normalizedId}" but both proposal removal and rollback failed. Delete the knowledge entry or drop the proposal before retrying. Removal error: ${error instanceof Error ? error.message : String(error)}. Rollback error: ${rollbackError instanceof Error ? rollbackError.message : String(rollbackError)}.`);
|
|
153
|
+
}
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
return { promoted: true, entry: created };
|
|
157
|
+
});
|
|
158
|
+
}, 201));
|
|
159
|
+
//# sourceMappingURL=discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/web-server/routes/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,eAAO,MAAM,WAAW,4EAAa,CAAC"}
|