archbyte 0.1.2 → 0.2.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/bin/archbyte.js +4 -3
- package/dist/agents/pipeline/agents/component-identifier.js +16 -1
- package/dist/agents/pipeline/agents/connection-mapper.js +17 -0
- package/dist/agents/pipeline/agents/flow-detector.js +9 -1
- package/dist/agents/pipeline/agents/service-describer.js +18 -1
- package/dist/agents/pipeline/index.d.ts +2 -1
- package/dist/agents/pipeline/index.js +9 -3
- package/dist/agents/pipeline/merger.d.ts +2 -2
- package/dist/agents/pipeline/merger.js +61 -3
- package/dist/agents/pipeline/types.d.ts +42 -0
- package/dist/agents/prompt-data.js +0 -7
- package/dist/cli/analyze.d.ts +1 -10
- package/dist/cli/analyze.js +83 -270
- package/dist/cli/generate.js +44 -15
- package/dist/cli/incremental.d.ts +23 -0
- package/dist/cli/incremental.js +111 -0
- package/dist/cli/patrol.d.ts +1 -0
- package/dist/cli/patrol.js +33 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/stats.js +6 -2
- package/dist/cli/yaml-io.d.ts +88 -0
- package/dist/cli/yaml-io.js +227 -0
- package/dist/server/src/index.js +57 -21
- package/package.json +1 -1
- package/templates/archbyte.yaml +81 -2
package/bin/archbyte.js
CHANGED
|
@@ -27,7 +27,7 @@ const program = new Command();
|
|
|
27
27
|
program
|
|
28
28
|
.name('archbyte')
|
|
29
29
|
.description('ArchByte - See what agents build. As they build it.')
|
|
30
|
-
.version('0.
|
|
30
|
+
.version('0.2.0')
|
|
31
31
|
.addHelpText('after', `
|
|
32
32
|
Quick start:
|
|
33
33
|
$ archbyte login Sign in
|
|
@@ -92,9 +92,9 @@ program
|
|
|
92
92
|
.option('-v, --verbose', 'Show detailed output')
|
|
93
93
|
.option('--provider <name>', 'Model provider: anthropic, openai, google, ollama')
|
|
94
94
|
.option('--api-key <key>', 'Model API key (overrides config)')
|
|
95
|
-
.option('--premium-only', 'Run only premium agents (requires existing analysis)')
|
|
96
95
|
.option('--static', 'Static-only analysis (no model, free)')
|
|
97
96
|
.option('--skip-llm', 'Alias for --static')
|
|
97
|
+
.option('--full', 'Force full re-scan (skip incremental detection)')
|
|
98
98
|
.option('--dry-run', 'Preview without running')
|
|
99
99
|
.action(async (options) => {
|
|
100
100
|
await requireLicense('analyze');
|
|
@@ -104,7 +104,7 @@ program
|
|
|
104
104
|
program
|
|
105
105
|
.command('generate')
|
|
106
106
|
.description('Generate diagram from analysis JSON')
|
|
107
|
-
.option('-i, --input <path>', 'Input analysis
|
|
107
|
+
.option('-i, --input <path>', 'Input analysis (default: .archbyte/archbyte.yaml or analysis.json)')
|
|
108
108
|
.option('-o, --output <path>', 'Output diagram (default: .archbyte/architecture.json)')
|
|
109
109
|
.option('-v, --verbose', 'Show detailed output')
|
|
110
110
|
.action(async (options) => {
|
|
@@ -173,6 +173,7 @@ program
|
|
|
173
173
|
.option('-c, --config <path>', 'Path to archbyte.yaml config')
|
|
174
174
|
.option('-i, --interval <duration>', 'Patrol interval: 30s, 5m, 1h (default: 5m)')
|
|
175
175
|
.option('--on-violation <action>', 'Action on new violations: log, json (default: log)')
|
|
176
|
+
.option('--rescan', 'Incremental re-scan when git commit changes')
|
|
176
177
|
.option('--history', 'Show patrol history dashboard')
|
|
177
178
|
.action(async (options) => {
|
|
178
179
|
await requireLicense('analyze');
|
|
@@ -45,8 +45,9 @@ export const componentIdentifier = {
|
|
|
45
45
|
name: "Component Identifier",
|
|
46
46
|
modelTier: "fast",
|
|
47
47
|
phase: "parallel",
|
|
48
|
-
buildPrompt(ctx) {
|
|
48
|
+
buildPrompt(ctx, priorResults) {
|
|
49
49
|
const system = getPrompt("pipeline/component-identifier");
|
|
50
|
+
const incremental = priorResults?.["__incremental__"];
|
|
50
51
|
const fileTree = formatFileTree(ctx);
|
|
51
52
|
const configs = formatConfigs(ctx);
|
|
52
53
|
const structureInfo = [
|
|
@@ -64,11 +65,25 @@ export const componentIdentifier = {
|
|
|
64
65
|
const dockerInfo = ctx.infra.docker.composeFile
|
|
65
66
|
? `\n\nDocker Compose services:\n${ctx.infra.docker.services.map((s) => `- ${s.name}${s.image ? ` (image: ${s.image})` : ""}${s.buildContext ? ` (build: ${s.buildContext})` : ""}${s.dependsOn?.length ? ` depends_on: ${s.dependsOn.join(", ")}` : ""}`).join("\n")}`
|
|
66
67
|
: "";
|
|
68
|
+
let incrementalInfo = "";
|
|
69
|
+
if (incremental) {
|
|
70
|
+
const existing = Object.entries(incremental.existingSpec.components)
|
|
71
|
+
.map(([id, c]) => `- ${id}: ${c.name} (type=${c.type}, layer=${c.layer}, path=${c.path})`)
|
|
72
|
+
.join("\n");
|
|
73
|
+
incrementalInfo = `\n\n## INCREMENTAL SCAN — Existing Components (preserve unaffected ones)
|
|
74
|
+
${existing}
|
|
75
|
+
|
|
76
|
+
Changed files: ${incremental.changedFiles.join(", ")}
|
|
77
|
+
Affected components: ${incremental.affectedComponents.length > 0 ? incremental.affectedComponents.join(", ") : "none (check for new components)"}
|
|
78
|
+
|
|
79
|
+
IMPORTANT: Return ALL components — both existing unaffected ones AND updated/new ones. Only re-analyze components whose paths overlap with the changed files.`;
|
|
80
|
+
}
|
|
67
81
|
const user = `Analyze this project and identify ALL architecturally significant components.
|
|
68
82
|
|
|
69
83
|
${structureInfo}
|
|
70
84
|
${docNotes}
|
|
71
85
|
${dockerInfo}
|
|
86
|
+
${incrementalInfo}
|
|
72
87
|
|
|
73
88
|
## File Tree (depth 3, ${ctx.fileTree.totalFiles} files, ${ctx.fileTree.totalDirs} dirs)
|
|
74
89
|
${fileTree}
|
|
@@ -85,6 +85,23 @@ export const connectionMapper = {
|
|
|
85
85
|
parts.push(`- ${r.kind}: ${r.name}${r.namespace ? ` (ns=${r.namespace})` : ""}`);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
// Incremental context
|
|
89
|
+
const incremental = priorResults?.["__incremental__"];
|
|
90
|
+
if (incremental) {
|
|
91
|
+
const existingConns = incremental.existingSpec.connections
|
|
92
|
+
.map((c) => `- ${c.from} → ${c.to} (${c.type}${c.async ? ", async" : ""}): ${c.description}`)
|
|
93
|
+
.join("\n");
|
|
94
|
+
const existingFlows = incremental.existingSpec.flows
|
|
95
|
+
.map((f) => `- ${f.name}: ${f.description}`)
|
|
96
|
+
.join("\n");
|
|
97
|
+
parts.push(`\n## INCREMENTAL SCAN — Existing Connections (preserve unaffected)`);
|
|
98
|
+
if (existingConns)
|
|
99
|
+
parts.push(`Connections:\n${existingConns}`);
|
|
100
|
+
if (existingFlows)
|
|
101
|
+
parts.push(`Flows:\n${existingFlows}`);
|
|
102
|
+
parts.push(`Affected components: ${incremental.affectedComponents.join(", ") || "none"}`);
|
|
103
|
+
parts.push("Re-evaluate connections involving affected components. Keep connections between unaffected components as-is. Return ALL connections.");
|
|
104
|
+
}
|
|
88
105
|
return { system, user: parts.join("\n") };
|
|
89
106
|
},
|
|
90
107
|
parseResponse(raw) {
|
|
@@ -8,8 +8,9 @@ export const flowDetector = {
|
|
|
8
8
|
name: "Flow Detector",
|
|
9
9
|
modelTier: "fast",
|
|
10
10
|
phase: "parallel",
|
|
11
|
-
buildPrompt(ctx) {
|
|
11
|
+
buildPrompt(ctx, priorResults) {
|
|
12
12
|
const system = getPrompt("pipeline/flow-detector");
|
|
13
|
+
const incremental = priorResults?.["__incremental__"];
|
|
13
14
|
const parts = [];
|
|
14
15
|
// Event patterns from static scanner
|
|
15
16
|
if (ctx.events.hasEDA) {
|
|
@@ -62,6 +63,13 @@ export const flowDetector = {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
}
|
|
66
|
+
// Incremental context
|
|
67
|
+
if (incremental) {
|
|
68
|
+
parts.push(`\n## INCREMENTAL SCAN — Scope to changes`);
|
|
69
|
+
parts.push(`Changed files: ${incremental.changedFiles.join(", ")}`);
|
|
70
|
+
parts.push(`Affected components: ${incremental.affectedComponents.join(", ") || "none"}`);
|
|
71
|
+
parts.push("Focus event detection on the changed files. Preserve existing patterns for unchanged areas.");
|
|
72
|
+
}
|
|
65
73
|
return { system, user: parts.join("\n") };
|
|
66
74
|
},
|
|
67
75
|
parseResponse(raw) {
|
|
@@ -8,8 +8,9 @@ export const serviceDescriber = {
|
|
|
8
8
|
name: "Service Describer",
|
|
9
9
|
modelTier: "fast",
|
|
10
10
|
phase: "parallel",
|
|
11
|
-
buildPrompt(ctx) {
|
|
11
|
+
buildPrompt(ctx, priorResults) {
|
|
12
12
|
const system = getPrompt("pipeline/service-describer");
|
|
13
|
+
const incremental = priorResults?.["__incremental__"];
|
|
13
14
|
const parts = [];
|
|
14
15
|
// Structure info
|
|
15
16
|
parts.push(`Project: ${ctx.structure.projectName || "(unknown)"}`);
|
|
@@ -57,6 +58,22 @@ export const serviceDescriber = {
|
|
|
57
58
|
if (ctx.infra.cloud.provider) {
|
|
58
59
|
parts.push(`\nCloud: ${ctx.infra.cloud.provider}, services: ${ctx.infra.cloud.services.join(", ")}`);
|
|
59
60
|
}
|
|
61
|
+
// Incremental context
|
|
62
|
+
if (incremental) {
|
|
63
|
+
const existingDbs = Object.entries(incremental.existingSpec.databases)
|
|
64
|
+
.map(([id, d]) => `- ${id}: ${d.name} (${d.type})`)
|
|
65
|
+
.join("\n");
|
|
66
|
+
const existingExt = Object.entries(incremental.existingSpec["external-services"])
|
|
67
|
+
.map(([id, s]) => `- ${id}: ${s.name} (${s.type})`)
|
|
68
|
+
.join("\n");
|
|
69
|
+
parts.push(`\n## INCREMENTAL SCAN — Existing Data (preserve unless evidence of change)`);
|
|
70
|
+
if (existingDbs)
|
|
71
|
+
parts.push(`Databases:\n${existingDbs}`);
|
|
72
|
+
if (existingExt)
|
|
73
|
+
parts.push(`External services:\n${existingExt}`);
|
|
74
|
+
parts.push(`Changed files: ${incremental.changedFiles.join(", ")}`);
|
|
75
|
+
parts.push("Return ALL databases and external services — both existing and any new ones.");
|
|
76
|
+
}
|
|
60
77
|
return { system, user: parts.join("\n") };
|
|
61
78
|
},
|
|
62
79
|
parseResponse(raw) {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { StaticContext } from "../static/types.js";
|
|
2
2
|
import type { StaticAnalysisResult } from "../static/types.js";
|
|
3
3
|
import type { LLMProvider, ArchByteConfig } from "../runtime/types.js";
|
|
4
|
+
import type { IncrementalContext } from "./types.js";
|
|
4
5
|
/**
|
|
5
6
|
* Run the multi-agent pipeline: 3 parallel fast agents → 2 sequential agents.
|
|
6
7
|
* Each agent gets a single chat() call with pre-collected static context.
|
|
7
8
|
*/
|
|
8
|
-
export declare function runPipeline(ctx: StaticContext, provider: LLMProvider, config: ArchByteConfig, onProgress?: (msg: string) => void): Promise<StaticAnalysisResult & {
|
|
9
|
+
export declare function runPipeline(ctx: StaticContext, provider: LLMProvider, config: ArchByteConfig, onProgress?: (msg: string) => void, incrementalContext?: IncrementalContext): Promise<StaticAnalysisResult & {
|
|
9
10
|
tokenUsage?: {
|
|
10
11
|
input: number;
|
|
11
12
|
output: number;
|
|
@@ -19,12 +19,18 @@ function isAuthError(err) {
|
|
|
19
19
|
* Run the multi-agent pipeline: 3 parallel fast agents → 2 sequential agents.
|
|
20
20
|
* Each agent gets a single chat() call with pre-collected static context.
|
|
21
21
|
*/
|
|
22
|
-
export async function runPipeline(ctx, provider, config, onProgress) {
|
|
22
|
+
export async function runPipeline(ctx, provider, config, onProgress, incrementalContext) {
|
|
23
23
|
const agentResults = {};
|
|
24
24
|
const agentMeta = [];
|
|
25
|
+
// Pass incremental context to agents via priorResults
|
|
26
|
+
if (incrementalContext) {
|
|
27
|
+
agentResults["__incremental__"] = incrementalContext;
|
|
28
|
+
}
|
|
25
29
|
// === Phase 1: Parallel agents ===
|
|
26
30
|
onProgress?.(`Phase 1: Running ${PARALLEL_AGENTS.length} agents in parallel...`);
|
|
27
|
-
|
|
31
|
+
// Pass agentResults to parallel agents too (contains __incremental__ if set)
|
|
32
|
+
const parallelPrior = incrementalContext ? agentResults : undefined;
|
|
33
|
+
const parallelResults = await Promise.allSettled(PARALLEL_AGENTS.map((agent) => runAgent(agent, ctx, provider, config, parallelPrior, onProgress)));
|
|
28
34
|
let authFailed = false;
|
|
29
35
|
for (let i = 0; i < PARALLEL_AGENTS.length; i++) {
|
|
30
36
|
const agent = PARALLEL_AGENTS[i];
|
|
@@ -70,7 +76,7 @@ export async function runPipeline(ctx, provider, config, onProgress) {
|
|
|
70
76
|
}
|
|
71
77
|
// === Merge results ===
|
|
72
78
|
onProgress?.("Merging agent outputs...");
|
|
73
|
-
const merged = mergeAgentOutputs(ctx, agentResults["component-identifier"] ?? null, agentResults["service-describer"] ?? null, agentResults["flow-detector"] ?? null, agentResults["connection-mapper"] ?? null, agentResults["validator"] ?? null);
|
|
79
|
+
const merged = mergeAgentOutputs(ctx, agentResults["component-identifier"] ?? null, agentResults["service-describer"] ?? null, agentResults["flow-detector"] ?? null, agentResults["connection-mapper"] ?? null, agentResults["validator"] ?? null, incrementalContext);
|
|
74
80
|
// === Deterministic validation ===
|
|
75
81
|
merged.validation = validateAnalysis(merged);
|
|
76
82
|
if (merged.validation.repairs.length > 0) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { StaticAnalysisResult, StaticContext } from "../static/types.js";
|
|
2
|
-
import type { ComponentIdentifierOutput, ServiceDescriberOutput, FlowDetectorOutput, ConnectionMapperOutput, ValidatorOutput } from "./types.js";
|
|
2
|
+
import type { ComponentIdentifierOutput, ServiceDescriberOutput, FlowDetectorOutput, ConnectionMapperOutput, ValidatorOutput, IncrementalContext } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Merge all pipeline agent outputs into a StaticAnalysisResult
|
|
5
5
|
* compatible with the existing buildAnalysisFromStatic() in cli/analyze.ts.
|
|
6
6
|
*/
|
|
7
|
-
export declare function mergeAgentOutputs(ctx: StaticContext, componentId: ComponentIdentifierOutput | null, serviceDesc: ServiceDescriberOutput | null, flowDet: FlowDetectorOutput | null, connMap: ConnectionMapperOutput | null, validatorOut: ValidatorOutput | null): StaticAnalysisResult;
|
|
7
|
+
export declare function mergeAgentOutputs(ctx: StaticContext, componentId: ComponentIdentifierOutput | null, serviceDesc: ServiceDescriberOutput | null, flowDet: FlowDetectorOutput | null, connMap: ConnectionMapperOutput | null, validatorOut: ValidatorOutput | null, incrementalContext?: IncrementalContext): StaticAnalysisResult;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Merge all pipeline agent outputs into a StaticAnalysisResult
|
|
5
5
|
* compatible with the existing buildAnalysisFromStatic() in cli/analyze.ts.
|
|
6
6
|
*/
|
|
7
|
-
export function mergeAgentOutputs(ctx, componentId, serviceDesc, flowDet, connMap, validatorOut) {
|
|
7
|
+
export function mergeAgentOutputs(ctx, componentId, serviceDesc, flowDet, connMap, validatorOut, incrementalContext) {
|
|
8
8
|
// Start with components from component-identifier
|
|
9
9
|
const components = [];
|
|
10
10
|
if (componentId?.components) {
|
|
@@ -20,6 +20,21 @@ export function mergeAgentOutputs(ctx, componentId, serviceDesc, flowDet, connMa
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
// Incremental merge: if agent returned components, they should include all.
|
|
24
|
+
// But if agent returned nothing, fall back to existing spec components.
|
|
25
|
+
if (incrementalContext && components.length === 0) {
|
|
26
|
+
for (const [id, c] of Object.entries(incrementalContext.existingSpec.components)) {
|
|
27
|
+
components.push({
|
|
28
|
+
id,
|
|
29
|
+
name: c.name,
|
|
30
|
+
type: c.type,
|
|
31
|
+
layer: c.layer,
|
|
32
|
+
path: c.path,
|
|
33
|
+
description: c.description,
|
|
34
|
+
technologies: c.tech,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
23
38
|
const componentIds = new Set(components.map((c) => c.id));
|
|
24
39
|
// Add databases from service-describer as components
|
|
25
40
|
if (serviceDesc?.databases) {
|
|
@@ -55,6 +70,21 @@ export function mergeAgentOutputs(ctx, componentId, serviceDesc, flowDet, connMa
|
|
|
55
70
|
}
|
|
56
71
|
}
|
|
57
72
|
}
|
|
73
|
+
// Incremental fallback: if service-describer returned nothing, restore from spec
|
|
74
|
+
if (incrementalContext && !serviceDesc) {
|
|
75
|
+
for (const [id, d] of Object.entries(incrementalContext.existingSpec.databases)) {
|
|
76
|
+
if (!componentIds.has(id)) {
|
|
77
|
+
components.push({ id, name: d.name, type: "database", layer: "data", path: "", description: d.description, technologies: [d.type] });
|
|
78
|
+
componentIds.add(id);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
for (const [id, s] of Object.entries(incrementalContext.existingSpec["external-services"])) {
|
|
82
|
+
if (!componentIds.has(id)) {
|
|
83
|
+
components.push({ id, name: s.name, type: "service", layer: "external", path: "", description: s.description, technologies: [s.type] });
|
|
84
|
+
componentIds.add(id);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
58
88
|
// Apply validator type corrections
|
|
59
89
|
if (validatorOut?.componentTypeCorrections) {
|
|
60
90
|
for (const comp of components) {
|
|
@@ -176,11 +206,39 @@ export function mergeAgentOutputs(ctx, componentId, serviceDesc, flowDet, connMa
|
|
|
176
206
|
}
|
|
177
207
|
// Remove connections flagged by validator
|
|
178
208
|
const removedKeys = new Set(validatorOut?.removedConnectionKeys ?? []);
|
|
179
|
-
|
|
209
|
+
let filteredConnections = removedKeys.size > 0
|
|
180
210
|
? connections.filter((c) => !removedKeys.has(`${c.from}::${c.to}::${c.type}`))
|
|
181
211
|
: connections;
|
|
212
|
+
// Incremental fallback: if connection-mapper returned nothing, restore existing connections
|
|
213
|
+
if (incrementalContext && !connMap && filteredConnections.length === 0) {
|
|
214
|
+
for (const c of incrementalContext.existingSpec.connections) {
|
|
215
|
+
if (!componentIds.has(c.from) || !componentIds.has(c.to))
|
|
216
|
+
continue;
|
|
217
|
+
const key = `${c.from}::${c.to}::${c.type}`;
|
|
218
|
+
if (connKeys.has(key))
|
|
219
|
+
continue;
|
|
220
|
+
connKeys.add(key);
|
|
221
|
+
filteredConnections.push({
|
|
222
|
+
from: c.from,
|
|
223
|
+
to: c.to,
|
|
224
|
+
type: c.type,
|
|
225
|
+
description: c.description,
|
|
226
|
+
confidence: 80,
|
|
227
|
+
async: c.async,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
}
|
|
182
231
|
// Build flows
|
|
183
|
-
|
|
232
|
+
let flows = connMap?.flows ?? [];
|
|
233
|
+
// Incremental fallback: restore existing flows if connection-mapper returned none
|
|
234
|
+
if (incrementalContext && flows.length === 0 && incrementalContext.existingSpec.flows.length > 0) {
|
|
235
|
+
flows = incrementalContext.existingSpec.flows.map((f) => ({
|
|
236
|
+
name: f.name,
|
|
237
|
+
description: f.description,
|
|
238
|
+
category: f.category,
|
|
239
|
+
steps: f.steps.map((s) => `${s.from} \u2192 ${s.to}`),
|
|
240
|
+
}));
|
|
241
|
+
}
|
|
184
242
|
// Override structure fields from service-describer
|
|
185
243
|
const structure = { ...ctx.structure };
|
|
186
244
|
if (serviceDesc?.primaryLanguage && structure.language === "unknown") {
|
|
@@ -82,6 +82,48 @@ export interface ValidatorOutput {
|
|
|
82
82
|
confidence: number;
|
|
83
83
|
issues: string[];
|
|
84
84
|
}
|
|
85
|
+
export interface IncrementalContext {
|
|
86
|
+
existingSpec: {
|
|
87
|
+
components: Record<string, {
|
|
88
|
+
name: string;
|
|
89
|
+
type: string;
|
|
90
|
+
layer: string;
|
|
91
|
+
path: string;
|
|
92
|
+
tech: string[];
|
|
93
|
+
description: string;
|
|
94
|
+
}>;
|
|
95
|
+
databases: Record<string, {
|
|
96
|
+
name: string;
|
|
97
|
+
type: string;
|
|
98
|
+
description: string;
|
|
99
|
+
}>;
|
|
100
|
+
"external-services": Record<string, {
|
|
101
|
+
name: string;
|
|
102
|
+
type: string;
|
|
103
|
+
description: string;
|
|
104
|
+
}>;
|
|
105
|
+
connections: Array<{
|
|
106
|
+
from: string;
|
|
107
|
+
to: string;
|
|
108
|
+
type: string;
|
|
109
|
+
description: string;
|
|
110
|
+
async: boolean;
|
|
111
|
+
}>;
|
|
112
|
+
flows: Array<{
|
|
113
|
+
id: string;
|
|
114
|
+
name: string;
|
|
115
|
+
description: string;
|
|
116
|
+
category: string;
|
|
117
|
+
steps: Array<{
|
|
118
|
+
from: string;
|
|
119
|
+
to: string;
|
|
120
|
+
label: string;
|
|
121
|
+
}>;
|
|
122
|
+
}>;
|
|
123
|
+
};
|
|
124
|
+
changedFiles: string[];
|
|
125
|
+
affectedComponents: string[];
|
|
126
|
+
}
|
|
85
127
|
export interface PipelineAgentResult {
|
|
86
128
|
agentId: string;
|
|
87
129
|
data: unknown;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
// Auto-generated by prompts-encode.ts — DO NOT EDIT
|
|
2
2
|
// Run: node agents/prompts-encode.ts
|
|
3
3
|
import { registerPrompt } from "./prompts.js";
|
|
4
|
-
registerPrompt("premium/api-contract-verifier", "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");
|
|
5
|
-
registerPrompt("premium/compliance-checker", "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");
|
|
6
|
-
registerPrompt("premium/dependency-risk-scorer", "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");
|
|
7
|
-
registerPrompt("premium/drift-detector", "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");
|
|
8
|
-
registerPrompt("premium/migration-planner", "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");
|
|
9
|
-
registerPrompt("premium/performance-analyzer", "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");
|
|
10
|
-
registerPrompt("premium/security-auditor", "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");
|
|
11
4
|
registerPrompt("pipeline/component-identifier", "GB0WSCMLEUUgHEMNOgkRFzVSEAckDQMEMxdDCTAaHAw1FwAcbFktCjQAQwItG1QMMlIXB2IQEAAvBgoOO1kREyQAGkgjCxcNKAYGCzYMBgQtHhpIMRATCygUCgsjFwBFIh0OGC0XEQs1UgoGYhhUFi4UFx8jCxFFMQAMAicaAEtLeCJIYBobCDEdDQ0sDVZFKAFDCWIdHRY1Gw0LNlkQADEeDBEjGxgAYQcNATZVVBYkABUBIRxYRSACEwQrGhURKB0NRGIVHQczExERblkbF2EBCg8sEBIMIhMNHGIUGwE0HgZGYjAaBi0HBw14c1lFAxMAAycXEEUyFxEeKxoRFm1SIjgLClhFNh0RAycLB29sUiUaLRcAAC8WQwkyCRgMIhMXAS0XB0VpBQYKblkZCiMbDw1rc1lFDRsBGiMLHQAyXRMJIRIVAiQBQ0ArF1QILhwMGicJGxZoeE5IATU9RTUdDAQxc1lFBRMXCSAYBwAyUksBJFkRHTEeCgsrDRgcYREMBiQQExAzFwdEYhxaAm9SCgZiHRsGKhcRRSEWGRUuAQZBSFRUIDkGBhosGBhFMhcRHisaERZhWgZGJVdUNyQWChtuWSYEIxAKHA8oWEUEHgIbNhAXFiQTEQsqUH5vBx0RSCcYFw1hEQwFMhYaAC8GT0gyCxsTKBYGUkhUVAwlSEMDJxsVB2wRAhsnWQcJNBVDQCdXE0ttUkEJMhBZFiQAFQ0wW1hFYwUGCm8fBgovBgYGJltdb2xSDQkvHE5FKQcOCSxUBgAgFgIKLhxUCyAfBmJvWQAcMRdZSC0XEUUuFENKJAsbCzUXDQxgVVRHIAIKSm5ZVhYkABUBIRxWSWFQFAcwEhEXY15DSi4QFhcgABpKbllWBi0bQURiWxAENRMBCTEcVklhUAQJNhwDBDhQT0hgGhUGKRdBRGJbBRAkBwZKSFRUCSALBhp4WRsLJFIMDmJbBBckAQYGNhgADC4cQURiWxUVMR4KCyMNHQovUE9IYB0VESBQT0hgHAwRJAANCS5bfkhhAgIcKkNUFyQeAhwrDxFFJRsRDSENGxc4UhMJNhFUTSRcBEZuWVYWJAAVDTBbWEVjExMYMVYDACNQSmJvWRAAMhERATINHQovSENZb0tUFiQcFw0sGhFFJRcQCzAQBBEoHQ1ILR9UFTQAEwcxHH5IYQYGCyoXGwkuFQoNMUNUBDMAAhFiFhJFKhcaSDYcFw0vHQ8HJRARFmFaBkYlV1hFGlA3ETIcJwYzGxMcYFVURwQKExonCgdHbVJBOC0KAAIzFzA5DlspTEt4MQ0xCRsLJVIUATYRVCoPPjpII1k+Ng48QwcgExEGNUhDE2JbFwosAgwGJxcAFmNIQzNsV1o4YQ8=");
|
|
12
5
|
registerPrompt("pipeline/connection-mapper", "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");
|
|
13
6
|
registerPrompt("pipeline/flow-detector", "GB0WSCMLEUUgHEMNOgkRFzVSEAckDQMEMxdDCTAaHAw1FwAcbFk1CyAeGhInWQANJFITGi0TEQY1UgAHLA0RHTVSAgYmWR0BJBwXASQATm9LQ01IaFMREyQcFystFxoAIgYKBywKXk97UiYeJxcASCUACh4nF1QGLh8OHSwQFwQ1GwwGYgkVETUXEQYxWVwIJAEQCSUcVBQ0FxYNMVVUFTQQTBs3G1hFNhcBAC0WHxZtUgYeJxcARSQfChw2HAYWaFxpSGJZMgozUgYJIRFORTpSEx0gFR0WKRcRRGIKAQcyEREBIBwGSWERCwksFxEJbVIXDSERGgotHQQRYgR+RWFSTkgyDBYJKAELDTBWBxAjAQAaKxsRF3tSAAcvCRsLJBwXSAs9B0VpGQYKIxtZBiABBkgxFQECMltpSGJZWUUiGgIGLBwYX2EXFQ0sDVsRLgIKC20IAQA0F0MGIxQRb2FSQ0ViDREGKRwMBC0eDV9hBgsNYgoEACIbBQEhWQAAIhoNBy4WExxhBxANJllcAG8VTURiWxETJBwXRScUHRE1FxFKbllWEiQQCwctElZMS3hRRmJTXgQxGzEHNw0RFmtYWUgDKT1FMx0WHCcKWwAvFhMHKxcAFmEWBhwnGgAAJVIFGi0UVAYuFgZIMhgAESQADRtsc1RFYTQMGmIcFQYpSEMTYgkVESleQwUnDRwKJV5DACMXEAkkACUBLhxUGEt4IDoLLT0mAD5ZSA0XGBxhAAYYLQsARSQEBgY2WRcKLxwGCzYQGwsyUgIGJlkGCjQGBhtiDRwENVILCTQcVCYOPCA6By0xRQQkKiwHNzcgYRsNSDYREUUxAAweKx0RAWERDAwnWQcELAIPDTFVVBY1ExcBIVkHBiAcDQ0wWQYAMgcPHDFVVAozUicHIRIRF2EBBho0EBcAMlxDISRZAA0kUhAcIw0dBmEBAAksFxEXYQECETFZVisuUgYeJxcASCUACh4nF1QVIAYXDTAXB0UlFxcNIQ0RAWNeQxonDQEXL1IGBTINDUUkBAYGNjobCy8XABwrFhoWb1InB2I3OzFhGw0eJxcARTETFxwnCxoWYQYLCTZZFRckUg0HNlkREygWBgYhHBBFKBxDHCocVAwvAhYcbHN+NyQBEwcsHVQSKAYLSA03ODxhE0MiETY6RS4QCQ0hDU5vOnhDSGAcAgAvBiAHLBcRBjUbDAYxW05FGlxNRh9VfkVhUAIYKysbEDUXEEp4WS9Lb1w+Yj9zfiwnUg0HYgkVETUXEQYxWRIKNBwHRGILERE0AA1IJxQEEThSAhowGA0Wbw==");
|
package/dist/cli/analyze.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ interface AnalyzeOptions {
|
|
|
4
4
|
verbose?: boolean;
|
|
5
5
|
provider?: string;
|
|
6
6
|
apiKey?: string;
|
|
7
|
-
premiumOnly?: boolean;
|
|
8
7
|
static?: boolean;
|
|
9
8
|
skipLlm?: boolean;
|
|
10
9
|
dryRun?: boolean;
|
|
10
|
+
full?: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare function handleAnalyze(options: AnalyzeOptions): Promise<void>;
|
|
13
13
|
/**
|
|
@@ -15,13 +15,4 @@ export declare function handleAnalyze(options: AnalyzeOptions): Promise<void>;
|
|
|
15
15
|
* flat analysis.json format expected by generate.ts.
|
|
16
16
|
*/
|
|
17
17
|
export declare function buildAnalysisFromStatic(result: StaticAnalysisResult, projectRoot: string): Record<string, unknown>;
|
|
18
|
-
/**
|
|
19
|
-
* Aggregate agent results into the analysis.json format expected by the generator.
|
|
20
|
-
* Used by legacy mode (--legacy flag) only.
|
|
21
|
-
*/
|
|
22
|
-
export declare function buildAnalysis(agents: Array<{
|
|
23
|
-
agentId: string;
|
|
24
|
-
data: unknown;
|
|
25
|
-
confidence: number;
|
|
26
|
-
}>, projectRoot: string): Record<string, unknown>;
|
|
27
18
|
export {};
|