@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,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bearer-token gate for `/api/hook/*`.
|
|
3
|
+
*
|
|
4
|
+
* Layered on top of (never instead of) the global loopback-only
|
|
5
|
+
* `secureLocalRequest`: loopback proves the caller is on this machine, the
|
|
6
|
+
* token proves it is this project's installed hook script. Browser-facing
|
|
7
|
+
* routes stay token-free — only the hook endpoint carries a shared secret,
|
|
8
|
+
* because only it is called by something that is not the ARCS web UI.
|
|
9
|
+
*/
|
|
10
|
+
import { verifyHookToken } from "../utils/hook-token-store.js";
|
|
11
|
+
import { fail, requireProjectDir } from "./respond.js";
|
|
12
|
+
const BEARER = /^Bearer\s+(\S+)$/i;
|
|
13
|
+
/** `/api/hook/:slug/...` → the slug segment, or "" when the shape is wrong. */
|
|
14
|
+
function slugFromPath(url) {
|
|
15
|
+
const segments = new URL(url).pathname.split("/");
|
|
16
|
+
return segments[1] === "api" && segments[2] === "hook" ? (segments[3] ?? "") : "";
|
|
17
|
+
}
|
|
18
|
+
export const requireHookToken = async (c, next) => {
|
|
19
|
+
const unauthorized = () => c.json(fail("hook_unauthorized", "Missing or invalid ARCS hook token"), 401);
|
|
20
|
+
const match = BEARER.exec((c.req.header("authorization") ?? "").trim());
|
|
21
|
+
if (!match)
|
|
22
|
+
return unauthorized();
|
|
23
|
+
let projectDir;
|
|
24
|
+
try {
|
|
25
|
+
projectDir = requireProjectDir(slugFromPath(c.req.url));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Deliberately 401, not 404: an unauthenticated caller must not be able to
|
|
29
|
+
// probe which project slugs exist on this machine.
|
|
30
|
+
return unauthorized();
|
|
31
|
+
}
|
|
32
|
+
if (!(await verifyHookToken(projectDir, match[1])))
|
|
33
|
+
return unauthorized();
|
|
34
|
+
await next();
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=hook-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-auth.js","sourceRoot":"","sources":["../../src/web-server/hook-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,+EAA+E;AAC/E,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAsB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;IACnE,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE/E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,EAAE,CAAC;IAElC,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,mDAAmD;QACnD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,EAAE,CAAC;IAE1E,MAAM,IAAI,EAAE,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web server entry — starts the HTTP server for the ARCS web UI.
|
|
3
|
+
*/
|
|
4
|
+
export interface StartWebServerOptions {
|
|
5
|
+
/** Port to listen on (defaults to `DEFAULT_WEB_PORT`). Pass 0 for an ephemeral port. */
|
|
6
|
+
port?: number;
|
|
7
|
+
/** Interface to bind (defaults to `DEFAULT_WEB_HOST`). */
|
|
8
|
+
host?: string;
|
|
9
|
+
/** Auto-open the browser (default false here; the CLI command defaults true). */
|
|
10
|
+
open?: boolean;
|
|
11
|
+
/** Override the static client root. */
|
|
12
|
+
staticRoot?: string;
|
|
13
|
+
/** Disable the data-dir watcher (tests). */
|
|
14
|
+
watch?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface WebServerHandle {
|
|
17
|
+
url: string;
|
|
18
|
+
port: number;
|
|
19
|
+
host: string;
|
|
20
|
+
close: () => Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export declare function startWebServer(options?: StartWebServerOptions): Promise<WebServerHandle>;
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web-server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,qBAAqB;IACpC,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAeD,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CA8B1B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web server entry — starts the HTTP server for the ARCS web UI.
|
|
3
|
+
*/
|
|
4
|
+
import { spawn } from "node:child_process";
|
|
5
|
+
import { serve } from "@hono/node-server";
|
|
6
|
+
import { DEFAULT_WEB_HOST, DEFAULT_WEB_PORT } from "../utils/hook-contract.js";
|
|
7
|
+
import { createApp } from "./app.js";
|
|
8
|
+
import { isLoopbackHost } from "./security.js";
|
|
9
|
+
function openBrowser(url) {
|
|
10
|
+
try {
|
|
11
|
+
const cmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "cmd" : "xdg-open";
|
|
12
|
+
const args = process.platform === "win32" ? ["/c", "start", "", url] : [url];
|
|
13
|
+
const child = spawn(cmd, args, { detached: true, stdio: "ignore" });
|
|
14
|
+
child.on("error", () => { });
|
|
15
|
+
child.unref();
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
// No browser available — the URL is printed either way.
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function startWebServer(options = {}) {
|
|
22
|
+
const host = options.host ?? DEFAULT_WEB_HOST;
|
|
23
|
+
const requestedPort = options.port ?? DEFAULT_WEB_PORT;
|
|
24
|
+
if (!isLoopbackHost(host)) {
|
|
25
|
+
throw new Error(`ARCS web only binds to loopback addresses; refusing non-loopback host "${host}".`);
|
|
26
|
+
}
|
|
27
|
+
const app = createApp({ staticRoot: options.staticRoot, watch: options.watch });
|
|
28
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
29
|
+
try {
|
|
30
|
+
const server = serve({ fetch: app.fetch, port: requestedPort, hostname: host }, (info) => {
|
|
31
|
+
const url = `http://${host}:${info.port}`;
|
|
32
|
+
if (options.open)
|
|
33
|
+
openBrowser(url);
|
|
34
|
+
resolvePromise({
|
|
35
|
+
url,
|
|
36
|
+
port: info.port,
|
|
37
|
+
host,
|
|
38
|
+
close: () => new Promise((res) => {
|
|
39
|
+
server.close(() => res());
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
server.on("error", rejectPromise);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
rejectPromise(err);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web-server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsB/C,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GACP,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7F,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAiC,EAAE;IAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC;IACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,0EAA0E,IAAI,IAAI,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEhF,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvF,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,IAAI;oBAAE,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnC,cAAc,CAAC;oBACb,GAAG;oBACH,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI;oBACJ,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;wBACxB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC5B,CAAC,CAAC;iBACL,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* opencode session discovery bridge (Phase 1 — observability only).
|
|
3
|
+
*
|
|
4
|
+
* ARCS never spawns or manages an opencode server; it attaches to an already
|
|
5
|
+
* running `opencode serve` instance as a thin client, subscribes to the
|
|
6
|
+
* cross-instance `/global/event` SSE stream, and mirrors what it sees into the
|
|
7
|
+
* per-project session store. Everything here is best-effort: if opencode is
|
|
8
|
+
* not configured, not running, or speaks a different dialect, the ARCS web
|
|
9
|
+
* server keeps working and the sessions list is simply empty or stale.
|
|
10
|
+
*
|
|
11
|
+
* Verified against opencode 0.0.0-main-202607110203:
|
|
12
|
+
* - `opencode serve` defaults to port 0 (ephemeral), so a port/URL must be
|
|
13
|
+
* supplied explicitly via env — there is no safe default to guess.
|
|
14
|
+
* - `OPENCODE_SERVER_PASSWORD` is enforced as HTTP Basic auth with the literal
|
|
15
|
+
* username "opencode"; any other username is rejected with 401.
|
|
16
|
+
* - `/event` is scoped to one instance (`?directory=`); `/global/event` is the
|
|
17
|
+
* cross-directory stream and wraps each event as `{ directory, project,
|
|
18
|
+
* payload }`. Frames carry no `event:` field, only `data:`.
|
|
19
|
+
*/
|
|
20
|
+
import { type SessionStatus } from "../utils/session-store.js";
|
|
21
|
+
export interface OpencodeConfig {
|
|
22
|
+
baseUrl: string;
|
|
23
|
+
password?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Reads bridge configuration from the environment. Returns null (discovery
|
|
27
|
+
* disabled) when no opencode endpoint is configured.
|
|
28
|
+
*/
|
|
29
|
+
export declare function readOpencodeConfig(env?: NodeJS.ProcessEnv): OpencodeConfig | null;
|
|
30
|
+
export interface OpencodeMessageTarget {
|
|
31
|
+
/** opencode-native session id ("ses_…") — never the ARCS normalized id. */
|
|
32
|
+
runtimeSessionId: string;
|
|
33
|
+
/** Worktree the session belongs to, when known — scopes opencode's lookup. */
|
|
34
|
+
directory?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Injects a user message into a live opencode session.
|
|
38
|
+
*
|
|
39
|
+
* Unlike the rest of this module (best-effort observability) this is a user
|
|
40
|
+
* mutation, so failures throw a typed DagError the web routes can surface.
|
|
41
|
+
*
|
|
42
|
+
* Verified against opencode 1.0.0 (`GET /doc`) plus a live server:
|
|
43
|
+
* - `POST /session/:sessionID/prompt_async` acks with 204 and runs the turn in
|
|
44
|
+
* the background. `POST /session/:sessionID/message` takes the same body but
|
|
45
|
+
* only responds once the assistant has finished its whole turn — minutes, for
|
|
46
|
+
* a browser request — so async delivery is the one that fits a web form.
|
|
47
|
+
* - the body requires `parts`; a text part is `{ type: "text", text }`.
|
|
48
|
+
* - `?directory=` is optional (an unscoped send still lands) but is passed when
|
|
49
|
+
* known so the lookup is unambiguous across worktrees.
|
|
50
|
+
*/
|
|
51
|
+
export declare function sendOpencodeMessage(config: OpencodeConfig, target: OpencodeMessageTarget, text: string): Promise<void>;
|
|
52
|
+
export interface CreateOpencodeSessionInput {
|
|
53
|
+
/** Worktree the session runs in — required, see the directory note below. */
|
|
54
|
+
directory: string;
|
|
55
|
+
title?: string;
|
|
56
|
+
}
|
|
57
|
+
/** Only what ARCS needs to mirror the session; the SSE stream fills in the rest. */
|
|
58
|
+
export interface CreatedOpencodeSession {
|
|
59
|
+
runtimeSessionId: string;
|
|
60
|
+
title?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a live opencode session bound to a worktree.
|
|
64
|
+
*
|
|
65
|
+
* Verified against opencode 0.0.0-main-202607110203 (`GET /doc`, operationId
|
|
66
|
+
* `session.create`) plus a live server:
|
|
67
|
+
* - the route is `POST /session` — NOT `/api/session`. opencode serves its own
|
|
68
|
+
* web UI from the same port and answers every unknown path with a 200
|
|
69
|
+
* text/html SPA shell, so a wrong path looks like a success until the body is
|
|
70
|
+
* read. That is why the id is checked below rather than trusting `res.ok`.
|
|
71
|
+
* - `directory` is a *query* parameter and never a body field. Omitting it does
|
|
72
|
+
* not fail; opencode silently creates the session in its own working
|
|
73
|
+
* directory, so the caller must always pass the worktree explicitly.
|
|
74
|
+
* - `title` is the only body field ARCS sets; the response is a full session
|
|
75
|
+
* object (`{ id, slug, directory, title, time }`).
|
|
76
|
+
* - `DELETE /session/:sessionID` exists, so nothing created here is permanent.
|
|
77
|
+
*/
|
|
78
|
+
export declare function createOpencodeSession(config: OpencodeConfig, input: CreateOpencodeSessionInput): Promise<CreatedOpencodeSession>;
|
|
79
|
+
interface OpencodeSessionInfo {
|
|
80
|
+
id?: string;
|
|
81
|
+
slug?: string;
|
|
82
|
+
title?: string;
|
|
83
|
+
directory?: string;
|
|
84
|
+
projectID?: string;
|
|
85
|
+
time?: {
|
|
86
|
+
created?: number;
|
|
87
|
+
updated?: number;
|
|
88
|
+
};
|
|
89
|
+
project?: {
|
|
90
|
+
worktree?: string;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
interface OpencodeEvent {
|
|
94
|
+
type?: string;
|
|
95
|
+
properties?: {
|
|
96
|
+
sessionID?: string;
|
|
97
|
+
info?: OpencodeSessionInfo;
|
|
98
|
+
status?: {
|
|
99
|
+
type?: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Maps an opencode event type to the ARCS session status it implies.
|
|
105
|
+
* Returns null for events that carry no status transition (the record is
|
|
106
|
+
* refreshed but its status is left alone).
|
|
107
|
+
*/
|
|
108
|
+
export declare function statusForOpencodeEvent(event: OpencodeEvent): SessionStatus | null;
|
|
109
|
+
export interface OpencodeDiscoveryState {
|
|
110
|
+
enabled: boolean;
|
|
111
|
+
connected: boolean;
|
|
112
|
+
baseUrl: string | null;
|
|
113
|
+
}
|
|
114
|
+
export declare function opencodeDiscoveryState(): OpencodeDiscoveryState;
|
|
115
|
+
/**
|
|
116
|
+
* Starts the discovery loop if an opencode endpoint is configured. Idempotent;
|
|
117
|
+
* returns false when discovery is disabled (no configuration present).
|
|
118
|
+
*/
|
|
119
|
+
export declare function startOpencodeDiscovery(config?: OpencodeConfig | null): boolean;
|
|
120
|
+
/** Stops the discovery loop (test cleanup / server shutdown). */
|
|
121
|
+
export declare function stopOpencodeDiscovery(): Promise<void>;
|
|
122
|
+
export {};
|
|
123
|
+
//# sourceMappingURL=opencode-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-client.d.ts","sourceRoot":"","sources":["../../src/web-server/opencode-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,2BAA2B,CAAC;AAanC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,GAAG,IAAI,CAc9F;AAYD,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAiCf;AAMD,MAAM,WAAW,0BAA0B;IACzC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAyCjC;AAeD,UAAU,mBAAmB;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC;QAC3B,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5B,CAAC;CACH;AAQD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI,CAuBjF;AA2DD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,sBAAsB,IAAI,sBAAsB,CAE/D;AAoQD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,wBAAuB,GAAG,OAAO,CAW7E;AAED,iEAAiE;AACjE,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa3D"}
|