steroids-cli 0.8.43 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/commands/ai.js +2 -2
  2. package/dist/commands/ai.js.map +1 -1
  3. package/dist/commands/config.js +80 -4
  4. package/dist/commands/config.js.map +1 -1
  5. package/dist/commands/health-stuck.d.ts.map +1 -1
  6. package/dist/commands/health-stuck.js +8 -2
  7. package/dist/commands/health-stuck.js.map +1 -1
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js +19 -1
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/loop-phases.d.ts +3 -3
  12. package/dist/commands/loop-phases.d.ts.map +1 -1
  13. package/dist/commands/loop-phases.js +203 -59
  14. package/dist/commands/loop-phases.js.map +1 -1
  15. package/dist/commands/loop.d.ts.map +1 -1
  16. package/dist/commands/loop.js +12 -1
  17. package/dist/commands/loop.js.map +1 -1
  18. package/dist/commands/tasks.d.ts.map +1 -1
  19. package/dist/commands/tasks.js +69 -2
  20. package/dist/commands/tasks.js.map +1 -1
  21. package/dist/config/ai-setup.d.ts +2 -1
  22. package/dist/config/ai-setup.d.ts.map +1 -1
  23. package/dist/config/ai-setup.js +234 -36
  24. package/dist/config/ai-setup.js.map +1 -1
  25. package/dist/config/loader.d.ts +21 -7
  26. package/dist/config/loader.d.ts.map +1 -1
  27. package/dist/config/loader.js +22 -2
  28. package/dist/config/loader.js.map +1 -1
  29. package/dist/config/schema.d.ts.map +1 -1
  30. package/dist/config/schema.js +41 -3
  31. package/dist/config/schema.js.map +1 -1
  32. package/dist/database/queries.d.ts +37 -0
  33. package/dist/database/queries.d.ts.map +1 -1
  34. package/dist/database/queries.js +94 -2
  35. package/dist/database/queries.js.map +1 -1
  36. package/dist/database/schema.d.ts +2 -2
  37. package/dist/database/schema.d.ts.map +1 -1
  38. package/dist/database/schema.js +21 -0
  39. package/dist/database/schema.js.map +1 -1
  40. package/dist/health/stuck-task-detector.d.ts +2 -0
  41. package/dist/health/stuck-task-detector.d.ts.map +1 -1
  42. package/dist/health/stuck-task-detector.js +39 -18
  43. package/dist/health/stuck-task-detector.js.map +1 -1
  44. package/dist/orchestrator/coder.d.ts.map +1 -1
  45. package/dist/orchestrator/coder.js +23 -6
  46. package/dist/orchestrator/coder.js.map +1 -1
  47. package/dist/orchestrator/coordinator.js +1 -1
  48. package/dist/orchestrator/coordinator.js.map +1 -1
  49. package/dist/orchestrator/invoke.d.ts +5 -1
  50. package/dist/orchestrator/invoke.d.ts.map +1 -1
  51. package/dist/orchestrator/invoke.js +9 -1
  52. package/dist/orchestrator/invoke.js.map +1 -1
  53. package/dist/orchestrator/post-reviewer.d.ts +5 -1
  54. package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
  55. package/dist/orchestrator/post-reviewer.js +100 -1
  56. package/dist/orchestrator/post-reviewer.js.map +1 -1
  57. package/dist/orchestrator/reviewer.d.ts +30 -2
  58. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  59. package/dist/orchestrator/reviewer.js +121 -17
  60. package/dist/orchestrator/reviewer.js.map +1 -1
  61. package/dist/orchestrator/task-selector.d.ts.map +1 -1
  62. package/dist/orchestrator/task-selector.js +5 -1
  63. package/dist/orchestrator/task-selector.js.map +1 -1
  64. package/dist/orchestrator/types.d.ts +27 -0
  65. package/dist/orchestrator/types.d.ts.map +1 -1
  66. package/dist/parallel/merge-conflict-invoke.js +1 -1
  67. package/dist/parallel/merge-conflict-invoke.js.map +1 -1
  68. package/dist/prompts/coder.d.ts +4 -0
  69. package/dist/prompts/coder.d.ts.map +1 -1
  70. package/dist/prompts/coder.js +41 -0
  71. package/dist/prompts/coder.js.map +1 -1
  72. package/dist/prompts/reviewer.d.ts +4 -0
  73. package/dist/prompts/reviewer.d.ts.map +1 -1
  74. package/dist/prompts/reviewer.js +65 -0
  75. package/dist/prompts/reviewer.js.map +1 -1
  76. package/dist/providers/api-models.d.ts +14 -6
  77. package/dist/providers/api-models.d.ts.map +1 -1
  78. package/dist/providers/api-models.js +86 -5
  79. package/dist/providers/api-models.js.map +1 -1
  80. package/dist/providers/claude.d.ts +2 -2
  81. package/dist/providers/claude.d.ts.map +1 -1
  82. package/dist/providers/claude.js +58 -13
  83. package/dist/providers/claude.js.map +1 -1
  84. package/dist/providers/codex.d.ts +5 -1
  85. package/dist/providers/codex.d.ts.map +1 -1
  86. package/dist/providers/codex.js +143 -40
  87. package/dist/providers/codex.js.map +1 -1
  88. package/dist/providers/gemini.d.ts +1 -1
  89. package/dist/providers/gemini.d.ts.map +1 -1
  90. package/dist/providers/gemini.js +53 -9
  91. package/dist/providers/gemini.js.map +1 -1
  92. package/dist/providers/interface.d.ts +62 -1
  93. package/dist/providers/interface.d.ts.map +1 -1
  94. package/dist/providers/interface.js +105 -12
  95. package/dist/providers/interface.js.map +1 -1
  96. package/dist/providers/invocation-logger.d.ts +3 -0
  97. package/dist/providers/invocation-logger.d.ts.map +1 -1
  98. package/dist/providers/invocation-logger.js +22 -8
  99. package/dist/providers/invocation-logger.js.map +1 -1
  100. package/dist/providers/minimax.d.ts +50 -0
  101. package/dist/providers/minimax.d.ts.map +1 -0
  102. package/dist/providers/minimax.js +248 -0
  103. package/dist/providers/minimax.js.map +1 -0
  104. package/dist/providers/mistral.d.ts +7 -1
  105. package/dist/providers/mistral.d.ts.map +1 -1
  106. package/dist/providers/mistral.js +74 -5
  107. package/dist/providers/mistral.js.map +1 -1
  108. package/dist/providers/ollama.d.ts +50 -0
  109. package/dist/providers/ollama.d.ts.map +1 -0
  110. package/dist/providers/ollama.js +259 -0
  111. package/dist/providers/ollama.js.map +1 -0
  112. package/dist/providers/openai.d.ts +1 -1
  113. package/dist/providers/openai.d.ts.map +1 -1
  114. package/dist/providers/openai.js +1 -1
  115. package/dist/providers/openai.js.map +1 -1
  116. package/dist/providers/registry.d.ts +2 -2
  117. package/dist/providers/registry.d.ts.map +1 -1
  118. package/dist/providers/registry.js +28 -14
  119. package/dist/providers/registry.js.map +1 -1
  120. package/dist/runners/credit-pause.d.ts +1 -1
  121. package/dist/runners/credit-pause.d.ts.map +1 -1
  122. package/dist/runners/credit-pause.js +2 -2
  123. package/dist/runners/credit-pause.js.map +1 -1
  124. package/dist/runners/orchestrator-loop.js +2 -2
  125. package/dist/runners/orchestrator-loop.js.map +1 -1
  126. package/migrations/014_add_session_context.sql +17 -0
  127. package/migrations/015_add_follow_up_fields.sql +26 -0
  128. package/migrations/016_add_invocation_activity_timestamp.sql +8 -0
  129. package/migrations/manifest.json +25 -1
  130. package/package.json +1 -1
