nodebench-mcp 1.0.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 (65) hide show
  1. package/README.md +237 -0
  2. package/dist/__tests__/tools.test.d.ts +1 -0
  3. package/dist/__tests__/tools.test.js +402 -0
  4. package/dist/__tests__/tools.test.js.map +1 -0
  5. package/dist/db.d.ts +4 -0
  6. package/dist/db.js +198 -0
  7. package/dist/db.js.map +1 -0
  8. package/dist/index.d.ts +19 -0
  9. package/dist/index.js +237 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/tools/documentTools.d.ts +5 -0
  12. package/dist/tools/documentTools.js +524 -0
  13. package/dist/tools/documentTools.js.map +1 -0
  14. package/dist/tools/documentationTools.d.ts +12 -0
  15. package/dist/tools/documentationTools.js +647 -0
  16. package/dist/tools/documentationTools.js.map +1 -0
  17. package/dist/tools/evalTools.d.ts +6 -0
  18. package/dist/tools/evalTools.js +335 -0
  19. package/dist/tools/evalTools.js.map +1 -0
  20. package/dist/tools/financialTools.d.ts +10 -0
  21. package/dist/tools/financialTools.js +403 -0
  22. package/dist/tools/financialTools.js.map +1 -0
  23. package/dist/tools/flywheelTools.d.ts +6 -0
  24. package/dist/tools/flywheelTools.js +366 -0
  25. package/dist/tools/flywheelTools.js.map +1 -0
  26. package/dist/tools/githubTools.d.ts +12 -0
  27. package/dist/tools/githubTools.js +432 -0
  28. package/dist/tools/githubTools.js.map +1 -0
  29. package/dist/tools/learningTools.d.ts +6 -0
  30. package/dist/tools/learningTools.js +199 -0
  31. package/dist/tools/learningTools.js.map +1 -0
  32. package/dist/tools/memoryTools.d.ts +5 -0
  33. package/dist/tools/memoryTools.js +137 -0
  34. package/dist/tools/memoryTools.js.map +1 -0
  35. package/dist/tools/metaTools.d.ts +7 -0
  36. package/dist/tools/metaTools.js +837 -0
  37. package/dist/tools/metaTools.js.map +1 -0
  38. package/dist/tools/planningTools.d.ts +5 -0
  39. package/dist/tools/planningTools.js +147 -0
  40. package/dist/tools/planningTools.js.map +1 -0
  41. package/dist/tools/qualityGateTools.d.ts +6 -0
  42. package/dist/tools/qualityGateTools.js +347 -0
  43. package/dist/tools/qualityGateTools.js.map +1 -0
  44. package/dist/tools/reconTools.d.ts +8 -0
  45. package/dist/tools/reconTools.js +729 -0
  46. package/dist/tools/reconTools.js.map +1 -0
  47. package/dist/tools/searchTools.d.ts +5 -0
  48. package/dist/tools/searchTools.js +145 -0
  49. package/dist/tools/searchTools.js.map +1 -0
  50. package/dist/tools/uiCaptureTools.d.ts +8 -0
  51. package/dist/tools/uiCaptureTools.js +339 -0
  52. package/dist/tools/uiCaptureTools.js.map +1 -0
  53. package/dist/tools/verificationTools.d.ts +6 -0
  54. package/dist/tools/verificationTools.js +472 -0
  55. package/dist/tools/verificationTools.js.map +1 -0
  56. package/dist/tools/visionTools.d.ts +12 -0
  57. package/dist/tools/visionTools.js +553 -0
  58. package/dist/tools/visionTools.js.map +1 -0
  59. package/dist/tools/webTools.d.ts +12 -0
  60. package/dist/tools/webTools.js +443 -0
  61. package/dist/tools/webTools.js.map +1 -0
  62. package/dist/types.d.ts +16 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +1 -0
  65. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaTools.js","sourceRoot":"","sources":["../../src/tools/metaTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Planning tools — create and manage task plans via local SQLite.
