@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":"entity-writer.js","sourceRoot":"","sources":["../../../src/server/services/entity-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"entity-writer.js","sourceRoot":"","sources":["../../../src/server/services/entity-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Database from 'better-sqlite3';
|
|
2
|
-
import type { BlameBlock, Plan, PlanAction, PlanChangedBy, PlanExecuteMode, PlanExecuteResult, PlanListItem, PlanVersion, PlanVersionMeta } from '../../shared/entities.js';
|
|
2
|
+
import type { BlameBlock, Plan, PlanAction, PlanChangedBy, PlanExecuteMode, PlanExecuteResult, PlanListItem, PlanThreadItem, PlanVersion, PlanVersionMeta } from '../../shared/entities.js';
|
|
3
3
|
import type { WsEmitter } from '../ws/project-emitter.js';
|
|
4
4
|
import type { ChatService } from './chat.js';
|
|
5
5
|
export interface PlanUpdateInput {
|
|
@@ -36,6 +36,12 @@ export declare class PlanService {
|
|
|
36
36
|
threadId: string;
|
|
37
37
|
};
|
|
38
38
|
findLastThreadIdForPlan(planId: number): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* P2: dedicated projection of a plan's threads for PlanPage. Bounded by the
|
|
41
|
+
* threads attached to ONE plan (small), so no pagination — and independent of
|
|
42
|
+
* the paginated `GET /api/threads` list, which PlanPage no longer filters.
|
|
43
|
+
*/
|
|
44
|
+
listThreadsForPlan(planId: number): PlanThreadItem[];
|
|
39
45
|
updatePlanTitle(planId: number, title: string | null): Plan;
|
|
40
46
|
markPlanSeenByThread(threadId: string): void;
|
|
41
47
|
/** Returns the `<system-reminder>` block to prepend to user message when plan is stale, or null. */
|
|
@@ -32,7 +32,7 @@ export class PlanService {
|
|
|
32
32
|
}
|
|
33
33
|
threadCount(planId) {
|
|
34
34
|
const row = this.db
|
|
35
|
-
.prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE plan_id =
|
|
35
|
+
.prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE plan_id = ? AND parent_thread_id IS NULL`)
|
|
36
36
|
.get(planId);
|
|
37
37
|
return row.n;
|
|
38
38
|
}
|
|
@@ -55,11 +55,11 @@ export class PlanService {
|
|
|
55
55
|
.prepare(`SELECT p.*,
|
|
56
56
|
COUNT(t.id) AS thread_count,
|
|
57
57
|
(SELECT id FROM chat_thread
|
|
58
|
-
WHERE plan_id = p.id
|
|
58
|
+
WHERE plan_id = p.id AND parent_thread_id IS NULL
|
|
59
59
|
ORDER BY updated_at DESC
|
|
60
60
|
LIMIT 1) AS last_thread_id
|
|
61
61
|
FROM plan p
|
|
62
|
-
LEFT JOIN chat_thread t ON t.plan_id = p.id
|
|
62
|
+
LEFT JOIN chat_thread t ON t.plan_id = p.id AND t.parent_thread_id IS NULL
|
|
63
63
|
${where}
|
|
64
64
|
GROUP BY p.id
|
|
65
65
|
ORDER BY p.updated_at DESC
|
|
@@ -90,12 +90,25 @@ export class PlanService {
|
|
|
90
90
|
findLastThreadIdForPlan(planId) {
|
|
91
91
|
const row = this.db
|
|
92
92
|
.prepare(`SELECT id FROM chat_thread
|
|
93
|
-
WHERE plan_id = ?
|
|
93
|
+
WHERE plan_id = ? AND parent_thread_id IS NULL
|
|
94
94
|
ORDER BY updated_at DESC
|
|
95
95
|
LIMIT 1`)
|
|
96
96
|
.get(planId);
|
|
97
97
|
return row?.id ?? null;
|
|
98
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* P2: dedicated projection of a plan's threads for PlanPage. Bounded by the
|
|
101
|
+
* threads attached to ONE plan (small), so no pagination — and independent of
|
|
102
|
+
* the paginated `GET /api/threads` list, which PlanPage no longer filters.
|
|
103
|
+
*/
|
|
104
|
+
listThreadsForPlan(planId) {
|
|
105
|
+
const rows = this.db
|
|
106
|
+
.prepare(`SELECT id, title, updated_at FROM chat_thread
|
|
107
|
+
WHERE plan_id = ? AND parent_thread_id IS NULL
|
|
108
|
+
ORDER BY updated_at DESC`)
|
|
109
|
+
.all(planId);
|
|
110
|
+
return rows.map((r) => ({ id: r.id, title: r.title, updatedAt: r.updated_at }));
|
|
111
|
+
}
|
|
99
112
|
updatePlanTitle(planId, title) {
|
|
100
113
|
const trimmed = title?.trim() || null;
|
|
101
114
|
const info = this.db
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/server/services/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/server/services/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { InlineSkill } from '@inharness-ai/agent-adapters';
|
|
2
|
+
import type { WritingStyleContribution } from '../../shared/plugin-host/manifest.js';
|
|
2
3
|
export type SkillScope = 'writing-style' | 'contextual';
|
|
3
|
-
/**
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Where a skill was discovered: in-package bundle, a user `.claude/skills` root,
|
|
6
|
+
* or a plugin contribution (M15). Selection precedence is
|
|
7
|
+
* `project > global > plugin > bundled` — project/global are both `user`
|
|
8
|
+
* (ordered by root scan), `plugin` outranks `bundled` but loses to `user`.
|
|
9
|
+
*/
|
|
10
|
+
export type SkillSource = 'bundled' | 'user' | 'plugin';
|
|
5
11
|
export interface SkillMetadata {
|
|
6
12
|
slug: string;
|
|
7
13
|
title: string;
|
|
@@ -28,6 +34,8 @@ export interface ResolvedSkill {
|
|
|
28
34
|
}
|
|
29
35
|
export declare class SkillRegistry {
|
|
30
36
|
private metadataBySlug;
|
|
37
|
+
private pluginResolved;
|
|
38
|
+
private skips;
|
|
31
39
|
/**
|
|
32
40
|
* Scan one or more roots once at startup and merge them, deduplicated per slug
|
|
33
41
|
* by precedence: roots earlier in the array win (project > global > bundled).
|
|
@@ -38,8 +46,29 @@ export declare class SkillRegistry {
|
|
|
38
46
|
*/
|
|
39
47
|
static load(roots: SkillRoot[]): SkillRegistry;
|
|
40
48
|
private scanRoot;
|
|
49
|
+
/**
|
|
50
|
+
* M15: push a plugin-contributed writing style. Precedence
|
|
51
|
+
* `project > global > plugin > bundled`: a `user` style (project/global)
|
|
52
|
+
* already claiming this slug wins and the plugin style is dropped; otherwise
|
|
53
|
+
* the plugin style is registered, overriding any same-slug `bundled` style.
|
|
54
|
+
* First plugin wins among plugins (a later plugin never displaces an earlier
|
|
55
|
+
* one). A plugin never displaces a non-writing-style skill (e.g. a bundled
|
|
56
|
+
* `contextual` skill sharing the slug), so contextual resolution is preserved.
|
|
57
|
+
* Loading is the caller's trust decision — untrusted project-local plugins are
|
|
58
|
+
* never pushed here.
|
|
59
|
+
*/
|
|
60
|
+
addPluginStyle(c: WritingStyleContribution): void;
|
|
41
61
|
list(): SkillMetadata[];
|
|
42
62
|
listSelectable(): SkillMetadata[];
|
|
63
|
+
private recordSkip;
|
|
64
|
+
/**
|
|
65
|
+
* Explain why `slug` can't be selected as the writing style, for boot/PATCH
|
|
66
|
+
* validation messages. If the slug was found on disk but dropped during scan
|
|
67
|
+
* (version too high, contextual in a user root, malformed), name that reason so
|
|
68
|
+
* the author can fix the skill; otherwise fall back to listing what *is*
|
|
69
|
+
* selectable. Returns a fragment meant to follow `writingStyle "<slug>" `.
|
|
70
|
+
*/
|
|
71
|
+
unselectableReason(slug: string): string;
|
|
43
72
|
has(slug: string): boolean;
|
|
44
73
|
isSelectable(slug: string): boolean;
|
|
45
74
|
resolve(slug: string): ResolvedSkill;
|
|
@@ -8,6 +8,14 @@ const SUPPORTED_VERSION = 1;
|
|
|
8
8
|
const FILES_SUBDIRS = ['templates', 'examples', 'workflows'];
|
|
9
9
|
export class SkillRegistry {
|
|
10
10
|
metadataBySlug = new Map();
|
|
11
|
+
// M15: plugin-contributed styles carry their body inline (no FS path),
|
|
12
|
+
// so `resolve()` reads them from here instead of disk.
|
|
13
|
+
pluginResolved = new Map();
|
|
14
|
+
// Slugs found on disk but dropped during scan (version too high, contextual in a
|
|
15
|
+
// user root, missing/malformed SKILL.md), mapped to a human reason. Lets
|
|
16
|
+
// `unselectableReason()` explain *why* an authored skill isn't selectable instead
|
|
17
|
+
// of just listing what is — see the skip branches in `scanRoot`.
|
|
18
|
+
skips = new Map();
|
|
11
19
|
/**
|
|
12
20
|
* Scan one or more roots once at startup and merge them, deduplicated per slug
|
|
13
21
|
* by precedence: roots earlier in the array win (project > global > bundled).
|
|
@@ -44,6 +52,7 @@ export class SkillRegistry {
|
|
|
44
52
|
const skillFile = path.join(skillDir, 'SKILL.md');
|
|
45
53
|
if (!fs.existsSync(skillFile)) {
|
|
46
54
|
console.warn(`[skill] ${slug}: missing SKILL.md, skipping`);
|
|
55
|
+
this.recordSkip(slug, 'missing SKILL.md');
|
|
47
56
|
continue;
|
|
48
57
|
}
|
|
49
58
|
try {
|
|
@@ -51,28 +60,84 @@ export class SkillRegistry {
|
|
|
51
60
|
const { data } = matter(raw);
|
|
52
61
|
const metadata = parseFrontmatter(slug, skillDir, root.source, data);
|
|
53
62
|
if (metadata.version > SUPPORTED_VERSION) {
|
|
54
|
-
|
|
63
|
+
const reason = `version ${metadata.version} > supported ${SUPPORTED_VERSION}`;
|
|
64
|
+
console.warn(`[skill] ${slug}: ${reason}, skipping`);
|
|
65
|
+
this.recordSkip(slug, reason);
|
|
55
66
|
continue;
|
|
56
67
|
}
|
|
57
68
|
// Contextual skills are package-only: ignore them entirely when dropped
|
|
58
69
|
// into a user root (not selectable, not used for contextual resolution).
|
|
59
70
|
if (metadata.scope === 'contextual' && root.source === 'user') {
|
|
60
71
|
console.warn(`[skill] ${slug}: scope "contextual" in user root, ignored (package-only)`);
|
|
72
|
+
this.recordSkip(slug, 'scope "contextual" in a user root (contextual skills are package-only)');
|
|
61
73
|
continue;
|
|
62
74
|
}
|
|
63
75
|
this.metadataBySlug.set(slug, metadata);
|
|
76
|
+
// A later, lower-precedence root supplied a valid skill for a slug an earlier
|
|
77
|
+
// root had skipped — it's no longer unselectable, so drop the stale reason.
|
|
78
|
+
this.skips.delete(slug);
|
|
64
79
|
}
|
|
65
80
|
catch (err) {
|
|
66
81
|
console.warn(`[skill] ${slug}: ${err.message}, skipping`);
|
|
82
|
+
this.recordSkip(slug, err.message);
|
|
67
83
|
}
|
|
68
84
|
}
|
|
69
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* M15: push a plugin-contributed writing style. Precedence
|
|
88
|
+
* `project > global > plugin > bundled`: a `user` style (project/global)
|
|
89
|
+
* already claiming this slug wins and the plugin style is dropped; otherwise
|
|
90
|
+
* the plugin style is registered, overriding any same-slug `bundled` style.
|
|
91
|
+
* First plugin wins among plugins (a later plugin never displaces an earlier
|
|
92
|
+
* one). A plugin never displaces a non-writing-style skill (e.g. a bundled
|
|
93
|
+
* `contextual` skill sharing the slug), so contextual resolution is preserved.
|
|
94
|
+
* Loading is the caller's trust decision — untrusted project-local plugins are
|
|
95
|
+
* never pushed here.
|
|
96
|
+
*/
|
|
97
|
+
addPluginStyle(c) {
|
|
98
|
+
const existing = this.metadataBySlug.get(c.slug);
|
|
99
|
+
if (existing &&
|
|
100
|
+
(existing.source === 'user' || existing.source === 'plugin' || existing.scope !== 'writing-style')) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const metadata = {
|
|
104
|
+
slug: c.slug,
|
|
105
|
+
title: c.title,
|
|
106
|
+
description: c.description,
|
|
107
|
+
version: c.version,
|
|
108
|
+
language: c.language,
|
|
109
|
+
scope: 'writing-style',
|
|
110
|
+
source: 'plugin',
|
|
111
|
+
path: '',
|
|
112
|
+
};
|
|
113
|
+
this.metadataBySlug.set(c.slug, metadata);
|
|
114
|
+
this.pluginResolved.set(c.slug, { metadata, content: c.content.trimStart(), files: c.files ?? {} });
|
|
115
|
+
}
|
|
70
116
|
list() {
|
|
71
117
|
return Array.from(this.metadataBySlug.values());
|
|
72
118
|
}
|
|
73
119
|
listSelectable() {
|
|
74
120
|
return this.list().filter((m) => m.scope === 'writing-style');
|
|
75
121
|
}
|
|
122
|
+
recordSkip(slug, reason) {
|
|
123
|
+
// First reason wins (matches root precedence — `scanRoot` visits highest first).
|
|
124
|
+
if (!this.skips.has(slug))
|
|
125
|
+
this.skips.set(slug, reason);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Explain why `slug` can't be selected as the writing style, for boot/PATCH
|
|
129
|
+
* validation messages. If the slug was found on disk but dropped during scan
|
|
130
|
+
* (version too high, contextual in a user root, malformed), name that reason so
|
|
131
|
+
* the author can fix the skill; otherwise fall back to listing what *is*
|
|
132
|
+
* selectable. Returns a fragment meant to follow `writingStyle "<slug>" `.
|
|
133
|
+
*/
|
|
134
|
+
unselectableReason(slug) {
|
|
135
|
+
const skip = this.skips.get(slug);
|
|
136
|
+
if (skip !== undefined)
|
|
137
|
+
return `was found on disk but skipped: ${skip}`;
|
|
138
|
+
const available = this.listSelectable().map((s) => s.slug).join(', ') || '(none)';
|
|
139
|
+
return `not a selectable writing-style skill. Available: ${available}`;
|
|
140
|
+
}
|
|
76
141
|
has(slug) {
|
|
77
142
|
return this.metadataBySlug.has(slug);
|
|
78
143
|
}
|
|
@@ -84,6 +149,13 @@ export class SkillRegistry {
|
|
|
84
149
|
const metadata = this.metadataBySlug.get(slug);
|
|
85
150
|
if (!metadata)
|
|
86
151
|
throw new Error(`SkillRegistry.resolve: unknown slug "${slug}"`);
|
|
152
|
+
// Plugin styles carry their body inline — no SKILL.md on disk.
|
|
153
|
+
if (metadata.source === 'plugin') {
|
|
154
|
+
const resolved = this.pluginResolved.get(slug);
|
|
155
|
+
if (!resolved)
|
|
156
|
+
throw new Error(`SkillRegistry.resolve: plugin style "${slug}" has no body`);
|
|
157
|
+
return resolved;
|
|
158
|
+
}
|
|
87
159
|
const skillFile = path.join(metadata.path, 'SKILL.md');
|
|
88
160
|
const raw = fs.readFileSync(skillFile, 'utf8');
|
|
89
161
|
const { content } = matter(raw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-registry.js","sourceRoot":"","sources":["../../../src/server/services/skill-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-registry.js","sourceRoot":"","sources":["../../../src/server/services/skill-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.69 Transagents ("bańki") — TransagentDispatcher.
|
|
3
|
+
*
|
|
4
|
+
* A chat/patch thread delegates a unit of work to a hidden CHILD thread of the
|
|
5
|
+
* same spec via the `runTransagent` MCP tool. The dispatcher:
|
|
6
|
+
* 1. resolves or creates the child thread (binding per `contextType`),
|
|
7
|
+
* 2. emits `transagent_started` into the PARENT's stream so the parent panel
|
|
8
|
+
* can nested-live-join the child,
|
|
9
|
+
* 3. runs a full child turn through the shared `runAgentTurn`,
|
|
10
|
+
* 4. emits `transagent_completed` and returns only `{ threadId, summary }` to
|
|
11
|
+
* the parent LLM's context (the child's full transcript stays hidden).
|
|
12
|
+
*
|
|
13
|
+
* Built per chat request in `agent-turn.ts` with the parent's `model` /
|
|
14
|
+
* `architectureConfig` (so the child inherits credentials + model) and a
|
|
15
|
+
* `runTurn` callback bound to the same `AgentTurnDeps` (injected to avoid a
|
|
16
|
+
* value-level import cycle with agent-turn.ts).
|
|
17
|
+
*/
|
|
18
|
+
import type { AgentTurnDeps, AgentTurnInput, AgentTurnResult, Model } from '../routes/agent-turn.js';
|
|
19
|
+
export interface TransagentRunInput {
|
|
20
|
+
parentThreadId: string;
|
|
21
|
+
contextType: 'brief' | 'chat' | 'patch';
|
|
22
|
+
message: string;
|
|
23
|
+
/** Per-contextType binding hints (e.g. `{ fromReleaseName, patchPath, suffix }`). */
|
|
24
|
+
payload?: Record<string, unknown>;
|
|
25
|
+
/** Continue an existing child banka instead of creating one. */
|
|
26
|
+
threadId?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface TransagentRunResult {
|
|
29
|
+
threadId: string;
|
|
30
|
+
summary: string;
|
|
31
|
+
}
|
|
32
|
+
export interface TransagentDispatcherOpts {
|
|
33
|
+
/** Parent turn's model — the child inherits it. */
|
|
34
|
+
model: Model;
|
|
35
|
+
/** Parent turn's architectureConfig (carries custom_env / credentials). */
|
|
36
|
+
architectureConfig: Record<string, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Resolves the parent's `tool_use(runTransagent)` id (fed race-free by the
|
|
39
|
+
* agent-turn loop). The created child stores it as `spawned_by_tool_use_id`,
|
|
40
|
+
* and it is echoed on `transagent_started`/`_completed` so the parent panel
|
|
41
|
+
* (and F5 reconstruction) can correlate the child with its tool_use block.
|
|
42
|
+
*/
|
|
43
|
+
takeToolUseId: () => Promise<string>;
|
|
44
|
+
/** Bound `(input) => runAgentTurn(deps, input)` — injected to avoid an import cycle. */
|
|
45
|
+
runTurn: (input: AgentTurnInput) => Promise<AgentTurnResult>;
|
|
46
|
+
}
|
|
47
|
+
export declare class TransagentDispatcher {
|
|
48
|
+
private deps;
|
|
49
|
+
private opts;
|
|
50
|
+
constructor(deps: AgentTurnDeps, opts: TransagentDispatcherOpts);
|
|
51
|
+
run(input: TransagentRunInput): Promise<TransagentRunResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Context-type registry: how to materialize a child thread per `contextType`.
|
|
54
|
+
* - brief → create an analysis brief file (source:'analysis', to_release:null,
|
|
55
|
+
* from=payload.fromReleaseName ?? latest) then a child brief thread.
|
|
56
|
+
* - patch → child patch thread (requires payload.patchPath).
|
|
57
|
+
* - chat → plain child chat thread.
|
|
58
|
+
*/
|
|
59
|
+
private createChild;
|
|
60
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.1.69 Transagents ("bańki") — TransagentDispatcher.
|
|
3
|
+
*
|
|
4
|
+
* A chat/patch thread delegates a unit of work to a hidden CHILD thread of the
|
|
5
|
+
* same spec via the `runTransagent` MCP tool. The dispatcher:
|
|
6
|
+
* 1. resolves or creates the child thread (binding per `contextType`),
|
|
7
|
+
* 2. emits `transagent_started` into the PARENT's stream so the parent panel
|
|
8
|
+
* can nested-live-join the child,
|
|
9
|
+
* 3. runs a full child turn through the shared `runAgentTurn`,
|
|
10
|
+
* 4. emits `transagent_completed` and returns only `{ threadId, summary }` to
|
|
11
|
+
* the parent LLM's context (the child's full transcript stays hidden).
|
|
12
|
+
*
|
|
13
|
+
* Built per chat request in `agent-turn.ts` with the parent's `model` /
|
|
14
|
+
* `architectureConfig` (so the child inherits credentials + model) and a
|
|
15
|
+
* `runTurn` callback bound to the same `AgentTurnDeps` (injected to avoid a
|
|
16
|
+
* value-level import cycle with agent-turn.ts).
|
|
17
|
+
*/
|
|
18
|
+
import { nanoid } from 'nanoid';
|
|
19
|
+
import { DomainError } from './tags.js';
|
|
20
|
+
export class TransagentDispatcher {
|
|
21
|
+
deps;
|
|
22
|
+
opts;
|
|
23
|
+
constructor(deps, opts) {
|
|
24
|
+
this.deps = deps;
|
|
25
|
+
this.opts = opts;
|
|
26
|
+
}
|
|
27
|
+
async run(input) {
|
|
28
|
+
const { parentThreadId, contextType, message } = input;
|
|
29
|
+
const payload = input.payload ?? {};
|
|
30
|
+
// The parent's tool_use id (race-free via the agent-turn loop). Used as the
|
|
31
|
+
// child's spawned_by_tool_use_id and echoed on the bracketing events.
|
|
32
|
+
const toolUseId = await this.opts.takeToolUseId();
|
|
33
|
+
// 1. Resolve/create the child thread.
|
|
34
|
+
let child;
|
|
35
|
+
if (input.threadId) {
|
|
36
|
+
const existing = this.deps.chatService.getThreadMeta(input.threadId);
|
|
37
|
+
if (!existing)
|
|
38
|
+
throw new DomainError('NOT_FOUND', `child thread '${input.threadId}' not found`);
|
|
39
|
+
if (existing.parentThreadId !== parentThreadId) {
|
|
40
|
+
throw new DomainError('VALIDATION', `thread '${input.threadId}' is not a child of this thread`);
|
|
41
|
+
}
|
|
42
|
+
child = existing;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
child = await this.createChild(contextType, parentThreadId, toolUseId, message, payload);
|
|
46
|
+
}
|
|
47
|
+
const parentAdapter = this.deps.activeAdapters.get(parentThreadId);
|
|
48
|
+
// 2. Bracket the child run with events on the PARENT's stream so the parent
|
|
49
|
+
// panel renders a nested child marker (and a joiner reconstructs it from
|
|
50
|
+
// the replay buffer — these types are in REPLAY_EVENT_TYPES).
|
|
51
|
+
parentAdapter?.emit({
|
|
52
|
+
type: 'transagent_started',
|
|
53
|
+
childThreadId: child.id,
|
|
54
|
+
toolUseId,
|
|
55
|
+
contextType,
|
|
56
|
+
timestamp: new Date().toISOString(),
|
|
57
|
+
});
|
|
58
|
+
try {
|
|
59
|
+
// 3. Run the child turn. `onEvent` is a no-op — the child renders via its
|
|
60
|
+
// own stream entry (GET /api/chat/stream/:childThreadId), not the
|
|
61
|
+
// parent transport. runAgentTurn registers activeAdapters[child.id]
|
|
62
|
+
// (with parentThreadId from the row) so the parent can nested-join.
|
|
63
|
+
const result = await this.opts.runTurn({
|
|
64
|
+
thread: child,
|
|
65
|
+
prompt: message,
|
|
66
|
+
model: this.opts.model,
|
|
67
|
+
architectureConfig: this.opts.architectureConfig,
|
|
68
|
+
requestId: nanoid(12),
|
|
69
|
+
consoleObserver: null,
|
|
70
|
+
onEvent: () => { },
|
|
71
|
+
});
|
|
72
|
+
// 4. Completion — return only the summary to the parent LLM's context.
|
|
73
|
+
parentAdapter?.emit({
|
|
74
|
+
type: 'transagent_completed',
|
|
75
|
+
childThreadId: child.id,
|
|
76
|
+
toolUseId,
|
|
77
|
+
status: 'completed',
|
|
78
|
+
timestamp: new Date().toISOString(),
|
|
79
|
+
});
|
|
80
|
+
return { threadId: child.id, summary: result.answer };
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
// Child failure collapses upward as the parent's tool_result isError
|
|
84
|
+
// (handled by the MCP wrapper). Still bracket-close the panel.
|
|
85
|
+
parentAdapter?.emit({
|
|
86
|
+
type: 'transagent_completed',
|
|
87
|
+
childThreadId: child.id,
|
|
88
|
+
toolUseId,
|
|
89
|
+
status: 'error',
|
|
90
|
+
timestamp: new Date().toISOString(),
|
|
91
|
+
});
|
|
92
|
+
throw err;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Context-type registry: how to materialize a child thread per `contextType`.
|
|
97
|
+
* - brief → create an analysis brief file (source:'analysis', to_release:null,
|
|
98
|
+
* from=payload.fromReleaseName ?? latest) then a child brief thread.
|
|
99
|
+
* - patch → child patch thread (requires payload.patchPath).
|
|
100
|
+
* - chat → plain child chat thread.
|
|
101
|
+
*/
|
|
102
|
+
async createChild(contextType, parentThreadId, spawnedByToolUseId, message, payload) {
|
|
103
|
+
if (contextType === 'brief') {
|
|
104
|
+
const fromReleaseName = typeof payload.fromReleaseName === 'string'
|
|
105
|
+
? payload.fromReleaseName
|
|
106
|
+
: (this.deps.releaseService.listReleases()[0]?.name ?? null);
|
|
107
|
+
const suffix = typeof payload.suffix === 'string' ? payload.suffix : undefined;
|
|
108
|
+
const content = typeof payload.content === 'string' ? payload.content : undefined;
|
|
109
|
+
const { briefPath } = await this.deps.briefService.createBrief({
|
|
110
|
+
source: 'analysis',
|
|
111
|
+
fromReleaseName,
|
|
112
|
+
toReleaseName: null,
|
|
113
|
+
content,
|
|
114
|
+
suffix,
|
|
115
|
+
});
|
|
116
|
+
const { threadId } = this.deps.briefService.createThreadForBrief({
|
|
117
|
+
path: briefPath,
|
|
118
|
+
parentThreadId,
|
|
119
|
+
spawnedByToolUseId,
|
|
120
|
+
});
|
|
121
|
+
const child = this.deps.chatService.getThreadMeta(threadId);
|
|
122
|
+
if (!child)
|
|
123
|
+
throw new DomainError('INTERNAL', 'child brief thread disappeared after create');
|
|
124
|
+
return child;
|
|
125
|
+
}
|
|
126
|
+
if (contextType === 'patch') {
|
|
127
|
+
const patchPath = typeof payload.patchPath === 'string' ? payload.patchPath : null;
|
|
128
|
+
if (!patchPath) {
|
|
129
|
+
throw new DomainError('VALIDATION', "contextType='patch' requires payload.patchPath");
|
|
130
|
+
}
|
|
131
|
+
return this.deps.chatService.createThread(`Transagent: ${patchPath}`, {
|
|
132
|
+
contextType: 'patch',
|
|
133
|
+
patchPath,
|
|
134
|
+
parentThreadId,
|
|
135
|
+
spawnedByToolUseId,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
// chat — plain child thread; title seeded from the message.
|
|
139
|
+
const title = message.slice(0, 60) + (message.length > 60 ? '...' : '');
|
|
140
|
+
return this.deps.chatService.createThread(title || 'Transagent', {
|
|
141
|
+
contextType: 'chat',
|
|
142
|
+
parentThreadId,
|
|
143
|
+
spawnedByToolUseId,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=transagent-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transagent-dispatcher.js","sourceRoot":"","sources":["../../../src/server/services/transagent-dispatcher.ts"],"names":[],"mappings":"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"}
|