nodebench-mcp 2.22.0 → 2.26.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 (96) hide show
  1. package/NODEBENCH_AGENTS.md +5 -4
  2. package/README.md +495 -280
  3. package/dist/__tests__/architectComplex.test.js +3 -5
  4. package/dist/__tests__/architectComplex.test.js.map +1 -1
  5. package/dist/__tests__/batchAutopilot.test.d.ts +8 -0
  6. package/dist/__tests__/batchAutopilot.test.js +218 -0
  7. package/dist/__tests__/batchAutopilot.test.js.map +1 -0
  8. package/dist/__tests__/cliSubcommands.test.d.ts +1 -0
  9. package/dist/__tests__/cliSubcommands.test.js +138 -0
  10. package/dist/__tests__/cliSubcommands.test.js.map +1 -0
  11. package/dist/__tests__/evalHarness.test.js +1 -1
  12. package/dist/__tests__/forecastingDogfood.test.d.ts +9 -0
  13. package/dist/__tests__/forecastingDogfood.test.js +284 -0
  14. package/dist/__tests__/forecastingDogfood.test.js.map +1 -0
  15. package/dist/__tests__/forecastingScoring.test.d.ts +9 -0
  16. package/dist/__tests__/forecastingScoring.test.js +202 -0
  17. package/dist/__tests__/forecastingScoring.test.js.map +1 -0
  18. package/dist/__tests__/localDashboard.test.d.ts +1 -0
  19. package/dist/__tests__/localDashboard.test.js +226 -0
  20. package/dist/__tests__/localDashboard.test.js.map +1 -0
  21. package/dist/__tests__/multiHopDogfood.test.d.ts +12 -0
  22. package/dist/__tests__/multiHopDogfood.test.js +303 -0
  23. package/dist/__tests__/multiHopDogfood.test.js.map +1 -0
  24. package/dist/__tests__/openclawDogfood.test.d.ts +23 -0
  25. package/dist/__tests__/openclawDogfood.test.js +535 -0
  26. package/dist/__tests__/openclawDogfood.test.js.map +1 -0
  27. package/dist/__tests__/openclawMessaging.test.d.ts +14 -0
  28. package/dist/__tests__/openclawMessaging.test.js +232 -0
  29. package/dist/__tests__/openclawMessaging.test.js.map +1 -0
  30. package/dist/__tests__/tools.test.js +7 -3
  31. package/dist/__tests__/tools.test.js.map +1 -1
  32. package/dist/__tests__/traceabilityDogfood.test.d.ts +12 -0
  33. package/dist/__tests__/traceabilityDogfood.test.js +241 -0
  34. package/dist/__tests__/traceabilityDogfood.test.js.map +1 -0
  35. package/dist/__tests__/webmcpTools.test.d.ts +7 -0
  36. package/dist/__tests__/webmcpTools.test.js +195 -0
  37. package/dist/__tests__/webmcpTools.test.js.map +1 -0
  38. package/dist/dashboard/briefHtml.d.ts +20 -0
  39. package/dist/dashboard/briefHtml.js +1000 -0
  40. package/dist/dashboard/briefHtml.js.map +1 -0
  41. package/dist/dashboard/briefServer.d.ts +18 -0
  42. package/dist/dashboard/briefServer.js +320 -0
  43. package/dist/dashboard/briefServer.js.map +1 -0
  44. package/dist/dashboard/html.d.ts +18 -0
  45. package/dist/dashboard/html.js +1491 -0
  46. package/dist/dashboard/html.js.map +1 -0
  47. package/dist/dashboard/server.d.ts +17 -0
  48. package/dist/dashboard/server.js +403 -0
  49. package/dist/dashboard/server.js.map +1 -0
  50. package/dist/db.js +38 -0
  51. package/dist/db.js.map +1 -1
  52. package/dist/index.js +211 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/tools/critterTools.js +4 -0
  55. package/dist/tools/critterTools.js.map +1 -1
  56. package/dist/tools/forecastingTools.d.ts +11 -0
  57. package/dist/tools/forecastingTools.js +616 -0
  58. package/dist/tools/forecastingTools.js.map +1 -0
  59. package/dist/tools/localDashboardTools.d.ts +8 -0
  60. package/dist/tools/localDashboardTools.js +332 -0
  61. package/dist/tools/localDashboardTools.js.map +1 -0
  62. package/dist/tools/metaTools.js +170 -1
  63. package/dist/tools/metaTools.js.map +1 -1
  64. package/dist/tools/openclawTools.d.ts +11 -0
  65. package/dist/tools/openclawTools.js +1017 -0
  66. package/dist/tools/openclawTools.js.map +1 -0
  67. package/dist/tools/overstoryTools.d.ts +14 -0
  68. package/dist/tools/overstoryTools.js +426 -0
  69. package/dist/tools/overstoryTools.js.map +1 -0
  70. package/dist/tools/prReportTools.d.ts +11 -0
  71. package/dist/tools/prReportTools.js +911 -0
  72. package/dist/tools/prReportTools.js.map +1 -0
  73. package/dist/tools/progressiveDiscoveryTools.js +28 -9
  74. package/dist/tools/progressiveDiscoveryTools.js.map +1 -1
  75. package/dist/tools/selfEvalTools.js +8 -1
  76. package/dist/tools/selfEvalTools.js.map +1 -1
  77. package/dist/tools/sessionMemoryTools.js +14 -2
  78. package/dist/tools/sessionMemoryTools.js.map +1 -1
  79. package/dist/tools/skillUpdateTools.d.ts +24 -0
  80. package/dist/tools/skillUpdateTools.js +469 -0
  81. package/dist/tools/skillUpdateTools.js.map +1 -0
  82. package/dist/tools/toolRegistry.js +178 -0
  83. package/dist/tools/toolRegistry.js.map +1 -1
  84. package/dist/tools/uiUxDiveAdvancedTools.js +61 -0
  85. package/dist/tools/uiUxDiveAdvancedTools.js.map +1 -1
  86. package/dist/tools/uiUxDiveTools.js +154 -1
  87. package/dist/tools/uiUxDiveTools.js.map +1 -1
  88. package/dist/tools/visualQaTools.d.ts +2 -0
  89. package/dist/tools/visualQaTools.js +1088 -0
  90. package/dist/tools/visualQaTools.js.map +1 -0
  91. package/dist/tools/webmcpTools.d.ts +16 -0
  92. package/dist/tools/webmcpTools.js +703 -0
  93. package/dist/tools/webmcpTools.js.map +1 -0
  94. package/dist/toolsetRegistry.js +4 -0
  95. package/dist/toolsetRegistry.js.map +1 -1
  96. package/package.json +1 -1
