@jigyasudham/veto 1.4.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/AGENTS.md +134 -0
  2. package/README.md +61 -144
  3. package/dist/adapters/index.d.ts +3 -2
  4. package/dist/adapters/index.d.ts.map +1 -1
  5. package/dist/adapters/index.js +105 -1
  6. package/dist/adapters/index.js.map +1 -1
  7. package/dist/agents/executor.d.ts +2 -0
  8. package/dist/agents/executor.d.ts.map +1 -1
  9. package/dist/agents/executor.js +50 -3
  10. package/dist/agents/executor.js.map +1 -1
  11. package/dist/agents/llm-runner.d.ts +11 -0
  12. package/dist/agents/llm-runner.d.ts.map +1 -0
  13. package/dist/agents/llm-runner.js +252 -0
  14. package/dist/agents/llm-runner.js.map +1 -0
  15. package/dist/agents/local-llm.d.ts +14 -0
  16. package/dist/agents/local-llm.d.ts.map +1 -0
  17. package/dist/agents/local-llm.js +51 -0
  18. package/dist/agents/local-llm.js.map +1 -0
  19. package/dist/agents/manifest.d.ts +13 -0
  20. package/dist/agents/manifest.d.ts.map +1 -0
  21. package/dist/agents/manifest.js +55 -0
  22. package/dist/agents/manifest.js.map +1 -0
  23. package/dist/agents/quality/clone-detector.d.ts +16 -0
  24. package/dist/agents/quality/clone-detector.d.ts.map +1 -0
  25. package/dist/agents/quality/clone-detector.js +72 -0
  26. package/dist/agents/quality/clone-detector.js.map +1 -0
  27. package/dist/agents/types.d.ts +15 -0
  28. package/dist/agents/types.d.ts.map +1 -1
  29. package/dist/agents/validate.d.ts +11 -0
  30. package/dist/agents/validate.d.ts.map +1 -0
  31. package/dist/agents/validate.js +54 -0
  32. package/dist/agents/validate.js.map +1 -0
  33. package/dist/cli.js +331 -21
  34. package/dist/cli.js.map +1 -1
  35. package/dist/council/llm-council.d.ts.map +1 -1
  36. package/dist/council/llm-council.js +10 -9
  37. package/dist/council/llm-council.js.map +1 -1
  38. package/dist/council/types.d.ts +2 -0
  39. package/dist/council/types.d.ts.map +1 -1
  40. package/dist/memory/local.d.ts +29 -1
  41. package/dist/memory/local.d.ts.map +1 -1
  42. package/dist/memory/local.js +96 -2
  43. package/dist/memory/local.js.map +1 -1
  44. package/dist/memory/schema.d.ts +28 -43
  45. package/dist/memory/schema.d.ts.map +1 -1
  46. package/dist/memory/schema.js +41 -0
  47. package/dist/memory/schema.js.map +1 -1
  48. package/dist/memory/sync.d.ts +13 -0
  49. package/dist/memory/sync.d.ts.map +1 -1
  50. package/dist/memory/sync.js +113 -0
  51. package/dist/memory/sync.js.map +1 -1
  52. package/dist/repo-map/ignore.d.ts +8 -0
  53. package/dist/repo-map/ignore.d.ts.map +1 -0
  54. package/dist/repo-map/ignore.js +65 -0
  55. package/dist/repo-map/ignore.js.map +1 -0
  56. package/dist/repo-map/index.d.ts +29 -0
  57. package/dist/repo-map/index.d.ts.map +1 -0
  58. package/dist/repo-map/index.js +240 -0
  59. package/dist/repo-map/index.js.map +1 -0
  60. package/dist/router/context-compressor.d.ts +1 -1
  61. package/dist/router/context-compressor.d.ts.map +1 -1
  62. package/dist/router/context-compressor.js +9 -3
  63. package/dist/router/context-compressor.js.map +1 -1
  64. package/dist/router/index.d.ts +8 -3
  65. package/dist/router/index.d.ts.map +1 -1
  66. package/dist/router/index.js +20 -4
  67. package/dist/router/index.js.map +1 -1
  68. package/dist/router/learning-updater.d.ts +41 -0
  69. package/dist/router/learning-updater.d.ts.map +1 -1
  70. package/dist/router/learning-updater.js +62 -0
  71. package/dist/router/learning-updater.js.map +1 -1
  72. package/dist/router/model-selector.d.ts +4 -1
  73. package/dist/router/model-selector.d.ts.map +1 -1
  74. package/dist/router/model-selector.js +24 -28
  75. package/dist/router/model-selector.js.map +1 -1
  76. package/dist/server.js +3121 -1634
  77. package/dist/server.js.map +1 -1
  78. package/dist/tools/definitions.d.ts +1205 -171
  79. package/dist/tools/definitions.d.ts.map +1 -1
  80. package/dist/tools/definitions.js +678 -4
  81. package/dist/tools/definitions.js.map +1 -1
  82. package/dist/watcher/index.d.ts +1 -0
  83. package/dist/watcher/index.d.ts.map +1 -1
  84. package/dist/watcher/index.js +7 -6
  85. package/dist/watcher/index.js.map +1 -1
  86. package/dist/workflow/pipeline.d.ts +12 -2
  87. package/dist/workflow/pipeline.d.ts.map +1 -1
  88. package/dist/workflow/pipeline.js +395 -16
  89. package/dist/workflow/pipeline.js.map +1 -1
  90. package/p7.ts +6 -0
  91. package/package.json +8 -4
