@agentteams/runner 0.0.83 → 0.0.84-dev.200

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.
@@ -1,7 +1,6 @@
1
1
  import { OpenCodeRunner } from "./opencode.js";
2
2
  import { ClaudeCodeRunner } from "./claude-code.js";
3
3
  import { CodexRunner } from "./codex.js";
4
- import { GeminiRunner } from "./gemini.js";
5
4
  import { AmpCodeRunner } from "./amp.js";
6
5
  import { AntigravityRunner } from "./antigravity.js";
7
6
  export const createRunnerFactory = (runnerCmd) => {
@@ -13,8 +12,6 @@ export const createRunnerFactory = (runnerCmd) => {
13
12
  return new ClaudeCodeRunner();
14
13
  case "CODEX":
15
14
  return new CodexRunner();
16
- case "GEMINI":
17
- return new GeminiRunner();
18
15
  case "ANTIGRAVITY":
19
16
  return new AntigravityRunner();
20
17
  case "AMP":
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runners/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACvD,OAAO,CAAC,UAAkB,EAAU,EAAE;QACpC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,UAAU;gBACb,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;YACvC,KAAK,aAAa;gBAChB,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,KAAK,OAAO;gBACV,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,KAAK,QAAQ;gBACX,OAAO,IAAI,YAAY,EAAE,CAAC;YAC5B,KAAK,aAAa;gBAChB,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACjC,KAAK,KAAK;gBACR,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runners/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACvD,OAAO,CAAC,UAAkB,EAAU,EAAE;QACpC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,UAAU;gBACb,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;YACvC,KAAK,aAAa;gBAChB,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,KAAK,OAAO;gBACV,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,KAAK,aAAa;gBAChB,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACjC,KAAK,KAAK;gBACR,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -2,7 +2,6 @@ import assert from "node:assert/strict";
2
2
  import test from "node:test";
3
3
  import { ClaudeCodeRunner } from "./claude-code.js";
4
4
  import { CodexRunner } from "./codex.js";
5
- import { GeminiRunner } from "./gemini.js";
6
5
  import { createRunnerFactory } from "./index.js";
7
6
  import { OpenCodeRunner } from "./opencode.js";
8
7
  import { AntigravityRunner } from "./antigravity.js";
@@ -11,7 +10,6 @@ test("createRunnerFactory returns the expected runner implementations", () => {
11
10
  assert.equal(createRunner("OPENCODE") instanceof OpenCodeRunner, true);
12
11
  assert.equal(createRunner("CLAUDE_CODE") instanceof ClaudeCodeRunner, true);
13
12
  assert.equal(createRunner("CODEX") instanceof CodexRunner, true);
14
- assert.equal(createRunner("GEMINI") instanceof GeminiRunner, true);
15
13
  assert.equal(createRunner("ANTIGRAVITY") instanceof AntigravityRunner, true);
16
14
  });
17
15
  test("createRunnerFactory throws for unsupported runner types", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/runners/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE5D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,WAAW,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,YAAY,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,kCAAkC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/runners/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE5D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,WAAW,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,kCAAkC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/runner",
3
- "version": "0.0.83",
3
+ "version": "0.0.84-dev.200",
4
4
  "description": "AgentRunner - Background runner that polls and executes AI agent tasks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,7 +0,0 @@
1
- import type { Runner, RunnerOptions, RunResult } from "./types.js";
2
- export declare const GEMINI_SUNSET_NOTICE = "Gemini CLI ends requests for personal Google AI Pro/Ultra and free Gemini Code Assist for individuals on 2026-06-18. Paid Code Assist Standard/Enterprise and Gemini API key users keep access. See https://developers.googleblog.com/en/an-important-update-transitioning-gemini-cli-to-antigravity-cli/";
3
- export declare const annotateGeminiSunsetError: (baseMessage: string | undefined) => string | undefined;
4
- export declare const buildGeminiExecArgs: (prompt: string, model?: string | null) => string[];
5
- export declare class GeminiRunner implements Runner {
6
- run(opts: RunnerOptions): Promise<RunResult>;
7
- }
@@ -1,309 +0,0 @@
1
- import { createWriteStream } from "node:fs";
2
- import { spawn } from "node:child_process";
3
- import { mkdir } from "node:fs/promises";
4
- import { platform } from "node:os";
5
- import { dirname, join } from "node:path";
6
- import { describeExecutableResolution, resolveExecutablePathWithPreference, spawnExecutable } from "../executable.js";
7
- import { logger } from "../logger.js";
8
- import { setupCloseWatchdog, terminateRunnerChild } from "./process-control.js";
9
- const PROMPT_PREVIEW_MAX = 500;
10
- const OUTPUT_PREVIEW_MAX = 400;
11
- const OUTPUT_CAPTURE_MAX = 200_000;
12
- export const GEMINI_SUNSET_NOTICE = "Gemini CLI ends requests for personal Google AI Pro/Ultra and free Gemini Code Assist for individuals on 2026-06-18. Paid Code Assist Standard/Enterprise and Gemini API key users keep access. See https://developers.googleblog.com/en/an-important-update-transitioning-gemini-cli-to-antigravity-cli/";
13
- const GEMINI_SUNSET_ERROR_HINTS = [
14
- /quota/i,
15
- /rate.?limit/i,
16
- /\b401\b/,
17
- /\b403\b/,
18
- /unauthori[sz]ed/i,
19
- /forbidden/i,
20
- /authentication/i,
21
- /sign\s?in/i,
22
- /not\s+entitled/i,
23
- /not\s+enabled/i,
24
- /access\s+denied/i,
25
- /no\s+longer\s+available/i,
26
- /discontinued/i,
27
- /personal\s+account/i,
28
- /free\s+tier/i,
29
- /code\s+assist/i,
30
- /requests?\s+(?:are\s+)?disabled/i
31
- ];
32
- export const annotateGeminiSunsetError = (baseMessage) => {
33
- if (!baseMessage) {
34
- return baseMessage;
35
- }
36
- if (baseMessage.includes("2026-06-18")) {
37
- return baseMessage;
38
- }
39
- const matches = GEMINI_SUNSET_ERROR_HINTS.some((pattern) => pattern.test(baseMessage));
40
- if (!matches) {
41
- return baseMessage;
42
- }
43
- return `${baseMessage}\n\n${GEMINI_SUNSET_NOTICE}`;
44
- };
45
- export const buildGeminiExecArgs = (prompt, model) => {
46
- const modelArgs = model ? ["--model", model] : [];
47
- return ["-y", "--sandbox=false", "--include-directories", ".agentteams", "-p", prompt, ...modelArgs];
48
- };
49
- const toPowerShellEncodedCommand = (resolvedExecutablePath, prompt, model) => {
50
- const modelSegment = model ? ` '--model' '${model.replaceAll("'", "''")}'` : "";
51
- const scriptContent = [
52
- "$ErrorActionPreference = 'Stop'",
53
- "$utf8NoBom = [System.Text.UTF8Encoding]::new($false)",
54
- "[Console]::InputEncoding = $utf8NoBom",
55
- "[Console]::OutputEncoding = $utf8NoBom",
56
- "$OutputEncoding = $utf8NoBom",
57
- "chcp 65001 > $null",
58
- `$promptText = @'`,
59
- `${prompt.replaceAll("'@", "'@")}`,
60
- `'@`,
61
- `& '${resolvedExecutablePath.replaceAll("'", "''")}' '-y' '--sandbox=false' '--include-directories' '.agentteams' '--prompt' $promptText${modelSegment}`
62
- ].join("\r\n");
63
- return Buffer.from(scriptContent, "utf16le").toString("base64");
64
- };
65
- const toPromptPreview = (prompt) => {
66
- if (prompt.length <= PROMPT_PREVIEW_MAX) {
67
- return prompt;
68
- }
69
- return `${prompt.slice(0, PROMPT_PREVIEW_MAX)}...`;
70
- };
71
- const toOutputPreview = (chunk) => {
72
- const text = (typeof chunk === "string" ? chunk : String(chunk)).trim();
73
- if (text.length <= OUTPUT_PREVIEW_MAX) {
74
- return text;
75
- }
76
- return `${text.slice(0, OUTPUT_PREVIEW_MAX)}...`;
77
- };
78
- export class GeminiRunner {
79
- async run(opts) {
80
- if (!opts.authPath || opts.authPath.trim().length === 0) {
81
- logger.error("authPath is missing for trigger");
82
- return {
83
- exitCode: 1,
84
- errorMessage: "authPath is missing for trigger"
85
- };
86
- }
87
- const cwd = opts.authPath;
88
- const logPath = join(cwd, ".agentteams", "runner", "log", `${opts.triggerId}.log`);
89
- await mkdir(dirname(logPath), { recursive: true });
90
- const isWindows = platform() === "win32";
91
- const resolvedExecutablePath = isWindows
92
- ? resolveExecutablePathWithPreference("gemini", ["gemini.cmd", "gemini"])
93
- : resolveExecutablePathWithPreference("gemini", ["gemini"]);
94
- const windowsEncodedCommand = isWindows
95
- ? toPowerShellEncodedCommand(resolvedExecutablePath, opts.prompt, opts.model)
96
- : null;
97
- const executableInfo = describeExecutableResolution("gemini", {
98
- platform: () => (isWindows ? "win32" : platform())
99
- });
100
- const geminiArgs = buildGeminiExecArgs(opts.prompt, opts.model);
101
- logger.info("Runner prompt", {
102
- triggerId: opts.triggerId,
103
- promptLength: opts.prompt.length,
104
- promptPreview: toPromptPreview(opts.prompt),
105
- requestedCommand: executableInfo.requestedCommand,
106
- resolvedExecutablePath,
107
- platform: executableInfo.platform,
108
- shell: executableInfo.shell,
109
- detached: isWindows ? false : true,
110
- windowsWrapper: isWindows ? "powershell.exe -EncodedCommand" : null
111
- });
112
- const child = isWindows
113
- ? spawn("powershell.exe", [
114
- "-NoLogo",
115
- "-NonInteractive",
116
- "-ExecutionPolicy",
117
- "Bypass",
118
- "-EncodedCommand",
119
- windowsEncodedCommand ?? ""
120
- ], {
121
- cwd,
122
- detached: false,
123
- shell: false,
124
- windowsHide: true,
125
- stdio: ["ignore", "pipe", "pipe"],
126
- env: {
127
- ...process.env,
128
- AGENTTEAMS_API_KEY: opts.apiKey,
129
- AGENTTEAMS_API_URL: opts.apiUrl,
130
- AGENTTEAMS_TEAM_ID: opts.teamId,
131
- AGENTTEAMS_PROJECT_ID: opts.projectId,
132
- AGENTTEAMS_AGENT_NAME: opts.agentConfigId
133
- }
134
- })
135
- : spawnExecutable("gemini", geminiArgs, {
136
- cwd,
137
- detached: true,
138
- stdio: ["ignore", "pipe", "pipe"],
139
- env: {
140
- ...process.env,
141
- AGENTTEAMS_API_KEY: opts.apiKey,
142
- AGENTTEAMS_API_URL: opts.apiUrl,
143
- AGENTTEAMS_TEAM_ID: opts.teamId,
144
- AGENTTEAMS_PROJECT_ID: opts.projectId,
145
- AGENTTEAMS_AGENT_NAME: opts.agentConfigId
146
- }
147
- });
148
- const logStream = createWriteStream(logPath, { flags: "a" });
149
- logStream.on("error", (err) => {
150
- logger.warn("Runner log stream error", { triggerId: opts.triggerId, error: err.message });
151
- });
152
- child.stdout?.pipe(logStream);
153
- child.stderr?.pipe(logStream);
154
- let lastOutput = "";
155
- let lastErrorOutput = "";
156
- let outputText = "";
157
- const appendOutputText = (chunk) => {
158
- if (outputText.length >= OUTPUT_CAPTURE_MAX) {
159
- return;
160
- }
161
- outputText += chunk.slice(0, OUTPUT_CAPTURE_MAX - outputText.length);
162
- };
163
- const idleTimer = { reset: () => { } };
164
- child.stdout?.on("data", (chunk) => {
165
- const rawOutput = Buffer.isBuffer(chunk) ? chunk.toString("utf8") : String(chunk);
166
- appendOutputText(rawOutput);
167
- const output = toOutputPreview(rawOutput);
168
- if (output.length > 0) {
169
- lastOutput = output;
170
- idleTimer.reset();
171
- opts.onStdoutChunk?.(output);
172
- logger.info("Runner stdout", {
173
- triggerId: opts.triggerId,
174
- pid: child.pid,
175
- output
176
- });
177
- }
178
- });
179
- child.stderr?.on("data", (chunk) => {
180
- const output = toOutputPreview(Buffer.isBuffer(chunk) ? chunk.toString("utf8") : chunk);
181
- if (output.length > 0) {
182
- lastOutput = output;
183
- lastErrorOutput = output;
184
- idleTimer.reset();
185
- opts.onStderrChunk?.(output);
186
- logger.warn("Runner stderr", {
187
- triggerId: opts.triggerId,
188
- pid: child.pid,
189
- output
190
- });
191
- }
192
- });
193
- logger.info("Runner started", {
194
- triggerId: opts.triggerId,
195
- cwd,
196
- logPath,
197
- pid: child.pid
198
- });
199
- return await new Promise((resolve) => {
200
- let finished = false;
201
- let timedOut = false;
202
- let idleTimedOut = false;
203
- let cancelled = false;
204
- let idleTimeoutId = null;
205
- const startIdleTimeout = () => {
206
- if (idleTimeoutId) {
207
- clearTimeout(idleTimeoutId);
208
- }
209
- idleTimeoutId = setTimeout(() => {
210
- idleTimedOut = true;
211
- timedOut = true;
212
- logger.warn("Runner idle timeout reached; no output for configured idle period", {
213
- triggerId: opts.triggerId,
214
- idleTimeoutMs: opts.idleTimeoutMs
215
- });
216
- terminateRunnerChild(child, isWindows, opts.triggerId, "timeout");
217
- }, opts.idleTimeoutMs);
218
- };
219
- idleTimer.reset = () => {
220
- startIdleTimeout();
221
- };
222
- startIdleTimeout();
223
- const cleanup = () => {
224
- if (finished) {
225
- return;
226
- }
227
- finished = true;
228
- if (idleTimeoutId) {
229
- clearTimeout(idleTimeoutId);
230
- }
231
- idleTimer.reset = () => { };
232
- logStream.end();
233
- if (opts.signal) {
234
- opts.signal.removeEventListener("abort", handleAbort);
235
- }
236
- };
237
- const handleAbort = () => {
238
- cancelled = true;
239
- terminateRunnerChild(child, isWindows, opts.triggerId, "cancel");
240
- };
241
- const timeoutId = setTimeout(() => {
242
- timedOut = true;
243
- terminateRunnerChild(child, isWindows, opts.triggerId, "timeout");
244
- }, opts.timeoutMs);
245
- if (opts.signal?.aborted) {
246
- handleAbort();
247
- }
248
- else if (opts.signal) {
249
- opts.signal.addEventListener("abort", handleAbort, { once: true });
250
- }
251
- child.on("error", (error) => {
252
- clearTimeout(timeoutId);
253
- cleanup();
254
- logger.error("Runner process launch failed", {
255
- triggerId: opts.triggerId,
256
- error: error.message
257
- });
258
- resolve({
259
- exitCode: 1,
260
- lastOutput,
261
- outputText: outputText.trim() || undefined,
262
- errorMessage: annotateGeminiSunsetError(error.message)
263
- });
264
- });
265
- const closeWatchdog = setupCloseWatchdog(child, opts.triggerId);
266
- child.on("close", (code) => {
267
- closeWatchdog.cancel();
268
- clearTimeout(timeoutId);
269
- cleanup();
270
- logger.info("Runner process closed", {
271
- triggerId: opts.triggerId,
272
- pid: child.pid,
273
- exitCode: code,
274
- timedOut
275
- });
276
- if (timedOut) {
277
- resolve({
278
- exitCode: 1,
279
- lastOutput,
280
- outputText: outputText.trim() || undefined,
281
- errorMessage: idleTimedOut
282
- ? `Runner idle timed out after ${Math.round(opts.idleTimeoutMs / 60_000)}m of no output`
283
- : `Runner fail-safe timed out after ${Math.round(opts.timeoutMs / 3_600_000)}h`
284
- });
285
- return;
286
- }
287
- if (cancelled) {
288
- resolve({
289
- exitCode: 1,
290
- cancelled: true,
291
- lastOutput,
292
- outputText: outputText.trim() || undefined,
293
- errorMessage: "Runner cancelled by user"
294
- });
295
- return;
296
- }
297
- resolve({
298
- exitCode: code ?? 1,
299
- lastOutput,
300
- outputText: outputText.trim() || undefined,
301
- errorMessage: code === 0
302
- ? undefined
303
- : annotateGeminiSunsetError(lastErrorOutput || lastOutput || `Runner exited with code ${code ?? 1}`)
304
- });
305
- });
306
- });
307
- }
308
- }
309
- //# sourceMappingURL=gemini.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/runners/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,2SAA2S,CAAC;AAE9S,MAAM,yBAAyB,GAAa;IAC1C,QAAQ;IACR,cAAc;IACd,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,0BAA0B;IAC1B,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,kCAAkC;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,WAA+B,EAAsB,EAAE;IAC/F,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,WAAW,OAAO,oBAAoB,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,KAAqB,EAAY,EAAE;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,sBAA8B,EAAE,MAAc,EAAE,KAAqB,EAAU,EAAE;IACnH,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,aAAa,GAAG;QACpB,iCAAiC;QACjC,sDAAsD;QACtD,uCAAuC;QACvC,wCAAwC;QACxC,8BAA8B;QAC9B,oBAAoB;QACpB,kBAAkB;QAClB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QAClC,IAAI;QACJ,MAAM,sBAAsB,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,wFAAwF,YAAY,EAAE;KACzJ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAU,EAAE;IACjD,IAAI,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACjD,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,IAAI,IAAI,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,OAAO,YAAY;IACvB,KAAK,CAAC,GAAG,CAAC,IAAmB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAChD,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,iCAAiC;aAChD,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,CAAC;QACnF,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;QACzC,MAAM,sBAAsB,GAAG,SAAS;YACtC,CAAC,CAAC,mCAAmC,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACzE,CAAC,CAAC,mCAAmC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,MAAM,qBAAqB,GAAG,SAAS;YACrC,CAAC,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;YAC7E,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,EAAE;YAC5D,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAChC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3C,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,sBAAsB;YACtB,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAClC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI;SACpE,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBACtB,SAAS;gBACT,iBAAiB;gBACjB,kBAAkB;gBAClB,QAAQ;gBACR,iBAAiB;gBACjB,qBAAqB,IAAI,EAAE;aAC5B,EAAE;gBACD,GAAG;gBACH,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,kBAAkB,EAAE,IAAI,CAAC,MAAM;oBAC/B,kBAAkB,EAAE,IAAI,CAAC,MAAM;oBAC/B,kBAAkB,EAAE,IAAI,CAAC,MAAM;oBAC/B,qBAAqB,EAAE,IAAI,CAAC,SAAS;oBACrC,qBAAqB,EAAE,IAAI,CAAC,aAAa;iBAC1C;aACF,CAAC;YACJ,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE;gBACpC,GAAG;gBACH,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,kBAAkB,EAAE,IAAI,CAAC,MAAM;oBAC/B,kBAAkB,EAAE,IAAI,CAAC,MAAM;oBAC/B,kBAAkB,EAAE,IAAI,CAAC,MAAM;oBAC/B,qBAAqB,EAAE,IAAI,CAAC,SAAS;oBACrC,qBAAqB,EAAE,IAAI,CAAC,aAAa;iBAC1C;aACF,CAAC,CAAC;QAEP,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,UAAU,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClF,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,UAAU,GAAG,MAAM,CAAC;gBACpB,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;oBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,UAAU,GAAG,MAAM,CAAC;gBACpB,eAAe,GAAG,MAAM,CAAC;gBACzB,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;oBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG;YACH,OAAO;YACP,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,IAAI,aAAa,GAAyC,IAAI,CAAC;YAE/D,MAAM,gBAAgB,GAAG,GAAG,EAAE;gBAC5B,IAAI,aAAa,EAAE,CAAC;oBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;gBAED,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,YAAY,GAAG,IAAI,CAAC;oBACpB,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,mEAAmE,EAAE;wBAC/E,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;qBAClC,CAAC,CAAC;oBACH,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACpE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,CAAC,CAAC;YAEF,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE;gBACrB,gBAAgB,EAAE,CAAC;YACrB,CAAC,CAAC;YAEF,gBAAgB,EAAE,CAAC;YAEnB,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBAED,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,aAAa,EAAE,CAAC;oBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;gBAED,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC3B,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC;YACF,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,SAAS,GAAG,IAAI,CAAC;gBACjB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,QAAQ,GAAG,IAAI,CAAC;gBAChB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAEnB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACzB,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,OAAO,CAAC;oBACN,QAAQ,EAAE,CAAC;oBACX,UAAU;oBACV,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS;oBAC1C,YAAY,EAAE,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC;iBACvD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAEhE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,aAAa,CAAC,MAAM,EAAE,CAAC;gBACvB,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACnC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,QAAQ,EAAE,IAAI;oBACd,QAAQ;iBACT,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC;wBACN,QAAQ,EAAE,CAAC;wBACX,UAAU;wBACV,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS;wBAC1C,YAAY,EAAE,YAAY;4BACxB,CAAC,CAAC,+BAA+B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB;4BACxF,CAAC,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG;qBAClF,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC;wBACN,QAAQ,EAAE,CAAC;wBACX,SAAS,EAAE,IAAI;wBACf,UAAU;wBACV,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS;wBAC1C,YAAY,EAAE,0BAA0B;qBACzC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC;oBACN,QAAQ,EAAE,IAAI,IAAI,CAAC;oBACnB,UAAU;oBACV,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS;oBAC1C,YAAY,EAAE,IAAI,KAAK,CAAC;wBACtB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,yBAAyB,CAAC,eAAe,IAAI,UAAU,IAAI,2BAA2B,IAAI,IAAI,CAAC,EAAE,CAAC;iBACvG,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,35 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import test from "node:test";
3
- import { annotateGeminiSunsetError, buildGeminiExecArgs, GEMINI_SUNSET_NOTICE } from "./gemini.js";
4
- test("buildGeminiExecArgs places prompt immediately after -p with -y flag", () => {
5
- assert.deepEqual(buildGeminiExecArgs("hello", "gemini-2.5-pro"), [
6
- "-y",
7
- "--sandbox=false",
8
- "--include-directories",
9
- ".agentteams",
10
- "-p",
11
- "hello",
12
- "--model",
13
- "gemini-2.5-pro"
14
- ]);
15
- });
16
- test("buildGeminiExecArgs omits model arguments when model is missing", () => {
17
- assert.deepEqual(buildGeminiExecArgs("hello", null), ["-y", "--sandbox=false", "--include-directories", ".agentteams", "-p", "hello"]);
18
- });
19
- test("annotateGeminiSunsetError appends sunset notice for quota/auth failures", () => {
20
- const result = annotateGeminiSunsetError("Error: quota exceeded for free tier accounts");
21
- assert.ok(result?.includes(GEMINI_SUNSET_NOTICE));
22
- assert.ok(result?.startsWith("Error: quota exceeded"));
23
- });
24
- test("annotateGeminiSunsetError leaves unrelated errors untouched", () => {
25
- const message = "Runner idle timed out after 60m of no output";
26
- assert.equal(annotateGeminiSunsetError(message), message);
27
- });
28
- test("annotateGeminiSunsetError does not double-annotate messages that already mention the sunset date", () => {
29
- const message = `existing error\n${GEMINI_SUNSET_NOTICE}`;
30
- assert.equal(annotateGeminiSunsetError(message), message);
31
- });
32
- test("annotateGeminiSunsetError returns undefined for empty input", () => {
33
- assert.equal(annotateGeminiSunsetError(undefined), undefined);
34
- });
35
- //# sourceMappingURL=gemini.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.test.js","sourceRoot":"","sources":["../../src/runners/gemini.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnG,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE;IAC/E,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QAC/D,IAAI;QACJ,iBAAiB;QACjB,uBAAuB;QACvB,aAAa;QACb,IAAI;QACJ,OAAO;QACP,SAAS;QACT,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACzI,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACnF,MAAM,MAAM,GAAG,yBAAyB,CAAC,8CAA8C,CAAC,CAAC;IACzF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;IACvE,MAAM,OAAO,GAAG,8CAA8C,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kGAAkG,EAAE,GAAG,EAAE;IAC5G,MAAM,OAAO,GAAG,mBAAmB,oBAAoB,EAAE,CAAC;IAC1D,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;IACvE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}