structx 2.2.0 → 3.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/dist/benchmark/baseline.d.ts +2 -1
- package/dist/benchmark/baseline.d.ts.map +1 -1
- package/dist/benchmark/baseline.js +7 -18
- package/dist/benchmark/baseline.js.map +1 -1
- package/dist/benchmark/runner.d.ts +2 -1
- package/dist/benchmark/runner.d.ts.map +1 -1
- package/dist/benchmark/runner.js +4 -4
- package/dist/benchmark/runner.js.map +1 -1
- package/dist/cli.js +100 -45
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -1
- package/dist/config.js.map +1 -1
- package/dist/providers/anthropic.d.ts +12 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +32 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/factory.d.ts +18 -0
- package/dist/providers/factory.d.ts.map +1 -0
- package/dist/providers/factory.js +49 -0
- package/dist/providers/factory.js.map +1 -0
- package/dist/providers/gemini.d.ts +12 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +35 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/interface.d.ts +18 -0
- package/dist/providers/interface.d.ts.map +1 -0
- package/dist/providers/interface.js +3 -0
- package/dist/providers/interface.js.map +1 -0
- package/dist/providers/openrouter.d.ts +12 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +38 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/query/answerer.d.ts +2 -1
- package/dist/query/answerer.d.ts.map +1 -1
- package/dist/query/answerer.js +7 -18
- package/dist/query/answerer.js.map +1 -1
- package/dist/query/classifier.d.ts +2 -1
- package/dist/query/classifier.d.ts.map +1 -1
- package/dist/query/classifier.js +4 -13
- package/dist/query/classifier.js.map +1 -1
- package/dist/semantic/analyzer.d.ts +5 -4
- package/dist/semantic/analyzer.d.ts.map +1 -1
- package/dist/semantic/analyzer.js +34 -61
- package/dist/semantic/analyzer.js.map +1 -1
- package/dist/utils/tokens.d.ts.map +1 -1
- package/dist/utils/tokens.js +6 -0
- package/dist/utils/tokens.js.map +1 -1
- package/package.json +3 -1
- package/dist/instructions/claude.md +0 -70
- package/dist/instructions/codex.md +0 -70
- package/dist/instructions/copilot.md +0 -70
- package/dist/instructions/cursor.md +0 -68
- package/dist/instructions/generic.md +0 -70
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LLMProvider } from '../providers/interface';
|
|
1
2
|
export interface BaselineResult {
|
|
2
3
|
answer: string;
|
|
3
4
|
inputTokens: number;
|
|
@@ -6,5 +7,5 @@ export interface BaselineResult {
|
|
|
6
7
|
responseTimeMs: number;
|
|
7
8
|
filesAccessed: number;
|
|
8
9
|
}
|
|
9
|
-
export declare function runBaseline(question: string, repoPath: string, model: string,
|
|
10
|
+
export declare function runBaseline(question: string, repoPath: string, model: string, provider: LLMProvider): Promise<BaselineResult>;
|
|
10
11
|
//# sourceMappingURL=baseline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/benchmark/baseline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/benchmark/baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,cAAc,CAAC,CAqCzB"}
|
|
@@ -32,18 +32,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
exports.runBaseline = runBaseline;
|
|
40
|
-
const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
|
|
41
37
|
const fs = __importStar(require("fs"));
|
|
42
38
|
const path = __importStar(require("path"));
|
|
43
39
|
const scanner_1 = require("../ingest/scanner");
|
|
44
40
|
const tokens_1 = require("../utils/tokens");
|
|
45
|
-
async function runBaseline(question, repoPath, model,
|
|
46
|
-
const client = new sdk_1.default({ apiKey });
|
|
41
|
+
async function runBaseline(question, repoPath, model, provider) {
|
|
47
42
|
// Read all TypeScript files
|
|
48
43
|
const files = (0, scanner_1.scanDirectory)(repoPath);
|
|
49
44
|
let codeContext = '';
|
|
@@ -60,23 +55,17 @@ ${codeContext}
|
|
|
60
55
|
|
|
61
56
|
Question: ${question}`;
|
|
62
57
|
const startTime = Date.now();
|
|
63
|
-
const response = await
|
|
58
|
+
const response = await provider.chat({
|
|
64
59
|
model,
|
|
65
|
-
|
|
60
|
+
maxTokens: 1024,
|
|
66
61
|
messages: [{ role: 'user', content: prompt }],
|
|
67
62
|
});
|
|
68
63
|
const responseTimeMs = Date.now() - startTime;
|
|
69
|
-
const answer = response.content
|
|
70
|
-
.filter(block => block.type === 'text')
|
|
71
|
-
.map(block => block.text)
|
|
72
|
-
.join('');
|
|
73
|
-
const inputTokens = response.usage?.input_tokens ?? 0;
|
|
74
|
-
const outputTokens = response.usage?.output_tokens ?? 0;
|
|
75
64
|
return {
|
|
76
|
-
answer,
|
|
77
|
-
inputTokens,
|
|
78
|
-
outputTokens,
|
|
79
|
-
cost: (0, tokens_1.estimateCost)(model, inputTokens, outputTokens),
|
|
65
|
+
answer: response.text,
|
|
66
|
+
inputTokens: response.inputTokens,
|
|
67
|
+
outputTokens: response.outputTokens,
|
|
68
|
+
cost: (0, tokens_1.estimateCost)(model, response.inputTokens, response.outputTokens),
|
|
80
69
|
responseTimeMs,
|
|
81
70
|
filesAccessed,
|
|
82
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/benchmark/baseline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/benchmark/baseline.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,kCA0CC;AAzDD,uCAAyB;AACzB,2CAA6B;AAE7B,+CAAkD;AAClD,4CAA+C;AAWxC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,QAAgB,EAChB,KAAa,EACb,QAAqB;IAErB,4BAA4B;IAC5B,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,WAAW,IAAI,SAAS,YAAY,SAAS,OAAO,IAAI,CAAC;QACzD,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG;;EAEf,WAAW;;YAED,QAAQ,EAAE,CAAC;IAErB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;QACnC,KAAK;QACL,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE9C,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,IAAI;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,IAAI,EAAE,IAAA,qBAAY,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;QACtE,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type Database from 'better-sqlite3';
|
|
2
|
+
import type { LLMProvider } from '../providers/interface';
|
|
2
3
|
import type { StructXConfig } from '../config';
|
|
3
4
|
export interface BenchmarkRunResult {
|
|
4
5
|
question: string;
|
|
@@ -20,5 +21,5 @@ export interface BenchmarkRunResult {
|
|
|
20
21
|
filesAccessed: number;
|
|
21
22
|
} | null;
|
|
22
23
|
}
|
|
23
|
-
export declare function runBenchmark(db: Database.Database, config: StructXConfig, questions?: string[]): Promise<BenchmarkRunResult[]>;
|
|
24
|
+
export declare function runBenchmark(db: Database.Database, config: StructXConfig, provider: LLMProvider, questions?: string[]): Promise<BenchmarkRunResult[]>;
|
|
24
25
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/benchmark/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAU/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI,CAAC;CACV;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,aAAa,EACrB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6G/B"}
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/benchmark/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAU/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI,CAAC;CACV;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,WAAW,EACrB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6G/B"}
|
package/dist/benchmark/runner.js
CHANGED
|
@@ -9,7 +9,7 @@ const context_builder_1 = require("../query/context-builder");
|
|
|
9
9
|
const answerer_1 = require("../query/answerer");
|
|
10
10
|
const queries_1 = require("../db/queries");
|
|
11
11
|
const logger_1 = require("../utils/logger");
|
|
12
|
-
async function runBenchmark(db, config, questions) {
|
|
12
|
+
async function runBenchmark(db, config, provider, questions) {
|
|
13
13
|
const questionList = questions || questions_1.BENCHMARK_QUESTIONS;
|
|
14
14
|
const results = [];
|
|
15
15
|
for (let i = 0; i < questionList.length; i++) {
|
|
@@ -19,7 +19,7 @@ async function runBenchmark(db, config, questions) {
|
|
|
19
19
|
// Run StructX agent
|
|
20
20
|
try {
|
|
21
21
|
console.log(' Running StructX agent...');
|
|
22
|
-
const classification = await (0, classifier_1.classifyQuestion)(question, config.classifierModel,
|
|
22
|
+
const classification = await (0, classifier_1.classifyQuestion)(question, config.classifierModel, provider);
|
|
23
23
|
const graphQueryStart = Date.now();
|
|
24
24
|
let retrieved;
|
|
25
25
|
switch (classification.strategy) {
|
|
@@ -43,7 +43,7 @@ async function runBenchmark(db, config, questions) {
|
|
|
43
43
|
}
|
|
44
44
|
const graphQueryTimeMs = Date.now() - graphQueryStart;
|
|
45
45
|
const context = (0, context_builder_1.buildContext)(retrieved, question);
|
|
46
|
-
const answerResult = await (0, answerer_1.generateAnswer)(question, context, config.answerModel,
|
|
46
|
+
const answerResult = await (0, answerer_1.generateAnswer)(question, context, config.answerModel, provider);
|
|
47
47
|
result.structx = {
|
|
48
48
|
answer: answerResult.answer,
|
|
49
49
|
inputTokens: answerResult.inputTokens,
|
|
@@ -75,7 +75,7 @@ async function runBenchmark(db, config, questions) {
|
|
|
75
75
|
// Run Traditional agent
|
|
76
76
|
try {
|
|
77
77
|
console.log(' Running Traditional agent...');
|
|
78
|
-
const baseline = await (0, baseline_1.runBaseline)(question, config.repoPath, config.answerModel,
|
|
78
|
+
const baseline = await (0, baseline_1.runBaseline)(question, config.repoPath, config.answerModel, provider);
|
|
79
79
|
result.traditional = {
|
|
80
80
|
answer: baseline.answer,
|
|
81
81
|
inputTokens: baseline.inputTokens,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/benchmark/runner.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/benchmark/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -52,11 +52,54 @@ const answerer_1 = require("./query/answerer");
|
|
|
52
52
|
const runner_1 = require("./benchmark/runner");
|
|
53
53
|
const reporter_1 = require("./benchmark/reporter");
|
|
54
54
|
const ingester_1 = require("./ingest/ingester");
|
|
55
|
+
const factory_1 = require("./providers/factory");
|
|
56
|
+
/**
|
|
57
|
+
* Resolve which LLM provider to use from config + optional CLI override key.
|
|
58
|
+
* Applies per-provider default models when switching away from Anthropic defaults.
|
|
59
|
+
* Returns the provider instance and mutates config models if needed.
|
|
60
|
+
*/
|
|
61
|
+
function resolveProvider(config, cliApiKey) {
|
|
62
|
+
// If the user passed --api-key, treat it as the detected provider's key
|
|
63
|
+
if (cliApiKey) {
|
|
64
|
+
const detected = (0, factory_1.detectProvider)(config);
|
|
65
|
+
const providerName = detected?.provider ?? 'anthropic';
|
|
66
|
+
applyDefaultModels(config, providerName);
|
|
67
|
+
return (0, factory_1.createProvider)(providerName, cliApiKey);
|
|
68
|
+
}
|
|
69
|
+
const detected = (0, factory_1.detectProvider)(config);
|
|
70
|
+
if (!detected) {
|
|
71
|
+
console.log('ERROR: No LLM API key found.');
|
|
72
|
+
console.log('Set one of these environment variables (or add to .env):');
|
|
73
|
+
console.log(' ANTHROPIC_API_KEY — Anthropic (Claude)');
|
|
74
|
+
console.log(' GEMINI_API_KEY — Google Generative AI (Gemini)');
|
|
75
|
+
console.log(' OPENROUTER_API_KEY — OpenRouter (any model)');
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
applyDefaultModels(config, detected.provider);
|
|
79
|
+
return (0, factory_1.createProvider)(detected.provider, detected.apiKey);
|
|
80
|
+
}
|
|
81
|
+
/** Override default Anthropic models with provider-specific defaults when the user hasn't customised them. */
|
|
82
|
+
function applyDefaultModels(config, provider) {
|
|
83
|
+
if (provider === 'anthropic')
|
|
84
|
+
return; // already the default
|
|
85
|
+
const defaults = factory_1.DEFAULT_MODELS[provider];
|
|
86
|
+
const anthropicDefaults = factory_1.DEFAULT_MODELS.anthropic;
|
|
87
|
+
if (config.analysisModel === anthropicDefaults.analysis)
|
|
88
|
+
config.analysisModel = defaults.analysis;
|
|
89
|
+
if (config.classifierModel === anthropicDefaults.classifier)
|
|
90
|
+
config.classifierModel = defaults.classifier;
|
|
91
|
+
if (config.answerModel === anthropicDefaults.answer)
|
|
92
|
+
config.answerModel = defaults.answer;
|
|
93
|
+
}
|
|
94
|
+
/** Check if any API key is available (without requiring a specific one). */
|
|
95
|
+
function hasAnyApiKey(config) {
|
|
96
|
+
return !!(config.anthropicApiKey || config.geminiApiKey || config.openrouterApiKey);
|
|
97
|
+
}
|
|
55
98
|
const program = new commander_1.Command();
|
|
56
99
|
program
|
|
57
100
|
.name('structx')
|
|
58
101
|
.description('Graph-powered code intelligence CLI for TypeScript')
|
|
59
|
-
.version('
|
|
102
|
+
.version('3.0.0')
|
|
60
103
|
.option('--verbose', 'Enable verbose logging')
|
|
61
104
|
.hook('preAction', (thisCommand) => {
|
|
62
105
|
if (thisCommand.opts().verbose) {
|
|
@@ -68,7 +111,7 @@ program
|
|
|
68
111
|
.command('setup')
|
|
69
112
|
.description('One-step bootstrap: init + ingest + analyze')
|
|
70
113
|
.argument('[repo-path]', 'Path to TypeScript repository', '.')
|
|
71
|
-
.option('--api-key <key>', '
|
|
114
|
+
.option('--api-key <key>', 'API key (overrides env var for detected provider)')
|
|
72
115
|
.action(async (repoPath, opts) => {
|
|
73
116
|
const resolved = path.resolve(repoPath);
|
|
74
117
|
const structxDir = (0, config_1.getStructXDir)(resolved);
|
|
@@ -92,7 +135,8 @@ program
|
|
|
92
135
|
const ingestResult = (0, ingester_1.ingestDirectory)(db, resolved, config.diffThreshold);
|
|
93
136
|
(0, ingester_1.printIngestResult)(ingestResult);
|
|
94
137
|
// Step 3: Analyze (auto-confirm)
|
|
95
|
-
if (ingestResult.queued > 0 && config
|
|
138
|
+
if (ingestResult.queued > 0 && hasAnyApiKey(config)) {
|
|
139
|
+
const provider = resolveProvider(config, opts.apiKey);
|
|
96
140
|
const pendingCount = (0, queries_2.getPendingAnalysisCount)(db);
|
|
97
141
|
const estimate = (0, cost_1.estimateAnalysisCost)(pendingCount, config.batchSize, config.analysisModel);
|
|
98
142
|
console.log('\n' + (0, cost_1.formatCostEstimate)(estimate));
|
|
@@ -111,7 +155,7 @@ program
|
|
|
111
155
|
batchNum++;
|
|
112
156
|
const items = pending.map(p => ({ id: p.id, function_id: p.function_id }));
|
|
113
157
|
console.log(` Batch ${batchNum}: ${items.length} functions...`);
|
|
114
|
-
const batchResult = await (0, analyzer_1.analyzeBatch)(db, items, config.analysisModel,
|
|
158
|
+
const batchResult = await (0, analyzer_1.analyzeBatch)(db, items, config.analysisModel, provider);
|
|
115
159
|
totalAnalyzed += batchResult.analyzed;
|
|
116
160
|
totalCached += batchResult.cached;
|
|
117
161
|
totalFailed += batchResult.failed;
|
|
@@ -121,9 +165,9 @@ program
|
|
|
121
165
|
}
|
|
122
166
|
// Analyze types, routes, and file summaries
|
|
123
167
|
console.log('\n Analyzing types, routes, and file summaries...');
|
|
124
|
-
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel,
|
|
125
|
-
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel,
|
|
126
|
-
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel,
|
|
168
|
+
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, provider);
|
|
169
|
+
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, provider);
|
|
170
|
+
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, provider);
|
|
127
171
|
totalAnalyzed += typeResult.analyzed + routeResult.analyzed + fileResult.analyzed;
|
|
128
172
|
totalFailed += typeResult.failed + routeResult.failed + fileResult.failed;
|
|
129
173
|
totalInputTokens += typeResult.totalInputTokens + routeResult.totalInputTokens + fileResult.totalInputTokens;
|
|
@@ -142,15 +186,16 @@ program
|
|
|
142
186
|
console.log(` Total cost: $${totalCost.toFixed(4)}`);
|
|
143
187
|
}
|
|
144
188
|
else if (ingestResult.queued > 0) {
|
|
145
|
-
console.log('\nSkipping analysis:
|
|
146
|
-
console.log('Set
|
|
189
|
+
console.log('\nSkipping analysis: no API key set.');
|
|
190
|
+
console.log('Set ANTHROPIC_API_KEY, GEMINI_API_KEY, or OPENROUTER_API_KEY and run "structx analyze . --yes".');
|
|
147
191
|
}
|
|
148
|
-
else if (config
|
|
192
|
+
else if (hasAnyApiKey(config)) {
|
|
149
193
|
// Still analyze types/routes/files even if no new functions
|
|
194
|
+
const provider = resolveProvider(config, opts.apiKey);
|
|
150
195
|
console.log('\nAnalyzing types, routes, and file summaries...');
|
|
151
|
-
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel,
|
|
152
|
-
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel,
|
|
153
|
-
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel,
|
|
196
|
+
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, provider);
|
|
197
|
+
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, provider);
|
|
198
|
+
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, provider);
|
|
154
199
|
const entityCount = typeResult.analyzed + routeResult.analyzed + fileResult.analyzed;
|
|
155
200
|
if (entityCount > 0) {
|
|
156
201
|
(0, analyzer_1.rebuildSearchIndex)(db);
|
|
@@ -387,12 +432,18 @@ program
|
|
|
387
432
|
// Check config
|
|
388
433
|
try {
|
|
389
434
|
const config = (0, config_1.loadConfig)(structxDir);
|
|
390
|
-
// Check API
|
|
435
|
+
// Check API keys
|
|
391
436
|
if (config.anthropicApiKey) {
|
|
392
437
|
console.log(' [OK] Anthropic API key is set');
|
|
393
438
|
}
|
|
439
|
+
else if (config.geminiApiKey) {
|
|
440
|
+
console.log(' [OK] Gemini API key is set');
|
|
441
|
+
}
|
|
442
|
+
else if (config.openrouterApiKey) {
|
|
443
|
+
console.log(' [OK] OpenRouter API key is set');
|
|
444
|
+
}
|
|
394
445
|
else {
|
|
395
|
-
console.log(' [WARN]
|
|
446
|
+
console.log(' [WARN] No API key set (set ANTHROPIC_API_KEY, GEMINI_API_KEY, or OPENROUTER_API_KEY)');
|
|
396
447
|
allGood = false;
|
|
397
448
|
}
|
|
398
449
|
// Check repo path
|
|
@@ -445,7 +496,7 @@ program
|
|
|
445
496
|
.description('Run LLM semantic analysis on extracted functions')
|
|
446
497
|
.argument('[repo-path]', 'Path to TypeScript repository', '.')
|
|
447
498
|
.option('--yes', 'Skip cost confirmation prompt')
|
|
448
|
-
.option('--api-key <key>', '
|
|
499
|
+
.option('--api-key <key>', 'API key (overrides env var for detected provider)')
|
|
449
500
|
.action(async (repoPath, opts) => {
|
|
450
501
|
const resolved = path.resolve(repoPath);
|
|
451
502
|
const structxDir = (0, config_1.getStructXDir)(resolved);
|
|
@@ -457,11 +508,12 @@ program
|
|
|
457
508
|
const config = (0, config_1.loadConfig)(structxDir);
|
|
458
509
|
if (opts.apiKey)
|
|
459
510
|
config.anthropicApiKey = opts.apiKey;
|
|
460
|
-
if (!config
|
|
461
|
-
console.log('ERROR:
|
|
462
|
-
console.log('Fix: Set ANTHROPIC_API_KEY env var, pass --api-key <key>, or add to .structx/config.json');
|
|
511
|
+
if (!hasAnyApiKey(config)) {
|
|
512
|
+
console.log('ERROR: No LLM API key set.');
|
|
513
|
+
console.log('Fix: Set ANTHROPIC_API_KEY, GEMINI_API_KEY, or OPENROUTER_API_KEY env var, pass --api-key <key>, or add to .structx/config.json');
|
|
463
514
|
return;
|
|
464
515
|
}
|
|
516
|
+
const provider = resolveProvider(config, opts.apiKey);
|
|
465
517
|
const db = (0, connection_1.openDatabase)(dbPath);
|
|
466
518
|
const pendingCount = (0, queries_2.getPendingAnalysisCount)(db);
|
|
467
519
|
if (pendingCount === 0) {
|
|
@@ -500,7 +552,7 @@ program
|
|
|
500
552
|
batchNum++;
|
|
501
553
|
const items = pending.map(p => ({ id: p.id, function_id: p.function_id }));
|
|
502
554
|
console.log(` Batch ${batchNum}: ${items.length} functions...`);
|
|
503
|
-
const batchResult = await (0, analyzer_1.analyzeBatch)(db, items, config.analysisModel,
|
|
555
|
+
const batchResult = await (0, analyzer_1.analyzeBatch)(db, items, config.analysisModel, provider);
|
|
504
556
|
totalAnalyzed += batchResult.analyzed;
|
|
505
557
|
totalCached += batchResult.cached;
|
|
506
558
|
totalFailed += batchResult.failed;
|
|
@@ -510,9 +562,9 @@ program
|
|
|
510
562
|
}
|
|
511
563
|
// Analyze types, routes, and file summaries
|
|
512
564
|
console.log('\n Analyzing types, routes, and file summaries...');
|
|
513
|
-
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel,
|
|
514
|
-
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel,
|
|
515
|
-
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel,
|
|
565
|
+
const typeResult = await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, provider);
|
|
566
|
+
const routeResult = await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, provider);
|
|
567
|
+
const fileResult = await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, provider);
|
|
516
568
|
totalAnalyzed += typeResult.analyzed + routeResult.analyzed + fileResult.analyzed;
|
|
517
569
|
totalFailed += typeResult.failed + routeResult.failed + fileResult.failed;
|
|
518
570
|
totalInputTokens += typeResult.totalInputTokens + routeResult.totalInputTokens + fileResult.totalInputTokens;
|
|
@@ -535,7 +587,7 @@ program
|
|
|
535
587
|
.description('Ask a question about the codebase')
|
|
536
588
|
.argument('<question>', 'The question to ask')
|
|
537
589
|
.option('--repo <path>', 'Path to TypeScript repository', '.')
|
|
538
|
-
.option('--api-key <key>', '
|
|
590
|
+
.option('--api-key <key>', 'API key (overrides env var for detected provider)')
|
|
539
591
|
.action(async (question, opts) => {
|
|
540
592
|
const resolved = path.resolve(opts.repo);
|
|
541
593
|
const structxDir = (0, config_1.getStructXDir)(resolved);
|
|
@@ -550,8 +602,9 @@ program
|
|
|
550
602
|
config.anthropicApiKey = opts.apiKey;
|
|
551
603
|
const result = (0, ingester_1.ingestDirectory)(db, resolved, config.diffThreshold);
|
|
552
604
|
(0, ingester_1.printIngestResult)(result);
|
|
553
|
-
// Run semantic analysis if API key available
|
|
554
|
-
if (config
|
|
605
|
+
// Run semantic analysis if any API key available
|
|
606
|
+
if (hasAnyApiKey(config)) {
|
|
607
|
+
const provider = resolveProvider(config, opts.apiKey);
|
|
555
608
|
console.log('\nRunning semantic analysis...');
|
|
556
609
|
const pending = (0, queries_2.getPendingAnalysis)(db, config.batchSize);
|
|
557
610
|
if (pending.length > 0) {
|
|
@@ -562,33 +615,34 @@ program
|
|
|
562
615
|
break;
|
|
563
616
|
batchNum++;
|
|
564
617
|
console.log(` Batch ${batchNum}: ${items.length} functions...`);
|
|
565
|
-
await (0, analyzer_1.analyzeBatch)(db, items.map(p => ({ id: p.id, function_id: p.function_id })), config.analysisModel,
|
|
618
|
+
await (0, analyzer_1.analyzeBatch)(db, items.map(p => ({ id: p.id, function_id: p.function_id })), config.analysisModel, provider);
|
|
566
619
|
}
|
|
567
|
-
await (0, analyzer_1.analyzeTypes)(db, config.analysisModel,
|
|
568
|
-
await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel,
|
|
569
|
-
await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel,
|
|
620
|
+
await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, provider);
|
|
621
|
+
await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, provider);
|
|
622
|
+
await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, provider);
|
|
570
623
|
(0, analyzer_1.rebuildSearchIndex)(db);
|
|
571
624
|
}
|
|
572
625
|
console.log('Setup complete. Now answering your question...\n');
|
|
573
626
|
}
|
|
574
627
|
else {
|
|
575
|
-
console.log('\nWARNING:
|
|
576
|
-
console.log('Results will be limited. Set
|
|
628
|
+
console.log('\nWARNING: No API key set. Semantic analysis skipped.');
|
|
629
|
+
console.log('Results will be limited. Set an API key and run "structx analyze . --yes" for better answers.\n');
|
|
577
630
|
}
|
|
578
631
|
db.close();
|
|
579
632
|
}
|
|
580
633
|
const config = (0, config_1.loadConfig)(structxDir);
|
|
581
634
|
if (opts.apiKey)
|
|
582
635
|
config.anthropicApiKey = opts.apiKey;
|
|
583
|
-
if (!config
|
|
584
|
-
console.log('ERROR:
|
|
636
|
+
if (!hasAnyApiKey(config)) {
|
|
637
|
+
console.log('ERROR: No LLM API key set.');
|
|
585
638
|
console.log('Fix one of:');
|
|
586
|
-
console.log(' 1. Set ANTHROPIC_API_KEY environment variable');
|
|
639
|
+
console.log(' 1. Set ANTHROPIC_API_KEY, GEMINI_API_KEY, or OPENROUTER_API_KEY environment variable');
|
|
587
640
|
console.log(' 2. Pass --api-key <key> to this command');
|
|
588
|
-
console.log(' 3. Add
|
|
641
|
+
console.log(' 3. Add an API key to .structx/config.json');
|
|
589
642
|
console.log('\nNote: "structx overview --repo ." works without an API key to see the codebase structure.');
|
|
590
643
|
return;
|
|
591
644
|
}
|
|
645
|
+
const provider = resolveProvider(config, opts.apiKey);
|
|
592
646
|
const db = (0, connection_1.openDatabase)(dbPath);
|
|
593
647
|
// Check if DB is empty — suggest re-ingesting
|
|
594
648
|
const stats = (0, queries_1.getStats)(db);
|
|
@@ -603,11 +657,11 @@ program
|
|
|
603
657
|
const items = (0, queries_2.getPendingAnalysis)(db, config.batchSize);
|
|
604
658
|
if (items.length === 0)
|
|
605
659
|
break;
|
|
606
|
-
await (0, analyzer_1.analyzeBatch)(db, items.map(p => ({ id: p.id, function_id: p.function_id })), config.analysisModel,
|
|
660
|
+
await (0, analyzer_1.analyzeBatch)(db, items.map(p => ({ id: p.id, function_id: p.function_id })), config.analysisModel, provider);
|
|
607
661
|
}
|
|
608
|
-
await (0, analyzer_1.analyzeTypes)(db, config.analysisModel,
|
|
609
|
-
await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel,
|
|
610
|
-
await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel,
|
|
662
|
+
await (0, analyzer_1.analyzeTypes)(db, config.analysisModel, provider);
|
|
663
|
+
await (0, analyzer_1.analyzeRoutes)(db, config.analysisModel, provider);
|
|
664
|
+
await (0, analyzer_1.analyzeFileSummaries)(db, config.analysisModel, provider);
|
|
611
665
|
(0, analyzer_1.rebuildSearchIndex)(db);
|
|
612
666
|
}
|
|
613
667
|
console.log('');
|
|
@@ -620,7 +674,7 @@ program
|
|
|
620
674
|
const startTime = Date.now();
|
|
621
675
|
// Step 1: Classify the question
|
|
622
676
|
console.log('Classifying question...');
|
|
623
|
-
const classification = await (0, classifier_1.classifyQuestion)(question, config.classifierModel,
|
|
677
|
+
const classification = await (0, classifier_1.classifyQuestion)(question, config.classifierModel, provider);
|
|
624
678
|
logger_1.logger.debug('Classification', classification);
|
|
625
679
|
// Step 2: Retrieve context
|
|
626
680
|
console.log(`Retrieving context (strategy: ${classification.strategy})...`);
|
|
@@ -665,7 +719,7 @@ program
|
|
|
665
719
|
const context = (0, context_builder_1.buildContext)(retrieved, question);
|
|
666
720
|
// Step 4: Generate answer
|
|
667
721
|
console.log('Generating answer...\n');
|
|
668
|
-
const answerResult = await (0, answerer_1.generateAnswer)(question, context, config.answerModel,
|
|
722
|
+
const answerResult = await (0, answerer_1.generateAnswer)(question, context, config.answerModel, provider);
|
|
669
723
|
// Display answer
|
|
670
724
|
const entityCount = retrieved.functions.length + retrieved.types.length +
|
|
671
725
|
retrieved.routes.length + retrieved.files.length + retrieved.constants.length;
|
|
@@ -707,14 +761,15 @@ benchmarkCmd
|
|
|
707
761
|
return;
|
|
708
762
|
}
|
|
709
763
|
const config = (0, config_1.loadConfig)(structxDir);
|
|
710
|
-
if (!config
|
|
711
|
-
console.log('
|
|
764
|
+
if (!hasAnyApiKey(config)) {
|
|
765
|
+
console.log('No API key set. Set ANTHROPIC_API_KEY, GEMINI_API_KEY, or OPENROUTER_API_KEY.');
|
|
712
766
|
return;
|
|
713
767
|
}
|
|
768
|
+
const provider = resolveProvider(config);
|
|
714
769
|
const db = (0, connection_1.openDatabase)(dbPath);
|
|
715
770
|
console.log('Starting benchmark...');
|
|
716
771
|
console.log('Running 8 questions in both StructX and Traditional modes.\n');
|
|
717
|
-
const results = await (0, runner_1.runBenchmark)(db, config);
|
|
772
|
+
const results = await (0, runner_1.runBenchmark)(db, config, provider);
|
|
718
773
|
// Generate and save reports
|
|
719
774
|
const markdown = (0, reporter_1.generateMarkdownReport)(results);
|
|
720
775
|
const csv = (0, reporter_1.generateCsvReport)(results);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import type { ProviderName } from './providers/factory';
|
|
1
2
|
export interface StructXConfig {
|
|
2
3
|
repoPath: string;
|
|
3
4
|
anthropicApiKey: string;
|
|
5
|
+
geminiApiKey: string;
|
|
6
|
+
openrouterApiKey: string;
|
|
7
|
+
provider: ProviderName | null;
|
|
4
8
|
analysisModel: string;
|
|
5
9
|
classifierModel: string;
|
|
6
10
|
answerModel: string;
|