nodebench-mcp 2.11.0 → 2.14.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 (67) hide show
  1. package/NODEBENCH_AGENTS.md +809 -809
  2. package/README.md +443 -431
  3. package/STYLE_GUIDE.md +477 -477
  4. package/dist/__tests__/evalHarness.test.js +1 -1
  5. package/dist/__tests__/gaiaCapabilityAudioEval.test.js +9 -14
  6. package/dist/__tests__/gaiaCapabilityAudioEval.test.js.map +1 -1
  7. package/dist/__tests__/gaiaCapabilityEval.test.js +88 -14
  8. package/dist/__tests__/gaiaCapabilityEval.test.js.map +1 -1
  9. package/dist/__tests__/gaiaCapabilityFilesEval.test.js +9 -5
  10. package/dist/__tests__/gaiaCapabilityFilesEval.test.js.map +1 -1
  11. package/dist/__tests__/gaiaCapabilityMediaEval.test.js +165 -17
  12. package/dist/__tests__/gaiaCapabilityMediaEval.test.js.map +1 -1
  13. package/dist/__tests__/helpers/answerMatch.d.ts +36 -7
  14. package/dist/__tests__/helpers/answerMatch.js +224 -35
  15. package/dist/__tests__/helpers/answerMatch.js.map +1 -1
  16. package/dist/__tests__/helpers/textLlm.d.ts +1 -1
  17. package/dist/__tests__/presetRealWorldBench.test.d.ts +1 -0
  18. package/dist/__tests__/presetRealWorldBench.test.js +850 -0
  19. package/dist/__tests__/presetRealWorldBench.test.js.map +1 -0
  20. package/dist/__tests__/tools.test.js +20 -7
  21. package/dist/__tests__/tools.test.js.map +1 -1
  22. package/dist/__tests__/toolsetGatingEval.test.js +21 -11
  23. package/dist/__tests__/toolsetGatingEval.test.js.map +1 -1
  24. package/dist/db.js +21 -0
  25. package/dist/db.js.map +1 -1
  26. package/dist/index.js +424 -327
  27. package/dist/index.js.map +1 -1
  28. package/dist/tools/agentBootstrapTools.js +258 -258
  29. package/dist/tools/boilerplateTools.js +144 -144
  30. package/dist/tools/cCompilerBenchmarkTools.js +33 -33
  31. package/dist/tools/documentationTools.js +59 -59
  32. package/dist/tools/flywheelTools.js +6 -6
  33. package/dist/tools/gitWorkflowTools.d.ts +11 -0
  34. package/dist/tools/gitWorkflowTools.js +580 -0
  35. package/dist/tools/gitWorkflowTools.js.map +1 -0
  36. package/dist/tools/learningTools.js +26 -26
  37. package/dist/tools/localFileTools.d.ts +3 -0
  38. package/dist/tools/localFileTools.js +3164 -125
  39. package/dist/tools/localFileTools.js.map +1 -1
  40. package/dist/tools/metaTools.js +82 -0
  41. package/dist/tools/metaTools.js.map +1 -1
  42. package/dist/tools/parallelAgentTools.js +228 -0
  43. package/dist/tools/parallelAgentTools.js.map +1 -1
  44. package/dist/tools/patternTools.d.ts +13 -0
  45. package/dist/tools/patternTools.js +456 -0
  46. package/dist/tools/patternTools.js.map +1 -0
  47. package/dist/tools/reconTools.js +31 -31
  48. package/dist/tools/selfEvalTools.js +44 -44
  49. package/dist/tools/seoTools.d.ts +16 -0
  50. package/dist/tools/seoTools.js +866 -0
  51. package/dist/tools/seoTools.js.map +1 -0
  52. package/dist/tools/sessionMemoryTools.d.ts +15 -0
  53. package/dist/tools/sessionMemoryTools.js +348 -0
  54. package/dist/tools/sessionMemoryTools.js.map +1 -0
  55. package/dist/tools/toolRegistry.d.ts +4 -0
  56. package/dist/tools/toolRegistry.js +489 -0
  57. package/dist/tools/toolRegistry.js.map +1 -1
  58. package/dist/tools/toonTools.d.ts +15 -0
  59. package/dist/tools/toonTools.js +94 -0
  60. package/dist/tools/toonTools.js.map +1 -0
  61. package/dist/tools/verificationTools.js +41 -41
  62. package/dist/tools/visionTools.js +17 -17
  63. package/dist/tools/voiceBridgeTools.d.ts +15 -0
  64. package/dist/tools/voiceBridgeTools.js +1427 -0
  65. package/dist/tools/voiceBridgeTools.js.map +1 -0
  66. package/dist/tools/webTools.js +18 -18
  67. package/package.json +102 -101
