midas-mcp 3.0.0 → 3.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/LICENSE +21 -0
- package/dist/ai.d.ts +2 -0
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +28 -45
- package/dist/ai.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +37 -87
- package/dist/analyzer.js.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +109 -15
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +76 -7
- package/dist/context.js.map +1 -1
- package/dist/providers.d.ts +46 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +287 -0
- package/dist/providers.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/config.d.ts +73 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +94 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +240 -172
- package/dist/tui.js.map +1 -1
- package/package.json +17 -5
- package/dist/tests/analyze.test.d.ts +0 -2
- package/dist/tests/analyze.test.d.ts.map +0 -1
- package/dist/tests/analyze.test.js +0 -120
- package/dist/tests/analyze.test.js.map +0 -1
- package/dist/tests/context.test.d.ts +0 -2
- package/dist/tests/context.test.d.ts.map +0 -1
- package/dist/tests/context.test.js +0 -213
- package/dist/tests/context.test.js.map +0 -1
- package/dist/tests/edge-cases.test.d.ts +0 -2
- package/dist/tests/edge-cases.test.d.ts.map +0 -1
- package/dist/tests/edge-cases.test.js +0 -234
- package/dist/tests/edge-cases.test.js.map +0 -1
- package/dist/tests/journal.test.d.ts +0 -2
- package/dist/tests/journal.test.d.ts.map +0 -1
- package/dist/tests/journal.test.js +0 -184
- package/dist/tests/journal.test.js.map +0 -1
- package/dist/tests/metrics.test.d.ts +0 -2
- package/dist/tests/metrics.test.d.ts.map +0 -1
- package/dist/tests/metrics.test.js +0 -178
- package/dist/tests/metrics.test.js.map +0 -1
- package/dist/tests/phase.test.d.ts +0 -2
- package/dist/tests/phase.test.d.ts.map +0 -1
- package/dist/tests/phase.test.js +0 -110
- package/dist/tests/phase.test.js.map +0 -1
- package/dist/tests/prompts.test.d.ts +0 -2
- package/dist/tests/prompts.test.d.ts.map +0 -1
- package/dist/tests/prompts.test.js +0 -157
- package/dist/tests/prompts.test.js.map +0 -1
- package/dist/tests/search.test.d.ts +0 -2
- package/dist/tests/search.test.d.ts.map +0 -1
- package/dist/tests/search.test.js +0 -228
- package/dist/tests/search.test.js.map +0 -1
- package/dist/tests/security.test.d.ts +0 -2
- package/dist/tests/security.test.d.ts.map +0 -1
- package/dist/tests/security.test.js +0 -105
- package/dist/tests/security.test.js.map +0 -1
- package/dist/tests/server.test.d.ts +0 -2
- package/dist/tests/server.test.d.ts.map +0 -1
- package/dist/tests/server.test.js +0 -93
- package/dist/tests/server.test.js.map +0 -1
- package/dist/tests/techstack.test.d.ts +0 -2
- package/dist/tests/techstack.test.d.ts.map +0 -1
- package/dist/tests/techstack.test.js +0 -187
- package/dist/tests/techstack.test.js.map +0 -1
- package/dist/tests/tools.test.d.ts +0 -2
- package/dist/tests/tools.test.d.ts.map +0 -1
- package/dist/tests/tools.test.js +0 -137
- package/dist/tests/tools.test.js.map +0 -1
- package/dist/tests/tracker.test.d.ts +0 -2
- package/dist/tests/tracker.test.d.ts.map +0 -1
- package/dist/tests/tracker.test.js +0 -197
- package/dist/tests/tracker.test.js.map +0 -1
package/dist/config.js
CHANGED
|
@@ -13,16 +13,23 @@ export function loadConfig() {
|
|
|
13
13
|
ensureConfigDir();
|
|
14
14
|
if (!existsSync(CONFIG_FILE)) {
|
|
15
15
|
return {
|
|
16
|
+
provider: 'anthropic',
|
|
16
17
|
createdAt: new Date().toISOString(),
|
|
17
18
|
lastUsed: new Date().toISOString(),
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
try {
|
|
21
22
|
const raw = readFileSync(CONFIG_FILE, 'utf-8');
|
|
22
|
-
|
|
23
|
+
const parsed = JSON.parse(raw);
|
|
24
|
+
// Ensure provider field exists (migration)
|
|
25
|
+
if (!parsed.provider) {
|
|
26
|
+
parsed.provider = 'anthropic';
|
|
27
|
+
}
|
|
28
|
+
return parsed;
|
|
23
29
|
}
|
|
24
30
|
catch {
|
|
25
31
|
return {
|
|
32
|
+
provider: 'anthropic',
|
|
26
33
|
createdAt: new Date().toISOString(),
|
|
27
34
|
lastUsed: new Date().toISOString(),
|
|
28
35
|
};
|
|
@@ -33,51 +40,131 @@ export function saveConfig(config) {
|
|
|
33
40
|
config.lastUsed = new Date().toISOString();
|
|
34
41
|
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2));
|
|
35
42
|
}
|
|
36
|
-
export function
|
|
43
|
+
export function getActiveProvider() {
|
|
44
|
+
const config = loadConfig();
|
|
45
|
+
return config.provider;
|
|
46
|
+
}
|
|
47
|
+
export function setActiveProvider(provider) {
|
|
48
|
+
const config = loadConfig();
|
|
49
|
+
config.provider = provider;
|
|
50
|
+
saveConfig(config);
|
|
51
|
+
}
|
|
52
|
+
// Get API key for a specific provider
|
|
53
|
+
export function getProviderApiKey(provider) {
|
|
54
|
+
const envKeys = {
|
|
55
|
+
anthropic: 'ANTHROPIC_API_KEY',
|
|
56
|
+
openai: 'OPENAI_API_KEY',
|
|
57
|
+
google: 'GOOGLE_API_KEY',
|
|
58
|
+
xai: 'XAI_API_KEY',
|
|
59
|
+
};
|
|
37
60
|
// Check env var first
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
61
|
+
const envKey = process.env[envKeys[provider]];
|
|
62
|
+
if (envKey)
|
|
63
|
+
return envKey;
|
|
41
64
|
// Then check config
|
|
42
65
|
const config = loadConfig();
|
|
43
|
-
|
|
66
|
+
switch (provider) {
|
|
67
|
+
case 'anthropic': return config.anthropicApiKey;
|
|
68
|
+
case 'openai': return config.openaiApiKey;
|
|
69
|
+
case 'google': return config.googleApiKey;
|
|
70
|
+
case 'xai': return config.xaiApiKey;
|
|
71
|
+
default: return undefined;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Get API key for active provider (backward compatible)
|
|
75
|
+
export function getApiKey() {
|
|
76
|
+
const provider = getActiveProvider();
|
|
77
|
+
return getProviderApiKey(provider);
|
|
44
78
|
}
|
|
45
79
|
export function hasApiKey() {
|
|
46
80
|
return !!getApiKey();
|
|
47
81
|
}
|
|
82
|
+
// Set API key for a specific provider
|
|
83
|
+
export function setProviderApiKey(provider, apiKey) {
|
|
84
|
+
const config = loadConfig();
|
|
85
|
+
switch (provider) {
|
|
86
|
+
case 'anthropic':
|
|
87
|
+
config.anthropicApiKey = apiKey;
|
|
88
|
+
break;
|
|
89
|
+
case 'openai':
|
|
90
|
+
config.openaiApiKey = apiKey;
|
|
91
|
+
break;
|
|
92
|
+
case 'google':
|
|
93
|
+
config.googleApiKey = apiKey;
|
|
94
|
+
break;
|
|
95
|
+
case 'xai':
|
|
96
|
+
config.xaiApiKey = apiKey;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
saveConfig(config);
|
|
100
|
+
}
|
|
101
|
+
// Validate API key format
|
|
102
|
+
export function validateApiKey(provider, key) {
|
|
103
|
+
switch (provider) {
|
|
104
|
+
case 'anthropic':
|
|
105
|
+
return key.startsWith('sk-ant-');
|
|
106
|
+
case 'openai':
|
|
107
|
+
return key.startsWith('sk-') && !key.startsWith('sk-ant-');
|
|
108
|
+
case 'google':
|
|
109
|
+
return key.startsWith('AIza');
|
|
110
|
+
case 'xai':
|
|
111
|
+
return key.startsWith('xai-');
|
|
112
|
+
default:
|
|
113
|
+
return key.length > 10;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Get provider display info
|
|
117
|
+
export function getProviderInfo(provider) {
|
|
118
|
+
switch (provider) {
|
|
119
|
+
case 'anthropic':
|
|
120
|
+
return { name: 'Anthropic', model: 'claude-opus-4-20250514', url: 'console.anthropic.com' };
|
|
121
|
+
case 'openai':
|
|
122
|
+
return { name: 'OpenAI', model: 'gpt-4o', url: 'platform.openai.com' };
|
|
123
|
+
case 'google':
|
|
124
|
+
return { name: 'Google', model: 'gemini-2.0-flash', url: 'ai.google.dev' };
|
|
125
|
+
case 'xai':
|
|
126
|
+
return { name: 'xAI', model: 'grok-2', url: 'console.x.ai' };
|
|
127
|
+
default:
|
|
128
|
+
return { name: 'Unknown', model: 'unknown', url: '' };
|
|
129
|
+
}
|
|
130
|
+
}
|
|
48
131
|
export async function promptForApiKey() {
|
|
49
132
|
const rl = createInterface({
|
|
50
133
|
input: process.stdin,
|
|
51
134
|
output: process.stdout,
|
|
52
135
|
});
|
|
53
136
|
return new Promise((resolve) => {
|
|
137
|
+
const config = loadConfig();
|
|
138
|
+
const provider = config.provider;
|
|
139
|
+
const info = getProviderInfo(provider);
|
|
54
140
|
console.log('\n');
|
|
55
141
|
console.log(' ┌─────────────────────────────────────────────────┐');
|
|
56
142
|
console.log(' │ MIDAS - First Time Setup │');
|
|
57
143
|
console.log(' ├─────────────────────────────────────────────────┤');
|
|
58
144
|
console.log(' │ │');
|
|
145
|
+
console.log(` │ Provider: ${info.name.padEnd(37)}│`);
|
|
146
|
+
console.log(` │ Model: ${info.model.padEnd(40)}│`);
|
|
147
|
+
console.log(' │ │');
|
|
59
148
|
console.log(' │ For AI-powered features (smart prompts, │');
|
|
60
149
|
console.log(' │ codebase analysis, auto-detection), Midas │');
|
|
61
|
-
console.log(' │ needs an
|
|
150
|
+
console.log(' │ needs an API key. │');
|
|
62
151
|
console.log(' │ │');
|
|
63
|
-
console.log(
|
|
152
|
+
console.log(` │ Get one at: ${info.url.padEnd(35)}│`);
|
|
64
153
|
console.log(' │ │');
|
|
65
154
|
console.log(' │ This is optional. Press Enter to skip. │');
|
|
66
155
|
console.log(' │ │');
|
|
67
156
|
console.log(' └─────────────────────────────────────────────────┘');
|
|
68
157
|
console.log('');
|
|
69
|
-
rl.question(
|
|
158
|
+
rl.question(` ${info.name} API Key: `, (answer) => {
|
|
70
159
|
rl.close();
|
|
71
160
|
const key = answer.trim();
|
|
72
|
-
if (key && key
|
|
73
|
-
|
|
74
|
-
config.anthropicApiKey = key;
|
|
75
|
-
saveConfig(config);
|
|
161
|
+
if (key && validateApiKey(provider, key)) {
|
|
162
|
+
setProviderApiKey(provider, key);
|
|
76
163
|
console.log('\n OK - API key saved to ~/.midas/config.json\n');
|
|
77
164
|
resolve(key);
|
|
78
165
|
}
|
|
79
166
|
else if (key) {
|
|
80
|
-
console.log('\n
|
|
167
|
+
console.log('\n Invalid key format. Skipping.\n');
|
|
81
168
|
resolve(undefined);
|
|
82
169
|
}
|
|
83
170
|
else {
|
|
@@ -93,9 +180,16 @@ export async function ensureApiKey() {
|
|
|
93
180
|
return existing;
|
|
94
181
|
// Check if this is first run
|
|
95
182
|
const config = loadConfig();
|
|
96
|
-
|
|
183
|
+
const provider = config.provider;
|
|
184
|
+
const hasKey = getProviderApiKey(provider);
|
|
185
|
+
if (!hasKey) {
|
|
97
186
|
return promptForApiKey();
|
|
98
187
|
}
|
|
99
188
|
return undefined;
|
|
100
189
|
}
|
|
190
|
+
// List configured providers (those with API keys)
|
|
191
|
+
export function listConfiguredProviders() {
|
|
192
|
+
const providers = ['anthropic', 'openai', 'google', 'xai'];
|
|
193
|
+
return providers.filter(p => !!getProviderApiKey(p));
|
|
194
|
+
}
|
|
101
195
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -40,13 +40,20 @@ export declare function truncateToTokens(text: string, maxTokens: number): strin
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function extractKeyPoints(text: string, maxPoints?: number): string[];
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Hierarchical summarization - more detail for recent, less for old
|
|
44
|
+
* Level 1 (most recent): Title + 3 key points
|
|
45
|
+
* Level 2 (recent): Title + 1 key point
|
|
46
|
+
* Level 3 (older): Just title
|
|
44
47
|
*/
|
|
45
48
|
export declare function summarizeJournalEntries(entries: Array<{
|
|
46
49
|
title: string;
|
|
47
50
|
conversation: string;
|
|
48
51
|
timestamp: string;
|
|
49
52
|
}>): string;
|
|
53
|
+
/**
|
|
54
|
+
* Get code snippets from recently modified files
|
|
55
|
+
*/
|
|
56
|
+
export declare function getCodeSnippets(projectPath: string, maxFiles?: number, maxLinesPerFile?: number): string;
|
|
50
57
|
export declare function buildCompressedContext(projectPath: string, options?: {
|
|
51
58
|
maxTokens?: number;
|
|
52
59
|
includeCode?: boolean;
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAuCD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvG;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAqB/G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAaA;AAgBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,MAAM,EAAE,CAwB9E;AAED
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAuCD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvG;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAqB/G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAaA;AAgBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,MAAM,EAAE,CAwB9E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CA4B1H;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,EAAE,eAAe,GAAE,MAAW,GAAG,MAAM,CA0B/G;AAWD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GACL,iBAAiB,CA+LnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAoBlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAqBA"}
|
package/dist/context.js
CHANGED
|
@@ -140,20 +140,66 @@ export function extractKeyPoints(text, maxPoints = 5) {
|
|
|
140
140
|
return points;
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
|
-
*
|
|
143
|
+
* Hierarchical summarization - more detail for recent, less for old
|
|
144
|
+
* Level 1 (most recent): Title + 3 key points
|
|
145
|
+
* Level 2 (recent): Title + 1 key point
|
|
146
|
+
* Level 3 (older): Just title
|
|
144
147
|
*/
|
|
145
148
|
export function summarizeJournalEntries(entries) {
|
|
146
149
|
if (entries.length === 0)
|
|
147
150
|
return 'No journal entries.';
|
|
148
151
|
const lines = [];
|
|
149
|
-
for (
|
|
152
|
+
for (let i = 0; i < entries.length && i < 7; i++) {
|
|
153
|
+
const entry = entries[i];
|
|
150
154
|
const date = entry.timestamp.slice(0, 10);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
155
|
+
if (i === 0) {
|
|
156
|
+
// Most recent: full detail
|
|
157
|
+
const keyPoints = extractKeyPoints(entry.conversation, 3);
|
|
158
|
+
lines.push(`- ${date}: ${entry.title}`);
|
|
159
|
+
keyPoints.forEach(p => lines.push(` > ${p.slice(0, 100)}`));
|
|
160
|
+
}
|
|
161
|
+
else if (i < 3) {
|
|
162
|
+
// Recent: title + 1 key point
|
|
163
|
+
const keyPoints = extractKeyPoints(entry.conversation, 1);
|
|
164
|
+
lines.push(`- ${date}: ${entry.title}`);
|
|
165
|
+
if (keyPoints.length > 0) {
|
|
166
|
+
lines.push(` > ${keyPoints[0].slice(0, 80)}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// Older: just title
|
|
171
|
+
lines.push(`- ${date}: ${entry.title}`);
|
|
172
|
+
}
|
|
154
173
|
}
|
|
155
174
|
return lines.join('\n');
|
|
156
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Get code snippets from recently modified files
|
|
178
|
+
*/
|
|
179
|
+
export function getCodeSnippets(projectPath, maxFiles = 3, maxLinesPerFile = 20) {
|
|
180
|
+
const tracker = loadTracker(projectPath);
|
|
181
|
+
const snippets = [];
|
|
182
|
+
const codeExtensions = ['.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs'];
|
|
183
|
+
const recentCodeFiles = tracker.recentFiles
|
|
184
|
+
.filter(f => codeExtensions.some(ext => f.path.endsWith(ext)))
|
|
185
|
+
.slice(0, maxFiles);
|
|
186
|
+
for (const file of recentCodeFiles) {
|
|
187
|
+
try {
|
|
188
|
+
const fullPath = join(projectPath, file.path);
|
|
189
|
+
if (!existsSync(fullPath))
|
|
190
|
+
continue;
|
|
191
|
+
const content = readFileSync(fullPath, 'utf-8');
|
|
192
|
+
const lines = content.split('\n');
|
|
193
|
+
// Get first N lines (usually imports + key code)
|
|
194
|
+
const snippet = lines.slice(0, maxLinesPerFile).join('\n');
|
|
195
|
+
snippets.push(`--- ${file.path} ---\n${snippet}`);
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
// Skip files we can't read
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return snippets.join('\n\n');
|
|
202
|
+
}
|
|
157
203
|
// ============================================================================
|
|
158
204
|
// CONTEXT BUILDING
|
|
159
205
|
// ============================================================================
|
|
@@ -163,7 +209,13 @@ If stuck: Tornado (research + logs + tests). If output doesn't fit: Horizon (exp
|
|
|
163
209
|
Gates must pass (build/test/lint) before advancing.`;
|
|
164
210
|
export function buildCompressedContext(projectPath, options = {}) {
|
|
165
211
|
const safePath = sanitizePath(projectPath);
|
|
166
|
-
|
|
212
|
+
// Dynamic budget: increase when errors present
|
|
213
|
+
const errors = getUnresolvedErrors(safePath);
|
|
214
|
+
const hasErrors = errors.length > 0;
|
|
215
|
+
const baseTokens = options.maxTokens || 4000;
|
|
216
|
+
// Give 50% more budget when debugging errors
|
|
217
|
+
const maxTokens = hasErrors ? Math.floor(baseTokens * 1.5) : baseTokens;
|
|
218
|
+
const includeCode = options.includeCode ?? true; // Default to including code
|
|
167
219
|
const layers = [];
|
|
168
220
|
let totalTokens = 0;
|
|
169
221
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -217,11 +269,28 @@ export function buildCompressedContext(projectPath, options = {}) {
|
|
|
217
269
|
tokens: estimateTokens(fileList) + 20,
|
|
218
270
|
});
|
|
219
271
|
}
|
|
272
|
+
// Layer 4b: Code snippets (if enabled and budget allows)
|
|
273
|
+
if (includeCode && tracker.recentFiles.length > 0) {
|
|
274
|
+
const snippets = getCodeSnippets(safePath, 3, 15);
|
|
275
|
+
if (snippets.length > 0) {
|
|
276
|
+
const snippetTokens = estimateTokens(snippets);
|
|
277
|
+
// Only include if it fits in 20% of budget
|
|
278
|
+
if (snippetTokens < maxTokens * 0.2) {
|
|
279
|
+
layers.push({
|
|
280
|
+
name: 'code_snippets',
|
|
281
|
+
priority: 'medium',
|
|
282
|
+
position: 'middle',
|
|
283
|
+
content: `Recent code:\n${snippets}`,
|
|
284
|
+
tokens: snippetTokens + 20,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
220
289
|
// ─────────────────────────────────────────────────────────────────────────
|
|
221
290
|
// END: Recent context (high attention, full detail)
|
|
222
291
|
// ─────────────────────────────────────────────────────────────────────────
|
|
223
292
|
// Layer 5: Unresolved errors (FULL - critical for debugging)
|
|
224
|
-
|
|
293
|
+
// Note: 'errors' already loaded at top for dynamic budget calculation
|
|
225
294
|
if (errors.length > 0) {
|
|
226
295
|
const errorContent = errors.slice(0, 3).map(e => {
|
|
227
296
|
const attempts = e.fixAttempts.length > 0
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-provider AI abstraction for Midas
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Anthropic Claude (claude-opus-4-20250514)
|
|
6
|
+
* - OpenAI GPT-4o
|
|
7
|
+
* - Google Gemini 2.0 Flash
|
|
8
|
+
* - xAI Grok 2
|
|
9
|
+
*/
|
|
10
|
+
import { type AIProvider } from './config.js';
|
|
11
|
+
export interface ChatOptions {
|
|
12
|
+
systemPrompt?: string;
|
|
13
|
+
maxTokens?: number;
|
|
14
|
+
temperature?: number;
|
|
15
|
+
useThinking?: boolean;
|
|
16
|
+
timeout?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ChatResponse {
|
|
19
|
+
content: string;
|
|
20
|
+
provider: AIProvider;
|
|
21
|
+
model: string;
|
|
22
|
+
inputTokens?: number;
|
|
23
|
+
outputTokens?: number;
|
|
24
|
+
cached?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Main chat function - routes to appropriate provider
|
|
28
|
+
*/
|
|
29
|
+
export declare function chat(prompt: string, options?: ChatOptions): Promise<ChatResponse>;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a specific provider is available (has API key)
|
|
32
|
+
*/
|
|
33
|
+
export declare function isProviderAvailable(provider: AIProvider): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get model name for current provider
|
|
36
|
+
*/
|
|
37
|
+
export declare function getCurrentModel(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get provider capabilities
|
|
40
|
+
*/
|
|
41
|
+
export declare function getProviderCapabilities(provider: AIProvider): {
|
|
42
|
+
thinking: boolean;
|
|
43
|
+
caching: boolean;
|
|
44
|
+
maxContext: number;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpF,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAkCD;;GAEG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4B3F;AA0PD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAaA"}
|