steroids-cli 0.8.44 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cleanup/backups.d.ts +26 -0
- package/dist/cleanup/backups.d.ts.map +1 -0
- package/dist/cleanup/backups.js +157 -0
- package/dist/cleanup/backups.js.map +1 -0
- package/dist/cleanup/directory-size.d.ts +1 -1
- package/dist/cleanup/directory-size.d.ts.map +1 -1
- package/dist/cleanup/directory-size.js +58 -6
- package/dist/cleanup/directory-size.js.map +1 -1
- package/dist/commands/ai.js +2 -2
- package/dist/commands/ai.js.map +1 -1
- package/dist/commands/config.js +80 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/health-stuck.d.ts.map +1 -1
- package/dist/commands/health-stuck.js +8 -2
- package/dist/commands/health-stuck.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +19 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/loop-phases.d.ts +3 -3
- package/dist/commands/loop-phases.d.ts.map +1 -1
- package/dist/commands/loop-phases.js +308 -74
- package/dist/commands/loop-phases.js.map +1 -1
- package/dist/commands/loop.d.ts.map +1 -1
- package/dist/commands/loop.js +12 -1
- package/dist/commands/loop.js.map +1 -1
- package/dist/commands/tasks.d.ts.map +1 -1
- package/dist/commands/tasks.js +69 -2
- package/dist/commands/tasks.js.map +1 -1
- package/dist/config/ai-setup.d.ts +2 -1
- package/dist/config/ai-setup.d.ts.map +1 -1
- package/dist/config/ai-setup.js +234 -36
- package/dist/config/ai-setup.js.map +1 -1
- package/dist/config/loader.d.ts +21 -7
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +22 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +41 -3
- package/dist/config/schema.js.map +1 -1
- package/dist/database/queries.d.ts +37 -0
- package/dist/database/queries.d.ts.map +1 -1
- package/dist/database/queries.js +94 -2
- package/dist/database/queries.js.map +1 -1
- package/dist/database/schema.d.ts +2 -2
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +21 -0
- package/dist/database/schema.js.map +1 -1
- package/dist/git/status.d.ts +1 -1
- package/dist/git/status.d.ts.map +1 -1
- package/dist/git/status.js +3 -2
- package/dist/git/status.js.map +1 -1
- package/dist/health/stuck-task-detector.d.ts +2 -0
- package/dist/health/stuck-task-detector.d.ts.map +1 -1
- package/dist/health/stuck-task-detector.js +39 -18
- package/dist/health/stuck-task-detector.js.map +1 -1
- package/dist/orchestrator/coder.d.ts.map +1 -1
- package/dist/orchestrator/coder.js +23 -6
- package/dist/orchestrator/coder.js.map +1 -1
- package/dist/orchestrator/coordinator.js +1 -1
- package/dist/orchestrator/coordinator.js.map +1 -1
- package/dist/orchestrator/fallback-handler.d.ts +1 -1
- package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
- package/dist/orchestrator/fallback-handler.js.map +1 -1
- package/dist/orchestrator/invoke.d.ts +5 -1
- package/dist/orchestrator/invoke.d.ts.map +1 -1
- package/dist/orchestrator/invoke.js +9 -1
- package/dist/orchestrator/invoke.js.map +1 -1
- package/dist/orchestrator/post-reviewer.d.ts +5 -1
- package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
- package/dist/orchestrator/post-reviewer.js +100 -1
- package/dist/orchestrator/post-reviewer.js.map +1 -1
- package/dist/orchestrator/reviewer.d.ts +30 -2
- package/dist/orchestrator/reviewer.d.ts.map +1 -1
- package/dist/orchestrator/reviewer.js +121 -17
- package/dist/orchestrator/reviewer.js.map +1 -1
- package/dist/orchestrator/task-selector.d.ts.map +1 -1
- package/dist/orchestrator/task-selector.js +5 -1
- package/dist/orchestrator/task-selector.js.map +1 -1
- package/dist/orchestrator/types.d.ts +27 -0
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/parallel/merge-conflict-invoke.js +1 -1
- package/dist/parallel/merge-conflict-invoke.js.map +1 -1
- package/dist/prompts/coder.d.ts +4 -0
- package/dist/prompts/coder.d.ts.map +1 -1
- package/dist/prompts/coder.js +41 -0
- package/dist/prompts/coder.js.map +1 -1
- package/dist/prompts/reviewer.d.ts +4 -0
- package/dist/prompts/reviewer.d.ts.map +1 -1
- package/dist/prompts/reviewer.js +65 -0
- package/dist/prompts/reviewer.js.map +1 -1
- package/dist/providers/api-models.d.ts +14 -6
- package/dist/providers/api-models.d.ts.map +1 -1
- package/dist/providers/api-models.js +86 -5
- package/dist/providers/api-models.js.map +1 -1
- package/dist/providers/claude.d.ts +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +57 -12
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex.d.ts +5 -1
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +143 -40
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/gemini.d.ts +1 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +53 -9
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/interface.d.ts +62 -1
- package/dist/providers/interface.d.ts.map +1 -1
- package/dist/providers/interface.js +105 -12
- package/dist/providers/interface.js.map +1 -1
- package/dist/providers/invocation-logger.d.ts +3 -0
- package/dist/providers/invocation-logger.d.ts.map +1 -1
- package/dist/providers/invocation-logger.js +22 -8
- package/dist/providers/invocation-logger.js.map +1 -1
- package/dist/providers/minimax.d.ts +50 -0
- package/dist/providers/minimax.d.ts.map +1 -0
- package/dist/providers/minimax.js +248 -0
- package/dist/providers/minimax.js.map +1 -0
- package/dist/providers/mistral.d.ts +6 -0
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js +73 -4
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/ollama.d.ts +50 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +259 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +1 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/registry.d.ts +2 -2
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +28 -14
- package/dist/providers/registry.js.map +1 -1
- package/dist/runners/credit-pause.d.ts +1 -1
- package/dist/runners/credit-pause.d.ts.map +1 -1
- package/dist/runners/credit-pause.js +2 -2
- package/dist/runners/credit-pause.js.map +1 -1
- package/dist/runners/orchestrator-loop.js +2 -2
- package/dist/runners/orchestrator-loop.js.map +1 -1
- package/migrations/014_add_session_context.sql +17 -0
- package/migrations/015_add_follow_up_fields.sql +26 -0
- package/migrations/016_add_invocation_activity_timestamp.sql +8 -0
- package/migrations/manifest.json +25 -1
- package/package.json +1 -1
package/dist/providers/claude.js
CHANGED
|
@@ -51,7 +51,7 @@ const DEFAULT_TIMEOUT = 900_000;
|
|
|
51
51
|
* Default invocation template for Claude CLI
|
|
52
52
|
* Uses -p flag for print mode with stream-json for realtime output
|
|
53
53
|
*/
|
|
54
|
-
const DEFAULT_INVOCATION_TEMPLATE = '{cli} -p "$(cat {prompt_file})" --model {model} --output-format stream-json --verbose';
|
|
54
|
+
const DEFAULT_INVOCATION_TEMPLATE = '{cli} -p "$(cat {prompt_file})" {session_id} --model {model} --output-format stream-json --verbose';
|
|
55
55
|
/**
|
|
56
56
|
* Claude AI Provider implementation
|
|
57
57
|
*/
|
|
@@ -96,7 +96,7 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
96
96
|
const promptFile = options.promptFile ?? this.writePromptFile(prompt);
|
|
97
97
|
const createdTempFile = !options.promptFile;
|
|
98
98
|
try {
|
|
99
|
-
return await this.invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity);
|
|
99
|
+
return await this.invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity, options.resumeSessionId);
|
|
100
100
|
}
|
|
101
101
|
finally {
|
|
102
102
|
if (createdTempFile) {
|
|
@@ -105,7 +105,7 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* Parse a stream-json line from Claude CLI and extract text content
|
|
108
|
+
* Parse a stream-json line from Claude CLI and extract text content, sessionId and tokenUsage
|
|
109
109
|
*/
|
|
110
110
|
parseStreamJsonLine(line) {
|
|
111
111
|
try {
|
|
@@ -117,22 +117,37 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
117
117
|
if (block.type === 'text' && block.text)
|
|
118
118
|
parts.push(block.text);
|
|
119
119
|
if (block.type === 'tool_use')
|
|
120
|
-
return { tool: `${block.name}
|
|
120
|
+
return { tool: `${block.name}`, sessionId: event.session_id };
|
|
121
121
|
}
|
|
122
122
|
if (parts.length > 0)
|
|
123
|
-
return { text: parts.join('') };
|
|
123
|
+
return { text: parts.join(''), sessionId: event.session_id };
|
|
124
124
|
}
|
|
125
125
|
// Content block delta (raw streaming events)
|
|
126
126
|
if (event.type === 'content_block_delta' && event.delta?.type === 'text_delta') {
|
|
127
|
-
return { text: event.delta.text };
|
|
127
|
+
return { text: event.delta.text, sessionId: event.session_id };
|
|
128
128
|
}
|
|
129
129
|
// Tool use events from content_block_start
|
|
130
130
|
if (event.type === 'content_block_start' && event.content_block?.type === 'tool_use') {
|
|
131
|
-
return { tool: event.content_block.name };
|
|
131
|
+
return { tool: event.content_block.name, sessionId: event.session_id };
|
|
132
132
|
}
|
|
133
|
-
// Final result contains the complete text
|
|
133
|
+
// Final result contains the complete text and token usage
|
|
134
134
|
if (event.type === 'result') {
|
|
135
|
-
|
|
135
|
+
const usage = event.usage ? {
|
|
136
|
+
inputTokens: event.usage.input_tokens,
|
|
137
|
+
outputTokens: event.usage.output_tokens,
|
|
138
|
+
cacheReadTokens: event.usage.cache_read_input_tokens,
|
|
139
|
+
cacheCreationTokens: event.usage.cache_creation_input_tokens,
|
|
140
|
+
totalCostUsd: event.total_cost_usd,
|
|
141
|
+
} : undefined;
|
|
142
|
+
return {
|
|
143
|
+
result: typeof event.result === 'string' ? event.result : '',
|
|
144
|
+
sessionId: event.session_id,
|
|
145
|
+
tokenUsage: usage,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
// Catch session_id from any event type (like 'init')
|
|
149
|
+
if (event.session_id) {
|
|
150
|
+
return { sessionId: event.session_id };
|
|
136
151
|
}
|
|
137
152
|
}
|
|
138
153
|
catch {
|
|
@@ -145,21 +160,29 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
145
160
|
/**
|
|
146
161
|
* Invoke Claude CLI with a prompt file using the invocation template
|
|
147
162
|
*/
|
|
148
|
-
invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity) {
|
|
163
|
+
invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity, resumeSessionId) {
|
|
164
|
+
// Set up isolated HOME
|
|
165
|
+
const isolatedHome = this.setupIsolatedHome('.claude', ['config.json']);
|
|
149
166
|
return new Promise((resolve) => {
|
|
150
167
|
const startTime = Date.now();
|
|
151
168
|
let stdout = '';
|
|
152
169
|
let stderr = '';
|
|
153
170
|
let timedOut = false;
|
|
154
171
|
let stdoutLineBuffer = '';
|
|
172
|
+
let sessionId = resumeSessionId;
|
|
173
|
+
let tokenUsage;
|
|
155
174
|
const isStreamJson = this.getInvocationTemplate().includes('stream-json');
|
|
156
175
|
// Build command from invocation template
|
|
157
|
-
|
|
176
|
+
// Convert resumeSessionId to flag if present
|
|
177
|
+
const sessionIdFlag = resumeSessionId ? `--resume ${resumeSessionId}` : '';
|
|
178
|
+
const command = this.buildCommand(promptFile, model, sessionIdFlag);
|
|
158
179
|
// Spawn using shell to handle the command template
|
|
159
180
|
const child = (0, node_child_process_1.spawn)(command, {
|
|
160
181
|
shell: true,
|
|
161
182
|
cwd,
|
|
162
|
-
env: this.getSanitizedCliEnv(
|
|
183
|
+
env: this.getSanitizedCliEnv({
|
|
184
|
+
HOME: isolatedHome,
|
|
185
|
+
}),
|
|
163
186
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
164
187
|
});
|
|
165
188
|
// Close stdin immediately — CLI tools (especially Claude with --verbose)
|
|
@@ -212,6 +235,10 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
212
235
|
if (!line)
|
|
213
236
|
continue;
|
|
214
237
|
const parsed = this.parseStreamJsonLine(line);
|
|
238
|
+
if (parsed.sessionId)
|
|
239
|
+
sessionId = parsed.sessionId;
|
|
240
|
+
if (parsed.tokenUsage)
|
|
241
|
+
tokenUsage = parsed.tokenUsage;
|
|
215
242
|
if (parsed.result !== undefined) {
|
|
216
243
|
// Final result — use as the definitive stdout
|
|
217
244
|
stdout = parsed.result;
|
|
@@ -243,6 +270,13 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
243
270
|
child.on('close', (code) => {
|
|
244
271
|
clearTimeout(activityTimer);
|
|
245
272
|
const duration = Date.now() - startTime;
|
|
273
|
+
// Cleanup isolated home
|
|
274
|
+
try {
|
|
275
|
+
(0, node_fs_1.rmSync)(isolatedHome, { recursive: true, force: true });
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
// Ignore cleanup errors
|
|
279
|
+
}
|
|
246
280
|
resolve({
|
|
247
281
|
success: code === 0 && !timedOut,
|
|
248
282
|
exitCode: code ?? 1,
|
|
@@ -250,11 +284,20 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
250
284
|
stderr,
|
|
251
285
|
duration,
|
|
252
286
|
timedOut,
|
|
287
|
+
sessionId,
|
|
288
|
+
tokenUsage,
|
|
253
289
|
});
|
|
254
290
|
});
|
|
255
291
|
child.on('error', (error) => {
|
|
256
292
|
clearTimeout(activityTimer);
|
|
257
293
|
const duration = Date.now() - startTime;
|
|
294
|
+
// Cleanup isolated home
|
|
295
|
+
try {
|
|
296
|
+
(0, node_fs_1.rmSync)(isolatedHome, { recursive: true, force: true });
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
// Ignore cleanup errors
|
|
300
|
+
}
|
|
258
301
|
resolve({
|
|
259
302
|
success: false,
|
|
260
303
|
exitCode: 1,
|
|
@@ -262,6 +305,8 @@ class ClaudeProvider extends interface_js_1.BaseAIProvider {
|
|
|
262
305
|
stderr: error.message,
|
|
263
306
|
duration,
|
|
264
307
|
timedOut: false,
|
|
308
|
+
sessionId,
|
|
309
|
+
tokenUsage,
|
|
265
310
|
});
|
|
266
311
|
});
|
|
267
312
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { BaseAIProvider, type InvokeOptions, type InvokeResult, type ModelInfo }
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class CodexProvider extends BaseAIProvider {
|
|
10
10
|
readonly name = "codex";
|
|
11
|
-
readonly displayName = "OpenAI (
|
|
11
|
+
readonly displayName = "OpenAI (codex)";
|
|
12
12
|
/**
|
|
13
13
|
* Write prompt to a temporary file
|
|
14
14
|
*/
|
|
@@ -25,6 +25,10 @@ export declare class CodexProvider extends BaseAIProvider {
|
|
|
25
25
|
* Invoke Codex CLI with a prompt
|
|
26
26
|
*/
|
|
27
27
|
invoke(prompt: string, options: InvokeOptions): Promise<InvokeResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Parse a JSONL line from Codex CLI and extract relevant information
|
|
30
|
+
*/
|
|
31
|
+
private parseJsonlLine;
|
|
28
32
|
/**
|
|
29
33
|
* Invoke Codex CLI with a prompt file using the invocation template
|
|
30
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAiDxB;;GAEG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAC/C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,oBAAoB;IAExC;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,4BAA4B,IAAI,MAAM;IAItC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAgC3E;;OAEG;IACH,OAAO,CAAC,cAAc;IAyCtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoMtB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBrC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS;CAGjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}
|
package/dist/providers/codex.js
CHANGED
|
@@ -16,8 +16,20 @@ const interface_js_1 = require("./interface.js");
|
|
|
16
16
|
*/
|
|
17
17
|
const CODEX_MODELS = [
|
|
18
18
|
{
|
|
19
|
-
id: 'codex',
|
|
20
|
-
name: 'Codex',
|
|
19
|
+
id: 'gpt-5.3-codex',
|
|
20
|
+
name: 'GPT-5.3 Codex',
|
|
21
|
+
recommendedFor: ['coder', 'reviewer'],
|
|
22
|
+
supportsStreaming: true,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'o3',
|
|
26
|
+
name: 'O3',
|
|
27
|
+
recommendedFor: ['orchestrator'],
|
|
28
|
+
supportsStreaming: true,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'gpt-4.1',
|
|
32
|
+
name: 'GPT-4.1',
|
|
21
33
|
recommendedFor: ['reviewer'],
|
|
22
34
|
supportsStreaming: true,
|
|
23
35
|
},
|
|
@@ -26,9 +38,9 @@ const CODEX_MODELS = [
|
|
|
26
38
|
* Default models per role
|
|
27
39
|
*/
|
|
28
40
|
const DEFAULT_MODELS = {
|
|
29
|
-
orchestrator:
|
|
30
|
-
coder:
|
|
31
|
-
reviewer: 'codex',
|
|
41
|
+
orchestrator: 'o3',
|
|
42
|
+
coder: 'gpt-5.3-codex',
|
|
43
|
+
reviewer: 'gpt-5.3-codex',
|
|
32
44
|
};
|
|
33
45
|
/**
|
|
34
46
|
* Default timeout in milliseconds (15 minutes)
|
|
@@ -38,15 +50,16 @@ const DEFAULT_TIMEOUT = 900_000;
|
|
|
38
50
|
* Default invocation template for Codex CLI
|
|
39
51
|
* Uses dangerously-bypass-approvals-and-sandbox for full git access
|
|
40
52
|
* --skip-git-repo-check allows running outside trusted directories
|
|
53
|
+
* --json mode for session and token tracking
|
|
41
54
|
* WARNING: This bypasses all sandboxing - use only in controlled environments
|
|
42
55
|
*/
|
|
43
|
-
const DEFAULT_INVOCATION_TEMPLATE = 'cat {prompt_file} | {cli} exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check -';
|
|
56
|
+
const DEFAULT_INVOCATION_TEMPLATE = 'cat {prompt_file} | {cli} exec {session_id} --model {model} --json --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check -';
|
|
44
57
|
/**
|
|
45
58
|
* Codex AI Provider implementation
|
|
46
59
|
*/
|
|
47
60
|
class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
48
61
|
name = 'codex';
|
|
49
|
-
displayName = 'OpenAI (
|
|
62
|
+
displayName = 'OpenAI (codex)';
|
|
50
63
|
/**
|
|
51
64
|
* Write prompt to a temporary file
|
|
52
65
|
*/
|
|
@@ -90,7 +103,7 @@ class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
|
90
103
|
const promptFile = options.promptFile ?? this.writePromptFile(prompt);
|
|
91
104
|
const createdTempFile = !options.promptFile;
|
|
92
105
|
try {
|
|
93
|
-
return await this.invokeWithFile(promptFile, options.model, timeout, cwd, streamOutput, onActivity);
|
|
106
|
+
return await this.invokeWithFile(promptFile, options.model, timeout, cwd, streamOutput, onActivity, options.resumeSessionId);
|
|
94
107
|
}
|
|
95
108
|
finally {
|
|
96
109
|
if (createdTempFile) {
|
|
@@ -98,24 +111,69 @@ class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
|
98
111
|
}
|
|
99
112
|
}
|
|
100
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Parse a JSONL line from Codex CLI and extract relevant information
|
|
116
|
+
*/
|
|
117
|
+
parseJsonlLine(line) {
|
|
118
|
+
try {
|
|
119
|
+
const event = JSON.parse(line);
|
|
120
|
+
// Thread started — capture thread_id as session ID
|
|
121
|
+
if (event.type === 'thread.started' && event.thread_id) {
|
|
122
|
+
return { sessionId: event.thread_id };
|
|
123
|
+
}
|
|
124
|
+
// Item completed — extract text content if it's an agent message
|
|
125
|
+
if (event.type === 'item.completed' && event.item?.type === 'agent_message') {
|
|
126
|
+
return { text: event.item.text };
|
|
127
|
+
}
|
|
128
|
+
// Tool call — from item.started or item.completed
|
|
129
|
+
if (event.item?.type === 'tool_call') {
|
|
130
|
+
return { tool: event.item.name };
|
|
131
|
+
}
|
|
132
|
+
// Turn completed — capture token usage
|
|
133
|
+
if (event.type === 'turn.completed' && event.usage) {
|
|
134
|
+
return {
|
|
135
|
+
tokenUsage: {
|
|
136
|
+
inputTokens: event.usage.input_tokens,
|
|
137
|
+
outputTokens: event.usage.output_tokens,
|
|
138
|
+
cachedInputTokens: event.usage.cached_input_tokens,
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// Not JSON — fallback to plain text if not empty
|
|
145
|
+
if (line.trim())
|
|
146
|
+
return { text: line };
|
|
147
|
+
}
|
|
148
|
+
return {};
|
|
149
|
+
}
|
|
101
150
|
/**
|
|
102
151
|
* Invoke Codex CLI with a prompt file using the invocation template
|
|
103
152
|
*/
|
|
104
|
-
invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity) {
|
|
153
|
+
invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity, resumeSessionId) {
|
|
154
|
+
// Set up isolated HOME
|
|
155
|
+
const isolatedHome = this.setupIsolatedHome('.codex', ['auth.json', 'config.yaml', 'state.json']);
|
|
105
156
|
return new Promise((resolve) => {
|
|
106
157
|
const startTime = Date.now();
|
|
107
158
|
let stdout = '';
|
|
108
159
|
let stderr = '';
|
|
109
160
|
let timedOut = false;
|
|
110
|
-
let
|
|
161
|
+
let stdoutLineBuffer = '';
|
|
162
|
+
let sessionId = resumeSessionId;
|
|
163
|
+
let tokenUsage;
|
|
111
164
|
let expectingToolCmd = false;
|
|
165
|
+
const isJson = this.getInvocationTemplate().includes('--json');
|
|
112
166
|
// Build command from invocation template
|
|
113
|
-
|
|
167
|
+
// Convert resumeSessionId to subcommand if present
|
|
168
|
+
const sessionIdSubcmd = resumeSessionId ? `resume ${resumeSessionId}` : '';
|
|
169
|
+
const command = this.buildCommand(promptFile, model, sessionIdSubcmd);
|
|
114
170
|
// Spawn using shell to handle the command template
|
|
115
171
|
const child = (0, node_child_process_1.spawn)(command, {
|
|
116
172
|
shell: true,
|
|
117
173
|
cwd,
|
|
118
|
-
env: this.getSanitizedCliEnv(
|
|
174
|
+
env: this.getSanitizedCliEnv({
|
|
175
|
+
HOME: isolatedHome,
|
|
176
|
+
}),
|
|
119
177
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
120
178
|
});
|
|
121
179
|
// Close stdin immediately to prevent CLI tools from hanging
|
|
@@ -145,39 +203,66 @@ class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
|
145
203
|
};
|
|
146
204
|
resetActivityTimer();
|
|
147
205
|
child.stdout?.on('data', (data) => {
|
|
148
|
-
const
|
|
149
|
-
if (stdout.length < MAX_BUFFER)
|
|
150
|
-
stdout += text;
|
|
206
|
+
const raw = data.toString();
|
|
151
207
|
resetActivityTimer();
|
|
152
|
-
if (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
208
|
+
if (!isJson) {
|
|
209
|
+
// Plain text mode (legacy or custom template)
|
|
210
|
+
if (stdout.length < MAX_BUFFER)
|
|
211
|
+
stdout += raw;
|
|
212
|
+
if (streamOutput)
|
|
213
|
+
process.stdout.write(raw);
|
|
214
|
+
if (!onActivity)
|
|
215
|
+
return;
|
|
216
|
+
// Best-effort parsing for Codex CLI tool execution markers
|
|
217
|
+
stdoutLineBuffer += raw;
|
|
218
|
+
while (true) {
|
|
219
|
+
const nl = stdoutLineBuffer.indexOf('\n');
|
|
220
|
+
if (nl === -1)
|
|
221
|
+
break;
|
|
222
|
+
const line = stdoutLineBuffer.slice(0, nl);
|
|
223
|
+
stdoutLineBuffer = stdoutLineBuffer.slice(nl + 1);
|
|
224
|
+
if (expectingToolCmd) {
|
|
225
|
+
const cmd = line.trim();
|
|
226
|
+
if (cmd)
|
|
227
|
+
onActivity({ type: 'tool', cmd });
|
|
228
|
+
expectingToolCmd = false;
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
if (line === 'exec') {
|
|
232
|
+
expectingToolCmd = true;
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
onActivity({ type: 'output', stream: 'stdout', msg: `${line}\n` });
|
|
236
|
+
}
|
|
156
237
|
return;
|
|
157
|
-
|
|
158
|
-
//
|
|
159
|
-
|
|
160
|
-
// <command>
|
|
161
|
-
// We interpret that as a tool event and otherwise forward text as output.
|
|
162
|
-
stdoutParseBuffer += text;
|
|
238
|
+
}
|
|
239
|
+
// JSONL mode: parse JSONL events
|
|
240
|
+
stdoutLineBuffer += raw;
|
|
163
241
|
while (true) {
|
|
164
|
-
const nl =
|
|
242
|
+
const nl = stdoutLineBuffer.indexOf('\n');
|
|
165
243
|
if (nl === -1)
|
|
166
244
|
break;
|
|
167
|
-
const line =
|
|
168
|
-
|
|
169
|
-
if (
|
|
170
|
-
const cmd = line.trim();
|
|
171
|
-
if (cmd)
|
|
172
|
-
onActivity({ type: 'tool', cmd });
|
|
173
|
-
expectingToolCmd = false;
|
|
245
|
+
const line = stdoutLineBuffer.slice(0, nl).trim();
|
|
246
|
+
stdoutLineBuffer = stdoutLineBuffer.slice(nl + 1);
|
|
247
|
+
if (!line)
|
|
174
248
|
continue;
|
|
249
|
+
const parsed = this.parseJsonlLine(line);
|
|
250
|
+
if (parsed.sessionId)
|
|
251
|
+
sessionId = parsed.sessionId;
|
|
252
|
+
if (parsed.tokenUsage)
|
|
253
|
+
tokenUsage = { ...tokenUsage, ...parsed.tokenUsage };
|
|
254
|
+
if (parsed.text) {
|
|
255
|
+
if (stdout.length < MAX_BUFFER)
|
|
256
|
+
stdout += parsed.text;
|
|
257
|
+
onActivity?.({ type: 'output', stream: 'stdout', msg: parsed.text });
|
|
258
|
+
if (streamOutput)
|
|
259
|
+
process.stdout.write(parsed.text);
|
|
175
260
|
}
|
|
176
|
-
if (
|
|
177
|
-
|
|
178
|
-
|
|
261
|
+
else if (parsed.tool) {
|
|
262
|
+
onActivity?.({ type: 'tool', cmd: parsed.tool });
|
|
263
|
+
if (streamOutput)
|
|
264
|
+
process.stdout.write(`[tool: ${parsed.tool}]\n`);
|
|
179
265
|
}
|
|
180
|
-
onActivity({ type: 'output', stream: 'stdout', msg: `${line}\n` });
|
|
181
266
|
}
|
|
182
267
|
});
|
|
183
268
|
child.stderr?.on('data', (data) => {
|
|
@@ -193,17 +278,24 @@ class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
|
193
278
|
child.on('close', (code) => {
|
|
194
279
|
clearTimeout(activityTimer);
|
|
195
280
|
const duration = Date.now() - startTime;
|
|
196
|
-
if (onActivity &&
|
|
281
|
+
if (onActivity && stdoutLineBuffer && !isJson) {
|
|
197
282
|
// Flush remaining unterminated line.
|
|
198
283
|
if (expectingToolCmd) {
|
|
199
|
-
const cmd =
|
|
284
|
+
const cmd = stdoutLineBuffer.trim();
|
|
200
285
|
if (cmd)
|
|
201
286
|
onActivity({ type: 'tool', cmd });
|
|
202
287
|
}
|
|
203
288
|
else {
|
|
204
|
-
onActivity({ type: 'output', stream: 'stdout', msg:
|
|
289
|
+
onActivity({ type: 'output', stream: 'stdout', msg: stdoutLineBuffer });
|
|
205
290
|
}
|
|
206
291
|
}
|
|
292
|
+
// Cleanup isolated home
|
|
293
|
+
try {
|
|
294
|
+
(0, node_fs_1.rmSync)(isolatedHome, { recursive: true, force: true });
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
// Ignore cleanup errors
|
|
298
|
+
}
|
|
207
299
|
resolve({
|
|
208
300
|
success: code === 0 && !timedOut,
|
|
209
301
|
exitCode: code ?? 1,
|
|
@@ -211,11 +303,20 @@ class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
|
211
303
|
stderr,
|
|
212
304
|
duration,
|
|
213
305
|
timedOut,
|
|
306
|
+
sessionId,
|
|
307
|
+
tokenUsage,
|
|
214
308
|
});
|
|
215
309
|
});
|
|
216
310
|
child.on('error', (error) => {
|
|
217
311
|
clearTimeout(activityTimer);
|
|
218
312
|
const duration = Date.now() - startTime;
|
|
313
|
+
// Cleanup isolated home
|
|
314
|
+
try {
|
|
315
|
+
(0, node_fs_1.rmSync)(isolatedHome, { recursive: true, force: true });
|
|
316
|
+
}
|
|
317
|
+
catch {
|
|
318
|
+
// Ignore cleanup errors
|
|
319
|
+
}
|
|
219
320
|
resolve({
|
|
220
321
|
success: false,
|
|
221
322
|
exitCode: 1,
|
|
@@ -223,6 +324,8 @@ class CodexProvider extends interface_js_1.BaseAIProvider {
|
|
|
223
324
|
stderr: error.message,
|
|
224
325
|
duration,
|
|
225
326
|
timedOut: false,
|
|
327
|
+
sessionId,
|
|
328
|
+
tokenUsage,
|
|
226
329
|
});
|
|
227
330
|
});
|
|
228
331
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4aH,kDAEC;AA5aD,2DAA2C;AAC3C,qCAAwE;AACxE,qCAAiC;AACjC,yCAAiC;AACjC,iDAMwB;AAExB;;GAEG;AACH,MAAM,YAAY,GAAgB;IAChC;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QACrC,iBAAiB,EAAE,IAAI;KACxB;IACD;QACE,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,CAAC,cAAc,CAAC;QAChC,iBAAiB,EAAE,IAAI;KACxB;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,CAAC,UAAU,CAAC;QAC5B,iBAAiB,EAAE,IAAI;KACxB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAsE;IACxF,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,eAAe;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAG,uIAAuI,CAAC;AAE5K;;GAEG;AACH,MAAa,aAAc,SAAQ,6BAAc;IACtC,IAAI,GAAG,OAAO,CAAC;IACf,WAAW,GAAG,gBAAgB,CAAC;IAExC;;OAEG;IACK,eAAe,CAAC,MAAc;QACpC,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpE,IAAA,uBAAa,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAY;QACpC,IAAI,CAAC;YACH,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,4BAA4B;QAC1B,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAsB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,0DAA0D;QAC1D,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACzD,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;QAE5C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAC9B,UAAU,EACV,OAAO,CAAC,KAAK,EACb,OAAO,EACP,GAAG,EACH,YAAY,EACZ,UAAU,EACV,OAAO,CAAC,eAAe,CACxB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAY;QAMjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE/B,mDAAmD;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvD,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACxC,CAAC;YAED,iEAAiE;YACjE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,CAAC;YAED,kDAAkD;YAClD,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,CAAC;YAED,uCAAuC;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACnD,OAAO;oBACL,UAAU,EAAE;wBACV,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;wBACrC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;wBACvC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,mBAAmB;qBACnD;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;YACjD,IAAI,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,UAAkB,EAClB,KAAa,EACb,OAAe,EACf,GAAW,EACX,YAAqB,EACrB,UAAwC,EACxC,eAAwB;QAExB,uBAAuB;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QAElG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IAAI,SAAS,GAAuB,eAAe,CAAC;YACpD,IAAI,UAAkC,CAAC;YACvC,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE/D,yCAAyC;YACzC,mDAAmD;YACnD,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YAEtE,mDAAmD;YACnD,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,OAAO,EAAE;gBAC3B,KAAK,EAAE,IAAI;gBACX,GAAG;gBACH,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC;oBAC3B,IAAI,EAAE,YAAY;iBACnB,CAAC;gBACF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,4DAA4D;YAC5D,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAEnB,uEAAuE;YACvE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,4BAA4B;YAC1D,IAAI,aAA4C,CAAC;YAEjD,MAAM,kBAAkB,GAAG,GAAG,EAAE;gBAC9B,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,QAAQ,GAAG,IAAI,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtB,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;4BAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACxB,CAAC;wBACD,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gCAC5B,OAAO,CAAC;oCACN,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM;oCAC3C,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI;iCACjD,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC,EAAE,IAAI,CAAC,CAAC;oBACX,CAAC,EAAE,IAAI,CAAC,CAAC;gBACX,CAAC,EAAE,OAAO,CAAC,CAAC;YACd,CAAC,CAAC;YACF,kBAAkB,EAAE,CAAC;YAErB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,kBAAkB,EAAE,CAAC;gBAErB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,8CAA8C;oBAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU;wBAAE,MAAM,IAAI,GAAG,CAAC;oBAC9C,IAAI,YAAY;wBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAE5C,IAAI,CAAC,UAAU;wBAAE,OAAO;oBAExB,2DAA2D;oBAC3D,gBAAgB,IAAI,GAAG,CAAC;oBACxB,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1C,IAAI,EAAE,KAAK,CAAC,CAAC;4BAAE,MAAM;wBACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC3C,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAElD,IAAI,gBAAgB,EAAE,CAAC;4BACrB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;4BACxB,IAAI,GAAG;gCAAE,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;4BAC3C,gBAAgB,GAAG,KAAK,CAAC;4BACzB,SAAS;wBACX,CAAC;wBAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;4BACpB,gBAAgB,GAAG,IAAI,CAAC;4BACxB,SAAS;wBACX,CAAC;wBAED,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;oBACrE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,iCAAiC;gBACjC,gBAAgB,IAAI,GAAG,CAAC;gBACxB,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,EAAE,KAAK,CAAC,CAAC;wBAAE,MAAM;oBACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClD,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAClD,IAAI,CAAC,IAAI;wBAAE,SAAS;oBAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAEzC,IAAI,MAAM,CAAC,SAAS;wBAAE,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;oBACnD,IAAI,MAAM,CAAC,UAAU;wBAAE,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;oBAE5E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU;4BAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC;wBACtD,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBACrE,IAAI,YAAY;4BAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtD,CAAC;yBAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBACvB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBACjD,IAAI,YAAY;4BAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU;oBAAE,MAAM,IAAI,IAAI,CAAC;gBAC/C,kBAAkB,EAAE,CAAC;gBACrB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAExC,IAAI,UAAU,IAAI,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC9C,qCAAqC;oBACrC,IAAI,gBAAgB,EAAE,CAAC;wBACrB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;wBACpC,IAAI,GAAG;4BAAE,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAED,wBAAwB;gBACxB,IAAI,CAAC;oBACH,IAAA,gBAAM,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;gBAED,OAAO,CAAC;oBACN,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ;oBAChC,QAAQ,EAAE,IAAI,IAAI,CAAC;oBACnB,MAAM;oBACN,MAAM;oBACN,QAAQ;oBACR,QAAQ;oBACR,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAExC,wBAAwB;gBACxB,IAAI,CAAC;oBACH,IAAA,gBAAM,EAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;gBAED,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,CAAC;oBACX,MAAM;oBACN,MAAM,EAAE,KAAK,CAAC,OAAO;oBACrB,QAAQ;oBACR,QAAQ,EAAE,KAAK;oBACf,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;YAEpC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE;gBAClC,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,0BAA0B;YAC1B,UAAU,CAAC,GAAG,EAAE;gBACd,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAA2C;QACzD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF;AAvWD,sCAuWC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { BaseAIProvider, type InvokeOptions, type InvokeResult, type ModelInfo }
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class GeminiProvider extends BaseAIProvider {
|
|
10
10
|
readonly name = "gemini";
|
|
11
|
-
readonly displayName = "Google
|
|
11
|
+
readonly displayName = "Google (gemini)";
|
|
12
12
|
/**
|
|
13
13
|
* Write prompt to a temporary file
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AA+CxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,qBAAqB;IAEzC;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,4BAA4B,IAAI,MAAM;IAItC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAgC3E;;OAEG;IACH;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4C3B,OAAO,CAAC,cAAc;IAoKtB;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiBrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;CAGrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|