twining-mcp 1.17.0 → 1.18.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/README.md +35 -61
- package/dist/engine/decisions.d.ts.map +1 -1
- package/dist/engine/decisions.js +17 -10
- package/dist/engine/decisions.js.map +1 -1
- package/dist/engine/record-parser.d.ts.map +1 -1
- package/dist/engine/record-parser.js +101 -18
- package/dist/engine/record-parser.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/blackboard-tools.js +25 -24
- package/dist/tools/blackboard-tools.js.map +1 -1
- package/dist/tools/coordination-tools.js +69 -68
- package/dist/tools/coordination-tools.js.map +1 -1
- package/dist/tools/decision-tools.js +169 -165
- package/dist/tools/decision-tools.js.map +1 -1
- package/dist/tools/record-tools.d.ts.map +1 -1
- package/dist/tools/record-tools.js +94 -21
- package/dist/tools/record-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -171,83 +171,84 @@ export function registerCoordinationTools(server, agentStore, coordinationEngine
|
|
|
171
171
|
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
|
-
// twining_handoff — Create a handoff between agents
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
.describe("ID of the target agent (omit for open handoff to any agent)"),
|
|
185
|
-
scope: z
|
|
186
|
-
.string()
|
|
187
|
-
.optional()
|
|
188
|
-
.describe("Scope of the handoff (default: 'project')"),
|
|
189
|
-
summary: z
|
|
190
|
-
.string()
|
|
191
|
-
.describe("Summary of work being handed off"),
|
|
192
|
-
results: z
|
|
193
|
-
.array(z.object({
|
|
194
|
-
description: z.string().describe("What was done"),
|
|
195
|
-
status: z
|
|
196
|
-
.enum(["completed", "partial", "blocked", "failed"])
|
|
197
|
-
.describe("Result status"),
|
|
198
|
-
artifacts: z
|
|
199
|
-
.array(z.string())
|
|
174
|
+
// twining_handoff — Create a handoff between agents (full surface only)
|
|
175
|
+
if (options.fullSurface)
|
|
176
|
+
server.registerTool("twining_handoff", {
|
|
177
|
+
description: "Hand off work to another agent with structured results and context. The next agent will see your handoff in their assemble briefing.",
|
|
178
|
+
inputSchema: {
|
|
179
|
+
source_agent: z
|
|
180
|
+
.string()
|
|
181
|
+
.describe("ID of the agent handing off work"),
|
|
182
|
+
target_agent: z
|
|
183
|
+
.string()
|
|
200
184
|
.optional()
|
|
201
|
-
.describe("
|
|
202
|
-
|
|
185
|
+
.describe("ID of the target agent (omit for open handoff to any agent)"),
|
|
186
|
+
scope: z
|
|
203
187
|
.string()
|
|
204
188
|
.optional()
|
|
205
|
-
.describe("
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
189
|
+
.describe("Scope of the handoff (default: 'project')"),
|
|
190
|
+
summary: z
|
|
191
|
+
.string()
|
|
192
|
+
.describe("Summary of work being handed off"),
|
|
193
|
+
results: z
|
|
194
|
+
.array(z.object({
|
|
195
|
+
description: z.string().describe("What was done"),
|
|
196
|
+
status: z
|
|
197
|
+
.enum(["completed", "partial", "blocked", "failed"])
|
|
198
|
+
.describe("Result status"),
|
|
199
|
+
artifacts: z
|
|
200
|
+
.array(z.string())
|
|
201
|
+
.optional()
|
|
202
|
+
.describe("File paths or artifact IDs produced"),
|
|
203
|
+
notes: z
|
|
204
|
+
.string()
|
|
205
|
+
.optional()
|
|
206
|
+
.describe("Additional notes"),
|
|
207
|
+
}))
|
|
208
|
+
.describe("Results of the work being handed off"),
|
|
209
|
+
auto_snapshot: z
|
|
210
|
+
.boolean()
|
|
211
|
+
.optional()
|
|
212
|
+
.describe("Auto-assemble context snapshot from decisions/warnings (default: true)"),
|
|
213
|
+
},
|
|
214
|
+
}, async (args) => {
|
|
215
|
+
try {
|
|
216
|
+
const record = await coordinationEngine.createHandoff({
|
|
226
217
|
source_agent: args.source_agent,
|
|
227
218
|
target_agent: args.target_agent,
|
|
228
219
|
scope: args.scope,
|
|
220
|
+
summary: args.summary,
|
|
229
221
|
results: args.results,
|
|
222
|
+
auto_snapshot: args.auto_snapshot,
|
|
223
|
+
});
|
|
224
|
+
// Auto-populate graph with handoff entities/relations
|
|
225
|
+
if (graphPopulator) {
|
|
226
|
+
await graphPopulator.onHandoff({
|
|
227
|
+
source_agent: args.source_agent,
|
|
228
|
+
target_agent: args.target_agent,
|
|
229
|
+
scope: args.scope,
|
|
230
|
+
results: args.results,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
return toolResult({
|
|
234
|
+
id: record.id,
|
|
235
|
+
created_at: record.created_at,
|
|
236
|
+
source_agent: record.source_agent,
|
|
237
|
+
target_agent: record.target_agent,
|
|
238
|
+
scope: record.scope,
|
|
239
|
+
summary: record.summary,
|
|
240
|
+
result_count: record.results.length,
|
|
241
|
+
context_snapshot_size: {
|
|
242
|
+
decisions: record.context_snapshot.decision_ids.length,
|
|
243
|
+
warnings: record.context_snapshot.warning_ids.length,
|
|
244
|
+
findings: record.context_snapshot.finding_ids.length,
|
|
245
|
+
},
|
|
230
246
|
});
|
|
231
247
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
target_agent: record.target_agent,
|
|
237
|
-
scope: record.scope,
|
|
238
|
-
summary: record.summary,
|
|
239
|
-
result_count: record.results.length,
|
|
240
|
-
context_snapshot_size: {
|
|
241
|
-
decisions: record.context_snapshot.decision_ids.length,
|
|
242
|
-
warnings: record.context_snapshot.warning_ids.length,
|
|
243
|
-
findings: record.context_snapshot.finding_ids.length,
|
|
244
|
-
},
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
catch (e) {
|
|
248
|
-
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
249
|
-
}
|
|
250
|
-
});
|
|
248
|
+
catch (e) {
|
|
249
|
+
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
250
|
+
}
|
|
251
|
+
});
|
|
251
252
|
// twining_acknowledge — Acknowledge receipt of a handoff (full surface only)
|
|
252
253
|
if (options.fullSurface)
|
|
253
254
|
server.registerTool("twining_acknowledge", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination-tools.js","sourceRoot":"","sources":["../../src/tools/coordination-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,eAAe,EACf,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,UAAU,yBAAyB,CACvC,MAAiB,EACjB,UAAsB,EACtB,kBAAsC,EACtC,MAAqB,EACrB,cAA0C,EAC1C,UAAqC,EAAE;IAEvC,uFAAuF;IACvF,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,CAAC,YAAY,CAC1C,gBAAgB,EAChB;YACE,WAAW,EACT,yEAAyE;YAC3E,WAAW,EAAE;gBACX,YAAY,EAAE,CAAC;qBACZ,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACP,gDAAgD,CACjD;aACJ;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,UAAU,GACd,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,2BAA2B,CAAC;gBACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBAEvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;iBAC9D,CAAC,CAAC,CAAC;gBAEJ,MAAM,QAAQ,GAAG,WAAW;oBAC1B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;gBAEhD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAC/B,CAAC,MAAM,CAAC;gBAET,OAAO,UAAU,CAAC;oBAChB,MAAM,EAAE,QAAQ;oBAChB,gBAAgB,EAAE,MAAM,CAAC,MAAM;oBAC/B,YAAY,EAAE,WAAW;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CACd,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAChD,gBAAgB,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IAEF,qFAAqF;IACrF,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,CAAC,YAAY,CAC1C,kBAAkB,EAClB;YACE,WAAW,EACT,2JAA2J;YAC7J,WAAW,EAAE;gBACX,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,QAAQ,CAAC,uEAAuE,CAAC;gBACpF,YAAY,EAAE,CAAC;qBACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,CAAC,qDAAqD,CAAC;gBAClE,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,6CAA6C,CAAC;gBAC1D,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,mDAAmD,CAAC;aACjE;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;oBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;gBACH,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO,UAAU,CAAC;oBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CACd,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAChD,gBAAgB,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IAEF,oFAAoF;IACpF,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,CAAC,YAAY,CAC1C,kBAAkB,EAClB;YACE,WAAW,EACT,4IAA4I;YAC9I,WAAW,EAAE;gBACX,qBAAqB,EAAE,CAAC;qBACrB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,CAAC,mEAAmE,CAAC;gBAChF,YAAY,EAAE,CAAC;qBACZ,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,gDAAgD,CAAC;gBAC7D,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,4CAA4C,CAAC;aAC1D;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC;oBAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;oBACjD,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CACd,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAChD,gBAAgB,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IAEF,qFAAqF;IACrF,IAAI,OAAO,CAAC,WAAW;QAAE,MAAM,CAAC,YAAY,CAC1C,kBAAkB,EAClB;YACE,WAAW,EACT,+IAA+I;YACjJ,WAAW,EAAE;gBACX,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,CAAC,qDAAqD,CAAC;gBAClE,qBAAqB,EAAE,CAAC;qBACrB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,CAAC,mCAAmC,CAAC;gBAChD,OAAO,EAAE,CAAC;qBACP,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;qBAC/B,QAAQ,EAAE;qBACV,QAAQ,CAAC,qDAAqD,CAAC;gBAClE,UAAU,EAAE,CAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,wDAAwD,CAAC;gBACrE,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,+CAA+C,CAAC;gBAC5D,IAAI,EAAE,CAAC;qBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBACjB,QAAQ,EAAE;qBACV,QAAQ,CAAC,0CAA0C,CAAC;gBACvD,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,8CAA8C,CAAC;aAC5D;SACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC;oBACrD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;oBACjD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CACd,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAChD,gBAAgB,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"coordination-tools.js","sourceRoot":"","sources":["../../src/tools/coordination-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,89 +5,90 @@
|
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { toolResult, toolError, TwiningError } from "../utils/errors.js";
|
|
7
7
|
export function registerDecisionTools(server, engine, options = {}) {
|
|
8
|
-
// twining_decide — Record a decision with full rationale
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
.optional()
|
|
24
|
-
.describe("What limited the options"),
|
|
25
|
-
alternatives: z
|
|
26
|
-
.array(z.object({
|
|
27
|
-
option: z.string().describe("Alternative option considered"),
|
|
28
|
-
pros: z
|
|
8
|
+
// twining_decide — Record a decision with full rationale (full surface only — use twining_record instead)
|
|
9
|
+
if (options.fullSurface)
|
|
10
|
+
server.registerTool("twining_decide", {
|
|
11
|
+
description: "Record an architectural or implementation choice with rationale and rejected alternatives. Other agents will see this in their assemble briefing.",
|
|
12
|
+
inputSchema: {
|
|
13
|
+
domain: z
|
|
14
|
+
.string()
|
|
15
|
+
.describe('Decision domain (e.g., "architecture", "implementation", "testing")'),
|
|
16
|
+
scope: z
|
|
17
|
+
.string()
|
|
18
|
+
.describe("What part of the codebase this affects"),
|
|
19
|
+
summary: z.string().describe("One-line decision statement"),
|
|
20
|
+
context: z.string().describe("Situation that prompted this decision"),
|
|
21
|
+
rationale: z.string().describe("Reasoning for the choice"),
|
|
22
|
+
constraints: z
|
|
29
23
|
.array(z.string())
|
|
30
24
|
.optional()
|
|
31
|
-
.describe("
|
|
32
|
-
|
|
25
|
+
.describe("What limited the options"),
|
|
26
|
+
alternatives: z
|
|
27
|
+
.array(z.object({
|
|
28
|
+
option: z.string().describe("Alternative option considered"),
|
|
29
|
+
pros: z
|
|
30
|
+
.array(z.string())
|
|
31
|
+
.optional()
|
|
32
|
+
.describe("Advantages of this alternative"),
|
|
33
|
+
cons: z
|
|
34
|
+
.array(z.string())
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Disadvantages of this alternative"),
|
|
37
|
+
reason_rejected: z
|
|
38
|
+
.string()
|
|
39
|
+
.describe("Why this alternative was rejected"),
|
|
40
|
+
}))
|
|
41
|
+
.optional()
|
|
42
|
+
.describe("Alternatives that were considered"),
|
|
43
|
+
depends_on: z
|
|
33
44
|
.array(z.string())
|
|
34
45
|
.optional()
|
|
35
|
-
.describe("
|
|
36
|
-
|
|
46
|
+
.describe("IDs of prerequisite decisions"),
|
|
47
|
+
supersedes: z
|
|
37
48
|
.string()
|
|
38
|
-
.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
.
|
|
72
|
-
|
|
73
|
-
.describe('Identifier for the deciding agent (default: "main")'),
|
|
74
|
-
commit_hash: z
|
|
75
|
-
.string()
|
|
76
|
-
.optional()
|
|
77
|
-
.describe("Git commit hash to associate with this decision"),
|
|
78
|
-
},
|
|
79
|
-
}, async (args) => {
|
|
80
|
-
try {
|
|
81
|
-
const result = await engine.decide(args);
|
|
82
|
-
return toolResult(result);
|
|
83
|
-
}
|
|
84
|
-
catch (e) {
|
|
85
|
-
if (e instanceof TwiningError) {
|
|
86
|
-
return toolError(e.message, e.code);
|
|
49
|
+
.optional()
|
|
50
|
+
.describe("ID of decision this replaces"),
|
|
51
|
+
confidence: z
|
|
52
|
+
.enum(["high", "medium", "low"])
|
|
53
|
+
.optional()
|
|
54
|
+
.describe('Confidence level (default: "medium")'),
|
|
55
|
+
reversible: z
|
|
56
|
+
.boolean()
|
|
57
|
+
.optional()
|
|
58
|
+
.describe("Whether this decision is easily reversible (default: true)"),
|
|
59
|
+
affected_files: z
|
|
60
|
+
.array(z.string())
|
|
61
|
+
.optional()
|
|
62
|
+
.describe("File paths affected by this decision"),
|
|
63
|
+
affected_symbols: z
|
|
64
|
+
.array(z.string())
|
|
65
|
+
.optional()
|
|
66
|
+
.describe("Function/class names affected"),
|
|
67
|
+
assumptions: z
|
|
68
|
+
.array(z.string())
|
|
69
|
+
.optional()
|
|
70
|
+
.describe("Assumptions this decision depends on — if any change, decision should be reconsidered"),
|
|
71
|
+
agent_id: z
|
|
72
|
+
.string()
|
|
73
|
+
.optional()
|
|
74
|
+
.describe('Identifier for the deciding agent (default: "main")'),
|
|
75
|
+
commit_hash: z
|
|
76
|
+
.string()
|
|
77
|
+
.optional()
|
|
78
|
+
.describe("Git commit hash to associate with this decision"),
|
|
79
|
+
},
|
|
80
|
+
}, async (args) => {
|
|
81
|
+
try {
|
|
82
|
+
const result = await engine.decide(args);
|
|
83
|
+
return toolResult(result);
|
|
87
84
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
catch (e) {
|
|
86
|
+
if (e instanceof TwiningError) {
|
|
87
|
+
return toolError(e.message, e.code);
|
|
88
|
+
}
|
|
89
|
+
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
90
|
+
}
|
|
91
|
+
});
|
|
91
92
|
// twining_why — Retrieve decision chain for a scope or file
|
|
92
93
|
server.registerTool("twining_why", {
|
|
93
94
|
description: "Before modifying a file, check what decisions constrain it. Shows rationale and alternatives so you don't contradict prior choices.",
|
|
@@ -128,31 +129,32 @@ export function registerDecisionTools(server, engine, options = {}) {
|
|
|
128
129
|
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
129
130
|
}
|
|
130
131
|
});
|
|
131
|
-
// twining_reconsider — Flag a decision for reconsideration
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
catch (e) {
|
|
150
|
-
if (e instanceof TwiningError) {
|
|
151
|
-
return toolError(e.message, e.code);
|
|
132
|
+
// twining_reconsider — Flag a decision for reconsideration (full surface only)
|
|
133
|
+
if (options.fullSurface)
|
|
134
|
+
server.registerTool("twining_reconsider", {
|
|
135
|
+
description: "Flag a decision for reconsideration. Sets active decisions to provisional status and posts a warning to the blackboard with downstream impact analysis.",
|
|
136
|
+
inputSchema: {
|
|
137
|
+
decision_id: z.string().describe("ID of the decision to reconsider"),
|
|
138
|
+
new_context: z
|
|
139
|
+
.string()
|
|
140
|
+
.describe("New context or reason for reconsideration"),
|
|
141
|
+
agent_id: z
|
|
142
|
+
.string()
|
|
143
|
+
.optional()
|
|
144
|
+
.describe("ID of the agent requesting reconsideration"),
|
|
145
|
+
},
|
|
146
|
+
}, async (args) => {
|
|
147
|
+
try {
|
|
148
|
+
const result = await engine.reconsider(args.decision_id, args.new_context, args.agent_id);
|
|
149
|
+
return toolResult(result);
|
|
152
150
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
151
|
+
catch (e) {
|
|
152
|
+
if (e instanceof TwiningError) {
|
|
153
|
+
return toolError(e.message, e.code);
|
|
154
|
+
}
|
|
155
|
+
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
156
|
+
}
|
|
157
|
+
});
|
|
156
158
|
// twining_override — Override a decision with a reason (full surface only)
|
|
157
159
|
if (options.fullSurface)
|
|
158
160
|
server.registerTool("twining_override", {
|
|
@@ -228,71 +230,73 @@ export function registerDecisionTools(server, engine, options = {}) {
|
|
|
228
230
|
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
229
231
|
}
|
|
230
232
|
});
|
|
231
|
-
// twining_search_decisions — Search decisions across all scopes
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
catch (e) {
|
|
268
|
-
if (e instanceof TwiningError) {
|
|
269
|
-
return toolError(e.message, e.code);
|
|
233
|
+
// twining_search_decisions — Search decisions across all scopes (full surface only)
|
|
234
|
+
if (options.fullSurface)
|
|
235
|
+
server.registerTool("twining_search_decisions", {
|
|
236
|
+
description: "Search for decisions across all scopes by keyword or topic. Use when you need to find a specific past decision without knowing its exact scope.",
|
|
237
|
+
inputSchema: {
|
|
238
|
+
query: z
|
|
239
|
+
.string()
|
|
240
|
+
.describe("Search query — keywords or natural language description of what you're looking for"),
|
|
241
|
+
domain: z
|
|
242
|
+
.string()
|
|
243
|
+
.optional()
|
|
244
|
+
.describe("Filter by decision domain (e.g., 'architecture', 'implementation')"),
|
|
245
|
+
status: z
|
|
246
|
+
.enum(["active", "provisional", "superseded", "overridden"])
|
|
247
|
+
.optional()
|
|
248
|
+
.describe("Filter by decision status"),
|
|
249
|
+
confidence: z
|
|
250
|
+
.enum(["high", "medium", "low"])
|
|
251
|
+
.optional()
|
|
252
|
+
.describe("Filter by confidence level"),
|
|
253
|
+
limit: z
|
|
254
|
+
.number()
|
|
255
|
+
.optional()
|
|
256
|
+
.describe("Maximum results to return (default: 20)"),
|
|
257
|
+
},
|
|
258
|
+
}, async (args) => {
|
|
259
|
+
try {
|
|
260
|
+
const filters = {};
|
|
261
|
+
if (args.domain)
|
|
262
|
+
filters.domain = args.domain;
|
|
263
|
+
if (args.status)
|
|
264
|
+
filters.status = args.status;
|
|
265
|
+
if (args.confidence)
|
|
266
|
+
filters.confidence = args.confidence;
|
|
267
|
+
const result = await engine.searchDecisions(args.query, Object.keys(filters).length > 0 ? filters : undefined, args.limit);
|
|
268
|
+
return toolResult(result);
|
|
270
269
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
description: "Link a git commit hash to an existing decision. Enables bidirectional traceability between decisions and commits.",
|
|
277
|
-
inputSchema: {
|
|
278
|
-
decision_id: z.string().describe("ID of the decision to link"),
|
|
279
|
-
commit_hash: z.string().describe("Git commit hash to link"),
|
|
280
|
-
agent_id: z
|
|
281
|
-
.string()
|
|
282
|
-
.optional()
|
|
283
|
-
.describe("ID of the agent performing the link"),
|
|
284
|
-
},
|
|
285
|
-
}, async (args) => {
|
|
286
|
-
try {
|
|
287
|
-
const result = await engine.linkCommit(args.decision_id, args.commit_hash, args.agent_id);
|
|
288
|
-
return toolResult(result);
|
|
289
|
-
}
|
|
290
|
-
catch (e) {
|
|
291
|
-
if (e instanceof TwiningError) {
|
|
292
|
-
return toolError(e.message, e.code);
|
|
270
|
+
catch (e) {
|
|
271
|
+
if (e instanceof TwiningError) {
|
|
272
|
+
return toolError(e.message, e.code);
|
|
273
|
+
}
|
|
274
|
+
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
293
275
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
276
|
+
});
|
|
277
|
+
// twining_link_commit — Link a git commit hash to an existing decision (full surface only — use commit_hash param on twining_record instead)
|
|
278
|
+
if (options.fullSurface)
|
|
279
|
+
server.registerTool("twining_link_commit", {
|
|
280
|
+
description: "Link a git commit hash to an existing decision. Enables bidirectional traceability between decisions and commits.",
|
|
281
|
+
inputSchema: {
|
|
282
|
+
decision_id: z.string().describe("ID of the decision to link"),
|
|
283
|
+
commit_hash: z.string().describe("Git commit hash to link"),
|
|
284
|
+
agent_id: z
|
|
285
|
+
.string()
|
|
286
|
+
.optional()
|
|
287
|
+
.describe("ID of the agent performing the link"),
|
|
288
|
+
},
|
|
289
|
+
}, async (args) => {
|
|
290
|
+
try {
|
|
291
|
+
const result = await engine.linkCommit(args.decision_id, args.commit_hash, args.agent_id);
|
|
292
|
+
return toolResult(result);
|
|
293
|
+
}
|
|
294
|
+
catch (e) {
|
|
295
|
+
if (e instanceof TwiningError) {
|
|
296
|
+
return toolError(e.message, e.code);
|
|
297
|
+
}
|
|
298
|
+
return toolError(e instanceof Error ? e.message : "Unknown error", "INTERNAL_ERROR");
|
|
299
|
+
}
|
|
300
|
+
});
|
|
297
301
|
}
|
|
298
302
|
//# sourceMappingURL=decision-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-tools.js","sourceRoot":"","sources":["../../src/tools/decision-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,MAAsB,EACtB,UAAqC,EAAE;IAEvC,
|
|
1
|
+
{"version":3,"file":"decision-tools.js","sourceRoot":"","sources":["../../src/tools/decision-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-tools.d.ts","sourceRoot":"","sources":["../../src/tools/record-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"record-tools.d.ts","sourceRoot":"","sources":["../../src/tools/record-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAuH7D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,GAClB,IAAI,CAmPN"}
|