@mcp-graph-workflow/mcp-graph 5.33.1 → 5.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/dist/api/routes/code-graph.d.ts.map +1 -1
  2. package/dist/api/routes/code-graph.js +3 -1
  3. package/dist/api/routes/code-graph.js.map +1 -1
  4. package/dist/core/analyzer/ac-coverage.d.ts +16 -0
  5. package/dist/core/analyzer/ac-coverage.d.ts.map +1 -0
  6. package/dist/core/analyzer/ac-coverage.js +38 -0
  7. package/dist/core/analyzer/ac-coverage.js.map +1 -0
  8. package/dist/core/analyzer/asset-blockers.d.ts +23 -0
  9. package/dist/core/analyzer/asset-blockers.d.ts.map +1 -0
  10. package/dist/core/analyzer/asset-blockers.js +50 -0
  11. package/dist/core/analyzer/asset-blockers.js.map +1 -0
  12. package/dist/core/analyzer/concurrency-risk.d.ts +26 -0
  13. package/dist/core/analyzer/concurrency-risk.d.ts.map +1 -0
  14. package/dist/core/analyzer/concurrency-risk.js +99 -0
  15. package/dist/core/analyzer/concurrency-risk.js.map +1 -0
  16. package/dist/core/analyzer/config-coverage.d.ts +20 -0
  17. package/dist/core/analyzer/config-coverage.d.ts.map +1 -0
  18. package/dist/core/analyzer/config-coverage.js +49 -0
  19. package/dist/core/analyzer/config-coverage.js.map +1 -0
  20. package/dist/core/analyzer/contract-coverage.d.ts +22 -0
  21. package/dist/core/analyzer/contract-coverage.d.ts.map +1 -0
  22. package/dist/core/analyzer/contract-coverage.js +51 -0
  23. package/dist/core/analyzer/contract-coverage.js.map +1 -0
  24. package/dist/core/analyzer/data-integrity.d.ts +22 -0
  25. package/dist/core/analyzer/data-integrity.d.ts.map +1 -0
  26. package/dist/core/analyzer/data-integrity.js +80 -0
  27. package/dist/core/analyzer/data-integrity.js.map +1 -0
  28. package/dist/core/analyzer/economy-simulator.d.ts +33 -0
  29. package/dist/core/analyzer/economy-simulator.d.ts.map +1 -0
  30. package/dist/core/analyzer/economy-simulator.js +162 -0
  31. package/dist/core/analyzer/economy-simulator.js.map +1 -0
  32. package/dist/core/analyzer/formula-consistency.d.ts +25 -0
  33. package/dist/core/analyzer/formula-consistency.d.ts.map +1 -0
  34. package/dist/core/analyzer/formula-consistency.js +82 -0
  35. package/dist/core/analyzer/formula-consistency.js.map +1 -0
  36. package/dist/core/analyzer/metric-coverage.d.ts +22 -0
  37. package/dist/core/analyzer/metric-coverage.d.ts.map +1 -0
  38. package/dist/core/analyzer/metric-coverage.js +52 -0
  39. package/dist/core/analyzer/metric-coverage.js.map +1 -0
  40. package/dist/core/analyzer/performance-budget-check.d.ts +22 -0
  41. package/dist/core/analyzer/performance-budget-check.d.ts.map +1 -0
  42. package/dist/core/analyzer/performance-budget-check.js +40 -0
  43. package/dist/core/analyzer/performance-budget-check.js.map +1 -0
  44. package/dist/core/analyzer/risk-assessment.d.ts.map +1 -1
  45. package/dist/core/analyzer/risk-assessment.js +9 -0
  46. package/dist/core/analyzer/risk-assessment.js.map +1 -1
  47. package/dist/core/analyzer/scenario-coverage.d.ts +19 -0
  48. package/dist/core/analyzer/scenario-coverage.d.ts.map +1 -0
  49. package/dist/core/analyzer/scenario-coverage.js +59 -0
  50. package/dist/core/analyzer/scenario-coverage.js.map +1 -0
  51. package/dist/core/analyzer/state-completeness.d.ts +22 -0
  52. package/dist/core/analyzer/state-completeness.d.ts.map +1 -0
  53. package/dist/core/analyzer/state-completeness.js +76 -0
  54. package/dist/core/analyzer/state-completeness.js.map +1 -0
  55. package/dist/core/code/code-indexer.d.ts +1 -1
  56. package/dist/core/code/code-indexer.d.ts.map +1 -1
  57. package/dist/core/code/code-indexer.js +50 -3
  58. package/dist/core/code/code-indexer.js.map +1 -1
  59. package/dist/core/code/code-store.js +3 -3
  60. package/dist/core/code/code-store.js.map +1 -1
  61. package/dist/core/code/code-types.d.ts +4 -4
  62. package/dist/core/code/treesitter/treesitter-manager.d.ts.map +1 -1
  63. package/dist/core/code/treesitter/treesitter-manager.js +2 -0
  64. package/dist/core/code/treesitter/treesitter-manager.js.map +1 -1
  65. package/dist/core/designer/adr-validator.d.ts.map +1 -1
  66. package/dist/core/designer/adr-validator.js +12 -4
  67. package/dist/core/designer/adr-validator.js.map +1 -1
  68. package/dist/core/designer/tech-risk-assessor.d.ts +5 -1
  69. package/dist/core/designer/tech-risk-assessor.d.ts.map +1 -1
  70. package/dist/core/designer/tech-risk-assessor.js +39 -11
  71. package/dist/core/designer/tech-risk-assessor.js.map +1 -1
  72. package/dist/core/designer/traceability-matrix.d.ts.map +1 -1
  73. package/dist/core/designer/traceability-matrix.js +14 -3
  74. package/dist/core/designer/traceability-matrix.js.map +1 -1
  75. package/dist/core/graph/auto-sequence.d.ts +10 -0
  76. package/dist/core/graph/auto-sequence.d.ts.map +1 -0
  77. package/dist/core/graph/auto-sequence.js +29 -0
  78. package/dist/core/graph/auto-sequence.js.map +1 -0
  79. package/dist/core/graph/csv-export.d.ts +7 -0
  80. package/dist/core/graph/csv-export.d.ts.map +1 -0
  81. package/dist/core/graph/csv-export.js +43 -0
  82. package/dist/core/graph/csv-export.js.map +1 -0
  83. package/dist/core/graph/graph-types.d.ts +2 -2
  84. package/dist/core/graph/graph-types.d.ts.map +1 -1
  85. package/dist/core/graph/mermaid-export.d.ts +1 -1
  86. package/dist/core/graph/mermaid-export.d.ts.map +1 -1
  87. package/dist/core/graph/mermaid-export.js +101 -0
  88. package/dist/core/graph/mermaid-export.js.map +1 -1
  89. package/dist/core/importer/prd-to-graph.d.ts.map +1 -1
  90. package/dist/core/importer/prd-to-graph.js +8 -1
  91. package/dist/core/importer/prd-to-graph.js.map +1 -1
  92. package/dist/core/listener/backlog-health.d.ts.map +1 -1
  93. package/dist/core/listener/backlog-health.js +15 -3
  94. package/dist/core/listener/backlog-health.js.map +1 -1
  95. package/dist/core/parser/classify.d.ts +4 -0
  96. package/dist/core/parser/classify.d.ts.map +1 -1
  97. package/dist/core/parser/classify.js +18 -0
  98. package/dist/core/parser/classify.js.map +1 -1
  99. package/dist/core/parser/extract.d.ts.map +1 -1
  100. package/dist/core/parser/extract.js +22 -4
  101. package/dist/core/parser/extract.js.map +1 -1
  102. package/dist/core/parser/prd-diff.d.ts +23 -0
  103. package/dist/core/parser/prd-diff.d.ts.map +1 -0
  104. package/dist/core/parser/prd-diff.js +55 -0
  105. package/dist/core/parser/prd-diff.js.map +1 -0
  106. package/dist/core/parser/segment.d.ts +5 -0
  107. package/dist/core/parser/segment.d.ts.map +1 -1
  108. package/dist/core/parser/segment.js +70 -0
  109. package/dist/core/parser/segment.js.map +1 -1
  110. package/dist/core/planner/auto-ready.d.ts +19 -0
  111. package/dist/core/planner/auto-ready.d.ts.map +1 -0
  112. package/dist/core/planner/auto-ready.js +39 -0
  113. package/dist/core/planner/auto-ready.js.map +1 -0
  114. package/dist/core/planner/planning-report.d.ts +13 -1
  115. package/dist/core/planner/planning-report.d.ts.map +1 -1
  116. package/dist/core/planner/planning-report.js +53 -2
  117. package/dist/core/planner/planning-report.js.map +1 -1
  118. package/dist/core/planner/sprint-health.d.ts +22 -0
  119. package/dist/core/planner/sprint-health.d.ts.map +1 -0
  120. package/dist/core/planner/sprint-health.js +41 -0
  121. package/dist/core/planner/sprint-health.js.map +1 -0
  122. package/dist/core/store/migrations.d.ts.map +1 -1
  123. package/dist/core/store/migrations.js +17 -0
  124. package/dist/core/store/migrations.js.map +1 -1
  125. package/dist/core/store/sqlite-store.d.ts +6 -0
  126. package/dist/core/store/sqlite-store.d.ts.map +1 -1
  127. package/dist/core/store/sqlite-store.js +54 -3
  128. package/dist/core/store/sqlite-store.js.map +1 -1
  129. package/dist/core/templates/template-engine.d.ts +36 -0
  130. package/dist/core/templates/template-engine.d.ts.map +1 -0
  131. package/dist/core/templates/template-engine.js +104 -0
  132. package/dist/core/templates/template-engine.js.map +1 -0
  133. package/dist/docs-manifest.json +12 -5
  134. package/dist/mcp/tools/analyze.d.ts.map +1 -1
  135. package/dist/mcp/tools/analyze.js +100 -1
  136. package/dist/mcp/tools/analyze.js.map +1 -1
  137. package/dist/mcp/tools/edge.d.ts.map +1 -1
  138. package/dist/mcp/tools/edge.js +81 -3
  139. package/dist/mcp/tools/edge.js.map +1 -1
  140. package/dist/mcp/tools/export.d.ts.map +1 -1
  141. package/dist/mcp/tools/export.js +17 -4
  142. package/dist/mcp/tools/export.js.map +1 -1
  143. package/dist/mcp/tools/import-prd.d.ts.map +1 -1
  144. package/dist/mcp/tools/import-prd.js +89 -2
  145. package/dist/mcp/tools/import-prd.js.map +1 -1
  146. package/dist/mcp/tools/index.d.ts.map +1 -1
  147. package/dist/mcp/tools/index.js +4 -0
  148. package/dist/mcp/tools/index.js.map +1 -1
  149. package/dist/mcp/tools/node.d.ts.map +1 -1
  150. package/dist/mcp/tools/node.js +127 -6
  151. package/dist/mcp/tools/node.js.map +1 -1
  152. package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
  153. package/dist/mcp/tools/plan-sprint.js +6 -2
  154. package/dist/mcp/tools/plan-sprint.js.map +1 -1
  155. package/dist/mcp/tools/show.d.ts.map +1 -1
  156. package/dist/mcp/tools/show.js +11 -4
  157. package/dist/mcp/tools/show.js.map +1 -1
  158. package/dist/mcp/tools/template.d.ts +4 -0
  159. package/dist/mcp/tools/template.d.ts.map +1 -0
  160. package/dist/mcp/tools/template.js +137 -0
  161. package/dist/mcp/tools/template.js.map +1 -0
  162. package/dist/schemas/analyzer-schema.d.ts +2 -2
  163. package/dist/schemas/designer-schema.d.ts +21 -0
  164. package/dist/schemas/designer-schema.d.ts.map +1 -1
  165. package/dist/schemas/designer-schema.js +2 -0
  166. package/dist/schemas/designer-schema.js.map +1 -1
  167. package/dist/schemas/edge.schema.d.ts +6 -0
  168. package/dist/schemas/edge.schema.d.ts.map +1 -1
  169. package/dist/schemas/edge.schema.js +2 -0
  170. package/dist/schemas/edge.schema.js.map +1 -1
  171. package/dist/schemas/graph.schema.d.ts +13 -0
  172. package/dist/schemas/graph.schema.d.ts.map +1 -1
  173. package/dist/schemas/node.schema.d.ts +20 -0
  174. package/dist/schemas/node.schema.d.ts.map +1 -1
  175. package/dist/schemas/node.schema.js +3 -0
  176. package/dist/schemas/node.schema.js.map +1 -1
  177. package/dist/schemas/siebel.schema.d.ts +13 -13
  178. package/dist/web/dashboard/dist/assets/{benchmark-tab-BezNQCQh.js → benchmark-tab-Aqr2Xzu5.js} +1 -1
  179. package/dist/web/dashboard/dist/assets/{circle-alert-DKsqBTgC.js → circle-alert-BJTyaShp.js} +1 -1
  180. package/dist/web/dashboard/dist/assets/constants-DLyESMjx.js +1 -0
  181. package/dist/web/dashboard/dist/assets/{context-tab-Cmar9i-X.js → context-tab-CbmHGGZh.js} +1 -1
  182. package/dist/web/dashboard/dist/assets/{davinci-tab-CkWYkDsy.js → davinci-tab-krxsY7Pp.js} +1 -1
  183. package/dist/web/dashboard/dist/assets/{docs-tab-CYpDJ3Rl.js → docs-tab-AautK0dL.js} +1 -1
  184. package/dist/web/dashboard/dist/assets/{file-code-B0t0xVTk.js → file-code-DVOtQrhl.js} +1 -1
  185. package/dist/web/dashboard/dist/assets/{gitnexus-tab-COEhhMeC.js → gitnexus-tab-D5xRYU3u.js} +1 -1
  186. package/dist/web/dashboard/dist/assets/{graph-section-CheOuwv_.js → graph-section-D5y4S3T1.js} +1 -1
  187. package/dist/web/dashboard/dist/assets/{graph-tab-B52UV5KP.js → graph-tab-tmjyMc4q.js} +1 -1
  188. package/dist/web/dashboard/dist/assets/{graph-utils-D5HpaYbf.js → graph-utils-BlwoHdjR.js} +1 -1
  189. package/dist/web/dashboard/dist/assets/{index-DFMBuNWV.js → index-C13O-yj1.js} +1 -1
  190. package/dist/web/dashboard/dist/assets/{index--SYA0Gq0.js → index-CAOXRHQq.js} +1 -1
  191. package/dist/web/dashboard/dist/assets/{index-DdenFaJ5.js → index-DrvFzUJS.js} +2 -2
  192. package/dist/web/dashboard/dist/assets/{insights-tab-sPgv-iwt.js → insights-tab-9sq9NfBt.js} +1 -1
  193. package/dist/web/dashboard/dist/assets/{journey-tab-CS416bwg.js → journey-tab-ujeAoAsS.js} +1 -1
  194. package/dist/web/dashboard/dist/assets/{languages-tab-CcB_s-Ic.js → languages-tab-DT-46f7p.js} +1 -1
  195. package/dist/web/dashboard/dist/assets/{loader-circle-BSNUICqd.js → loader-circle-DQz_g7p_.js} +1 -1
  196. package/dist/web/dashboard/dist/assets/{logs-tab-BbDXtvmz.js → logs-tab-DHj9jG6G.js} +1 -1
  197. package/dist/web/dashboard/dist/assets/{lsp-tab-BrytF6mP.js → lsp-tab-DGIm2cTM.js} +1 -1
  198. package/dist/web/dashboard/dist/assets/{memories-tab-qCFdXJIV.js → memories-tab-DT7JcHgq.js} +1 -1
  199. package/dist/web/dashboard/dist/assets/{prd-backlog-tab-BiNvyICT.js → prd-backlog-tab-CLzQ5p_3.js} +1 -1
  200. package/dist/web/dashboard/dist/assets/{refresh-cw-CqVWFFCW.js → refresh-cw-C0EeXZ6n.js} +1 -1
  201. package/dist/web/dashboard/dist/assets/{siebel-tab-DFNHIBbS.js → siebel-tab-67cdoYQ_.js} +3 -3
  202. package/dist/web/dashboard/dist/assets/{skills-tab-DlInZCyj.js → skills-tab-DL8-pMo9.js} +1 -1
  203. package/dist/web/dashboard/dist/assets/{style-B4jQtUGE.js → style-DeKQIW_i.js} +1 -1
  204. package/dist/web/dashboard/dist/assets/{triangle-alert-CqXtIU3H.js → triangle-alert-cibtv50e.js} +1 -1
  205. package/dist/web/dashboard/dist/assets/{upload-Cb3pIYT5.js → upload-CZI9Zosi.js} +1 -1
  206. package/dist/web/dashboard/dist/index.html +1 -1
  207. package/package.json +3 -1
  208. package/dist/web/dashboard/dist/assets/constants-Dd6A34aQ.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAYpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAqLxE"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAYpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CA6TxE"}
