merlion 0.1.4 → 0.1.5

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 CHANGED
@@ -3,6 +3,7 @@
3
3
  Merlion is a terminal coding agent focused on two goals:
4
4
  - high coding quality (benchmarking Claude Code / Codex style workflows)
5
5
  - lower token cost through practical context + tool design
6
+ - provider-agnostic OpenAI-compatible runtime (`openrouter` / `openai` / custom URL)
6
7
 
7
8
  ## Quick Start (Recommended)
8
9
 
@@ -10,7 +11,7 @@ Merlion is a terminal coding agent focused on two goals:
10
11
 
11
12
  ```bash
12
13
  npm install -g merlion
13
- export OPENROUTER_API_KEY=your_key_here
14
+ # first run will guide provider/key/model setup interactively
14
15
  merlion --repl
15
16
  ```
16
17
 
@@ -18,7 +19,7 @@ If you prefer local install in a project:
18
19
 
19
20
  ```bash
20
21
  npm install merlion
21
- export OPENROUTER_API_KEY=your_key_here
22
+ # first run will guide provider/key/model setup interactively
22
23
  npx merlion --repl
23
24
  ```
24
25
 
@@ -28,10 +29,20 @@ npx merlion --repl
28
29
  git clone https://github.com/StevenSLXie/Merlion.git
29
30
  cd Merlion
30
31
  npm install
31
- export OPENROUTER_API_KEY=your_key_here
32
+ # first run will guide provider/key/model setup interactively
32
33
  npm run merlion -- --repl
33
34
  ```
34
35
 
36
+ Optional non-interactive env configuration:
37
+
38
+ ```bash
39
+ export MERLION_PROVIDER=openrouter # openrouter | openai | custom
40
+ export MERLION_API_KEY=your_key_here
41
+ export MERLION_MODEL=qwen/qwen3-coder
42
+ export MERLION_BASE_URL=https://openrouter.ai/api/v1
43
+ merlion --repl
44
+ ```
45
+
35
46
  ## Common Usage
36
47
 
37
48
  ```bash
@@ -52,6 +63,7 @@ merlion --resume <session-id>
52
63
  Merlion 是一个终端代码代理,核心目标是:
53
64
  - 代码质量对标 Claude Code / Codex 这类工程化工作流
54
65
  - 通过上下文与工具设计尽量节省 token,从而降低成本
66
+ - 支持 OpenAI-compatible provider(`openrouter` / `openai` / 自定义 URL)
55
67
 
56
68
  ## 快速开始(推荐)
57
69
 
@@ -59,7 +71,7 @@ Merlion 是一个终端代码代理,核心目标是:
59
71
 
60
72
  ```bash
61
73
  npm install -g merlion
62
- export OPENROUTER_API_KEY=your_key_here
74
+ # 首次运行会交互引导 provider/key/model 配置
63
75
  merlion --repl
64
76
  ```
65
77
 
@@ -67,7 +79,7 @@ merlion --repl
67
79
 
68
80
  ```bash
69
81
  npm install merlion
70
- export OPENROUTER_API_KEY=your_key_here
82
+ # 首次运行会交互引导 provider/key/model 配置
71
83
  npx merlion --repl
72
84
  ```
73
85
 
@@ -77,10 +89,20 @@ npx merlion --repl
77
89
  git clone https://github.com/StevenSLXie/Merlion.git
78
90
  cd Merlion
79
91
  npm install
80
- export OPENROUTER_API_KEY=your_key_here
92
+ # 首次运行会交互引导 provider/key/model 配置
81
93
  npm run merlion -- --repl
