@inharness-ai/claude4spec 1.0.20 → 1.0.22
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/.claude/skills/c4s-brief-implementer/SKILL.md +117 -57
- package/CHANGELOG.md +26 -0
- package/dist/bin/c4s/commands/agent.d.ts +18 -0
- package/dist/bin/c4s/commands/agent.js +102 -0
- package/dist/bin/c4s/commands/agent.js.map +1 -0
- package/dist/bin/c4s/commands/ask.d.ts +9 -8
- package/dist/bin/c4s/commands/ask.js +23 -31
- package/dist/bin/c4s/commands/ask.js.map +1 -1
- package/dist/bin/c4s/commands/catalog.d.ts +1 -1
- package/dist/bin/c4s/commands/catalog.js +2 -2
- package/dist/bin/c4s/commands/catalog.js.map +1 -1
- package/dist/bin/c4s/commands/describe.d.ts +1 -1
- package/dist/bin/c4s/commands/describe.js +2 -2
- package/dist/bin/c4s/commands/describe.js.map +1 -1
- package/dist/bin/c4s/commands/detail.d.ts +1 -1
- package/dist/bin/c4s/commands/detail.js +2 -2
- package/dist/bin/c4s/commands/detail.js.map +1 -1
- package/dist/bin/c4s/commands/element-list.d.ts +1 -1
- package/dist/bin/c4s/commands/element-list.js +2 -2
- package/dist/bin/c4s/commands/element-list.js.map +1 -1
- package/dist/bin/c4s/commands/find-references.js +1 -1
- package/dist/bin/c4s/commands/find-references.js.map +1 -1
- package/dist/bin/c4s/commands/inline-mention.d.ts +1 -1
- package/dist/bin/c4s/commands/inline-mention.js +2 -2
- package/dist/bin/c4s/commands/inline-mention.js.map +1 -1
- package/dist/bin/c4s/commands/list-slugs.d.ts +1 -1
- package/dist/bin/c4s/commands/list-slugs.js +2 -2
- package/dist/bin/c4s/commands/list-slugs.js.map +1 -1
- package/dist/bin/c4s/commands/list-tags.d.ts +1 -1
- package/dist/bin/c4s/commands/list-tags.js +2 -2
- package/dist/bin/c4s/commands/list-tags.js.map +1 -1
- package/dist/bin/c4s/commands/plugins.d.ts +9 -0
- package/dist/bin/c4s/commands/plugins.js +81 -0
- package/dist/bin/c4s/commands/plugins.js.map +1 -0
- package/dist/bin/c4s/commands/resolve.d.ts +1 -1
- package/dist/bin/c4s/commands/resolve.js +2 -2
- package/dist/bin/c4s/commands/resolve.js.map +1 -1
- package/dist/bin/c4s/commands/single-element.d.ts +1 -1
- package/dist/bin/c4s/commands/single-element.js +2 -2
- package/dist/bin/c4s/commands/single-element.js.map +1 -1
- package/dist/bin/c4s/commands/tagged-list-mixed.d.ts +1 -1
- package/dist/bin/c4s/commands/tagged-list-mixed.js +2 -2
- package/dist/bin/c4s/commands/tagged-list-mixed.js.map +1 -1
- package/dist/bin/c4s/commands/tagged-list.d.ts +1 -1
- package/dist/bin/c4s/commands/tagged-list.js +2 -2
- package/dist/bin/c4s/commands/tagged-list.js.map +1 -1
- package/dist/bin/c4s/context.d.ts +3 -3
- package/dist/bin/c4s/context.js +7 -4
- package/dist/bin/c4s/context.js.map +1 -1
- package/dist/bin/c4s/errors.d.ts +1 -1
- package/dist/bin/c4s/errors.js.map +1 -1
- package/dist/bin/c4s-mcp.js +6 -2
- package/dist/bin/c4s-mcp.js.map +1 -1
- package/dist/bin/c4s.js +19 -4
- package/dist/bin/c4s.js.map +1 -1
- package/dist/bin/gitignore.js +7 -11
- package/dist/bin/gitignore.js.map +1 -1
- package/dist/client/assets/{arc-qrIe4IVl.js → arc-C9oTB3b1.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-CF6sgG8n.js → architectureDiagram-3BPJPVTR-Bno5ViqK.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-Cf8Tx0VN.js → blockDiagram-GPEHLZMM-CJYBoeWQ.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-BDkuMEyf.js → c4Diagram-AAUBKEIU-DaaqWE6s.js} +1 -1
- package/dist/client/assets/channel-Cei_E79M.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-ChycTonk.js → chunk-2J33WTMH-P_I0OPMy.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-BpUgWjxx.js → chunk-4BX2VUAB-CCySMlh5.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CeHg_yjT.js → chunk-55IACEB6-CEUyqKGF.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-BpxYq7ab.js → chunk-727SXJPM-CoTSYOVz.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-bghkOtr6.js → chunk-AQP2D5EJ-DB0nMxPr.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-4sXokGgd.js → chunk-FMBD7UC4-PG3m6-_a.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-DYQOCE5T.js → chunk-ND2GUHAM-CBNk6IaV.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-NkVuDlFD.js → chunk-QZHKN3VN-CLFa0WvN.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DUe_fAto.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DUe_fAto.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-1l4P4WRI.js → cose-bilkent-S5V4N54A-BDwDDxHN.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-CSQie-gR.js → dagre-BM42HDAG-DR-1e8N5.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-DME9ULoN.js → diagram-2AECGRRQ-C-tHgBWt.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-Dn1Rw5k5.js → diagram-5GNKFQAL-uLmoKaJL.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-Duh_PNWR.js → diagram-KO2AKTUF-8Fd-xuOy.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-B7Q5pV60.js → diagram-LMA3HP47-C1gniWsn.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-C0KL_RDd.js → diagram-OG6HWLK6-BMWjZbeC.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-D5elfwSC.js → erDiagram-TEJ5UH35-CIUO8hrR.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-BHmjX-WI.js → flowDiagram-I6XJVG4X-Ccw5YEf3.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-KvoGFbS2.js → ganttDiagram-6RSMTGT7-BAvlf8cY.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DsZL8BfK.js → gitGraphDiagram-PVQCEYII-ChCkdYar.js} +1 -1
- package/dist/client/assets/{index-zzILqHQN.js → index-BotCWOKC.js} +1 -1
- package/dist/client/assets/index-CtdzGyqj.js +805 -0
- package/dist/client/assets/{index-ClaVbrEF.js → index-DtpKHGD1.js} +1 -1
- package/dist/client/assets/{infoDiagram-5YYISTIA-DoQ6iSpJ.js → infoDiagram-5YYISTIA-CZMGwNyB.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-akftyN0J.js → ishikawaDiagram-YF4QCWOH-CubjZGk6.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-PPex4PiV.js → journeyDiagram-JHISSGLW-DzwOyVzB.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-D114i3s1.js → kanban-definition-UN3LZRKU-CXznoTY9.js} +1 -1
- package/dist/client/assets/{linear-BuwQPJom.js → linear-EDwTFRrU.js} +1 -1
- package/dist/client/assets/{mermaid.core-CMX3GAvM.js → mermaid.core-Lae2097R.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-ClBxWJju.js → mindmap-definition-RKZ34NQL-DFjIW41g.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-hj5zVPj5.js → pieDiagram-4H26LBE5-CZDLR1jd.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CRbR0G7M.js → quadrantDiagram-W4KKPZXB-CTGDzbqp.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-Dto4B70I.js → requirementDiagram-4Y6WPE33-CeH0NbMv.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DyYP8rwY.js → sankeyDiagram-5OEKKPKP-B6ZTjurV.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C-mrSLrJ.js → sequenceDiagram-3UESZ5HK-DcTRztVx.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-IoDlhAe6.js → stateDiagram-AJRCARHV-nUgRVZSA.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-D9pJuQbI.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-DEXg3TEw.js → timeline-definition-PNZ67QCA-CXm5n4rV.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-CNu7LaT1.js → vennDiagram-CIIHVFJN-EmNJBYNd.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-0hGvREmD.js → wardley-L42UT6IY-MLrlp8H-.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CVLz-xFz.js → wardleyDiagram-YWT4CUSO-5QoES25n.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-CFymKAcX.js → xychartDiagram-2RQKCTM6-CbDEQbY0.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/core/agent/run-agent.d.ts +61 -0
- package/dist/core/agent/run-agent.js +212 -0
- package/dist/core/agent/run-agent.js.map +1 -0
- package/dist/core/ask/run-ask.d.ts +1 -1
- package/dist/core/ask/run-ask.js +14 -5
- package/dist/core/ask/run-ask.js.map +1 -1
- package/dist/core/workspace/resolve.d.ts +2 -0
- package/dist/core/workspace/resolve.js +2 -1
- package/dist/core/workspace/resolve.js.map +1 -1
- package/dist/plugin-types/ambient.d.ts +30 -0
- package/dist/plugin-types/plugin-runtime.d.ts +172 -0
- package/dist/plugin-types/ui.d.ts +154 -0
- package/dist/server/config.d.ts +12 -0
- package/dist/server/config.js +26 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/core/plugin-host/__fixtures__/plugins.d.ts +14 -0
- package/dist/server/core/plugin-host/__fixtures__/plugins.js +56 -0
- package/dist/server/core/plugin-host/__fixtures__/plugins.js.map +1 -0
- package/dist/server/core/plugin-host/base-packages.d.ts +14 -0
- package/dist/server/core/plugin-host/base-packages.js +26 -0
- package/dist/server/core/plugin-host/base-packages.js.map +1 -0
- package/dist/server/core/plugin-host/cache-bust.d.ts +10 -0
- package/dist/server/core/plugin-host/cache-bust.js +21 -0
- package/dist/server/core/plugin-host/cache-bust.js.map +1 -0
- package/dist/server/core/plugin-host/cli-engine.d.ts +7 -2
- package/dist/server/core/plugin-host/cli-engine.js +11 -3
- package/dist/server/core/plugin-host/cli-engine.js.map +1 -1
- package/dist/server/core/plugin-host/cli-plugins.d.ts +23 -0
- package/dist/server/core/plugin-host/cli-plugins.js +49 -0
- package/dist/server/core/plugin-host/cli-plugins.js.map +1 -0
- package/dist/server/core/plugin-host/cross-cutting.d.ts +41 -4
- package/dist/server/core/plugin-host/cross-cutting.js +52 -4
- package/dist/server/core/plugin-host/cross-cutting.js.map +1 -1
- package/dist/server/core/plugin-host/entities-router.d.ts +2 -1
- package/dist/server/core/plugin-host/entities-router.js +16 -1
- package/dist/server/core/plugin-host/entities-router.js.map +1 -1
- package/dist/server/core/plugin-host/frontend-assets.d.ts +100 -0
- package/dist/server/core/plugin-host/frontend-assets.js +262 -0
- package/dist/server/core/plugin-host/frontend-assets.js.map +1 -0
- package/dist/server/core/plugin-host/frontend-manifest.d.ts +33 -0
- package/dist/server/core/plugin-host/frontend-manifest.js +52 -0
- package/dist/server/core/plugin-host/frontend-manifest.js.map +1 -0
- package/dist/server/core/plugin-host/loader.d.ts +107 -0
- package/dist/server/core/plugin-host/loader.js +196 -0
- package/dist/server/core/plugin-host/loader.js.map +1 -0
- package/dist/server/core/plugin-host/manifest-adapter.d.ts +30 -0
- package/dist/server/core/plugin-host/manifest-adapter.js +119 -0
- package/dist/server/core/plugin-host/manifest-adapter.js.map +1 -0
- package/dist/server/core/plugin-host/overlay-loader.d.ts +60 -0
- package/dist/server/core/plugin-host/overlay-loader.js +243 -0
- package/dist/server/core/plugin-host/overlay-loader.js.map +1 -0
- package/dist/server/core/plugin-host/plugin-watcher.d.ts +41 -0
- package/dist/server/core/plugin-host/plugin-watcher.js +95 -0
- package/dist/server/core/plugin-host/plugin-watcher.js.map +1 -0
- package/dist/server/core/plugin-host/project-host.d.ts +8 -2
- package/dist/server/core/plugin-host/project-host.js +56 -6
- package/dist/server/core/plugin-host/project-host.js.map +1 -1
- package/dist/server/core/plugin-host/registry.d.ts +26 -2
- package/dist/server/core/plugin-host/registry.js +107 -2
- package/dist/server/core/plugin-host/registry.js.map +1 -1
- package/dist/server/core/plugin-host/runtime-shims.d.ts +26 -0
- package/dist/server/core/plugin-host/runtime-shims.js +96 -0
- package/dist/server/core/plugin-host/runtime-shims.js.map +1 -0
- package/dist/server/core/plugin-host/types.d.ts +105 -3
- package/dist/server/db/migrations/041_chat_thread_transagent.sql +22 -0
- package/dist/server/db/migrations/042_chat_thread_drop_context_type_check.sql +61 -0
- package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
- package/dist/server/external-skills/brief-implementer-template.js +5 -2
- package/dist/server/external-skills/brief-implementer-template.js.map +1 -1
- package/dist/server/external-skills/spec-reader-template.d.ts +1 -1
- package/dist/server/external-skills/spec-reader-template.js +14 -0
- package/dist/server/external-skills/spec-reader-template.js.map +1 -1
- package/dist/server/index.js +98 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp/c4s-tools.d.ts +6 -1
- package/dist/server/mcp/c4s-tools.js +18 -13
- package/dist/server/mcp/c4s-tools.js.map +1 -1
- package/dist/server/mcp/release-tools/index.d.ts +11 -0
- package/dist/server/mcp/release-tools/index.js +68 -5
- package/dist/server/mcp/release-tools/index.js.map +1 -1
- package/dist/server/mcp/release-tools/projection.d.ts +11 -2
- package/dist/server/mcp/release-tools/projection.js +36 -7
- package/dist/server/mcp/release-tools/projection.js.map +1 -1
- package/dist/server/mcp/release-tools/types.d.ts +39 -2
- package/dist/server/mcp/transagent-tools.d.ts +26 -0
- package/dist/server/mcp/transagent-tools.js +75 -0
- package/dist/server/mcp/transagent-tools.js.map +1 -0
- package/dist/server/plugin-runtime/index.d.ts +17 -0
- package/dist/server/plugin-runtime/index.js +16 -0
- package/dist/server/plugin-runtime/index.js.map +1 -0
- package/dist/server/plugin-runtime/ui.d.ts +15 -0
- package/dist/server/plugin-runtime/ui.js +15 -0
- package/dist/server/plugin-runtime/ui.js.map +1 -0
- package/dist/server/routes/agent-turn.d.ts +17 -1
- package/dist/server/routes/agent-turn.js +121 -36
- package/dist/server/routes/agent-turn.js.map +1 -1
- package/dist/server/routes/briefs.js +12 -4
- package/dist/server/routes/briefs.js.map +1 -1
- package/dist/server/routes/chat.js +18 -0
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/server/routes/config.d.ts +8 -0
- package/dist/server/routes/config.js +41 -3
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/plans.js +13 -0
- package/dist/server/routes/plans.js.map +1 -1
- package/dist/server/routes/plugins.d.ts +43 -0
- package/dist/server/routes/plugins.js +93 -0
- package/dist/server/routes/plugins.js.map +1 -0
- package/dist/server/routes/threads.js +30 -5
- package/dist/server/routes/threads.js.map +1 -1
- package/dist/server/serialization/registerAll.d.ts +4 -0
- package/dist/server/serialization/registerAll.js +4 -2
- package/dist/server/serialization/registerAll.js.map +1 -1
- package/dist/server/services/brief.d.ts +30 -8
- package/dist/server/services/brief.js +58 -28
- package/dist/server/services/brief.js.map +1 -1
- package/dist/server/services/chat-context.d.ts +34 -0
- package/dist/server/services/chat-context.js +68 -21
- package/dist/server/services/chat-context.js.map +1 -1
- package/dist/server/services/chat.d.ts +18 -1
- package/dist/server/services/chat.js +74 -23
- package/dist/server/services/chat.js.map +1 -1
- package/dist/server/services/entity-indexer.js +21 -14
- package/dist/server/services/entity-indexer.js.map +1 -1
- package/dist/server/services/entity-writer.d.ts +2 -3
- package/dist/server/services/entity-writer.js.map +1 -1
- package/dist/server/services/plan.d.ts +7 -1
- package/dist/server/services/plan.js +17 -4
- package/dist/server/services/plan.js.map +1 -1
- package/dist/server/services/skill-registry.d.ts +31 -2
- package/dist/server/services/skill-registry.js +73 -1
- package/dist/server/services/skill-registry.js.map +1 -1
- package/dist/server/services/transagent-dispatcher.d.ts +60 -0
- package/dist/server/services/transagent-dispatcher.js +147 -0
- package/dist/server/services/transagent-dispatcher.js.map +1 -0
- package/dist/server/skills/brief-author/SKILL.md +26 -17
- package/dist/server/workspace/context-cache.d.ts +9 -0
- package/dist/server/workspace/context-cache.js +14 -0
- package/dist/server/workspace/context-cache.js.map +1 -1
- package/dist/server/workspace/project-context.d.ts +3 -0
- package/dist/server/workspace/project-context.js +108 -5
- package/dist/server/workspace/project-context.js.map +1 -1
- package/dist/server/workspace/registry.d.ts +28 -1
- package/dist/server/workspace/registry.js +57 -1
- package/dist/server/workspace/registry.js.map +1 -1
- package/dist/server/workspace/types.d.ts +15 -0
- package/dist/shared/entities.d.ts +50 -4
- package/dist/shared/entities.js +1 -0
- package/dist/shared/entities.js.map +1 -1
- package/dist/shared/plugin-host/frontend-manifest.d.ts +56 -0
- package/dist/shared/plugin-host/frontend-manifest.js +89 -0
- package/dist/shared/plugin-host/frontend-manifest.js.map +1 -0
- package/dist/shared/plugin-host/host-api.d.ts +60 -0
- package/dist/shared/plugin-host/host-api.js +67 -0
- package/dist/shared/plugin-host/host-api.js.map +1 -0
- package/dist/shared/plugin-host/manifest.d.ts +194 -0
- package/dist/shared/plugin-host/manifest.js +52 -0
- package/dist/shared/plugin-host/manifest.js.map +1 -0
- package/dist/shared/plugin-host/ui-kit-surface.d.ts +22 -0
- package/dist/shared/plugin-host/ui-kit-surface.js +25 -0
- package/dist/shared/plugin-host/ui-kit-surface.js.map +1 -0
- package/dist/shared/types.d.ts +5 -0
- package/package.json +18 -3
- package/dist/client/assets/channel-CTF_J4I4.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-Dt9RLC8r.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Dt9RLC8r.js +0 -1
- package/dist/client/assets/index-DnLELaLA.js +0 -798
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BblFLijq.js +0 -1
|
@@ -21,15 +21,17 @@ The system prompt already binds you to the **self-contained invariant**: the bri
|
|
|
21
21
|
**Available tools:**
|
|
22
22
|
- `get_brief` — read the current brief state. Returns `{ frontmatter, body, content, hash }`. Use `hash` as `expectedHash` for the next `update_brief` to detect concurrent edits.
|
|
23
23
|
- `update_brief` — edit the body via `replace`, `append`, or `insert_after_section`. You CANNOT modify frontmatter (immutable: `type`, `from_release`, `to_release`, `generated_at`, `generator_version`).
|
|
24
|
-
- `release-tools` (read-only) — `
|
|
24
|
+
- `release-tools` (read-only) — `release_diff(fromIdOrName, toIdOrName, include?, entityTypes?, summaryOnly?, limit?, offset?)` is the spec tool you call (`release_list` / `release_show` exist but are NOT needed for authoring). It projects to a self-contained `MCPReleaseDiff` in **two modes**:
|
|
25
|
+
- `summaryOnly: true` → a light **delta-map**: `total` + identifier lists `{ type, slug, name, op }` / `{ path, op }` (incl. `op:'delete'`), with NO `before`/`after`/`content`. Lists are FULL — the window does not trim the map.
|
|
26
|
+
- default heavy mode → full `before`/`after` snapshots, but **paginated**: `limit` (default **5**, no upper bound) and `offset` (default 0) apply independently to `entities[]` and `pages[]`; `total` reports the full count after filters, before the window. A bare `release_diff(from, to)` therefore returns only the first 5 of each — windowing is mandatory at scale.
|
|
27
|
+
- `Task` — spawn a parallel **`diff-explore`** subagent (read-only `release-tools` + `Read`) to absorb the heavy bulk of one diff slice and return a concise distillate, keeping YOUR context small.
|
|
25
28
|
|
|
26
|
-
**`release-tools` is the ONLY plugin MCP
|
|
29
|
+
**`release-tools` is the ONLY plugin MCP in this thread.** There is no `get_endpoint` / `get_dto` / `get_database-table` / `get_ui-view` / `get_ac`, and you do NOT reach for current spec state (`Read pages/...`, the entity graph) — by convention, so the brief stays reproducible from the diff alone. The `release_diff` output is your entire ground truth: the `summaryOnly` map for orchestration, and the full per-slice snapshots which `diff-explore` subagents read on your behalf. **Self-containment ≠ one round-trip** — you make ≥2 calls (a `summaryOnly` probe, then per-slice diffs), and the heavy bulk lives in subagents, never in your context.
|
|
27
30
|
|
|
28
31
|
**You cannot:**
|
|
29
|
-
- Read or write any file on disk (no `Read`, `Write`, `Edit`, `Glob`, `Grep`, `Bash`).
|
|
30
32
|
- Mutate any entity, page, plan, or release. Briefs are write-side only.
|
|
31
33
|
- Modify brief frontmatter (immutable to agents — only the user can toggle `archived` via the UI Settings popover).
|
|
32
|
-
-
|
|
34
|
+
- Reach for current spec state (`Read pages/...`, `get_<type>`, entity graph) to ground the brief — that returns HEAD and breaks the brief's historical self-containment. Drill-down over a release slice happens inside a `diff-explore` subagent, against the historical diff/dump only — never current state.
|
|
33
35
|
|
|
34
36
|
---
|
|
35
37
|
|
|
@@ -39,24 +41,30 @@ The system prompt already binds you to the **self-contained invariant**: the bri
|
|
|
39
41
|
|
|
40
42
|
Triggered when `get_brief` returns a brief whose body contains only the H1 heading (or is otherwise empty).
|
|
41
43
|
|
|
42
|
-
**Initial brief detection:** if `frontmatter.from_release === null`, this is an *initial brief* — there is no previous release.
|
|
44
|
+
**Initial brief detection:** if `frontmatter.from_release === null`, this is an *initial brief* — there is no previous release. The probe is `release_diff({ fromIdOrName: null, toIdOrName: <to_release>, summaryOnly: true })`: every entry is `op: 'create'`. Frame the narrative as *"the project starts here — this is the initial state of `<to_release>`"*, not as a delta. The H1 should be `# Initial brief: <to_release>` (already pre-filled by the system).
|
|
45
|
+
|
|
46
|
+
**The authoring loop is map → fan-out → compose.** You orchestrate; you never pull the whole diff into your own context.
|
|
43
47
|
|
|
44
48
|
1. Call `get_brief` to confirm `frontmatter.from_release` and `frontmatter.to_release` and capture `hash`.
|
|
45
|
-
2. Call `
|
|
46
|
-
3. **
|
|
47
|
-
4. **
|
|
48
|
-
5. **
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
2. **Probe — the delta-map.** Call `release_diff({ fromIdOrName, toIdOrName, summaryOnly: true })`. You get `total` + the full identifier lists (`{ type, slug, name, op }` / `{ path, op }`, including `op:'delete'`) — *what* changed, with zero bulk. This map is your orchestration plan. **Do NOT use `release_show` for it** — it has no `from`, so it would silently miss deletes.
|
|
50
|
+
3. **Partition.** Split the map into **disjoint slices** that together cover EVERY slug and path (including deletes) — this completeness is on you; a missed slice is a silently incomplete brief. Slice by `entityTypes` and/or by `limit`/`offset` windows. Narrow with `include`/`entityTypes` if the brief is topically scoped (e.g. only endpoints).
|
|
51
|
+
4. **Fan out.** For each slice, spawn a `diff-explore` subagent **in parallel** via `Task`. Tell it the `from`/`to` and its exact slice (`entityTypes` and/or `limit`/`offset`); it calls heavy `release_diff` for that slice, absorbs the `before`/`after`/`content`, and returns a concise **distillate** — the facts to inline (signatures, field shapes, SQL, paths), not the raw dump. The bulk stays in the subagent; you keep the map + distillates. *(A tiny diff that comfortably fits may instead be read directly with one heavy windowed call.)*
|
|
52
|
+
5. **Filter through the active writing style's `workflows/brief.md`** — what counts as feature substance (keep, translate, inline) vs. spec-format convention (drop) vs. editorial noise (drop) for this methodology — and mine the distillates for inlinable content.
|
|
53
|
+
|
|
54
|
+
When you (or a delegated `diff-explore`) read a heavy slice, interpret its entries by `op` — these are the rules each distillate must honour:
|
|
55
|
+
- **`op: 'update'`**: compare `MCPEntityDelta.before` vs `after` directly — both are full serializer snapshots. Describe the diff in prose; every slug/field/value you need is in the snapshot (no drill-down against current state).
|
|
56
|
+
- **`op: 'create'`**: read `MCPEntityDelta.after` for inline content. You MAY insert `<inline_mention type="<type>" slug="<slug>"/>` for the claude4spec UI audience — it renders as a live entity view. The second-audience terminal sees the literal tag; treat mentions as supplements, never substitutes for inlined content.
|
|
57
|
+
- **`op: 'delete'`**: only `before` is present. Frame the deletion in prose; the reader needs to know what disappeared, not what replaced it (often nothing).
|
|
58
|
+
- **`MCPPageDelta.sections[i]`**: use `before` / `after` raw markdown directly. NEVER consume `line_diff` — there is none in this payload. For `op: 'move'`, both fields are absent (content unchanged, position shifted) — usually drop unless ordering itself is the user-visible change.
|
|
59
|
+
- **`MCPPageDelta.frontmatter` / `xmlRefs`**: present iff changed. Read only when relevant (e.g. `pageType: module → layer`). Default: ignore — metadata, not content.
|
|
60
|
+
|
|
61
|
+
6. Compose a narrative that:
|
|
54
62
|
- Opens with a short summary (2–4 sentences) describing the *intent* of the release. The reader should learn *why* in the first paragraph.
|
|
55
63
|
- Groups changes by user-visible theme (new capabilities, breaking changes, internal refactors), not by entity type or by spec page.
|
|
56
64
|
- For each theme: state what the system now does in plain prose and **inline the change content** per the writing style's patterns.
|
|
57
65
|
- Closes with a **For implementers** section — concrete edit targets per the writing style's structure.
|
|
58
|
-
|
|
59
|
-
|
|
66
|
+
7. **Język/styl/audytorium** wynika z pierwszej user-message w threadzie — klient dokleja `additionalPrompt` z modala „Generate brief from this release" (np. *„po polsku, dla juniora, ton formalny"*). Jeśli pierwsza wiadomość zawiera takie wytyczne, uszanuj je. Domyślnie pisz w angielskim, krótkimi deklaratywnymi zdaniami.
|
|
67
|
+
8. Submit via `update_brief({ action: 'replace', content: <full markdown body>, expectedHash: <hash from step 1>, changeSummary: 'initial generation' })`.
|
|
60
68
|
|
|
61
69
|
### Branch B — Editorial (body already exists)
|
|
62
70
|
|
|
@@ -77,7 +85,7 @@ Triggered when `get_brief` returns a brief with non-trivial body content.
|
|
|
77
85
|
|
|
78
86
|
Two rules sit above any methodology-specific guidance:
|
|
79
87
|
|
|
80
|
-
1.
|
|
88
|
+
1. **`release_diff` is your only source — never current state.** There is no fetch-on-demand path against HEAD in this thread — no `get_<type>`, no `Read pages/...`. Everything comes from `release_diff`: the `summaryOnly` map for orchestration, and the full `before`/`after` snapshots inside each slice (read by you for a tiny diff, or distilled by a `diff-explore` subagent at scale). Whenever a change involves a concrete artefact — DTO field, endpoint signature, SQL, view URL, code snippet — paste it into the brief (carry it through the subagent's distillate when you fan out). The reader cannot fetch it on demand. Phrases like *"see the release diff"*, *"per the spec page"*, or *"as defined elsewhere"* are failures.
|
|
81
89
|
2. **Describe the SYSTEM, not the spec edits.** The brief is about how the specified system behaves now vs. before — not about which markdown files gained/lost sections. Editorial mechanics (anchor injection, section reorder without content change, typo, prose smoothing, comment edit, heading rename without semantic shift) belong in version history, not in the brief. *Drop them.*
|
|
82
90
|
|
|
83
91
|
- GOOD: *"Brief threads whitelist their toolset — only `brief-tools` and `release-tools` are mounted; plan/entity MCPs are silently omitted to keep the editorial agent on its lane."*
|
|
@@ -111,6 +119,7 @@ If after filtering nothing substantive remains in a release, say so explicitly:
|
|
|
111
119
|
| `VERSION_NOT_FOUND` | The version number you passed does not exist. List versions first. |
|
|
112
120
|
| `INVALID_INCLUDE_FILTER` | `release_diff` / `release_show` rejected an empty `include` array. Drop the arg to fall back to defaults (`['pages','entities']`). |
|
|
113
121
|
| `INVALID_ENTITY_TYPES_FILTER` | Empty `entityTypes` array. Drop the arg to fall back to defaults (all 5 types). |
|
|
122
|
+
| `INVALID_PAGINATION` | Negative `limit`/`offset` on `release_diff`. Use `>= 0` (or omit — defaults are `limit: 5`, `offset: 0`). |
|
|
114
123
|
| `CONFLICTING_FILTERS` | You passed `entityTypes` without `'entities'` in `include`. Either add `'entities'` to `include` or drop `entityTypes`. |
|
|
115
124
|
|
|
116
125
|
If `release-tools.release_diff` returns an empty diff (both `entities` and `pages` empty — e.g. `from === to`), report that to the user — do not fabricate changes.
|
|
@@ -31,6 +31,15 @@ export declare class ProjectContextCache {
|
|
|
31
31
|
* parked in `retired` and disposed once idle). The next request rebuilds.
|
|
32
32
|
*/
|
|
33
33
|
invalidate(projectId: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* M33 phase 3: invalidate every cached context — used when the process-global
|
|
36
|
+
* base plugin pool changes (the base catalog is shared, so a base reload
|
|
37
|
+
* invalidates ALL dependent contexts). Same fire-and-forget semantics as
|
|
38
|
+
* `invalidate`; in-flight turns finish on their captured (old) context.
|
|
39
|
+
*/
|
|
40
|
+
invalidateAll(): void;
|
|
41
|
+
/** Project ids with a cached (ready/building/failed) entry — for targeted WS broadcasts. */
|
|
42
|
+
liveProjectIds(): string[];
|
|
34
43
|
/**
|
|
35
44
|
* Purge path: drop the entry and AWAIT its dispose (unlike fire-and-forget
|
|
36
45
|
* `invalidate`) so the db handle is closed before the caller `fs.rm`s the
|
|
@@ -77,6 +77,20 @@ export class ProjectContextCache {
|
|
|
77
77
|
}
|
|
78
78
|
this.reapIdle();
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* M33 phase 3: invalidate every cached context — used when the process-global
|
|
82
|
+
* base plugin pool changes (the base catalog is shared, so a base reload
|
|
83
|
+
* invalidates ALL dependent contexts). Same fire-and-forget semantics as
|
|
84
|
+
* `invalidate`; in-flight turns finish on their captured (old) context.
|
|
85
|
+
*/
|
|
86
|
+
invalidateAll() {
|
|
87
|
+
for (const id of [...this.entries.keys()])
|
|
88
|
+
this.invalidate(id);
|
|
89
|
+
}
|
|
90
|
+
/** Project ids with a cached (ready/building/failed) entry — for targeted WS broadcasts. */
|
|
91
|
+
liveProjectIds() {
|
|
92
|
+
return [...this.entries.keys()];
|
|
93
|
+
}
|
|
80
94
|
/**
|
|
81
95
|
* Purge path: drop the entry and AWAIT its dispose (unlike fire-and-forget
|
|
82
96
|
* `invalidate`) so the db handle is closed before the caller `fs.rm`s the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-cache.js","sourceRoot":"","sources":["../../../src/server/workspace/context-cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-cache.js","sourceRoot":"","sources":["../../../src/server/workspace/context-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { type Db } from '../db/index.js';
|
|
|
3
3
|
import type { WsGateway } from '../ws/gateway.js';
|
|
4
4
|
import type { PluginRegistry, ProjectPluginHost } from '../core/plugin-host/types.js';
|
|
5
5
|
import { SerializationEngine } from '../core/plugin-host/serialization-engine.js';
|
|
6
|
+
import type { PluginLoadRecord } from '../core/plugin-host/loader.js';
|
|
6
7
|
import type { ActiveAdapter, PendingInput } from '../routes/agent-turn.js';
|
|
7
8
|
import { ProjectWsEmitter } from '../ws/project-emitter.js';
|
|
8
9
|
import type { WorkspaceRegistry } from './registry.js';
|
|
@@ -11,6 +12,8 @@ export interface ProjectContextDeps {
|
|
|
11
12
|
registry: WorkspaceRegistry;
|
|
12
13
|
/** Process-immutable plugin catalog — consolidated per context. */
|
|
13
14
|
pluginRegistry: PluginRegistry;
|
|
15
|
+
/** M33: base-layer (workspace/npm) loader records, for per-project /_meta/plugins. */
|
|
16
|
+
pluginRecords: PluginLoadRecord[];
|
|
14
17
|
workspace: WorkspaceRecord;
|
|
15
18
|
cwd: string;
|
|
16
19
|
gateway: WsGateway;
|
|
@@ -60,6 +60,9 @@ import { configRouter } from '../routes/config.js';
|
|
|
60
60
|
import { SerializationEngine } from '../core/plugin-host/serialization-engine.js';
|
|
61
61
|
import { sectionSerializer } from '../serialization/serializers/section.js';
|
|
62
62
|
import { pluginHostRouter } from '../core/plugin-host/cross-cutting.js';
|
|
63
|
+
import { enumerateOverlayPackages, loadProjectOverlay, projectPluginsDir, } from '../core/plugin-host/overlay-loader.js';
|
|
64
|
+
import { PluginWatcher } from '../core/plugin-host/plugin-watcher.js';
|
|
65
|
+
import { buildBasePluginPackages } from '../routes/plugins.js';
|
|
63
66
|
import { ProjectWsEmitter } from '../ws/project-emitter.js';
|
|
64
67
|
import { projectIdForCwd } from './project-id.js';
|
|
65
68
|
import { ensureWelcomePage } from './bootstrap.js';
|
|
@@ -98,6 +101,23 @@ function backupDbBeforeMigration(slotDir) {
|
|
|
98
101
|
console.warn('[m29] db backup failed:', err.message);
|
|
99
102
|
}
|
|
100
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* M33 phase 3: map changed overlay paths back to the package dir name(s) under
|
|
106
|
+
* `<cwd>/.claude4spec/plugins/`. A change anywhere inside `plugins/<pkg>/...`
|
|
107
|
+
* (or to the dir itself) attributes to `<pkg>`.
|
|
108
|
+
*/
|
|
109
|
+
function affectedOverlayPackages(pluginsDir, changedPaths) {
|
|
110
|
+
const pkgs = new Set();
|
|
111
|
+
for (const p of changedPaths) {
|
|
112
|
+
const rel = path.relative(pluginsDir, p);
|
|
113
|
+
if (rel === '' || rel.startsWith('..') || path.isAbsolute(rel))
|
|
114
|
+
continue;
|
|
115
|
+
const seg = rel.split(path.sep)[0];
|
|
116
|
+
if (seg)
|
|
117
|
+
pkgs.add(seg);
|
|
118
|
+
}
|
|
119
|
+
return [...pkgs];
|
|
120
|
+
}
|
|
101
121
|
/**
|
|
102
122
|
* M31: builds one fully-wired project — DB, services, watchers, indexers and
|
|
103
123
|
* the per-context router. Mechanical carve of the former startServer body;
|
|
@@ -188,15 +208,50 @@ async function buildInner(deps, cleanup) {
|
|
|
188
208
|
// here. An unreachable-but-valid host lets the project build succeed; the
|
|
189
209
|
// reachability error surfaces at the first remote action as a graceful failure.
|
|
190
210
|
const remoteApiUrl = deps.remoteApiUrl ?? bootConfig.remoteApiUrl;
|
|
191
|
-
|
|
211
|
+
// M33 phase 2: project-local plugin overlay, behind the machine-local
|
|
212
|
+
// `trustProjectPlugins` gate. Untrusted/undecided ⇒ no overlay is built and no
|
|
213
|
+
// project-committed code runs; its types stay out of the effective pool and are
|
|
214
|
+
// reported as `untrusted` in /_meta/plugins. The trust prompt surfaces on the
|
|
215
|
+
// client when `localPluginsPresent && trust === undefined`.
|
|
216
|
+
const localPackages = enumerateOverlayPackages(cwd);
|
|
217
|
+
const localPluginsPresent = localPackages.length > 0;
|
|
218
|
+
const trust = registry.getProjectTrust(workspace, projectId);
|
|
219
|
+
let overlay;
|
|
220
|
+
let overlayRecords = [];
|
|
221
|
+
let overlayResult;
|
|
222
|
+
if (localPluginsPresent && trust === true) {
|
|
223
|
+
overlayResult = await loadProjectOverlay(cwd);
|
|
224
|
+
overlay = overlayResult.overlay;
|
|
225
|
+
overlayRecords = overlayResult.records;
|
|
226
|
+
}
|
|
227
|
+
else if (localPluginsPresent) {
|
|
228
|
+
overlayRecords = localPackages.map((pkg) => ({
|
|
229
|
+
package: pkg,
|
|
230
|
+
status: 'skipped',
|
|
231
|
+
code: 'PLUGIN_PROJECT_UNTRUSTED',
|
|
232
|
+
reason: 'project plugins not trusted on this machine (trustProjectPlugins)',
|
|
233
|
+
layer: 'overlay',
|
|
234
|
+
trust: 'untrusted',
|
|
235
|
+
origin: path.join('.claude4spec', 'plugins', pkg),
|
|
236
|
+
}));
|
|
237
|
+
}
|
|
238
|
+
// M15 phase 2: fan plugin-contributed writing styles into this project's
|
|
239
|
+
// SkillRegistry as `source: "plugin"` (precedence project > global > plugin >
|
|
240
|
+
// bundled). Base (workspace/npm) styles always; project-local overlay styles
|
|
241
|
+
// only on the trusted path (overlayResult is set only when trust === true),
|
|
242
|
+
// so an untrusted plugin contributes no style — exactly as for its entities.
|
|
243
|
+
for (const style of deps.pluginRegistry.listWritingStyles())
|
|
244
|
+
skillRegistry.addPluginStyle(style);
|
|
245
|
+
for (const style of overlayResult?.writingStyles ?? [])
|
|
246
|
+
skillRegistry.addPluginStyle(style);
|
|
247
|
+
const pluginHost = deps.pluginRegistry.consolidate({ entities: bootConfig.entities }, overlay);
|
|
192
248
|
const hostState = pluginHost.partition();
|
|
193
249
|
console.log(`[plugin-host] active: [${hostState.active.join(', ') || '∅'}]` +
|
|
194
250
|
(hostState.inactive.length ? `, inactive: [${hostState.inactive.join(', ')}]` : '') +
|
|
195
251
|
(hostState.unknown.length ? `, unknown: [${hostState.unknown.join(', ')}]` : ''));
|
|
196
252
|
const initialWritingStyle = bootConfig.writingStyle;
|
|
197
253
|
if (initialWritingStyle !== null && !skillRegistry.isSelectable(initialWritingStyle)) {
|
|
198
|
-
|
|
199
|
-
throw new Error(`config.json: writingStyle "${initialWritingStyle}" not a selectable writing-style skill. Available: ${available}`);
|
|
254
|
+
throw new Error(`config.json: writingStyle "${initialWritingStyle}" ${skillRegistry.unselectableReason(initialWritingStyle)}`);
|
|
200
255
|
}
|
|
201
256
|
// 0.1.51: fail fast on a hand-edited language value outside SUPPORTED_LANGUAGES so
|
|
202
257
|
// a bogus display name never reaches the system prompt. PATCH /config enforces
|
|
@@ -256,6 +311,34 @@ async function buildInner(deps, cleanup) {
|
|
|
256
311
|
// watcher owns `<entitiesDir>` exclusively.
|
|
257
312
|
const entitiesWatcher = new EntitiesWatcher(entitiesAbs);
|
|
258
313
|
cleanup.push(() => entitiesWatcher.close());
|
|
314
|
+
// M33 phase 3: hot-reload watcher for the project-local plugin overlay
|
|
315
|
+
// (axis B — pool composition). Mounted ONLY behind the trust gate, so an
|
|
316
|
+
// untrusted/undecided repo never reloads project-committed plugin code
|
|
317
|
+
// without consent. On a debounced change it invalidates THIS context (the
|
|
318
|
+
// next build re-imports with a fresh content-hash cache-bust → new pool) and
|
|
319
|
+
// broadcasts `plugin:reloaded` so the editor remounts extensions without a
|
|
320
|
+
// document reset. In-flight turns finish on the captured (old) context.
|
|
321
|
+
const overlayVersionByPkg = new Map(overlayRecords.filter((r) => r.manifestVersion).map((r) => [r.package, r.manifestVersion]));
|
|
322
|
+
const pluginOverlayWatcher = new PluginWatcher(trust === true ? [projectPluginsDir(cwd)] : [], (changedPaths) => {
|
|
323
|
+
const pkgs = affectedOverlayPackages(projectPluginsDir(cwd), changedPaths);
|
|
324
|
+
// Invalidating THIS context retires it; the rebuilt context mounts its own
|
|
325
|
+
// fresh watcher. Stop this one now so a retired-but-not-yet-disposed
|
|
326
|
+
// context (in-flight turn) can't keep re-invalidating the projectId that
|
|
327
|
+
// the new context now owns.
|
|
328
|
+
void pluginOverlayWatcher.close();
|
|
329
|
+
deps.onContextConfigChanged?.();
|
|
330
|
+
// Broadcast only for changes attributable to a package — no empty-name
|
|
331
|
+
// event when a change doesn't map to a plugin dir.
|
|
332
|
+
for (const pkg of pkgs) {
|
|
333
|
+
ws.broadcast({
|
|
334
|
+
kind: 'plugin:reloaded',
|
|
335
|
+
name: pkg,
|
|
336
|
+
version: overlayVersionByPkg.get(pkg) ?? '',
|
|
337
|
+
tier: 'overlay',
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
cleanup.push(() => pluginOverlayWatcher.close());
|
|
259
342
|
const entityStore = new EntityStore(cwd, entitiesDir, entitiesWatcher, rawReader, pluginHost);
|
|
260
343
|
entityStore.ensureRoot();
|
|
261
344
|
const entityIndexer = new EntityIndexerService(db.handle, entityStore, entitiesWatcher, ws, pluginHost, tagsService, rawReader);
|
|
@@ -375,13 +458,27 @@ async function buildInner(deps, cleanup) {
|
|
|
375
458
|
skillRegistry,
|
|
376
459
|
onContextConfigChanged: deps.onContextConfigChanged,
|
|
377
460
|
onOnboardingCompleted: (effectivePagesDir) => ensureWelcomePage(cwd, effectivePagesDir),
|
|
461
|
+
// M33 phase 3: lets the PATCH handler classify a `plugins` write by each
|
|
462
|
+
// field's `kind` — an `executive` field invalidates the context (rebuild),
|
|
463
|
+
// a `hot-reload` field does not (parity with writingStyle/language).
|
|
464
|
+
pluginSettingsSections: () => pluginHost.listSettings(),
|
|
465
|
+
}));
|
|
466
|
+
router.use(pluginHostRouter({
|
|
467
|
+
host: pluginHost,
|
|
468
|
+
registry,
|
|
469
|
+
workspace,
|
|
470
|
+
projectId,
|
|
471
|
+
basePackages: buildBasePluginPackages(deps.pluginRegistry, deps.pluginRecords),
|
|
472
|
+
overlayRecords,
|
|
473
|
+
localPluginsPresent,
|
|
474
|
+
trust,
|
|
475
|
+
onContextConfigChanged: deps.onContextConfigChanged,
|
|
378
476
|
}));
|
|
379
|
-
router.use(pluginHostRouter(pluginHost));
|
|
380
477
|
router.use('/pages', pagesRouter(pages, watcher, pageVersions));
|
|
381
478
|
router.use('/static', staticRouter(staticHtml));
|
|
382
479
|
router.use('/tags', tagsRouter(tagsService, referencesService));
|
|
383
480
|
router.use('/references', referencesRouter(pluginHost, referencesService));
|
|
384
|
-
router.use('/entities', entitiesRouter(pluginHost, tagsService, versionService, entityStore));
|
|
481
|
+
router.use('/entities', entitiesRouter(pluginHost, tagsService, versionService, entityStore, rawReader));
|
|
385
482
|
// 0.1.58: peer-discovery for the `<workspace_projects>` prompt block. For each
|
|
386
483
|
// workspace project except this one, build a PeerProject whose `path` is the
|
|
387
484
|
// registry `cwd` (passed 1:1 as the `project` param to `c4s-tools.ask`); name/
|
|
@@ -424,6 +521,7 @@ async function buildInner(deps, cleanup) {
|
|
|
424
521
|
planService,
|
|
425
522
|
briefService,
|
|
426
523
|
patchService,
|
|
524
|
+
releaseService,
|
|
427
525
|
pageVersions,
|
|
428
526
|
skillResolver,
|
|
429
527
|
skillRegistry,
|
|
@@ -637,6 +735,7 @@ async function buildInner(deps, cleanup) {
|
|
|
637
735
|
// Start the entities watcher only after the boot export/rebuild, so bulk
|
|
638
736
|
// self-writes during export never race a live reindex.
|
|
639
737
|
entitiesWatcher.start();
|
|
738
|
+
pluginOverlayWatcher.start();
|
|
640
739
|
const writingStyle = initialWritingStyle
|
|
641
740
|
? { slug: initialWritingStyle, title: skillRegistry.resolve(initialWritingStyle).metadata.title }
|
|
642
741
|
: null;
|
|
@@ -659,7 +758,11 @@ async function buildInner(deps, cleanup) {
|
|
|
659
758
|
await briefsWatcher.close();
|
|
660
759
|
await patchesWatcher.close();
|
|
661
760
|
await entitiesWatcher.close();
|
|
761
|
+
await pluginOverlayWatcher.close();
|
|
662
762
|
pluginHost.clearMcpFactories();
|
|
763
|
+
// M33 phase 2: drop references to dynamically imported project-local
|
|
764
|
+
// modules (next rebuild re-imports), alongside the MCP factory release.
|
|
765
|
+
overlayResult?.dispose();
|
|
663
766
|
gateway.closeRoom(projectId);
|
|
664
767
|
db.close();
|
|
665
768
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/server/workspace/project-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/server/workspace/project-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import type { ProjectRecord, WorkspaceRecord } from './types.js';
|
|
2
|
-
export declare const WORKSPACES_SCHEMA_VERSION =
|
|
2
|
+
export declare const WORKSPACES_SCHEMA_VERSION = 2;
|
|
3
3
|
export declare const DEFAULT_WORKSPACE_PORT = 4500;
|
|
4
|
+
/**
|
|
5
|
+
* M33: plugin packages built into claude4spec core deps — always present in
|
|
6
|
+
* every workspace regardless of the persisted `plugins[]`, trusted by virtue of
|
|
7
|
+
* installation (outside the workspace `trustProjectPlugins` gate) and loaded
|
|
8
|
+
* FIRST, before any workspace-declared plugin. `database-table` is the first
|
|
9
|
+
* preinstalled plugin: it stopped being an in-host built-in (6 core types remain
|
|
10
|
+
* in `registerAllPlugins`) and is now contributed by this package via the M33
|
|
11
|
+
* loader fan-out — default-active, so tables work identically out of the box.
|
|
12
|
+
*/
|
|
13
|
+
export declare const PREDEFINED_PLUGINS: readonly string[];
|
|
14
|
+
/**
|
|
15
|
+
* Effective workspace plugin package set = predefined ∪ user-added, deduped,
|
|
16
|
+
* predefined first. This is what the M33 loader dynamic-imports at bootstrap.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolvePluginPackages(ws: Pick<WorkspaceRecord, 'plugins'>): string[];
|
|
4
19
|
/**
|
|
5
20
|
* Global registry root. `C4S_HOME` override exists for dev/E2E so a test run
|
|
6
21
|
* never touches the real `~/.claude4spec/`.
|
|
@@ -41,6 +56,18 @@ export declare class WorkspaceRegistry {
|
|
|
41
56
|
registerProject(ws: WorkspaceRecord, cwd: string): ProjectRecord;
|
|
42
57
|
removeProject(ws: WorkspaceRecord, id: string): boolean;
|
|
43
58
|
touchLastOpened(wsName: string, projectId?: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* M33 phase 2: read the machine-local plugin-trust decision for one project.
|
|
61
|
+
* `undefined` = undecided (the loader shows a trust prompt on first open).
|
|
62
|
+
*/
|
|
63
|
+
getProjectTrust(ws: WorkspaceRecord, id: string): boolean | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* M33 phase 2: persist the plugin-trust decision per `(workspace × project)`.
|
|
66
|
+
* Lives in `~/.claude4spec/workspaces.json`, NEVER in the repo. The caller is
|
|
67
|
+
* expected to trigger a `ProjectContext` rebuild so the overlay (un)loads
|
|
68
|
+
* without a process restart.
|
|
69
|
+
*/
|
|
70
|
+
setProjectTrust(ws: WorkspaceRecord, id: string, value: boolean): void;
|
|
44
71
|
/**
|
|
45
72
|
* Carry of config-v3 harvested values — first-wins: only fills the workspace
|
|
46
73
|
* when registry creation predated knowing them. A dropped port logs a warn.
|
|
@@ -2,10 +2,42 @@ import fs from 'node:fs';
|
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { projectIdForCwd } from './project-id.js';
|
|
5
|
-
|
|
5
|
+
// v2 (M33): WorkspaceRecord gains optional `plugins[]`. Legacy v1 records lack
|
|
6
|
+
// the field and read as predefined-only — no rewrite needed on read. NOTE: any
|
|
7
|
+
// mutation by a >=0.1.73 binary rewrites `$schemaVersion` to 2, after which an
|
|
8
|
+
// OLDER binary (max schema 1) refuses to open the file (read() forward-compat
|
|
9
|
+
// guard). Mixed-version use against one `~/.claude4spec/` is a one-way upgrade.
|
|
10
|
+
export const WORKSPACES_SCHEMA_VERSION = 2;
|
|
6
11
|
export const DEFAULT_WORKSPACE_PORT = 4500;
|
|
7
12
|
const DEFAULT_WORKSPACE_NAME = 'default';
|
|
8
13
|
const LOCK_STALE_MS = 5_000;
|
|
14
|
+
/**
|
|
15
|
+
* M33: plugin packages built into claude4spec core deps — always present in
|
|
16
|
+
* every workspace regardless of the persisted `plugins[]`, trusted by virtue of
|
|
17
|
+
* installation (outside the workspace `trustProjectPlugins` gate) and loaded
|
|
18
|
+
* FIRST, before any workspace-declared plugin. `database-table` is the first
|
|
19
|
+
* preinstalled plugin: it stopped being an in-host built-in (6 core types remain
|
|
20
|
+
* in `registerAllPlugins`) and is now contributed by this package via the M33
|
|
21
|
+
* loader fan-out — default-active, so tables work identically out of the box.
|
|
22
|
+
*/
|
|
23
|
+
export const PREDEFINED_PLUGINS = [
|
|
24
|
+
'@inharness-ai/c4s-plugin-simple-database-tables',
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* Effective workspace plugin package set = predefined ∪ user-added, deduped,
|
|
28
|
+
* predefined first. This is what the M33 loader dynamic-imports at bootstrap.
|
|
29
|
+
*/
|
|
30
|
+
export function resolvePluginPackages(ws) {
|
|
31
|
+
const seen = new Set();
|
|
32
|
+
const out = [];
|
|
33
|
+
for (const pkg of [...PREDEFINED_PLUGINS, ...(ws.plugins ?? [])]) {
|
|
34
|
+
if (!seen.has(pkg)) {
|
|
35
|
+
seen.add(pkg);
|
|
36
|
+
out.push(pkg);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
9
41
|
/**
|
|
10
42
|
* Global registry root. `C4S_HOME` override exists for dev/E2E so a test run
|
|
11
43
|
* never touches the real `~/.claude4spec/`.
|
|
@@ -158,6 +190,30 @@ export class WorkspaceRegistry {
|
|
|
158
190
|
return null;
|
|
159
191
|
});
|
|
160
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* M33 phase 2: read the machine-local plugin-trust decision for one project.
|
|
195
|
+
* `undefined` = undecided (the loader shows a trust prompt on first open).
|
|
196
|
+
*/
|
|
197
|
+
getProjectTrust(ws, id) {
|
|
198
|
+
return this.getProject(ws, id)?.trustProjectPlugins;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* M33 phase 2: persist the plugin-trust decision per `(workspace × project)`.
|
|
202
|
+
* Lives in `~/.claude4spec/workspaces.json`, NEVER in the repo. The caller is
|
|
203
|
+
* expected to trigger a `ProjectContext` rebuild so the overlay (un)loads
|
|
204
|
+
* without a process restart.
|
|
205
|
+
*/
|
|
206
|
+
setProjectTrust(ws, id, value) {
|
|
207
|
+
this.withLock((data) => {
|
|
208
|
+
const target = data.workspaces.find((w) => w.name === ws.name);
|
|
209
|
+
if (!target)
|
|
210
|
+
return null;
|
|
211
|
+
const p = target.projects.find((x) => x.id === id);
|
|
212
|
+
if (p)
|
|
213
|
+
p.trustProjectPlugins = value;
|
|
214
|
+
return null;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
161
217
|
/**
|
|
162
218
|
* Carry of config-v3 harvested values — first-wins: only fills the workspace
|
|
163
219
|
* when registry creation predated knowing them. A dropped port logs a warn.
|