3
+ */
4
+ import type { McpTool } from "../types.js";
5
+ export declare const planningTools: McpTool[];
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Planning tools — create and manage task plans via local SQLite.
3
+ */
4
+ import { getDb, genId } from "../db.js";
5
+ export const planningTools = [
6
+ {
7
+ name: "createPlan",
8
+ description: "Create an explicit task plan with steps marked as pending/in_progress/completed.",
9
+ inputSchema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "The high-level goal to accomplish",
15
+ },
16
+ steps: {
17
+ type: "array",
18
+ description: "List of steps to accomplish the goal",
19
+ items: {
20
+ type: "object",
21
+ properties: {
22
+ step: { type: "string", description: "Description of the step" },
23
+ status: {
24
+ type: "string",
25
+ enum: ["pending", "in_progress", "completed"],
26
+ description: "Current status of the step",
27
+ },
28
+ assignedAgent: {
29
+ type: "string",
30
+ description: "Which agent is responsible (optional)",
31
+ },
32
+ notes: {
33
+ type: "string",
34
+ description: "Additional notes (optional)",
35
+ },
36
+ },
37
+ required: ["step", "status"],
38
+ },
39
+ },
40
+ },
41
+ required: ["goal", "steps"],
42
+ },
43
+ handler: async (args) => {
44
+ const { goal, steps } = args;
45
+ if (!goal || !steps || steps.length === 0) {
46
+ throw new Error("Goal and steps are required");
47
+ }
48
+ const db = getDb();
49
+ const planId = genId("plan");
50
+ const now = new Date().toISOString();
51
+ db.prepare("INSERT INTO plans (id, goal, steps, created_at, updated_at) VALUES (?, ?, ?, ?, ?)").run(planId, goal, JSON.stringify(steps), now, now);
52
+ const markdown = `# Task Plan: ${goal}\n\nCreated: ${now}\n\n## Steps\n\n` +
53
+ steps
54
+ .map((s, i) => {
55
+ const cb = s.status === "completed"
56
+ ? "x"
57
+ : s.status === "in_progress"
58
+ ? "/"
59
+ : " ";
60
+ const agent = s.assignedAgent ? ` (${s.assignedAgent})` : "";
61
+ const notes = s.notes ? `\n - ${s.notes}` : "";
62
+ return `${i + 1}. [${cb}] ${s.step}${agent}${notes}`;
63
+ })
64
+ .join("\n");
65
+ return {
66
+ success: true,
67
+ planId,
68
+ message: `Created task plan with ${steps.length} steps`,
69
+ markdown,
70
+ };
71
+ },
72
+ },
73
+ {
74
+ name: "updatePlanStep",
75
+ description: "Update the status or notes of a specific step in a task plan.",
76
+ inputSchema: {
77
+ type: "object",
78
+ properties: {
79
+ planId: { type: "string", description: "ID of the plan to update" },
80
+ stepIndex: {
81
+ type: "number",
82
+ description: "Index of the step to update (0-based)",
83
+ },
84
+ status: {
85
+ type: "string",
86
+ enum: ["pending", "in_progress", "completed"],
87
+ description: "New status for the step (optional)",
88
+ },
89
+ notes: {
90
+ type: "string",
91
+ description: "New notes for the step (optional)",
92
+ },
93
+ },
94
+ required: ["planId", "stepIndex"],
95
+ },
96
+ handler: async (args) => {
97
+ const { planId, stepIndex, status, notes } = args;
98
+ const db = getDb();
99
+ const row = db.prepare("SELECT * FROM plans WHERE id = ?").get(planId);
100
+ if (!row)
101
+ throw new Error(`Plan not found: ${planId}`);
102
+ const steps = JSON.parse(row.steps);
103
+ if (stepIndex < 0 || stepIndex >= steps.length) {
104
+ throw new Error(`Invalid step index: ${stepIndex}`);
105
+ }
106
+ if (status)
107
+ steps[stepIndex].status = status;
108
+ if (notes !== undefined)
109
+ steps[stepIndex].notes = notes;
110
+ const now = new Date().toISOString();
111
+ db.prepare("UPDATE plans SET steps = ?, updated_at = ? WHERE id = ?").run(JSON.stringify(steps), now, planId);
112
+ return {
113
+ success: true,
114
+ message: `Updated step ${stepIndex + 1} in plan ${planId}`,
115
+ step: steps[stepIndex],
116
+ };
117
+ },
118
+ },
119
+ {
120
+ name: "getPlan",
121
+ description: "Retrieve a task plan by ID.",
122
+ inputSchema: {
123
+ type: "object",
124
+ properties: {
125
+ planId: { type: "string", description: "ID of the plan to retrieve" },
126
+ },
127
+ required: ["planId"],
128
+ },
129
+ handler: async (args) => {
130
+ const db = getDb();
131
+ const row = db.prepare("SELECT * FROM plans WHERE id = ?").get(args.planId);
132
+ if (!row)
133
+ throw new Error(`Plan not found: ${args.planId}`);
134
+ return {
135
+ success: true,
136
+ plan: {
137
+ id: row.id,
138
+ goal: row.goal,
139
+ steps: JSON.parse(row.steps),
140
+ createdAt: row.created_at,
141
+ updatedAt: row.updated_at,
142
+ },
143
+ };
144
+ },
145
+ },
146
+ ];
147
+ //# sourceMappingURL=planningTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planningTools.js","sourceRoot":"","sources":["../../src/tools/planningTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Quality Gate tools — boolean check validation pattern + closed loop verification.
3
+ * Deterministic gates that evaluate content/code against defined rules.
4
+ */
5
+ import type { McpTool } from "../types.js";
6
+ export declare const qualityGateTools: McpTool[];
@@ -0,0 +1,347 @@
1
+ /**
2
+ * Quality Gate tools — boolean check validation pattern + closed loop verification.
3
+ * Deterministic gates that evaluate content/code against defined rules.
4
+ */
5
+ import { getDb, genId } from "../db.js";
6
+ const GATE_PRESETS = {
7
+ engagement: [
8
+ {
9
+ name: "noReportHeader",
10
+ description: "First 2 lines must NOT be a title card (Daily Intelligence Brief, VC DEAL FLOW MEMO, etc.)",
11
+ evaluationHint: "Check if the first 2 lines look like a report header or title card. FAIL if they do.",
12
+ },
13
+ {
14
+ name: "hasHook",
15
+ description: "First sentence must be a concrete claim, surprising stat, or contrarian take — not a label",
16
+ evaluationHint: "Check if the opening is a specific, engaging claim. FAIL if it's generic or just a topic label.",
17
+ },
18
+ {
19
+ name: "noWallOfText",
20
+ description: "No more than 3 consecutive structured blocks (bullet lists, headers). Break with a 1-sentence human observation.",
21
+ evaluationHint: "Count consecutive structured blocks. FAIL if more than 3 in a row without a conversational break.",
22
+ },
23
+ {
24
+ name: "hasQuestion",
25
+ description: "Must contain at least one genuine question to the audience (not rhetorical). Questions drive comments.",
26
+ evaluationHint: "Look for a real question mark that invites a response. FAIL if no genuine question found.",
27
+ },
28
+ {
29
+ name: "noGenericHashtags",
30
+ description: "Must NOT use #AI, #TechIntelligence, #DailyBrief alone — use specific hashtags tied to the content.",
31
+ evaluationHint: "Check hashtags. FAIL if they are generic catch-alls. PASS if specific to the content topic.",
32
+ },
33
+ {
34
+ name: "underCharLimit",
35
+ description: "Max 1500 chars for org page daily posts. Shorter posts get higher engagement.",
36
+ evaluationHint: "Count characters. FAIL if over 1500.",
37
+ },
38
+ {
39
+ name: "hasOpinion",
40
+ description: 'Must contain at least one first-person interpretive statement ("This signals...", "Watch for...").',
41
+ evaluationHint: "Look for first-person analysis or interpretation. FAIL if purely informational with no opinion.",
42
+ },
43
+ ],
44
+ code_review: [
45
+ {
46
+ name: "compiles_clean",
47
+ description: "TypeScript compiles with zero errors (tsc --noEmit)",
48
+ evaluationHint: "Run tsc --noEmit. FAIL if any errors.",
49
+ },
50
+ {
51
+ name: "no_lint_warnings",
52
+ description: "Linter passes with zero warnings",
53
+ evaluationHint: "Run the project linter. FAIL if any warnings or errors.",
54
+ },
55
+ {
56
+ name: "tests_pass",
57
+ description: "All existing test suites pass",
58
+ evaluationHint: "Run test suite. FAIL if any test fails.",
59
+ },
60
+ {
61
+ name: "no_hardcoded_secrets",
62
+ description: "No API keys, tokens, or passwords in code",
63
+ evaluationHint: "Search for patterns like API_KEY=, token=, password=, hardcoded URLs with credentials. FAIL if found.",
64
+ },
65
+ {
66
+ name: "error_handling_present",
67
+ description: "Error paths are handled, not swallowed silently",
68
+ evaluationHint: "Check try/catch blocks and promise chains. FAIL if errors are caught but ignored.",
69
+ },
70
+ {
71
+ name: "follows_existing_patterns",
72
+ description: "New code follows the same patterns as surrounding code",
73
+ evaluationHint: "Compare with adjacent files. FAIL if new abstractions or patterns diverge from established conventions.",
74
+ },
75
+ {
76
+ name: "has_regression_test",
77
+ description: "Every bug fix ships with a test that would have caught it",
78
+ evaluationHint: "Check if a test exists for the specific fix. FAIL if no test covers the fixed behavior.",
79
+ },
80
+ ],
81
+ ui_ux_qa: [
82
+ {
83
+ name: "component_renders",
84
+ description: "Changed/new components render without errors in tests and browser",
85
+ evaluationHint: "Run `npm run test:run` for component tests or check browser console for React errors. FAIL if render errors.",
86
+ },
87
+ {
88
+ name: "responsive_check",
89
+ description: "UI works at mobile (375px), tablet (768px), and desktop (1280px) breakpoints",
90
+ evaluationHint: "Resize viewport or check media queries in changed components. FAIL if layout breaks at any breakpoint.",
91
+ },
92
+ {
93
+ name: "keyboard_navigable",
94
+ description: "All interactive elements reachable via Tab, activated via Enter/Space",
95
+ evaluationHint: "Tab through the changed UI. FAIL if any button, link, or input is unreachable by keyboard.",
96
+ },
97
+ {
98
+ name: "aria_labels_present",
99
+ description: "Interactive elements have accessible names (aria-label, aria-labelledby, or visible text)",
100
+ evaluationHint: "Check changed components for buttons/inputs without accessible names. FAIL if any interactive element is unlabeled.",
101
+ },
102
+ {
103
+ name: "loading_states_handled",
104
+ description: "Async operations show loading indicator, error state, and empty state",
105
+ evaluationHint: "Trigger the async operation. FAIL if no loading spinner, no error boundary, or no empty state message.",
106
+ },
107
+ {
108
+ name: "no_console_errors",
109
+ description: "Browser console has zero errors/warnings from changed code",
110
+ evaluationHint: "Open browser devtools console while using the feature. FAIL if errors or warnings from changed files.",
111
+ },
112
+ {
113
+ name: "visual_consistency",
114
+ description: "Fonts, colors, spacing match existing design system and adjacent components",
115
+ evaluationHint: "Compare changed UI against adjacent components. FAIL if inconsistent typography, color, or spacing.",
116
+ },
117
+ {
118
+ name: "storybook_story_exists",
119
+ description: "New/changed components have a Storybook story for documentation and visual testing",
120
+ evaluationHint: "Check if a .stories.tsx file exists for the component. FAIL if new component has no story.",
121
+ },
122
+ ],
123
+ deploy_readiness: [
124
+ {
125
+ name: "all_tests_green",
126
+ description: "Full test suite passes (static + unit + integration + e2e)",
127
+ evaluationHint: "Run complete test suite. FAIL if any test fails.",
128
+ },
129
+ {
130
+ name: "no_critical_gaps",
131
+ description: "No CRITICAL or HIGH gaps remain open",
132
+ evaluationHint: "Check gap list. FAIL if any CRITICAL or HIGH severity gaps are still open.",
133
+ },
134
+ {
135
+ name: "eval_scores_improved",
136
+ description: "Eval scores are equal to or better than baseline (use compare_eval_runs)",
137
+ evaluationHint: "Compare latest eval run against baseline. FAIL if scores regressed.",
138
+ },
139
+ {
140
+ name: "learnings_documented",
141
+ description: "Edge cases and gotchas from this work are recorded as learnings",
142
+ evaluationHint: "Check if record_learning was called for discoveries during this cycle. FAIL if no learnings recorded.",
143
+ },
144
+ {
145
+ name: "no_todo_comments",
146
+ description: "No TODO or FIXME comments left in changed files",
147
+ evaluationHint: "Search changed files for TODO/FIXME/HACK comments. FAIL if any remain.",
148
+ },
149
+ ],
150
+ };
151
+ export const qualityGateTools = [
152
+ {
153
+ name: "run_quality_gate",
154
+ description: "Evaluate content or code against a set of boolean rules. Returns pass/fail with specific failures listed. The agent evaluates each rule and passes boolean results — the tool persists and aggregates.",
155
+ inputSchema: {
156
+ type: "object",
157
+ properties: {
158
+ gateName: {
159
+ type: "string",
160
+ description: "Name for this gate (e.g. 'engagement', 'code_review', 'deploy_readiness', or custom)",
161
+ },
162
+ target: {
163
+ type: "string",
164
+ description: "What is being checked (content text, file path, PR description)",
165
+ },
166
+ rules: {
167
+ type: "array",
168
+ description: "Boolean rules with evaluation results",
169
+ items: {
170
+ type: "object",
171
+ properties: {
172
+ name: { type: "string", description: "Rule name" },
173
+ passed: {
174
+ type: "boolean",
175
+ description: "Did this rule pass?",
176
+ },
177
+ },
178
+ required: ["name", "passed"],
179
+ },
180
+ },
181
+ },
182
+ required: ["gateName", "rules"],
183
+ },
184
+ handler: async (args) => {
185
+ const { gateName, target, rules } = args;
186
+ if (!rules || rules.length === 0)
187
+ throw new Error("At least one rule is required");
188
+ const db = getDb();
189
+ const gateRunId = genId("gate");
190
+ const ruleResults = {};
191
+ const failures = [];
192
+ let passedCount = 0;
193
+ for (const rule of rules) {
194
+ ruleResults[rule.name] = rule.passed;
195
+ if (rule.passed) {
196
+ passedCount++;
197
+ }
198
+ else {
199
+ failures.push(rule.name);
200
+ }
201
+ }
202
+ const totalRules = rules.length;
203
+ const score = totalRules > 0 ? passedCount / totalRules : 0;
204
+ const passed = failures.length === 0;
205
+ db.prepare("INSERT INTO quality_gate_runs (id, gate_name, target, passed, score, total_rules, failures, rule_results) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run(gateRunId, gateName, target ?? null, passed ? 1 : 0, score, totalRules, JSON.stringify(failures), JSON.stringify(ruleResults));
206
+ return {
207
+ gateRunId,
208
+ gateName,
209
+ passed,
210
+ score: Math.round(score * 100) / 100,
211
+ totalRules,
212
+ passedCount,
213
+ failures,
214
+ ruleResults,
215
+ };
216
+ },
217
+ },
218
+ {
219
+ name: "get_gate_preset",
220
+ description: "Get the rules for a built-in quality gate preset. Returns rule names, descriptions, and evaluation instructions so you can check each one. Presets: engagement (content quality), code_review (implementation quality), deploy_readiness (pre-deploy checklist), ui_ux_qa (frontend UI/UX verification).",
221
+ inputSchema: {
222
+ type: "object",
223
+ properties: {
224
+ preset: {
225
+ type: "string",
226
+ enum: ["engagement", "code_review", "deploy_readiness", "ui_ux_qa"],
227
+ description: "Which preset to retrieve",
228
+ },
229
+ },
230
+ required: ["preset"],
231
+ },
232
+ handler: async (args) => {
233
+ const preset = GATE_PRESETS[args.preset];
234
+ if (!preset)
235
+ throw new Error(`Unknown preset: ${args.preset}`);
236
+ return {
237
+ preset: args.preset,
238
+ ruleCount: preset.length,
239
+ rules: preset,
240
+ usage: `Evaluate each rule against your target, then call run_quality_gate with gateName="${args.preset}" and the boolean results.`,
241
+ };
242
+ },
243
+ },
244
+ {
245
+ name: "get_gate_history",
246
+ description: "Get the history of quality gate runs for a given gate name. Shows pass/fail trend over time.",
247
+ inputSchema: {
248
+ type: "object",
249
+ properties: {
250
+ gateName: { type: "string", description: "Gate name to look up" },
251
+ limit: {
252
+ type: "number",
253
+ description: "Max results (default 20)",
254
+ },
255
+ },
256
+ required: ["gateName"],
257
+ },
258
+ handler: async (args) => {
259
+ const db = getDb();
260
+ const limit = args.limit ?? 20;
261
+ const runs = db
262
+ .prepare("SELECT * FROM quality_gate_runs WHERE gate_name = ? ORDER BY created_at DESC LIMIT ?")
263
+ .all(args.gateName, limit);
264
+ const totalRuns = runs.length;
265
+ const passedRuns = runs.filter((r) => r.passed === 1).length;
266
+ return {
267
+ gateName: args.gateName,
268
+ runs: runs.map((r) => ({
269
+ gateRunId: r.id,
270
+ passed: r.passed === 1,
271
+ score: r.score,
272
+ failures: r.failures ? JSON.parse(r.failures) : [],
273
+ createdAt: r.created_at,
274
+ })),
275
+ trend: {
276
+ totalRuns,
277
+ passRate: totalRuns > 0
278
+ ? Math.round((passedRuns / totalRuns) * 100) / 100
279
+ : 0,
280
+ },
281
+ };
282
+ },
283
+ },
284
+ {
285
+ name: "run_closed_loop",
286
+ description: "Track a compile-lint-test-debug closed loop iteration. Record the result of each step. Never present changes without a full green loop.",
287
+ inputSchema: {
288
+ type: "object",
289
+ properties: {
290
+ cycleId: {
291
+ type: "string",
292
+ description: "Optional: link to a verification cycle",
293
+ },
294
+ steps: {
295
+ type: "array",
296
+ items: {
297
+ type: "object",
298
+ properties: {
299
+ step: {
300
+ type: "string",
301
+ enum: ["compile", "lint", "test", "self_debug"],
302
+ },
303
+ passed: { type: "boolean" },
304
+ output: { type: "string" },
305
+ },
306
+ required: ["step", "passed"],
307
+ },
308
+ },
309
+ },
310
+ required: ["steps"],
311
+ },
312
+ handler: async (args) => {
313
+ const { steps, cycleId } = args;
314
+ if (!steps || steps.length === 0)
315
+ throw new Error("At least one step is required");
316
+ const db = getDb();
317
+ const gateRunId = genId("gate");
318
+ const ruleResults = {};
319
+ const failures = [];
320
+ let firstFailure = null;
321
+ for (const s of steps) {
322
+ ruleResults[s.step] = s.passed;
323
+ if (!s.passed) {
324
+ failures.push(s.step);
325
+ if (!firstFailure)
326
+ firstFailure = s.step;
327
+ }
328
+ }
329
+ const allPassed = failures.length === 0;
330
+ const score = steps.length > 0
331
+ ? steps.filter((s) => s.passed).length / steps.length
332
+ : 0;
333
+ db.prepare("INSERT INTO quality_gate_runs (id, gate_name, target, passed, score, total_rules, failures, rule_results) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run(gateRunId, "closed_loop", cycleId ?? null, allPassed ? 1 : 0, score, steps.length, JSON.stringify(failures), JSON.stringify(ruleResults));
334
+ const guidance = allPassed
335
+ ? "Full green loop achieved. Changes are ready to present."
336
+ : `Fix the '${firstFailure}' failure, then re-run from that step. Do not proceed until green.`;
337
+ return {
338
+ gateRunId,
339
+ allPassed,
340
+ firstFailure,
341
+ score: Math.round(score * 100) / 100,
342
+ guidance,
343
+ };
344
+ },
345
+ },
346
+ ];
347
+ //# sourceMappingURL=qualityGateTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qualityGateTools.js","sourceRoot":"","sources":["../../src/tools/qualityGateTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Reconnaissance tools — structured research and context gathering.
3
+ * Phase 1 of verification requires checking latest SDKs, APIs, docs,
4
+ * AND understanding the existing codebase/project context.
5
+ * These tools structure that research as a trackable process.
6
+ */
7
+ import type { McpTool } from "../types.js";
8
+ export declare const reconTools: McpTool[];