@@ -1,5 +1,13 @@
1
+ import { validateAgentPlan, validateAgentAnalysis } from './validate.js';
1
2
  import { buildContextString } from '../context/reader.js';
2
3
  import { getPlugin } from '../plugins/loader.js';
4
+ import { runAgentLlm, buildAgenticAgentPrompt } from './llm-runner.js';
5
+ // Set once at server startup — enables LLM-backed execution for all agents.
6
+ // When null, all agents run deterministically (always available, zero tokens).
7
+ let _server;
8
+ export function initLlmRunner(server) {
9
+ _server = server;
10
+ }
3
11
  // Development agents
4
12
  import * as coder from './development/coder.js';
5
13
  import * as reviewer from './development/reviewer.js';
@@ -146,27 +154,66 @@ function deriveOutput(plan, analysis) {
146
154
  export async function executeOne(task) {
147
155
  const start = Date.now();
148
156
  try {
157
+ const enrichedContext = buildContextString(task.project_dir, task.context);
158
+ const enrichedTask = enrichedContext ? { ...task, context: enrichedContext } : task;
159
+ // LLM-backed path: opt-in via llm_backed flag
160
+ if (_server && task.llm_backed) {
161
+ const llmResult = await runAgentLlm(_server, enrichedTask);
162
+ if (llmResult) {
163
+ return {
164
+ id: task.id,
165
+ agent: task.agent,
166
+ plan: llmResult.plan,
167
+ analysis: llmResult.analysis,
168
+ output: deriveOutput(llmResult.plan, llmResult.analysis),
169
+ duration_ms: Date.now() - start,
170
+ llm_backed: true,
171
+ };
172
+ }
173
+ else {
174
+ // Phase 2: Return agentic upgrade prompt if sampling fails
175
+ const prompt = buildAgenticAgentPrompt(enrichedTask);
176
+ if (prompt) {
177
+ return {
178
+ id: task.id,
179
+ agent: task.agent,
180
+ output: { confidence: 0, severity: 'info', recommendation: 'Upgrade to LLM reasoning needed.', affected_files: [], line_refs: [] },
181
+ duration_ms: Date.now() - start,
182
+ llm_backed: false,
183
+ llm_upgrade: {
184
+ available: true,
185
+ instruction: `Reason as the ${task.agent} specialist and return the JSON response in the agent_response field.`,
186
+ prompt,
187
+ }
188
+ };
189
+ }
190
+ }
191
+ }
192
+ // Deterministic fallback
149
193
  const agent = resolveAgent(task.agent);
150
194
  const useAnalyze = task.code !== undefined && ANALYZE_CAPABLE.has(task.agent);
151
- const enrichedContext = buildContextString(task.project_dir, task.context);
152
195
  if (useAnalyze && agent.analyze) {
153
- const analysis = agent.analyze(task.code, enrichedContext || task.context);
196
+ const raw = agent.analyze(task.code, enrichedContext || task.context);
197
+ const analysis = validateAgentAnalysis(raw, task.agent) ?? raw;
154
198
  return {
155
199
  id: task.id,
156
200
  agent: task.agent,
157
201
  analysis,
158
202
  output: deriveOutput(undefined, analysis),
159
203
  duration_ms: Date.now() - start,
204
+ llm_backed: false,
160
205
  };
161
206
  }
162
207
  else {
163
- const plan = agent.plan(task.task, enrichedContext || task.context);
208
+ const raw = agent.plan(task.task, enrichedContext || task.context);
209
+ const plan = validateAgentPlan(raw, task.agent) ?? raw;
164
210
  return {
165
211
  id: task.id,
166
212
  agent: task.agent,
167
213
  plan,
168
214
  output: deriveOutput(plan, undefined),
169
215
  duration_ms: Date.now() - start,
216
+ llm_backed: false,
170
217
  };
171
218
  }
172
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import type { AgentTask, AgentResult, AgentPlan, AgentAnalysis, WorkerAgentType } from './types.js';
3
+ export declare function parsePlanResponse(raw: string, agent: WorkerAgentType, task: string): AgentPlan | null;
4
+ export declare function parseAnalysisResponse(raw: string, agent: WorkerAgentType): AgentAnalysis | null;
5
+ export declare function runAgentLlm(server: Server, task: AgentTask): Promise<{
6
+ plan?: AgentPlan;
7
+ analysis?: AgentAnalysis;
8
+ } | null>;
9
+ export declare function buildAgenticAgentPrompt(task: AgentTask): import('./types.js').AgenticAgentPrompt | null;
10
+ export declare function parseAgenticAgentResponses(tasks: AgentTask[], responses: Record<string, unknown>): AgentResult[];
11
+ //# sourceMappingURL=llm-runner.d.ts.map
@@ -0,0 +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;AAwEjH,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,CAuChE;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"}
@@ -0,0 +1,252 @@
1
+ // LLM-backed worker agent runner — uses MCP Sampling (server.createMessage) to
2
+ // produce richer plan/analysis output than the deterministic fallbacks.
3
+ // Falls back to the deterministic agent silently if sampling is unavailable.
4
+ import { getManifestEntry } from './manifest.js';
5
+ import { validateAgentPlan, validateAgentAnalysis } from './validate.js';
6
+ // ─── System prompt builders ───────────────────────────────────────────────────
7
+ 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
33
+ - Keep total JSON under 800 tokens`;
34
+ }
35
+ 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
68
+ - Keep total JSON under 1000 tokens`;
69
+ }
70
+ // ─── Response parsers ─────────────────────────────────────────────────────────
71
+ export function parsePlanResponse(raw, agent, task) {
72
+ try {
73
+ const match = raw.match(/\{[\s\S]*\}/);
74
+ if (!match)
75
+ return null;
76
+ const p = JSON.parse(match[0]);
77
+ const plan = {
78
+ agent,
79
+ task: typeof p.task === 'string' ? p.task : task,
80
+ tier: [1, 2, 3].includes(p.tier) ? p.tier : 2,
81
+ approach: typeof p.approach === 'string' && p.approach ? p.approach : 'No approach provided.',
82
+ steps: Array.isArray(p.steps) ? p.steps.filter((s) => typeof s === 'string') : [],
83
+ checklist: Array.isArray(p.checklist) ? p.checklist.filter((c) => typeof c === 'string') : [],
84
+ pitfalls: Array.isArray(p.pitfalls) ? p.pitfalls.filter((x) => typeof x === 'string') : [],
85
+ patterns: Array.isArray(p.patterns) ? p.patterns.filter((x) => typeof x === 'string') : [],
86
+ duration_estimate: typeof p.duration_estimate === 'string' ? p.duration_estimate : '2-4 hours',
87
+ };
88
+ return validateAgentPlan(plan, agent) ?? plan;
89
+ }
90
+ catch {
91
+ return null;
92
+ }
93
+ }
94
+ export function parseAnalysisResponse(raw, agent) {
95
+ try {
96
+ const match = raw.match(/\{[\s\S]*\}/);
97
+ if (!match)
98
+ return null;
99
+ const p = JSON.parse(match[0]);
100
+ const verdicts = ['approved', 'approved_with_warnings', 'needs_revision', 'rejected'];
101
+ const analysis = {
102
+ agent,
103
+ subject: typeof p.subject === 'string' ? p.subject : 'Code analysis',
104
+ findings: Array.isArray(p.findings) ? p.findings.filter(isValidFinding) : [],
105
+ score: typeof p.score === 'number' ? Math.min(100, Math.max(0, Math.round(p.score))) : 70,
106
+ verdict: verdicts.includes(p.verdict) ? p.verdict : 'approved_with_warnings',
107
+ summary: typeof p.summary === 'string' ? p.summary : 'No summary provided.',
108
+ critical_count: typeof p.critical_count === 'number' ? p.critical_count : 0,
109
+ high_count: typeof p.high_count === 'number' ? p.high_count : 0,
110
+ };
111
+ return validateAgentAnalysis(analysis, agent) ?? analysis;
112
+ }
113
+ catch {
114
+ return null;
115
+ }
116
+ }
117
+ function isValidFinding(f) {
118
+ if (!f || typeof f !== 'object')
119
+ return false;
120
+ const o = f;
121
+ return typeof o.severity === 'string' && typeof o.description === 'string' && typeof o.fix === 'string';
122
+ }
123
+ // ─── Core LLM call ───────────────────────────────────────────────────────────
124
+ export async function runAgentLlm(server, task) {
125
+ const entry = getManifestEntry(task.agent);
126
+ if (!entry)
127
+ return null;
128
+ const isAnalysis = task.code !== undefined && entry.output_type === 'analysis';
129
+ const systemPrompt = isAnalysis
130
+ ? buildAnalysisPrompt(task.agent, entry.role)
131
+ : buildPlanPrompt(task.agent, entry.role);
132
+ const userParts = [];
133
+ if (isAnalysis) {
134
+ userParts.push(`Code to analyze:\n\`\`\`\n${task.code}\n\`\`\``);
135
+ }
136
+ else {
137
+ userParts.push(`Task: ${task.task}`);
138
+ }
139
+ if (task.context)
140
+ userParts.push(`\nContext:\n${task.context}`);
141
+ const userText = userParts.join('\n');
142
+ try {
143
+ const result = await server.createMessage({
144
+ model: task.model,
145
+ messages: [{ role: 'user', content: { type: 'text', text: userText } }],
146
+ systemPrompt,
147
+ maxTokens: isAnalysis ? 1000 : 800,
148
+ });
149
+ const responseText = result.content.type === 'text' ? result.content.text : '';
150
+ if (!responseText)
151
+ return null;
152
+ if (isAnalysis) {
153
+ const analysis = parseAnalysisResponse(responseText, task.agent);
154
+ return analysis ? { analysis } : null;
155
+ }
156
+ else {
157
+ const plan = parsePlanResponse(responseText, task.agent, task.task);
158
+ return plan ? { plan } : null;
159
+ }
160
+ }
161
+ catch {
162
+ return null;
163
+ }
164
+ }
165
+ // ─── Agentic loop prompt ──────────────────────────────────────────────────────
166
+ export function buildAgenticAgentPrompt(task) {
167
+ const entry = getManifestEntry(task.agent);
168
+ if (!entry)
169
+ return null;
170
+ const isAnalysis = task.code !== undefined && entry.output_type === 'analysis';
171
+ const schema = isAnalysis
172
+ ? buildAnalysisPrompt(task.agent, entry.role)
173
+ : buildPlanPrompt(task.agent, entry.role);
174
+ return {
175
+ mode: 'agentic',
176
+ agent: task.agent,
177
+ instruction: `MCP Sampling is unavailable. Reason as the ${task.agent} specialist and produce the output yourself, then return it in the result.`,
178
+ output_prompt: isAnalysis
179
+ ? `Analyze the following code as the ${task.agent} specialist:\n\n${task.code ?? ''}\n\n${task.context ? `Context: ${task.context}` : ''}`
180
+ : `Plan the following task as the ${task.agent} specialist:\n\n${task.task}\n\n${task.context ? `Context: ${task.context}` : ''}`,
181
+ schema,
182
+ };
183
+ }
184
+ export function parseAgenticAgentResponses(tasks, responses) {
185
+ const results = [];
186
+ const start = Date.now();
187
+ for (const task of tasks) {
188
+ const raw = responses[task.id] || responses[task.agent];
189
+ if (!raw) {
190
+ results.push({
191
+ id: task.id,
192
+ agent: task.agent,
193
+ output: { confidence: 0, severity: 'info', recommendation: 'Missing agent response', affected_files: [], line_refs: [] },
194
+ duration_ms: 0,
195
+ error: 'Missing response for this task in agent_outputs',
196
+ });
197
+ continue;
198
+ }
199
+ const entry = getManifestEntry(task.agent);
200
+ const isAnalysis = task.code !== undefined && entry?.output_type === 'analysis';
201
+ if (isAnalysis) {
202
+ const analysis = parseAnalysisResponse(typeof raw === 'string' ? raw : JSON.stringify(raw), task.agent);
203
+ results.push({
204
+ id: task.id,
205
+ agent: task.agent,
206
+ analysis: analysis || undefined,
207
+ output: deriveOutputFromAny(undefined, analysis || undefined),
208
+ duration_ms: Date.now() - start,
209
+ llm_backed: true,
210
+ error: !analysis ? 'Failed to parse agent analysis JSON' : undefined,
211
+ });
212
+ }
213
+ else {
214
+ const plan = parsePlanResponse(typeof raw === 'string' ? raw : JSON.stringify(raw), task.agent, task.task);
215
+ results.push({
216
+ id: task.id,
217
+ agent: task.agent,
218
+ plan: plan || undefined,
219
+ output: deriveOutputFromAny(plan || undefined, undefined),
220
+ duration_ms: Date.now() - start,
221
+ llm_backed: true,
222
+ error: !plan ? 'Failed to parse agent plan JSON' : undefined,
223
+ });
224
+ }
225
+ }
226
+ return results;
227
+ }
228
+ function deriveOutputFromAny(plan, analysis) {
229
+ if (analysis) {
230
+ return {
231
+ confidence: Math.min(1, Math.max(0, analysis.score / 100)),
232
+ severity: analysis.critical_count > 0 ? 'critical' : analysis.high_count > 0 ? 'high' : 'medium',
233
+ recommendation: analysis.summary,
234
+ affected_files: [],
235
+ line_refs: analysis.findings
236
+ .filter(f => f.location)
237
+ .map(f => ({ file: f.location, line: 0, description: f.description })),
238
+ };
239
+ }
240
+ if (plan) {
241
+ // simplified confidence for manual responses
242
+ return {
243
+ confidence: 0.9,
244
+ severity: 'info',
245
+ recommendation: plan.approach,
246
+ affected_files: [],
247
+ line_refs: [],
248
+ };
249
+ }
250
+ return { confidence: 0, severity: 'info', recommendation: '', affected_files: [], line_refs: [] };
251
+ }
252
+ //# sourceMappingURL=llm-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/agents/llm-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Local LLM integration (Ollama / LM Studio)
3
+ */
4
+ export declare function callLocalLlm(options: {
5
+ task: string;
6
+ model?: string;
7
+ provider?: 'ollama' | 'lmstudio';
8
+ }): Promise<{
9
+ success: boolean;
10
+ output: string;
11
+ model_used: string;
12
+ provider: string;
13
+ }>;
14
+ //# sourceMappingURL=local-llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-llm.d.ts","sourceRoot":"","sources":["../../src/agents/local-llm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAClC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA6CtF"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Local LLM integration (Ollama / LM Studio)
3
+ */
4
+ export async function callLocalLlm(options) {
5
+ const provider = options.provider || 'ollama';
6
+ const model = options.model || (provider === 'ollama' ? 'llama3' : 'model-q4_k_m');
7
+ try {
8
+ if (provider === 'ollama') {
9
+ const resp = await fetch('http://localhost:11434/api/generate', {
10
+ method: 'POST',
11
+ headers: { 'Content-Type': 'application/json' },
12
+ body: JSON.stringify({
13
+ model: model,
14
+ prompt: options.task,
15
+ stream: false,
16
+ }),
17
+ signal: AbortSignal.timeout(30000),
18
+ });
19
+ if (!resp.ok)
20
+ throw new Error(`Ollama error: ${resp.statusText}`);
21
+ const data = await resp.json();
22
+ return { success: true, output: data.response, model_used: model, provider };
23
+ }
24
+ else {
25
+ // LM Studio (OpenAI compatible)
26
+ const resp = await fetch('http://localhost:1234/v1/chat/completions', {
27
+ method: 'POST',
28
+ headers: { 'Content-Type': 'application/json' },
29
+ body: JSON.stringify({
30
+ model: model,
31
+ messages: [{ role: 'user', content: options.task }],
32
+ temperature: 0.7,
33
+ }),
34
+ signal: AbortSignal.timeout(30000),
35
+ });
36
+ if (!resp.ok)
37
+ throw new Error(`LM Studio error: ${resp.statusText}`);
38
+ const data = await resp.json();
39
+ return { success: true, output: data.choices[0]?.message.content || '', model_used: model, provider };
40
+ }
41
+ }
42
+ catch (err) {
43
+ return {
44
+ success: false,
45
+ output: `Local LLM failed: ${err.message}. Ensure ${provider} is running on localhost.`,
46
+ model_used: model,
47
+ provider
48
+ };
49
+ }
50
+ }
51
+ //# sourceMappingURL=local-llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-llm.js","sourceRoot":"","sources":["../../src/agents/local-llm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAIlC;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAEnF,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,qCAAqC,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,OAAO,CAAC,IAAI;oBACpB,MAAM,EAAE,KAAK;iBACd,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAA0B,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,2CAA2C,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBACnD,WAAW,EAAE,GAAG;iBACjB,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAA0D,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACxG,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,qBAAqB,GAAG,CAAC,OAAO,YAAY,QAAQ,2BAA2B;YACvF,UAAU,EAAE,KAAK;YACjB,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { WorkerAgentType } from './types.js';
2
+ export type AgentOutputType = 'plan' | 'analysis';
3
+ export type AgentDomain = 'development' | 'security' | 'memory' | 'research' | 'quality' | 'workflow';
4
+ export interface AgentManifestEntry {
5
+ id: WorkerAgentType;
6
+ role: string;
7
+ output_type: AgentOutputType;
8
+ domain: AgentDomain;
9
+ }
10
+ export declare const AGENT_MANIFEST: AgentManifestEntry[];
11
+ export declare const MANIFEST_BY_ID: Map<WorkerAgentType, AgentManifestEntry>;
12
+ export declare function getManifestEntry(id: WorkerAgentType): AgentManifestEntry | undefined;
13
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/agents/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtG,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,eAAe,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,eAAe,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAsD9C,CAAC;AAEF,eAAO,MAAM,cAAc,0CAE1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,kBAAkB,GAAG,SAAS,CAEpF"}
@@ -0,0 +1,55 @@
1
+ export const AGENT_MANIFEST = [
2
+ // Development
3
+ { id: 'coder', role: 'Implements new features and writes production code. Detects task category (API, UI, service, utility) and returns a structured implementation plan.', output_type: 'plan', domain: 'development' },
4
+ { id: 'reviewer', role: 'Reviews code for bugs, style violations, and maintainability issues. Returns scored findings with severity and specific fix recommendations.', output_type: 'analysis', domain: 'development' },
5
+ { id: 'tester', role: 'Designs and writes test suites for unit, integration, and end-to-end scenarios. Plans coverage strategy and identifies edge cases to validate.', output_type: 'plan', domain: 'development' },
6
+ { id: 'debugger', role: 'Diagnoses runtime errors, logic bugs, and unexpected behavior. Produces a root-cause hypothesis and a step-by-step remediation plan.', output_type: 'plan', domain: 'development' },
7
+ { id: 'refactor', role: 'Improves code structure and readability without changing external behavior. Identifies code smells and proposes incremental refactoring steps.', output_type: 'plan', domain: 'development' },
8
+ { id: 'database', role: 'Designs schemas, writes migrations, and optimizes queries. Advises on indexing, normalization, and transaction safety.', output_type: 'plan', domain: 'development' },
9
+ { id: 'api', role: 'Designs and implements REST or GraphQL APIs. Defines contracts, request/response types, validation, and middleware chains.', output_type: 'plan', domain: 'development' },
10
+ { id: 'frontend', role: 'Builds UI components and client-side logic. Plans component hierarchy, state management, and accessibility requirements.', output_type: 'plan', domain: 'development' },
11
+ { id: 'backend', role: 'Implements server-side services, business logic, and data layers. Advises on architecture patterns and dependency injection.', output_type: 'plan', domain: 'development' },
12
+ { id: 'devops', role: 'Plans CI/CD pipelines, containerization, and deployment strategies. Covers infrastructure-as-code, monitoring, and rollback procedures.', output_type: 'plan', domain: 'development' },
13
+ { id: 'performance', role: 'Identifies bottlenecks and plans optimization work. Prioritizes by impact-to-effort ratio and recommends profiling and benchmarking approaches.', output_type: 'plan', domain: 'development' },
14
+ { id: 'migration', role: 'Plans safe data and schema migrations. Sequences steps to avoid downtime and designs rollback strategies for production environments.', output_type: 'plan', domain: 'development' },
15
+ // Security
16
+ { id: 'security-scanner', role: 'Scans code for OWASP Top 10 and CWE-mapped vulnerabilities including injection, broken auth, and insecure deserialization. Returns severity-scored findings.', output_type: 'analysis', domain: 'security' },
17
+ { id: 'auth', role: 'Reviews authentication and authorization implementations. Plans secure token handling, session management, and role-based access control.', output_type: 'plan', domain: 'security' },
18
+ { id: 'privacy', role: 'Audits data handling for GDPR, CCPA, and privacy best practices. Flags PII exposure risks and recommends data minimization and retention strategies.', output_type: 'plan', domain: 'security' },
19
+ { id: 'secrets', role: 'Detects hardcoded secrets, API keys, and credentials in code and config files. Returns severity-scored findings with remediation steps.', output_type: 'analysis', domain: 'security' },
20
+ { id: 'dependency-audit', role: 'Audits third-party dependencies for known CVEs and outdated packages. Returns severity-scored findings with upgrade and patching recommendations.', output_type: 'analysis', domain: 'security' },
21
+ { id: 'penetration', role: 'Plans penetration testing scenarios and attack surface analysis. Identifies entry points, trust boundaries, and likely exploit paths.', output_type: 'plan', domain: 'security' },
22
+ // Memory
23
+ { id: 'context-manager', role: 'Manages context window usage and plans compression or summarization strategies. Ensures critical information is preserved across session boundaries.', output_type: 'plan', domain: 'memory' },
24
+ { id: 'decision-logger', role: 'Plans how to record architectural decisions and their rationale. Structures decision logs for future reference and team onboarding.', output_type: 'plan', domain: 'memory' },
25
+ { id: 'project-mapper', role: 'Builds and maintains a structured map of the codebase. Identifies key modules, dependency graphs, and architectural boundaries.', output_type: 'plan', domain: 'memory' },
26
+ { id: 'pattern-learner', role: 'Extracts recurring coding patterns and anti-patterns from project history. Plans how to encode these as reusable routing and quality rules.', output_type: 'plan', domain: 'memory' },
27
+ { id: 'knowledge-base', role: 'Organizes and retrieves project-specific knowledge and past findings. Plans knowledge storage and semantic search strategies for long-running projects.', output_type: 'plan', domain: 'memory' },
28
+ // Research
29
+ { id: 'researcher', role: 'Investigates technical questions and compares implementation options. Produces structured recommendations with trade-off analysis.', output_type: 'plan', domain: 'research' },
30
+ { id: 'tech-advisor', role: 'Evaluates technology choices and library selections. Advises on ecosystem maturity, maintenance status, and fit for project requirements.', output_type: 'plan', domain: 'research' },
31
+ { id: 'cost-analyzer', role: 'Estimates infrastructure, API, and operational costs. Models scaling scenarios and identifies cost optimization opportunities.', output_type: 'plan', domain: 'research' },
32
+ { id: 'competitor-analyzer', role: 'Analyzes competing products and alternative approaches. Identifies feature gaps, differentiators, and market positioning opportunities.', output_type: 'plan', domain: 'research' },
33
+ { id: 'risk-assessor', role: 'Identifies technical, operational, and business risks in proposed changes. Scores risks by likelihood and impact and recommends mitigations.', output_type: 'plan', domain: 'research' },
34
+ { id: 'estimator', role: 'Produces time and effort estimates for tasks and projects. Breaks work into trackable units and surfaces uncertainty and dependency factors.', output_type: 'plan', domain: 'research' },
35
+ { id: 'ethics-bias', role: 'Reviews AI features and data pipelines for ethical risks and algorithmic bias. Recommends fairness constraints and audit mechanisms.', output_type: 'plan', domain: 'research' },
36
+ // Quality
37
+ { id: 'code-quality', role: 'Audits code for complexity, duplication, and maintainability anti-patterns. Returns scored findings with targeted refactoring suggestions.', output_type: 'analysis', domain: 'quality' },
38
+ { id: 'documentation', role: 'Reviews documentation coverage for APIs, modules, and workflows. Identifies gaps and returns findings with structured improvement recommendations.', output_type: 'analysis', domain: 'quality' },
39
+ { id: 'accessibility', role: 'Audits UI code for WCAG 2.1 compliance and screen reader compatibility. Returns findings with specific ARIA and semantic HTML fix recommendations.', output_type: 'analysis', domain: 'quality' },
40
+ { id: 'compatibility', role: 'Checks code for browser, runtime, and platform compatibility issues. Plans polyfills, feature detection, and graceful degradation strategies.', output_type: 'plan', domain: 'quality' },
41
+ { id: 'error-handling', role: 'Reviews error handling coverage and propagation paths. Flags swallowed exceptions, missing guards, and unhelpful error messages.', output_type: 'analysis', domain: 'quality' },
42
+ // Workflow
43
+ { id: 'task-planner', role: 'Breaks high-level goals into ordered, actionable tasks with clear acceptance criteria. Produces a dependency-aware execution plan.', output_type: 'plan', domain: 'workflow' },
44
+ { id: 'task-coordinator', role: 'Orchestrates multi-agent task execution and resolves inter-task dependencies. Plans which agents run in parallel versus sequence for a given workload.', output_type: 'plan', domain: 'workflow' },
45
+ { id: 'file-manager', role: 'Plans file system operations including moves, renames, and bulk transformations. Identifies affected imports and downstream callers.', output_type: 'plan', domain: 'workflow' },
46
+ { id: 'git-agent', role: 'Plans git workflows including branching, commit sequencing, and merge strategies. Advises on conflict resolution and history cleanliness.', output_type: 'plan', domain: 'workflow' },
47
+ { id: 'search-agent', role: 'Plans codebase search strategies to locate symbols, patterns, and usage sites. Recommends targeted grep, AST, and semantic search approaches.', output_type: 'plan', domain: 'workflow' },
48
+ { id: 'reporter', role: 'Synthesizes findings from multiple agents into a structured summary report. Highlights critical items and produces executive-level briefings.', output_type: 'plan', domain: 'workflow' },
49
+ { id: 'automation', role: 'Plans automation of repetitive development tasks including code generation, test running, linting, and deployment steps.', output_type: 'plan', domain: 'workflow' },
50
+ ];
51
+ export const MANIFEST_BY_ID = new Map(AGENT_MANIFEST.map(e => [e.id, e]));
52
+ export function getManifestEntry(id) {
53
+ return MANIFEST_BY_ID.get(id);
54
+ }
55
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/agents/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type CloneFinding = {
2
+ hash: string;
3
+ lines: number;
4
+ occurrences: Array<{
5
+ file: string;
6
+ start_line: number;
7
+ end_line: number;
8
+ }>;
9
+ code_snippet: string;
10
+ };
11
+ export declare function detectClones(options: {
12
+ project_dir: string;
13
+ extensions?: string[];
14
+ min_lines?: number;
15
+ }): Promise<CloneFinding[]>;
16
+ //# sourceMappingURL=clone-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-detector.d.ts","sourceRoot":"","sources":["../../../src/agents/quality/clone-detector.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAyE1B"}