@telora/mcp-products 0.21.28 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/handlers/componentHandlers.d.ts +3 -0
- package/dist/handlers/componentHandlers.js +128 -0
- package/dist/handlers/componentHandlers.js.map +1 -0
- package/dist/handlers/contextHandlers.d.ts +1 -6
- package/dist/handlers/contextHandlers.js +13 -145
- package/dist/handlers/contextHandlers.js.map +1 -1
- package/dist/handlers/contractHandlers.d.ts +3 -0
- package/dist/handlers/contractHandlers.js +150 -0
- package/dist/handlers/contractHandlers.js.map +1 -0
- package/dist/handlers/factoryHandlers.js +3 -182
- package/dist/handlers/factoryHandlers.js.map +1 -1
- package/dist/handlers/index.d.ts +5 -1
- package/dist/handlers/index.js +5 -1
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/prerequisiteTreeHandlers.d.ts +3 -0
- package/dist/handlers/prerequisiteTreeHandlers.js +416 -0
- package/dist/handlers/prerequisiteTreeHandlers.js.map +1 -0
- package/dist/handlers/productHandlers.js +6 -9
- package/dist/handlers/productHandlers.js.map +1 -1
- package/dist/handlers/realityTreeHandlers.js +6 -4
- package/dist/handlers/realityTreeHandlers.js.map +1 -1
- package/dist/handlers/wikiHandlers.d.ts +15 -0
- package/dist/handlers/wikiHandlers.js +294 -0
- package/dist/handlers/wikiHandlers.js.map +1 -0
- package/dist/index.js +96 -14
- package/dist/index.js.map +1 -1
- package/dist/scanner/ast-extraction.d.ts +10 -0
- package/dist/scanner/ast-extraction.js +156 -0
- package/dist/scanner/ast-extraction.js.map +1 -0
- package/dist/scanner/file-discovery.d.ts +9 -0
- package/dist/scanner/file-discovery.js +134 -0
- package/dist/scanner/file-discovery.js.map +1 -0
- package/dist/scanner/index.d.ts +19 -0
- package/dist/scanner/index.js +193 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/relationship-extraction.d.ts +11 -0
- package/dist/scanner/relationship-extraction.js +187 -0
- package/dist/scanner/relationship-extraction.js.map +1 -0
- package/dist/scanner/types.d.ts +45 -0
- package/dist/scanner/types.js +3 -0
- package/dist/scanner/types.js.map +1 -0
- package/dist/shared.js +34 -7
- package/dist/shared.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prerequisite tree tool handlers:
|
|
3
|
+
// telora_prerequisite_tree (list | create | get | update | dump)
|
|
4
|
+
// telora_prerequisite_tree_node (list | get | create | update | retire)
|
|
5
|
+
// telora_prerequisite_tree_edge (list | create | delete)
|
|
6
|
+
// telora_prerequisite_tree_link (list | create | delete)
|
|
7
|
+
// telora_prerequisite_tree_group (list | create | update | delete)
|
|
8
|
+
// telora_prerequisite_tree_traverse (objective | io | dependency_order)
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import { callProductApi, successResult, validationError, wrapHandler, compactEntity, } from "../shared.js";
|
|
12
|
+
const nodeTypeEnum = z.enum(["objective", "obstacle", "intermediate_objective"]);
|
|
13
|
+
const edgeTypeEnum = z.enum(["blocks", "overcomes", "depends_on"]);
|
|
14
|
+
const linkEntityTypeEnum = z.enum(["strategy", "delivery", "issue"]);
|
|
15
|
+
const ioStatusEnum = z.enum(["proposed", "in_progress", "done"]);
|
|
16
|
+
export function registerPrerequisiteTreeTools(server, getCreds) {
|
|
17
|
+
// -- telora_prerequisite_tree ------------------------------------------------
|
|
18
|
+
server.tool("telora_prerequisite_tree", "Prerequisite trees: Goldratt's Prerequisite Tree for contract planning. " +
|
|
19
|
+
"Models objectives, obstacles blocking them, and intermediate objectives (IOs) that overcome obstacles. " +
|
|
20
|
+
"Each PRT can optionally link to a contract via contractId. " +
|
|
21
|
+
"Actions: list (productId, optional contractId filter), create (productId + name, optional contractId), " +
|
|
22
|
+
"get (treeId -- returns full graph with nodes and edges), " +
|
|
23
|
+
"update (treeId + fields), dump (treeId -- structured text view of graph).", {
|
|
24
|
+
action: z.enum(["list", "create", "get", "update", "dump"]).describe("Action to perform"),
|
|
25
|
+
productId: z.string().uuid().optional().describe("Product UUID (required for list, create)"),
|
|
26
|
+
treeId: z.string().uuid().optional().describe("Prerequisite tree UUID (required for get, update, dump)"),
|
|
27
|
+
contractId: z.string().uuid().nullable().optional().describe("Contract UUID (optional for create/update, filter for list)"),
|
|
28
|
+
name: z.string().max(200).optional().describe("Tree name (required for create)"),
|
|
29
|
+
description: z.string().max(2000).optional().describe("Tree description"),
|
|
30
|
+
status: z.enum(["active", "archived"]).optional().describe("Tree status (update only)"),
|
|
31
|
+
returnFull: z.boolean().optional().describe("Return full entity (default: compact)"),
|
|
32
|
+
}, wrapHandler(async (params) => {
|
|
33
|
+
switch (params.action) {
|
|
34
|
+
case "list": {
|
|
35
|
+
if (!params.productId)
|
|
36
|
+
return validationError("productId required for list");
|
|
37
|
+
const body = {
|
|
38
|
+
action: "prerequisite_tree_list",
|
|
39
|
+
productId: params.productId,
|
|
40
|
+
};
|
|
41
|
+
if (params.contractId !== undefined)
|
|
42
|
+
body.contractId = params.contractId;
|
|
43
|
+
const result = await callProductApi(getCreds(), body);
|
|
44
|
+
return successResult(result);
|
|
45
|
+
}
|
|
46
|
+
case "create": {
|
|
47
|
+
if (!params.productId || !params.name)
|
|
48
|
+
return validationError("productId and name required for create");
|
|
49
|
+
const body = {
|
|
50
|
+
action: "prerequisite_tree_create",
|
|
51
|
+
productId: params.productId,
|
|
52
|
+
name: params.name,
|
|
53
|
+
};
|
|
54
|
+
if (params.description !== undefined)
|
|
55
|
+
body.description = params.description;
|
|
56
|
+
if (params.contractId !== undefined)
|
|
57
|
+
body.contractId = params.contractId;
|
|
58
|
+
const result = await callProductApi(getCreds(), body);
|
|
59
|
+
const tree = result.tree;
|
|
60
|
+
return successResult({ tree: params.returnFull ? tree : compactEntity(tree, ["name", "status"]) });
|
|
61
|
+
}
|
|
62
|
+
case "get": {
|
|
63
|
+
if (!params.treeId)
|
|
64
|
+
return validationError("treeId required for get");
|
|
65
|
+
const result = await callProductApi(getCreds(), {
|
|
66
|
+
action: "prerequisite_tree_get",
|
|
67
|
+
treeId: params.treeId,
|
|
68
|
+
});
|
|
69
|
+
return successResult(result);
|
|
70
|
+
}
|
|
71
|
+
case "update": {
|
|
72
|
+
if (!params.treeId)
|
|
73
|
+
return validationError("treeId required for update");
|
|
74
|
+
const body = {
|
|
75
|
+
action: "prerequisite_tree_update",
|
|
76
|
+
treeId: params.treeId,
|
|
77
|
+
};
|
|
78
|
+
if (params.name !== undefined)
|
|
79
|
+
body.name = params.name;
|
|
80
|
+
if (params.description !== undefined)
|
|
81
|
+
body.description = params.description;
|
|
82
|
+
if (params.status !== undefined)
|
|
83
|
+
body.status = params.status;
|
|
84
|
+
if (params.contractId !== undefined)
|
|
85
|
+
body.contractId = params.contractId;
|
|
86
|
+
const result = await callProductApi(getCreds(), body);
|
|
87
|
+
const tree = result.tree;
|
|
88
|
+
return successResult({ tree: params.returnFull ? tree : compactEntity(tree, ["name", "status"]) });
|
|
89
|
+
}
|
|
90
|
+
case "dump": {
|
|
91
|
+
if (!params.treeId)
|
|
92
|
+
return validationError("treeId required for dump");
|
|
93
|
+
const result = await callProductApi(getCreds(), {
|
|
94
|
+
action: "prerequisite_tree_dump",
|
|
95
|
+
treeId: params.treeId,
|
|
96
|
+
});
|
|
97
|
+
return successResult(result);
|
|
98
|
+
}
|
|
99
|
+
default:
|
|
100
|
+
return validationError(`Unknown action: ${params.action}`);
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
// -- telora_prerequisite_tree_node -------------------------------------------
|
|
104
|
+
server.tool("telora_prerequisite_tree_node", "Prerequisite tree nodes: three types. " +
|
|
105
|
+
"Objective: what must be achieved (contract term/goal). " +
|
|
106
|
+
"Obstacle: what blocks an objective. " +
|
|
107
|
+
"Intermediate Objective (IO): action that overcomes an obstacle, with status (proposed/in_progress/done). " +
|
|
108
|
+
"IO status tracks implementation progress. Obstacle cleared and objective satisfied are derived queries. " +
|
|
109
|
+
"Actions: list (treeId, optional nodeType/status filter), " +
|
|
110
|
+
"get (treeId + seq -- lookup by display number, returns node + connected edges), " +
|
|
111
|
+
"create (treeId + statement + nodeType), " +
|
|
112
|
+
"update (nodeId + fields -- ioStatus only settable on IO nodes), " +
|
|
113
|
+
"retire (nodeId -- sets status to retired).", {
|
|
114
|
+
action: z.enum(["list", "get", "create", "update", "retire"]).describe("Action to perform"),
|
|
115
|
+
treeId: z.string().uuid().optional().describe("Prerequisite tree UUID (required for list, get, create)"),
|
|
116
|
+
nodeId: z.string().uuid().optional().describe("Node UUID (required for update, retire)"),
|
|
117
|
+
seq: z.number().int().optional().describe("Node sequence number for get (the #N displayed on canvas)"),
|
|
118
|
+
statement: z.string().max(2000).optional().describe("The assertion (required for create)"),
|
|
119
|
+
nodeType: nodeTypeEnum.optional().describe("Node type (required for create; optional filter for list)"),
|
|
120
|
+
status: z.enum(["active", "retired"]).optional().describe("Node status filter (list only, default: active)"),
|
|
121
|
+
ioStatus: ioStatusEnum.optional().describe("IO status (intermediate_objective nodes only)"),
|
|
122
|
+
evidence: z.string().max(5000).optional().describe("Rationale or supporting observation"),
|
|
123
|
+
groupId: z.string().uuid().nullable().optional().describe("Group UUID (update only)"),
|
|
124
|
+
positionX: z.number().optional().describe("X coordinate"),
|
|
125
|
+
positionY: z.number().optional().describe("Y coordinate"),
|
|
126
|
+
returnFull: z.boolean().optional().describe("Return full entity (default: compact)"),
|
|
127
|
+
}, wrapHandler(async (params) => {
|
|
128
|
+
switch (params.action) {
|
|
129
|
+
case "list": {
|
|
130
|
+
if (!params.treeId)
|
|
131
|
+
return validationError("treeId required for list");
|
|
132
|
+
const body = {
|
|
133
|
+
action: "prerequisite_tree_node_list",
|
|
134
|
+
treeId: params.treeId,
|
|
135
|
+
};
|
|
136
|
+
if (params.nodeType !== undefined)
|
|
137
|
+
body.nodeType = params.nodeType;
|
|
138
|
+
if (params.status !== undefined)
|
|
139
|
+
body.status = params.status;
|
|
140
|
+
const result = await callProductApi(getCreds(), body);
|
|
141
|
+
return successResult(result);
|
|
142
|
+
}
|
|
143
|
+
case "get": {
|
|
144
|
+
if (!params.treeId || params.seq === undefined) {
|
|
145
|
+
return validationError("treeId and seq required for get");
|
|
146
|
+
}
|
|
147
|
+
const result = await callProductApi(getCreds(), {
|
|
148
|
+
action: "prerequisite_tree_node_get_by_seq",
|
|
149
|
+
treeId: params.treeId,
|
|
150
|
+
seq: params.seq,
|
|
151
|
+
});
|
|
152
|
+
return successResult(result);
|
|
153
|
+
}
|
|
154
|
+
case "create": {
|
|
155
|
+
if (!params.treeId || !params.statement || !params.nodeType) {
|
|
156
|
+
return validationError("treeId, statement, and nodeType required for create");
|
|
157
|
+
}
|
|
158
|
+
const body = {
|
|
159
|
+
action: "prerequisite_tree_node_create",
|
|
160
|
+
treeId: params.treeId,
|
|
161
|
+
statement: params.statement,
|
|
162
|
+
nodeType: params.nodeType,
|
|
163
|
+
};
|
|
164
|
+
if (params.evidence !== undefined)
|
|
165
|
+
body.evidence = params.evidence;
|
|
166
|
+
if (params.groupId !== undefined)
|
|
167
|
+
body.groupId = params.groupId;
|
|
168
|
+
if (params.positionX !== undefined)
|
|
169
|
+
body.positionX = params.positionX;
|
|
170
|
+
if (params.positionY !== undefined)
|
|
171
|
+
body.positionY = params.positionY;
|
|
172
|
+
if (params.ioStatus !== undefined)
|
|
173
|
+
body.ioStatus = params.ioStatus;
|
|
174
|
+
const result = await callProductApi(getCreds(), body);
|
|
175
|
+
const node = result.node;
|
|
176
|
+
return successResult({ node: params.returnFull ? node : compactEntity(node, ["statement", "nodeType", "status", "ioStatus"]) });
|
|
177
|
+
}
|
|
178
|
+
case "update": {
|
|
179
|
+
if (!params.nodeId)
|
|
180
|
+
return validationError("nodeId required for update");
|
|
181
|
+
const body = {
|
|
182
|
+
action: "prerequisite_tree_node_update",
|
|
183
|
+
nodeId: params.nodeId,
|
|
184
|
+
};
|
|
185
|
+
if (params.statement !== undefined)
|
|
186
|
+
body.statement = params.statement;
|
|
187
|
+
if (params.evidence !== undefined)
|
|
188
|
+
body.evidence = params.evidence;
|
|
189
|
+
if (params.ioStatus !== undefined)
|
|
190
|
+
body.ioStatus = params.ioStatus;
|
|
191
|
+
if (params.groupId !== undefined)
|
|
192
|
+
body.groupId = params.groupId;
|
|
193
|
+
if (params.positionX !== undefined)
|
|
194
|
+
body.positionX = params.positionX;
|
|
195
|
+
if (params.positionY !== undefined)
|
|
196
|
+
body.positionY = params.positionY;
|
|
197
|
+
const result = await callProductApi(getCreds(), body);
|
|
198
|
+
const node = result.node;
|
|
199
|
+
return successResult({ node: params.returnFull ? node : compactEntity(node, ["statement", "nodeType", "status", "ioStatus"]) });
|
|
200
|
+
}
|
|
201
|
+
case "retire": {
|
|
202
|
+
if (!params.nodeId)
|
|
203
|
+
return validationError("nodeId required for retire");
|
|
204
|
+
const result = await callProductApi(getCreds(), {
|
|
205
|
+
action: "prerequisite_tree_node_retire",
|
|
206
|
+
nodeId: params.nodeId,
|
|
207
|
+
});
|
|
208
|
+
const node = result.node;
|
|
209
|
+
return successResult({ node: params.returnFull ? node : compactEntity(node, ["statement", "nodeType", "status"]) });
|
|
210
|
+
}
|
|
211
|
+
default:
|
|
212
|
+
return validationError(`Unknown action: ${params.action}`);
|
|
213
|
+
}
|
|
214
|
+
}));
|
|
215
|
+
// -- telora_prerequisite_tree_edge -------------------------------------------
|
|
216
|
+
server.tool("telora_prerequisite_tree_edge", "Prerequisite tree edges: typed connections between nodes. " +
|
|
217
|
+
"Types: blocks (obstacle -> objective), overcomes (IO -> obstacle), depends_on (IO -> IO). " +
|
|
218
|
+
"Edge type is validated against source/target node types -- invalid combinations return clear errors. " +
|
|
219
|
+
"Actions: list (treeId), create (treeId + fromNodeId + toNodeId + edgeType), delete (edgeId).", {
|
|
220
|
+
action: z.enum(["list", "create", "delete"]).describe("Action to perform"),
|
|
221
|
+
treeId: z.string().uuid().optional().describe("Prerequisite tree UUID (required for list, create)"),
|
|
222
|
+
edgeId: z.string().uuid().optional().describe("Edge UUID (required for delete)"),
|
|
223
|
+
fromNodeId: z.string().uuid().optional().describe("Source node UUID (required for create)"),
|
|
224
|
+
toNodeId: z.string().uuid().optional().describe("Target node UUID (required for create)"),
|
|
225
|
+
edgeType: edgeTypeEnum.optional().describe("Edge type (required for create)"),
|
|
226
|
+
}, wrapHandler(async (params) => {
|
|
227
|
+
switch (params.action) {
|
|
228
|
+
case "list": {
|
|
229
|
+
if (!params.treeId)
|
|
230
|
+
return validationError("treeId required for list");
|
|
231
|
+
const result = await callProductApi(getCreds(), {
|
|
232
|
+
action: "prerequisite_tree_edge_list",
|
|
233
|
+
treeId: params.treeId,
|
|
234
|
+
});
|
|
235
|
+
return successResult(result);
|
|
236
|
+
}
|
|
237
|
+
case "create": {
|
|
238
|
+
if (!params.treeId || !params.fromNodeId || !params.toNodeId || !params.edgeType) {
|
|
239
|
+
return validationError("treeId, fromNodeId, toNodeId, and edgeType required for create");
|
|
240
|
+
}
|
|
241
|
+
const result = await callProductApi(getCreds(), {
|
|
242
|
+
action: "prerequisite_tree_edge_create",
|
|
243
|
+
treeId: params.treeId,
|
|
244
|
+
fromNodeId: params.fromNodeId,
|
|
245
|
+
toNodeId: params.toNodeId,
|
|
246
|
+
edgeType: params.edgeType,
|
|
247
|
+
});
|
|
248
|
+
return successResult(result);
|
|
249
|
+
}
|
|
250
|
+
case "delete": {
|
|
251
|
+
if (!params.edgeId)
|
|
252
|
+
return validationError("edgeId required for delete");
|
|
253
|
+
const result = await callProductApi(getCreds(), {
|
|
254
|
+
action: "prerequisite_tree_edge_delete",
|
|
255
|
+
edgeId: params.edgeId,
|
|
256
|
+
});
|
|
257
|
+
return successResult(result);
|
|
258
|
+
}
|
|
259
|
+
default:
|
|
260
|
+
return validationError(`Unknown action: ${params.action}`);
|
|
261
|
+
}
|
|
262
|
+
}));
|
|
263
|
+
// -- telora_prerequisite_tree_link -------------------------------------------
|
|
264
|
+
server.tool("telora_prerequisite_tree_link", "Reference links between prerequisite tree nodes and execution entities. " +
|
|
265
|
+
"IO nodes link to deliveries/strategies that implement them. " +
|
|
266
|
+
"Actions: list (nodeId or entityType+entityId), create (nodeId + entityType + entityId), delete (linkId).", {
|
|
267
|
+
action: z.enum(["list", "create", "delete"]).describe("Action to perform"),
|
|
268
|
+
nodeId: z.string().uuid().optional().describe("Node UUID (required for create; optional filter for list)"),
|
|
269
|
+
entityType: linkEntityTypeEnum.optional().describe("Entity type (required for create; optional filter for list)"),
|
|
270
|
+
entityId: z.string().uuid().optional().describe("Entity UUID (required for create; optional filter for list)"),
|
|
271
|
+
linkId: z.string().uuid().optional().describe("Link UUID (required for delete)"),
|
|
272
|
+
}, wrapHandler(async (params) => {
|
|
273
|
+
switch (params.action) {
|
|
274
|
+
case "list": {
|
|
275
|
+
const body = { action: "prerequisite_tree_link_list" };
|
|
276
|
+
if (params.nodeId)
|
|
277
|
+
body.nodeId = params.nodeId;
|
|
278
|
+
if (params.entityType)
|
|
279
|
+
body.entityType = params.entityType;
|
|
280
|
+
if (params.entityId)
|
|
281
|
+
body.entityId = params.entityId;
|
|
282
|
+
const result = await callProductApi(getCreds(), body);
|
|
283
|
+
return successResult(result);
|
|
284
|
+
}
|
|
285
|
+
case "create": {
|
|
286
|
+
if (!params.nodeId || !params.entityType || !params.entityId) {
|
|
287
|
+
return validationError("nodeId, entityType, and entityId required for create");
|
|
288
|
+
}
|
|
289
|
+
const result = await callProductApi(getCreds(), {
|
|
290
|
+
action: "prerequisite_tree_link_create",
|
|
291
|
+
nodeId: params.nodeId,
|
|
292
|
+
entityType: params.entityType,
|
|
293
|
+
entityId: params.entityId,
|
|
294
|
+
});
|
|
295
|
+
return successResult(result);
|
|
296
|
+
}
|
|
297
|
+
case "delete": {
|
|
298
|
+
if (!params.linkId)
|
|
299
|
+
return validationError("linkId required for delete");
|
|
300
|
+
const result = await callProductApi(getCreds(), {
|
|
301
|
+
action: "prerequisite_tree_link_delete",
|
|
302
|
+
linkId: params.linkId,
|
|
303
|
+
});
|
|
304
|
+
return successResult(result);
|
|
305
|
+
}
|
|
306
|
+
default:
|
|
307
|
+
return validationError(`Unknown action: ${params.action}`);
|
|
308
|
+
}
|
|
309
|
+
}));
|
|
310
|
+
// -- telora_prerequisite_tree_group ------------------------------------------
|
|
311
|
+
server.tool("telora_prerequisite_tree_group", "Prerequisite tree groups: named containers for organizing nodes. " +
|
|
312
|
+
"Actions: list (treeId), create (treeId + name + optional color), " +
|
|
313
|
+
"update (groupId + name/color), delete (groupId).", {
|
|
314
|
+
action: z.enum(["list", "create", "update", "delete"]).describe("Action to perform"),
|
|
315
|
+
treeId: z.string().uuid().optional().describe("Prerequisite tree UUID (required for list, create)"),
|
|
316
|
+
groupId: z.string().uuid().optional().describe("Group UUID (required for update, delete)"),
|
|
317
|
+
name: z.string().max(200).optional().describe("Group name (required for create)"),
|
|
318
|
+
color: z.string().max(20).optional().describe("Hex color"),
|
|
319
|
+
returnFull: z.boolean().optional().describe("Return full entity (default: compact)"),
|
|
320
|
+
}, wrapHandler(async (params) => {
|
|
321
|
+
switch (params.action) {
|
|
322
|
+
case "list": {
|
|
323
|
+
if (!params.treeId)
|
|
324
|
+
return validationError("treeId required for list");
|
|
325
|
+
const result = await callProductApi(getCreds(), {
|
|
326
|
+
action: "prerequisite_tree_group_list",
|
|
327
|
+
treeId: params.treeId,
|
|
328
|
+
});
|
|
329
|
+
return successResult(result);
|
|
330
|
+
}
|
|
331
|
+
case "create": {
|
|
332
|
+
if (!params.treeId || !params.name)
|
|
333
|
+
return validationError("treeId and name required for create");
|
|
334
|
+
const body = {
|
|
335
|
+
action: "prerequisite_tree_group_create",
|
|
336
|
+
treeId: params.treeId,
|
|
337
|
+
name: params.name,
|
|
338
|
+
};
|
|
339
|
+
if (params.color !== undefined)
|
|
340
|
+
body.color = params.color;
|
|
341
|
+
const result = await callProductApi(getCreds(), body);
|
|
342
|
+
const group = result.group;
|
|
343
|
+
return successResult({ group: params.returnFull ? group : compactEntity(group, ["name", "color"]) });
|
|
344
|
+
}
|
|
345
|
+
case "update": {
|
|
346
|
+
if (!params.groupId)
|
|
347
|
+
return validationError("groupId required for update");
|
|
348
|
+
const body = {
|
|
349
|
+
action: "prerequisite_tree_group_update",
|
|
350
|
+
groupId: params.groupId,
|
|
351
|
+
};
|
|
352
|
+
if (params.name !== undefined)
|
|
353
|
+
body.name = params.name;
|
|
354
|
+
if (params.color !== undefined)
|
|
355
|
+
body.color = params.color;
|
|
356
|
+
const result = await callProductApi(getCreds(), body);
|
|
357
|
+
const group = result.group;
|
|
358
|
+
return successResult({ group: params.returnFull ? group : compactEntity(group, ["name", "color"]) });
|
|
359
|
+
}
|
|
360
|
+
case "delete": {
|
|
361
|
+
if (!params.groupId)
|
|
362
|
+
return validationError("groupId required for delete");
|
|
363
|
+
const result = await callProductApi(getCreds(), {
|
|
364
|
+
action: "prerequisite_tree_group_delete",
|
|
365
|
+
groupId: params.groupId,
|
|
366
|
+
});
|
|
367
|
+
return successResult(result);
|
|
368
|
+
}
|
|
369
|
+
default:
|
|
370
|
+
return validationError(`Unknown action: ${params.action}`);
|
|
371
|
+
}
|
|
372
|
+
}));
|
|
373
|
+
// -- telora_prerequisite_tree_traverse ---------------------------------------
|
|
374
|
+
server.tool("telora_prerequisite_tree_traverse", "Graph analysis for prerequisite trees. " +
|
|
375
|
+
"Actions: objective (nodeId -- given an objective, returns blocking obstacles and all IOs with dependency ordering), " +
|
|
376
|
+
"io (nodeId -- given an IO, returns what it overcomes, its dependents, and dependencies), " +
|
|
377
|
+
"dependency_order (treeId -- topological sort of ALL IOs in the tree, giving the full implementation sequence). " +
|
|
378
|
+
"This is the key query for 'what do I need to do, in what order, to satisfy this contract term?'", {
|
|
379
|
+
action: z.enum(["objective", "io", "dependency_order"]).describe("Traversal operation"),
|
|
380
|
+
treeId: z.string().uuid().optional().describe("Prerequisite tree UUID (required for dependency_order)"),
|
|
381
|
+
nodeId: z.string().uuid().optional().describe("Node UUID (required for objective, io)"),
|
|
382
|
+
}, wrapHandler(async (params) => {
|
|
383
|
+
switch (params.action) {
|
|
384
|
+
case "objective": {
|
|
385
|
+
if (!params.nodeId)
|
|
386
|
+
return validationError("nodeId required for objective");
|
|
387
|
+
const result = await callProductApi(getCreds(), {
|
|
388
|
+
action: "prerequisite_tree_traverse_objective",
|
|
389
|
+
nodeId: params.nodeId,
|
|
390
|
+
});
|
|
391
|
+
return successResult(result);
|
|
392
|
+
}
|
|
393
|
+
case "io": {
|
|
394
|
+
if (!params.nodeId)
|
|
395
|
+
return validationError("nodeId required for io");
|
|
396
|
+
const result = await callProductApi(getCreds(), {
|
|
397
|
+
action: "prerequisite_tree_traverse_io",
|
|
398
|
+
nodeId: params.nodeId,
|
|
399
|
+
});
|
|
400
|
+
return successResult(result);
|
|
401
|
+
}
|
|
402
|
+
case "dependency_order": {
|
|
403
|
+
if (!params.treeId)
|
|
404
|
+
return validationError("treeId required for dependency_order");
|
|
405
|
+
const result = await callProductApi(getCreds(), {
|
|
406
|
+
action: "prerequisite_tree_dependency_order",
|
|
407
|
+
treeId: params.treeId,
|
|
408
|
+
});
|
|
409
|
+
return successResult(result);
|
|
410
|
+
}
|
|
411
|
+
default:
|
|
412
|
+
return validationError(`Unknown action: ${params.action}`);
|
|
413
|
+
}
|
|
414
|
+
}));
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=prerequisiteTreeHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prerequisiteTreeHandlers.js","sourceRoot":"","sources":["../../src/handlers/prerequisiteTreeHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,7 @@ export function registerProductTools(server, getCreds, profile = 'full') {
|
|
|
44
44
|
const result = await callProductApi(getCreds(), body);
|
|
45
45
|
const listResponse = { items: result.products, totalCount: result.totalCount };
|
|
46
46
|
if (profile === 'human') {
|
|
47
|
-
listResponse.context_hint = "
|
|
48
|
-
"For architectural work, use telora_product_context list with includeMode='always' to load them, " +
|
|
47
|
+
listResponse.context_hint = "For architectural work, use telora_wiki_search to retrieve relevant pages " +
|
|
49
48
|
"or telora_context_assemble for layered context at product/strategy/delivery scope.";
|
|
50
49
|
}
|
|
51
50
|
return successResult(listResponse);
|
|
@@ -105,17 +104,15 @@ export function registerProductTools(server, getCreds, profile = 'full') {
|
|
|
105
104
|
});
|
|
106
105
|
if (profile === 'human') {
|
|
107
106
|
try {
|
|
108
|
-
const
|
|
109
|
-
action: "
|
|
107
|
+
const wikiResult = await callProductApi(getCreds(), {
|
|
108
|
+
action: "wiki_search",
|
|
110
109
|
productId: pid,
|
|
111
|
-
fields: { includeMode: "always" },
|
|
112
110
|
limit: 1,
|
|
113
111
|
});
|
|
114
|
-
if (
|
|
112
|
+
if (wikiResult.totalCount > 0) {
|
|
115
113
|
result.context_hint =
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
"or telora_context_assemble for layered context.";
|
|
114
|
+
`Wiki pages available for this product. Use telora_wiki_search to retrieve, ` +
|
|
115
|
+
`or telora_context_assemble for layered context.`;
|
|
119
116
|
}
|
|
120
117
|
}
|
|
121
118
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productHandlers.js","sourceRoot":"","sources":["../../src/handlers/productHandlers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"productHandlers.js","sourceRoot":"","sources":["../../src/handlers/productHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -451,10 +451,12 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
451
451
|
// -- telora_reality_tree_injection_context -----------------------------------
|
|
452
452
|
server.tool("telora_reality_tree_injection_context", "Gather rich causal context for a set of injection nodes to synthesize a strategy. " +
|
|
453
453
|
"For each injection, returns: the injection statement and evidence, its status, " +
|
|
454
|
-
"upstream causes
|
|
455
|
-
"
|
|
456
|
-
"
|
|
457
|
-
"
|
|
454
|
+
"upstream causes, downstream effects, existing execution links (strategies, deliveries, issues), " +
|
|
455
|
+
"and target classification -- intervention targets (lowest in causal chain: what to change), " +
|
|
456
|
+
"intent targets (highest in causal chain: acceptance criteria / what should flip), " +
|
|
457
|
+
"and cascade (intermediate causal path nodes connecting intervention to intent). " +
|
|
458
|
+
"Use this when you need to understand what a group of injections collectively address " +
|
|
459
|
+
"so you can draft a coherent strategy covering them all. " +
|
|
458
460
|
"Identify injections by UUID (nodeIds) or by their display number (seqs + treeId), e.g. " +
|
|
459
461
|
"\"injections #57 and #58\" becomes seqs: [57, 58] with the treeId.", {
|
|
460
462
|
nodeIds: z.array(z.string().uuid()).min(1).max(20).optional()
|