@jigyasudham/veto 2.0.2 → 2.1.1
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 +391 -320
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +3 -1
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/llm-runner.d.ts.map +1 -1
- package/dist/agents/llm-runner.js +62 -58
- package/dist/agents/llm-runner.js.map +1 -1
- package/dist/cli.js +148 -4
- package/dist/cli.js.map +1 -1
- package/dist/log.d.ts +9 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +33 -0
- package/dist/log.js.map +1 -0
- package/dist/memory/config.d.ts +1 -0
- package/dist/memory/config.d.ts.map +1 -1
- package/dist/memory/config.js +3 -2
- package/dist/memory/config.js.map +1 -1
- package/dist/memory/local.d.ts.map +1 -1
- package/dist/memory/local.js +3 -1
- package/dist/memory/local.js.map +1 -1
- package/dist/memory/schema.d.ts +1 -1
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +1 -0
- package/dist/memory/schema.js.map +1 -1
- package/dist/router/learning-updater.d.ts +4 -1
- package/dist/router/learning-updater.d.ts.map +1 -1
- package/dist/router/learning-updater.js +10 -0
- package/dist/router/learning-updater.js.map +1 -1
- package/dist/server/handlers/advisors.d.ts +3 -0
- package/dist/server/handlers/advisors.d.ts.map +1 -0
- package/dist/server/handlers/advisors.js +331 -0
- package/dist/server/handlers/advisors.js.map +1 -0
- package/dist/server/handlers/agents.d.ts +3 -0
- package/dist/server/handlers/agents.d.ts.map +1 -0
- package/dist/server/handlers/agents.js +202 -0
- package/dist/server/handlers/agents.js.map +1 -0
- package/dist/server/handlers/core.d.ts +3 -0
- package/dist/server/handlers/core.d.ts.map +1 -0
- package/dist/server/handlers/core.js +169 -0
- package/dist/server/handlers/core.js.map +1 -0
- package/dist/server/handlers/council.d.ts +3 -0
- package/dist/server/handlers/council.d.ts.map +1 -0
- package/dist/server/handlers/council.js +277 -0
- package/dist/server/handlers/council.js.map +1 -0
- package/dist/server/handlers/devtools.d.ts +3 -0
- package/dist/server/handlers/devtools.d.ts.map +1 -0
- package/dist/server/handlers/devtools.js +41 -0
- package/dist/server/handlers/devtools.js.map +1 -0
- package/dist/server/handlers/generators.d.ts +3 -0
- package/dist/server/handlers/generators.d.ts.map +1 -0
- package/dist/server/handlers/generators.js +541 -0
- package/dist/server/handlers/generators.js.map +1 -0
- package/dist/server/handlers/git.d.ts +3 -0
- package/dist/server/handlers/git.d.ts.map +1 -0
- package/dist/server/handlers/git.js +225 -0
- package/dist/server/handlers/git.js.map +1 -0
- package/dist/server/handlers/learning.d.ts +3 -0
- package/dist/server/handlers/learning.d.ts.map +1 -0
- package/dist/server/handlers/learning.js +60 -0
- package/dist/server/handlers/learning.js.map +1 -0
- package/dist/server/handlers/memory.d.ts +3 -0
- package/dist/server/handlers/memory.d.ts.map +1 -0
- package/dist/server/handlers/memory.js +181 -0
- package/dist/server/handlers/memory.js.map +1 -0
- package/dist/server/handlers/observability.d.ts +3 -0
- package/dist/server/handlers/observability.d.ts.map +1 -0
- package/dist/server/handlers/observability.js +132 -0
- package/dist/server/handlers/observability.js.map +1 -0
- package/dist/server/handlers/review.d.ts +3 -0
- package/dist/server/handlers/review.d.ts.map +1 -0
- package/dist/server/handlers/review.js +334 -0
- package/dist/server/handlers/review.js.map +1 -0
- package/dist/server/handlers/session.d.ts +3 -0
- package/dist/server/handlers/session.d.ts.map +1 -0
- package/dist/server/handlers/session.js +272 -0
- package/dist/server/handlers/session.js.map +1 -0
- package/dist/server/handlers/watch.d.ts +3 -0
- package/dist/server/handlers/watch.d.ts.map +1 -0
- package/dist/server/handlers/watch.js +29 -0
- package/dist/server/handlers/watch.js.map +1 -0
- package/dist/server/handlers/workers.d.ts +3 -0
- package/dist/server/handlers/workers.d.ts.map +1 -0
- package/dist/server/handlers/workers.js +27 -0
- package/dist/server/handlers/workers.js.map +1 -0
- package/dist/server/registry.d.ts +11 -0
- package/dist/server/registry.d.ts.map +1 -0
- package/dist/server/registry.js +9 -0
- package/dist/server/registry.js.map +1 -0
- package/dist/server/runtime.d.ts +49 -0
- package/dist/server/runtime.d.ts.map +1 -0
- package/dist/server/runtime.js +81 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/scan-core.d.ts +32 -0
- package/dist/server/scan-core.d.ts.map +1 -0
- package/dist/server/scan-core.js +82 -0
- package/dist/server/scan-core.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +64 -2946
- package/dist/server.js.map +1 -1
- package/dist/tools/definitions.d.ts +4 -4
- package/dist/tools/definitions.js +4 -4
- package/dist/tools/definitions.js.map +1 -1
- package/package.json +2 -2
- package/AGENTS.md +0 -134
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAA0D,MAAM,YAAY,CAAC;AAI5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAA0D,MAAM,YAAY,CAAC;AAI5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQxE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAElD;AA+JD,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CA4EtE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAEhF"}
|
package/dist/agents/executor.js
CHANGED
|
@@ -2,6 +2,7 @@ import { validateAgentPlan, validateAgentAnalysis } from './validate.js';
|
|
|
2
2
|
import { buildContextString } from '../context/reader.js';
|
|
3
3
|
import { getPlugin } from '../plugins/loader.js';
|
|
4
4
|
import { runAgentLlm, buildAgenticAgentPrompt } from './llm-runner.js';
|
|
5
|
+
import { log, errMsg } from '../log.js';
|
|
5
6
|
// Set once at server startup — enables LLM-backed execution for all agents.
|
|
6
7
|
// When null, all agents run deterministically (always available, zero tokens).
|
|
7
8
|
let _server;
|
|
@@ -218,12 +219,13 @@ export async function executeOne(task) {
|
|
|
218
219
|
}
|
|
219
220
|
}
|
|
220
221
|
catch (err) {
|
|
222
|
+
log.warn('agent execution failed', { agent: task.agent, task_id: task.id, error: errMsg(err) });
|
|
221
223
|
return {
|
|
222
224
|
id: task.id,
|
|
223
225
|
agent: task.agent,
|
|
224
226
|
output: { confidence: 0, severity: 'info', recommendation: '', affected_files: [], line_refs: [] },
|
|
225
227
|
duration_ms: Date.now() - start,
|
|
226
|
-
error:
|
|
228
|
+
error: errMsg(err),
|
|
227
229
|
};
|
|
228
230
|
}
|
|
229
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-runner.d.ts","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-runner.d.ts","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAyEjH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBrG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI,CAsB/F;AAUD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,CAAC,CA0ChE;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAkBvG;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,WAAW,EAAE,CA8Cf"}
|
|
@@ -3,68 +3,69 @@
|
|
|
3
3
|
// Falls back to the deterministic agent silently if sampling is unavailable.
|
|
4
4
|
import { getManifestEntry } from './manifest.js';
|
|
5
5
|
import { validateAgentPlan, validateAgentAnalysis } from './validate.js';
|
|
6
|
+
import { log, errMsg } from '../log.js';
|
|
6
7
|
// ─── System prompt builders ───────────────────────────────────────────────────
|
|
7
8
|
function buildPlanPrompt(agent, role) {
|
|
8
|
-
return `You are the ${agent} specialist in an AI-assisted software engineering system.
|
|
9
|
-
|
|
10
|
-
ROLE: ${role}
|
|
11
|
-
|
|
12
|
-
Your job: given a task description and optional code/context, produce a concrete implementation plan.
|
|
13
|
-
|
|
14
|
-
Return ONLY valid JSON (no markdown, no prose):
|
|
15
|
-
{
|
|
16
|
-
"agent": "${agent}",
|
|
17
|
-
"task": "<task echoed back>",
|
|
18
|
-
"tier": 1|2|3,
|
|
19
|
-
"approach": "<2-3 sentence strategy — the WHY and HOW, not step list>",
|
|
20
|
-
"steps": ["<ordered action step>", ...],
|
|
21
|
-
"checklist": ["[ ] <verification item>", ...],
|
|
22
|
-
"pitfalls": ["<gotcha or common mistake>", ...],
|
|
23
|
-
"patterns": ["<design pattern or principle to apply>", ...],
|
|
24
|
-
"duration_estimate": "<e.g. 1-2 hours>"
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
Rules:
|
|
28
|
-
- tier: 1 = simple (<1h), 2 = medium (1-4h), 3 = complex (>4h)
|
|
29
|
-
- steps: 6-12 concrete, ordered actions
|
|
30
|
-
- checklist: 6-10 testable done-criteria prefixed with "[ ] "
|
|
31
|
-
- pitfalls: 3-5 non-obvious mistakes specific to this task
|
|
32
|
-
- patterns: 3-5 relevant design patterns or engineering principles
|
|
9
|
+
return `You are the ${agent} specialist in an AI-assisted software engineering system.
|
|
10
|
+
|
|
11
|
+
ROLE: ${role}
|
|
12
|
+
|
|
13
|
+
Your job: given a task description and optional code/context, produce a concrete implementation plan.
|
|
14
|
+
|
|
15
|
+
Return ONLY valid JSON (no markdown, no prose):
|
|
16
|
+
{
|
|
17
|
+
"agent": "${agent}",
|
|
18
|
+
"task": "<task echoed back>",
|
|
19
|
+
"tier": 1|2|3,
|
|
20
|
+
"approach": "<2-3 sentence strategy — the WHY and HOW, not step list>",
|
|
21
|
+
"steps": ["<ordered action step>", ...],
|
|
22
|
+
"checklist": ["[ ] <verification item>", ...],
|
|
23
|
+
"pitfalls": ["<gotcha or common mistake>", ...],
|
|
24
|
+
"patterns": ["<design pattern or principle to apply>", ...],
|
|
25
|
+
"duration_estimate": "<e.g. 1-2 hours>"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Rules:
|
|
29
|
+
- tier: 1 = simple (<1h), 2 = medium (1-4h), 3 = complex (>4h)
|
|
30
|
+
- steps: 6-12 concrete, ordered actions
|
|
31
|
+
- checklist: 6-10 testable done-criteria prefixed with "[ ] "
|
|
32
|
+
- pitfalls: 3-5 non-obvious mistakes specific to this task
|
|
33
|
+
- patterns: 3-5 relevant design patterns or engineering principles
|
|
33
34
|
- Keep total JSON under 800 tokens`;
|
|
34
35
|
}
|
|
35
36
|
function buildAnalysisPrompt(agent, role) {
|
|
36
|
-
return `You are the ${agent} specialist in an AI-assisted software engineering system.
|
|
37
|
-
|
|
38
|
-
ROLE: ${role}
|
|
39
|
-
|
|
40
|
-
Your job: given code and optional context, produce a scored analysis with actionable findings.
|
|
41
|
-
|
|
42
|
-
Return ONLY valid JSON (no markdown, no prose):
|
|
43
|
-
{
|
|
44
|
-
"agent": "${agent}",
|
|
45
|
-
"subject": "<one-line description of what was analyzed>",
|
|
46
|
-
"findings": [
|
|
47
|
-
{
|
|
48
|
-
"severity": "critical|high|medium|low|info",
|
|
49
|
-
"category": "<category name>",
|
|
50
|
-
"description": "<what is wrong and why it matters>",
|
|
51
|
-
"fix": "<specific, actionable remediation>",
|
|
52
|
-
"location": "<file:line if applicable>",
|
|
53
|
-
"cwe": "<CWE-NNN if applicable>"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"score": <0-100, 100 = perfect>,
|
|
57
|
-
"verdict": "approved|approved_with_warnings|needs_revision|rejected",
|
|
58
|
-
"summary": "<one sentence overall assessment>",
|
|
59
|
-
"critical_count": <integer>,
|
|
60
|
-
"high_count": <integer>
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
Rules:
|
|
64
|
-
- findings: list ALL issues found; empty array is valid for clean code
|
|
65
|
-
- score: 90-100 = clean, 70-89 = minor issues, 50-69 = needs work, <50 = reject
|
|
66
|
-
- verdict: approved (score≥90), approved_with_warnings (score 70-89), needs_revision (50-69), rejected (<50)
|
|
67
|
-
- critical_count and high_count MUST match findings array
|
|
37
|
+
return `You are the ${agent} specialist in an AI-assisted software engineering system.
|
|
38
|
+
|
|
39
|
+
ROLE: ${role}
|
|
40
|
+
|
|
41
|
+
Your job: given code and optional context, produce a scored analysis with actionable findings.
|
|
42
|
+
|
|
43
|
+
Return ONLY valid JSON (no markdown, no prose):
|
|
44
|
+
{
|
|
45
|
+
"agent": "${agent}",
|
|
46
|
+
"subject": "<one-line description of what was analyzed>",
|
|
47
|
+
"findings": [
|
|
48
|
+
{
|
|
49
|
+
"severity": "critical|high|medium|low|info",
|
|
50
|
+
"category": "<category name>",
|
|
51
|
+
"description": "<what is wrong and why it matters>",
|
|
52
|
+
"fix": "<specific, actionable remediation>",
|
|
53
|
+
"location": "<file:line if applicable>",
|
|
54
|
+
"cwe": "<CWE-NNN if applicable>"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"score": <0-100, 100 = perfect>,
|
|
58
|
+
"verdict": "approved|approved_with_warnings|needs_revision|rejected",
|
|
59
|
+
"summary": "<one sentence overall assessment>",
|
|
60
|
+
"critical_count": <integer>,
|
|
61
|
+
"high_count": <integer>
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
Rules:
|
|
65
|
+
- findings: list ALL issues found; empty array is valid for clean code
|
|
66
|
+
- score: 90-100 = clean, 70-89 = minor issues, 50-69 = needs work, <50 = reject
|
|
67
|
+
- verdict: approved (score≥90), approved_with_warnings (score 70-89), needs_revision (50-69), rejected (<50)
|
|
68
|
+
- critical_count and high_count MUST match findings array
|
|
68
69
|
- Keep total JSON under 1000 tokens`;
|
|
69
70
|
}
|
|
70
71
|
// ─── Response parsers ─────────────────────────────────────────────────────────
|
|
@@ -158,7 +159,10 @@ export async function runAgentLlm(server, task) {
|
|
|
158
159
|
return plan ? { plan } : null;
|
|
159
160
|
}
|
|
160
161
|
}
|
|
161
|
-
catch {
|
|
162
|
+
catch (err) {
|
|
163
|
+
// Sampling unavailable/failed is an expected path (host may not support it) —
|
|
164
|
+
// log at debug and let the caller fall back to the agentic prompt.
|
|
165
|
+
log.debug('mcp sampling failed; falling back', { agent: task.agent, error: errMsg(err) });
|
|
162
166
|
return null;
|
|
163
167
|
}
|
|
164
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -9,7 +9,7 @@ import { homedir } from 'node:os';
|
|
|
9
9
|
import { fileURLToPath } from 'node:url';
|
|
10
10
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
11
|
const { version: VERSION } = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf8'));
|
|
12
|
-
const TAGLINE = '
|
|
12
|
+
const TAGLINE = '89 agentic tools. 49 specialists. Every major AI CLI. Self-learning. Zero extra cost on subscriptions.';
|
|
13
13
|
const VETO_DIR = join(homedir(), '.veto');
|
|
14
14
|
const HOME = homedir();
|
|
15
15
|
const c = {
|
|
@@ -307,7 +307,7 @@ async function initCommand() {
|
|
|
307
307
|
console.log('');
|
|
308
308
|
const VETO_GUIDE = `# Veto MCP Server
|
|
309
309
|
|
|
310
|
-
Veto is active.
|
|
310
|
+
Veto is active. 89 tools across 6 categories:
|
|
311
311
|
|
|
312
312
|
**Session & Context** — veto_status · veto_session_save · veto_continue · veto_handoff
|
|
313
313
|
Save work at 60–70% context capacity. veto_status triggers auto-save above 70%.
|
|
@@ -506,6 +506,42 @@ Recommended start sequence:
|
|
|
506
506
|
else {
|
|
507
507
|
setVetoConfig({ billing_mode: 'subscription' });
|
|
508
508
|
}
|
|
509
|
+
// ── Post-install health check ───────────────────────────────────────────────
|
|
510
|
+
// Confirm the server can actually run before the user discovers a failure inside
|
|
511
|
+
// their AI client. The one real runtime risk is node:sqlite (needs Node >= 22.5).
|
|
512
|
+
console.log(' ' + c.bold('Post-install check'));
|
|
513
|
+
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
514
|
+
let healthOk = true;
|
|
515
|
+
const initNodeMajor = parseInt(process.version.slice(1).split('.')[0], 10);
|
|
516
|
+
const initNodeMinor = parseInt(process.version.slice(1).split('.')[1] || '0', 10);
|
|
517
|
+
if (initNodeMajor > 22 || (initNodeMajor === 22 && initNodeMinor >= 5)) {
|
|
518
|
+
console.log(` ${c.green('✓')} Node.js ${process.version}`);
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
console.log(` ${c.red('✗')} Node.js ${process.version} — Veto needs >= 22.5 (node:sqlite); the server will not start`);
|
|
522
|
+
healthOk = false;
|
|
523
|
+
}
|
|
524
|
+
try {
|
|
525
|
+
const { getDb } = await import('./memory/local.js');
|
|
526
|
+
getDb(); // exercises node:sqlite + schema/migration init
|
|
527
|
+
console.log(` ${c.green('✓')} Local database initialised`);
|
|
528
|
+
}
|
|
529
|
+
catch (err) {
|
|
530
|
+
console.log(` ${c.red('✗')} Database failed to initialise: ${err instanceof Error ? err.message : String(err)}`);
|
|
531
|
+
healthOk = false;
|
|
532
|
+
}
|
|
533
|
+
console.log('');
|
|
534
|
+
// MCP Sampling support is client-dependent and can't be probed from the CLI —
|
|
535
|
+
// surface the honest guidance so the fallback path isn't a surprise.
|
|
536
|
+
console.log(' ' + c.bold('MCP Sampling') + c.dim(' (powers zero-extra-cost agent reasoning)'));
|
|
537
|
+
console.log(c.dim(' Clients with Sampling (Claude Code, Cursor, Windsurf, VS Code) run agents'));
|
|
538
|
+
console.log(c.dim(' directly. Clients without it get an agentic-fallback prompt to reason instead.'));
|
|
539
|
+
console.log(c.dim(' Run `veto doctor` anytime for the full health + registration report.'));
|
|
540
|
+
console.log('');
|
|
541
|
+
if (!healthOk) {
|
|
542
|
+
console.log(c.yellow(' ⚠ Resolve the issues above before using Veto in your AI client.'));
|
|
543
|
+
console.log('');
|
|
544
|
+
}
|
|
509
545
|
}
|
|
510
546
|
// ─── Doctor Command ─────────────────────────────────────────────────────────────
|
|
511
547
|
async function doctorCommand() {
|
|
@@ -829,7 +865,7 @@ async function patternsCommand() {
|
|
|
829
865
|
}
|
|
830
866
|
function shortHelpCommand() {
|
|
831
867
|
console.log('');
|
|
832
|
-
console.log(c.bold(c.cyan(' veto')) + c.dim(` v${VERSION}`) + c.dim(` —
|
|
868
|
+
console.log(c.bold(c.cyan(' veto')) + c.dim(` v${VERSION}`) + c.dim(` — 89 agentic tools. 49 specialists. Every major AI CLI. Zero extra cost on subscriptions.`));
|
|
833
869
|
console.log('');
|
|
834
870
|
console.log(c.bold(' CLI Commands'));
|
|
835
871
|
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
@@ -837,6 +873,8 @@ function shortHelpCommand() {
|
|
|
837
873
|
console.log(` ${c.cyan('veto doctor')} Check MCP registrations + system health`);
|
|
838
874
|
console.log(` ${c.cyan('veto status')} Version, DB path, memory/session counts`);
|
|
839
875
|
console.log(` ${c.cyan('veto sessions')} List last 20 saved sessions`);
|
|
876
|
+
console.log(` ${c.cyan('veto tools')} ${c.dim('[filter]')} List all MCP tools (--json supported)`);
|
|
877
|
+
console.log(` ${c.cyan('veto agents')} ${c.dim('[filter]')} List all worker + council agents (--json)`);
|
|
840
878
|
console.log(` ${c.cyan('veto memory')} ${c.dim('[query]')} Search knowledge base`);
|
|
841
879
|
console.log(` ${c.cyan('veto patterns')} ${c.dim('[prefix]')} List learned agent/routing patterns`);
|
|
842
880
|
console.log(` ${c.cyan('veto routing')} ${c.dim('[status|enable|disable|reset|log]')}`);
|
|
@@ -848,7 +886,7 @@ function shortHelpCommand() {
|
|
|
848
886
|
console.log(` ${c.cyan('veto help')} Show this help`);
|
|
849
887
|
console.log(` ${c.cyan('veto help --troubleshoot')} Show troubleshooting guide`);
|
|
850
888
|
console.log('');
|
|
851
|
-
console.log(c.bold(' MCP Tools (
|
|
889
|
+
console.log(c.bold(' MCP Tools (89 Agentic Tools)'));
|
|
852
890
|
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
853
891
|
console.log(` ${c.dim('Session')} veto_status · veto_session_save · veto_session_restore · veto_sessions_list · veto_session_replay · veto_autosave_status`);
|
|
854
892
|
console.log(` ${c.dim('Council')} veto_council_debate · veto_benchmark · veto_adr`);
|
|
@@ -1142,6 +1180,100 @@ async function checkCommand() {
|
|
|
1142
1180
|
console.log('');
|
|
1143
1181
|
process.exit(0);
|
|
1144
1182
|
}
|
|
1183
|
+
// ─── Tools / Agents listings ────────────────────────────────────────────────────
|
|
1184
|
+
// The 7 Council personas debated by veto_council_debate. They live as separate
|
|
1185
|
+
// modules under src/council/ (no shared manifest), so the roster is mirrored here
|
|
1186
|
+
// for the listing. Keep in sync with src/council/decision-engine.ts.
|
|
1187
|
+
const COUNCIL_AGENTS = [
|
|
1188
|
+
{ id: 'Lead Developer', role: 'Implementation feasibility and code-level risk (can block).' },
|
|
1189
|
+
{ id: 'Product Manager', role: 'User value, scope, and priority trade-offs.' },
|
|
1190
|
+
{ id: 'System Architect', role: 'Architecture fit, scalability, and long-term design (can block).' },
|
|
1191
|
+
{ id: 'UX Designer', role: 'Usability, accessibility, and user-facing impact.' },
|
|
1192
|
+
{ id: "Devil's Advocate", role: 'Probes every failure mode — always raises concerns.' },
|
|
1193
|
+
{ id: 'Legal & Compliance', role: 'Licensing, privacy, and regulatory exposure (can block).' },
|
|
1194
|
+
{ id: 'Security', role: 'Threat model and vulnerability surface (can block).' },
|
|
1195
|
+
];
|
|
1196
|
+
function truncate(s, n) {
|
|
1197
|
+
return s.length > n ? s.slice(0, n - 1) + '…' : s;
|
|
1198
|
+
}
|
|
1199
|
+
// veto tools [filter] [--json] — lists the MCP tools straight from TOOL_DEFINITIONS
|
|
1200
|
+
// (the same source the server registers) so the listing can never drift.
|
|
1201
|
+
async function toolsCommand() {
|
|
1202
|
+
const { TOOL_DEFINITIONS } = await import('./tools/definitions.js');
|
|
1203
|
+
const asJson = process.argv.includes('--json');
|
|
1204
|
+
const filter = process.argv.slice(3).find(a => !a.startsWith('--'))?.toLowerCase();
|
|
1205
|
+
let tools = TOOL_DEFINITIONS.map(t => ({ name: t.name, description: t.description }));
|
|
1206
|
+
if (filter)
|
|
1207
|
+
tools = tools.filter(t => t.name.toLowerCase().includes(filter) || t.description.toLowerCase().includes(filter));
|
|
1208
|
+
if (asJson) {
|
|
1209
|
+
console.log(JSON.stringify({ count: tools.length, tools }, null, 2));
|
|
1210
|
+
return;
|
|
1211
|
+
}
|
|
1212
|
+
console.log('');
|
|
1213
|
+
console.log(c.bold(' Veto MCP Tools') + c.dim(` (${tools.length}${filter ? ` matching "${filter}"` : ` of ${TOOL_DEFINITIONS.length}`})`));
|
|
1214
|
+
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
1215
|
+
if (tools.length === 0) {
|
|
1216
|
+
console.log(c.dim(' No tools match that filter.'));
|
|
1217
|
+
}
|
|
1218
|
+
else {
|
|
1219
|
+
const width = Math.max(...tools.map(t => t.name.length));
|
|
1220
|
+
for (const t of tools) {
|
|
1221
|
+
console.log(` ${c.cyan(t.name.padEnd(width))} ${c.dim(truncate(t.description, 64))}`);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
console.log('');
|
|
1225
|
+
console.log(c.dim(' Tip: veto tools <filter> filters by name/description · --json for machine output'));
|
|
1226
|
+
console.log('');
|
|
1227
|
+
}
|
|
1228
|
+
// veto agents [filter] [--json] — lists the 43 worker specialists from AGENT_MANIFEST
|
|
1229
|
+
// (grouped by domain) plus the 7 Council personas.
|
|
1230
|
+
async function agentsCommand() {
|
|
1231
|
+
const { AGENT_MANIFEST } = await import('./agents/manifest.js');
|
|
1232
|
+
const asJson = process.argv.includes('--json');
|
|
1233
|
+
const filter = process.argv.slice(3).find(a => !a.startsWith('--'))?.toLowerCase();
|
|
1234
|
+
const match = (s) => !filter || s.toLowerCase().includes(filter);
|
|
1235
|
+
const workers = AGENT_MANIFEST
|
|
1236
|
+
.map(a => ({ id: a.id, role: a.role, output_type: a.output_type, domain: a.domain }))
|
|
1237
|
+
.filter(a => match(a.id) || match(a.role) || match(a.domain));
|
|
1238
|
+
const council = COUNCIL_AGENTS.filter(a => match(a.id) || match(a.role));
|
|
1239
|
+
if (asJson) {
|
|
1240
|
+
console.log(JSON.stringify({
|
|
1241
|
+
worker_agents: { count: workers.length, agents: workers },
|
|
1242
|
+
council_agents: { count: council.length, agents: council },
|
|
1243
|
+
}, null, 2));
|
|
1244
|
+
return;
|
|
1245
|
+
}
|
|
1246
|
+
console.log('');
|
|
1247
|
+
console.log(c.bold(' Veto Agents') + c.dim(` — ${workers.length} worker specialists + ${council.length} council`));
|
|
1248
|
+
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
1249
|
+
if (workers.length === 0 && council.length === 0) {
|
|
1250
|
+
console.log(c.dim(' No agents match that filter.'));
|
|
1251
|
+
console.log('');
|
|
1252
|
+
return;
|
|
1253
|
+
}
|
|
1254
|
+
for (const domain of [...new Set(workers.map(a => a.domain))]) {
|
|
1255
|
+
const inDomain = workers.filter(a => a.domain === domain);
|
|
1256
|
+
const width = Math.max(...inDomain.map(a => a.id.length));
|
|
1257
|
+
console.log('');
|
|
1258
|
+
console.log(` ${c.bold(domain)} ${c.dim(`(${inDomain.length})`)}`);
|
|
1259
|
+
for (const a of inDomain) {
|
|
1260
|
+
const badge = a.output_type === 'analysis' ? c.yellow('analysis') : c.dim('plan ');
|
|
1261
|
+
console.log(` ${c.cyan(a.id.padEnd(width))} ${badge} ${c.dim(truncate(a.role, 58))}`);
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
if (council.length > 0) {
|
|
1265
|
+
const width = Math.max(...council.map(a => a.id.length));
|
|
1266
|
+
console.log('');
|
|
1267
|
+
console.log(` ${c.bold('council')} ${c.dim(`(${council.length})`)} ${c.dim('— 7-agent debate via veto_council_debate')}`);
|
|
1268
|
+
for (const a of council) {
|
|
1269
|
+
console.log(` ${c.cyan(a.id.padEnd(width))} ${c.dim(truncate(a.role, 60))}`);
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
console.log('');
|
|
1273
|
+
console.log(c.dim(' Worker agents run via veto_route_task / veto_agent_plan · council via veto_council_debate'));
|
|
1274
|
+
console.log(c.dim(' Tip: veto agents <filter> · --json for machine output'));
|
|
1275
|
+
console.log('');
|
|
1276
|
+
}
|
|
1145
1277
|
// ─── Router ────────────────────────────────────────────────────────────────────
|
|
1146
1278
|
const command = process.argv[2] ?? 'init';
|
|
1147
1279
|
switch (command) {
|
|
@@ -1175,6 +1307,18 @@ switch (command) {
|
|
|
1175
1307
|
process.exit(1);
|
|
1176
1308
|
});
|
|
1177
1309
|
break;
|
|
1310
|
+
case 'tools':
|
|
1311
|
+
toolsCommand().catch((err) => {
|
|
1312
|
+
console.error(c.red(`Error: ${err.message}`));
|
|
1313
|
+
process.exit(1);
|
|
1314
|
+
});
|
|
1315
|
+
break;
|
|
1316
|
+
case 'agents':
|
|
1317
|
+
agentsCommand().catch((err) => {
|
|
1318
|
+
console.error(c.red(`Error: ${err.message}`));
|
|
1319
|
+
process.exit(1);
|
|
1320
|
+
});
|
|
1321
|
+
break;
|
|
1178
1322
|
case 'doctor':
|
|
1179
1323
|
doctorCommand().catch((err) => {
|
|
1180
1324
|
console.error(c.red(`Error: ${err.message}`));
|