merlion 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/merlion.js +2 -0
- package/dist/artifacts/agents.d.ts +11 -0
- package/dist/artifacts/agents.d.ts.map +1 -0
- package/dist/artifacts/agents.js +81 -0
- package/dist/artifacts/agents.js.map +1 -0
- package/dist/artifacts/codebase_index.d.ts +16 -0
- package/dist/artifacts/codebase_index.d.ts.map +1 -0
- package/dist/artifacts/codebase_index.js +193 -0
- package/dist/artifacts/codebase_index.js.map +1 -0
- package/dist/artifacts/progress.d.ts +23 -0
- package/dist/artifacts/progress.d.ts.map +1 -0
- package/dist/artifacts/progress.js +152 -0
- package/dist/artifacts/progress.js.map +1 -0
- package/dist/cli/diff.d.ts +11 -0
- package/dist/cli/diff.d.ts.map +1 -0
- package/dist/cli/diff.js +58 -0
- package/dist/cli/diff.js.map +1 -0
- package/dist/cli/experience.d.ts +71 -0
- package/dist/cli/experience.d.ts.map +1 -0
- package/dist/cli/experience.js +489 -0
- package/dist/cli/experience.js.map +1 -0
- package/dist/cli/keybindings.d.ts +3 -0
- package/dist/cli/keybindings.d.ts.map +1 -0
- package/dist/cli/keybindings.js +14 -0
- package/dist/cli/keybindings.js.map +1 -0
- package/dist/cli/markdown.d.ts +7 -0
- package/dist/cli/markdown.d.ts.map +1 -0
- package/dist/cli/markdown.js +77 -0
- package/dist/cli/markdown.js.map +1 -0
- package/dist/cli/message_content.d.ts +13 -0
- package/dist/cli/message_content.d.ts.map +1 -0
- package/dist/cli/message_content.js +23 -0
- package/dist/cli/message_content.js.map +1 -0
- package/dist/cli/render.d.ts +23 -0
- package/dist/cli/render.d.ts.map +1 -0
- package/dist/cli/render.js +44 -0
- package/dist/cli/render.js.map +1 -0
- package/dist/cli/repl.d.ts +32 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +54 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/sanitize.d.ts +2 -0
- package/dist/cli/sanitize.d.ts.map +1 -0
- package/dist/cli/sanitize.js +66 -0
- package/dist/cli/sanitize.js.map +1 -0
- package/dist/cli/status.d.ts +3 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +27 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/tui_frame.d.ts +10 -0
- package/dist/cli/tui_frame.d.ts.map +1 -0
- package/dist/cli/tui_frame.js +44 -0
- package/dist/cli/tui_frame.js.map +1 -0
- package/dist/config/store.d.ts +27 -0
- package/dist/config/store.d.ts.map +1 -0
- package/dist/config/store.js +73 -0
- package/dist/config/store.js.map +1 -0
- package/dist/config/wizard.d.ts +27 -0
- package/dist/config/wizard.d.ts.map +1 -0
- package/dist/config/wizard.js +83 -0
- package/dist/config/wizard.js.map +1 -0
- package/dist/context/compact.d.ts +11 -0
- package/dist/context/compact.d.ts.map +1 -0
- package/dist/context/compact.js +38 -0
- package/dist/context/compact.js.map +1 -0
- package/dist/context/orientation.d.ts +19 -0
- package/dist/context/orientation.d.ts.map +1 -0
- package/dist/context/orientation.js +111 -0
- package/dist/context/orientation.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +401 -0
- package/dist/index.js.map +1 -0
- package/dist/permissions/store.d.ts +3 -0
- package/dist/permissions/store.d.ts.map +1 -0
- package/dist/permissions/store.js +22 -0
- package/dist/permissions/store.js.map +1 -0
- package/dist/providers/openai.d.ts +16 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +75 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/runtime/budget.d.ts +11 -0
- package/dist/runtime/budget.d.ts.map +1 -0
- package/dist/runtime/budget.js +43 -0
- package/dist/runtime/budget.js.map +1 -0
- package/dist/runtime/cost_gate.d.ts +34 -0
- package/dist/runtime/cost_gate.d.ts.map +1 -0
- package/dist/runtime/cost_gate.js +85 -0
- package/dist/runtime/cost_gate.js.map +1 -0
- package/dist/runtime/executor.d.ts +25 -0
- package/dist/runtime/executor.d.ts.map +1 -0
- package/dist/runtime/executor.js +136 -0
- package/dist/runtime/executor.js.map +1 -0
- package/dist/runtime/loop.d.ts +48 -0
- package/dist/runtime/loop.d.ts.map +1 -0
- package/dist/runtime/loop.js +184 -0
- package/dist/runtime/loop.js.map +1 -0
- package/dist/runtime/retry.d.ts +7 -0
- package/dist/runtime/retry.d.ts.map +1 -0
- package/dist/runtime/retry.js +42 -0
- package/dist/runtime/retry.js.map +1 -0
- package/dist/runtime/session.d.ts +26 -0
- package/dist/runtime/session.d.ts.map +1 -0
- package/dist/runtime/session.js +146 -0
- package/dist/runtime/session.js.map +1 -0
- package/dist/runtime/usage.d.ts +29 -0
- package/dist/runtime/usage.d.ts.map +1 -0
- package/dist/runtime/usage.js +71 -0
- package/dist/runtime/usage.js.map +1 -0
- package/dist/tools/builtin/bash.d.ts +3 -0
- package/dist/tools/builtin/bash.d.ts.map +1 -0
- package/dist/tools/builtin/bash.js +104 -0
- package/dist/tools/builtin/bash.js.map +1 -0
- package/dist/tools/builtin/create_file.d.ts +3 -0
- package/dist/tools/builtin/create_file.d.ts.map +1 -0
- package/dist/tools/builtin/create_file.js +64 -0
- package/dist/tools/builtin/create_file.js.map +1 -0
- package/dist/tools/builtin/edit_file.d.ts +3 -0
- package/dist/tools/builtin/edit_file.d.ts.map +1 -0
- package/dist/tools/builtin/edit_file.js +128 -0
- package/dist/tools/builtin/edit_file.js.map +1 -0
- package/dist/tools/builtin/fetch.d.ts +3 -0
- package/dist/tools/builtin/fetch.d.ts.map +1 -0
- package/dist/tools/builtin/fetch.js +82 -0
- package/dist/tools/builtin/fetch.js.map +1 -0
- package/dist/tools/builtin/index.d.ts +3 -0
- package/dist/tools/builtin/index.d.ts.map +1 -0
- package/dist/tools/builtin/index.js +18 -0
- package/dist/tools/builtin/index.js.map +1 -0
- package/dist/tools/builtin/read_file.d.ts +3 -0
- package/dist/tools/builtin/read_file.d.ts.map +1 -0
- package/dist/tools/builtin/read_file.js +77 -0
- package/dist/tools/builtin/read_file.js.map +1 -0
- package/dist/tools/builtin/search.d.ts +3 -0
- package/dist/tools/builtin/search.d.ts.map +1 -0
- package/dist/tools/builtin/search.js +91 -0
- package/dist/tools/builtin/search.js.map +1 -0
- package/dist/tools/registry.d.ts +8 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +16 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/types.d.ts +45 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types.d.ts +56 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/verification/checks.d.ts +10 -0
- package/dist/verification/checks.d.ts.map +1 -0
- package/dist/verification/checks.js +501 -0
- package/dist/verification/checks.js.map +1 -0
- package/dist/verification/fix_round.d.ts +20 -0
- package/dist/verification/fix_round.d.ts.map +1 -0
- package/dist/verification/fix_round.js +59 -0
- package/dist/verification/fix_round.js.map +1 -0
- package/dist/verification/runner.d.ts +26 -0
- package/dist/verification/runner.d.ts.map +1 -0
- package/dist/verification/runner.js +155 -0
- package/dist/verification/runner.js.map +1 -0
- package/package.json +29 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type MerlionConfig } from './store.ts';
|
|
2
|
+
export declare const DEFAULT_MODEL = "google/gemini-2.5-flash-preview";
|
|
3
|
+
export declare const DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
|
|
4
|
+
export interface WizardIO {
|
|
5
|
+
/** Prompt the user and return their answer (without the trailing newline). */
|
|
6
|
+
prompt(question: string): Promise<string>;
|
|
7
|
+
/** Like prompt but input is not echoed (for secrets). */
|
|
8
|
+
promptSecret(question: string): Promise<string>;
|
|
9
|
+
write(text: string): void;
|
|
10
|
+
}
|
|
11
|
+
/** Default IO implementation backed by real stdin/stdout. */
|
|
12
|
+
export declare function createStdioWizardIO(): WizardIO;
|
|
13
|
+
export interface WizardResult {
|
|
14
|
+
/** true → config was filled in and saved; false → user aborted */
|
|
15
|
+
ok: boolean;
|
|
16
|
+
config: MerlionConfig;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Runs the interactive first-run setup wizard.
|
|
20
|
+
*
|
|
21
|
+
* @param existingConfig Values already known (e.g. partially set env vars).
|
|
22
|
+
* Fields present here are shown as pre-filled defaults
|
|
23
|
+
* and skip the corresponding prompt.
|
|
24
|
+
* @param io Abstracted IO — real stdio in production, fake in tests.
|
|
25
|
+
*/
|
|
26
|
+
export declare function runConfigWizard(existingConfig?: MerlionConfig, io?: WizardIO): Promise<WizardResult>;
|
|
27
|
+
//# sourceMappingURL=wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/config/wizard.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAExE,eAAO,MAAM,aAAa,oCAAoC,CAAA;AAC9D,eAAO,MAAM,gBAAgB,iCAAiC,CAAA;AAE9D,MAAM,WAAW,QAAQ;IACvB,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,yDAAyD;IACzD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,IAAI,QAAQ,CAmC9C;AAED,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;CACtB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,cAAc,GAAE,aAAkB,EAClC,EAAE,GAAE,QAAgC,GACnC,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { createInterface } from 'node:readline/promises';
|
|
2
|
+
import { stdin, stdout } from 'node:process';
|
|
3
|
+
import { writeConfig, configPath } from "./store.js";
|
|
4
|
+
export const DEFAULT_MODEL = 'google/gemini-2.5-flash-preview';
|
|
5
|
+
export const DEFAULT_BASE_URL = 'https://openrouter.ai/api/v1';
|
|
6
|
+
/** Default IO implementation backed by real stdin/stdout. */
|
|
7
|
+
export function createStdioWizardIO() {
|
|
8
|
+
return {
|
|
9
|
+
async prompt(question) {
|
|
10
|
+
const rl = createInterface({ input: stdin, output: stdout });
|
|
11
|
+
try {
|
|
12
|
+
return await rl.question(question);
|
|
13
|
+
}
|
|
14
|
+
finally {
|
|
15
|
+
rl.close();
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
async promptSecret(question) {
|
|
19
|
+
// Mute stdout while the user types so the key is not echoed.
|
|
20
|
+
const rl = createInterface({
|
|
21
|
+
input: stdin,
|
|
22
|
+
output: stdout,
|
|
23
|
+
terminal: true
|
|
24
|
+
});
|
|
25
|
+
stdout.write(question);
|
|
26
|
+
rl._writeToOutput = () => { };
|
|
27
|
+
try {
|
|
28
|
+
const answer = await rl.question('');
|
|
29
|
+
stdout.write('\n');
|
|
30
|
+
return answer;
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
rl.close();
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
write(text) {
|
|
37
|
+
stdout.write(text);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Runs the interactive first-run setup wizard.
|
|
43
|
+
*
|
|
44
|
+
* @param existingConfig Values already known (e.g. partially set env vars).
|
|
45
|
+
* Fields present here are shown as pre-filled defaults
|
|
46
|
+
* and skip the corresponding prompt.
|
|
47
|
+
* @param io Abstracted IO — real stdio in production, fake in tests.
|
|
48
|
+
*/
|
|
49
|
+
export async function runConfigWizard(existingConfig = {}, io = createStdioWizardIO()) {
|
|
50
|
+
io.write('\n');
|
|
51
|
+
io.write(' Merlion Setup\n');
|
|
52
|
+
io.write(' ─────────────────────────────────────────────────\n');
|
|
53
|
+
io.write(' No API key found. Let\'s get you configured.\n');
|
|
54
|
+
io.write('\n');
|
|
55
|
+
// --- API key ---
|
|
56
|
+
let apiKey;
|
|
57
|
+
if (existingConfig.apiKey && existingConfig.apiKey.trim() !== '') {
|
|
58
|
+
apiKey = existingConfig.apiKey;
|
|
59
|
+
io.write(' OpenRouter API key: (using existing value)\n');
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const raw = await io.promptSecret(' OpenRouter API key: ');
|
|
63
|
+
if (raw.trim() === '') {
|
|
64
|
+
io.write('\n Setup aborted. Set OPENROUTER_API_KEY or re-run `merlion config`.\n\n');
|
|
65
|
+
return { ok: false, config: {} };
|
|
66
|
+
}
|
|
67
|
+
apiKey = raw.trim();
|
|
68
|
+
}
|
|
69
|
+
// --- Model ---
|
|
70
|
+
const modelDefault = existingConfig.model?.trim() || DEFAULT_MODEL;
|
|
71
|
+
const modelAnswer = await io.prompt(` Model [${modelDefault}]: `);
|
|
72
|
+
const model = modelAnswer.trim() === '' ? modelDefault : modelAnswer.trim();
|
|
73
|
+
// --- Base URL (not prompted — use default silently) ---
|
|
74
|
+
const baseURL = existingConfig.baseURL?.trim() || DEFAULT_BASE_URL;
|
|
75
|
+
const config = { apiKey, model, baseURL };
|
|
76
|
+
await writeConfig(config);
|
|
77
|
+
io.write('\n');
|
|
78
|
+
io.write(` Config saved to ${configPath()}\n`);
|
|
79
|
+
io.write(' Run `merlion config` at any time to update settings.\n');
|
|
80
|
+
io.write('\n');
|
|
81
|
+
return { ok: true, config };
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=wizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/config/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChatMessage } from '../types.js';
|
|
2
|
+
export interface CompactOptions {
|
|
3
|
+
keepRecent?: number;
|
|
4
|
+
}
|
|
5
|
+
export interface CompactResult {
|
|
6
|
+
messages: ChatMessage[];
|
|
7
|
+
compacted: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function estimateMessagesChars(messages: ChatMessage[]): number;
|
|
10
|
+
export declare function compactMessages(messages: ChatMessage[], options?: CompactOptions): CompactResult;
|
|
11
|
+
//# sourceMappingURL=compact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/context/compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;CACnB;AAQD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAMrE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CA2BhG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function summarizeMessage(message, maxChars = 120) {
|
|
2
|
+
const content = typeof message.content === 'string' ? message.content.replace(/\s+/g, ' ').trim() : '';
|
|
3
|
+
const clipped = content.length > maxChars ? `${content.slice(0, maxChars)}...` : content;
|
|
4
|
+
return `- ${message.role}: ${clipped || '(no text)'}`;
|
|
5
|
+
}
|
|
6
|
+
export function estimateMessagesChars(messages) {
|
|
7
|
+
return messages.reduce((sum, msg) => {
|
|
8
|
+
const contentLen = typeof msg.content === 'string' ? msg.content.length : 0;
|
|
9
|
+
const toolCallLen = msg.tool_calls ? JSON.stringify(msg.tool_calls).length : 0;
|
|
10
|
+
return sum + contentLen + toolCallLen + 24;
|
|
11
|
+
}, 0);
|
|
12
|
+
}
|
|
13
|
+
export function compactMessages(messages, options) {
|
|
14
|
+
const keepRecent = Math.max(2, Math.floor(options?.keepRecent ?? 10));
|
|
15
|
+
if (messages.length <= keepRecent + 2) {
|
|
16
|
+
return { messages, compacted: false };
|
|
17
|
+
}
|
|
18
|
+
const systemMessages = messages.filter((m) => m.role === 'system');
|
|
19
|
+
const primarySystem = systemMessages[0];
|
|
20
|
+
const recent = messages.slice(-keepRecent);
|
|
21
|
+
const recentSet = new Set(recent);
|
|
22
|
+
const middle = messages.filter((m) => !recentSet.has(m) && m.role !== 'system');
|
|
23
|
+
if (middle.length === 0) {
|
|
24
|
+
return { messages, compacted: false };
|
|
25
|
+
}
|
|
26
|
+
const summaryLines = middle.slice(-60).map((m) => summarizeMessage(m));
|
|
27
|
+
const summaryMessage = {
|
|
28
|
+
role: 'system',
|
|
29
|
+
content: 'Conversation compact summary (older context compressed; verify with tools before editing):\n' +
|
|
30
|
+
summaryLines.join('\n'),
|
|
31
|
+
};
|
|
32
|
+
const rebuilt = [];
|
|
33
|
+
if (primarySystem)
|
|
34
|
+
rebuilt.push(primarySystem);
|
|
35
|
+
rebuilt.push(summaryMessage, ...recent.filter((m) => m !== primarySystem));
|
|
36
|
+
return { messages: rebuilt, compacted: true };
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=compact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/context/compact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface OrientationBudgets {
|
|
2
|
+
totalTokens: number;
|
|
3
|
+
agentsTokens: number;
|
|
4
|
+
progressTokens: number;
|
|
5
|
+
indexTokens: number;
|
|
6
|
+
}
|
|
7
|
+
export interface OrientationResult {
|
|
8
|
+
text: string;
|
|
9
|
+
tokensEstimate: number;
|
|
10
|
+
truncated: boolean;
|
|
11
|
+
sections: Array<{
|
|
12
|
+
name: 'agents' | 'progress' | 'index';
|
|
13
|
+
tokensEstimate: number;
|
|
14
|
+
included: boolean;
|
|
15
|
+
truncated: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
export declare function buildOrientationContext(cwd: string, options?: Partial<OrientationBudgets>): Promise<OrientationResult>;
|
|
19
|
+
//# sourceMappingURL=orientation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orientation.d.ts","sourceRoot":"","sources":["../../src/context/orientation.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAA;QACrC,cAAc,EAAE,MAAM,CAAA;QACtB,QAAQ,EAAE,OAAO,CAAA;QACjB,SAAS,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;CACH;AAuBD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAiG5B"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { loadAgentsGuidance } from "../artifacts/agents.js";
|
|
2
|
+
import { ensureCodebaseIndex, readCodebaseIndex } from "../artifacts/codebase_index.js";
|
|
3
|
+
import { ensureProgressArtifact, readProgressArtifact } from "../artifacts/progress.js";
|
|
4
|
+
const DEFAULT_BUDGETS = {
|
|
5
|
+
totalTokens: 1200,
|
|
6
|
+
agentsTokens: 500,
|
|
7
|
+
progressTokens: 300,
|
|
8
|
+
indexTokens: 400,
|
|
9
|
+
};
|
|
10
|
+
function estimateTokens(text) {
|
|
11
|
+
return Math.ceil(text.length / 4);
|
|
12
|
+
}
|
|
13
|
+
function truncateToTokens(text, maxTokens) {
|
|
14
|
+
if (maxTokens <= 0)
|
|
15
|
+
return { text: '', truncated: text.length > 0 };
|
|
16
|
+
const maxChars = maxTokens * 4;
|
|
17
|
+
if (text.length <= maxChars)
|
|
18
|
+
return { text, truncated: false };
|
|
19
|
+
return {
|
|
20
|
+
text: `${text.slice(0, Math.max(0, maxChars - 45))}\n\n[...orientation section truncated...]`,
|
|
21
|
+
truncated: true,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export async function buildOrientationContext(cwd, options) {
|
|
25
|
+
const budgets = {
|
|
26
|
+
...DEFAULT_BUDGETS,
|
|
27
|
+
...options,
|
|
28
|
+
};
|
|
29
|
+
const safeBudgets = {
|
|
30
|
+
totalTokens: Math.max(0, Math.floor(budgets.totalTokens)),
|
|
31
|
+
agentsTokens: Math.max(0, Math.floor(budgets.agentsTokens)),
|
|
32
|
+
progressTokens: Math.max(0, Math.floor(budgets.progressTokens)),
|
|
33
|
+
indexTokens: Math.max(0, Math.floor(budgets.indexTokens)),
|
|
34
|
+
};
|
|
35
|
+
await ensureProgressArtifact(cwd);
|
|
36
|
+
await ensureCodebaseIndex(cwd);
|
|
37
|
+
const [agents, progress, index] = await Promise.all([
|
|
38
|
+
loadAgentsGuidance(cwd, { maxTokens: safeBudgets.agentsTokens }),
|
|
39
|
+
readProgressArtifact(cwd, { maxTokens: safeBudgets.progressTokens }),
|
|
40
|
+
readCodebaseIndex(cwd, { maxTokens: safeBudgets.indexTokens }),
|
|
41
|
+
]);
|
|
42
|
+
let sectionStates = [
|
|
43
|
+
{
|
|
44
|
+
name: 'agents',
|
|
45
|
+
tokensEstimate: agents.tokensEstimate,
|
|
46
|
+
included: agents.text.trim() !== '',
|
|
47
|
+
truncated: agents.truncated,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'progress',
|
|
51
|
+
tokensEstimate: progress.tokensEstimate,
|
|
52
|
+
included: progress.text.trim() !== '',
|
|
53
|
+
truncated: progress.truncated,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'index',
|
|
57
|
+
tokensEstimate: index.tokensEstimate,
|
|
58
|
+
included: index.text.trim() !== '',
|
|
59
|
+
truncated: index.truncated,
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
let sections = [
|
|
63
|
+
agents.text.trim() !== '' ? `### AGENTS Guidance\n${agents.text}` : '',
|
|
64
|
+
progress.text.trim() !== '' ? `### Progress Snapshot\n${progress.text}` : '',
|
|
65
|
+
index.text.trim() !== '' ? `### Codebase Index\n${index.text}` : '',
|
|
66
|
+
].filter((x) => x !== '');
|
|
67
|
+
let merged = sections.join('\n\n');
|
|
68
|
+
let truncated = sectionStates.some((s) => s.truncated);
|
|
69
|
+
let totalTokens = estimateTokens(merged);
|
|
70
|
+
if (totalTokens > safeBudgets.totalTokens) {
|
|
71
|
+
const keepAgents = sections[0] ?? '';
|
|
72
|
+
const keepProgress = sections[1] ?? '';
|
|
73
|
+
const keepIndex = sections[2] ?? '';
|
|
74
|
+
const agentsTokens = estimateTokens(keepAgents);
|
|
75
|
+
const remaining = Math.max(0, safeBudgets.totalTokens - agentsTokens);
|
|
76
|
+
const progressBudget = Math.min(estimateTokens(keepProgress), Math.floor(remaining * 0.45));
|
|
77
|
+
const indexBudget = Math.max(0, remaining - progressBudget);
|
|
78
|
+
const clippedProgress = truncateToTokens(keepProgress, progressBudget);
|
|
79
|
+
const clippedIndex = truncateToTokens(keepIndex, indexBudget);
|
|
80
|
+
const rebuilt = [keepAgents, clippedProgress.text, clippedIndex.text].filter((x) => x.trim() !== '');
|
|
81
|
+
merged = rebuilt.join('\n\n');
|
|
82
|
+
totalTokens = estimateTokens(merged);
|
|
83
|
+
truncated = true;
|
|
84
|
+
sectionStates = sectionStates.map((section) => {
|
|
85
|
+
if (section.name === 'progress') {
|
|
86
|
+
return {
|
|
87
|
+
...section,
|
|
88
|
+
tokensEstimate: estimateTokens(clippedProgress.text),
|
|
89
|
+
truncated: section.truncated || clippedProgress.truncated,
|
|
90
|
+
included: clippedProgress.text.trim() !== '',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (section.name === 'index') {
|
|
94
|
+
return {
|
|
95
|
+
...section,
|
|
96
|
+
tokensEstimate: estimateTokens(clippedIndex.text),
|
|
97
|
+
truncated: section.truncated || clippedIndex.truncated,
|
|
98
|
+
included: clippedIndex.text.trim() !== '',
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return section;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
text: merged.trim(),
|
|
106
|
+
tokensEstimate: totalTokens,
|
|
107
|
+
truncated,
|
|
108
|
+
sections: sectionStates,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=orientation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orientation.js","sourceRoot":"","sources":["../../src/context/orientation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|