spec-gen-cli 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +197 -11
- package/dist/api/generate.d.ts.map +1 -1
- package/dist/api/generate.js +5 -4
- package/dist/api/generate.js.map +1 -1
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +101 -41
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +25 -21
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +353 -10
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +236 -45
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/view.d.ts.map +1 -1
- package/dist/cli/commands/view.js +33 -4
- package/dist/cli/commands/view.js.map +1 -1
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -1
- package/dist/core/analyzer/ast-chunker.d.ts +24 -0
- package/dist/core/analyzer/ast-chunker.d.ts.map +1 -0
- package/dist/core/analyzer/ast-chunker.js +198 -0
- package/dist/core/analyzer/ast-chunker.js.map +1 -0
- package/dist/core/analyzer/call-graph.d.ts +51 -4
- package/dist/core/analyzer/call-graph.d.ts.map +1 -1
- package/dist/core/analyzer/call-graph.js +634 -44
- package/dist/core/analyzer/call-graph.js.map +1 -1
- package/dist/core/analyzer/code-shaper.d.ts.map +1 -1
- package/dist/core/analyzer/code-shaper.js +5 -0
- package/dist/core/analyzer/code-shaper.js.map +1 -1
- package/dist/core/analyzer/codebase-digest.d.ts +40 -0
- package/dist/core/analyzer/codebase-digest.d.ts.map +1 -0
- package/dist/core/analyzer/codebase-digest.js +194 -0
- package/dist/core/analyzer/codebase-digest.js.map +1 -0
- package/dist/core/analyzer/cpp-header-resolver.d.ts +30 -0
- package/dist/core/analyzer/cpp-header-resolver.d.ts.map +1 -0
- package/dist/core/analyzer/cpp-header-resolver.js +71 -0
- package/dist/core/analyzer/cpp-header-resolver.js.map +1 -0
- package/dist/core/analyzer/function-registry-trie.d.ts +21 -0
- package/dist/core/analyzer/function-registry-trie.d.ts.map +1 -0
- package/dist/core/analyzer/function-registry-trie.js +39 -0
- package/dist/core/analyzer/function-registry-trie.js.map +1 -0
- package/dist/core/analyzer/import-resolver-bridge.d.ts +25 -0
- package/dist/core/analyzer/import-resolver-bridge.d.ts.map +1 -0
- package/dist/core/analyzer/import-resolver-bridge.js +99 -0
- package/dist/core/analyzer/import-resolver-bridge.js.map +1 -0
- package/dist/core/analyzer/signature-extractor.d.ts.map +1 -1
- package/dist/core/analyzer/signature-extractor.js +72 -3
- package/dist/core/analyzer/signature-extractor.js.map +1 -1
- package/dist/core/analyzer/subgraph-extractor.d.ts +10 -2
- package/dist/core/analyzer/subgraph-extractor.d.ts.map +1 -1
- package/dist/core/analyzer/subgraph-extractor.js +25 -7
- package/dist/core/analyzer/subgraph-extractor.js.map +1 -1
- package/dist/core/analyzer/type-inference-engine.d.ts +23 -0
- package/dist/core/analyzer/type-inference-engine.d.ts.map +1 -0
- package/dist/core/analyzer/type-inference-engine.js +130 -0
- package/dist/core/analyzer/type-inference-engine.js.map +1 -0
- package/dist/core/analyzer/vector-index.d.ts +35 -6
- package/dist/core/analyzer/vector-index.d.ts.map +1 -1
- package/dist/core/analyzer/vector-index.js +308 -54
- package/dist/core/analyzer/vector-index.js.map +1 -1
- package/dist/core/generator/spec-pipeline.d.ts +31 -11
- package/dist/core/generator/spec-pipeline.d.ts.map +1 -1
- package/dist/core/generator/spec-pipeline.js +170 -39
- package/dist/core/generator/spec-pipeline.js.map +1 -1
- package/dist/core/generator/stages/stage2-entities.d.ts.map +1 -1
- package/dist/core/generator/stages/stage2-entities.js +2 -1
- package/dist/core/generator/stages/stage2-entities.js.map +1 -1
- package/dist/core/generator/stages/stage3-services.d.ts.map +1 -1
- package/dist/core/generator/stages/stage3-services.js +2 -1
- package/dist/core/generator/stages/stage3-services.js.map +1 -1
- package/dist/core/generator/stages/stage4-api.d.ts.map +1 -1
- package/dist/core/generator/stages/stage4-api.js +2 -1
- package/dist/core/generator/stages/stage4-api.js.map +1 -1
- package/dist/core/generator/stages/stage5-architecture.d.ts +2 -1
- package/dist/core/generator/stages/stage5-architecture.d.ts.map +1 -1
- package/dist/core/generator/stages/stage5-architecture.js +15 -3
- package/dist/core/generator/stages/stage5-architecture.js.map +1 -1
- package/dist/core/services/chat-agent.d.ts +5 -0
- package/dist/core/services/chat-agent.d.ts.map +1 -1
- package/dist/core/services/chat-agent.js +14 -0
- package/dist/core/services/chat-agent.js.map +1 -1
- package/dist/core/services/chat-tools.d.ts.map +1 -1
- package/dist/core/services/chat-tools.js +172 -50
- package/dist/core/services/chat-tools.js.map +1 -1
- package/dist/core/services/mcp-handlers/analysis.d.ts +12 -0
- package/dist/core/services/mcp-handlers/analysis.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/analysis.js +138 -2
- package/dist/core/services/mcp-handlers/analysis.js.map +1 -1
- package/dist/core/services/mcp-handlers/graph.d.ts +21 -1
- package/dist/core/services/mcp-handlers/graph.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/graph.js +142 -2
- package/dist/core/services/mcp-handlers/graph.js.map +1 -1
- package/dist/core/services/mcp-handlers/orient.d.ts +17 -0
- package/dist/core/services/mcp-handlers/orient.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/orient.js +200 -0
- package/dist/core/services/mcp-handlers/orient.js.map +1 -0
- package/dist/core/services/mcp-handlers/semantic.d.ts +18 -4
- package/dist/core/services/mcp-handlers/semantic.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/semantic.js +161 -17
- package/dist/core/services/mcp-handlers/semantic.js.map +1 -1
- package/dist/core/services/mcp-handlers/utils.d.ts +43 -0
- package/dist/core/services/mcp-handlers/utils.d.ts.map +1 -1
- package/dist/core/services/mcp-handlers/utils.js +66 -1
- package/dist/core/services/mcp-handlers/utils.js.map +1 -1
- package/dist/core/services/mcp-watcher.d.ts +41 -0
- package/dist/core/services/mcp-watcher.d.ts.map +1 -0
- package/dist/core/services/mcp-watcher.js +177 -0
- package/dist/core/services/mcp-watcher.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/pipeline.d.ts +7 -0
- package/dist/types/pipeline.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/viewer/InteractiveGraphViewer.jsx +33 -8
- package/src/viewer/components/ChatPanel.jsx +8 -5
- package/src/viewer/components/ClassGraph.jsx +699 -0
- package/src/viewer/utils/graph-helpers.js +1 -1
- package/src/viewer/utils/themes.js +36 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage3-services.js","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage3-services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAyB,EACzB,MAA2B,EAC3B,QAA2B,EAC3B,YAAsD,EACtD,MAAyD;IAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACjH,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"stage3-services.js","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage3-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage4-api.d.ts","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage4-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"stage4-api.d.ts","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage4-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlG,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACxD,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CA6D3C"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import logger from '../../../utils/logger.js';
|
|
7
7
|
import { STAGE4_MAX_TOKENS, STAGE_CHUNK_MAX_CHARS } from '../../../constants.js';
|
|
8
8
|
import { PROMPTS } from '../prompts.js';
|
|
9
|
+
import { astChunkContent } from '../../analyzer/ast-chunker.js';
|
|
9
10
|
import { STAGE4_ENDPOINT_SCHEMA } from '../schemas.js';
|
|
10
11
|
export async function runStage4(pipeline, apiFiles, onFile) {
|
|
11
12
|
const startTime = Date.now();
|
|
@@ -13,7 +14,7 @@ export async function runStage4(pipeline, apiFiles, onFile) {
|
|
|
13
14
|
const seenPaths = new Set();
|
|
14
15
|
for (const [idx, file] of apiFiles.entries()) {
|
|
15
16
|
onFile?.(idx + 1, apiFiles.length, file.path);
|
|
16
|
-
const chunks =
|
|
17
|
+
const chunks = await astChunkContent(file.content, file.path, STAGE_CHUNK_MAX_CHARS);
|
|
17
18
|
const isLargeFile = chunks.length > 1;
|
|
18
19
|
const graphSection = pipeline.graphPromptFor(file.path, file.content);
|
|
19
20
|
if (isLargeFile && !graphSection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage4-api.js","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage4-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAyB,EACzB,QAAkD,EAClD,MAAyD;IAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"stage4-api.js","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage4-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
import type { ArchitectureSynthesis, ExtractedEntity, ExtractedEndpoint, ExtractedService, PipelineContext, ProjectSurveyResult, StageResult } from '../../../types/pipeline.js';
|
|
7
7
|
import type { DependencyGraphResult } from '../../analyzer/dependency-graph.js';
|
|
8
8
|
import type { SerializedCallGraph } from '../../analyzer/call-graph.js';
|
|
9
|
-
|
|
9
|
+
import type { RefactorReport } from '../../analyzer/refactor-analyzer.js';
|
|
10
|
+
export declare function runStage5(pipeline: PipelineContext, survey: ProjectSurveyResult, entities: ExtractedEntity[], services: ExtractedService[], endpoints: ExtractedEndpoint[], depGraph?: DependencyGraphResult, callGraph?: SerializedCallGraph, refactorReport?: RefactorReport): Promise<StageResult<ArchitectureSynthesis>>;
|
|
10
11
|
//# sourceMappingURL=stage5-architecture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage5-architecture.d.ts","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage5-architecture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"stage5-architecture.d.ts","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage5-architecture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,eAAe,EAAE,EAC3B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,SAAS,EAAE,iBAAiB,EAAE,EAC9B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,SAAS,CAAC,EAAE,mBAAmB,EAC/B,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAsE7C"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Synthesizes architecture overview from previous analysis results.
|
|
5
5
|
*/
|
|
6
|
-
import { STAGE5_MAX_TOKENS, STAGE5_HUB_FUNCTIONS_LIMIT, STAGE5_ENTRY_POINTS_LIMIT, STAGE5_VIOLATIONS_LIMIT } from '../../../constants.js';
|
|
6
|
+
import { STAGE5_MAX_TOKENS, STAGE5_HUB_FUNCTIONS_LIMIT, STAGE5_ENTRY_POINTS_LIMIT, STAGE5_VIOLATIONS_LIMIT, STAGE5_REFACTOR_PRIORITIES_LIMIT, STAGE5_CYCLES_LIMIT } from '../../../constants.js';
|
|
7
7
|
import { PROMPTS } from '../prompts.js';
|
|
8
|
-
export async function runStage5(pipeline, survey, entities, services, endpoints, depGraph, callGraph) {
|
|
8
|
+
export async function runStage5(pipeline, survey, entities, services, endpoints, depGraph, callGraph, refactorReport) {
|
|
9
9
|
const startTime = Date.now();
|
|
10
10
|
const userPrompt = `Synthesize the architecture from this analysis:
|
|
11
11
|
|
|
@@ -30,7 +30,19 @@ ${callGraph.hubFunctions.slice(0, STAGE5_HUB_FUNCTIONS_LIMIT).map(n => `- ${n.na
|
|
|
30
30
|
${callGraph.entryPoints.length > 0 ? `\nEntry points (no internal callers — likely public API or CLI handlers):
|
|
31
31
|
${callGraph.entryPoints.slice(0, STAGE5_ENTRY_POINTS_LIMIT).map(n => `- ${n.name} (${n.filePath}${n.isAsync ? ', async' : ''})`).join('\n')}` : ''}
|
|
32
32
|
${callGraph.layerViolations.length > 0 ? `\nLayer violations detected:
|
|
33
|
-
${callGraph.layerViolations.slice(0, STAGE5_VIOLATIONS_LIMIT).map(v => `- ${v.reason}`).join('\n')}` : ''}` : ''}
|
|
33
|
+
${callGraph.layerViolations.slice(0, STAGE5_VIOLATIONS_LIMIT).map(v => `- ${v.reason}`).join('\n')}` : ''}` : ''}${refactorReport && refactorReport.stats.withIssues > 0 ? `
|
|
34
|
+
|
|
35
|
+
Structural Issues (${refactorReport.stats.totalFunctions} functions, ${refactorReport.stats.withIssues} with issues):
|
|
36
|
+
${[
|
|
37
|
+
refactorReport.stats.unreachable > 0 ? `- ${refactorReport.stats.unreachable} unreachable (dead code candidates)` : '',
|
|
38
|
+
refactorReport.stats.highFanOut > 0 ? `- ${refactorReport.stats.highFanOut} god functions (fanOut ≥ 8)` : '',
|
|
39
|
+
refactorReport.stats.cyclesDetected > 0 ? `- ${refactorReport.stats.cyclesDetected} dependency cycles (${refactorReport.stats.cycleParticipants} participants)` : '',
|
|
40
|
+
refactorReport.stats.srpViolations > 0 ? `- ${refactorReport.stats.srpViolations} SRP violations (multi-requirement functions)` : '',
|
|
41
|
+
].filter(Boolean).join('\n')}
|
|
42
|
+
${refactorReport.priorities.length > 0 ? `Top hotspots:
|
|
43
|
+
${refactorReport.priorities.slice(0, STAGE5_REFACTOR_PRIORITIES_LIMIT).map(e => `- ${e.function} (${e.file}): ${e.issues.join(', ')}`).join('\n')}` : ''}${refactorReport.cycles.length > 0 ? `
|
|
44
|
+
Dependency cycles:
|
|
45
|
+
${refactorReport.cycles.slice(0, STAGE5_CYCLES_LIMIT).map(c => `- [${c.size} functions] ${c.participants.slice(0, 4).map(p => p.function).join(' → ')}${c.size > 4 ? ` +${c.size - 4} more` : ''}`).join('\n')}` : ''}` : ''}`;
|
|
34
46
|
try {
|
|
35
47
|
const result = await pipeline.llm.completeJSON({
|
|
36
48
|
systemPrompt: PROMPTS.stage5_architecture(survey),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage5-architecture.js","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage5-architecture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"stage5-architecture.js","sourceRoot":"","sources":["../../../../src/core/generator/stages/stage5-architecture.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,11 @@ interface ProviderConfig {
|
|
|
24
24
|
apiKey: string;
|
|
25
25
|
model: string;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolve the active LLM provider by checking environment keys in priority order:
|
|
29
|
+
* Gemini API key → Anthropic API key → OpenAI-compatible base URL → config file → OpenAI key.
|
|
30
|
+
* Returns a ProviderConfig with kind, baseUrl, apiKey, and model fields.
|
|
31
|
+
*/
|
|
27
32
|
export declare function resolveProviderConfig(directory: string): Promise<ProviderConfig>;
|
|
28
33
|
export interface ChatAgentOptions {
|
|
29
34
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-agent.d.ts","sourceRoot":"","sources":["../../../src/core/services/chat-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgFH,KAAK,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7D,UAAU,cAAc;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CtF;AAMD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"chat-agent.d.ts","sourceRoot":"","sources":["../../../src/core/services/chat-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgFH,KAAK,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7D,UAAU,cAAc;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CtF;AAMD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAwWD,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQtF"}
|
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
import { CHAT_TOOLS, toChatToolDefinitions } from './chat-tools.js';
|
|
21
21
|
import { readSpecGenConfig } from './config-manager.js';
|
|
22
22
|
import { DEFAULT_ANTHROPIC_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_CHAT_OPENAI_MODEL, CHAT_AGENT_MAX_TOKENS, API_ERROR_PREVIEW_LENGTH, } from '../../constants.js';
|
|
23
|
+
/**
|
|
24
|
+
* Resolve the active LLM provider by checking environment keys in priority order:
|
|
25
|
+
* Gemini API key → Anthropic API key → OpenAI-compatible base URL → config file → OpenAI key.
|
|
26
|
+
* Returns a ProviderConfig with kind, baseUrl, apiKey, and model fields.
|
|
27
|
+
*/
|
|
23
28
|
export async function resolveProviderConfig(directory) {
|
|
24
29
|
const geminiKey = process.env.GEMINI_API_KEY ?? '';
|
|
25
30
|
const anthropicKey = process.env.ANTHROPIC_API_KEY ?? '';
|
|
@@ -101,8 +106,17 @@ The project directory is: ${directory}
|
|
|
101
106
|
You have access to tools that query the codebase's static analysis data.
|
|
102
107
|
When calling tools, always pass directory="${directory}" -- never ask the user for it.
|
|
103
108
|
|
|
109
|
+
## Core rule — never ask for file paths
|
|
110
|
+
If the user mentions a filename (e.g. "chat-agent.ts", "CallGraphBuilder") without a full path,
|
|
111
|
+
use search_code with the filename or class name as the query to locate it yourself.
|
|
112
|
+
NEVER ask the user to provide or confirm a path. Always resolve it autonomously with tools.
|
|
113
|
+
|
|
104
114
|
## Reasoning strategy
|
|
105
115
|
|
|
116
|
+
**For questions about a specific file or class** (e.g. "look at chat-agent.ts"):
|
|
117
|
+
1. Call search_code with the filename/class name to find the exact path.
|
|
118
|
+
2. Then call get_subgraph or get_file_dependencies on the resolved path for details.
|
|
119
|
+
|
|
106
120
|
**For questions about features, requirements, or intended behaviour** (e.g. "how does X work?",
|
|
107
121
|
"where should we implement Y?", "which spec covers Z?"):
|
|
108
122
|
1. Start with search_specs to find relevant requirements and design notes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-agent.js","sourceRoot":"","sources":["../../../src/core/services/chat-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-agent.js","sourceRoot":"","sources":["../../../src/core/services/chat-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tools.d.ts","sourceRoot":"","sources":["../../../src/core/services/chat-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"chat-tools.d.ts","sourceRoot":"","sources":["../../../src/core/services/chat-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgCH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtD;AAmCD,eAAO,MAAM,UAAU,EAAE,QAAQ,EAschC,CAAC;AAMF,gEAAgE;AAChE,wBAAgB,qBAAqB;;;;;;;IASpC"}
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
*
|
|
11
11
|
* To add a future MCP tool: add one entry here pointing to any handler.
|
|
12
12
|
*/
|
|
13
|
-
import { handleGetCallGraph, handleGetSubgraph, handleAnalyzeImpact, handleGetCriticalHubs, handleGetGodFunctions, } from './mcp-handlers/graph.js';
|
|
14
|
-
import { handleSearchCode, handleSuggestInsertionPoints, handleSearchSpecs, handleListSpecDomains, } from './mcp-handlers/semantic.js';
|
|
15
|
-
import { handleGetArchitectureOverview, handleGetRefactorReport, } from './mcp-handlers/analysis.js';
|
|
13
|
+
import { handleGetCallGraph, handleGetSubgraph, handleAnalyzeImpact, handleGetCriticalHubs, handleGetGodFunctions, handleGetFileDependencies, handleTraceExecutionPath, } from './mcp-handlers/graph.js';
|
|
14
|
+
import { handleSearchCode, handleSuggestInsertionPoints, handleSearchSpecs, handleListSpecDomains, handleGetSpec, } from './mcp-handlers/semantic.js';
|
|
15
|
+
import { handleGetArchitectureOverview, handleGetRefactorReport, handleGetDecisions, } from './mcp-handlers/analysis.js';
|
|
16
|
+
import { handleOrient } from './mcp-handlers/orient.js';
|
|
16
17
|
// ============================================================================
|
|
17
18
|
// HELPERS
|
|
18
19
|
// ============================================================================
|
|
@@ -49,12 +50,39 @@ function extractFilePaths(obj) {
|
|
|
49
50
|
// TOOL REGISTRY
|
|
50
51
|
// ============================================================================
|
|
51
52
|
export const CHAT_TOOLS = [
|
|
53
|
+
// ── Orient (start here) ──────────────────────────────────────────────────
|
|
54
|
+
{
|
|
55
|
+
name: 'orient',
|
|
56
|
+
description: 'START HERE. USE THIS WHEN: beginning any new task — "add X", "fix Y", "where does Z live?". ' +
|
|
57
|
+
'Returns relevant functions, files, spec domains, call neighbours, and insertion points in ONE call. ' +
|
|
58
|
+
'Replaces the need to chain search_code → search_specs → suggest_insertion_points manually.',
|
|
59
|
+
inputSchema: {
|
|
60
|
+
type: 'object',
|
|
61
|
+
properties: {
|
|
62
|
+
directory: { type: 'string', description: 'Absolute path to the project directory' },
|
|
63
|
+
task: { type: 'string', description: 'Natural language description of the task' },
|
|
64
|
+
limit: { type: 'number', description: 'Number of relevant functions to return (default: 5)' },
|
|
65
|
+
},
|
|
66
|
+
required: ['directory', 'task'],
|
|
67
|
+
},
|
|
68
|
+
async execute(directory, args) {
|
|
69
|
+
const result = await handleOrient(args.directory ?? directory, args.task, args.limit ?? 5);
|
|
70
|
+
const paths = [];
|
|
71
|
+
if (result && typeof result === 'object') {
|
|
72
|
+
const r = result;
|
|
73
|
+
for (const f of r.relevantFiles ?? [])
|
|
74
|
+
paths.push(f);
|
|
75
|
+
}
|
|
76
|
+
return { result, filePaths: [...new Set(paths)] };
|
|
77
|
+
},
|
|
78
|
+
},
|
|
52
79
|
// ── Architecture overview ────────────────────────────────────────────────
|
|
53
80
|
{
|
|
54
81
|
name: 'get_architecture_overview',
|
|
55
|
-
description: '
|
|
56
|
-
'
|
|
57
|
-
'
|
|
82
|
+
description: 'USE THIS WHEN: the user asks "how is this project organized?", "what are the main ' +
|
|
83
|
+
'components?", or wants a broad overview before diving in. ' +
|
|
84
|
+
'Returns domain clusters, cross-cluster dependencies, global entry points, and critical ' +
|
|
85
|
+
'hubs in one call — faster than reading package.json + directory tree yourself.',
|
|
58
86
|
inputSchema: {
|
|
59
87
|
type: 'object',
|
|
60
88
|
properties: {
|
|
@@ -82,8 +110,10 @@ export const CHAT_TOOLS = [
|
|
|
82
110
|
// ── Call graph ───────────────────────────────────────────────────────────
|
|
83
111
|
{
|
|
84
112
|
name: 'get_call_graph',
|
|
85
|
-
description: '
|
|
86
|
-
'
|
|
113
|
+
description: 'USE THIS WHEN: the user asks "which functions are called the most?", "what are ' +
|
|
114
|
+
'the critical bottlenecks?", or "are there layer violations?". ' +
|
|
115
|
+
'Returns hub functions, entry points, and architecture violations across all files — ' +
|
|
116
|
+
'impossible to reconstruct by reading individual files.',
|
|
87
117
|
inputSchema: {
|
|
88
118
|
type: 'object',
|
|
89
119
|
properties: {
|
|
@@ -99,8 +129,10 @@ export const CHAT_TOOLS = [
|
|
|
99
129
|
// ── Subgraph ─────────────────────────────────────────────────────────────
|
|
100
130
|
{
|
|
101
131
|
name: 'get_subgraph',
|
|
102
|
-
description: '
|
|
103
|
-
'
|
|
132
|
+
description: 'USE THIS WHEN: the user needs to trace calls from or to a specific function — ' +
|
|
133
|
+
'"what does X call?", "who calls Y?", "show me the call chain for Z". ' +
|
|
134
|
+
'More targeted than get_call_graph. Works across all files without you having to ' +
|
|
135
|
+
'grep through each one.',
|
|
104
136
|
inputSchema: {
|
|
105
137
|
type: 'object',
|
|
106
138
|
properties: {
|
|
@@ -120,12 +152,36 @@ export const CHAT_TOOLS = [
|
|
|
120
152
|
return { result, filePaths: extractFilePaths(result) };
|
|
121
153
|
},
|
|
122
154
|
},
|
|
155
|
+
// ── Execution path tracing ───────────────────────────────────────────────
|
|
156
|
+
{
|
|
157
|
+
name: 'trace_execution_path',
|
|
158
|
+
description: 'USE THIS WHEN debugging: "how does request X reach function Y?", ' +
|
|
159
|
+
'"which call chain produced this error?", "is there a path from A to B?". ' +
|
|
160
|
+
'Returns all paths ordered by hop count. Complements get_subgraph (neighbourhood) ' +
|
|
161
|
+
'with point-to-point tracing.',
|
|
162
|
+
inputSchema: {
|
|
163
|
+
type: 'object',
|
|
164
|
+
properties: {
|
|
165
|
+
directory: { type: 'string', description: 'Absolute path to the project directory' },
|
|
166
|
+
entryFunction: { type: 'string', description: 'Starting function name (exact or partial)' },
|
|
167
|
+
targetFunction: { type: 'string', description: 'Target function name (exact or partial)' },
|
|
168
|
+
maxDepth: { type: 'number', description: 'Max path length in hops (default: 6)' },
|
|
169
|
+
maxPaths: { type: 'number', description: 'Max paths returned (default: 10)' },
|
|
170
|
+
},
|
|
171
|
+
required: ['directory', 'entryFunction', 'targetFunction'],
|
|
172
|
+
},
|
|
173
|
+
async execute(directory, args) {
|
|
174
|
+
const result = await handleTraceExecutionPath(args.directory ?? directory, args.entryFunction, args.targetFunction, args.maxDepth ?? 6, args.maxPaths ?? 10);
|
|
175
|
+
return { result, filePaths: extractFilePaths(result) };
|
|
176
|
+
},
|
|
177
|
+
},
|
|
123
178
|
// ── Impact analysis ──────────────────────────────────────────────────────
|
|
124
179
|
{
|
|
125
180
|
name: 'analyze_impact',
|
|
126
|
-
description: '
|
|
127
|
-
'
|
|
128
|
-
'
|
|
181
|
+
description: 'USE THIS WHEN: the user asks "what breaks if I change X?", "what\'s the blast radius ' +
|
|
182
|
+
'of modifying Y?", or "is it safe to refactor Z?". ' +
|
|
183
|
+
'Returns risk score, fan-in/out, and full upstream/downstream call chains — ' +
|
|
184
|
+
'gives the complete picture without reading every caller file.',
|
|
129
185
|
inputSchema: {
|
|
130
186
|
type: 'object',
|
|
131
187
|
properties: {
|
|
@@ -143,8 +199,9 @@ export const CHAT_TOOLS = [
|
|
|
143
199
|
// ── Critical hubs ────────────────────────────────────────────────────────
|
|
144
200
|
{
|
|
145
201
|
name: 'get_critical_hubs',
|
|
146
|
-
description: '
|
|
147
|
-
'
|
|
202
|
+
description: 'USE THIS WHEN: the user asks "what\'s the most central code?", "what should I ' +
|
|
203
|
+
'refactor to reduce coupling?", or "which functions are shared the most?". ' +
|
|
204
|
+
'Lists the highest fan-in functions — modifying them has the widest blast radius.',
|
|
148
205
|
inputSchema: {
|
|
149
206
|
type: 'object',
|
|
150
207
|
properties: {
|
|
@@ -162,8 +219,9 @@ export const CHAT_TOOLS = [
|
|
|
162
219
|
// ── God functions ────────────────────────────────────────────────────────
|
|
163
220
|
{
|
|
164
221
|
name: 'get_god_functions',
|
|
165
|
-
description: '
|
|
166
|
-
'
|
|
222
|
+
description: 'USE THIS WHEN: the user asks "which functions do too much?", "what are the worst ' +
|
|
223
|
+
'SRP violations?", or "which functions should be split?". ' +
|
|
224
|
+
'Finds high fan-out orchestrators — the functions most likely to need decomposition.',
|
|
167
225
|
inputSchema: {
|
|
168
226
|
type: 'object',
|
|
169
227
|
properties: {
|
|
@@ -181,9 +239,10 @@ export const CHAT_TOOLS = [
|
|
|
181
239
|
// ── Suggest insertion points ─────────────────────────────────────────────
|
|
182
240
|
{
|
|
183
241
|
name: 'suggest_insertion_points',
|
|
184
|
-
description: '
|
|
185
|
-
'
|
|
186
|
-
'
|
|
242
|
+
description: 'USE THIS WHEN: the user asks "where should I add X?", "where\'s the best place to ' +
|
|
243
|
+
'implement Y?", or "how do I integrate Z into the existing code?". ' +
|
|
244
|
+
'Combines semantic search + call graph to find ranked candidates with context — ' +
|
|
245
|
+
'far more targeted than grepping for similar patterns.',
|
|
187
246
|
inputSchema: {
|
|
188
247
|
type: 'object',
|
|
189
248
|
properties: {
|
|
@@ -209,9 +268,10 @@ export const CHAT_TOOLS = [
|
|
|
209
268
|
// ── Semantic code search ─────────────────────────────────────────────────
|
|
210
269
|
{
|
|
211
270
|
name: 'search_code',
|
|
212
|
-
description: '
|
|
213
|
-
'
|
|
214
|
-
'
|
|
271
|
+
description: 'USE THIS WHEN: you don\'t know which file or function handles a concept — ' +
|
|
272
|
+
'"where is rate limiting implemented?", "which function validates tokens?", ' +
|
|
273
|
+
'"what handles authentication?". Beats grep when the function name is unknown. ' +
|
|
274
|
+
'Falls back to keyword search automatically if the embedding server is down.',
|
|
215
275
|
inputSchema: {
|
|
216
276
|
type: 'object',
|
|
217
277
|
properties: {
|
|
@@ -234,66 +294,128 @@ export const CHAT_TOOLS = [
|
|
|
234
294
|
return { result, filePaths: [...new Set(paths)] };
|
|
235
295
|
},
|
|
236
296
|
},
|
|
237
|
-
// ──
|
|
297
|
+
// ── Spec semantic search (+ domain discovery when query is omitted) ──────
|
|
238
298
|
{
|
|
239
|
-
name: '
|
|
240
|
-
description: '
|
|
241
|
-
'
|
|
242
|
-
'
|
|
299
|
+
name: 'search_specs',
|
|
300
|
+
description: 'USE THIS WHEN: the user asks "which spec covers X?", "what does the spec say about Y?", ' +
|
|
301
|
+
'"which requirement describes Z?", or "what domains exist?". ' +
|
|
302
|
+
'Omit query to list available spec domains. Provide a query to search by meaning. ' +
|
|
303
|
+
'Returns linked source files for graph highlighting.',
|
|
243
304
|
inputSchema: {
|
|
244
305
|
type: 'object',
|
|
245
306
|
properties: {
|
|
246
307
|
directory: { type: 'string', description: 'Absolute path to the project directory' },
|
|
308
|
+
query: { type: 'string', description: 'Natural language search query (omit to list domains)' },
|
|
309
|
+
limit: { type: 'number', description: 'Results to return (default: 10)' },
|
|
310
|
+
domain: { type: 'string', description: 'Filter by domain name (e.g. "auth", "analyzer")' },
|
|
311
|
+
section: {
|
|
312
|
+
type: 'string',
|
|
313
|
+
description: 'Filter by section type: "requirements", "purpose", "design", "architecture", "entities"',
|
|
314
|
+
},
|
|
247
315
|
},
|
|
248
316
|
required: ['directory'],
|
|
249
317
|
},
|
|
250
318
|
async execute(directory, args) {
|
|
251
|
-
const
|
|
319
|
+
const dir = args.directory ?? directory;
|
|
320
|
+
// No query → return domain list instead
|
|
321
|
+
if (!args.query) {
|
|
322
|
+
const result = await handleListSpecDomains(dir);
|
|
323
|
+
return { result, filePaths: [] };
|
|
324
|
+
}
|
|
325
|
+
const result = await handleSearchSpecs(dir, args.query, args.limit ?? 10, args.domain, args.section);
|
|
326
|
+
// linkedFiles arrays are returned per result -- collect all for graph highlighting
|
|
327
|
+
const paths = [];
|
|
328
|
+
if (result && typeof result === 'object') {
|
|
329
|
+
const r = result;
|
|
330
|
+
for (const res of r.results ?? []) {
|
|
331
|
+
for (const f of res.linkedFiles ?? [])
|
|
332
|
+
paths.push(f);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return { result, filePaths: [...new Set(paths)] };
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
// ── Get spec by domain ───────────────────────────────────────────────────
|
|
339
|
+
{
|
|
340
|
+
name: 'get_spec',
|
|
341
|
+
description: 'USE THIS WHEN: the user asks to read a specific spec domain — "show me the auth ' +
|
|
342
|
+
'spec", "what does the analyzer spec say?", "read the API spec". ' +
|
|
343
|
+
'Returns the full spec content and the functions that implement it, in one call.',
|
|
344
|
+
inputSchema: {
|
|
345
|
+
type: 'object',
|
|
346
|
+
properties: {
|
|
347
|
+
directory: { type: 'string', description: 'Absolute path to the project directory' },
|
|
348
|
+
domain: { type: 'string', description: 'Domain name, e.g. "auth" or "analyzer"' },
|
|
349
|
+
},
|
|
350
|
+
required: ['directory', 'domain'],
|
|
351
|
+
},
|
|
352
|
+
async execute(directory, args) {
|
|
353
|
+
const result = await handleGetSpec(args.directory ?? directory, args.domain);
|
|
252
354
|
return { result, filePaths: [] };
|
|
253
355
|
},
|
|
254
356
|
},
|
|
255
|
-
// ──
|
|
357
|
+
// ── Get file dependencies ────────────────────────────────────────────────
|
|
256
358
|
{
|
|
257
|
-
name: '
|
|
258
|
-
description: '
|
|
259
|
-
'
|
|
260
|
-
'
|
|
261
|
-
'or "where should we implement Z?" (spec-first approach). ' +
|
|
262
|
-
'Requires a spec index (spec-gen analyze --embed or --reindex-specs).',
|
|
359
|
+
name: 'get_file_dependencies',
|
|
360
|
+
description: 'USE THIS WHEN: the user asks "what does file X import?", "what files depend on Y?", ' +
|
|
361
|
+
'or when planning a refactor and needing to understand coupling before touching a file. ' +
|
|
362
|
+
'Uses pre-computed in/out degree — no need to grep import statements across the codebase.',
|
|
263
363
|
inputSchema: {
|
|
264
364
|
type: 'object',
|
|
265
365
|
properties: {
|
|
266
366
|
directory: { type: 'string', description: 'Absolute path to the project directory' },
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
domain: { type: 'string', description: 'Filter by domain name (e.g. "auth", "analyzer")' },
|
|
270
|
-
section: {
|
|
367
|
+
filePath: { type: 'string', description: 'Relative file path, e.g. "src/core/analyzer/vector-index.ts"' },
|
|
368
|
+
direction: {
|
|
271
369
|
type: 'string',
|
|
272
|
-
|
|
370
|
+
enum: ['imports', 'importedBy', 'both'],
|
|
371
|
+
description: '"imports", "importedBy", or "both" (default)',
|
|
273
372
|
},
|
|
274
373
|
},
|
|
275
|
-
required: ['directory', '
|
|
374
|
+
required: ['directory', 'filePath'],
|
|
276
375
|
},
|
|
277
376
|
async execute(directory, args) {
|
|
278
|
-
const result = await
|
|
279
|
-
// linkedFiles arrays are returned per result -- collect all for graph highlighting
|
|
377
|
+
const result = await handleGetFileDependencies(args.directory ?? directory, args.filePath, args.direction ?? 'both');
|
|
280
378
|
const paths = [];
|
|
281
379
|
if (result && typeof result === 'object') {
|
|
282
380
|
const r = result;
|
|
283
|
-
for (const
|
|
284
|
-
|
|
285
|
-
paths.push(
|
|
381
|
+
for (const dep of r.imports ?? []) {
|
|
382
|
+
if (dep.filePath)
|
|
383
|
+
paths.push(dep.filePath);
|
|
384
|
+
}
|
|
385
|
+
for (const dep of r.importedBy ?? []) {
|
|
386
|
+
if (dep.filePath)
|
|
387
|
+
paths.push(dep.filePath);
|
|
286
388
|
}
|
|
287
389
|
}
|
|
288
390
|
return { result, filePaths: [...new Set(paths)] };
|
|
289
391
|
},
|
|
290
392
|
},
|
|
393
|
+
// ── Architecture Decision Records ────────────────────────────────────────
|
|
394
|
+
{
|
|
395
|
+
name: 'get_decisions',
|
|
396
|
+
description: 'USE THIS WHEN: the user asks "why was X decided?", "is there an ADR about Y?", ' +
|
|
397
|
+
'or "what\'s the rationale behind Z?". Lists documented architectural decisions — ' +
|
|
398
|
+
'gives the "why" that is not visible in the code itself.',
|
|
399
|
+
inputSchema: {
|
|
400
|
+
type: 'object',
|
|
401
|
+
properties: {
|
|
402
|
+
directory: { type: 'string', description: 'Absolute path to the project directory' },
|
|
403
|
+
query: { type: 'string', description: 'Optional text filter on title or content' },
|
|
404
|
+
},
|
|
405
|
+
required: ['directory'],
|
|
406
|
+
},
|
|
407
|
+
async execute(directory, args) {
|
|
408
|
+
const result = await handleGetDecisions(args.directory ?? directory, args.query);
|
|
409
|
+
return { result, filePaths: [] };
|
|
410
|
+
},
|
|
411
|
+
},
|
|
291
412
|
// ── Refactor report ──────────────────────────────────────────────────────
|
|
292
413
|
{
|
|
293
414
|
name: 'get_refactor_report',
|
|
294
|
-
description: '
|
|
295
|
-
'
|
|
296
|
-
'
|
|
415
|
+
description: 'USE THIS WHEN: the user asks "what should I clean up?", "what\'s the biggest ' +
|
|
416
|
+
'technical debt?", or "what are the worst code quality issues?". ' +
|
|
417
|
+
'Returns a prioritized list: unreachable code, hub overload, god functions, ' +
|
|
418
|
+
'SRP violations, cyclic dependencies — all in one report.',
|
|
297
419
|
inputSchema: {
|
|
298
420
|
type: 'object',
|
|
299
421
|
properties: {
|