@@ -1 +1 @@
1
- {"version":3,"file":"parallelAgentTools.js","sourceRoot":"","sources":["../../src/tools/parallelAgentTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallelAgentTools.js","sourceRoot":"","sources":["../../src/tools/parallelAgentTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Pattern Tools — Session Pattern Mining & Risk Prediction.
3
+ *
4
+ * Analyzes historical tool call trajectories and learnings to extract
5
+ * recurring success/failure sequences, then predicts risks for new tasks
6
+ * based on historically similar sessions.
7
+ *
8
+ * 2 tools:
9
+ * - mine_session_patterns: Extract recurring tool call sequences (bigrams/trigrams) with success/failure rates
10
+ * - predict_risks_from_patterns: Predict failure modes for a task based on historical session data
11
+ */
12
+ import type { McpTool } from "../types.js";
13
+ export declare const patternTools: McpTool[];
@@ -0,0 +1,456 @@
1
+ /**
2
+ * Pattern Tools — Session Pattern Mining & Risk Prediction.
3
+ *
4
+ * Analyzes historical tool call trajectories and learnings to extract
5
+ * recurring success/failure sequences, then predicts risks for new tasks
6
+ * based on historically similar sessions.
7
+ *
8
+ * 2 tools:
9
+ * - mine_session_patterns: Extract recurring tool call sequences (bigrams/trigrams) with success/failure rates
10
+ * - predict_risks_from_patterns: Predict failure modes for a task based on historical session data
11
+ */
12
+ import { getDb } from "../db.js";
13
+ export const patternTools = [
14
+ // ─── Tool 1: mine_session_patterns ────────────────────────────────────
15
+ {
16
+ name: "mine_session_patterns",
17
+ description: "Analyze tool_call_log and learnings tables to extract recurring success/failure sequences across sessions. Finds common 2-3 tool sequences (bigrams/trigrams), cross-references with result_status to surface failure-prone patterns, and returns top patterns ranked by occurrence count and success rate. Use this to discover which tool workflows reliably succeed and which tend to fail.",
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ minOccurrences: {
22
+ type: "number",
23
+ description: "Minimum number of times a pattern must appear to be included (default: 2)",
24
+ },
25
+ maxPatterns: {
26
+ type: "number",
27
+ description: "Maximum number of patterns to return (default: 20)",
28
+ },
29
+ sessionFilter: {
30
+ type: "string",
31
+ description: "Only analyze sessions whose session_id contains this substring (optional — omit for all sessions)",
32
+ },
33
+ },
34
+ required: [],
35
+ },
36
+ handler: async (args) => {
37
+ const db = getDb();
38
+ const minOccurrences = args.minOccurrences ?? 2;
39
+ const maxPatterns = args.maxPatterns ?? 20;
40
+ const sessionFilter = args.sessionFilter;
41
+ // Fetch tool call rows ordered by session and time
42
+ let rows;
43
+ if (sessionFilter) {
44
+ rows = db
45
+ .prepare("SELECT session_id, tool_name, result_status FROM tool_call_log WHERE session_id LIKE ? ORDER BY session_id ASC, created_at ASC")
46
+ .all(`%${sessionFilter}%`);
47
+ }
48
+ else {
49
+ rows = db
50
+ .prepare("SELECT session_id, tool_name, result_status FROM tool_call_log ORDER BY session_id ASC, created_at ASC")
51
+ .all();
52
+ }
53
+ if (rows.length === 0) {
54
+ return {
55
+ patterns: [],
56
+ totalSessions: 0,
57
+ totalCalls: 0,
58
+ message: "No tool call data found. Use log_tool_call after each tool invocation to build trajectory data.",
59
+ };
60
+ }
61
+ // Group rows by session
62
+ const sessions = new Map();
63
+ for (const row of rows) {
64
+ if (!sessions.has(row.session_id)) {
65
+ sessions.set(row.session_id, []);
66
+ }
67
+ sessions.get(row.session_id).push(row);
68
+ }
69
+ // ── Bigram extraction ──
70
+ const bigramStats = new Map();
71
+ // ── Trigram extraction ──
72
+ const trigramStats = new Map();
73
+ for (const [sessionId, calls] of sessions) {
74
+ // Bigrams
75
+ for (let i = 0; i < calls.length - 1; i++) {
76
+ const key = JSON.stringify([calls[i].tool_name, calls[i + 1].tool_name]);
77
+ if (!bigramStats.has(key)) {
78
+ bigramStats.set(key, { occurrences: 0, successes: 0, failures: 0, sessionIds: new Set() });
79
+ }
80
+ const stat = bigramStats.get(key);
81
+ stat.occurrences++;
82
+ stat.sessionIds.add(sessionId);
83
+ // A bigram is a "success" if both calls succeeded
84
+ const bothSucceeded = calls[i].result_status === "success" && calls[i + 1].result_status === "success";
85
+ if (bothSucceeded) {
86
+ stat.successes++;
87
+ }
88
+ else {
89
+ stat.failures++;
90
+ }
91
+ }
92
+ // Trigrams
93
+ for (let i = 0; i < calls.length - 2; i++) {
94
+ const key = JSON.stringify([
95
+ calls[i].tool_name,
96
+ calls[i + 1].tool_name,
97
+ calls[i + 2].tool_name,
98
+ ]);
99
+ if (!trigramStats.has(key)) {
100
+ trigramStats.set(key, { occurrences: 0, successes: 0, failures: 0, sessionIds: new Set() });
101
+ }
102
+ const stat = trigramStats.get(key);
103
+ stat.occurrences++;
104
+ stat.sessionIds.add(sessionId);
105
+ const allSucceeded = calls[i].result_status === "success" &&
106
+ calls[i + 1].result_status === "success" &&
107
+ calls[i + 2].result_status === "success";
108
+ if (allSucceeded) {
109
+ stat.successes++;
110
+ }
111
+ else {
112
+ stat.failures++;
113
+ }
114
+ }
115
+ }
116
+ // ── Identify failure-prone sequences ──
117
+ // A sequence where the last tool frequently errors
118
+ const failureSequences = new Map();
119
+ for (const [sessionId, calls] of sessions) {
120
+ for (let i = 0; i < calls.length - 1; i++) {
121
+ if (calls[i + 1].result_status === "error") {
122
+ const key = JSON.stringify([calls[i].tool_name, calls[i + 1].tool_name]);
123
+ if (!failureSequences.has(key)) {
124
+ failureSequences.set(key, {
125
+ sequence: [calls[i].tool_name, calls[i + 1].tool_name],
126
+ errorCount: 0,
127
+ totalCount: 0,
128
+ });
129
+ }
130
+ failureSequences.get(key).errorCount++;
131
+ }
132
+ // Track total for the same pair to compute rate
133
+ const key = JSON.stringify([calls[i].tool_name, calls[i + 1].tool_name]);
134
+ if (failureSequences.has(key)) {
135
+ failureSequences.get(key).totalCount++;
136
+ }
137
+ }
138
+ }
139
+ // ── Classify patterns by context ──
140
+ const classifyPattern = (sequence) => {
141
+ const joined = sequence.join(" ");
142
+ if (joined.includes("recon") || joined.includes("search_all_knowledge"))
143
+ return "Research pattern";
144
+ if (joined.includes("log_test_result") || joined.includes("run_closed_loop"))
145
+ return "Testing pattern";
146
+ if (joined.includes("assess_risk") || joined.includes("run_quality_gate"))
147
+ return "Quality assurance pattern";
148
+ if (joined.includes("start_verification") || joined.includes("log_phase"))
149
+ return "Verification pattern";
150
+ if (joined.includes("record_learning") || joined.includes("search_learnings"))
151
+ return "Knowledge pattern";
152
+ if (joined.includes("run_mandatory_flywheel") || joined.includes("promote_to_eval"))
153
+ return "Flywheel pattern";
154
+ if (joined.includes("claim_agent") || joined.includes("release_agent"))
155
+ return "Parallel coordination pattern";
156
+ return "General workflow";
157
+ };
158
+ // ── Build output arrays ──
159
+ const bigramPatterns = [...bigramStats.entries()]
160
+ .filter(([, stat]) => stat.occurrences >= minOccurrences)
161
+ .sort(([, a], [, b]) => b.occurrences - a.occurrences)
162
+ .slice(0, maxPatterns)
163
+ .map(([key, stat]) => {
164
+ const sequence = JSON.parse(key);
165
+ return {
166
+ type: "bigram",
167
+ sequence,
168
+ occurrences: stat.occurrences,
169
+ successRate: Math.round((stat.successes / stat.occurrences) * 100) / 100,
170
+ failureRate: Math.round((stat.failures / stat.occurrences) * 100) / 100,
171
+ uniqueSessions: stat.sessionIds.size,
172
+ context: classifyPattern(sequence),
173
+ };
174
+ });
175
+ const trigramPatterns = [...trigramStats.entries()]
176
+ .filter(([, stat]) => stat.occurrences >= minOccurrences)
177
+ .sort(([, a], [, b]) => b.occurrences - a.occurrences)
178
+ .slice(0, Math.max(5, Math.floor(maxPatterns / 2)))
179
+ .map(([key, stat]) => {
180
+ const sequence = JSON.parse(key);
181
+ return {
182
+ type: "trigram",
183
+ sequence,
184
+ occurrences: stat.occurrences,
185
+ successRate: Math.round((stat.successes / stat.occurrences) * 100) / 100,
186
+ failureRate: Math.round((stat.failures / stat.occurrences) * 100) / 100,
187
+ uniqueSessions: stat.sessionIds.size,
188
+ context: classifyPattern(sequence),
189
+ };
190
+ });
191
+ const topFailures = [...failureSequences.values()]
192
+ .filter((f) => f.errorCount >= minOccurrences)
193
+ .sort((a, b) => b.errorCount - a.errorCount)
194
+ .slice(0, 10)
195
+ .map((f) => ({
196
+ sequence: f.sequence,
197
+ errorCount: f.errorCount,
198
+ totalCount: f.totalCount,
199
+ errorRate: f.totalCount > 0
200
+ ? Math.round((f.errorCount / f.totalCount) * 100) / 100
201
+ : 0,
202
+ }));
203
+ return {
204
+ totalSessions: sessions.size,
205
+ totalCalls: rows.length,
206
+ bigramPatterns,
207
+ trigramPatterns,
208
+ failureProneSequences: topFailures,
209
+ summary: {
210
+ totalBigramsFound: bigramPatterns.length,
211
+ totalTrigramsFound: trigramPatterns.length,
212
+ totalFailurePatterns: topFailures.length,
213
+ avgBigramSuccessRate: bigramPatterns.length > 0
214
+ ? Math.round((bigramPatterns.reduce((s, p) => s + p.successRate, 0) /
215
+ bigramPatterns.length) *
216
+ 100) / 100
217
+ : 0,
218
+ },
219
+ tip: "Use predict_risks_from_patterns with a task description to predict which failure patterns are most likely for your next task.",
220
+ };
221
+ },
222
+ },
223
+ // ─── Tool 2: predict_risks_from_patterns ──────────────────────────────
224
+ {
225
+ name: "predict_risks_from_patterns",
226
+ description: "Given a task description, predict likely failure modes based on historically similar sessions. Searches the learnings table (FTS) for entries matching the task, finds sessions where similar tools were used and checks their error patterns, and cross-references with gaps of CRITICAL or HIGH severity. Returns risk predictions ranked by confidence with supporting evidence.",
227
+ inputSchema: {
228
+ type: "object",
229
+ properties: {
230
+ taskDescription: {
231
+ type: "string",
232
+ description: "Description of the task you are about to undertake (e.g. 'Add JWT authentication to the API')",
233
+ },
234
+ maxPredictions: {
235
+ type: "number",
236
+ description: "Maximum number of risk predictions to return (default: 5)",
237
+ },
238
+ },
239
+ required: ["taskDescription"],
240
+ },
241
+ handler: async (args) => {
242
+ const db = getDb();
243
+ const taskDescription = args.taskDescription;
244
+ const maxPredictions = args.maxPredictions ?? 5;
245
+ const predictions = [];
246
+ // ── 1. Search learnings via FTS for task-relevant knowledge ──
247
+ let matchedLearnings = [];
248
+ try {
249
+ // Build FTS query: tokenize the description into keywords
250
+ const keywords = taskDescription
251
+ .toLowerCase()
252
+ .replace(/[^a-z0-9\s]/g, "")
253
+ .split(/\s+/)
254
+ .filter((w) => w.length > 2)
255
+ .slice(0, 10);
256
+ if (keywords.length > 0) {
257
+ const ftsQuery = keywords.map((k) => `"${k}"`).join(" OR ");
258
+ try {
259
+ matchedLearnings = db
260
+ .prepare(`SELECT l.key, l.content, l.category, l.tags
261
+ FROM learnings_fts fts
262
+ JOIN learnings l ON l.id = fts.rowid
263
+ WHERE learnings_fts MATCH ?
264
+ ORDER BY rank
265
+ LIMIT 20`)
266
+ .all(ftsQuery);
267
+ }
268
+ catch {
269
+ // FTS query may fail with certain inputs; fall back to LIKE
270
+ matchedLearnings = db
271
+ .prepare(`SELECT key, content, category, tags FROM learnings
272
+ WHERE ${keywords.map(() => "content LIKE ?").join(" OR ")}
273
+ LIMIT 20`)
274
+ .all(...keywords.map((k) => `%${k}%`));
275
+ }
276
+ }
277
+ }
278
+ catch {
279
+ /* learnings_fts table may not exist yet */
280
+ }
281
+ // Extract risk signals from learnings
282
+ const riskKeywords = ["error", "fail", "timeout", "crash", "bug", "broke", "regression", "flaky", "race condition", "deadlock", "memory leak", "permission"];
283
+ for (const learning of matchedLearnings) {
284
+ const content = (learning.content ?? "").toLowerCase();
285
+ for (const riskWord of riskKeywords) {
286
+ if (content.includes(riskWord)) {
287
+ const existingPrediction = predictions.find((p) => p.risk.toLowerCase().includes(riskWord));
288
+ if (existingPrediction) {
289
+ existingPrediction.confidence = Math.min(existingPrediction.confidence + 0.1, 0.95);
290
+ existingPrediction.relatedLearnings.push({
291
+ key: learning.key,
292
+ preview: (learning.content ?? "").slice(0, 100),
293
+ });
294
+ }
295
+ else {
296
+ // Extract a sentence around the risk keyword for the risk description
297
+ const idx = content.indexOf(riskWord);
298
+ const start = Math.max(0, content.lastIndexOf(".", idx - 1) + 1);
299
+ const end = content.indexOf(".", idx + riskWord.length);
300
+ const riskSentence = (learning.content ?? "").slice(start, end > 0 ? end + 1 : start + 120).trim();
301
+ predictions.push({
302
+ risk: riskSentence || `Potential ${riskWord} issue`,
303
+ confidence: 0.4,
304
+ evidence: `Found in learning: ${learning.key}`,
305
+ category: learning.category ?? "unknown",
306
+ relatedLearnings: [
307
+ {
308
+ key: learning.key,
309
+ preview: (learning.content ?? "").slice(0, 100),
310
+ },
311
+ ],
312
+ relatedGaps: [],
313
+ });
314
+ }
315
+ }
316
+ }
317
+ }
318
+ // ── 2. Find sessions with similar tool patterns and check errors ──
319
+ try {
320
+ // Infer likely tools from task description keywords
321
+ const TOOL_KEYWORDS = {
322
+ web: ["web_search", "web_scrape", "check_framework_updates"],
323
+ test: ["log_test_result", "run_closed_loop"],
324
+ auth: ["assess_risk", "scan_terminal_security"],
325
+ api: ["run_recon", "check_framework_updates"],
326
+ ui: ["capture_screenshot", "detect_ui_flicker"],
327
+ deploy: ["run_quality_gate", "run_mandatory_flywheel"],
328
+ database: ["run_recon", "assess_risk"],
329
+ security: ["assess_risk", "scan_terminal_security"],
330
+ migration: ["assess_risk", "run_recon", "log_gap"],
331
+ refactor: ["run_recon", "log_test_result", "run_closed_loop"],
332
+ };
333
+ const descLower = taskDescription.toLowerCase();
334
+ const likelyTools = new Set();
335
+ for (const [keyword, tools] of Object.entries(TOOL_KEYWORDS)) {
336
+ if (descLower.includes(keyword)) {
337
+ for (const tool of tools) {
338
+ likelyTools.add(tool);
339
+ }
340
+ }
341
+ }
342
+ if (likelyTools.size > 0) {
343
+ // Find sessions that used these tools and had errors
344
+ const placeholders = [...likelyTools].map(() => "?").join(", ");
345
+ const errorSessions = db
346
+ .prepare(`SELECT session_id, tool_name, result_status, error
347
+ FROM tool_call_log
348
+ WHERE tool_name IN (${placeholders}) AND result_status = 'error'
349
+ ORDER BY created_at DESC
350
+ LIMIT 50`)
351
+ .all(...likelyTools);
352
+ // Group errors by tool
353
+ const errorsByTool = new Map();
354
+ for (const row of errorSessions) {
355
+ if (!errorsByTool.has(row.tool_name)) {
356
+ errorsByTool.set(row.tool_name, { count: 0, errors: [] });
357
+ }
358
+ const entry = errorsByTool.get(row.tool_name);
359
+ entry.count++;
360
+ if (row.error && entry.errors.length < 3) {
361
+ entry.errors.push(row.error.slice(0, 100));
362
+ }
363
+ }
364
+ for (const [toolName, stats] of errorsByTool) {
365
+ if (stats.count >= 2) {
366
+ predictions.push({
367
+ risk: `${toolName} failures (${stats.count} historical errors)`,
368
+ confidence: Math.min(0.3 + stats.count * 0.1, 0.85),
369
+ evidence: `${stats.count} prior sessions using ${toolName} encountered errors. Sample: ${stats.errors[0] ?? "unknown error"}`,
370
+ category: "tool_reliability",
371
+ relatedLearnings: [],
372
+ relatedGaps: [],
373
+ });
374
+ }
375
+ }
376
+ }
377
+ }
378
+ catch {
379
+ /* tool_call_log table may not exist yet */
380
+ }
381
+ // ── 3. Cross-reference with CRITICAL/HIGH gaps ──
382
+ try {
383
+ const criticalGaps = db
384
+ .prepare("SELECT title, description, severity FROM gaps WHERE status = 'open' AND severity IN ('CRITICAL', 'HIGH') ORDER BY CASE severity WHEN 'CRITICAL' THEN 1 ELSE 2 END LIMIT 20")
385
+ .all();
386
+ const descWords = new Set(taskDescription
387
+ .toLowerCase()
388
+ .replace(/[^a-z0-9\s]/g, "")
389
+ .split(/\s+/)
390
+ .filter((w) => w.length > 3));
391
+ for (const gap of criticalGaps) {
392
+ const gapWords = new Set(((gap.title ?? "") + " " + (gap.description ?? ""))
393
+ .toLowerCase()
394
+ .replace(/[^a-z0-9\s]/g, "")
395
+ .split(/\s+/)
396
+ .filter((w) => w.length > 3));
397
+ // Simple word overlap check
398
+ const overlap = [...descWords].filter((w) => gapWords.has(w));
399
+ if (overlap.length >= 2) {
400
+ const existingPrediction = predictions.find((p) => p.risk.includes(gap.title));
401
+ if (existingPrediction) {
402
+ existingPrediction.relatedGaps.push({
403
+ title: gap.title,
404
+ severity: gap.severity,
405
+ });
406
+ existingPrediction.confidence = Math.min(existingPrediction.confidence + 0.15, 0.95);
407
+ }
408
+ else {
409
+ predictions.push({
410
+ risk: `Existing ${gap.severity} gap: ${gap.title}`,
411
+ confidence: gap.severity === "CRITICAL" ? 0.8 : 0.6,
412
+ evidence: `Open ${gap.severity} gap overlaps with task keywords: ${overlap.join(", ")}`,
413
+ category: "existing_gap",
414
+ relatedLearnings: [],
415
+ relatedGaps: [{ title: gap.title, severity: gap.severity }],
416
+ });
417
+ }
418
+ }
419
+ }
420
+ }
421
+ catch {
422
+ /* gaps table may not exist yet */
423
+ }
424
+ // ── Sort by confidence and limit ──
425
+ predictions.sort((a, b) => b.confidence - a.confidence);
426
+ const topPredictions = predictions.slice(0, maxPredictions);
427
+ // Deduplicate related learnings within each prediction
428
+ for (const pred of topPredictions) {
429
+ const seen = new Set();
430
+ pred.relatedLearnings = pred.relatedLearnings.filter((l) => {
431
+ if (seen.has(l.key))
432
+ return false;
433
+ seen.add(l.key);
434
+ return true;
435
+ });
436
+ }
437
+ return {
438
+ taskDescription,
439
+ predictionsCount: topPredictions.length,
440
+ predictions: topPredictions.map((p) => ({
441
+ risk: p.risk,
442
+ confidence: Math.round(p.confidence * 100) / 100,
443
+ evidence: p.evidence,
444
+ category: p.category,
445
+ relatedLearnings: p.relatedLearnings.slice(0, 3),
446
+ relatedGaps: p.relatedGaps,
447
+ })),
448
+ matchedLearningsCount: matchedLearnings.length,
449
+ tip: topPredictions.length === 0
450
+ ? "No risk patterns found for this task. Either the task is novel or the knowledge base needs more data. Run mine_session_patterns to build historical pattern data."
451
+ : "Review predictions before starting. Use assess_risk for a formal risk assessment, or search_all_knowledge for deeper context on each predicted risk.",
452
+ };
453
+ },
454
+ },
455
+ ];
456
+ //# sourceMappingURL=patternTools.js.map