@jigyasudham/veto 1.2.19 → 1.4.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.
@@ -0,0 +1,1073 @@
1
+ export declare const TOOL_DEFINITIONS: readonly [{
2
+ readonly name: "veto_status";
3
+ readonly description: "Returns Veto server status, version, and database info. Pass token_count to trigger auto-save if context usage crosses 70%.";
4
+ readonly inputSchema: {
5
+ readonly type: "object";
6
+ readonly properties: {
7
+ readonly token_count: {
8
+ readonly type: "number";
9
+ readonly description: "Current session token count. If provided and context usage ≥ 70%, Veto auto-saves the last known session context in the background.";
10
+ };
11
+ readonly platform: {
12
+ readonly type: "string";
13
+ readonly description: "AI platform (claude, gemini, codex). Used to select the correct context window for threshold calculation. Defaults to \"claude\".";
14
+ readonly enum: readonly ["claude", "gemini", "codex"];
15
+ };
16
+ readonly model: {
17
+ readonly type: "string";
18
+ readonly description: "Optional: specific model ID (e.g. \"claude-sonnet-4-6\", \"gemini-2-5-pro\", \"gpt-4o\"). When provided, Veto resolves the exact context window for that model instead of using the platform default.";
19
+ };
20
+ };
21
+ readonly required: readonly [];
22
+ };
23
+ }, {
24
+ readonly name: "veto_autosave_status";
25
+ readonly description: "Returns the current auto-save state: whether a context is cached, the threshold, the last auto-save time, and the session ID.";
26
+ readonly inputSchema: {
27
+ readonly type: "object";
28
+ readonly properties: {};
29
+ readonly required: readonly [];
30
+ };
31
+ }, {
32
+ readonly name: "veto_health";
33
+ readonly description: "Returns a live health snapshot of the Veto server — DB size, session/memory/pattern counts, uptime, error count, and average council latency.";
34
+ readonly inputSchema: {
35
+ readonly type: "object";
36
+ readonly properties: {};
37
+ readonly required: readonly [];
38
+ };
39
+ }, {
40
+ readonly name: "veto_rate_status";
41
+ readonly description: "Returns current request counts and rate limit status for all AI platforms tracked by Veto.";
42
+ readonly inputSchema: {
43
+ readonly type: "object";
44
+ readonly properties: {};
45
+ readonly required: readonly [];
46
+ };
47
+ }, {
48
+ readonly name: "veto_session_save";
49
+ readonly description: "Saves the current session context to SQLite. Pass session_id to update an existing session instead of creating a new one — use this when refreshing context mid-conversation rather than starting a new snapshot.";
50
+ readonly inputSchema: {
51
+ readonly type: "object";
52
+ readonly properties: {
53
+ readonly summary: {
54
+ readonly type: "string";
55
+ readonly description: "A brief summary of what was accomplished this session.";
56
+ };
57
+ readonly context: {
58
+ readonly type: "string";
59
+ readonly description: "Key context to restore (decisions, current task, file list, etc.).";
60
+ };
61
+ readonly task_state: {
62
+ readonly type: "string";
63
+ readonly description: "Current task state — what is done and what is next.";
64
+ };
65
+ readonly platform: {
66
+ readonly type: "string";
67
+ readonly description: "AI platform used (claude, gemini, codex). Defaults to \"claude\".";
68
+ readonly enum: readonly ["claude", "gemini", "codex"];
69
+ };
70
+ readonly project_dir: {
71
+ readonly type: "string";
72
+ readonly description: "Absolute path to the current project directory.";
73
+ };
74
+ readonly connection_type: {
75
+ readonly type: "string";
76
+ readonly description: "How you are connected to this AI — \"subscription\" (Claude Pro, Gemini Advanced) or \"api\" (API key). Used for usage tracking.";
77
+ readonly enum: readonly ["subscription", "api"];
78
+ };
79
+ readonly token_count: {
80
+ readonly type: "number";
81
+ readonly description: "Approximate tokens used this session. Veto uses this for context window monitoring.";
82
+ };
83
+ readonly session_id: {
84
+ readonly type: "string";
85
+ readonly description: "Optional. UUID of an existing session to update in-place. When provided, Veto updates that row instead of inserting a new one — prevents session inflation when refreshing mid-conversation.";
86
+ };
87
+ readonly model: {
88
+ readonly type: "string";
89
+ readonly description: "Optional: specific model ID (e.g. \"claude-sonnet-4-6\", \"gemini-2-5-pro\", \"gpt-4o\"). Veto resolves the exact context window for this model and uses it for auto-save threshold calculations.";
90
+ };
91
+ readonly tags: {
92
+ readonly type: "array";
93
+ readonly items: {
94
+ readonly type: "string";
95
+ };
96
+ readonly description: "Optional labels for this session (e.g. [\"auth\", \"migration\", \"v1.3\"]). Makes sessions searchable via veto_sessions_list query.";
97
+ };
98
+ };
99
+ readonly required: readonly ["summary", "context"];
100
+ };
101
+ }, {
102
+ readonly name: "veto_session_restore";
103
+ readonly description: "Restores a previously saved session by ID. Use veto_sessions_list to find IDs.";
104
+ readonly inputSchema: {
105
+ readonly type: "object";
106
+ readonly properties: {
107
+ readonly session_id: {
108
+ readonly type: "string";
109
+ readonly description: "UUID of the session to restore.";
110
+ };
111
+ readonly resuming_as: {
112
+ readonly type: "string";
113
+ readonly description: "The AI client resuming this session (e.g. \"claude\", \"gemini\", \"codex\"). Recorded as active_client.";
114
+ readonly enum: readonly ["claude", "gemini", "codex"];
115
+ };
116
+ };
117
+ readonly required: readonly ["session_id"];
118
+ };
119
+ }, {
120
+ readonly name: "veto_sessions_list";
121
+ readonly description: "Lists the most recent saved sessions. Use query to search by summary, context, tags, or project path.";
122
+ readonly inputSchema: {
123
+ readonly type: "object";
124
+ readonly properties: {
125
+ readonly limit: {
126
+ readonly type: "number";
127
+ readonly description: "Number of sessions to return (default 10, max 50).";
128
+ };
129
+ readonly query: {
130
+ readonly type: "string";
131
+ readonly description: "Optional text search — matches against summary, context, task_state, tags, and project_dir.";
132
+ };
133
+ };
134
+ readonly required: readonly [];
135
+ };
136
+ }, {
137
+ readonly name: "veto_handoff";
138
+ readonly description: "Saves the current session and returns step-by-step instructions to continue on another AI platform (Gemini or Codex). Call this when Claude is approaching its rate limit. The receiving platform calls veto_continue to restore full context instantly.";
139
+ readonly inputSchema: {
140
+ readonly type: "object";
141
+ readonly properties: {
142
+ readonly summary: {
143
+ readonly type: "string";
144
+ readonly description: "What was accomplished this session — one or two sentences.";
145
+ };
146
+ readonly context: {
147
+ readonly type: "string";
148
+ readonly description: "Key context the next platform needs: active decisions, file paths, constraints.";
149
+ };
150
+ readonly task_state: {
151
+ readonly type: "string";
152
+ readonly description: "Current task state — what is done, what is in progress, what is next.";
153
+ };
154
+ readonly from_platform: {
155
+ readonly type: "string";
156
+ readonly enum: readonly ["claude", "gemini", "codex"];
157
+ readonly description: "Platform handing off (default: claude).";
158
+ };
159
+ readonly to_platform: {
160
+ readonly type: "string";
161
+ readonly enum: readonly ["gemini", "codex", "claude"];
162
+ readonly description: "Target platform. If omitted, Veto picks the platform with the most headroom.";
163
+ };
164
+ readonly project_dir: {
165
+ readonly type: "string";
166
+ readonly description: "Absolute path to the current project directory.";
167
+ };
168
+ readonly token_count: {
169
+ readonly type: "number";
170
+ readonly description: "Approximate tokens used this session.";
171
+ };
172
+ };
173
+ readonly required: readonly ["summary", "context"];
174
+ };
175
+ }, {
176
+ readonly name: "veto_continue";
177
+ readonly description: "Restores the most recent session on any platform. Call this immediately after switching platforms — Veto returns the full context, summary, and next action. Nothing needs to be re-explained.";
178
+ readonly inputSchema: {
179
+ readonly type: "object";
180
+ readonly properties: {
181
+ readonly session_id: {
182
+ readonly type: "string";
183
+ readonly description: "Optional. Session ID from veto_handoff. If omitted, the most recent saved session is restored.";
184
+ };
185
+ readonly resuming_as: {
186
+ readonly type: "string";
187
+ readonly description: "The AI client resuming this session (e.g. \"gemini\"). Recorded as active_client so you can track which tool is currently working on it.";
188
+ readonly enum: readonly ["claude", "gemini", "codex"];
189
+ };
190
+ };
191
+ readonly required: readonly [];
192
+ };
193
+ }, {
194
+ readonly name: "veto_council_debate";
195
+ readonly description: "Runs the Veto Council — 7 specialist agents (Lead Dev, PM, Architect, UX, Devil's Advocate, Legal, Security) debate your task and return a GREEN / YELLOW / RED / DEADLOCK verdict before any code is written. Use strictness to control depth: fast (3 agents), standard (7, default), strict (7 + rebuttal round).";
196
+ readonly inputSchema: {
197
+ readonly type: "object";
198
+ readonly properties: {
199
+ readonly task: {
200
+ readonly type: "string";
201
+ readonly description: "The task or decision to debate. Be specific — include approach, tech stack, and constraints.";
202
+ };
203
+ readonly context: {
204
+ readonly type: "string";
205
+ readonly description: "Optional: additional context such as codebase state, prior decisions, or constraints.";
206
+ };
207
+ readonly project_dir: {
208
+ readonly type: "string";
209
+ readonly description: "Optional: absolute path to the project directory. Veto will auto-read package.json, git diff, and stack info to give the council real project context.";
210
+ };
211
+ readonly session_id: {
212
+ readonly type: "string";
213
+ readonly description: "Optional: session ID to associate this council outcome with an active session.";
214
+ };
215
+ readonly max_tokens: {
216
+ readonly type: "number";
217
+ readonly description: "Optional: token budget for this operation. Veto estimates output tokens and warns in the response if the estimate exceeds this limit. Logged to usage_log for tracking.";
218
+ };
219
+ readonly strictness: {
220
+ readonly type: "string";
221
+ readonly enum: readonly ["fast", "standard", "strict"];
222
+ readonly description: "Council depth. fast: 3 core agents (dev + architect + security), instant. standard: all 7 agents (default). strict: all 7 + Devil's Advocate rebuttal round on the most critical blocker.";
223
+ };
224
+ };
225
+ readonly required: readonly ["task"];
226
+ };
227
+ }, {
228
+ readonly name: "veto_benchmark";
229
+ readonly description: "Compares two competing approaches by running a full council debate on each in parallel, then returns a structured winner analysis with verdict, confidence delta, warning counts, and council reasoning. Use when you have two valid options and want an unbiased council judgment before committing.";
230
+ readonly inputSchema: {
231
+ readonly type: "object";
232
+ readonly properties: {
233
+ readonly task: {
234
+ readonly type: "string";
235
+ readonly description: "The decision context — what problem are both approaches solving?";
236
+ };
237
+ readonly approach_a: {
238
+ readonly type: "string";
239
+ readonly description: "First approach to evaluate. Be specific about tech choices, trade-offs, and constraints.";
240
+ };
241
+ readonly approach_b: {
242
+ readonly type: "string";
243
+ readonly description: "Second approach to evaluate. Same level of detail as approach_a.";
244
+ };
245
+ readonly context: {
246
+ readonly type: "string";
247
+ readonly description: "Optional: shared context for both debates (architecture notes, constraints, team size, etc.).";
248
+ };
249
+ readonly project_dir: {
250
+ readonly type: "string";
251
+ readonly description: "Optional: auto-inject package.json and git diff context.";
252
+ };
253
+ };
254
+ readonly required: readonly ["task", "approach_a", "approach_b"];
255
+ };
256
+ }, {
257
+ readonly name: "veto_route_task";
258
+ readonly description: "Scores a task for complexity (0-100) and returns the optimal tier, model recommendation, and rate status. Use before any substantial task to let the router decide which model to use.";
259
+ readonly inputSchema: {
260
+ readonly type: "object";
261
+ readonly properties: {
262
+ readonly task: {
263
+ readonly type: "string";
264
+ readonly description: "The task description to score and route.";
265
+ };
266
+ readonly agent_type: {
267
+ readonly type: "string";
268
+ readonly description: "Optional agent type — some agents are tier-locked regardless of score.";
269
+ readonly enum: readonly ["lead-developer", "system-architect", "security-scanner", "devil-advocate", "decision-engine", "risk-assessor", "coder", "tester", "reviewer", "database", "documentation", "file-manager", "git-agent", "search-agent", "secrets", "reporter", "dynamic"];
270
+ };
271
+ readonly files_affected: {
272
+ readonly type: "number";
273
+ readonly description: "Number of files the task will touch (influences complexity score).";
274
+ };
275
+ readonly force_council: {
276
+ readonly type: "boolean";
277
+ readonly description: "Set true to force a Tier 3 / council-required routing.";
278
+ };
279
+ readonly context: {
280
+ readonly type: "string";
281
+ readonly description: "Current context text — router will return a compression plan.";
282
+ };
283
+ readonly preferred_platform: {
284
+ readonly type: "string";
285
+ readonly description: "Preferred AI platform. Router may override if rate-limited.";
286
+ readonly enum: readonly ["claude", "gemini", "codex"];
287
+ };
288
+ };
289
+ readonly required: readonly ["task"];
290
+ };
291
+ }, {
292
+ readonly name: "veto_agent_plan";
293
+ readonly description: "Gets a domain-expert execution plan from a specific worker agent. Returns approach, ordered steps, checklist, patterns, and pitfalls for the task.";
294
+ readonly inputSchema: {
295
+ readonly type: "object";
296
+ readonly properties: {
297
+ readonly agent: {
298
+ readonly type: "string";
299
+ readonly description: "The worker agent to consult.";
300
+ readonly enum: readonly ["coder", "reviewer", "tester", "debugger", "refactor", "database", "api", "frontend", "backend", "devops", "performance", "migration", "security-scanner", "auth", "privacy", "secrets", "dependency-audit", "penetration", "context-manager", "decision-logger", "project-mapper", "pattern-learner", "knowledge-base", "researcher", "tech-advisor", "cost-analyzer", "competitor-analyzer", "risk-assessor", "estimator", "ethics-bias", "code-quality", "documentation", "accessibility", "compatibility", "error-handling", "task-planner", "task-coordinator", "file-manager", "git-agent", "search-agent", "reporter", "automation"];
301
+ };
302
+ readonly task: {
303
+ readonly type: "string";
304
+ readonly description: "The task for the agent to plan.";
305
+ };
306
+ readonly context: {
307
+ readonly type: "string";
308
+ readonly description: "Optional additional context.";
309
+ };
310
+ readonly project_dir: {
311
+ readonly type: "string";
312
+ readonly description: "Optional: absolute path to the project directory. Auto-injects package.json, git diff, and stack info into the agent context.";
313
+ };
314
+ };
315
+ readonly required: readonly ["agent", "task"];
316
+ };
317
+ }, {
318
+ readonly name: "veto_execute_parallel";
319
+ readonly description: "Runs multiple worker agents simultaneously via Promise.all. Use to get domain expert input from several agents in one round-trip — e.g. coder + tester + security-scanner all planning the same feature together.";
320
+ readonly inputSchema: {
321
+ readonly type: "object";
322
+ readonly properties: {
323
+ readonly tasks: {
324
+ readonly type: "array";
325
+ readonly description: "List of agent tasks to run in parallel.";
326
+ readonly items: {
327
+ readonly type: "object";
328
+ readonly properties: {
329
+ readonly id: {
330
+ readonly type: "string";
331
+ readonly description: "Unique ID for this task (use any string).";
332
+ };
333
+ readonly agent: {
334
+ readonly type: "string";
335
+ readonly description: "Worker agent type.";
336
+ };
337
+ readonly task: {
338
+ readonly type: "string";
339
+ readonly description: "Task description for this agent.";
340
+ };
341
+ readonly code: {
342
+ readonly type: "string";
343
+ readonly description: "Optional code to analyze (triggers analyze() instead of plan()).";
344
+ };
345
+ readonly context: {
346
+ readonly type: "string";
347
+ readonly description: "Optional additional context.";
348
+ };
349
+ readonly project_dir: {
350
+ readonly type: "string";
351
+ readonly description: "Optional: per-task project dir override.";
352
+ };
353
+ };
354
+ readonly required: readonly ["id", "agent", "task"];
355
+ };
356
+ };
357
+ readonly project_dir: {
358
+ readonly type: "string";
359
+ readonly description: "Optional: project directory applied to all tasks (per-task project_dir overrides this). Auto-injects codebase context.";
360
+ };
361
+ readonly max_tokens: {
362
+ readonly type: "number";
363
+ readonly description: "Optional: token budget for this parallel execution. Veto estimates combined output tokens and warns if the estimate exceeds this limit. Logged to usage_log.";
364
+ };
365
+ };
366
+ readonly required: readonly ["tasks"];
367
+ };
368
+ }, {
369
+ readonly name: "veto_task_parse";
370
+ readonly description: "Parses a plain-English project description or PRD into a structured task DAG with dependencies, complexity scores, priorities, and suggested agent assignments. Feeds directly into veto_workflow.";
371
+ readonly inputSchema: {
372
+ readonly type: "object";
373
+ readonly properties: {
374
+ readonly description: {
375
+ readonly type: "string";
376
+ readonly description: "Project description, PRD, or feature brief to parse into tasks.";
377
+ };
378
+ readonly project_dir: {
379
+ readonly type: "string";
380
+ readonly description: "Optional project directory for codebase context injection.";
381
+ };
382
+ readonly max_tasks: {
383
+ readonly type: "number";
384
+ readonly description: "Maximum number of tasks to generate (default 20).";
385
+ };
386
+ };
387
+ readonly required: readonly ["description"];
388
+ };
389
+ }, {
390
+ readonly name: "veto_code_review";
391
+ readonly description: "Runs the Code Reviewer agent on provided code. Returns scored findings (complexity, error handling, magic numbers, nesting, dead code) with severity and fixes. Pass file_path to surface findings as VS Code inline diagnostics (squiggles).";
392
+ readonly inputSchema: {
393
+ readonly type: "object";
394
+ readonly properties: {
395
+ readonly code: {
396
+ readonly type: "string";
397
+ readonly description: "The code to review.";
398
+ };
399
+ readonly context: {
400
+ readonly type: "string";
401
+ readonly description: "Optional: file name, module description, or review focus.";
402
+ };
403
+ readonly file_path: {
404
+ readonly type: "string";
405
+ readonly description: "Optional: absolute path to the file being reviewed. When provided, findings are stored as VS Code inline diagnostics.";
406
+ };
407
+ };
408
+ readonly required: readonly ["code"];
409
+ };
410
+ }, {
411
+ readonly name: "veto_diff_review";
412
+ readonly description: "Reviews a git diff — runs code review, security scan, and secrets scan in parallel across all changed files. Returns a structured verdict (pass/warn/fail), per-file findings, and a CI-ready summary. Pass diff directly or let Veto read it from project_dir automatically.";
413
+ readonly inputSchema: {
414
+ readonly type: "object";
415
+ readonly properties: {
416
+ readonly diff: {
417
+ readonly type: "string";
418
+ readonly description: "The git diff to review. If omitted, Veto runs git diff HEAD in project_dir.";
419
+ };
420
+ readonly project_dir: {
421
+ readonly type: "string";
422
+ readonly description: "Absolute project path. Used to auto-read git diff if diff is not provided, and to inject codebase context.";
423
+ };
424
+ readonly context: {
425
+ readonly type: "string";
426
+ readonly description: "Optional: PR description, ticket number, or focus area.";
427
+ };
428
+ };
429
+ readonly required: readonly [];
430
+ };
431
+ }, {
432
+ readonly name: "veto_security_scan";
433
+ readonly description: "Runs the Security Scanner (OWASP Top 10) on provided code. Returns vulnerabilities with severity, CWE/OWASP category, and remediation steps. Pass file_path to surface findings as VS Code inline diagnostics.";
434
+ readonly inputSchema: {
435
+ readonly type: "object";
436
+ readonly properties: {
437
+ readonly code: {
438
+ readonly type: "string";
439
+ readonly description: "The code to scan.";
440
+ };
441
+ readonly context: {
442
+ readonly type: "string";
443
+ readonly description: "Optional: language, framework, or specific concerns.";
444
+ };
445
+ readonly file_path: {
446
+ readonly type: "string";
447
+ readonly description: "Optional: absolute path to the file being scanned. When provided, findings are stored as VS Code inline diagnostics.";
448
+ };
449
+ };
450
+ readonly required: readonly ["code"];
451
+ };
452
+ }, {
453
+ readonly name: "veto_secrets_scan";
454
+ readonly description: "Scans text or code for exposed credentials — API keys, tokens, passwords, connection strings, private keys. Returns findings with masked values and line numbers. Pass file_path to surface findings as VS Code inline diagnostics.";
455
+ readonly inputSchema: {
456
+ readonly type: "object";
457
+ readonly properties: {
458
+ readonly text: {
459
+ readonly type: "string";
460
+ readonly description: "The text or code to scan for secrets.";
461
+ };
462
+ readonly file_path: {
463
+ readonly type: "string";
464
+ readonly description: "Optional: absolute path to the file being scanned. When provided, findings are stored as VS Code inline diagnostics.";
465
+ };
466
+ };
467
+ readonly required: readonly ["text"];
468
+ };
469
+ }, {
470
+ readonly name: "veto_pr_review";
471
+ readonly description: "Fetches a GitHub PR diff and runs the full Veto triple-scan (code review + security + secrets). Returns a structured verdict and ready-to-post GitHub review comments. Set GITHUB_TOKEN env var for private repos.";
472
+ readonly inputSchema: {
473
+ readonly type: "object";
474
+ readonly properties: {
475
+ readonly pr_url: {
476
+ readonly type: "string";
477
+ readonly description: "Full GitHub PR URL. e.g. https://github.com/owner/repo/pull/123";
478
+ };
479
+ readonly context: {
480
+ readonly type: "string";
481
+ readonly description: "Optional: PR description or ticket number for extra context.";
482
+ };
483
+ readonly fail_on: {
484
+ readonly type: "string";
485
+ readonly enum: readonly ["warn", "fail"];
486
+ readonly description: "Whether WARN counts as a failure. Default: \"fail\".";
487
+ };
488
+ };
489
+ readonly required: readonly ["pr_url"];
490
+ };
491
+ }, {
492
+ readonly name: "veto_memory_store";
493
+ readonly description: "Stores a knowledge entry (solution, pattern, error, reference, or decision) in the local knowledge base for retrieval across sessions. Search before storing to avoid duplicates.";
494
+ readonly inputSchema: {
495
+ readonly type: "object";
496
+ readonly properties: {
497
+ readonly title: {
498
+ readonly type: "string";
499
+ readonly description: "Precise, searchable title. Bad: \"Fixed bug\". Good: \"Fix: Node sqlite fails on Windows without --experimental-sqlite\".";
500
+ };
501
+ readonly content: {
502
+ readonly type: "string";
503
+ readonly description: "Self-contained content: problem → root cause → solution. Future agents must understand it without original context.";
504
+ };
505
+ readonly type: {
506
+ readonly type: "string";
507
+ readonly description: "Entry type.";
508
+ readonly enum: readonly ["solution", "pattern", "context", "error", "reference", "decision"];
509
+ };
510
+ readonly tags: {
511
+ readonly type: "array";
512
+ readonly items: {
513
+ readonly type: "string";
514
+ };
515
+ readonly description: "Search tags (3–5 recommended). Examples: [\"typescript\", \"auth\", \"jwt\"].";
516
+ };
517
+ readonly project_dir: {
518
+ readonly type: "string";
519
+ readonly description: "Absolute project path. Include for project-specific knowledge; omit for general programming knowledge.";
520
+ };
521
+ readonly session_id: {
522
+ readonly type: "string";
523
+ readonly description: "Optional: associate this knowledge entry with an active session.";
524
+ };
525
+ readonly relevance: {
526
+ readonly type: "number";
527
+ readonly description: "Initial relevance score 0.0–1.0 (default 1.0).";
528
+ };
529
+ };
530
+ readonly required: readonly ["title", "content"];
531
+ };
532
+ }, {
533
+ readonly name: "veto_memory_search";
534
+ readonly description: "Searches the local knowledge base for entries matching a query. Call at the start of every task to find prior solutions before solving from scratch.";
535
+ readonly inputSchema: {
536
+ readonly type: "object";
537
+ readonly properties: {
538
+ readonly query: {
539
+ readonly type: "string";
540
+ readonly description: "Search terms (full-text search on title and content).";
541
+ };
542
+ readonly type: {
543
+ readonly type: "string";
544
+ readonly description: "Filter by entry type.";
545
+ readonly enum: readonly ["solution", "pattern", "context", "error", "reference", "decision"];
546
+ };
547
+ readonly project_dir: {
548
+ readonly type: "string";
549
+ readonly description: "Filter to a specific project directory.";
550
+ };
551
+ readonly limit: {
552
+ readonly type: "number";
553
+ readonly description: "Max results to return (default 10, max 50).";
554
+ };
555
+ };
556
+ readonly required: readonly [];
557
+ };
558
+ }, {
559
+ readonly name: "veto_memory_delete";
560
+ readonly description: "Deletes a knowledge entry by ID. Use to remove stale or duplicate entries found via veto_memory_search.";
561
+ readonly inputSchema: {
562
+ readonly type: "object";
563
+ readonly properties: {
564
+ readonly id: {
565
+ readonly type: "string";
566
+ readonly description: "The knowledge entry ID (from veto_memory_search results).";
567
+ };
568
+ };
569
+ readonly required: readonly ["id"];
570
+ };
571
+ }, {
572
+ readonly name: "veto_memory_export";
573
+ readonly description: "Exports all local memory (sessions, knowledge, patterns, decisions, project maps) to a portable JSON file. Copy the file to another machine and run veto_memory_import there to resume work. No external services required.";
574
+ readonly inputSchema: {
575
+ readonly type: "object";
576
+ readonly properties: {
577
+ readonly output_path: {
578
+ readonly type: "string";
579
+ readonly description: "Where to write the export file. Defaults to ~/.veto/veto-export.json. Use a path on shared storage (Dropbox, OneDrive, USB) to make transfer easy.";
580
+ };
581
+ };
582
+ readonly required: readonly [];
583
+ };
584
+ }, {
585
+ readonly name: "veto_memory_import";
586
+ readonly description: "Imports memory from a JSON file exported by veto_memory_export on another machine. Merges into local SQLite using INSERT OR IGNORE — existing local rows are never overwritten. Call veto_sessions_list after import to confirm sessions arrived.";
587
+ readonly inputSchema: {
588
+ readonly type: "object";
589
+ readonly properties: {
590
+ readonly input_path: {
591
+ readonly type: "string";
592
+ readonly description: "Path to the export JSON file. Defaults to ~/.veto/veto-export.json.";
593
+ };
594
+ };
595
+ readonly required: readonly [];
596
+ };
597
+ }, {
598
+ readonly name: "veto_pattern_store";
599
+ readonly description: "Stores or updates a coding pattern observed in the codebase. Patterns are keyed by category.pattern-name and confidence increases with repeated observation.";
600
+ readonly inputSchema: {
601
+ readonly type: "object";
602
+ readonly properties: {
603
+ readonly pattern_key: {
604
+ readonly type: "string";
605
+ readonly description: "Pattern identifier in category.pattern-name format. Example: \"code.async-pattern\" or \"naming.variable-case\".";
606
+ };
607
+ readonly pattern_val: {
608
+ readonly type: "string";
609
+ readonly description: "The observed pattern value. Example: \"async/await with try/catch, no raw Promise chains\".";
610
+ };
611
+ readonly confidence: {
612
+ readonly type: "number";
613
+ readonly description: "Confidence score 0.0–1.0 (default 1.0). Increases automatically on repeated observation.";
614
+ };
615
+ };
616
+ readonly required: readonly ["pattern_key", "pattern_val"];
617
+ };
618
+ }, {
619
+ readonly name: "veto_patterns_list";
620
+ readonly description: "Returns stored coding patterns. Filter by prefix to get patterns in a specific category (e.g. prefix=\"naming.\" for all naming conventions).";
621
+ readonly inputSchema: {
622
+ readonly type: "object";
623
+ readonly properties: {
624
+ readonly prefix: {
625
+ readonly type: "string";
626
+ readonly description: "Optional prefix filter. Example: \"code.\" or \"naming.\" or \"testing.\".";
627
+ };
628
+ readonly limit: {
629
+ readonly type: "number";
630
+ readonly description: "Max patterns to return (default 20).";
631
+ };
632
+ };
633
+ readonly required: readonly [];
634
+ };
635
+ }, {
636
+ readonly name: "veto_record_outcome";
637
+ readonly description: "Records a task outcome (quality score) to feed the self-learning router. Call after completing any task. After 20+ outcomes, call veto_learning_apply to update tier thresholds.";
638
+ readonly inputSchema: {
639
+ readonly type: "object";
640
+ readonly properties: {
641
+ readonly task_type: {
642
+ readonly type: "string";
643
+ readonly description: "Short consistent label for the task category (e.g. \"write-unit-tests\", \"fix-auth-bug\"). Use the same label for similar tasks to enable pattern detection.";
644
+ };
645
+ readonly complexity: {
646
+ readonly type: "number";
647
+ readonly description: "The complexity score from veto_route_task (0–100).";
648
+ };
649
+ readonly model_tier: {
650
+ readonly type: "number";
651
+ readonly description: "The tier that was actually used (1, 2, or 3).";
652
+ readonly enum: readonly [1, 2, 3];
653
+ };
654
+ readonly output_quality: {
655
+ readonly type: "number";
656
+ readonly description: "Output quality score 0–100. 90–100=excellent, 70–89=good, 50–69=acceptable, 30–49=poor, 0–29=failed.";
657
+ };
658
+ readonly agent: {
659
+ readonly type: "string";
660
+ readonly description: "The worker agent type used (optional but useful for agent performance tracking).";
661
+ };
662
+ readonly tokens_used: {
663
+ readonly type: "number";
664
+ readonly description: "Approximate tokens used (optional).";
665
+ };
666
+ readonly file_ext: {
667
+ readonly type: "string";
668
+ readonly description: "File extension of the primary file worked on (e.g. \".ts\", \".sql\", \".tsx\"). Enables predictive agent routing — next time you work on the same extension, veto_route_task will recommend the best agent.";
669
+ };
670
+ };
671
+ readonly required: readonly ["task_type", "complexity", "model_tier", "output_quality"];
672
+ };
673
+ }, {
674
+ readonly name: "veto_learning_stats";
675
+ readonly description: "Returns the self-learning router dashboard: tier distribution, per-agent quality stats, suggested threshold adjustments, and council insights. Use to understand how the router is performing and where to improve.";
676
+ readonly inputSchema: {
677
+ readonly type: "object";
678
+ readonly properties: {
679
+ readonly include_agent_stats: {
680
+ readonly type: "boolean";
681
+ readonly description: "Include per-agent quality breakdown (default true).";
682
+ };
683
+ readonly include_task_types: {
684
+ readonly type: "boolean";
685
+ readonly description: "Include per-task-type breakdown (default false, verbose).";
686
+ };
687
+ readonly include_council_insights: {
688
+ readonly type: "boolean";
689
+ readonly description: "Include council decision → debugging correlation (default false).";
690
+ };
691
+ };
692
+ readonly required: readonly [];
693
+ };
694
+ }, {
695
+ readonly name: "veto_learning_apply";
696
+ readonly description: "Applies learned tier thresholds to the router based on recorded task outcomes. Requires at least 20 recorded outcomes. The router immediately uses the new thresholds on the next veto_route_task call.";
697
+ readonly inputSchema: {
698
+ readonly type: "object";
699
+ readonly properties: {};
700
+ readonly required: readonly [];
701
+ };
702
+ }, {
703
+ readonly name: "veto_project_map_update";
704
+ readonly description: "Updates the project structure map for a directory. Call after creating, deleting, or moving files. The map enables fast codebase navigation without filesystem scans.";
705
+ readonly inputSchema: {
706
+ readonly type: "object";
707
+ readonly properties: {
708
+ readonly project_dir: {
709
+ readonly type: "string";
710
+ readonly description: "Absolute path to the project root.";
711
+ };
712
+ readonly structure: {
713
+ readonly type: "string";
714
+ readonly description: "JSON string representing the directory tree. Example: {\"src/\":{\"agents/\":[\"coder.ts\",\"reviewer.ts\"],\"router/\":[\"index.ts\"]}}";
715
+ };
716
+ readonly key_modules: {
717
+ readonly type: "array";
718
+ readonly items: {
719
+ readonly type: "string";
720
+ };
721
+ readonly description: "The 10–20 most important files with their roles. Example: [\"src/server.ts (MCP entry point)\", \"src/router/index.ts (task router)\"].";
722
+ };
723
+ readonly tech_stack: {
724
+ readonly type: "array";
725
+ readonly items: {
726
+ readonly type: "string";
727
+ };
728
+ readonly description: "Frameworks and key libraries. Example: [\"TypeScript\", \"Node.js 22\", \"Express\", \"SQLite\"].";
729
+ };
730
+ };
731
+ readonly required: readonly ["project_dir", "structure"];
732
+ };
733
+ }, {
734
+ readonly name: "veto_project_map_get";
735
+ readonly description: "Returns the stored project structure map for a directory. Use to navigate the codebase without scanning the filesystem.";
736
+ readonly inputSchema: {
737
+ readonly type: "object";
738
+ readonly properties: {
739
+ readonly project_dir: {
740
+ readonly type: "string";
741
+ readonly description: "Absolute path to the project root.";
742
+ };
743
+ };
744
+ readonly required: readonly ["project_dir"];
745
+ };
746
+ }, {
747
+ readonly name: "veto_discover";
748
+ readonly description: "Scans a project directory and builds a rich context map: git state, tech stack, file structure, dependencies, and key config files. Stores the result in Veto memory so agents always have accurate project context. Call this once per project or after major structural changes.";
749
+ readonly inputSchema: {
750
+ readonly type: "object";
751
+ readonly properties: {
752
+ readonly project_dir: {
753
+ readonly type: "string";
754
+ readonly description: "Absolute path to the project directory to scan.";
755
+ };
756
+ readonly depth: {
757
+ readonly type: "string";
758
+ readonly enum: readonly ["quick", "standard", "full"];
759
+ readonly description: "Scan depth. quick: git + package metadata only. standard: + file tree up to 3 levels (default). full: + contents of key config files.";
760
+ };
761
+ readonly store: {
762
+ readonly type: "boolean";
763
+ readonly description: "Whether to store the discovery in Veto memory as a project map. Default: true.";
764
+ };
765
+ };
766
+ readonly required: readonly ["project_dir"];
767
+ };
768
+ }, {
769
+ readonly name: "veto_context_status";
770
+ readonly description: "Returns the context window usage for a saved session — tokens used, % of platform limit consumed, and whether to compress or hand off before the window fills.";
771
+ readonly inputSchema: {
772
+ readonly type: "object";
773
+ readonly properties: {
774
+ readonly session_id: {
775
+ readonly type: "string";
776
+ readonly description: "Session ID to check.";
777
+ };
778
+ };
779
+ readonly required: readonly ["session_id"];
780
+ };
781
+ }, {
782
+ readonly name: "veto_workflow";
783
+ readonly description: "Runs a sequential agent pipeline with optional pass/fail gates between steps. Each step runs a worker agent; if a gate score is set and the step confidence falls below it, the pipeline stops. Returns per-step results plus an overall verdict (passed/partial/failed).";
784
+ readonly inputSchema: {
785
+ readonly type: "object";
786
+ readonly properties: {
787
+ readonly steps: {
788
+ readonly type: "array";
789
+ readonly description: "Ordered pipeline steps.";
790
+ readonly items: {
791
+ readonly type: "object";
792
+ readonly properties: {
793
+ readonly id: {
794
+ readonly type: "string";
795
+ readonly description: "Step identifier.";
796
+ };
797
+ readonly agent: {
798
+ readonly type: "string";
799
+ readonly description: "Worker agent type.";
800
+ };
801
+ readonly task: {
802
+ readonly type: "string";
803
+ readonly description: "Task description for this step.";
804
+ };
805
+ readonly code: {
806
+ readonly type: "string";
807
+ readonly description: "Optional code to analyze.";
808
+ };
809
+ readonly context: {
810
+ readonly type: "string";
811
+ readonly description: "Optional context.";
812
+ };
813
+ readonly gate: {
814
+ readonly type: "number";
815
+ readonly description: "Optional minimum confidence % (0–100) required to proceed to the next step.";
816
+ };
817
+ };
818
+ readonly required: readonly ["id", "agent", "task"];
819
+ };
820
+ };
821
+ readonly project_dir: {
822
+ readonly type: "string";
823
+ readonly description: "Optional project directory — auto-injects codebase context into all steps.";
824
+ };
825
+ };
826
+ readonly required: readonly ["steps"];
827
+ };
828
+ }, {
829
+ readonly name: "veto_watch";
830
+ readonly description: "Starts a file watcher on a project directory. Returns a watch_id. Call veto_watch_poll to collect file-change events with recommended agents. Call veto_watch_stop when done.";
831
+ readonly inputSchema: {
832
+ readonly type: "object";
833
+ readonly properties: {
834
+ readonly project_dir: {
835
+ readonly type: "string";
836
+ readonly description: "Absolute path to the project directory to watch.";
837
+ };
838
+ };
839
+ readonly required: readonly ["project_dir"];
840
+ };
841
+ }, {
842
+ readonly name: "veto_watch_poll";
843
+ readonly description: "Polls for file-change events from an active watcher. Returns accumulated events since last poll (events are cleared on read). Each event includes the file, recommended agent, and suggested veto tool to call.";
844
+ readonly inputSchema: {
845
+ readonly type: "object";
846
+ readonly properties: {
847
+ readonly watch_id: {
848
+ readonly type: "string";
849
+ readonly description: "The watch_id returned by veto_watch.";
850
+ };
851
+ };
852
+ readonly required: readonly ["watch_id"];
853
+ };
854
+ }, {
855
+ readonly name: "veto_watch_stop";
856
+ readonly description: "Stops an active file watcher.";
857
+ readonly inputSchema: {
858
+ readonly type: "object";
859
+ readonly properties: {
860
+ readonly watch_id: {
861
+ readonly type: "string";
862
+ readonly description: "The watch_id returned by veto_watch.";
863
+ };
864
+ };
865
+ readonly required: readonly ["watch_id"];
866
+ };
867
+ }, {
868
+ readonly name: "veto_ci_gate";
869
+ readonly description: "CI/CD pipeline gate. Runs code review + security scan + secrets scan on a git diff and returns a structured pass/warn/fail verdict with exit code. Ready for GitHub Actions and GitLab CI.";
870
+ readonly inputSchema: {
871
+ readonly type: "object";
872
+ readonly properties: {
873
+ readonly project_dir: {
874
+ readonly type: "string";
875
+ readonly description: "Absolute project path. Veto reads git diff HEAD automatically.";
876
+ };
877
+ readonly diff: {
878
+ readonly type: "string";
879
+ readonly description: "Optional: pass a diff string directly instead of reading from project_dir.";
880
+ };
881
+ readonly context: {
882
+ readonly type: "string";
883
+ readonly description: "Optional: PR description or ticket number for context.";
884
+ };
885
+ readonly fail_on: {
886
+ readonly type: "string";
887
+ readonly enum: readonly ["warn", "fail"];
888
+ readonly description: "Whether WARN counts as a failure (exit code 1). Default: \"fail\" — only FAIL exits non-zero.";
889
+ };
890
+ };
891
+ readonly required: readonly ["project_dir"];
892
+ };
893
+ }, {
894
+ readonly name: "veto_usage_status";
895
+ readonly description: "Live AI usage dashboard. Shows tokens consumed today, requests per platform, subscription vs API usage split, 7-day history, and warnings when approaching limits.";
896
+ readonly inputSchema: {
897
+ readonly type: "object";
898
+ readonly properties: {};
899
+ readonly required: readonly [];
900
+ };
901
+ }, {
902
+ readonly name: "veto_audit_log";
903
+ readonly description: "Queryable log of every council verdict, decision, and session event. Filter by session, agent, verdict, or date. Essential for tracing what happened and why.";
904
+ readonly inputSchema: {
905
+ readonly type: "object";
906
+ readonly properties: {
907
+ readonly session_id: {
908
+ readonly type: "string";
909
+ readonly description: "Filter to a specific session.";
910
+ };
911
+ readonly verdict: {
912
+ readonly type: "string";
913
+ readonly description: "Filter by council verdict (GREEN, YELLOW, RED).";
914
+ };
915
+ readonly since: {
916
+ readonly type: "string";
917
+ readonly description: "ISO date — only return events after this time.";
918
+ };
919
+ readonly limit: {
920
+ readonly type: "number";
921
+ readonly description: "Max events to return (default 20, max 100).";
922
+ };
923
+ };
924
+ readonly required: readonly [];
925
+ };
926
+ }, {
927
+ readonly name: "veto_platform_setup";
928
+ readonly description: "Returns the exact MCP config and setup steps to connect a specific AI platform to this Veto server.";
929
+ readonly inputSchema: {
930
+ readonly type: "object";
931
+ readonly properties: {
932
+ readonly platform: {
933
+ readonly type: "string";
934
+ readonly enum: readonly ["claude", "gemini", "codex"];
935
+ readonly description: "The platform to get setup instructions for.";
936
+ };
937
+ readonly veto_server_path: {
938
+ readonly type: "string";
939
+ readonly description: "Absolute path to the built veto server (dist/server.js).";
940
+ };
941
+ };
942
+ readonly required: readonly ["platform", "veto_server_path"];
943
+ };
944
+ }, {
945
+ readonly name: "veto_plugins";
946
+ readonly description: "Lists all custom agents loaded from ~/.veto/agents/. Drop a .js file there that exports plan(task, context?) to register a new agent available in veto_agent_plan and veto_execute_parallel.";
947
+ readonly inputSchema: {
948
+ readonly type: "object";
949
+ readonly properties: {};
950
+ readonly required: readonly [];
951
+ };
952
+ }, {
953
+ readonly name: "veto_docs_fetch";
954
+ readonly description: "Fetches current, version-accurate documentation for any npm, PyPI, or crates.io package and returns it for injection into agent context. Eliminates hallucinated APIs. Results are cached for 24 hours.";
955
+ readonly inputSchema: {
956
+ readonly type: "object";
957
+ readonly properties: {
958
+ readonly package_name: {
959
+ readonly type: "string";
960
+ readonly description: "Package name (e.g. \"react\", \"requests\", \"serde\").";
961
+ };
962
+ readonly ecosystem: {
963
+ readonly type: "string";
964
+ readonly enum: readonly ["npm", "pypi", "crates"];
965
+ readonly description: "Package ecosystem.";
966
+ };
967
+ readonly version: {
968
+ readonly type: "string";
969
+ readonly description: "Specific version. Defaults to latest.";
970
+ };
971
+ readonly max_chars: {
972
+ readonly type: "number";
973
+ readonly description: "Max characters to return (default 8000). Higher = more complete docs, more tokens.";
974
+ };
975
+ };
976
+ readonly required: readonly ["package_name", "ecosystem"];
977
+ };
978
+ }, {
979
+ readonly name: "veto_explain";
980
+ readonly description: "Explains a file or raw text using the most appropriate expert agent. Pass file_path to explain a source file, or text to explain an error message, stack trace, or compiler output. Agent is auto-detected from file extension or content.";
981
+ readonly inputSchema: {
982
+ readonly type: "object";
983
+ readonly properties: {
984
+ readonly file_path: {
985
+ readonly type: "string";
986
+ readonly description: "Absolute path to the file to explain.";
987
+ };
988
+ readonly text: {
989
+ readonly type: "string";
990
+ readonly description: "Raw text to explain — error messages, stack traces, compiler output, or any code snippet. Automatically routes to debugger agent for error-like content.";
991
+ };
992
+ readonly depth: {
993
+ readonly type: "string";
994
+ readonly enum: readonly ["overview", "detailed", "line-by-line"];
995
+ readonly description: "Explanation depth. Default: overview.";
996
+ };
997
+ readonly context: {
998
+ readonly type: "string";
999
+ readonly description: "Optional focus area or context.";
1000
+ };
1001
+ };
1002
+ readonly required: readonly [];
1003
+ };
1004
+ }, {
1005
+ readonly name: "veto_summarize";
1006
+ readonly description: "Generates a concise expert briefing of a project, directory, or file. Use at the start of a session to orient yourself on unfamiliar code. Returns bullet-point summary, key components, tech stack, and entry points. Faster and higher-level than veto_explain.";
1007
+ readonly inputSchema: {
1008
+ readonly type: "object";
1009
+ readonly properties: {
1010
+ readonly project_dir: {
1011
+ readonly type: "string";
1012
+ readonly description: "Absolute path to a project directory to summarize.";
1013
+ };
1014
+ readonly file_path: {
1015
+ readonly type: "string";
1016
+ readonly description: "Absolute path to a single file to summarize. If both project_dir and file_path are given, file_path takes precedence.";
1017
+ };
1018
+ readonly focus: {
1019
+ readonly type: "string";
1020
+ readonly description: "Optional focus area: e.g. \"security\", \"APIs\", \"data flow\", \"architecture\". Narrows the summary.";
1021
+ };
1022
+ readonly format: {
1023
+ readonly type: "string";
1024
+ readonly enum: readonly ["brief", "detailed"];
1025
+ readonly description: "brief: 4–6 bullet points (default). detailed: paragraph-level prose.";
1026
+ };
1027
+ };
1028
+ readonly required: readonly [];
1029
+ };
1030
+ }, {
1031
+ readonly name: "veto_metrics";
1032
+ readonly description: "Returns a usage dashboard for the current Veto installation — sessions saved, council debates, quality trend, most-used agents, and knowledge base stats. Zero cost: pure SQLite reads. Great for a weekly health check.";
1033
+ readonly inputSchema: {
1034
+ readonly type: "object";
1035
+ readonly properties: {};
1036
+ readonly required: readonly [];
1037
+ };
1038
+ }, {
1039
+ readonly name: "veto_git_blame";
1040
+ readonly description: "Returns ownership and contribution history for a file or directory — total commits, contributor list with commit counts, and last-modified metadata. Uses local git history: instant, zero network.";
1041
+ readonly inputSchema: {
1042
+ readonly type: "object";
1043
+ readonly properties: {
1044
+ readonly project_dir: {
1045
+ readonly type: "string";
1046
+ readonly description: "Absolute path to a project directory to analyse.";
1047
+ };
1048
+ readonly file_path: {
1049
+ readonly type: "string";
1050
+ readonly description: "Absolute path to a single file. If both are provided, file_path takes precedence.";
1051
+ };
1052
+ };
1053
+ readonly required: readonly [];
1054
+ };
1055
+ }, {
1056
+ readonly name: "veto_changelog";
1057
+ readonly description: "Generates a structured changelog from git commits since the last tag, grouped by conventional commit type (feat, fix, refactor, etc.). Pure local git — no external calls.";
1058
+ readonly inputSchema: {
1059
+ readonly type: "object";
1060
+ readonly properties: {
1061
+ readonly project_dir: {
1062
+ readonly type: "string";
1063
+ readonly description: "Absolute path to the project directory. Defaults to the active project.";
1064
+ };
1065
+ readonly max_entries: {
1066
+ readonly type: "number";
1067
+ readonly description: "Maximum commits to include (default 50, max 200).";
1068
+ };
1069
+ };
1070
+ readonly required: readonly [];
1071
+ };
1072
+ }];
1073
+ //# sourceMappingURL=definitions.d.ts.map