82
94
  ```
83
95
 
96
+ 也可以用环境变量非交互配置:
97
+
98
+ ```bash
99
+ export MERLION_PROVIDER=openrouter # openrouter | openai | custom
100
+ export MERLION_API_KEY=your_key_here
101
+ export MERLION_MODEL=qwen/qwen3-coder
102
+ export MERLION_BASE_URL=https://openrouter.ai/api/v1
103
+ merlion --repl
104
+ ```
105
+
84
106
  ## 常用命令
85
107
 
86
108
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/cli/markdown.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;IACtF,IAAI,EAAE,MAAM,CAAA;CACb;AAUD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA8D1E"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/cli/markdown.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;IACtF,IAAI,EAAE,MAAM,CAAA;CACb;AAsID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AA0FD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAgB1E"}
@@ -1,74 +1,225 @@
1
+ import { marked } from 'marked';
1
2
  import { sanitizeRenderableText } from "./sanitize.js";
2
- function normalizeInline(text) {
3
- return text
4
- .replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1 <$2>')
5
- .replace(/`([^`]+)`/g, '$1')
6
- .replace(/\*\*([^*]+)\*\*/g, '$1')
7
- .replace(/__([^_]+)__/g, '$1');
3
+ function pushRenderedLines(rendered, kind, text) {
4
+ const lines = sanitizeRenderableText(text).split('\n');
5
+ for (const line of lines) {
6
+ rendered.push({ kind, text: line });
7
+ }
8
+ }
9
+ function stripHtmlTags(text) {
10
+ return text.replace(/<[^>]+>/g, '');
11
+ }
12
+ function renderInlineTokens(tokens) {
13
+ if (!tokens || tokens.length === 0)
14
+ return '';
15
+ return tokens.map((token) => renderInlineToken(token)).join('');
16
+ }
17
+ function renderInlineToken(token) {
18
+ if (token.type === 'text') {
19
+ const textToken = token;
20
+ if (textToken.tokens && textToken.tokens.length > 0) {
21
+ return renderInlineTokens(textToken.tokens);
22
+ }
23
+ return sanitizeRenderableText(textToken.text ?? textToken.raw ?? '');
24
+ }
25
+ if (token.type === 'codespan') {
26
+ return sanitizeRenderableText(token.text);
27
+ }
28
+ if (token.type === 'strong' || token.type === 'em' || token.type === 'del') {
29
+ return renderInlineTokens(token.tokens);
30
+ }
31
+ if (token.type === 'link') {
32
+ const link = token;
33
+ const content = renderInlineTokens(link.tokens).trim();
34
+ if (content === '' || content === link.href)
35
+ return sanitizeRenderableText(link.href);
36
+ return `${content} <${sanitizeRenderableText(link.href)}>`;
37
+ }
38
+ if (token.type === 'image') {
39
+ const image = token;
40
+ const label = sanitizeRenderableText((image.text ?? '').trim());
41
+ if (label === '')
42
+ return `<${sanitizeRenderableText(image.href)}>`;
43
+ return `${label} <${sanitizeRenderableText(image.href)}>`;
44
+ }
45
+ if (token.type === 'escape') {
46
+ return sanitizeRenderableText(token.text);
47
+ }
48
+ if (token.type === 'html') {
49
+ return sanitizeRenderableText(stripHtmlTags(token.raw ?? ''));
50
+ }
51
+ if (token.type === 'br') {
52
+ return '\n';
53
+ }
54
+ return sanitizeRenderableText(token.raw ?? '');
55
+ }
56
+ function renderTable(token) {
57
+ const headers = token.header.map((cell) => renderInlineTokens(cell.tokens).replace(/\s+/g, ' ').trim());
58
+ const rows = token.rows.map((row) => row.map((cell) => renderInlineTokens(cell.tokens).replace(/\s+/g, ' ').trim()));
59
+ const columnCount = Math.max(headers.length, ...rows.map((row) => row.length));
60
+ const widths = new Array(columnCount).fill(3);
61
+ for (let i = 0; i < columnCount; i++) {
62
+ widths[i] = Math.max(widths[i] ?? 3, headers[i]?.length ?? 0, ...rows.map((row) => row[i]?.length ?? 0));
63
+ }
64
+ const pad = (value, width) => {
65
+ if (value.length >= width)
66
+ return value;
67
+ return `${value}${' '.repeat(width - value.length)}`;
68
+ };
69
+ const formatRow = (cells) => {
70
+ const values = [];
71
+ for (let i = 0; i < columnCount; i++) {
72
+ values.push(pad(cells[i] ?? '', widths[i] ?? 3));
73
+ }
74
+ return `| ${values.join(' | ')} |`;
75
+ };
76
+ const separator = `| ${widths.map((width) => '-'.repeat(width)).join(' | ')} |`;
77
+ const lines = [
78
+ { kind: 'table', text: formatRow(headers) },
79
+ { kind: 'table', text: separator }
80
+ ];
81
+ for (const row of rows) {
82
+ lines.push({ kind: 'table', text: formatRow(row) });
83
+ }
84
+ return lines;
85
+ }
86
+ function renderListItem(item, rendered, depth, orderedNumber) {
87
+ const nested = [];
88
+ renderBlockTokens(item.tokens ?? [], nested, depth + 1);
89
+ const indent = ' '.repeat(depth);
90
+ const bullet = orderedNumber === undefined ? '•' : `${orderedNumber}.`;
91
+ if (nested.length === 0) {
92
+ rendered.push({ kind: 'list', text: `${indent}${bullet}` });
93
+ return;
94
+ }
95
+ const [first, ...rest] = nested;
96
+ const firstText = first && first.text.trim() !== ''
97
+ ? `${indent}${bullet} ${first.text}`
98
+ : `${indent}${bullet}`;
99
+ rendered.push({ kind: 'list', text: firstText });
100
+ for (const line of rest) {
101
+ const continuation = `${indent} `;
102
+ if (line.text.trim() === '') {
103
+ rendered.push({ kind: 'list', text: continuation.trimEnd() });
104
+ continue;
105
+ }
106
+ const kind = line.kind === 'plain' || line.kind === 'list'
107
+ ? 'list'
108
+ : line.kind;
109
+ rendered.push({ kind, text: `${continuation}${line.text}` });
110
+ }
8
111
  }
9
112
  export function looksLikeMarkdown(text) {
10
113
  if (text.trim() === '')
11
114
  return false;
12
115
  return /(^|\n)(#{1,6}\s+|[-*+]\s+|\d+\.\s+|>\s+|```|[-*_]{3,}\s*$|\|.+\|)/m.test(text);
13
116
  }
14
- export function renderMarkdownLines(markdown) {
15
- const lines = markdown.replace(/\r\n/g, '\n').split('\n');
16
- const rendered = [];
17
- let inCode = false;
18
- let codeLanguage = 'text';
19
- for (const line of lines) {
20
- const raw = sanitizeRenderableText(line);
21
- const fence = raw.trim().match(/^```(\S+)?$/);
22
- if (fence) {
23
- if (!inCode) {
24
- codeLanguage = fence[1] ? sanitizeRenderableText(fence[1]) : 'text';
25
- rendered.push({ kind: 'code_meta', text: `code:${codeLanguage}` });
26
- inCode = true;
117
+ function renderBlockTokens(tokens, rendered, listDepth) {
118
+ for (const token of tokens) {
119
+ if (token.type === 'space') {
120
+ rendered.push({ kind: 'plain', text: '' });
121
+ continue;
122
+ }
123
+ if (token.type === 'heading') {
124
+ const heading = token;
125
+ const text = renderInlineTokens(heading.tokens).trim();
126
+ rendered.push({ kind: 'heading', text });
127
+ continue;
128
+ }
129
+ if (token.type === 'paragraph') {
130
+ const paragraph = token;
131
+ pushRenderedLines(rendered, 'plain', renderInlineTokens(paragraph.tokens));
132
+ continue;
133
+ }
134
+ if (token.type === 'text') {
135
+ const textToken = token;
136
+ if (textToken.tokens && textToken.tokens.length > 0) {
137
+ pushRenderedLines(rendered, 'plain', renderInlineTokens(textToken.tokens));
27
138
  }
28
139
  else {
29
- inCode = false;
30
- codeLanguage = 'text';
140
+ pushRenderedLines(rendered, 'plain', textToken.text);
31
141
  }
32
142
  continue;
33
143
  }
34
- if (inCode) {
35
- rendered.push({ kind: 'code', text: raw });
144
+ if (token.type === 'blockquote') {
145
+ const blockquote = token;
146
+ const quoted = [];
147
+ renderBlockTokens(blockquote.tokens ?? [], quoted, listDepth);
148
+ if (quoted.length === 0) {
149
+ rendered.push({ kind: 'quote', text: '│' });
150
+ }
151
+ else {
152
+ for (const line of quoted) {
153
+ rendered.push({
154
+ kind: 'quote',
155
+ text: line.text.trim() === '' ? '│' : `│ ${line.text}`
156
+ });
157
+ }
158
+ }
36
159
  continue;
37
160
  }
38
- if (/^\s*$/.test(raw)) {
39
- rendered.push({ kind: 'plain', text: '' });
161
+ if (token.type === 'list') {
162
+ const list = token;
163
+ const start = typeof list.start === 'number'
164
+ ? list.start
165
+ : Number.parseInt(String(list.start ?? '1'), 10) || 1;
166
+ list.items.forEach((item, index) => {
167
+ const orderedNumber = list.ordered ? start + index : undefined;
168
+ renderListItem(item, rendered, listDepth, orderedNumber);
169
+ });
40
170
  continue;
41
171
  }
42
- const heading = raw.match(/^\s*(#{1,6})\s+(.*)$/);
43
- if (heading) {
44
- const level = heading[1].length;
45
- const prefix = '#'.repeat(level);
46
- rendered.push({ kind: 'heading', text: `${prefix} ${normalizeInline(heading[2])}` });
172
+ if (token.type === 'list_item') {
173
+ renderListItem(token, rendered, listDepth);
47
174
  continue;
48
175
  }
49
- const quote = raw.match(/^\s*>\s?(.*)$/);
50
- if (quote) {
51
- rendered.push({ kind: 'quote', text: `> ${normalizeInline(quote[1])}` });
176
+ if (token.type === 'code') {
177
+ const code = token;
178
+ const language = sanitizeRenderableText((code.lang ?? '').trim()) || 'text';
179
+ rendered.push({ kind: 'code_meta', text: `code:${language}` });
180
+ const body = sanitizeRenderableText(code.text ?? '');
181
+ const lines = body.split('\n');
182
+ if (lines.length === 0) {
183
+ rendered.push({ kind: 'code', text: '' });
184
+ }
185
+ else {
186
+ for (const line of lines)
187
+ rendered.push({ kind: 'code', text: line });
188
+ }
52
189
  continue;
53
190
  }
54
- const list = raw.match(/^\s*([-*+]|\d+\.)\s+(.*)$/);
55
- if (list) {
56
- rendered.push({ kind: 'list', text: `${list[1]} ${normalizeInline(list[2])}` });
191
+ if (token.type === 'hr') {
192
+ rendered.push({ kind: 'rule', text: '────────────────────────' });
57
193
  continue;
58
194
  }
59
- if (/^\s*([-*_])\1\1+\s*$/.test(raw)) {
60
- rendered.push({ kind: 'rule', text: '────────────────────────' });
195
+ if (token.type === 'table') {
196
+ rendered.push(...renderTable(token));
61
197
  continue;
62
198
  }
63
- if (raw.includes('|') && /\|/.test(raw.trim())) {
64
- rendered.push({ kind: 'table', text: normalizeInline(raw) });
199
+ if (token.type === 'html') {
200
+ const text = sanitizeRenderableText(stripHtmlTags(token.raw ?? '')).trim();
201
+ if (text !== '')
202
+ rendered.push({ kind: 'plain', text });
65
203
  continue;
66
204
  }
67
- rendered.push({ kind: 'plain', text: normalizeInline(raw) });
205
+ const fallback = sanitizeRenderableText(token.raw ?? '').trim();
206
+ if (fallback !== '')
207
+ rendered.push({ kind: 'plain', text: fallback });
208
+ }
209
+ }
210
+ export function renderMarkdownLines(markdown) {
211
+ const input = sanitizeRenderableText(markdown.replace(/\r\n/g, '\n'));
212
+ const rendered = [];
213
+ try {
214
+ const tokens = marked.lexer(input);
215
+ renderBlockTokens(tokens, rendered, 0);
216
+ }
217
+ catch {
218
+ pushRenderedLines(rendered, 'plain', input);
68
219
  }
69
220
  while (rendered.length > 0) {
70
221
  const last = rendered[rendered.length - 1];
71
- if (!last || last.kind !== 'plain' || last.text !== '')
222
+ if (!last || last.text !== '' || (last.kind !== 'plain' && last.kind !== 'list' && last.kind !== 'quote'))
72
223
  break;
73
224
  rendered.pop();
74
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/cli/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/cli/markdown.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export function formatPromptObservabilityLine(snapshot, prompt) {
39
39
  const prefixPct = formatPct(prompt.stable_prefix_tokens, prompt.estimated_input_tokens);
40
40
  const providerPct = formatPct(cachedTurn, prompt.estimated_input_tokens);
41
41
  const parts = [
42
- `prompt ~${formatInt(prompt.estimated_input_tokens)} tok`,
42
+ `prompt ~${formatInt(prompt.estimated_input_tokens)} tok (tools ~${formatInt(prompt.tool_schema_tokens_estimate)})`,
43
43
  `roles s ${formatInt(prompt.role_tokens.system)} u ${formatInt(prompt.role_tokens.user)} a ${formatInt(prompt.role_tokens.assistant)} t ${formatInt(prompt.role_tokens.tool)}`,
44
44
  `Δroles s ${formatSignedInt(prompt.role_delta_tokens.system)} u ${formatSignedInt(prompt.role_delta_tokens.user)} a ${formatSignedInt(prompt.role_delta_tokens.assistant)} t ${formatSignedInt(prompt.role_delta_tokens.tool)}`,
45
45
  `stable ${formatInt(prompt.stable_prefix_tokens)} (${prefixPct})`,
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ export type MerlionProvider = 'openrouter' | 'openai' | 'custom';
1
2
  export interface MerlionConfig {
3
+ provider?: MerlionProvider;
2
4
  apiKey?: string;
3
5
  model?: string;
4
6
  baseURL?: string;
@@ -23,5 +25,10 @@ export declare function writeConfig(config: MerlionConfig): Promise<void>;
23
25
  * Each field is taken from the highest-priority source that supplies a
24
26
  * non-empty string value.
25
27
  */
26
- export declare function mergeConfig(overrides: Partial<MerlionConfig>, fileConfig: MerlionConfig, defaults: Required<MerlionConfig>): Required<MerlionConfig>;
28
+ export declare function mergeConfig(overrides: Partial<MerlionConfig>, fileConfig: MerlionConfig, defaults: {
29
+ provider: MerlionProvider;
30
+ apiKey: string;
31
+ model: string;
32
+ baseURL: string;
33
+ }): Required<MerlionConfig>;
27
34
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kFAAkF;AAClF,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAgBzD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,EACjC,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAChC,QAAQ,CAAC,aAAa,CAAC,CAMzB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,kFAAkF;AAClF,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAgBzD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,EACjC,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtF,QAAQ,CAAC,aAAa,CAAC,CAOzB"}
@@ -55,6 +55,7 @@ export async function writeConfig(config) {
55
55
  */
56
56
  export function mergeConfig(overrides, fileConfig, defaults) {
57
57
  return {
58
+ provider: firstNonEmpty(overrides.provider, fileConfig.provider, defaults.provider),
58
59
  apiKey: firstNonEmpty(overrides.apiKey, fileConfig.apiKey, defaults.apiKey),
59
60
  model: firstNonEmpty(overrides.model, fileConfig.model, defaults.model),
60
61
  baseURL: firstNonEmpty(overrides.baseURL, fileConfig.baseURL, defaults.baseURL)
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
- import { type MerlionConfig } from './store.ts';
2
- export declare const DEFAULT_MODEL = "google/gemini-2.5-flash-preview";
1
+ import { type MerlionConfig, type MerlionProvider } from './store.ts';
2
+ export declare const DEFAULT_PROVIDER: MerlionProvider;
3
+ export declare const OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
4
+ export declare const OPENAI_BASE_URL = "https://api.openai.com/v1";
5
+ export declare const DEFAULT_MODEL = "qwen/qwen3-coder";
3
6
  export declare const DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
4
7
  export interface WizardIO {
5
8
  /** Prompt the user and return their answer (without the trailing newline). */
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/config/wizard.ts"],"names":[],"mappings":"AAGA,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,CA8B9C;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"}
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/config/wizard.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9F,eAAO,MAAM,gBAAgB,EAAE,eAA8B,CAAA;AAC7D,eAAO,MAAM,mBAAmB,iCAAiC,CAAA;AACjE,eAAO,MAAM,eAAe,8BAA8B,CAAA;AAC1D,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAC/C,eAAO,MAAM,gBAAgB,iCAAsB,CAAA;AAEnD,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,CA8B9C;AAED,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;CACtB;AAyCD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,cAAc,GAAE,aAAkB,EAClC,EAAE,GAAE,QAAgC,GACnC,OAAO,CAAC,YAAY,CAAC,CAsFvB"}
@@ -2,8 +2,11 @@ import { createInterface } from 'node:readline/promises';
2
2
  import { Writable } from 'node:stream';
3
3
  import { stdin, stdout } from 'node:process';
4
4
  import { writeConfig, configPath } from "./store.js";
5
- export const DEFAULT_MODEL = 'google/gemini-2.5-flash-preview';
6
- export const DEFAULT_BASE_URL = 'https://openrouter.ai/api/v1';
5
+ export const DEFAULT_PROVIDER = 'openrouter';
6
+ export const OPENROUTER_BASE_URL = 'https://openrouter.ai/api/v1';
7
+ export const OPENAI_BASE_URL = 'https://api.openai.com/v1';
8
+ export const DEFAULT_MODEL = 'qwen/qwen3-coder';
9
+ export const DEFAULT_BASE_URL = OPENROUTER_BASE_URL;
7
10
  /** Default IO implementation backed by real stdin/stdout. */
8
11
  export function createStdioWizardIO() {
9
12
  return {
@@ -36,6 +39,45 @@ export function createStdioWizardIO() {
36
39
  }
37
40
  };
38
41
  }
42
+ function parseProvider(value) {
43
+ const normalized = value.trim().toLowerCase();
44
+ if (normalized === '' || normalized === '1' || normalized === 'openrouter' || normalized === 'or') {
45
+ return 'openrouter';
46
+ }
47
+ if (normalized === '2' || normalized === 'openai' || normalized === 'oa') {
48
+ return 'openai';
49
+ }
50
+ if (normalized === '3' || normalized === 'custom' || normalized === 'other' || normalized === 'compatible') {
51
+ return 'custom';
52
+ }
53
+ return null;
54
+ }
55
+ function normalizeProvider(value) {
56
+ if (typeof value !== 'string')
57
+ return null;
58
+ return parseProvider(value);
59
+ }
60
+ function defaultBaseURLForProvider(provider) {
61
+ if (provider === 'openai')
62
+ return OPENAI_BASE_URL;
63
+ if (provider === 'openrouter')
64
+ return OPENROUTER_BASE_URL;
65
+ return '';
66
+ }
67
+ function defaultModelForProvider(provider) {
68
+ if (provider === 'openai')
69
+ return 'gpt-4.1-mini';
70
+ return DEFAULT_MODEL;
71
+ }
72
+ function isHttpUrl(value) {
73
+ try {
74
+ const url = new URL(value);
75
+ return url.protocol === 'http:' || url.protocol === 'https:';
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
39
81
  /**
40
82
  * Runs the interactive first-run setup wizard.
41
83
  *
@@ -48,29 +90,80 @@ export async function runConfigWizard(existingConfig = {}, io = createStdioWizar
48
90
  io.write('\n');
49
91
  io.write(' Merlion Setup\n');
50
92
  io.write(' ─────────────────────────────────────────────────\n');
51
- io.write(' No API key found. Let\'s get you configured.\n');
93
+ io.write(' Let\'s get you configured.\n');
52
94
  io.write('\n');
95
+ // --- Provider ---
96
+ let provider;
97
+ const existingProvider = normalizeProvider(existingConfig.provider);
98
+ if (existingProvider) {
99
+ provider = existingProvider;
100
+ io.write(` Provider: ${provider} (using existing value)\n`);
101
+ }
102
+ else {
103
+ // eslint-disable-next-line no-constant-condition
104
+ while (true) {
105
+ const answer = await io.prompt(' Provider [1=openrouter, 2=openai, 3=custom]: ');
106
+ const parsed = parseProvider(answer);
107
+ if (parsed) {
108
+ provider = parsed;
109
+ break;
110
+ }
111
+ io.write(' Invalid provider. Choose 1, 2, or 3.\n');
112
+ }
113
+ }
114
+ // --- Base URL ---
115
+ let baseURL;
116
+ if (provider === 'openrouter') {
117
+ baseURL = existingConfig.baseURL?.trim() || OPENROUTER_BASE_URL;
118
+ io.write(` Base URL: ${baseURL}\n`);
119
+ }
120
+ else if (provider === 'openai') {
121
+ baseURL = existingConfig.baseURL?.trim() || OPENAI_BASE_URL;
122
+ io.write(` Base URL: ${baseURL}\n`);
123
+ }
124
+ else {
125
+ const existingBaseURL = existingConfig.baseURL?.trim();
126
+ if (existingBaseURL && isHttpUrl(existingBaseURL)) {
127
+ baseURL = existingBaseURL;
128
+ io.write(` Base URL: ${baseURL} (using existing value)\n`);
129
+ }
130
+ else {
131
+ // eslint-disable-next-line no-constant-condition
132
+ while (true) {
133
+ const answer = await io.prompt(' Custom base URL (OpenAI-compatible endpoint): ');
134
+ const trimmed = answer.trim();
135
+ if (trimmed === '') {
136
+ io.write('\n Setup aborted. Base URL is required for custom provider.\n\n');
137
+ return { ok: false, config: {} };
138
+ }
139
+ if (!isHttpUrl(trimmed)) {
140
+ io.write(' Invalid URL. Use http:// or https://\n');
141
+ continue;
142
+ }
143
+ baseURL = trimmed;
144
+ break;
145
+ }
146
+ }
147
+ }
53
148
  // --- API key ---
54
149
  let apiKey;
55
150
  if (existingConfig.apiKey && existingConfig.apiKey.trim() !== '') {
56
151
  apiKey = existingConfig.apiKey;
57
- io.write(' OpenRouter API key: (using existing value)\n');
152
+ io.write(' API key: (using existing value)\n');
58
153
  }
59
154
  else {
60
- const raw = await io.promptSecret(' OpenRouter API key: ');
155
+ const raw = await io.promptSecret(' API key: ');
61
156
  if (raw.trim() === '') {
62
- io.write('\n Setup aborted. Set OPENROUTER_API_KEY or re-run `merlion config`.\n\n');
157
+ io.write('\n Setup aborted. Set MERLION_API_KEY (or provider-specific key) or re-run `merlion config`.\n\n');
63
158
  return { ok: false, config: {} };
64
159
  }
65
160
  apiKey = raw.trim();
66
161
  }
67
162
  // --- Model ---
68
- const modelDefault = existingConfig.model?.trim() || DEFAULT_MODEL;
163
+ const modelDefault = existingConfig.model?.trim() || defaultModelForProvider(provider);
69
164
  const modelAnswer = await io.prompt(` Model [${modelDefault}]: `);
70
165
  const model = modelAnswer.trim() === '' ? modelDefault : modelAnswer.trim();
71
- // --- Base URL (not prompted use default silently) ---
72
- const baseURL = existingConfig.baseURL?.trim() || DEFAULT_BASE_URL;
73
- const config = { apiKey, model, baseURL };
166
+ const config = { provider, apiKey, model, baseURL };
74
167
  await writeConfig(config);
75
168
  io.write('\n');
76
169
  io.write(` Config saved to ${configPath()}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/config/wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/config/wizard.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,12 +6,13 @@ import { runReplSession } from "./cli/repl.js";
6
6
  import { createPermissionStore } from "./permissions/store.js";
7
7
  import { OpenAICompatProvider } from "./providers/openai.js";
8
8
  import { readConfig, mergeConfig } from "./config/store.js";
9
- import { runConfigWizard, DEFAULT_MODEL, DEFAULT_BASE_URL } from "./config/wizard.js";
9
+ import { runConfigWizard, DEFAULT_MODEL, DEFAULT_PROVIDER, OPENAI_BASE_URL, OPENROUTER_BASE_URL } from "./config/wizard.js";
10
10
  import { ensureCodebaseIndex, updateCodebaseIndexWithChangedFiles } from "./artifacts/codebase_index.js";
11
11
  import { buildOrientationContext } from "./context/orientation.js";
12
12
  import { runLoop } from "./runtime/loop.js";
13
13
  import { appendSessionMeta, appendTranscriptMessage, appendUsage, createSessionFiles, getSessionFilesForResume, loadSessionMessages } from "./runtime/session.js";
14
14
  import { calculateUsageCostUsd, createUsageTracker } from "./runtime/usage.js";
15
+ import { createPromptObservabilityTrackerWithToolSchema } from "./runtime/prompt_observability.js";
15
16
  import { buildDefaultRegistry } from "./tools/builtin/index.js";
16
17
  import { discoverVerificationChecks } from "./verification/checks.js";
17
18
  import { runVerificationFixRounds } from "./verification/fix_round.js";
@@ -95,12 +96,15 @@ function parseArgs(argv) {
95
96
  function printUsage() {
96
97
  process.stdout.write('Usage: merlion [--model <id>] [--base-url <url>] [--cwd <path>] [--auto-allow|--auto-deny] [--resume <id>] [--repl] [--verify|--no-verify] [config] "<task>"\n');
97
98
  }
98
- function estimateToolSchemaTokens(registry) {
99
- const serialized = JSON.stringify(registry.getAll().map((tool) => ({
99
+ function serializeToolSchema(registry) {
100
+ return JSON.stringify(registry.getAll().map((tool) => ({
100
101
  name: tool.name,
101
102
  description: tool.description,
102
103
  parameters: tool.parameters
103
104
  })));
105
+ }
106
+ function estimateToolSchemaTokens(registry) {
107
+ const serialized = serializeToolSchema(registry);
104
108
  return Math.ceil(serialized.length / 4);
105
109
  }
106
110
  function parseEnvNumber(name) {
@@ -112,6 +116,54 @@ function parseEnvNumber(name) {
112
116
  return undefined;
113
117
  return parsed;
114
118
  }
119
+ function normalizeProvider(value) {
120
+ if (typeof value !== 'string')
121
+ return undefined;
122
+ const normalized = value.trim().toLowerCase();
123
+ if (normalized === 'openrouter' || normalized === 'or' || normalized === '1')
124
+ return 'openrouter';
125
+ if (normalized === 'openai' || normalized === 'oa' || normalized === '2')
126
+ return 'openai';
127
+ if (normalized === 'custom' || normalized === 'other' || normalized === 'compatible' || normalized === '3')
128
+ return 'custom';
129
+ return undefined;
130
+ }
131
+ function defaultBaseURLForProvider(provider) {
132
+ if (provider === 'openai')
133
+ return OPENAI_BASE_URL;
134
+ if (provider === 'openrouter')
135
+ return OPENROUTER_BASE_URL;
136
+ return '';
137
+ }
138
+ function defaultModelForProvider(provider) {
139
+ if (provider === 'openai')
140
+ return 'gpt-4.1-mini';
141
+ return DEFAULT_MODEL;
142
+ }
143
+ function inferProviderFromEnv() {
144
+ const explicit = normalizeProvider(process.env.MERLION_PROVIDER);
145
+ if (explicit)
146
+ return explicit;
147
+ const hasOpenRouterKey = typeof process.env.OPENROUTER_API_KEY === 'string' && process.env.OPENROUTER_API_KEY.trim() !== '';
148
+ const hasOpenAIKey = typeof process.env.OPENAI_API_KEY === 'string' && process.env.OPENAI_API_KEY.trim() !== '';
149
+ if (hasOpenRouterKey)
150
+ return 'openrouter';
151
+ if (hasOpenAIKey)
152
+ return 'openai';
153
+ return undefined;
154
+ }
155
+ function envConfigOverrides(flags) {
156
+ const provider = inferProviderFromEnv();
157
+ const apiKey = process.env.MERLION_API_KEY ??
158
+ process.env.OPENROUTER_API_KEY ??
159
+ process.env.OPENAI_API_KEY;
160
+ return {
161
+ provider,
162
+ apiKey,
163
+ model: flags.modelFlag ?? process.env.MERLION_MODEL,
164
+ baseURL: flags.baseURLFlag ?? process.env.MERLION_BASE_URL
165
+ };
166
+ }
115
167
  function loadUsageRatesFromEnv() {
116
168
  const input = parseEnvNumber('MERLION_COST_INPUT_PER_1M');
117
169
  const output = parseEnvNumber('MERLION_COST_OUTPUT_PER_1M');
@@ -185,14 +237,31 @@ async function main() {
185
237
  }
186
238
  fileConfig = result.config;
187
239
  }
188
- const merged = mergeConfig({ apiKey: process.env.OPENROUTER_API_KEY, model: resolvedFlags.modelFlag, baseURL: resolvedFlags.baseURLFlag }, fileConfig, { apiKey: '', model: DEFAULT_MODEL, baseURL: DEFAULT_BASE_URL });
189
- // If still no API key, run the setup wizard.
190
- if (merged.apiKey === '') {
191
- const result = await runConfigWizard(fileConfig);
240
+ const mergedProviderSeed = normalizeProvider(process.env.MERLION_PROVIDER) ??
241
+ normalizeProvider(fileConfig.provider) ??
242
+ DEFAULT_PROVIDER;
243
+ const merged = mergeConfig(envConfigOverrides({ modelFlag: resolvedFlags.modelFlag, baseURLFlag: resolvedFlags.baseURLFlag }), fileConfig, {
244
+ provider: mergedProviderSeed,
245
+ apiKey: '',
246
+ model: defaultModelForProvider(mergedProviderSeed),
247
+ baseURL: defaultBaseURLForProvider(mergedProviderSeed)
248
+ });
249
+ // If still missing required fields, run the setup wizard.
250
+ const missingRequiredConfig = merged.apiKey === '' ||
251
+ merged.model === '' ||
252
+ merged.provider === 'custom' && merged.baseURL === '';
253
+ if (missingRequiredConfig) {
254
+ const result = await runConfigWizard({
255
+ provider: merged.provider,
256
+ apiKey: merged.apiKey,
257
+ model: merged.model,
258
+ baseURL: merged.baseURL
259
+ });
192
260
  if (!result.ok) {
193
261
  process.exitCode = 1;
194
262
  return;
195
263
  }
264
+ merged.provider = result.config.provider ?? merged.provider;
196
265
  merged.apiKey = result.config.apiKey ?? '';
197
266
  merged.model = result.config.model ?? merged.model;
198
267
  merged.baseURL = result.config.baseURL ?? merged.baseURL;
@@ -214,6 +283,7 @@ async function main() {
214
283
  model: options.model
215
284
  });
216
285
  const registry = buildDefaultRegistry();
286
+ const toolSchemaSerialized = serializeToolSchema(registry);
217
287
  const permissions = createPermissionStore(options.permissionMode);
218
288
  const session = options.resumeSessionId
219
289
  ? await getSessionFilesForResume(options.cwd, options.resumeSessionId)
@@ -222,6 +292,7 @@ async function main() {
222
292
  await appendSessionMeta(session.transcriptPath, session.sessionId, options.model, options.cwd);
223
293
  }
224
294
  const toolSchemaTokensEstimate = estimateToolSchemaTokens(registry);
295
+ const promptObservabilityTracker = createPromptObservabilityTrackerWithToolSchema(toolSchemaSerialized);
225
296
  const initialMessagesFromResume = options.resumeSessionId
226
297
  ? await loadSessionMessages(session.transcriptPath)
227
298
  : undefined;
@@ -292,6 +363,7 @@ async function main() {
292
363
  onPromptObservability: (snapshot) => {
293
364
  latestPromptObservability = snapshot;
294
365
  },
366
+ promptObservabilityTracker,
295
367
  onTurnStart: ({ turn }) => {
296
368
  ui.onTurnStart({ turn });
297
369
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAA;AACjF,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAA;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAmB,MAAM,oBAAoB,CAAA;AAE/F,OAAO,EAAE,8CAA8C,EAAE,MAAM,mCAAmC,CAAA;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AA8BhE,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,IAAI,SAA6B,CAAA;IACjC,IAAI,WAA+B,CAAA;IACnC,IAAI,GAAG,GAAG,UAAU,EAAE,CAAA;IACtB,IAAI,cAAc,GAA+B,aAAa,CAAA;IAC9D,IAAI,eAAmC,CAAA;IACvC,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,CAAA;IAC/C,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAG,CAAA;QACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YACxB,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YAC1B,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,CAAA;YACzB,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAC3B,cAAc,GAAG,YAAY,CAAA;YAC7B,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,cAAc,GAAG,WAAW,CAAA;YAC5B,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YAC9B,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAA;YACX,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAA;YACb,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,MAAM,GAAG,KAAK,CAAA;YACd,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3C,UAAU,GAAG,IAAI,CAAA;YACjB,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAE9E,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,IAAI;QAC5E,SAAS;QACT,WAAW;QACX,GAAG;QACH,cAAc;QACd,eAAe;QACf,IAAI;QACJ,MAAM;QACN,UAAU;KACX,CAAA;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gKAAgK,CACjK,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAiD;IAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAiD;IACjF,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5D,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,YAAY,CAAA;IACjG,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAA;IACzF,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAA;IAC3H,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAyB;IAC1D,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAA;IACjD,IAAI,QAAQ,KAAK,YAAY;QAAE,OAAO,mBAAmB,CAAA;IACzD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAyB;IACxD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAA;IAChD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAChE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,gBAAgB,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IAC3H,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IAC/G,IAAI,gBAAgB;QAAE,OAAO,YAAY,CAAA;IACzC,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAA;IACjC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmD;IAM7E,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IACvC,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;IAE5B,OAAO;QACL,QAAQ;QACR,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QACnD,OAAO,EAAE,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;KAC3D,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,KAAK,GAAG,cAAc,CAAC,2BAA2B,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,cAAc,CAAC,4BAA4B,CAAC,CAAA;IAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACjE,MAAM,MAAM,GAAG,cAAc,CAAC,kCAAkC,CAAC,CAAA;IACjE,OAAO;QACL,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,MAAM;QACxB,qBAAqB,EAAE,MAAM;KAC9B,CAAA;AACH,CAAC;AAED,SAAS,6BAA6B;IAMpC,MAAM,WAAW,GAAG,cAAc,CAAC,kCAAkC,CAAC,CAAA;IACtE,MAAM,YAAY,GAAG,cAAc,CAAC,mCAAmC,CAAC,CAAA;IACxE,MAAM,cAAc,GAAG,cAAc,CAAC,qCAAqC,CAAC,CAAA;IAC5E,MAAM,WAAW,GAAG,cAAc,CAAC,kCAAkC,CAAC,CAAA;IACtE,OAAO;QACL,WAAW;QACX,YAAY;QACZ,cAAc;QACd,WAAW;KACZ,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAA;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAA;QACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAA;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAA;QACxC,OAAM;IACR,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,CAAA;QACZ,OAAM;IACR,CAAC;IACD,mDAAmD;IACnD,MAAM,aAAa,GAAG,KAAK,IAAI;QAC7B,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,GAAG,EAAE,UAAU,EAAE;QACjB,cAAc,EAAE,aAAsB;QACtC,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG;QAC1C,UAAU,EAAE,KAAK;KAClB,CAAA;IAED,4BAA4B;IAC5B,IAAI,UAAU,GAAG,MAAM,UAAU,EAAE,CAAA;IAEnC,8CAA8C;IAC9C,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC;QACD,kEAAkE;QAClE,IAAI,aAAa,CAAC,IAAI,KAAK,2CAA2C,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAChI,OAAM;QACR,CAAC;QACD,UAAU,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,MAAM,kBAAkB,GACtB,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC/C,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC;QACtC,gBAAgB,CAAA;IAElB,MAAM,MAAM,GAAG,WAAW,CACxB,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,EAClG,UAAU,EACV;QACE,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,uBAAuB,CAAC,kBAAkB,CAAC;QAClD,OAAO,EAAE,yBAAyB,CAAC,kBAAkB,CAAC;KACvD,CACF,CAAA;IAED,0DAA0D;IAC1D,MAAM,qBAAqB,GACzB,MAAM,CAAC,MAAM,KAAK,EAAE;QACpB,MAAM,CAAC,KAAK,KAAK,EAAE;QACnB,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,CAAA;IAEvD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAA;QAC3D,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;QAC1C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;QAClD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAA;IAC1D,CAAC;IAED,MAAM,OAAO,GAAe;QAC1B,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,cAAc,EAAE,aAAa,CAAC,cAAc;QAC5C,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,MAAM,EAAE,aAAa,CAAC,MAAM;KAC7B,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAA;IACvC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe;QACrC,CAAC,CAAC,MAAM,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC;QACtE,CAAC,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAChG,CAAC;IACD,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACnE,MAAM,0BAA0B,GAAG,8CAA8C,CAAC,oBAAoB,CAAC,CAAA;IACvG,MAAM,yBAAyB,GAAG,OAAO,CAAC,eAAe;QACvD,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,eAAe,GAAG,yBAAyB,IAAI;QACnD,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,kEAAkE,EAAE;KACzG,CAAA;IACD,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,uBAAuB,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAE,CAAC,CAAA;QAC1E,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACtC,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,6BAA6B,EAAE,CAAC,CAAA;YAC/F,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnC,MAAM,kBAAkB,GAAG;oBACzB,IAAI,EAAE,QAAiB;oBACvB,OAAO,EACL,mGAAmG;wBACnG,WAAW,CAAC,IAAI;iBACnB,CAAA;gBACD,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;gBACxC,MAAM,uBAAuB,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,kEAAkE,CAAA;IACvF,IAAI,OAAO,GAAG,eAAe,CAAA;IAC7B,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;IACzC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAA;IAC1C,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,IAAI;KACrB,CAAC,CAAA;IAEF,EAAE,CAAC,YAAY,EAAE,CAAA;IAEjB,MAAM,OAAO,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;QACtC,IAAI,yBAAkE,CAAA;QACtE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC3B,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,UAAU,EAAE,MAAM;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,GAAG;YACb,WAAW;YACX,eAAe,EAAE,OAAO;YACxB,sBAAsB,EAAE,KAAK;YAC7B,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACnC,MAAM,uBAAuB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;YAChE,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;oBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,UAAU,EAAE,OAAO,CAAC,SAAS;oBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;oBAC1C,2BAA2B,EAAE,wBAAwB;oBACrD,oBAAoB,EAAE,yBAAyB;iBAChD,CAAC,CAAA;gBACF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAA;YAChF,CAAC;YACD,qBAAqB,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAClC,yBAAyB,GAAG,QAAQ,CAAA;YACtC,CAAC;YACD,0BAA0B;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBACxB,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YAC1B,CAAC;YACD,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;gBACjE,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1C,EAAE,CAAC,WAAW,CAAC;oBACb,KAAK;oBACL,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBACxB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;iBACjC,CAAC,CAAA;YACJ,CAAC;YACD,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;gBAC3E,EAAE,CAAC,YAAY,CAAC;oBACd,KAAK;oBACL,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBACxB,OAAO;oBACP,UAAU;oBACV,SAAS;iBACV,CAAC,CAAA;gBACF,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;oBAC7F,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACpD,IAAI,IAAI;wBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QACF,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,mCAAmC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAA;QAC/B,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7C,MAAM,cAAc,CAAC;YACnB,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,IAAI,CAAC;oBACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;gBACpC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;YAChE,CAAC;YACD,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE;YAC7B,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5B,EAAE,CAAC,mBAAmB,EAAE,CAAA;gBACxB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAC7B,CAAC;YACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC1D,CAAC;YACD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;SACF,CAAC,CAAA;QACF,EAAE,CAAC,WAAW,EAAE,CAAA;QAChB,EAAE,CAAC,KAAK,EAAE,CAAA;QACV,OAAM;IACR,CAAC;IAED,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3D,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjG,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,2BAA2B,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;YAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,WAAW,CAAC,CAAA;YAErE,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;gBAC7C,SAAS,EAAE,eAAe;gBAC1B,eAAe,EAAE,KAAK,IAAI,EAAE,CAC1B,qBAAqB,CAAC;oBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM;oBACN,SAAS,EAAE,eAAe;oBAC1B,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;wBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,OAAO,CAAC,CAAA;oBACvF,CAAC;iBACF,CAAC;gBACJ,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;oBAClC,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,KAAK,KAAK,MAAM,EAAE,CAAC,CAAA;oBAC9D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;oBACvC,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACnE,CAAC;gBACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC7B,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,GAAG,CAAC,oCAAoC,CAAC,CAAA;oBACvF,CAAC;oBACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;gBAC9D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA"}
@@ -21,6 +21,9 @@ export interface RunLoopOptions {
21
21
  provider?: string;
22
22
  }) => Promise<void> | void;
23
23
  onPromptObservability?: (snapshot: PromptObservabilitySnapshot) => Promise<void> | void;
24
+ promptObservabilityTracker?: {
25
+ record: (turn: number, messages: ChatMessage[]) => PromptObservabilitySnapshot;
26
+ };
24
27
  onTurnStart?: (event: {
25
28
  turn: number;
26
29
  }) => Promise<void> | void;
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/runtime/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAoC,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAE9G,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,YAAY,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,aAAa,EAAE,MAAM,CAAA;QACrB,iBAAiB,EAAE,MAAM,CAAA;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACvF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC/D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,EAAE,MAAM,CAAA;QACrB,gBAAgB,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KACvB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACxE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,SAAS,CAAA;CACjB;AAYD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAUnE;AAmCD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA0J7E"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/runtime/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAoC,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAE9G,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,YAAY,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,aAAa,EAAE,MAAM,CAAA;QACrB,iBAAiB,EAAE,MAAM,CAAA;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACvF,0BAA0B,CAAC,EAAE;QAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,2BAA2B,CAAA;KAC/E,CAAA;IACD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC/D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,EAAE,MAAM,CAAA;QACrB,gBAAgB,EAAE,MAAM,CAAA;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KACvB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACxE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,SAAS,CAAA;CACjB;AAYD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAUnE;AAmCD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA0J7E"}
@@ -62,7 +62,7 @@ export async function runLoop(options) {
62
62
  let finalText = '';
63
63
  let emptyStopRecoveryCount = 0;
64
64
  let awaitingPostToolSummary = false;
65
- const promptObservability = createPromptObservabilityTracker();
65
+ const promptObservability = options.promptObservabilityTracker ?? createPromptObservabilityTracker();
66
66
  const defaultPermissions = { ask: async () => 'allow' };
67
67
  const toolContext = {
68
68
  cwd: options.cwd,
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/runtime/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/runtime/loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAqD,MAAM,eAAe,CAAA;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,gCAAgC,EAAoC,MAAM,2BAA2B,CAAA;AAwC9G,yEAAyE;AACzE,qFAAqF;AACrF,MAAM,gBAAgB,GAAa;IACjC,kHAAkH;IAClH,4GAA4G;IAC5G,4BAA4B;IAC5B,gCAAgC;IAChC,mDAAmD;CACpD,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAgB;IACxD,oDAAoD;IACpD,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAEvC,yDAAyD;IACzD,6CAA6C;IAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IAEzC,oEAAoE;IACpE,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,WAAW,CAClB,YAAoB,EACpB,UAAkB,EAClB,eAA+B;IAE/B,MAAM,QAAQ,GAAkB,eAAe;QAC7C,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;QACtB,CAAC,CAAC;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC,CAAA;IAEL,IAAI,eAAe,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,CAAC;QACZ,4BAA4B,EAAE,CAAC;QAC/B,2BAA2B,EAAE,KAAK;QAClC,UAAU,EAAE,CAAC;KACd,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAuB,EAAE,QAAgB;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC5F,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAA;IACxC,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,IAAI,sBAAsB,GAAG,CAAC,CAAA;IAC9B,IAAI,uBAAuB,GAAG,KAAK,CAAA;IACnC,MAAM,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,IAAI,gCAAgC,EAAE,CAAA;IAEpG,MAAM,kBAAkB,GAAoB,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IACxE,MAAM,WAAW,GAAgB;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kBAAkB;QACtD,SAAS,EAAE,GAAG,EAAE,CACd,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;KACN,CAAA;IAED,IAAI,OAAO,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAED,SAAS,CAAC;QACR,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC7D,CAAC;QAED,IAAI,SAAS,CAAA;QACb,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;YAC/F,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;YAChF,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACnD,IAAI,KAAK,GAAG,mBAAmB,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;gBACjE,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACxB,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;oBACnC,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAA;gBAC1C,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,qBAAqB,EAAE,CACnC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAChE,CAAA;YACD,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1D,SAAS,GAAG,MAAM,SAAS,CACzB,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAC1E,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,CACzD,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACtD,CAAC;QAED,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;QAEpB,MAAM,gBAAgB,GAAgB;YACpC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC,CAAA;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACrC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,CAAA;QACnD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,SAAS;YACrB,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,gBAAgB,EAAE,SAAS,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;YACnD,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC,CAAA;QAEF,2EAA2E;QAC3E,IACE,SAAS,CAAC,aAAa,KAAK,YAAY;YACxC,SAAS,CAAC,UAAU;YACpB,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC/B,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,CAAC,CAAA;YAC/E,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;gBAC1C,SAAS,EAAE,SAAS,CAAC,UAAU;gBAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW;gBACX,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9F,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC,CAAA;YAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC5B,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAA;YAC5C,CAAC;YACD,SAAQ;QACV,CAAC;QAED,4EAA4E;QAC5E,IAAI,SAAS,CAAC,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,EAAE,CAAC;YACnF,KAAK,CAAC,4BAA4B,IAAI,CAAC,CAAA;YACvC,MAAM,eAAe,GAAgB;gBACnC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,qFAAqF;aAC/F,CAAA;YACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACpC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,eAAe,CAAC,CAAA;YAClD,SAAQ;QACV,CAAC;QAED,4EAA4E;QAC5E,IAAI,SAAS,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACtD,CAAC;QAED,2EAA2E;QAC3E,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAA;QACpC,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACjE,MAAM,eAAe,GAAG,eAAe,EAAE,IAAI,KAAK,MAAM,CAAA;QACxD,MAAM,sBAAsB,GAAG,eAAe,IAAI,uBAAuB,CAAA;QAEzE,IAAI,SAAS,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,sBAAsB,EAAE,CAAC;YACvF,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;gBAC/B,sBAAsB,IAAI,CAAC,CAAA;gBAC3B,uBAAuB,GAAG,IAAI,CAAA;gBAC9B,MAAM,cAAc,GAAgB;oBAClC,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,uGAAuG;iBAC1G,CAAA;gBACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACnC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,CAAA;gBACjD,SAAQ;YACV,CAAC;YACD,SAAS,GAAG,6EAA6E,CAAA;YACzF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,uBAAuB,GAAG,KAAK,CAAA;QACjC,CAAC;QAED,qDAAqD;QACrD,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAgB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,2DAA2D;oBAC3D,2DAA2D;aAC9D,CAAA;YACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACjC,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,CAAA;YAC/C,KAAK,CAAC,UAAU,IAAI,CAAC,CAAA;YACrB,SAAQ;QACV,CAAC;QAED,SAAS,GAAG,IAAI,CAAA;QAChB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACpD,CAAC;AACH,CAAC"}
@@ -8,6 +8,7 @@ export interface PromptRoleTokens {
8
8
  export interface PromptObservabilitySnapshot {
9
9
  turn: number;
10
10
  estimated_input_tokens: number;
11
+ tool_schema_tokens_estimate: number;
11
12
  role_tokens: PromptRoleTokens;
12
13
  role_delta_tokens: PromptRoleTokens;
13
14
  stable_prefix_tokens: number;
@@ -17,4 +18,7 @@ export interface PromptObservabilitySnapshot {
17
18
  export declare function createPromptObservabilityTracker(): {
18
19
  record(turn: number, messages: ChatMessage[]): PromptObservabilitySnapshot;
19
20
  };
21
+ export declare function createPromptObservabilityTrackerWithToolSchema(toolSchemaSerialized?: string): {
22
+ record(turn: number, messages: ChatMessage[]): PromptObservabilitySnapshot;
23
+ };
20
24
  //# sourceMappingURL=prompt_observability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt_observability.d.ts","sourceRoot":"","sources":["../../src/runtime/prompt_observability.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,sBAAsB,EAAE,MAAM,CAAA;IAC9B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,iBAAiB,EAAE,gBAAgB,CAAA;IACnC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAoED,wBAAgB,gCAAgC;iBAO/B,MAAM,YAAY,WAAW,EAAE,GAAG,2BAA2B;EAqC7E"}
1
+ {"version":3,"file":"prompt_observability.d.ts","sourceRoot":"","sources":["../../src/runtime/prompt_observability.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,sBAAsB,EAAE,MAAM,CAAA;IAC9B,2BAA2B,EAAE,MAAM,CAAA;IACnC,WAAW,EAAE,gBAAgB,CAAA;IAC7B,iBAAiB,EAAE,gBAAgB,CAAA;IACnC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAqED,wBAAgB,gCAAgC;iBAgB/B,MAAM,YAAY,WAAW,EAAE,GAAG,2BAA2B;EAd7E;AAED,wBAAgB,8CAA8C,CAAC,oBAAoB,CAAC,EAAE,MAAM;iBAY3E,MAAM,YAAY,WAAW,EAAE,GAAG,2BAA2B;EAkD7E"}
@@ -58,9 +58,17 @@ function roleDelta(current, previous) {
58
58
  };
59
59
  }
60
60
  export function createPromptObservabilityTracker() {
61
+ return createPromptObservabilityTrackerWithToolSchema();
62
+ }
63
+ export function createPromptObservabilityTrackerWithToolSchema(toolSchemaSerialized) {
64
+ const toolSchemaTokensEstimate = toolSchemaSerialized
65
+ ? estimateTokensFromChars(toolSchemaSerialized.length)
66
+ : 0;
67
+ const toolSchemaHash = toolSchemaSerialized ? shortHash(toolSchemaSerialized) : null;
61
68
  let previousState = {
62
69
  signatures: [],
63
- roleTokens: emptyRoleTokens()
70
+ roleTokens: emptyRoleTokens(),
71
+ initialized: false
64
72
  };
65
73
  return {
66
74
  record(turn, messages) {
@@ -79,14 +87,23 @@ export function createPromptObservabilityTracker() {
79
87
  else
80
88
  roleTokens.tool += tokens;
81
89
  }
82
- const estimatedInputTokens = roleTokens.system + roleTokens.user + roleTokens.assistant + roleTokens.tool;
90
+ const estimatedInputTokens = roleTokens.system + roleTokens.user + roleTokens.assistant + roleTokens.tool + toolSchemaTokensEstimate;
83
91
  const stableCount = stablePrefixCount(previousState.signatures, signatures);
84
- const stableTokens = messageTokens.slice(0, stableCount).reduce((sum, value) => sum + value, 0);
85
- const stableHash = stableCount > 0 ? shortHash(signatures.slice(0, stableCount).join('\n---\n')) : null;
92
+ const stableMessageTokens = messageTokens.slice(0, stableCount).reduce((sum, value) => sum + value, 0);
93
+ const stableTokens = previousState.initialized
94
+ ? stableMessageTokens + toolSchemaTokensEstimate
95
+ : 0;
96
+ const stableHash = previousState.initialized && (stableCount > 0 || toolSchemaHash !== null)
97
+ ? shortHash([
98
+ toolSchemaHash ?? '',
99
+ signatures.slice(0, stableCount).join('\n---\n')
100
+ ].join('\n===\n'))
101
+ : null;
86
102
  const ratio = estimatedInputTokens > 0 ? stableTokens / estimatedInputTokens : 0;
87
103
  const snapshot = {
88
104
  turn,
89
105
  estimated_input_tokens: estimatedInputTokens,
106
+ tool_schema_tokens_estimate: toolSchemaTokensEstimate,
90
107
  role_tokens: roleTokens,
91
108
  role_delta_tokens: roleDelta(roleTokens, previousState.roleTokens),
92
109
  stable_prefix_tokens: stableTokens,
@@ -95,7 +112,8 @@ export function createPromptObservabilityTracker() {
95
112
  };
96
113
  previousState = {
97
114
  signatures,
98
- roleTokens
115
+ roleTokens,
116
+ initialized: true
99
117
  };
100
118
  return snapshot;
101
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt_observability.js","sourceRoot":"","sources":["../../src/runtime/prompt_observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt_observability.js","sourceRoot":"","sources":["../../src/runtime/prompt_observability.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAcjD,eAAO,MAAM,UAAU,EAAE,cAwCxB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAgBjD,eAAO,MAAM,UAAU,EAAE,cAgDxB,CAAA"}
@@ -3,6 +3,8 @@ function normalizeSetting(value) {
3
3
  if (typeof value !== 'string')
4
4
  return null;
5
5
  const key = value.trim().toLowerCase();
6
+ if (key === 'provider')
7
+ return 'provider';
6
8
  if (key === 'apikey' || key === 'api_key')
7
9
  return 'apiKey';
8
10
  if (key === 'model')
@@ -26,7 +28,7 @@ export const configTool = {
26
28
  async execute(input, ctx) {
27
29
  const setting = normalizeSetting(input.setting);
28
30
  if (!setting) {
29
- return { content: 'Unknown setting. Allowed: apiKey, model, baseURL.', isError: true };
31
+ return { content: 'Unknown setting. Allowed: provider, apiKey, model, baseURL.', isError: true };
30
32
  }
31
33
  const config = await readConfig();
32
34
  if (input.value === undefined) {
@@ -44,6 +46,14 @@ export const configTool = {
44
46
  return { content: `Reset ${setting} to default`, isError: false };
45
47
  }
46
48
  const nextValue = String(input.value);
49
+ if (setting === 'provider') {
50
+ const normalized = nextValue.trim().toLowerCase();
51
+ if (normalized !== 'openrouter' && normalized !== 'openai' && normalized !== 'custom') {
52
+ return { content: 'Invalid provider. Allowed: openrouter, openai, custom.', isError: true };
53
+ }
54
+ await writeConfig({ ...config, provider: normalized });
55
+ return { content: `Set ${setting}=${normalized}`, isError: false };
56
+ }
47
57
  await writeConfig({ ...config, [setting]: nextValue });
48
58
  return { content: `Set ${setting}=${nextValue}`, isError: false };
49
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/tools/builtin/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAI/D,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACtC,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAC1D,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,OAAO,CAAA;IACnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IAC7D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,mCAAmC;IAChD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;SACjD;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,eAAe,EAAE,KAAK;IACtB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,mDAAmD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACxF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;YAC/B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACjG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,OAAO,EAAE,CAAC,CAAA;QACvE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1D,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;YACtF,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;YAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA;YACpB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;YACvB,OAAO,EAAE,OAAO,EAAE,SAAS,OAAO,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACnE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QACtD,OAAO,EAAE,OAAO,EAAE,OAAO,OAAO,IAAI,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACnE,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/tools/builtin/config.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ export const configGetTool = {
15
15
  if (key === '') {
16
16
  return { content: JSON.stringify(config, null, 2), isError: false };
17
17
  }
18
- if (key !== 'apiKey' && key !== 'model' && key !== 'baseURL') {
19
- return { content: 'Invalid key. Allowed: apiKey, model, baseURL.', isError: true };
18
+ if (key !== 'provider' && key !== 'apiKey' && key !== 'model' && key !== 'baseURL') {
19
+ return { content: 'Invalid key. Allowed: provider, apiKey, model, baseURL.', isError: true };
20
20
  }
21
21
  const value = config[key];
22
22
  return { content: value ? `${key}=${value}` : `${key} is not set`, isError: false };
@@ -1 +1 @@
1
- {"version":3,"file":"config_get.js","sourceRoot":"","sources":["../../../src/tools/builtin/config_get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,gEAAgE;IAC7E,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;KACF;IACD,eAAe,EAAE,IAAI;IACrB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACjE,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACrE,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,+CAA+C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACpF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACrF,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"config_get.js","sourceRoot":"","sources":["../../../src/tools/builtin/config_get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,gEAAgE;IAC7E,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;KACF;IACD,eAAe,EAAE,IAAI;IACrB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACjE,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACrE,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,yDAAyD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC9F,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACrF,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config_set.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/config_set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAKjD,eAAO,MAAM,aAAa,EAAE,cA8B3B,CAAA"}
1
+ {"version":3,"file":"config_set.d.ts","sourceRoot":"","sources":["../../../src/tools/builtin/config_set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMjD,eAAO,MAAM,aAAa,EAAE,cA2C3B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { readConfig, writeConfig } from "../../config/store.js";
2
- const ALLOWED_KEYS = new Set(['apiKey', 'model', 'baseURL']);
2
+ const ALLOWED_KEYS = new Set(['provider', 'apiKey', 'model', 'baseURL']);
3
3
  export const configSetTool = {
4
4
  name: 'config_set',
5
5
  description: 'Set Merlion config key in ~/.config/merlion/config.json.',
@@ -16,11 +16,24 @@ export const configSetTool = {
16
16
  const key = input.key;
17
17
  const value = input.value;
18
18
  if (typeof key !== 'string' || !ALLOWED_KEYS.has(key)) {
19
- return { content: 'Invalid key. Allowed: apiKey, model, baseURL.', isError: true };
19
+ return { content: 'Invalid key. Allowed: provider, apiKey, model, baseURL.', isError: true };
20
20
  }
21
21
  if (typeof value !== 'string') {
22
22
  return { content: 'Invalid value: expected string.', isError: true };
23
23
  }
24
+ if (key === 'provider') {
25
+ const normalized = value.trim().toLowerCase();
26
+ if (normalized !== 'openrouter' && normalized !== 'openai' && normalized !== 'custom') {
27
+ return { content: 'Invalid provider. Allowed: openrouter, openai, custom.', isError: true };
28
+ }
29
+ const decision = await ctx.permissions?.ask('config_set', `Set config ${key}`);
30
+ if (decision === 'deny' || decision === undefined) {
31
+ return { content: '[Permission denied]', isError: true };
32
+ }
33
+ const config = await readConfig();
34
+ await writeConfig({ ...config, provider: normalized });
35
+ return { content: `Set ${key} in config`, isError: false };
36
+ }
24
37
  const decision = await ctx.permissions?.ask('config_set', `Set config ${key}`);
25
38
  if (decision === 'deny' || decision === undefined) {
26
39
  return { content: '[Permission denied]', isError: true };
@@ -1 +1 @@
1
- {"version":3,"file":"config_set.js","sourceRoot":"","sources":["../../../src/tools/builtin/config_set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,0DAA0D;IACvE,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KAC3B;IACD,eAAe,EAAE,KAAK;IACtB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,OAAO,EAAE,+CAA+C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACpF,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACtE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,cAAc,GAAG,EAAE,CAAC,CAAA;QAC9E,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC5D,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"config_set.js","sourceRoot":"","sources":["../../../src/tools/builtin/config_set.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAE/D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,0DAA0D;IACvE,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KAC3B;IACD,eAAe,EAAE,KAAK;IACtB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,OAAO,EAAE,yDAAyD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC9F,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACtE,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAC7C,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACtF,OAAO,EAAE,OAAO,EAAE,wDAAwD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC7F,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,cAAc,GAAG,EAAE,CAAC,CAAA;YAC9E,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC1D,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;YACjC,MAAM,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,UAA6B,EAAE,CAAC,CAAA;YACzE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC5D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,cAAc,GAAG,EAAE,CAAC,CAAA;QAC9E,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC5D,CAAC;CACF,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "merlion",
3
- "version": "0.1.4",
4
- "description": "A coding agent powered by OpenRouter",
3
+ "version": "0.1.5",
4
+ "description": "A coding agent for OpenAI-compatible providers",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=22"
@@ -27,6 +27,7 @@
27
27
  "typescript": "^5.9.3"
28
28
  },
29
29
  "dependencies": {
30
- "@vscode/ripgrep": "^1.15.14"
30
+ "@vscode/ripgrep": "^1.15.14",
31
+ "marked": "^16.4.2"
31
32
  }
32
33
  }