@agentteams/runner 0.0.73-dev.157 → 0.0.73-dev.158

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,5 +1,20 @@
1
1
  import type { Runner, RunnerOptions, RunResult } from "./types.js";
2
- export declare const buildAntigravityExecArgs: (prompt: string, timeoutMs?: number) => string[];
2
+ export declare const buildAntigravityExecArgs: (prompt: string, agentteamsDir: string, internalLogPath: string, timeoutMs?: number) => string[];
3
+ export declare const toPowerShellEncodedCommand: (resolvedExecutablePath: string, prompt: string, agentteamsDir: string, internalLogPath: string, timeoutMs?: number) => string;
4
+ export declare const sanitizeAntigravityInternalLogLine: (line: string) => string;
5
+ type InternalLogForwarderOptions = {
6
+ logPath: string;
7
+ triggerId: string;
8
+ onLine: (line: string) => void;
9
+ onActivity?: () => void;
10
+ pollMs?: number;
11
+ };
12
+ export declare const createAntigravityInternalLogForwarder: ({ logPath, triggerId, onLine, onActivity, pollMs }: InternalLogForwarderOptions) => {
13
+ start: () => void;
14
+ flush: () => Promise<void>;
15
+ stop: () => void;
16
+ };
3
17
  export declare class AntigravityRunner implements Runner {
4
18
  run(opts: RunnerOptions): Promise<RunResult>;
5
19
  }
20
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { createWriteStream } from "node:fs";
2
2
  import { spawn } from "node:child_process";
3
- import { mkdir } from "node:fs/promises";
3
+ import { mkdir, open, stat } from "node:fs/promises";
4
4
  import { platform } from "node:os";
5
5
  import { dirname, join } from "node:path";
6
6
  import { describeExecutableResolution, resolveExecutablePathWithPreference, spawnExecutable } from "../executable.js";
@@ -10,14 +10,21 @@ const PROMPT_PREVIEW_MAX = 500;
10
10
  const OUTPUT_PREVIEW_MAX = 400;
11
11
  const OUTPUT_CAPTURE_MAX = 200_000;
12
12
  const DEFAULT_PRINT_TIMEOUT_MS = 24 * 60 * 60 * 1000;
13
+ const INTERNAL_LOG_POLL_MS = 1_000;
14
+ const INTERNAL_LOG_MAX_LINES_PER_TICK = 20;
15
+ const INTERNAL_LOG_MAX_LINE_LENGTH = 1_000;
16
+ const INTERNAL_LOG_MAX_FORWARDED_BYTES = 50_000;
17
+ const INTERNAL_LOG_PREFIX = "Antigravity internal log";
13
18
  const toPrintTimeout = (timeoutMs = DEFAULT_PRINT_TIMEOUT_MS) => {
14
19
  return `${Math.max(1, Math.ceil(timeoutMs / 1000))}s`;
15
20
  };