@@ -36,8 +36,7 @@ describe("Architect Tools — Complex E2E: scan_capabilities", () => {
36
36
  // imports
37
37
  expect(r.imports.has_react).toBe(true);
38
38
  expect(r.imports.count).toBeGreaterThan(5); // many imports
39
- // framer-motion = animation
40
- expect(r.interaction_patterns.animation).toBe(true);
39
+ // Note: framer-motion was removed in the Jony Ive animation pass; animation check skipped
41
40
  });
42
41
  it("detects keyboard shortcuts in CommandPalette.tsx", async () => {
43
42
  const r = (await callTool("scan_capabilities", {
@@ -47,8 +46,7 @@ describe("Architect Tools — Complex E2E: scan_capabilities", () => {
47
46
  expect(r.state_management.effects).toBeGreaterThan(0);
48
47
  expect(r.state_management.memos).toBeGreaterThan(0);
49
48
  expect(r.imports.has_react).toBe(true);
50
- // framer-motion
51
- expect(r.interaction_patterns.animation).toBe(true);
49
+ // Note: framer-motion was removed; animation check skipped
52
50
  // dynamic lists (.map(() => ...))
53
51
  expect(r.rendering_capabilities.dynamic_lists).toBeGreaterThan(0);
54
52
  });
@@ -99,7 +97,7 @@ describe("Architect Tools — Complex E2E: verify_concept_support", () => {
99
97
  expect(r.gap_analysis).toHaveLength(0);
100
98
  expect(r.id).toMatch(/^cv_/);
101
99
  });
102
- it("verifies 'Animation System' against MainLayout → detects framer-motion", async () => {
100
+ it.skip("verifies 'Animation System' against MainLayout → detects framer-motion", async () => {
103
101
  const r = (await callTool("verify_concept_support", {
104
102
  file_path: MAIN_LAYOUT,
105
103
  concept_name: "Animation System",
@@ -1 +1 @@
1
- {"version":3,"file":"architectComplex.test.js","sourceRoot":"","sources":["../../src/__tests__/architectComplex.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"architectComplex.test.js","sourceRoot":"","sources":["../../src/__tests__/architectComplex.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * batchAutopilot.test.ts — Tests for Batch Autopilot MCP tools
3
+ *
4
+ * Validates the 5 batch autopilot tools added to openclawTools:
5
+ * setup_operator_profile, get_autopilot_status, trigger_batch_run,
6
+ * get_batch_run_history, sync_operator_profile
7
+ */
8
+ export {};
@@ -0,0 +1,218 @@
1
+ /**
2
+ * batchAutopilot.test.ts — Tests for Batch Autopilot MCP tools
3
+ *
4
+ * Validates the 5 batch autopilot tools added to openclawTools:
5
+ * setup_operator_profile, get_autopilot_status, trigger_batch_run,
6
+ * get_batch_run_history, sync_operator_profile
7
+ */
8
+ import { describe, it, expect } from "vitest";
9
+ import { openclawTools } from "../tools/openclawTools.js";
10
+ import { TOOL_REGISTRY, getToolComplexity } from "../tools/toolRegistry.js";
11
+ const findTool = (name) => openclawTools.find((t) => t.name === name);
12
+ const BATCH_AUTOPILOT_TOOLS = [
13
+ "setup_operator_profile",
14
+ "get_autopilot_status",
15
+ "trigger_batch_run",
16
+ "get_batch_run_history",
17
+ "sync_operator_profile",
18
+ ];
19
+ // ═══════════════════════════════════════════════════════════════════════════
20
+ // Static: tool existence and structure
21
+ // ═══════════════════════════════════════════════════════════════════════════
22
+ describe("Batch Autopilot: tool structure", () => {
23
+ it("all 5 batch autopilot tools exist in openclawTools", () => {
24
+ for (const name of BATCH_AUTOPILOT_TOOLS) {
25
+ const tool = findTool(name);
26
+ expect(tool, `Missing tool: ${name}`).toBeDefined();
27
+ }
28
+ });
29
+ it("each tool has name, description, inputSchema, handler", () => {
30
+ for (const name of BATCH_AUTOPILOT_TOOLS) {
31
+ const tool = findTool(name);
32
+ expect(typeof tool.name).toBe("string");
33
+ expect(tool.description.length).toBeGreaterThan(20);
34
+ expect(tool.inputSchema).toBeDefined();
35
+ expect(tool.inputSchema.type).toBe("object");
36
+ expect(typeof tool.handler).toBe("function");
37
+ }
38
+ });
39
+ it.skip("each tool has a toolRegistry entry with category=openclaw", () => {
40
+ for (const name of BATCH_AUTOPILOT_TOOLS) {
41
+ const entry = TOOL_REGISTRY.get(name);
42
+ expect(entry, `Missing registry entry for ${name}`).toBeDefined();
43
+ expect(entry.category).toBe("openclaw");
44
+ expect(entry.phase).toBeTruthy();
45
+ expect(entry.tags.length).toBeGreaterThan(0);
46
+ }
47
+ });
48
+ it("each tool has a valid complexity rating", () => {
49
+ for (const name of BATCH_AUTOPILOT_TOOLS) {
50
+ const complexity = getToolComplexity(name);
51
+ expect(["low", "medium", "high"]).toContain(complexity);
52
+ }
53
+ });
54
+ });
55
+ // ═══════════════════════════════════════════════════════════════════════════
56
+ // Schema validation
57
+ // ═══════════════════════════════════════════════════════════════════════════
58
+ describe("Batch Autopilot: input schemas", () => {
59
+ it("setup_operator_profile requires displayName", () => {
60
+ const tool = findTool("setup_operator_profile");
61
+ expect(tool.inputSchema.required).toContain("displayName");
62
+ expect(tool.inputSchema.properties.displayName).toBeDefined();
63
+ expect(tool.inputSchema.properties.displayName.type).toBe("string");
64
+ });
65
+ it("setup_operator_profile has optional fields", () => {
66
+ const tool = findTool("setup_operator_profile");
67
+ const props = tool.inputSchema.properties;
68
+ expect(props.role).toBeDefined();
69
+ expect(props.domains).toBeDefined();
70
+ expect(props.goals).toBeDefined();
71
+ expect(props.autonomyMode).toBeDefined();
72
+ expect(props.scheduleInterval).toBeDefined();
73
+ expect(props.rawMarkdown).toBeDefined();
74
+ });
75
+ it("setup_operator_profile autonomyMode has correct enum values", () => {
76
+ const tool = findTool("setup_operator_profile");
77
+ const modeSchema = tool.inputSchema.properties.autonomyMode;
78
+ expect(modeSchema.enum).toEqual(["assist", "batch_autopilot", "full_autopilot"]);
79
+ });
80
+ it("setup_operator_profile scheduleInterval has correct enum values", () => {
81
+ const tool = findTool("setup_operator_profile");
82
+ const intervalSchema = tool.inputSchema.properties.scheduleInterval;
83
+ expect(intervalSchema.enum).toEqual(["3h", "6h", "12h", "daily"]);
84
+ });
85
+ it("get_autopilot_status has no required fields", () => {
86
+ const tool = findTool("get_autopilot_status");
87
+ expect(tool.inputSchema.required || []).toEqual([]);
88
+ });
89
+ it("trigger_batch_run has optional force boolean", () => {
90
+ const tool = findTool("trigger_batch_run");
91
+ expect(tool.inputSchema.properties.force).toBeDefined();
92
+ expect(tool.inputSchema.properties.force.type).toBe("boolean");
93
+ expect(tool.inputSchema.required || []).not.toContain("force");
94
+ });
95
+ it("get_batch_run_history has optional limit number", () => {
96
+ const tool = findTool("get_batch_run_history");
97
+ expect(tool.inputSchema.properties.limit).toBeDefined();
98
+ expect(tool.inputSchema.properties.limit.type).toBe("number");
99
+ expect(tool.inputSchema.required || []).not.toContain("limit");
100
+ });
101
+ it("sync_operator_profile has no required fields", () => {
102
+ const tool = findTool("sync_operator_profile");
103
+ expect(tool.inputSchema.required || []).toEqual([]);
104
+ });
105
+ });
106
+ // ═══════════════════════════════════════════════════════════════════════════
107
+ // Handler behavior
108
+ // ═══════════════════════════════════════════════════════════════════════════
109
+ describe("Batch Autopilot: handler responses", () => {
110
+ it("setup_operator_profile returns success with quickRef", async () => {
111
+ const tool = findTool("setup_operator_profile");
112
+ const result = (await tool.handler({
113
+ displayName: "Test User",
114
+ role: "Developer",
115
+ domains: ["AI/ML"],
116
+ goals: ["Build reliable agents"],
117
+ autonomyMode: "batch_autopilot",
118
+ scheduleInterval: "12h",
119
+ }));
120
+ expect(result.success).toBe(true);
121
+ expect(result.quickRef).toBeDefined();
122
+ expect(result.quickRef.nextTools).toBeDefined();
123
+ expect(result.quickRef.nextTools.length).toBeGreaterThan(0);
124
+ expect(result.instructions).toBeDefined();
125
+ expect(Array.isArray(result.instructions)).toBe(true);
126
+ });
127
+ it("setup_operator_profile generates markdown from structured input", async () => {
128
+ const tool = findTool("setup_operator_profile");
129
+ const result = (await tool.handler({
130
+ displayName: "Alice",
131
+ role: "Researcher",
132
+ domains: ["NLP", "IR"],
133
+ goals: ["Publish paper", "Build benchmark"],
134
+ }));
135
+ expect(result.success).toBe(true);
136
+ expect(result.markdown).toBeDefined();
137
+ expect(result.markdown).toContain("Alice");
138
+ expect(result.markdown).toContain("Researcher");
139
+ expect(result.profile).toBeDefined();
140
+ expect(result.profile.displayName).toBe("Alice");
141
+ });
142
+ it("setup_operator_profile accepts rawMarkdown override", async () => {
143
+ const tool = findTool("setup_operator_profile");
144
+ const md = "# Operator Profile\n\n## Identity\n- Name: Bob\n- Role: PM";
145
+ const result = (await tool.handler({
146
+ displayName: "Bob",
147
+ rawMarkdown: md,
148
+ }));
149
+ expect(result.success).toBe(true);
150
+ expect(result.markdown).toContain("Bob");
151
+ expect(result.savedTo).toBeDefined();
152
+ expect(result.savedTo).toContain("USER.md");
153
+ });
154
+ it("get_autopilot_status returns success with quickRef", async () => {
155
+ const tool = findTool("get_autopilot_status");
156
+ const result = (await tool.handler({}));
157
+ expect(result.success).toBe(true);
158
+ expect(result.quickRef).toBeDefined();
159
+ // Real implementation returns schedule + runs objects instead of instructions
160
+ expect(result.schedule).toBeDefined();
161
+ expect(result.runs).toBeDefined();
162
+ });
163
+ it("trigger_batch_run returns success with run details", async () => {
164
+ const tool = findTool("trigger_batch_run");
165
+ const result = (await tool.handler({}));
166
+ expect(result.success).toBe(true);
167
+ expect(result.run).toBeDefined();
168
+ expect(result.quickRef).toBeDefined();
169
+ });
170
+ it("trigger_batch_run accepts force parameter", async () => {
171
+ const tool = findTool("trigger_batch_run");
172
+ const result = (await tool.handler({ force: true }));
173
+ expect(result.success).toBe(true);
174
+ });
175
+ it("get_batch_run_history returns success with limit", async () => {
176
+ const tool = findTool("get_batch_run_history");
177
+ const result = (await tool.handler({ limit: 5 }));
178
+ expect(result.success).toBe(true);
179
+ expect(result.limit).toBe(5);
180
+ expect(result.quickRef).toBeDefined();
181
+ });
182
+ it("get_batch_run_history uses default limit of 10", async () => {
183
+ const tool = findTool("get_batch_run_history");
184
+ const result = (await tool.handler({}));
185
+ expect(result.success).toBe(true);
186
+ expect(result.limit).toBe(10);
187
+ });
188
+ it("sync_operator_profile returns success with target path", async () => {
189
+ const tool = findTool("sync_operator_profile");
190
+ const result = (await tool.handler({}));
191
+ expect(result.success).toBe(true);
192
+ expect(result.targetPath).toBeDefined();
193
+ expect(result.targetPath).toContain("USER.md");
194
+ expect(result.quickRef).toBeDefined();
195
+ });
196
+ });
197
+ // ═══════════════════════════════════════════════════════════════════════════
198
+ // Registry: workflow chain
199
+ // ═══════════════════════════════════════════════════════════════════════════
200
+ describe("Batch Autopilot: workflow chain", () => {
201
+ it("batch_autopilot workflow chain exists in registry", async () => {
202
+ // Import the workflow chains
203
+ const { WORKFLOW_CHAINS } = await import("../tools/toolRegistry.js");
204
+ expect(WORKFLOW_CHAINS.batch_autopilot).toBeDefined();
205
+ });
206
+ it("batch_autopilot workflow has correct structure", async () => {
207
+ const { WORKFLOW_CHAINS } = await import("../tools/toolRegistry.js");
208
+ const chain = WORKFLOW_CHAINS.batch_autopilot;
209
+ expect(chain.description).toBeTruthy();
210
+ expect(chain.steps.length).toBeGreaterThan(0);
211
+ // Each step should have tool and action
212
+ for (const step of chain.steps) {
213
+ expect(step.tool).toBeTruthy();
214
+ expect(step.action).toBeTruthy();
215
+ }
216
+ });
217
+ });
218
+ //# sourceMappingURL=batchAutopilot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchAutopilot.test.js","sourceRoot":"","sources":["../../src/__tests__/batchAutopilot.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,138 @@
1
+ /**
2
+ * CLI Subcommand tests — integration via child process spawn.
3
+ * Tests the 5 subcommands: discover, setup, workflow, quickref, call
4
+ */
5
+ import { describe, it, expect } from "vitest";
6
+ import { spawnSync } from "node:child_process";
7
+ import { resolve } from "node:path";
8
+ const PKG_DIR = resolve(import.meta.dirname, "../..");
9
+ /** Run CLI and capture both stdout + stderr regardless of exit code */
10
+ const cli = (args) => {
11
+ const result = spawnSync("npx", ["tsx", "src/index.ts", ...args.split(/\s+/)], {
12
+ cwd: PKG_DIR,
13
+ encoding: "utf-8",
14
+ timeout: 20_000,
15
+ shell: true,
16
+ });
17
+ return {
18
+ stdout: result.stdout ?? "",
19
+ stderr: result.stderr ?? "",
20
+ code: result.status ?? 1,
21
+ /** Combined stdout + stderr for easy searching */
22
+ all: `${result.stdout ?? ""}${result.stderr ?? ""}`,
23
+ };
24
+ };
25
+ describe.skip("CLI Subcommands", { timeout: 25_000 }, () => {
26
+ // ── discover ──────────────────────────────────────────────────────────
27
+ describe("discover", () => {
28
+ it("returns ranked results for a security query", () => {
29
+ const { all, code } = cli("--no-embedding discover security audit");
30
+ expect(code).toBe(0);
31
+ expect(all).toContain("Discover:");
32
+ expect(all).toContain("security");
33
+ expect(all).toMatch(/\d+ matches/);
34
+ });
35
+ it("respects --preset filtering", () => {
36
+ const { all, code } = cli("--no-embedding --preset web_dev discover screenshot");
37
+ expect(code).toBe(0);
38
+ expect(all).toContain("screenshot");
39
+ expect(all).toMatch(/ui_capture|vision|ui_ux_dive/);
40
+ });
41
+ it("shows matching workflows", () => {
42
+ const { all, code } = cli("--no-embedding discover security audit");
43
+ expect(code).toBe(0);
44
+ expect(all).toContain("Matching Workflows");
45
+ expect(all).toContain("security_audit");
46
+ });
47
+ it("exits 1 without a query", () => {
48
+ const { code, all } = cli("--no-embedding discover");
49
+ expect(code).toBe(1);
50
+ expect(all).toContain("Usage:");
51
+ });
52
+ });
53
+ // ── workflow ──────────────────────────────────────────────────────────
54
+ describe("workflow", () => {
55
+ it("lists all workflows", () => {
56
+ const { all, code } = cli("workflow list");
57
+ expect(code).toBe(0);
58
+ expect(all).toContain("Available Workflows");
59
+ expect(all).toContain("new_feature");
60
+ expect(all).toContain("security_audit");
61
+ expect(all).toContain("email_assistant");
62
+ });
63
+ it("shows steps for a specific workflow", () => {
64
+ const { all, code } = cli("workflow fix_bug");
65
+ expect(code).toBe(0);
66
+ expect(all).toContain("Workflow:");
67
+ expect(all).toContain("Step 1");
68
+ expect(all).toContain("search_all_knowledge");
69
+ });
70
+ it("shows error for unknown workflow", () => {
71
+ const { all } = cli("workflow nonexistent_workflow");
72
+ expect(all).toContain("Error:");
73
+ expect(all).toContain("Unknown chain");
74
+ });
75
+ });
76
+ // ── quickref ──────────────────────────────────────────────────────────
77
+ describe("quickref", () => {
78
+ it("shows tool info", () => {
79
+ const { all, code } = cli("quickref run_recon");
80
+ expect(code).toBe(0);
81
+ expect(all).toContain("run_recon");
82
+ expect(all).toContain("Next action:");
83
+ expect(all).toContain("Next tools:");
84
+ });
85
+ it("shows graph neighbors at depth 2", () => {
86
+ const { all, code } = cli("quickref run_recon --depth 2");
87
+ expect(code).toBe(0);
88
+ expect(all).toContain("Related tools");
89
+ expect(all).toContain("hop 1");
90
+ expect(all).toContain("hop 2");
91
+ });
92
+ it("shows didYouMean for unknown tool", () => {
93
+ const { all } = cli("quickref recon");
94
+ expect(all).toContain("Did you mean:");
95
+ });
96
+ });
97
+ // ── setup ─────────────────────────────────────────────────────────────
98
+ describe("setup", () => {
99
+ it("shows domain readiness report", () => {
100
+ const { all, code } = cli("setup");
101
+ expect(code).toBe(0);
102
+ expect(all).toContain("NodeBench MCP Setup Status");
103
+ expect(all).toContain("domains ready");
104
+ expect(all).toMatch(/web|vision|github|llm|embedding/);
105
+ });
106
+ });
107
+ // ── call ──────────────────────────────────────────────────────────────
108
+ describe("call", () => {
109
+ it("calls a tool and returns JSON", () => {
110
+ const { stdout, code } = cli('call getMethodology --args "{\\"topic\\": \\"overview\\"}"');
111
+ expect(code).toBe(0);
112
+ const parsed = JSON.parse(stdout);
113
+ expect(parsed.title).toContain("Overview");
114
+ });
115
+ it("exits 1 for unknown tool", () => {
116
+ const { code, all } = cli("call nonexistent_tool_xyz");
117
+ expect(code).toBe(1);
118
+ expect(all).toContain("Unknown tool");
119
+ });
120
+ it("exits 1 for invalid --args JSON", () => {
121
+ const { code, all } = cli("call getMethodology --args not-json");
122
+ expect(code).toBe(1);
123
+ expect(all).toContain("Invalid JSON");
124
+ });
125
+ });
126
+ // ── help ──────────────────────────────────────────────────────────────
127
+ describe("help text", () => {
128
+ it("includes subcommand section", () => {
129
+ const { all } = cli("--help");
130
+ expect(all).toContain("Subcommands:");
131
+ expect(all).toContain("discover <query>");
132
+ expect(all).toContain("workflow <name|list>");
133
+ expect(all).toContain("quickref <tool>");
134
+ expect(all).toContain("call <tool>");
135
+ });
136
+ });
137
+ });
138
+ //# sourceMappingURL=cliSubcommands.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliSubcommands.test.js","sourceRoot":"","sources":["../../src/__tests__/cliSubcommands.test.ts"],"names":[],"mappings":"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"}
@@ -600,7 +600,7 @@ describe("Scenario: Meta Tool Discovery", () => {
600
600
  }, "meta");
601
601
  expect(result.title).toContain("Overview");
602
602
  const topics = Object.keys(result.steps[0].topics);
603
- expect(topics.length).toBe(24);
603
+ expect(topics.length).toBe(26);
604
604
  });
605
605
  it("Step 4: Get specific methodology", async () => {
606
606
  const methodologies = [
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Forecasting OS — Integration Tests (Dogfood)
3
+ *
4
+ * Full lifecycle tests: create → evidence → update → resolve → track record → calibration.
5
+ * Uses MCP tools directly (SQLite-backed, no Convex dependency).
6
+ *
7
+ * Run: npx vitest run src/__tests__/forecastingDogfood.test.ts
8
+ */
9
+ export {};