@@ -4,7 +4,7 @@
4
4
  * Replaces separate add_node, update_node, delete_node tools.
5
5
  */
6
6
  import { z } from "zod/v4";
7
- import { NodeTypeSchema, NodeStatusSchema, XpSizeSchema, PrioritySchema } from "../../schemas/node.schema.js";
7
+ import { NodeTypeSchema, NodeStatusSchema, XpSizeSchema, PrioritySchema, GraphNodeSchema } from "../../schemas/node.schema.js";
8
8
  import { NodeNotFoundError } from "../../core/utils/errors.js";
9
9
  import { DEFAULT_NODE_STATUS, DEFAULT_NODE_PRIORITY } from "../../core/utils/constants.js";
10
10
  import { generateId } from "../../core/utils/id.js";
@@ -14,8 +14,8 @@ import { checkCircularity } from "../../core/utils/circularity.js";
14
14
  import { mcpText, mcpError, normalizeNewlines } from "../response-helpers.js";
15
15
  import { indexNodeAsKnowledge, removeNodeFromKnowledge } from "../../core/rag/node-indexer.js";
16
16
  export function registerNode(server, store) {
17
- server.tool("node", "Manage graph nodes: add, update, or delete", {
18
- action: z.enum(["add", "update", "delete"]).describe("Action to perform"),
17
+ server.tool("node", "Manage graph nodes: add, update, delete, or batch_add", {
18
+ action: z.enum(["add", "update", "delete", "batch_add"]).describe("Action to perform"),
19
19
  // add params
20
20
  type: NodeTypeSchema.optional().describe("Node type — required for add (epic, task, subtask, etc.)"),
21
21
  title: z.string().optional().describe("Node title — required for add"),
@@ -28,11 +28,29 @@ export function registerNode(server, store) {
28
28
  parentId: z.string().nullable().optional().describe("Parent node ID (add/update)"),
29
29
  sprint: z.string().nullable().optional().describe("Sprint identifier (add/update)"),
30
30
  acceptanceCriteria: z.array(z.string()).optional().describe("Acceptance criteria (add/update)"),
31
+ acceptanceCriteria_append: z.array(z.string()).optional().describe("Append to existing acceptance criteria without replacing (update only)"),
31
32
  blocked: z.boolean().optional().describe("Whether the node is blocked (add)"),
33
+ autoSequence: z.boolean().optional().describe("Auto-create depends_on edge to previous sibling when parentId is set (add only)"),
32
34
  metadata: z.record(z.string(), z.unknown()).optional().describe("Custom metadata (add)"),
33
35
  // update/delete params
34
36
  id: z.string().min(1).optional().describe("Node ID — required for update/delete"),
35
- }, async ({ action, id, type, title, description, status, priority, xpSize, estimateMinutes, tags, parentId, sprint, acceptanceCriteria, blocked, metadata }) => {
37
+ // batch_add params
38
+ nodes: z.array(z.object({
39
+ type: NodeTypeSchema,
40
+ title: z.string(),
41
+ description: z.string().optional(),
42
+ status: NodeStatusSchema.optional(),
43
+ priority: PrioritySchema.optional(),
44
+ xpSize: XpSizeSchema.optional(),
45
+ estimateMinutes: z.number().optional(),
46
+ tags: z.array(z.string()).optional(),
47
+ parentId: z.string().nullable().optional(),
48
+ sprint: z.string().nullable().optional(),
49
+ acceptanceCriteria: z.array(z.string()).optional(),
50
+ blocked: z.boolean().optional(),
51
+ metadata: z.record(z.string(), z.unknown()).optional(),
52
+ })).max(50).optional().describe("Array of nodes for batch_add (max 50)"),
53
+ }, async ({ action, id, type, title, description, status, priority, xpSize, estimateMinutes, tags, parentId, sprint, acceptanceCriteria, acceptanceCriteria_append, blocked, autoSequence, metadata, nodes }) => {
36
54
  logger.debug("tool:node", { action, id, type, title });
37
55
  if (action === "add") {
38
56
  if (!type || !title) {
@@ -80,6 +98,22 @@ export function registerNode(server, store) {
80
98
  relationType: "child_of",
81
99
  createdAt: timestamp,
82
100
  });
101
+ if (autoSequence) {
102
+ const siblings = store.toGraphDocument().nodes
103
+ .filter(n => n.parentId === parentId && n.id !== node.id)
104
+ .sort((a, b) => a.createdAt.localeCompare(b.createdAt));
105
+ const lastSibling = siblings[siblings.length - 1];
106
+ if (lastSibling) {
107
+ store.insertEdge({
108
+ id: generateId("edge"),
109
+ from: node.id,
110
+ to: lastSibling.id,
111
+ relationType: "depends_on",
112
+ reason: "Auto-sequenced",
113
+ createdAt: timestamp,
114
+ });
115
+ }
116
+ }
83
117
  }
84
118
  indexNodeAsKnowledge(store.getDb(), node);
85
119
  logger.info("tool:node:add:ok", { nodeId: node.id, type: node.type });
@@ -89,6 +123,15 @@ export function registerNode(server, store) {
89
123
  if (!id) {
90
124
  return mcpError("id is required for update action");
91
125
  }
126
+ // Handle acceptanceCriteria_append: merge with existing
127
+ let mergedAC = acceptanceCriteria;
128
+ if (acceptanceCriteria_append && acceptanceCriteria_append.length > 0 && !acceptanceCriteria) {
129
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- id validated at line ~120
130
+ const existing = store.getNodeById(id);
131
+ if (existing) {
132
+ mergedAC = [...(existing.acceptanceCriteria ?? []), ...acceptanceCriteria_append];
133
+ }
134
+ }
92
135
  const fields = {};
93
136
  if (title !== undefined)
94
137
  fields.title = title;
@@ -108,8 +151,8 @@ export function registerNode(server, store) {
108
151
  fields.sprint = sprint;
109
152
  if (parentId !== undefined)
110
153
  fields.parentId = parentId;
111
- if (acceptanceCriteria !== undefined)
112
- fields.acceptanceCriteria = acceptanceCriteria;
154
+ if (mergedAC !== undefined)
155
+ fields.acceptanceCriteria = mergedAC;
113
156
  // Bug #036: reject self-parenting and circularity in update action
114
157
  const circError = checkCircularity(store, id, parentId);
115
158
  if (circError)
@@ -167,6 +210,84 @@ export function registerNode(server, store) {
167
210
  logger.info("tool:node:update:ok", { id });
168
211
  return mcpText({ ok: true, node: updated });
169
212
  }
213
+ if (action === "batch_add") {
214
+ if (!nodes || nodes.length === 0) {
215
+ return mcpError("nodes array is required for batch_add action");
216
+ }
217
+ if (nodes.length > 50) {
218
+ return mcpError("batch_add supports at most 50 nodes");
219
+ }
220
+ const inserted = [];
221
+ const errors = [];
222
+ const validNodes = [];
223
+ const autoEdges = [];
224
+ const batchNodeSchema = GraphNodeSchema.omit({ id: true, createdAt: true, updatedAt: true }).extend({
225
+ status: NodeStatusSchema.optional(),
226
+ priority: PrioritySchema.optional(),
227
+ });
228
+ for (let i = 0; i < nodes.length; i++) {
229
+ const entry = nodes[i];
230
+ const parsed = batchNodeSchema.safeParse(entry);
231
+ if (!parsed.success) {
232
+ errors.push({ index: i, message: parsed.error.message });
233
+ continue;
234
+ }
235
+ // Validate parentId exists
236
+ if (entry.parentId) {
237
+ const parent = store.getNodeById(entry.parentId);
238
+ if (!parent) {
239
+ errors.push({ index: i, message: `Parent not found: ${entry.parentId}` });
240
+ continue;
241
+ }
242
+ }
243
+ const timestamp = now();
244
+ const nodeId = generateId("node");
245
+ const node = {
246
+ id: nodeId,
247
+ type: entry.type,
248
+ title: entry.title,
249
+ description: normalizeNewlines(entry.description),
250
+ status: entry.status ?? DEFAULT_NODE_STATUS,
251
+ priority: entry.priority ?? DEFAULT_NODE_PRIORITY,
252
+ xpSize: entry.xpSize,
253
+ estimateMinutes: entry.estimateMinutes,
254
+ tags: entry.tags,
255
+ parentId: entry.parentId,
256
+ sprint: entry.sprint,
257
+ acceptanceCriteria: entry.acceptanceCriteria,
258
+ blocked: entry.blocked,
259
+ metadata: entry.metadata,
260
+ createdAt: timestamp,
261
+ updatedAt: timestamp,
262
+ };
263
+ validNodes.push(node);
264
+ inserted.push(nodeId);
265
+ if (entry.parentId) {
266
+ autoEdges.push({
267
+ id: generateId("edge"),
268
+ from: entry.parentId,
269
+ to: nodeId,
270
+ relationType: "parent_of",
271
+ createdAt: timestamp,
272
+ });
273
+ autoEdges.push({
274
+ id: generateId("edge"),
275
+ from: nodeId,
276
+ to: entry.parentId,
277
+ relationType: "child_of",
278
+ createdAt: timestamp,
279
+ });
280
+ }
281
+ }
282
+ if (validNodes.length > 0) {
283
+ store.mergeInsert(validNodes, autoEdges);
284
+ for (const node of validNodes) {
285
+ indexNodeAsKnowledge(store.getDb(), node);
286
+ }
287
+ }
288
+ logger.info("tool:node:batch_add:ok", { inserted: inserted.length, errors: errors.length });
289
+ return mcpText({ ok: true, inserted, errors });
290
+ }
170
291
  // action === "delete"
171
292
  if (!id) {
172
293
  return mcpError("id is required for delete action");
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/mcp/tools/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,KAAkB;IAChE,MAAM,CAAC,IAAI,CACT,MAAM,EACN,4CAA4C,EAC5C;QACE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzE,aAAa;QACb,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QACpG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACtE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC5E,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACtG,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACrF,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC9E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACxF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAClF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACnF,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC/F,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC7E,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACxF,uBAAuB;QACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KAClF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3J,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO,QAAQ,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC5C,OAAO,QAAQ,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC;gBACtB,IAAI;gBACJ,KAAK;gBACL,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC;gBAC3C,MAAM,EAAE,MAAM,IAAI,mBAAmB;gBACrC,QAAQ,EAAE,QAAQ,IAAI,qBAAqB;gBAC3C,MAAM;gBACN,eAAe;gBACf,IAAI;gBACJ,QAAQ;gBACR,MAAM;gBACN,kBAAkB;gBAClB,OAAO;gBACP,QAAQ;gBACR,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC;YAEF,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvB,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,UAAU,CAAC;oBACf,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC;oBACtB,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,YAAY,EAAE,WAA2B;oBACzC,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;gBACH,KAAK,CAAC,UAAU,CAAC;oBACf,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC;oBACtB,IAAI,EAAE,IAAI,CAAC,EAAE;oBACb,EAAE,EAAE,QAAQ;oBACZ,YAAY,EAAE,UAA0B;oBACxC,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,QAAQ,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9C,IAAI,WAAW,KAAK,SAAS;gBAAE,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACnF,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvD,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACjD,IAAI,eAAe,KAAK,SAAS;gBAAE,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;YAC5E,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACjD,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvD,IAAI,kBAAkB,KAAK,SAAS;gBAAE,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAErF,mEAAmE;YACnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,SAAS;gBAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE1C,8DAA8D;YAC9D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;oBAClB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC3C,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC;wBAE1C,gCAAgC;wBAChC,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;4BAC3D,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gCACtC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;oCACxD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAC5B,CAAC;4BACH,CAAC;4BACD,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;4BAC7C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gCACjC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oCAChE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAC5B,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,gCAAgC;wBAChC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;4BACtB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;4BACxB,KAAK,CAAC,UAAU,CAAC;gCACf,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC;gCACtB,IAAI,EAAE,QAAQ;gCACd,EAAE,EAAE,EAAE;gCACN,YAAY,EAAE,WAA2B;gCACzC,SAAS,EAAE,SAAS;6BACrB,CAAC,CAAC;4BACH,KAAK,CAAC,UAAU,CAAC;gCACf,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC;gCACtB,IAAI,EAAE,EAAE;gCACR,EAAE,EAAE,QAAQ;gCACZ,YAAY,EAAE,UAA0B;gCACxC,SAAS,EAAE,SAAS;6BACrB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,iEAAiE;QACjE,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/mcp/tools/node.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-sprint.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/plan-sprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAQpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAsE9E"}
1
+ {"version":3,"file":"plan-sprint.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/plan-sprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAQpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CA0E9E"}
@@ -11,7 +11,11 @@ export function registerPlanSprint(server, store) {
11
11
  .enum(["report", "next"])
12
12
  .optional()
13
13
  .describe("Mode: 'report' for full planning report, 'next' for enhanced next task (default: report)"),
14
- }, async ({ mode }) => {
14
+ capacityPoints: z
15
+ .number()
16
+ .optional()
17
+ .describe("Max points per sprint — tasks exceeding this go to overflow"),
18
+ }, async ({ mode, capacityPoints }) => {
15
19
  logger.debug("tool:plan_sprint", { mode: mode ?? "report" });
16
20
  const doc = store.toGraphDocument();
17
21
  if (mode === "next") {
@@ -34,7 +38,7 @@ export function registerPlanSprint(server, store) {
34
38
  });
35
39
  }
36
40
  // Default: full planning report
37
- const report = generatePlanningReport(doc, store);
41
+ const report = generatePlanningReport(doc, store, mode === "report" || mode === undefined ? capacityPoints : undefined);
38
42
  // Index sprint plan into knowledge store for cross-phase RAG
39
43
  try {
40
44
  const knowledgeStore = new KnowledgeStore(store.getDb());
@@ -1 +1 @@
1
- {"version":3,"file":"plan-sprint.js","sourceRoot":"","sources":["../../../src/mcp/tools/plan-sprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-sprint.js","sourceRoot":"","sources":["../../../src/mcp/tools/plan-sprint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/show.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAKpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAgCxE"}
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/show.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAKpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAyCxE"}
@@ -3,7 +3,10 @@ import { NodeNotFoundError } from "../../core/utils/errors.js";
3
3
  import { logger } from "../../core/utils/logger.js";
4
4
  import { mcpText, mcpError } from "../response-helpers.js";
5
5
  export function registerShow(server, store) {
6
- server.tool("show", "Show detailed information about a specific node, including its edges and children", { id: z.string().min(1).describe("The node ID to inspect") }, async ({ id }) => {
6
+ server.tool("show", "Show detailed information about a specific node, including its edges and children", {
7
+ id: z.string().min(1).describe("The node ID to inspect"),
8
+ includeHistory: z.boolean().optional().describe("Include node changelog (audit trail) in response"),
9
+ }, async ({ id, includeHistory }) => {
7
10
  logger.debug("tool:show", { id });
8
11
  const node = store.getNodeById(id);
9
12
  if (!node) {
@@ -14,8 +17,7 @@ export function registerShow(server, store) {
14
17
  const edgesFrom = store.getEdgesFrom(id);
15
18
  const edgesTo = store.getEdgesTo(id);
16
19
  const children = store.getChildNodes(id);
17
- logger.info("tool:show:ok", { id, edgesOut: edgesFrom.length, edgesIn: edgesTo.length, children: children.length });
18
- return mcpText({
20
+ const result = {
19
21
  node,
20
22
  outgoingEdges: edgesFrom,
21
23
  incomingEdges: edgesTo,
@@ -25,7 +27,12 @@ export function registerShow(server, store) {
25
27
  title: c.title,
26
28
  status: c.status,
27
29
  })),
28
- });
30
+ };
31
+ if (includeHistory) {
32
+ result.changelog = store.getNodeHistory(id);
33
+ }
34
+ logger.info("tool:show:ok", { id, edgesOut: edgesFrom.length, edgesIn: edgesTo.length, children: children.length, includeHistory: !!includeHistory });
35
+ return mcpText(result);
29
36
  });
30
37
  }
31
38
  //# sourceMappingURL=show.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/mcp/tools/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,KAAkB;IAChE,MAAM,CAAC,IAAI,CACT,MAAM,EACN,mFAAmF,EACnF,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,EAC5D,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAEzC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpH,OAAO,OAAO,CAAC;YACb,IAAI;YACJ,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,OAAO;YACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/mcp/tools/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,KAAkB;IAChE,MAAM,CAAC,IAAI,CACT,MAAM,EACN,mFAAmF,EACnF;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACxD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KACpG,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAEzC,MAAM,MAAM,GAA4B;YACtC,IAAI;YACJ,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,OAAO;YACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;SACJ,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QACtJ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { SqliteStore } from "../../core/store/sqlite-store.js";
3
+ export declare function registerTemplate(server: McpServer, store: SqliteStore): void;
4
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAgCpE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CA4H5E"}
@@ -0,0 +1,137 @@
1
+ import { z } from "zod/v4";
2
+ import { instantiateTemplate, listTemplates, } from "../../core/templates/template-engine.js";
3
+ import { generateId } from "../../core/utils/id.js";
4
+ import { now } from "../../core/utils/time.js";
5
+ import { logger } from "../../core/utils/logger.js";
6
+ import { mcpText, mcpError } from "../response-helpers.js";
7
+ const NodeDefinitionSchema = z.object({
8
+ type: z.enum(["task", "subtask"]),
9
+ titleTemplate: z.string(),
10
+ description: z.string().optional(),
11
+ xpSize: z.enum(["XS", "S", "M", "L", "XL"]).optional(),
12
+ acceptanceCriteria: z.array(z.string()).optional(),
13
+ tags: z.array(z.string()).optional(),
14
+ });
15
+ const EdgeDefinitionSchema = z.object({
16
+ fromIndex: z.number(),
17
+ toIndex: z.number(),
18
+ relationType: z.string(),
19
+ });
20
+ const DefinitionSchema = z.object({
21
+ nodeDefinitions: z.array(NodeDefinitionSchema),
22
+ edgeDefinitions: z.array(EdgeDefinitionSchema).optional(),
23
+ });
24
+ export function registerTemplate(server, store) {
25
+ server.tool("template", "Manage task templates: create reusable task structures, list available templates, apply templates to generate nodes with variable substitution.", {
26
+ action: z
27
+ .enum(["create", "list", "apply"])
28
+ .describe("Action: create a template, list templates, apply a template"),
29
+ name: z
30
+ .string()
31
+ .optional()
32
+ .describe("Template name (required for 'create')"),
33
+ description: z
34
+ .string()
35
+ .optional()
36
+ .describe("Template description (optional for 'create')"),
37
+ definition: DefinitionSchema
38
+ .optional()
39
+ .describe("Template definition with node and edge definitions (required for 'create')"),
40
+ templateId: z
41
+ .string()
42
+ .optional()
43
+ .describe("Template node ID to apply (required for 'apply')"),
44
+ variables: z
45
+ .record(z.string(), z.string())
46
+ .optional()
47
+ .describe("Variable substitutions for {{var}} placeholders (used with 'apply')"),
48
+ parentId: z
49
+ .string()
50
+ .optional()
51
+ .describe("Parent node ID for created nodes (optional for 'apply')"),
52
+ }, async ({ action, name, description, definition, templateId, variables, parentId }) => {
53
+ logger.debug("tool:template", { action, name, templateId });
54
+ switch (action) {
55
+ case "create": {
56
+ if (!name)
57
+ return mcpError("Missing required parameter: name");
58
+ if (!definition)
59
+ return mcpError("Missing required parameter: definition");
60
+ const timestamp = now();
61
+ const nodeId = generateId("node");
62
+ const milestoneNode = {
63
+ id: nodeId,
64
+ type: "milestone",
65
+ title: name,
66
+ description,
67
+ status: "backlog",
68
+ priority: 3,
69
+ metadata: {
70
+ templateDefinition: {
71
+ name,
72
+ description,
73
+ nodeDefinitions: definition.nodeDefinitions,
74
+ edgeDefinitions: definition.edgeDefinitions,
75
+ },
76
+ },
77
+ createdAt: timestamp,
78
+ updatedAt: timestamp,
79
+ };
80
+ try {
81
+ store.insertNode(milestoneNode);
82
+ logger.info("tool:template:created", { nodeId, name });
83
+ return mcpText({
84
+ ok: true,
85
+ templateId: nodeId,
86
+ name,
87
+ nodeDefinitions: definition.nodeDefinitions.length,
88
+ edgeDefinitions: definition.edgeDefinitions?.length ?? 0,
89
+ });
90
+ }
91
+ catch (err) {
92
+ return mcpError(err instanceof Error ? err : new Error(String(err)));
93
+ }
94
+ }
95
+ case "list": {
96
+ const templates = listTemplates(store);
97
+ logger.info("tool:template:list", { count: templates.length });
98
+ return mcpText({ templates, count: templates.length });
99
+ }
100
+ case "apply": {
101
+ if (!templateId)
102
+ return mcpError("Missing required parameter: templateId");
103
+ const templateNode = store.getNodeById(templateId);
104
+ if (!templateNode)
105
+ return mcpError(`Template node not found: ${templateId}`);
106
+ const metadata = templateNode.metadata;
107
+ const templateDef = metadata?.templateDefinition;
108
+ if (!templateDef) {
109
+ return mcpError(`Node ${templateId} is not a template (missing metadata.templateDefinition)`);
110
+ }
111
+ if (parentId) {
112
+ const parentNode = store.getNodeById(parentId);
113
+ if (!parentNode)
114
+ return mcpError(`Parent node not found: ${parentId}`);
115
+ }
116
+ const result = store.getDb().transaction(() => {
117
+ return instantiateTemplate(store, templateDef, variables ?? {}, parentId);
118
+ })();
119
+ logger.info("tool:template:applied", {
120
+ templateId,
121
+ nodes: result.nodesCreated.length,
122
+ edges: result.edgesCreated.length,
123
+ errors: result.errors.length,
124
+ });
125
+ return mcpText({
126
+ ok: true,
127
+ templateId,
128
+ templateName: templateDef.name,
129
+ ...result,
130
+ });
131
+ }
132
+ default:
133
+ return mcpError(`Unknown action: ${String(action)}`);
134
+ }
135
+ });
136
+ }
137
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/mcp/tools/template.ts"],"names":[],"mappings":"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"}
@@ -121,8 +121,8 @@ export declare const RiskEntrySchema: z.ZodObject<{
121
121
  }>;
122
122
  mitigationStatus: z.ZodEnum<{
123
123
  partial: "partial";
124
- mitigated: "mitigated";
125
124
  unmitigated: "unmitigated";
125
+ mitigated: "mitigated";
126
126
  }>;
127
127
  suggestedMitigation: z.ZodOptional<z.ZodString>;
128
128
  synthetic: z.ZodOptional<z.ZodBoolean>;
@@ -142,8 +142,8 @@ export declare const RiskMatrixSchema: z.ZodObject<{
142
142
  }>;
143
143
  mitigationStatus: z.ZodEnum<{
144
144
  partial: "partial";
145
- mitigated: "mitigated";
146
145
  unmitigated: "unmitigated";
146
+ mitigated: "mitigated";
147
147
  }>;
148
148
  suggestedMitigation: z.ZodOptional<z.ZodString>;
149
149
  synthetic: z.ZodOptional<z.ZodBoolean>;
@@ -144,6 +144,11 @@ export declare const TechRiskProbabilitySchema: z.ZodEnum<{
144
144
  medium: "medium";
145
145
  low: "low";
146
146
  }>;
147
+ export declare const MitigationLevelSchema: z.ZodEnum<{
148
+ unmitigated: "unmitigated";
149
+ partially_mitigated: "partially_mitigated";
150
+ mitigated: "mitigated";
151
+ }>;
147
152
  export declare const TechRiskEntrySchema: z.ZodObject<{
148
153
  nodeId: z.ZodString;
149
154
  category: z.ZodEnum<{
@@ -166,6 +171,11 @@ export declare const TechRiskEntrySchema: z.ZodObject<{
166
171
  }>;
167
172
  score: z.ZodNumber;
168
173
  mitigated: z.ZodBoolean;
174
+ mitigationLevel: z.ZodOptional<z.ZodEnum<{
175
+ unmitigated: "unmitigated";
176
+ partially_mitigated: "partially_mitigated";
177
+ mitigated: "mitigated";
178
+ }>>;
169
179
  }, z.core.$strip>;
170
180
  export declare const TechRiskReportSchema: z.ZodObject<{
171
181
  risks: z.ZodArray<z.ZodObject<{
@@ -190,6 +200,11 @@ export declare const TechRiskReportSchema: z.ZodObject<{
190
200
  }>;
191
201
  score: z.ZodNumber;
192
202
  mitigated: z.ZodBoolean;
203
+ mitigationLevel: z.ZodOptional<z.ZodEnum<{
204
+ unmitigated: "unmitigated";
205
+ partially_mitigated: "partially_mitigated";
206
+ mitigated: "mitigated";
207
+ }>>;
193
208
  }, z.core.$strip>>;
194
209
  inferredRisks: z.ZodArray<z.ZodObject<{
195
210
  nodeId: z.ZodString;
@@ -213,12 +228,18 @@ export declare const TechRiskReportSchema: z.ZodObject<{
213
228
  }>;
214
229
  score: z.ZodNumber;
215
230
  mitigated: z.ZodBoolean;
231
+ mitigationLevel: z.ZodOptional<z.ZodEnum<{
232
+ unmitigated: "unmitigated";
233
+ partially_mitigated: "partially_mitigated";
234
+ mitigated: "mitigated";
235
+ }>>;
216
236
  }, z.core.$strip>>;
217
237
  riskScore: z.ZodNumber;
218
238
  highRisks: z.ZodArray<z.ZodString>;
219
239
  }, z.core.$strip>;
220
240
  export type TechRiskCategory = z.infer<typeof TechRiskCategorySchema>;
221
241
  export type TechRiskProbability = z.infer<typeof TechRiskProbabilitySchema>;
242
+ export type MitigationLevel = z.infer<typeof MitigationLevelSchema>;
222
243
  export type TechRiskEntry = z.infer<typeof TechRiskEntrySchema>;
223
244
  export type TechRiskReport = z.infer<typeof TechRiskReportSchema>;
224
245
  /** @deprecated Use ReadinessSeveritySchema from readiness-schema.ts */
@@ -1 +1 @@
1
- {"version":3,"file":"designer-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/designer-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"designer-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/designer-schema.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,7 @@ export const TechRiskCategorySchema = z.enum([
75
75
  "dependency",
76
76
  ]);
77
77
  export const TechRiskProbabilitySchema = z.enum(["low", "medium", "high"]);
78
+ export const MitigationLevelSchema = z.enum(["unmitigated", "partially_mitigated", "mitigated"]);
78
79
  export const TechRiskEntrySchema = z.object({
79
80
  nodeId: z.string(),
80
81
  category: TechRiskCategorySchema,
@@ -82,6 +83,7 @@ export const TechRiskEntrySchema = z.object({
82
83
  impact: TechRiskProbabilitySchema,
83
84
  score: z.number().min(1).max(9),
84
85
  mitigated: z.boolean(),
86
+ mitigationLevel: MitigationLevelSchema.optional(),
85
87
  });
86
88
  export const TechRiskReportSchema = z.object({
87
89
  risks: z.array(TechRiskEntrySchema),