16
- export const buildAntigravityExecArgs = (prompt, timeoutMs) => {
21
+ export const buildAntigravityExecArgs = (prompt, agentteamsDir, internalLogPath, timeoutMs) => {
17
22
  return [
18
23
  "--dangerously-skip-permissions",
19
24
  "--add-dir",
20
- ".agentteams",
25
+ agentteamsDir,
26
+ "--log-file",
27
+ internalLogPath,
21
28
  "--print-timeout",
22
29
  toPrintTimeout(timeoutMs),
23
30
  "--print",
@@ -25,7 +32,7 @@ export const buildAntigravityExecArgs = (prompt, timeoutMs) => {
25
32
  ];
26
33
  };
27
34
  const toPowerShellLiteral = (value) => `'${value.replaceAll("'", "''")}'`;
28
- const toPowerShellEncodedCommand = (resolvedExecutablePath, prompt, timeoutMs) => {
35
+ export const toPowerShellEncodedCommand = (resolvedExecutablePath, prompt, agentteamsDir, internalLogPath, timeoutMs) => {
29
36
  const scriptContent = [
30
37
  "$ErrorActionPreference = 'Stop'",
31
38
  "$utf8NoBom = [System.Text.UTF8Encoding]::new($false)",
@@ -36,10 +43,127 @@ const toPowerShellEncodedCommand = (resolvedExecutablePath, prompt, timeoutMs) =
36
43
  `$promptText = @'`,
37
44
  `${prompt.replaceAll("'@", "'@")}`,
38
45
  `'@`,
39
- `& ${toPowerShellLiteral(resolvedExecutablePath)} '--dangerously-skip-permissions' '--add-dir' '.agentteams' '--print-timeout' ${toPowerShellLiteral(toPrintTimeout(timeoutMs))} '--print' $promptText`
46
+ `& ${toPowerShellLiteral(resolvedExecutablePath)} '--dangerously-skip-permissions' '--add-dir' ${toPowerShellLiteral(agentteamsDir)} '--log-file' ${toPowerShellLiteral(internalLogPath)} '--print-timeout' ${toPowerShellLiteral(toPrintTimeout(timeoutMs))} '--print' $promptText`
40
47
  ].join("\r\n");
41
48
  return Buffer.from(scriptContent, "utf16le").toString("base64");
42
49
  };
50
+ export const sanitizeAntigravityInternalLogLine = (line) => {
51
+ return line
52
+ .replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi, "Bearer [REDACTED]")
53
+ .replace(/\b(api[-_]?key|access[-_]?token|refresh[-_]?token|token|cookie|set-cookie)(["'\s:=]+)([^"',;\s]+)/gi, "$1$2[REDACTED]")
54
+ .replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g, "[REDACTED_JWT]");
55
+ };
56
+ const toForwardedInternalLogLine = (line) => {
57
+ const sanitized = sanitizeAntigravityInternalLogLine(line.trim());
58
+ const truncated = sanitized.length > INTERNAL_LOG_MAX_LINE_LENGTH
59
+ ? `${sanitized.slice(0, INTERNAL_LOG_MAX_LINE_LENGTH)}...`
60
+ : sanitized;
61
+ return `[${INTERNAL_LOG_PREFIX}] ${truncated}`;
62
+ };
63
+ export const createAntigravityInternalLogForwarder = ({ logPath, triggerId, onLine, onActivity, pollMs = INTERNAL_LOG_POLL_MS }) => {
64
+ let offset = 0;
65
+ let pendingText = "";
66
+ let forwardedBytes = 0;
67
+ let intervalId = null;
68
+ let isReading = false;
69
+ const forwardLines = (text, flush) => {
70
+ const combined = pendingText + text;
71
+ const parts = combined.split(/\r?\n/);
72
+ pendingText = flush ? "" : (parts.pop() ?? "");
73
+ const completeLines = flush ? parts : parts;
74
+ let forwardedLines = 0;
75
+ for (const line of completeLines) {
76
+ if (forwardedLines >= INTERNAL_LOG_MAX_LINES_PER_TICK || forwardedBytes >= INTERNAL_LOG_MAX_FORWARDED_BYTES) {
77
+ break;
78
+ }
79
+ if (line.trim().length === 0) {
80
+ continue;
81
+ }
82
+ const output = toForwardedInternalLogLine(line);
83
+ const allowedBytes = INTERNAL_LOG_MAX_FORWARDED_BYTES - forwardedBytes;
84
+ const boundedOutput = Buffer.byteLength(output, "utf8") > allowedBytes
85
+ ? output.slice(0, Math.max(0, allowedBytes))
86
+ : output;
87
+ if (boundedOutput.length === 0) {
88
+ break;
89
+ }
90
+ forwardedBytes += Buffer.byteLength(boundedOutput, "utf8");
91
+ forwardedLines += 1;
92
+ onLine(boundedOutput);
93
+ onActivity?.();
94
+ logger.info("Runner antigravity internal log", {
95
+ triggerId,
96
+ output: boundedOutput
97
+ });
98
+ }
99
+ };
100
+ const readNewContent = async (flush = false) => {
101
+ if (isReading) {
102
+ return;
103
+ }
104
+ isReading = true;
105
+ try {
106
+ const fileStat = await stat(logPath).catch((err) => {
107
+ if (err.code === "ENOENT") {
108
+ return null;
109
+ }
110
+ throw err;
111
+ });
112
+ if (!fileStat) {
113
+ if (flush && pendingText.trim().length > 0) {
114
+ forwardLines("", true);
115
+ }
116
+ return;
117
+ }
118
+ if (fileStat.size < offset) {
119
+ offset = 0;
120
+ pendingText = "";
121
+ }
122
+ if (fileStat.size > offset) {
123
+ const length = fileStat.size - offset;
124
+ const buffer = Buffer.alloc(length);
125
+ const file = await open(logPath, "r");
126
+ try {
127
+ const result = await file.read(buffer, 0, length, offset);
128
+ offset += result.bytesRead;
129
+ forwardLines(buffer.subarray(0, result.bytesRead).toString("utf8"), flush);
130
+ }
131
+ finally {
132
+ await file.close();
133
+ }
134
+ }
135
+ else if (flush && pendingText.trim().length > 0) {
136
+ forwardLines("", true);
137
+ }
138
+ }
139
+ catch (err) {
140
+ logger.warn("Runner antigravity internal log read error", {
141
+ triggerId,
142
+ error: err instanceof Error ? err.message : String(err)
143
+ });
144
+ }
145
+ finally {
146
+ isReading = false;
147
+ }
148
+ };
149
+ return {
150
+ start: () => {
151
+ if (intervalId) {
152
+ return;
153
+ }
154
+ intervalId = setInterval(() => {
155
+ void readNewContent(false);
156
+ }, pollMs);
157
+ },
158
+ flush: () => readNewContent(true),
159
+ stop: () => {
160
+ if (intervalId) {
161
+ clearInterval(intervalId);
162
+ intervalId = null;
163
+ }
164
+ }
165
+ };
166
+ };
43
167
  const toPromptPreview = (prompt) => {
44
168
  if (prompt.length <= PROMPT_PREVIEW_MAX) {
45
169
  return prompt;
@@ -64,18 +188,20 @@ export class AntigravityRunner {
64
188
  }
65
189
  const cwd = opts.authPath;
66
190
  const logPath = join(cwd, ".agentteams", "runner", "log", `${opts.triggerId}.log`);
191
+ const internalLogPath = join(cwd, ".agentteams", "runner", "log", `${opts.triggerId}.antigravity.log`);
192
+ const agentteamsDir = join(cwd, ".agentteams");
67
193
  await mkdir(dirname(logPath), { recursive: true });
68
194
  const isWindows = platform() === "win32";
69
195
  const resolvedExecutablePath = isWindows
70
196
  ? resolveExecutablePathWithPreference("agy", ["agy.cmd", "agy"])
71
197
  : resolveExecutablePathWithPreference("agy", ["agy"]);
72
198
  const windowsEncodedCommand = isWindows
73
- ? toPowerShellEncodedCommand(resolvedExecutablePath, opts.prompt, opts.timeoutMs)
199
+ ? toPowerShellEncodedCommand(resolvedExecutablePath, opts.prompt, agentteamsDir, internalLogPath, opts.timeoutMs)
74
200
  : null;
75
201
  const executableInfo = describeExecutableResolution("agy", {
76
202
  platform: () => (isWindows ? "win32" : platform())
77
203
  });
78
- const antigravityArgs = buildAntigravityExecArgs(opts.prompt, opts.timeoutMs);
204
+ const antigravityArgs = buildAntigravityExecArgs(opts.prompt, agentteamsDir, internalLogPath, opts.timeoutMs);
79
205
  if (opts.model && opts.model.trim().length > 0) {
80
206
  logger.warn("Antigravity CLI does not expose a verified launch-time model flag; model is ignored", {
81
207
  triggerId: opts.triggerId,
@@ -138,6 +264,15 @@ export class AntigravityRunner {
138
264
  let lastOutput = "";
139
265
  let lastErrorOutput = "";
140
266
  let outputText = "";
267
+ const internalLogForwarder = createAntigravityInternalLogForwarder({
268
+ logPath: internalLogPath,
269
+ triggerId: opts.triggerId,
270
+ onLine: (line) => {
271
+ lastOutput = line;
272
+ opts.onStdoutChunk?.(line);
273
+ },
274
+ onActivity: () => idleTimer.reset()
275
+ });
141
276
  const appendOutputText = (chunk) => {
142
277
  if (outputText.length >= OUTPUT_CAPTURE_MAX) {
143
278
  return;
@@ -178,6 +313,7 @@ export class AntigravityRunner {
178
313
  triggerId: opts.triggerId,
179
314
  cwd,
180
315
  logPath,
316
+ internalLogPath,
181
317
  pid: child.pid
182
318
  });
183
319
  return await new Promise((resolve) => {
@@ -204,11 +340,14 @@ export class AntigravityRunner {
204
340
  startIdleTimeout();
205
341
  };
206
342
  startIdleTimeout();
207
- const cleanup = () => {
343
+ internalLogForwarder.start();
344
+ const cleanup = async () => {
208
345
  if (finished) {
209
346
  return;
210
347
  }
211
348
  finished = true;
349
+ internalLogForwarder.stop();
350
+ await internalLogForwarder.flush();
212
351
  if (idleTimeoutId) {
213
352
  clearTimeout(idleTimeoutId);
214
353
  }
@@ -234,57 +373,59 @@ export class AntigravityRunner {
234
373
  }
235
374
  child.on("error", (error) => {
236
375
  clearTimeout(timeoutId);
237
- cleanup();
238
- logger.error("Runner process launch failed", {
239
- triggerId: opts.triggerId,
240
- error: error.message
241
- });
242
- resolve({
243
- exitCode: 1,
244
- lastOutput,
245
- outputText: outputText.trim() || undefined,
246
- errorMessage: error.message
376
+ void cleanup().then(() => {
377
+ logger.error("Runner process launch failed", {
378
+ triggerId: opts.triggerId,
379
+ error: error.message
380
+ });
381
+ resolve({
382
+ exitCode: 1,
383
+ lastOutput,
384
+ outputText: outputText.trim() || undefined,
385
+ errorMessage: error.message
386
+ });
247
387
  });
248
388
  });
249
389
  const closeWatchdog = setupCloseWatchdog(child, opts.triggerId);
250
390
  child.on("close", (code) => {
251
391
  closeWatchdog.cancel();
252
392
  clearTimeout(timeoutId);
253
- cleanup();
254
- logger.info("Runner process closed", {
255
- triggerId: opts.triggerId,
256
- pid: child.pid,
257
- exitCode: code,
258
- timedOut
259
- });
260
- if (timedOut) {
261
- resolve({
262
- exitCode: 1,
263
- lastOutput,
264
- outputText: outputText.trim() || undefined,
265
- errorMessage: idleTimedOut
266
- ? `Runner idle timed out after ${Math.round(opts.idleTimeoutMs / 60_000)}m of no output`
267
- : `Runner fail-safe timed out after ${Math.round(opts.timeoutMs / 3_600_000)}h`
393
+ void cleanup().then(() => {
394
+ logger.info("Runner process closed", {
395
+ triggerId: opts.triggerId,
396
+ pid: child.pid,
397
+ exitCode: code,
398
+ timedOut
268
399
  });
269
- return;
270
- }
271
- if (cancelled) {
400
+ if (timedOut) {
401
+ resolve({
402
+ exitCode: 1,
403
+ lastOutput,
404
+ outputText: outputText.trim() || undefined,
405
+ errorMessage: idleTimedOut
406
+ ? `Runner idle timed out after ${Math.round(opts.idleTimeoutMs / 60_000)}m of no output`
407
+ : `Runner fail-safe timed out after ${Math.round(opts.timeoutMs / 3_600_000)}h`
408
+ });
409
+ return;
410
+ }
411
+ if (cancelled) {
412
+ resolve({
413
+ exitCode: 1,
414
+ cancelled: true,
415
+ lastOutput,
416
+ outputText: outputText.trim() || undefined,
417
+ errorMessage: "Runner cancelled by user"
418
+ });
419
+ return;
420
+ }
272
421
  resolve({
273
- exitCode: 1,
274
- cancelled: true,
422
+ exitCode: code ?? 1,
275
423
  lastOutput,
276
424
  outputText: outputText.trim() || undefined,
277
- errorMessage: "Runner cancelled by user"
425
+ errorMessage: code === 0
426
+ ? undefined
427
+ : lastErrorOutput || lastOutput || `Runner exited with code ${code ?? 1}`
278
428
  });
279
- return;
280
- }
281
- resolve({
282
- exitCode: code ?? 1,
283
- lastOutput,
284
- outputText: outputText.trim() || undefined,
285
- errorMessage: code === 0
286
- ? undefined
287
- : lastErrorOutput || lastOutput || `Runner exited with code ${code ?? 1}`
288
429
  });
289
430
  });
290
431
  });
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/runners/antigravity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/runners/antigravity.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,21 @@
1
1
  import assert from "node:assert/strict";
2
+ import { appendFile, mkdtemp, rm, writeFile } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import { isAbsolute, join } from "node:path";
2
5
  import test from "node:test";
3
- import { buildAntigravityExecArgs } from "./antigravity.js";
6
+ import { setTimeout as sleep } from "node:timers/promises";
7
+ import { buildAntigravityExecArgs, createAntigravityInternalLogForwarder, sanitizeAntigravityInternalLogLine, toPowerShellEncodedCommand } from "./antigravity.js";
4
8
  test("buildAntigravityExecArgs uses verified print-mode contract", () => {
5
- assert.deepEqual(buildAntigravityExecArgs("hello", 20_000), [
9
+ const cwd = "/tmp/agentteams-project";
10
+ const agentteamsDir = join(cwd, ".agentteams");
11
+ const internalLogPath = join(agentteamsDir, "runner", "log", "trigger.antigravity.log");
12
+ assert.equal(isAbsolute(agentteamsDir), true);
13
+ assert.deepEqual(buildAntigravityExecArgs("hello", agentteamsDir, internalLogPath, 20_000), [
6
14
  "--dangerously-skip-permissions",
7
15
  "--add-dir",
8
- ".agentteams",
16
+ agentteamsDir,
17
+ "--log-file",
18
+ internalLogPath,
9
19
  "--print-timeout",
10
20
  "20s",
11
21
  "--print",
@@ -13,14 +23,97 @@ test("buildAntigravityExecArgs uses verified print-mode contract", () => {
13
23
  ]);
14
24
  });
15
25
  test("buildAntigravityExecArgs defaults print timeout to runner fail-safe window", () => {
16
- assert.deepEqual(buildAntigravityExecArgs("hello"), [
26
+ const cwd = "/tmp/agentteams-project";
27
+ const agentteamsDir = join(cwd, ".agentteams");
28
+ const internalLogPath = join(agentteamsDir, "runner", "log", "trigger.antigravity.log");
29
+ assert.deepEqual(buildAntigravityExecArgs("hello", agentteamsDir, internalLogPath), [
17
30
  "--dangerously-skip-permissions",
18
31
  "--add-dir",
19
- ".agentteams",
32
+ agentteamsDir,
33
+ "--log-file",
34
+ internalLogPath,
20
35
  "--print-timeout",
21
36
  "86400s",
22
37
  "--print",
23
38
  "hello"
24
39
  ]);
25
40
  });
41
+ test("toPowerShellEncodedCommand forwards absolute add-dir and log-file", () => {
42
+ const cwd = "C:\\Users\\agent\\project";
43
+ const agentteamsDir = `${cwd}\\.agentteams`;
44
+ const internalLogPath = `${agentteamsDir}\\runner\\log\\trigger.antigravity.log`;
45
+ const encoded = toPowerShellEncodedCommand("C:\\Tools\\agy.cmd", "hello", agentteamsDir, internalLogPath, 20_000);
46
+ const decoded = Buffer.from(encoded, "base64").toString("utf16le");
47
+ assert.match(decoded, /'--add-dir' 'C:\\Users\\agent\\project\\.agentteams'/);
48
+ assert.match(decoded, /'--log-file' 'C:\\Users\\agent\\project\\.agentteams\\runner\\log\\trigger\.antigravity\.log'/);
49
+ assert.doesNotMatch(decoded, /'--add-dir' '\.agentteams'/);
50
+ });
51
+ test("createAntigravityInternalLogForwarder polls appended lines without duplicates", async () => {
52
+ const tempDir = await mkdtemp(join(tmpdir(), "agentteams-antigravity-"));
53
+ const logPath = join(tempDir, "internal.log");
54
+ const forwarded = [];
55
+ let activityCount = 0;
56
+ const forwarder = createAntigravityInternalLogForwarder({
57
+ logPath,
58
+ triggerId: "trigger-id",
59
+ pollMs: 20,
60
+ onLine: (line) => forwarded.push(line),
61
+ onActivity: () => {
62
+ activityCount += 1;
63
+ }
64
+ });
65
+ try {
66
+ await writeFile(logPath, "language server starting\n");
67
+ forwarder.start();
68
+ await sleep(60);
69
+ await appendFile(logPath, "conversation created\npartial");
70
+ await sleep(60);
71
+ forwarder.stop();
72
+ await forwarder.flush();
73
+ assert.deepEqual(forwarded, [
74
+ "[Antigravity internal log] language server starting",
75
+ "[Antigravity internal log] conversation created",
76
+ "[Antigravity internal log] partial"
77
+ ]);
78
+ assert.equal(activityCount, 3);
79
+ }
80
+ finally {
81
+ forwarder.stop();
82
+ await rm(tempDir, { recursive: true, force: true });
83
+ }
84
+ });
85
+ test("createAntigravityInternalLogForwarder masks secrets and limits each tick", async () => {
86
+ const tempDir = await mkdtemp(join(tmpdir(), "agentteams-antigravity-"));
87
+ const logPath = join(tempDir, "internal.log");
88
+ const forwarded = [];
89
+ const lines = [
90
+ "Authorization: Bearer super-secret-token",
91
+ "api_key=abc123",
92
+ ...Array.from({ length: 25 }, (_, index) => `line ${index}`)
93
+ ];
94
+ const forwarder = createAntigravityInternalLogForwarder({
95
+ logPath,
96
+ triggerId: "trigger-id",
97
+ onLine: (line) => forwarded.push(line)
98
+ });
99
+ try {
100
+ await writeFile(logPath, `${lines.join("\n")}\n`);
101
+ await forwarder.flush();
102
+ assert.equal(forwarded.length, 20);
103
+ assert.equal(forwarded[0], "[Antigravity internal log] Authorization: Bearer [REDACTED]");
104
+ assert.equal(forwarded[1], "[Antigravity internal log] api_key=[REDACTED]");
105
+ assert.equal(forwarded.some((line) => line.includes("super-secret-token") || line.includes("abc123")), false);
106
+ }
107
+ finally {
108
+ forwarder.stop();
109
+ await rm(tempDir, { recursive: true, force: true });
110
+ }
111
+ });
112
+ test("sanitizeAntigravityInternalLogLine redacts token-like values", () => {
113
+ const sanitized = sanitizeAntigravityInternalLogLine("access_token: abc refresh_token=def cookie=sessionid token eyJabc.def.ghi");
114
+ assert.equal(sanitized.includes("abc"), false);
115
+ assert.equal(sanitized.includes("def"), false);
116
+ assert.equal(sanitized.includes("eyJabc.def.ghi"), false);
117
+ assert.match(sanitized, /\[REDACTED\]/);
118
+ });
26
119
  //# sourceMappingURL=antigravity.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity.test.js","sourceRoot":"","sources":["../../src/runners/antigravity.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACtE,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QAC1D,gCAAgC;QAChC,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,KAAK;QACL,SAAS;QACT,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;IACtF,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE;QAClD,gCAAgC;QAChC,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,QAAQ;QACR,SAAS;QACT,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"antigravity.test.js","sourceRoot":"","sources":["../../src/runners/antigravity.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/runner",
3
- "version": "0.0.73-dev.157",
3
+ "version": "0.0.73-dev.158",
4
4
  "description": "AgentRunner - Background runner that polls and executes AI agent tasks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",