@@ -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: undefined,
30
- coder: undefined,
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 (Codex)';
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 stdoutParseBuffer = '';
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
- const command = this.buildCommand(promptFile, model);
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 text = data.toString();
149
- if (stdout.length < MAX_BUFFER)
150
- stdout += text;
206
+ const raw = data.toString();
151
207
  resetActivityTimer();
152
- if (streamOutput) {
153
- process.stdout.write(text);
154
- }
155
- if (!onActivity)
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
- // Best-effort parsing for Codex CLI tool execution markers:
158
- // Some versions emit lines like:
159
- // exec
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 = stdoutParseBuffer.indexOf('\n');
242
+ const nl = stdoutLineBuffer.indexOf('\n');
165
243
  if (nl === -1)
166
244
  break;
167
- const line = stdoutParseBuffer.slice(0, nl);
168
- stdoutParseBuffer = stdoutParseBuffer.slice(nl + 1);
169
- if (expectingToolCmd) {
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 (line === 'exec') {
177
- expectingToolCmd = true;
178
- continue;
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 && stdoutParseBuffer) {
281
+ if (onActivity && stdoutLineBuffer && !isJson) {
197
282
  // Flush remaining unterminated line.
198
283
  if (expectingToolCmd) {
199
- const cmd = stdoutParseBuffer.trim();
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: stdoutParseBuffer });
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":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.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 GeminiProvider extends BaseAIProvider {
10
10
  readonly name = "gemini";
11
- readonly displayName = "Google Gemini";
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,EACf,MAAM,gBAAgB,CAAC;AA8CxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,mBAAmB;IAEvC;;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;IAwB3E;;OAEG;IACH;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,cAAc;IAmItB;;;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"}
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"}
@@ -48,15 +48,16 @@ const DEFAULT_MODELS = {
48
48
  const DEFAULT_TIMEOUT = 900_000;
49
49
  /**
50
50
  * Default invocation template for Gemini CLI
51
- * Uses -p flag for non-interactive mode with stream-json for realtime output
51
+ * Uses --prompt flag for non-interactive mode with stream-json for realtime output
52
+ * --output-format=stream-json is more stable than space-separated flags
52
53
  */
53
- const DEFAULT_INVOCATION_TEMPLATE = '{cli} -p "$(cat {prompt_file})" -m {model} --output-format stream-json';
54
+ const DEFAULT_INVOCATION_TEMPLATE = '{cli} --output-format=stream-json -m {model} {session_id} --prompt "$(cat {prompt_file})"';
54
55
  /**
55
56
  * Gemini AI Provider implementation
56
57
  */
57
58
  class GeminiProvider extends interface_js_1.BaseAIProvider {
58
59
  name = 'gemini';
59
- displayName = 'Google Gemini';
60
+ displayName = 'Google (gemini)';
60
61
  /**
61
62
  * Write prompt to a temporary file
62
63
  */
@@ -100,7 +101,7 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
100
101
  const promptFile = options.promptFile ?? this.writePromptFile(prompt);
101
102
  const createdTempFile = !options.promptFile;
102
103
  try {
103
- return await this.invokeWithFile(promptFile, options.model, timeout, cwd, streamOutput, onActivity);
104
+ return await this.invokeWithFile(promptFile, options.model, timeout, cwd, streamOutput, onActivity, options.resumeSessionId);
104
105
  }
105
106
  finally {
106
107
  if (createdTempFile) {
@@ -117,6 +118,10 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
117
118
  parseStreamJsonLine(line) {
118
119
  try {
119
120
  const event = JSON.parse(line);
121
+ // Session ID is in the 'init' event
122
+ if (event.type === 'init' && event.session_id) {
123
+ return { sessionId: event.session_id };
124
+ }
120
125
  // Assistant message with delta text
121
126
  if (event.type === 'message' && event.role === 'assistant' && event.content) {
122
127
  return { text: event.content };
@@ -125,9 +130,17 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
125
130
  if (event.type === 'tool_call' || event.type === 'function_call') {
126
131
  return { tool: event.name || event.function?.name || 'tool' };
127
132
  }
128
- // Final result
133
+ // Final result includes token usage stats
129
134
  if (event.type === 'result') {
130
- return { result: event.content || '' };
135
+ const usage = event.stats ? {
136
+ inputTokens: event.stats.input_tokens,
137
+ outputTokens: event.stats.output_tokens,
138
+ cachedInputTokens: event.stats.cached,
139
+ } : undefined;
140
+ return {
141
+ result: event.content || '',
142
+ tokenUsage: usage,
143
+ };
131
144
  }
132
145
  }
133
146
  catch {
@@ -136,21 +149,30 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
136
149
  }
137
150
  return {};
138
151
  }
139
- invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity) {
152
+ invokeWithFile(promptFile, model, timeout, cwd, streamOutput, onActivity, resumeSessionId) {
153
+ // Set up isolated HOME
154
+ const isolatedHome = this.setupIsolatedHome('.gemini', ['config.json']);
155
+ // Also isolate gcloud config if present in the same isolated home
156
+ this.setupIsolatedHome('.config/gcloud', ['active_config', 'credentials.db', 'configurations/config_default'], isolatedHome);
140
157
  return new Promise((resolve) => {
141
158
  const startTime = Date.now();
142
159
  let stdout = '';
143
160
  let stderr = '';
144
161
  let timedOut = false;
145
162
  let stdoutLineBuffer = '';
163
+ let sessionId = resumeSessionId;
164
+ let tokenUsage;
146
165
  const isStreamJson = this.getInvocationTemplate().includes('stream-json');
147
166
  // Build command from invocation template
148
- const command = this.buildCommand(promptFile, model);
167
+ const sessionIdFlag = resumeSessionId ? `--resume ${resumeSessionId}` : '';
168
+ const command = this.buildCommand(promptFile, model, sessionIdFlag);
149
169
  // Spawn using shell to handle the command template
150
170
  const child = (0, node_child_process_1.spawn)(command, {
151
171
  shell: true,
152
172
  cwd,
153
- env: this.getSanitizedCliEnv(),
173
+ env: this.getSanitizedCliEnv({
174
+ HOME: isolatedHome,
175
+ }),
154
176
  stdio: ['pipe', 'pipe', 'pipe'],
155
177
  });
156
178
  // Close stdin immediately to prevent CLI tools from hanging
@@ -201,6 +223,10 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
201
223
  if (!line)
202
224
  continue;
203
225
  const parsed = this.parseStreamJsonLine(line);
226
+ if (parsed.sessionId)
227
+ sessionId = parsed.sessionId;
228
+ if (parsed.tokenUsage)
229
+ tokenUsage = parsed.tokenUsage;
204
230
  if (parsed.result !== undefined) {
205
231
  if (parsed.result)
206
232
  stdout = parsed.result;
@@ -232,6 +258,13 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
232
258
  child.on('close', (code) => {
233
259
  clearTimeout(activityTimer);
234
260
  const duration = Date.now() - startTime;
261
+ // Cleanup isolated home
262
+ try {
263
+ (0, node_fs_1.rmSync)(isolatedHome, { recursive: true, force: true });
264
+ }
265
+ catch {
266
+ // Ignore cleanup errors
267
+ }
235
268
  resolve({
236
269
  success: code === 0 && !timedOut,
237
270
  exitCode: code ?? 1,
@@ -239,11 +272,20 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
239
272
  stderr,
240
273
  duration,
241
274
  timedOut,
275
+ sessionId,
276
+ tokenUsage,
242
277
  });
243
278
  });
244
279
  child.on('error', (error) => {
245
280
  clearTimeout(activityTimer);
246
281
  const duration = Date.now() - startTime;
282
+ // Cleanup isolated home
283
+ try {
284
+ (0, node_fs_1.rmSync)(isolatedHome, { recursive: true, force: true });
285
+ }
286
+ catch {
287
+ // Ignore cleanup errors
288
+ }
247
289
  resolve({
248
290
  success: false,
249
291
  exitCode: 1,
@@ -251,6 +293,8 @@ class GeminiProvider extends interface_js_1.BaseAIProvider {
251
293
  stderr: error.message,
252
294
  duration,
253
295
  timedOut: false,
296
+ sessionId,
297
+ tokenUsage,
254
298
  });
255
299
  });
256
300
  });
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export interface InvokeOptions {
25
25
  * Providers should emit lightweight JSON-serializable events as work progresses.
26
26
  */
27
27
  onActivity?: (activity: InvocationActivity) => void;
28
+ /** Resume a previous session instead of starting fresh */
29
+ resumeSessionId?: string;
28
30
  }
29
31
  /**
30
32
  * Activity entry emitted during a provider invocation.
@@ -33,6 +35,23 @@ export interface InvokeOptions {
33
35
  export type InvocationActivity = Record<string, unknown> & {
34
36
  type: string;
35
37
  };
38
+ /**
39
+ * Token usage information
40
+ */
41
+ export interface TokenUsage {
42
+ /** Total input tokens */
43
+ inputTokens: number;
44
+ /** Total output tokens */
45
+ outputTokens: number;
46
+ /** Subset served from server-side cache (Codex, Gemini) */
47
+ cachedInputTokens?: number;
48
+ /** Tokens served from cache (Claude) */
49
+ cacheReadTokens?: number;
50
+ /** Tokens written to cache (Claude) */
51
+ cacheCreationTokens?: number;
52
+ /** Total cost for the invocation (Claude, Vibe) */
53
+ totalCostUsd?: number;
54
+ }
36
55
  /**
37
56
  * Result of an AI provider invocation
38
57
  */
@@ -49,6 +68,10 @@ export interface InvokeResult {
49
68
  duration: number;
50
69
  /** Whether the process was killed due to timeout */
51
70
  timedOut: boolean;
71
+ /** Session ID from the provider CLI (if available) */
72
+ sessionId?: string;
73
+ /** Token usage statistics (if available) */
74
+ tokenUsage?: TokenUsage;
52
75
  }
53
76
  /**
54
77
  * Error types that can be classified from provider output
@@ -96,6 +119,19 @@ export interface IAIProvider {
96
119
  * @returns Promise resolving to the invocation result
97
120
  */
98
121
  invoke(prompt: string, options: InvokeOptions): Promise<InvokeResult>;
122
+ /**
123
+ * Resume a previous session with a new prompt
124
+ * @param sessionId The ID of the session to resume
125
+ * @param prompt The prompt text to send
126
+ * @param options Invocation options
127
+ * @returns Promise resolving to the invocation result
128
+ */
129
+ resume(sessionId: string, prompt: string, options: InvokeOptions): Promise<InvokeResult>;
130
+ /**
131
+ * Initialize the provider (e.g., fetch dynamic models)
132
+ * @returns Promise resolving when initialization is complete
133
+ */
134
+ initialize?(): Promise<void>;
99
135
  /**
100
136
  * Check if this provider is available (CLI installed and accessible)
101
137
  * @returns Promise resolving to true if available
@@ -167,6 +203,15 @@ export declare abstract class BaseAIProvider implements IAIProvider {
167
203
  protected invocationTemplate: string | undefined;
168
204
  abstract invoke(prompt: string, options: InvokeOptions): Promise<InvokeResult>;
169
205
  abstract isAvailable(): Promise<boolean>;
206
+ /**
207
+ * Initialize the provider (e.g., fetch dynamic models).
208
+ * Default implementation does nothing.
209
+ */
210
+ initialize(): Promise<void>;
211
+ /**
212
+ * Default implementation of resume calls invoke with resumeSessionId in options
213
+ */
214
+ resume(sessionId: string, prompt: string, options: InvokeOptions): Promise<InvokeResult>;
170
215
  abstract listModels(): string[];
171
216
  abstract getModelInfo(): ModelInfo[];
172
217
  abstract getDefaultModel(role: 'orchestrator' | 'coder' | 'reviewer'): string | undefined;
@@ -192,12 +237,28 @@ export declare abstract class BaseAIProvider implements IAIProvider {
192
237
  * Build the command from the invocation template
193
238
  * @param promptFile Path to the prompt file
194
239
  * @param model Model identifier
240
+ * @param sessionId Optional session ID for resumption
195
241
  * @returns Command string ready for execution
196
242
  */
197
- protected buildCommand(promptFile: string, model: string): string;
243
+ protected buildCommand(promptFile: string, model: string, sessionId?: string): string;
198
244
  /**
199
245
  * Build child process env for provider CLI invocation.
246
+ *
247
+ * Strips known provider API-key env vars so the spawned CLI
248
+ * falls back to its own OAuth / login credentials instead of
249
+ * accidentally using Steroids' internal keys (e.g.
250
+ * STEROIDS_ANTHROPIC_API_KEY leaking as ANTHROPIC_API_KEY).
200
251
  */
201
252
  protected getSanitizedCliEnv(overrides?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
253
+ /**
254
+ * Set up an isolated temporary home directory for a provider CLI.
255
+ * Copies/symlinks essential auth files from the real home to the isolated one.
256
+ *
257
+ * @param providerDir The provider-specific config directory (e.g. '.claude', '.gemini')
258
+ * @param authFiles Array of critical auth/config filenames to preserve (e.g. ['config.json', 'state.json'])
259
+ * @param baseDir Optional pre-existing isolated home directory to use
260
+ * @returns Path to the isolated home directory
261
+ */
262
+ protected setupIsolatedHome(providerDir: string, authFiles: string[], baseDir?: string): string;
202
263
  }
203
264
  //# sourceMappingURL=interface.d.ts.map