@jigyasudham/veto 1.4.4 → 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.
- package/AGENTS.md +134 -0
- package/README.md +26 -144
- package/dist/adapters/index.d.ts +3 -2
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +105 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/agents/executor.d.ts +2 -0
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +50 -3
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/llm-runner.d.ts +11 -0
- package/dist/agents/llm-runner.d.ts.map +1 -0
- package/dist/agents/llm-runner.js +252 -0
- package/dist/agents/llm-runner.js.map +1 -0
- package/dist/agents/local-llm.d.ts +14 -0
- package/dist/agents/local-llm.d.ts.map +1 -0
- package/dist/agents/local-llm.js +51 -0
- package/dist/agents/local-llm.js.map +1 -0
- package/dist/agents/manifest.d.ts +13 -0
- package/dist/agents/manifest.d.ts.map +1 -0
- package/dist/agents/manifest.js +55 -0
- package/dist/agents/manifest.js.map +1 -0
- package/dist/agents/quality/clone-detector.d.ts +16 -0
- package/dist/agents/quality/clone-detector.d.ts.map +1 -0
- package/dist/agents/quality/clone-detector.js +72 -0
- package/dist/agents/quality/clone-detector.js.map +1 -0
- package/dist/agents/types.d.ts +15 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validate.d.ts +11 -0
- package/dist/agents/validate.d.ts.map +1 -0
- package/dist/agents/validate.js +54 -0
- package/dist/agents/validate.js.map +1 -0
- package/dist/cli.js +331 -21
- package/dist/cli.js.map +1 -1
- package/dist/council/llm-council.d.ts.map +1 -1
- package/dist/council/llm-council.js +10 -9
- package/dist/council/llm-council.js.map +1 -1
- package/dist/council/types.d.ts +2 -0
- package/dist/council/types.d.ts.map +1 -1
- package/dist/memory/local.d.ts +12 -1
- package/dist/memory/local.d.ts.map +1 -1
- package/dist/memory/local.js +56 -2
- package/dist/memory/local.js.map +1 -1
- package/dist/memory/schema.d.ts +28 -43
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +31 -0
- package/dist/memory/schema.js.map +1 -1
- package/dist/memory/sync.d.ts +13 -0
- package/dist/memory/sync.d.ts.map +1 -1
- package/dist/memory/sync.js +113 -0
- package/dist/memory/sync.js.map +1 -1
- package/dist/repo-map/ignore.d.ts +8 -0
- package/dist/repo-map/ignore.d.ts.map +1 -0
- package/dist/repo-map/ignore.js +65 -0
- package/dist/repo-map/ignore.js.map +1 -0
- package/dist/repo-map/index.d.ts +29 -0
- package/dist/repo-map/index.d.ts.map +1 -0
- package/dist/repo-map/index.js +240 -0
- package/dist/repo-map/index.js.map +1 -0
- package/dist/router/context-compressor.d.ts +1 -1
- package/dist/router/context-compressor.d.ts.map +1 -1
- package/dist/router/context-compressor.js +9 -3
- package/dist/router/context-compressor.js.map +1 -1
- package/dist/router/index.d.ts +8 -3
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +20 -4
- package/dist/router/index.js.map +1 -1
- package/dist/router/learning-updater.d.ts +41 -0
- package/dist/router/learning-updater.d.ts.map +1 -1
- package/dist/router/learning-updater.js +62 -0
- package/dist/router/learning-updater.js.map +1 -1
- package/dist/router/model-selector.d.ts +4 -1
- package/dist/router/model-selector.d.ts.map +1 -1
- package/dist/router/model-selector.js +24 -28
- package/dist/router/model-selector.js.map +1 -1
- package/dist/server.js +3121 -1655
- package/dist/server.js.map +1 -1
- package/dist/tools/definitions.d.ts +1205 -171
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +678 -4
- package/dist/tools/definitions.js.map +1 -1
- package/dist/watcher/index.d.ts +1 -0
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js +7 -6
- package/dist/watcher/index.js.map +1 -1
- package/dist/workflow/pipeline.d.ts +12 -2
- package/dist/workflow/pipeline.d.ts.map +1 -1
- package/dist/workflow/pipeline.js +395 -16
- package/dist/workflow/pipeline.js.map +1 -1
- package/p7.ts +6 -0
- package/package.json +8 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agents/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAE3D,qBAAqB;AACrB,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAC;AAExD,kBAAkB;AAClB,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAEzD,gBAAgB;AAChB,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAE5D,kBAAkB;AAClB,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,kBAAkB,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AAExD,iBAAiB;AACjB,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAE7D,kBAAkB;AAClB,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AAEvD,gCAAgC;AAChC,MAAM,eAAe,GAAyB,IAAI,GAAG,CAAC;IACpD,UAAU;IACV,kBAAkB;IAClB,SAAS;IACT,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,eAAe;IACf,gBAAgB;CACjB,CAAC,CAAC;AAOH,SAAS,YAAY,CAAC,SAA0B;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,CAAY,OAAO,KAAK,CAAC;QACtC,KAAK,UAAU,CAAC,CAAS,OAAO,QAAQ,CAAC;QACzC,KAAK,QAAQ,CAAC,CAAW,OAAO,MAAM,CAAC;QACvC,KAAK,UAAU,CAAC,CAAS,OAAO,SAAS,CAAC;QAC1C,KAAK,UAAU,CAAC,CAAS,OAAO,QAAQ,CAAC;QACzC,KAAK,UAAU,CAAC,CAAS,OAAO,QAAQ,CAAC;QACzC,KAAK,KAAK,CAAC,CAAc,OAAO,GAAG,CAAC;QACpC,KAAK,UAAU,CAAC,CAAS,OAAO,QAAQ,CAAC;QACzC,KAAK,SAAS,CAAC,CAAU,OAAO,OAAO,CAAC;QACxC,KAAK,QAAQ,CAAC,CAAW,OAAO,MAAM,CAAC;QACvC,KAAK,aAAa,CAAC,CAAM,OAAO,WAAW,CAAC;QAC5C,KAAK,WAAW,CAAC,CAAQ,OAAO,SAAS,CAAC;QAC1C,KAAK,kBAAkB,CAAC,CAAC,OAAO,eAAe,CAAC;QAChD,KAAK,MAAM,CAAC,CAAa,OAAO,IAAI,CAAC;QACrC,KAAK,SAAS,CAAC,CAAU,OAAO,OAAO,CAAC;QACxC,KAAK,SAAS,CAAC,CAAU,OAAO,OAAO,CAAC;QACxC,KAAK,kBAAkB,CAAC,CAAC,OAAO,eAAe,CAAC;QAChD,KAAK,aAAa,CAAC,CAAM,OAAO,WAAW,CAAC;QAC5C,KAAK,iBAAiB,CAAC,CAAE,OAAO,cAAc,CAAC;QAC/C,KAAK,iBAAiB,CAAC,CAAE,OAAO,cAAc,CAAC;QAC/C,KAAK,gBAAgB,CAAC,CAAG,OAAO,aAAa,CAAC;QAC9C,KAAK,iBAAiB,CAAC,CAAE,OAAO,cAAc,CAAC;QAC/C,KAAK,gBAAgB,CAAC,CAAM,OAAO,aAAa,CAAC;QACjD,KAAK,YAAY,CAAC,CAAU,OAAO,UAAU,CAAC;QAC9C,KAAK,cAAc,CAAC,CAAQ,OAAO,WAAW,CAAC;QAC/C,KAAK,eAAe,CAAC,CAAO,OAAO,YAAY,CAAC;QAChD,KAAK,qBAAqB,CAAC,CAAC,OAAO,kBAAkB,CAAC;QACtD,KAAK,eAAe,CAAC,CAAO,OAAO,YAAY,CAAC;QAChD,KAAK,WAAW,CAAC,CAAW,OAAO,SAAS,CAAC;QAC7C,KAAK,aAAa,CAAC,CAAS,OAAO,UAAU,CAAC;QAC9C,KAAK,cAAc,CAAC,CAAQ,OAAO,WAAW,CAAC;QAC/C,KAAK,eAAe,CAAC,CAAO,OAAO,aAAa,CAAC;QACjD,KAAK,eAAe,CAAC,CAAO,OAAO,aAAa,CAAC;QACjD,KAAK,eAAe,CAAC,CAAO,OAAO,aAAa,CAAC;QACjD,KAAK,gBAAgB,CAAC,CAAM,OAAO,aAAa,CAAC;QACjD,KAAK,cAAc,CAAC,CAAQ,OAAO,WAAW,CAAC;QAC/C,KAAK,kBAAkB,CAAC,CAAI,OAAO,eAAe,CAAC;QACnD,KAAK,cAAc,CAAC,CAAQ,OAAO,WAAW,CAAC;QAC/C,KAAK,WAAW,CAAC,CAAW,OAAO,QAAQ,CAAC;QAC5C,KAAK,cAAc,CAAC,CAAQ,OAAO,WAAW,CAAC;QAC/C,KAAK,UAAU,CAAC,CAAY,OAAO,QAAQ,CAAC;QAC5C,KAAK,YAAY,CAAC,CAAU,OAAO,UAAU,CAAC;QAC9C,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAe;IAC5C,oGAAoG;IACpG,MAAM,SAAS,GAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;IAC1F,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB,EAAE,QAAwB;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;YAC1D,QAAQ,EAAE,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YAChG,cAAc,EAAE,QAAQ,CAAC,OAAO;YAChC,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,QAAQ,CAAC,QAAQ;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAS,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO;YACL,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACvC,QAAQ,EAAE,MAAM;YAChB,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAe;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,
|
|
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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { readFileSync, readdirSync, statSync } from 'node:fs';
|
|
2
|
+
import { join, extname } from 'node:path';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
export async function detectClones(options) {
|
|
5
|
+
const { project_dir, extensions = ['.ts', '.js', '.tsx', '.jsx'], min_lines = 6 } = options;
|
|
6
|
+
const files = [];
|
|
7
|
+
function walk(dir) {
|
|
8
|
+
const entries = readdirSync(dir);
|
|
9
|
+
for (const entry of entries) {
|
|
10
|
+
const full = join(dir, entry);
|
|
11
|
+
if (entry === 'node_modules' || entry === '.git' || entry === 'dist')
|
|
12
|
+
continue;
|
|
13
|
+
const stat = statSync(full);
|
|
14
|
+
if (stat.isDirectory()) {
|
|
15
|
+
walk(full);
|
|
16
|
+
}
|
|
17
|
+
else if (extensions.includes(extname(full))) {
|
|
18
|
+
files.push(full);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
walk(project_dir);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const chunkMap = new Map();
|
|
29
|
+
const snippetMap = new Map();
|
|
30
|
+
for (const file of files) {
|
|
31
|
+
const content = readFileSync(file, 'utf8');
|
|
32
|
+
const lines = content.split('\n');
|
|
33
|
+
for (let i = 0; i <= lines.length - min_lines; i++) {
|
|
34
|
+
const chunk = lines.slice(i, i + min_lines).map(l => l.trim()).filter(l => l.length > 0);
|
|
35
|
+
if (chunk.length < min_lines / 2)
|
|
36
|
+
continue; // too many empty lines
|
|
37
|
+
const chunkStr = chunk.join('\n');
|
|
38
|
+
const hash = createHash('md5').update(chunkStr).digest('hex');
|
|
39
|
+
if (!chunkMap.has(hash)) {
|
|
40
|
+
chunkMap.set(hash, []);
|
|
41
|
+
snippetMap.set(hash, chunkStr);
|
|
42
|
+
}
|
|
43
|
+
chunkMap.get(hash).push({ file: file.replace(project_dir, ''), start_line: i + 1, end_line: i + min_lines });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const findings = [];
|
|
47
|
+
for (const [hash, occurrences] of chunkMap.entries()) {
|
|
48
|
+
if (occurrences.length > 1) {
|
|
49
|
+
// Filter out overlapping occurrences in the same file
|
|
50
|
+
const uniqueOccurrences = occurrences.filter((occ, index) => {
|
|
51
|
+
return !occurrences.some((other, otherIndex) => {
|
|
52
|
+
return index !== otherIndex &&
|
|
53
|
+
occ.file === other.file &&
|
|
54
|
+
occ.start_line >= other.start_line &&
|
|
55
|
+
occ.end_line <= other.end_line &&
|
|
56
|
+
(occ.end_line - occ.start_line) < (other.end_line - other.start_line);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
if (uniqueOccurrences.length > 1) {
|
|
60
|
+
findings.push({
|
|
61
|
+
hash,
|
|
62
|
+
lines: min_lines,
|
|
63
|
+
occurrences: uniqueOccurrences,
|
|
64
|
+
code_snippet: snippetMap.get(hash),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Sort by occurrence count descending
|
|
70
|
+
return findings.sort((a, b) => b.occurrences.length - a.occurrences.length).slice(0, 20);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=clone-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone-detector.js","sourceRoot":"","sources":["../../../src/agents/quality/clone-detector.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -49,6 +49,15 @@ export interface AgentTask {
|
|
|
49
49
|
code?: string;
|
|
50
50
|
context?: string;
|
|
51
51
|
project_dir?: string;
|
|
52
|
+
llm_backed?: boolean;
|
|
53
|
+
model?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface AgenticAgentPrompt {
|
|
56
|
+
mode: 'agentic';
|
|
57
|
+
agent: WorkerAgentType;
|
|
58
|
+
instruction: string;
|
|
59
|
+
output_prompt: string;
|
|
60
|
+
schema: string;
|
|
52
61
|
}
|
|
53
62
|
export interface AgentResult {
|
|
54
63
|
id: string;
|
|
@@ -57,6 +66,12 @@ export interface AgentResult {
|
|
|
57
66
|
analysis?: AgentAnalysis;
|
|
58
67
|
output: AgentOutput;
|
|
59
68
|
duration_ms: number;
|
|
69
|
+
llm_backed?: boolean;
|
|
70
|
+
llm_upgrade?: {
|
|
71
|
+
available: true;
|
|
72
|
+
instruction: string;
|
|
73
|
+
prompt: AgenticAgentPrompt;
|
|
74
|
+
};
|
|
60
75
|
error?: string;
|
|
61
76
|
}
|
|
62
77
|
//# sourceMappingURL=types.d.ts.map
|