@jigyasudham/veto 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +391 -658
- 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 +84 -9
- 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 +2 -0
- package/dist/memory/config.d.ts.map +1 -1
- package/dist/memory/config.js +4 -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 +327 -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 -2944
- 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 tools. 49 specialists. 4 AIs. 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%.
|
|
@@ -468,7 +468,7 @@ Recommended start sequence:
|
|
|
468
468
|
}
|
|
469
469
|
if (configured === 0 && skipped === 0) {
|
|
470
470
|
console.log(c.yellow(' ⚠ No AI tools detected.'));
|
|
471
|
-
console.log(' Install Claude Code, Gemini CLI, or Codex CLI and run veto init again.');
|
|
471
|
+
console.log(' Install Claude Code, Gemini CLI, Antigravity CLI, or Codex CLI and run veto init again.');
|
|
472
472
|
console.log('');
|
|
473
473
|
}
|
|
474
474
|
else {
|
|
@@ -484,6 +484,64 @@ Recommended start sequence:
|
|
|
484
484
|
console.log(c.dim(' Tip: run `veto init` again anytime to install newly-added AI tools.'));
|
|
485
485
|
console.log('');
|
|
486
486
|
}
|
|
487
|
+
// ── Billing mode detection ──────────────────────────────────────────────────
|
|
488
|
+
// Check for API key env vars as a signal the user may be on pay-per-token billing.
|
|
489
|
+
const apiKeyEnvVars = ['ANTHROPIC_API_KEY', 'GEMINI_API_KEY', 'GOOGLE_API_KEY', 'OPENAI_API_KEY'];
|
|
490
|
+
const detectedKeys = apiKeyEnvVars.filter(k => !!process.env[k]);
|
|
491
|
+
const { setConfig: setVetoConfig } = await import('./memory/config.js');
|
|
492
|
+
if (detectedKeys.length > 0) {
|
|
493
|
+
setVetoConfig({ billing_mode: 'api' });
|
|
494
|
+
console.log(c.yellow(' ⚠ API key environment variables detected:') + c.dim(` ${detectedKeys.join(', ')}`));
|
|
495
|
+
console.log(c.yellow(' Veto has set billing_mode = api in ~/.veto/config.json.'));
|
|
496
|
+
console.log('');
|
|
497
|
+
console.log(' ' + c.bold('Important — cost warning:'));
|
|
498
|
+
console.log(' Veto\'s "zero cost" claim applies to subscription plans (Claude Max, Gemini');
|
|
499
|
+
console.log(' Advanced, etc.). On API/pay-per-token billing, any MCP Sampling calls made');
|
|
500
|
+
console.log(' by Veto agents will count toward your token usage and be billed accordingly.');
|
|
501
|
+
console.log('');
|
|
502
|
+
console.log(c.dim(' To silence this warning if you are on a subscription:'));
|
|
503
|
+
console.log(c.dim(' Edit ~/.veto/config.json and set "billing_mode": "subscription"'));
|
|
504
|
+
console.log('');
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
setVetoConfig({ billing_mode: 'subscription' });
|
|
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
|
+
}
|
|
487
545
|
}
|
|
488
546
|
// ─── Doctor Command ─────────────────────────────────────────────────────────────
|
|
489
547
|
async function doctorCommand() {
|
|
@@ -637,6 +695,23 @@ async function doctorCommand() {
|
|
|
637
695
|
issues++;
|
|
638
696
|
}
|
|
639
697
|
}
|
|
698
|
+
// Billing mode
|
|
699
|
+
console.log('');
|
|
700
|
+
console.log(' ' + c.bold('Billing'));
|
|
701
|
+
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
702
|
+
const { getConfig: getVetoConfig } = await import('./memory/config.js');
|
|
703
|
+
const vetoConfig = getVetoConfig();
|
|
704
|
+
const apiKeyEnvVarsDoctor = ['ANTHROPIC_API_KEY', 'GEMINI_API_KEY', 'GOOGLE_API_KEY', 'OPENAI_API_KEY'];
|
|
705
|
+
const detectedKeysDoctor = apiKeyEnvVarsDoctor.filter(k => !!process.env[k]);
|
|
706
|
+
if (vetoConfig.billing_mode === 'api' || detectedKeysDoctor.length > 0) {
|
|
707
|
+
console.log(` ${c.yellow('⚠')} billing_mode: ${c.yellow('api')} — MCP Sampling calls count toward your token usage`);
|
|
708
|
+
console.log(` ${c.dim(' Veto\'s "zero cost" claim applies to subscription plans only.')}`);
|
|
709
|
+
console.log(` ${c.dim(' To update: edit ~/.veto/config.json → "billing_mode": "subscription"')}`);
|
|
710
|
+
issues++;
|
|
711
|
+
}
|
|
712
|
+
else {
|
|
713
|
+
console.log(` ${c.green('✓')} billing_mode: subscription — zero extra cost`);
|
|
714
|
+
}
|
|
640
715
|
console.log('');
|
|
641
716
|
if (issues === 0) {
|
|
642
717
|
console.log(c.green(' ✓ All checks passed — Veto is healthy!'));
|
|
@@ -790,7 +865,7 @@ async function patternsCommand() {
|
|
|
790
865
|
}
|
|
791
866
|
function shortHelpCommand() {
|
|
792
867
|
console.log('');
|
|
793
|
-
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. Zero extra cost on subscriptions.`));
|
|
794
869
|
console.log('');
|
|
795
870
|
console.log(c.bold(' CLI Commands'));
|
|
796
871
|
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
@@ -809,7 +884,7 @@ function shortHelpCommand() {
|
|
|
809
884
|
console.log(` ${c.cyan('veto help')} Show this help`);
|
|
810
885
|
console.log(` ${c.cyan('veto help --troubleshoot')} Show troubleshooting guide`);
|
|
811
886
|
console.log('');
|
|
812
|
-
console.log(c.bold(' MCP Tools (
|
|
887
|
+
console.log(c.bold(' MCP Tools (89 Agentic Tools)'));
|
|
813
888
|
console.log(c.dim(' ─────────────────────────────────────────────────────'));
|
|
814
889
|
console.log(` ${c.dim('Session')} veto_status · veto_session_save · veto_session_restore · veto_sessions_list · veto_session_replay · veto_autosave_status`);
|
|
815
890
|
console.log(` ${c.dim('Council')} veto_council_debate · veto_benchmark · veto_adr`);
|
|
@@ -891,10 +966,10 @@ function troubleshootCommand() {
|
|
|
891
966
|
console.log(` ${c.dim('→')} Use ${c.cyan('veto_rate_status')} tool to check current usage`);
|
|
892
967
|
console.log(` ${c.dim('→')} Wait a moment, then retry — limits reset per minute`);
|
|
893
968
|
console.log('');
|
|
894
|
-
console.log(` ${c.yellow('veto init fails
|
|
895
|
-
console.log(` ${c.dim('→')}
|
|
896
|
-
console.log(` ${c.dim('→')}
|
|
897
|
-
console.log(` ${c.dim('→')}
|
|
969
|
+
console.log(` ${c.yellow('veto init fails on first run')}`);
|
|
970
|
+
console.log(` ${c.dim('→')} Veto does not require an API key — it uses your existing AI subscriptions via MCP`);
|
|
971
|
+
console.log(` ${c.dim('→')} Ensure Node.js >= 22 and run ${c.cyan('veto init')} from your project directory`);
|
|
972
|
+
console.log(` ${c.dim('→')} Check that your AI client (Claude Code / Gemini / Codex / Antigravity) is installed`);
|
|
898
973
|
console.log('');
|
|
899
974
|
console.log(` ${c.yellow('veto_health shows degraded / components failing')}`);
|
|
900
975
|
console.log(` ${c.dim('→')} Run ${c.cyan('veto status')} for a summary of all components`);
|