@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/server/mcp/release-tools/projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/server/mcp/release-tools/projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,36 @@ export interface MCPReleaseDiff {
|
|
|
18
18
|
id: number;
|
|
19
19
|
name: string;
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Totals AFTER include/entityTypes filters, BEFORE limit/offset. Keys stay in
|
|
23
|
+
* lock-step with `include` (mirrors `MCPSpecSnapshot.total`). Always present so
|
|
24
|
+
* a paginating consumer — or the brief-author probe-map (`summaryOnly: true`) —
|
|
25
|
+
* knows the full cardinality of each filtered dimension.
|
|
26
|
+
*/
|
|
27
|
+
total?: {
|
|
28
|
+
entities?: number;
|
|
29
|
+
pages?: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Heavy variant (`summaryOnly !== true`): full `MCPEntityDelta` with
|
|
33
|
+
* `before`/`after`, windowed by `limit`/`offset`.
|
|
34
|
+
* Light variant (`summaryOnly === true`): `MCPEntityDeltaLight` identifiers
|
|
35
|
+
* only (full list, window ignored).
|
|
36
|
+
*/
|
|
37
|
+
entities?: MCPEntityDelta[] | MCPEntityDeltaLight[];
|
|
38
|
+
pages?: MCPPageDelta[] | MCPPageDeltaLight[];
|
|
39
|
+
}
|
|
40
|
+
/** Light delta-map entry (`summaryOnly: true`) — identifier + op, no `before`/`after`. */
|
|
41
|
+
export interface MCPEntityDeltaLight {
|
|
42
|
+
type: 'endpoint' | 'dto' | 'database-table' | 'ui-view' | 'ac';
|
|
43
|
+
slug: string;
|
|
44
|
+
name: string;
|
|
45
|
+
op: 'create' | 'update' | 'delete';
|
|
46
|
+
}
|
|
47
|
+
/** Light delta-map entry (`summaryOnly: true`) — path + op, no `sections`/`content`. */
|
|
48
|
+
export interface MCPPageDeltaLight {
|
|
49
|
+
path: string;
|
|
50
|
+
op: 'create' | 'update' | 'delete';
|
|
23
51
|
}
|
|
24
52
|
export interface MCPEntityDelta {
|
|
25
53
|
type: 'endpoint' | 'dto' | 'database-table' | 'ui-view' | 'ac';
|
|
@@ -74,6 +102,15 @@ export interface MCPSpecSnapshot {
|
|
|
74
102
|
created_by: string;
|
|
75
103
|
created_at: string;
|
|
76
104
|
};
|
|
105
|
+
/**
|
|
106
|
+
* Totals BEFORE limit/offset, AFTER include/entityTypes filters. Keys stay in
|
|
107
|
+
* lock-step with `include`: `entities`/`pages` key omitted when its dimension
|
|
108
|
+
* is excluded. Lets a paginating consumer know how many items exist in total.
|
|
109
|
+
*/
|
|
110
|
+
total: {
|
|
111
|
+
entities?: number;
|
|
112
|
+
pages?: number;
|
|
113
|
+
};
|
|
77
114
|
entities?: {
|
|
78
115
|
type: string;
|
|
79
116
|
slug: string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.69 Transagents — `transagent-tools` MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Single tool `runTransagent`: delegate a unit of work to a hidden CHILD thread
|
|
5
|
+
* ("banka") of the SAME spec, running in a chosen `contextType`. The child runs
|
|
6
|
+
* a full turn (side-effecting artifacts, live stream into the parent panel) and
|
|
7
|
+
* returns ONLY a `summary` to the parent LLM's context — keeping the parent's
|
|
8
|
+
* context budget free of the child's full transcript.
|
|
9
|
+
*
|
|
10
|
+
* Per-request instance (like `plan-tools` / `brief-tools`): `parentThreadId` and
|
|
11
|
+
* the `dispatcher` are captured from the parent turn. Mounted ONLY for
|
|
12
|
+
* `context_type ∈ {chat, patch}` and never inside a child banka (recursion depth
|
|
13
|
+
* 1) — both guards live in agent-turn.ts.
|
|
14
|
+
*
|
|
15
|
+
* Read-only cross-spec counterpart: `c4s-tools` (consults a DIFFERENT spec).
|
|
16
|
+
*/
|
|
17
|
+
import { type McpServerInstance } from '@inharness-ai/agent-adapters';
|
|
18
|
+
import type { TransagentDispatcher } from '../services/transagent-dispatcher.js';
|
|
19
|
+
/** Tool name as the SDK reports it (`mcp__<server>__<tool>`) — used by the
|
|
20
|
+
* agent-turn loop to correlate the tool_use event with the dispatcher. */
|
|
21
|
+
export declare const TRANSAGENT_TOOL_FULL_NAME = "mcp__transagent-tools__runTransagent";
|
|
22
|
+
export interface TransagentToolsContext {
|
|
23
|
+
parentThreadId: string;
|
|
24
|
+
dispatcher: TransagentDispatcher;
|
|
25
|
+
}
|
|
26
|
+
export declare function buildTransagentToolsServer(ctx: TransagentToolsContext): McpServerInstance;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.69 Transagents — `transagent-tools` MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Single tool `runTransagent`: delegate a unit of work to a hidden CHILD thread
|
|
5
|
+
* ("banka") of the SAME spec, running in a chosen `contextType`. The child runs
|
|
6
|
+
* a full turn (side-effecting artifacts, live stream into the parent panel) and
|
|
7
|
+
* returns ONLY a `summary` to the parent LLM's context — keeping the parent's
|
|
8
|
+
* context budget free of the child's full transcript.
|
|
9
|
+
*
|
|
10
|
+
* Per-request instance (like `plan-tools` / `brief-tools`): `parentThreadId` and
|
|
11
|
+
* the `dispatcher` are captured from the parent turn. Mounted ONLY for
|
|
12
|
+
* `context_type ∈ {chat, patch}` and never inside a child banka (recursion depth
|
|
13
|
+
* 1) — both guards live in agent-turn.ts.
|
|
14
|
+
*
|
|
15
|
+
* Read-only cross-spec counterpart: `c4s-tools` (consults a DIFFERENT spec).
|
|
16
|
+
*/
|
|
17
|
+
import { createMcpServer, mcpTool } from '@inharness-ai/agent-adapters';
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
import { DomainError } from '../services/tags.js';
|
|
20
|
+
/** Tool name as the SDK reports it (`mcp__<server>__<tool>`) — used by the
|
|
21
|
+
* agent-turn loop to correlate the tool_use event with the dispatcher. */
|
|
22
|
+
export const TRANSAGENT_TOOL_FULL_NAME = 'mcp__transagent-tools__runTransagent';
|
|
23
|
+
export function buildTransagentToolsServer(ctx) {
|
|
24
|
+
const runTransagent = mcpTool('runTransagent', [
|
|
25
|
+
'Delegate a unit of work to a hidden CHILD thread ("banka") of THIS specification.',
|
|
26
|
+
'The child runs a full turn in the chosen `contextType` (brief | chat | patch), may produce',
|
|
27
|
+
'side-effecting artifacts, streams live into your panel, and returns ONLY a concise `summary`',
|
|
28
|
+
'to your context — its full transcript stays hidden, keeping your context budget small.',
|
|
29
|
+
'Use it to hand off self-contained work: "turn this analysis into a brief", "split this plan",',
|
|
30
|
+
'"draft the patch for X". Returns { threadId, summary }.',
|
|
31
|
+
" - contextType='brief': creates an ANALYSIS brief file (source: analysis, to_release: null)",
|
|
32
|
+
' grounded in the `message` you pass (your analysis), then runs a brief-editorial child.',
|
|
33
|
+
' Optional payload: { fromReleaseName?, suffix?, content? }.',
|
|
34
|
+
" - contextType='patch': resolves a patch — payload MUST include { patchPath }.",
|
|
35
|
+
" - contextType='chat': a plain child chat turn.",
|
|
36
|
+
'Continue an existing child by passing its `threadId` (omit `contextType` semantics then).',
|
|
37
|
+
'At most one child runs per turn (this tool_use blocks until the child finishes).',
|
|
38
|
+
].join('\n'), {
|
|
39
|
+
contextType: z.enum(['brief', 'chat', 'patch']),
|
|
40
|
+
message: z.string(),
|
|
41
|
+
payload: z.record(z.string(), z.unknown()).optional(),
|
|
42
|
+
threadId: z.string().optional(),
|
|
43
|
+
}, async (input) => {
|
|
44
|
+
try {
|
|
45
|
+
const result = await ctx.dispatcher.run({
|
|
46
|
+
parentThreadId: ctx.parentThreadId,
|
|
47
|
+
contextType: input.contextType,
|
|
48
|
+
message: String(input.message ?? ''),
|
|
49
|
+
payload: input.payload && typeof input.payload === 'object'
|
|
50
|
+
? input.payload
|
|
51
|
+
: undefined,
|
|
52
|
+
threadId: typeof input.threadId === 'string' ? input.threadId : undefined,
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
content: [{ type: 'text', text: JSON.stringify(result) }],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
// Non-abort child failure collapses upward as the parent's tool_result
|
|
60
|
+
// isError { code, message }. The last good summary remains readable via
|
|
61
|
+
// runTransagent({ threadId }).
|
|
62
|
+
const code = err instanceof DomainError ? err.code : 'AGENT_ERROR';
|
|
63
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
64
|
+
return {
|
|
65
|
+
content: [{ type: 'text', text: JSON.stringify({ error: { code, message } }) }],
|
|
66
|
+
isError: true,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return createMcpServer({
|
|
71
|
+
name: 'transagent-tools',
|
|
72
|
+
tools: [runTransagent],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=transagent-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transagent-tools.js","sourceRoot":"","sources":["../../../src/server/mcp/transagent-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,OAAO,EAA0B,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;2EAC2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,sCAAsC,CAAC;AAOhF,MAAM,UAAU,0BAA0B,CAAC,GAA2B;IACpE,MAAM,aAAa,GAAG,OAAO,CAC3B,eAAe,EACf;QACE,mFAAmF;QACnF,4FAA4F;QAC5F,8FAA8F;QAC9F,wFAAwF;QACxF,+FAA+F;QAC/F,yDAAyD;QACzD,8FAA8F;QAC9F,4FAA4F;QAC5F,gEAAgE;QAChE,iFAAiF;QACjF,kDAAkD;QAClD,2FAA2F;QAC3F,kFAAkF;KACnF,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;QACE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBACtC,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAyC;gBAC5D,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;gBACpC,OAAO,EACL,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAChD,CAAC,CAAE,KAAK,CAAC,OAAmC;oBAC5C,CAAC,CAAC,SAAS;gBACf,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aAC1E,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,wEAAwE;YACxE,+BAA+B;YAC/B,MAAM,IAAI,GAAG,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;YACnE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;gBACxF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,CAAC,aAAa,CAAC;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@c4s/plugin-runtime` — backend half.
|
|
3
|
+
*
|
|
4
|
+
* The single, versioned surface a runtime plugin's server code (its
|
|
5
|
+
* `backend.mount(ctx)`) compiles against, instead of reaching into deep host
|
|
6
|
+
* paths. On the backend the host singletons are shared in-process; this module
|
|
7
|
+
* re-exports the stable contract pieces.
|
|
8
|
+
*
|
|
9
|
+
* Phase 1 has no plugin packages, so nothing imports this yet — it exists so the
|
|
10
|
+
* contract surface is in place and stable for phase 2 (when project-local
|
|
11
|
+
* plugins under `.claude4spec/plugins/` link against it). The frontend half of
|
|
12
|
+
* `@c4s/plugin-runtime` lives in `src/client/runtime/plugin-runtime.ts` and is
|
|
13
|
+
* delivered to plugins through the import-map shim.
|
|
14
|
+
*/
|
|
15
|
+
export { HOST_API_VERSION } from '../../shared/plugin-host/manifest.js';
|
|
16
|
+
export type { PluginManifest, EntityContribution, PluginEngines, } from '../../shared/plugin-host/manifest.js';
|
|
17
|
+
export type { PluginRegistry, ProjectPluginHost, BackendModule, MountContext, PluginMountFn, } from '../core/plugin-host/types.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@c4s/plugin-runtime` — backend half.
|
|
3
|
+
*
|
|
4
|
+
* The single, versioned surface a runtime plugin's server code (its
|
|
5
|
+
* `backend.mount(ctx)`) compiles against, instead of reaching into deep host
|
|
6
|
+
* paths. On the backend the host singletons are shared in-process; this module
|
|
7
|
+
* re-exports the stable contract pieces.
|
|
8
|
+
*
|
|
9
|
+
* Phase 1 has no plugin packages, so nothing imports this yet — it exists so the
|
|
10
|
+
* contract surface is in place and stable for phase 2 (when project-local
|
|
11
|
+
* plugins under `.claude4spec/plugins/` link against it). The frontend half of
|
|
12
|
+
* `@c4s/plugin-runtime` lives in `src/client/runtime/plugin-runtime.ts` and is
|
|
13
|
+
* delivered to plugins through the import-map shim.
|
|
14
|
+
*/
|
|
15
|
+
export { HOST_API_VERSION } from '../../shared/plugin-host/manifest.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/plugin-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@c4s/plugin-runtime/ui` — backend half.
|
|
3
|
+
*
|
|
4
|
+
* The Host UI Kit is a FRONTEND surface (React components delivered via the M33
|
|
5
|
+
* import-map shim — see `client/runtime/plugin-runtime-ui.ts`). On the backend
|
|
6
|
+
* there are no components to share; this module exists only so server-side
|
|
7
|
+
* plugin code can reference the versioned contract — the React-free set of
|
|
8
|
+
* `stable` component names and the `Stability` type — without reaching into the
|
|
9
|
+
* client catalog (which imports React).
|
|
10
|
+
*
|
|
11
|
+
* Phase 1 ships no plugin packages, so nothing imports this yet; it keeps the
|
|
12
|
+
* contract surface stable for phase 2.
|
|
13
|
+
*/
|
|
14
|
+
export { UI_KIT_STABLE_COMPONENTS } from '../../shared/plugin-host/ui-kit-surface.js';
|
|
15
|
+
export type { Stability, StableUiKitComponent } from '../../shared/plugin-host/ui-kit-surface.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@c4s/plugin-runtime/ui` — backend half.
|
|
3
|
+
*
|
|
4
|
+
* The Host UI Kit is a FRONTEND surface (React components delivered via the M33
|
|
5
|
+
* import-map shim — see `client/runtime/plugin-runtime-ui.ts`). On the backend
|
|
6
|
+
* there are no components to share; this module exists only so server-side
|
|
7
|
+
* plugin code can reference the versioned contract — the React-free set of
|
|
8
|
+
* `stable` component names and the `Stability` type — without reaching into the
|
|
9
|
+
* client catalog (which imports React).
|
|
10
|
+
*
|
|
11
|
+
* Phase 1 ships no plugin packages, so nothing imports this yet; it keeps the
|
|
12
|
+
* contract surface stable for phase 2.
|
|
13
|
+
*/
|
|
14
|
+
export { UI_KIT_STABLE_COMPONENTS } from '../../shared/plugin-host/ui-kit-surface.js';
|
|
15
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/server/plugin-runtime/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC"}
|
|
@@ -9,9 +9,10 @@ import { type PeerProject } from '../services/chat-context.js';
|
|
|
9
9
|
import type { PlanService } from '../services/plan.js';
|
|
10
10
|
import type { BriefService } from '../services/brief.js';
|
|
11
11
|
import type { PatchService } from '../services/patch.js';
|
|
12
|
+
import type { ReleaseService } from '../services/release.js';
|
|
12
13
|
import type { PageVersionService } from '../services/page-version.js';
|
|
13
14
|
import type { SkillResolver, SkillRegistry } from '../services/skill-registry.js';
|
|
14
|
-
import type { Annotation, ChatThread } from '../../shared/entities.js';
|
|
15
|
+
import type { Annotation, ChatMessage, ChatThread } from '../../shared/entities.js';
|
|
15
16
|
import type { WsEmitter } from '../ws/project-emitter.js';
|
|
16
17
|
import type { Db } from '../db/index.js';
|
|
17
18
|
import type { ProjectPluginHost } from '../core/plugin-host/types.js';
|
|
@@ -38,6 +39,8 @@ export interface AgentTurnDeps {
|
|
|
38
39
|
planService: PlanService;
|
|
39
40
|
briefService: BriefService;
|
|
40
41
|
patchService: PatchService;
|
|
42
|
+
/** 0.1.69 Transagents: dispatcher resolves "latest release" for analysis briefs. */
|
|
43
|
+
releaseService: ReleaseService;
|
|
41
44
|
pageVersions: PageVersionService;
|
|
42
45
|
skillResolver: SkillResolver;
|
|
43
46
|
skillRegistry: SkillRegistry;
|
|
@@ -81,6 +84,12 @@ export interface ActiveAdapter {
|
|
|
81
84
|
adapter: RuntimeAdapter;
|
|
82
85
|
emitter: EventEmitter;
|
|
83
86
|
replay: TurnReplay;
|
|
87
|
+
/**
|
|
88
|
+
* 0.1.69 Transagents: parent thread id of a child banka turn (NULL/undefined
|
|
89
|
+
* for top-level turns). The abort cascade in routes/chat.ts uses this to find
|
|
90
|
+
* and abort children when their parent is consciously aborted.
|
|
91
|
+
*/
|
|
92
|
+
parentThreadId?: string | null;
|
|
84
93
|
/**
|
|
85
94
|
* M05 queue: fan-out for events originating OUTSIDE the turn's stream loop
|
|
86
95
|
* (queue mutations from `POST/DELETE /api/chat/queue/...`). Reaches the
|
|
@@ -117,6 +126,13 @@ export interface AgentTurnInput {
|
|
|
117
126
|
export interface AgentTurnResult {
|
|
118
127
|
threadId: string;
|
|
119
128
|
answer: string;
|
|
129
|
+
/**
|
|
130
|
+
* 0.1.79: every chat_message persisted during THIS turn (user + assistant +
|
|
131
|
+
* reasoning + tool rows), in id order. Sliced from `chat_message`, returned in
|
|
132
|
+
* one batch after the turn. Feeds `runAgent({ output: 'full' })` / `c4s agent`;
|
|
133
|
+
* `output: 'final'` callers ignore it.
|
|
134
|
+
*/
|
|
135
|
+
messages: ChatMessage[];
|
|
120
136
|
}
|
|
121
137
|
/**
|
|
122
138
|
* Uruchamia jedna ture agenta dla istniejacego watku: wstawia wiadomosc user,
|
|
@@ -4,8 +4,10 @@ import { architectureCapabilities, createAdapter, observeStream, AdapterAbortErr
|
|
|
4
4
|
import { buildPlanToolsServer } from '../mcp/plan-tools.js';
|
|
5
5
|
import { buildBriefToolsServer } from '../mcp/brief-tools.js';
|
|
6
6
|
import { buildC4sToolsServer } from '../mcp/c4s-tools.js';
|
|
7
|
-
import { buildSystemPrompt, subagentsFor } from '../services/chat-context.js';
|
|
7
|
+
import { buildSystemPrompt, subagentsFor, CONTEXT_TYPE_REGISTRY, } from '../services/chat-context.js';
|
|
8
8
|
import { readConfig } from '../config.js';
|
|
9
|
+
import { TransagentDispatcher } from '../services/transagent-dispatcher.js';
|
|
10
|
+
import { buildTransagentToolsServer, TRANSAGENT_TOOL_FULL_NAME } from '../mcp/transagent-tools.js';
|
|
9
11
|
/** M21 m05ctxreg: tools whitelist per context_type. Brief threads get only
|
|
10
12
|
* brief-tools (per-thread, mounted below) + release-tools (read-only).
|
|
11
13
|
* All other plugin servers (endpoint-tools, dto-tools, ui-view-tools,
|
|
@@ -49,7 +51,17 @@ export async function runAgentTurn(deps, input) {
|
|
|
49
51
|
const { thread, prompt, requestId } = input;
|
|
50
52
|
const annotations = input.annotations ?? [];
|
|
51
53
|
const currentPage = input.currentPage ?? null;
|
|
52
|
-
|
|
54
|
+
// 0.1.79: snapshot the highest message id BEFORE this turn inserts anything, so
|
|
55
|
+
// we can slice exactly this turn's messages at the end (for `output: 'full'`).
|
|
56
|
+
const turnStartMessageId = deps.chatService.latestMessageId(thread.id);
|
|
57
|
+
// M05 m05ctxreg: the context-type registry is the single source of truth for this
|
|
58
|
+
// thread's five dispatch dimensions (skill / MCP set / chrome / subagent / posture).
|
|
59
|
+
const ctx = CONTEXT_TYPE_REGISTRY[thread.contextType];
|
|
60
|
+
// Builtin posture (dim 5): `force-plan` pins read-only plan-mode EVERY turn regardless
|
|
61
|
+
// of the thread's stored plan_mode flag (→ READONLY_BUILTINS + disallowedTools =
|
|
62
|
+
// MUTATING_BUILTINS). One site, so it covers both POST /api/threads/:id/ask and
|
|
63
|
+
// POST /api/chat. (Today only `ask` forces; the rest follow the thread flag.)
|
|
64
|
+
const planMode = ctx.builtinPosture === 'force-plan' ? true : thread.planMode;
|
|
53
65
|
const adapter = createAdapter('claude-code');
|
|
54
66
|
const emitter = new EventEmitter();
|
|
55
67
|
// `turn_start` jest syntetyzowany serwerowo wyłącznie dla wznawiających klientów
|
|
@@ -74,6 +86,10 @@ export async function runAgentTurn(deps, input) {
|
|
|
74
86
|
'subagent_completed',
|
|
75
87
|
'todo_list_updated',
|
|
76
88
|
'user_input_request',
|
|
89
|
+
// 0.1.69 Transagents: bracket markers so reload/joiners reconstruct the
|
|
90
|
+
// nested child panel.
|
|
91
|
+
'transagent_started',
|
|
92
|
+
'transagent_completed',
|
|
77
93
|
'result',
|
|
78
94
|
'error',
|
|
79
95
|
]);
|
|
@@ -105,8 +121,36 @@ export async function runAgentTurn(deps, input) {
|
|
|
105
121
|
};
|
|
106
122
|
// Rejestracja PO zdefiniowaniu `emit` — kolejka (out-of-band `POST/DELETE
|
|
107
123
|
// /api/chat/queue/...`) używa go do broadcastu `queue_updated`/`queue_cleared`.
|
|
108
|
-
deps.activeAdapters.set(thread.id, {
|
|
124
|
+
deps.activeAdapters.set(thread.id, {
|
|
125
|
+
requestId,
|
|
126
|
+
adapter,
|
|
127
|
+
emitter,
|
|
128
|
+
replay,
|
|
129
|
+
emit,
|
|
130
|
+
// 0.1.69 Transagents: lets the abort cascade find this turn's children (when
|
|
131
|
+
// this turn IS a child, parentThreadId is set from the row).
|
|
132
|
+
parentThreadId: thread.parentThreadId,
|
|
133
|
+
});
|
|
109
134
|
emit({ type: 'connected', requestId, threadId: thread.id });
|
|
135
|
+
// 0.1.69 Transagents: race-free correlation between the SDK's
|
|
136
|
+
// `tool_use(runTransagent)` id and the dispatcher. The loop pushes the id when
|
|
137
|
+
// it observes the tool_use event; the dispatcher (invoked from the MCP handler)
|
|
138
|
+
// takes it. Queue + waiter handles either interleaving.
|
|
139
|
+
const transagentToolUseQueue = [];
|
|
140
|
+
const transagentWaiters = [];
|
|
141
|
+
const pushTransagentToolUse = (id) => {
|
|
142
|
+
const waiter = transagentWaiters.shift();
|
|
143
|
+
if (waiter)
|
|
144
|
+
waiter(id);
|
|
145
|
+
else
|
|
146
|
+
transagentToolUseQueue.push(id);
|
|
147
|
+
};
|
|
148
|
+
const takeTransagentToolUse = () => {
|
|
149
|
+
const queued = transagentToolUseQueue.shift();
|
|
150
|
+
if (queued !== undefined)
|
|
151
|
+
return Promise.resolve(queued);
|
|
152
|
+
return new Promise((resolve) => transagentWaiters.push(resolve));
|
|
153
|
+
};
|
|
110
154
|
let assistantBuf = '';
|
|
111
155
|
let thinkingBuf = '';
|
|
112
156
|
// 0.1.58: `answer` = treść OSTATNIEJ wiadomości assistant tury (finalne
|
|
@@ -160,14 +204,15 @@ export async function runAgentTurn(deps, input) {
|
|
|
160
204
|
const title = prompt.slice(0, 60) + (prompt.length > 60 ? '...' : '');
|
|
161
205
|
deps.chatService.updateTitle(thread.id, title || '(annotations only)');
|
|
162
206
|
}
|
|
163
|
-
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
const
|
|
207
|
+
// M05 m05ctxreg: the brief frame (uiChrome='brief-detail') is the only one with a
|
|
208
|
+
// narrow toolset + reduced prompt — it skips entity counters, plan tools, pages, and
|
|
209
|
+
// the current-page block. Every brief-frame cheap-skip below reads this one flag.
|
|
210
|
+
const isBriefFrame = ctx.uiChrome === 'brief-detail';
|
|
167
211
|
// M21: dla brief context czytamy aktualny snapshot brief'u (frontmatter+body+hash)
|
|
168
212
|
// i wkladamy do system promptu. Skip kosztownych obliczen pageCount/entityCounts.
|
|
213
|
+
// Gated on the registry's brief-tools dimension (brief is the only briefTools row).
|
|
169
214
|
let briefSnapshot = null;
|
|
170
|
-
if (
|
|
215
|
+
if (ctx.mcp.briefTools && thread.briefPath) {
|
|
171
216
|
try {
|
|
172
217
|
briefSnapshot = await deps.briefService.getBrief(thread.briefPath);
|
|
173
218
|
}
|
|
@@ -175,9 +220,11 @@ export async function runAgentTurn(deps, input) {
|
|
|
175
220
|
console.warn(`[chat] brief read failed for ${thread.briefPath}:`, err.message);
|
|
176
221
|
}
|
|
177
222
|
}
|
|
178
|
-
// M23:
|
|
223
|
+
// M23: patch threads keep the FULL spec-editing toolset — their job is to edit the
|
|
224
|
+
// spec; only the system prompt differs (the patch snapshot is injected). `patch_path`
|
|
225
|
+
// is set iff context_type='patch' (chat.ts invariant), so its presence IS the gate.
|
|
179
226
|
let patchSnapshot = null;
|
|
180
|
-
if (
|
|
227
|
+
if (thread.patchPath) {
|
|
181
228
|
try {
|
|
182
229
|
patchSnapshot = await deps.patchService.getPatch(thread.patchPath);
|
|
183
230
|
}
|
|
@@ -186,7 +233,7 @@ export async function runAgentTurn(deps, input) {
|
|
|
186
233
|
}
|
|
187
234
|
}
|
|
188
235
|
let currentPageBody = null;
|
|
189
|
-
if (!
|
|
236
|
+
if (!isBriefFrame && currentPage) {
|
|
190
237
|
try {
|
|
191
238
|
const page = await deps.pagesService.read(currentPage);
|
|
192
239
|
currentPageBody = page.body;
|
|
@@ -198,8 +245,8 @@ export async function runAgentTurn(deps, input) {
|
|
|
198
245
|
// Stale-plan reminder MUSI byc sprawdzony PRZED markPlanSeenByThread —
|
|
199
246
|
// ten ostatni bumpuje last_seen_plan_version i zapodaje sygnal "synced".
|
|
200
247
|
const isFirstTurn = !thread.hasSystemPrompt;
|
|
201
|
-
const stalePlanReminder =
|
|
202
|
-
const currentPlan =
|
|
248
|
+
const stalePlanReminder = isBriefFrame ? null : deps.planService.getStalePlanReminder(thread.id);
|
|
249
|
+
const currentPlan = isBriefFrame ? null : deps.planService.getByThread(thread.id);
|
|
203
250
|
// Skill resolution: writing-style (config.writingStyle, M15) ladowany
|
|
204
251
|
// niezaleznie od kontekstu. Dla brief context dokladamy bundled `brief-author`.
|
|
205
252
|
const writingStyleSkills = deps.skillResolver.resolve();
|
|
@@ -209,8 +256,10 @@ export async function runAgentTurn(deps, input) {
|
|
|
209
256
|
title: String(writingStyleSkills[0].metadata?.title ?? writingStyleSkills[0].name),
|
|
210
257
|
}
|
|
211
258
|
: null;
|
|
259
|
+
// M05 m05ctxreg dim 1: the registry's bundled skill (beyond config.writingStyle).
|
|
260
|
+
// Only the brief row carries `brief-author`; chat/patch/ask carry null.
|
|
212
261
|
const inlineSkills = [...writingStyleSkills];
|
|
213
|
-
if (
|
|
262
|
+
if (ctx.bundledSkill === 'brief-author' && deps.skillRegistry.has('brief-author')) {
|
|
214
263
|
const skill = deps.skillRegistry.resolve('brief-author');
|
|
215
264
|
inlineSkills.push({
|
|
216
265
|
name: skill.metadata.slug,
|
|
@@ -224,7 +273,7 @@ export async function runAgentTurn(deps, input) {
|
|
|
224
273
|
},
|
|
225
274
|
});
|
|
226
275
|
}
|
|
227
|
-
const pageCount =
|
|
276
|
+
const pageCount = isBriefFrame ? 0 : countPages(await deps.pagesService.listTree());
|
|
228
277
|
// 0.1.51: language directives travel the same path as writingStyle — read from
|
|
229
278
|
// config per-turn here, NOT via architectureConfig. Effective only from the first
|
|
230
279
|
// turn of a new thread (the prompt is persisted once by setInitialSystemPrompt).
|
|
@@ -237,17 +286,22 @@ export async function runAgentTurn(deps, input) {
|
|
|
237
286
|
currentPagePath: currentPage,
|
|
238
287
|
currentPageBody,
|
|
239
288
|
pageCount,
|
|
240
|
-
entityCounts:
|
|
241
|
-
tagCount:
|
|
242
|
-
sectionCount:
|
|
289
|
+
entityCounts: isBriefFrame ? {} : deps.pluginHost.computeEntityCounts(deps.db.handle),
|
|
290
|
+
tagCount: isBriefFrame ? 0 : deps.tagsService.list().length,
|
|
291
|
+
sectionCount: isBriefFrame ? 0 : deps.sectionsService.count(),
|
|
243
292
|
annotations,
|
|
244
293
|
planMode,
|
|
245
294
|
currentPlan,
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
//
|
|
250
|
-
|
|
295
|
+
// M05 m05ctxreg dim 2: prompt-side tooling flags mirror the registry's MCP set
|
|
296
|
+
// (the <tooling>/usage blocks must match what is actually mounted below).
|
|
297
|
+
planToolsAvailable: ctx.mcp.planTools,
|
|
298
|
+
// c4s-tools excluded for brief (narrow toolset) and `ask` (recursion guard) — the
|
|
299
|
+
// registry encodes this; dropping it also drops the <c4s_tools_usage> +
|
|
300
|
+
// peer-discovery prompt blocks.
|
|
301
|
+
c4sToolsAvailable: ctx.mcp.c4sTools,
|
|
302
|
+
// 0.1.58: peer-discovery block. Gated on the same c4s-tools dimension; skip the
|
|
303
|
+
// disk reads when c4s-tools is absent (the block would be gated out anyway).
|
|
304
|
+
workspaceProjects: ctx.mcp.c4sTools ? (deps.listWorkspacePeers?.() ?? []) : [],
|
|
251
305
|
workspaceName: deps.workspaceName,
|
|
252
306
|
writingStyle,
|
|
253
307
|
specLanguage: cfg.language ?? undefined,
|
|
@@ -272,27 +326,47 @@ export async function runAgentTurn(deps, input) {
|
|
|
272
326
|
if (isFirstTurn && currentPlan) {
|
|
273
327
|
deps.planService.markPlanSeenByThread(thread.id);
|
|
274
328
|
}
|
|
275
|
-
//
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
329
|
+
// M05 m05ctxreg dim 2: per-thread MCP servers are dispatched from the registry's
|
|
330
|
+
// `mcp` descriptor — each server mounts iff its registry flag is set.
|
|
331
|
+
const planTools = ctx.mcp.planTools
|
|
332
|
+
? buildPlanToolsServer({
|
|
279
333
|
threadId: thread.id,
|
|
280
334
|
planService: deps.planService,
|
|
281
|
-
})
|
|
282
|
-
|
|
335
|
+
})
|
|
336
|
+
: null;
|
|
337
|
+
const briefTools = ctx.mcp.briefTools && thread.briefPath
|
|
283
338
|
? buildBriefToolsServer({
|
|
284
339
|
threadId: thread.id,
|
|
285
340
|
briefPath: thread.briefPath,
|
|
286
341
|
briefService: deps.briefService,
|
|
287
342
|
})
|
|
288
343
|
: null;
|
|
289
|
-
// M24 c4s-tools: cross-cutting MCP exposing
|
|
290
|
-
// fresh factory per request.
|
|
291
|
-
// intentionally narrow
|
|
292
|
-
const c4sTools =
|
|
344
|
+
// M24 c4s-tools: cross-cutting MCP exposing the peer-consult flow. Stateless,
|
|
345
|
+
// fresh factory per request. Registry-gated: chat + patch only (brief is
|
|
346
|
+
// intentionally narrow; `ask` is excluded — a consulted peer cannot consult another).
|
|
347
|
+
const c4sTools = ctx.mcp.c4sTools ? buildC4sToolsServer() : null;
|
|
348
|
+
// 0.1.69 transagent-tools: delegate work to a hidden child banka. Two guards:
|
|
349
|
+
// - registry dimension `transagentTools` (chat + patch only — never brief/`ask`).
|
|
350
|
+
// - recursion depth 1: never inside a child banka (parentThreadId != null), so a
|
|
351
|
+
// banka cannot spawn a banka. This guard is orthogonal to the registry (it depends
|
|
352
|
+
// on the thread's lineage, not its context_type), so it stays at the call site.
|
|
353
|
+
const isChildBanka = thread.parentThreadId != null;
|
|
354
|
+
const transagentTools = ctx.mcp.transagentTools && !isChildBanka
|
|
355
|
+
? buildTransagentToolsServer({
|
|
356
|
+
parentThreadId: thread.id,
|
|
357
|
+
dispatcher: new TransagentDispatcher(deps, {
|
|
358
|
+
model: input.model,
|
|
359
|
+
architectureConfig: input.architectureConfig,
|
|
360
|
+
takeToolUseId: takeTransagentToolUse,
|
|
361
|
+
runTurn: (childInput) => runAgentTurn(deps, childInput),
|
|
362
|
+
}),
|
|
363
|
+
})
|
|
364
|
+
: null;
|
|
365
|
+
// Registry `pluginServers`: 'all' mounts every entity-plugin server; 'release-only'
|
|
366
|
+
// narrows to the BRIEF_ALLOWED_PLUGIN_MCP whitelist (read-only release-tools).
|
|
293
367
|
const pluginMcpEntries = deps.pluginHost
|
|
294
368
|
.buildMcpServers()
|
|
295
|
-
.filter(({ name }) =>
|
|
369
|
+
.filter(({ name }) => ctx.mcp.pluginServers === 'release-only' ? BRIEF_ALLOWED_PLUGIN_MCP.has(name) : true)
|
|
296
370
|
.map(({ name, server }) => [name, server.config]);
|
|
297
371
|
const mcpServers = Object.fromEntries(pluginMcpEntries);
|
|
298
372
|
if (planTools)
|
|
@@ -301,6 +375,8 @@ export async function runAgentTurn(deps, input) {
|
|
|
301
375
|
mcpServers['brief-tools'] = briefTools.config;
|
|
302
376
|
if (c4sTools)
|
|
303
377
|
mcpServers['c4s-tools'] = c4sTools.config;
|
|
378
|
+
if (transagentTools)
|
|
379
|
+
mcpServers['transagent-tools'] = transagentTools.config;
|
|
304
380
|
// M05 queue: streaming-input keeps the SDK input channel open across turns so
|
|
305
381
|
// queued messages can be pushed into the LIVE turn (`adapter.pushMessage`).
|
|
306
382
|
// Opt-in per architecture capability; one-shot path unchanged for the rest.
|
|
@@ -384,6 +460,11 @@ export async function runAgentTurn(deps, input) {
|
|
|
384
460
|
flushSubBuf(taskId);
|
|
385
461
|
else
|
|
386
462
|
flushMainBuf();
|
|
463
|
+
// 0.1.69 Transagents: feed the dispatcher the real tool_use id so the
|
|
464
|
+
// child stores it as spawned_by_tool_use_id (F5 reconstruction key).
|
|
465
|
+
if (event.toolName === TRANSAGENT_TOOL_FULL_NAME && event.toolUseId) {
|
|
466
|
+
pushTransagentToolUse(event.toolUseId);
|
|
467
|
+
}
|
|
387
468
|
deps.chatService.addMessage(thread.id, 'tool_use', JSON.stringify({ input: event.input }), event.toolName, event.toolUseId, taskId, planMode, 'streaming');
|
|
388
469
|
break;
|
|
389
470
|
}
|
|
@@ -464,7 +545,7 @@ export async function runAgentTurn(deps, input) {
|
|
|
464
545
|
replay.events = [];
|
|
465
546
|
emit(mergedTurnStart);
|
|
466
547
|
// Stale-plan reminder is applied at DISPATCH (here), not at enqueue.
|
|
467
|
-
const mergedReminder =
|
|
548
|
+
const mergedReminder = isBriefFrame ? null : deps.planService.getStalePlanReminder(thread.id);
|
|
468
549
|
await consume(mergedReminder ? `${mergedReminder}\n\n${merged}` : merged);
|
|
469
550
|
batch = deps.chatService.popAllQueued(thread.id);
|
|
470
551
|
}
|
|
@@ -513,7 +594,11 @@ export async function runAgentTurn(deps, input) {
|
|
|
513
594
|
cancelPendingForRequest(deps.pendingInputs, requestId);
|
|
514
595
|
deps.onTurnFinished?.();
|
|
515
596
|
}
|
|
516
|
-
|
|
597
|
+
// 0.1.79: slice the messages this turn persisted (id > pre-turn snapshot).
|
|
598
|
+
const messages = deps.chatService
|
|
599
|
+
.getMessages(thread.id)
|
|
600
|
+
.filter((m) => m.id > turnStartMessageId);
|
|
601
|
+
return { threadId: thread.id, answer: lastAssistantText.trim(), messages };
|
|
517
602
|
}
|
|
518
603
|
export function countPages(tree) {
|
|
519
604
|
let n = 0;
|