@agentteams/runner 0.0.84 → 0.0.85-dev.211
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/api-client.d.ts +2 -2
- package/dist/api-client.js +66 -66
- package/dist/api-client.js.map +1 -1
- package/dist/api-client.test.js +63 -54
- package/dist/api-client.test.js.map +1 -1
- package/dist/autostart.js +81 -81
- package/dist/autostart.js.map +1 -1
- package/dist/autostart.test.js +35 -35
- package/dist/autostart.test.js.map +1 -1
- package/dist/commands/cleanup.js +4 -4
- package/dist/commands/init.js +14 -14
- package/dist/commands/restart.js +3 -3
- package/dist/commands/start.js +10 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +7 -7
- package/dist/commands/stop.js +7 -7
- package/dist/commands/uninstall.js +6 -6
- package/dist/commands/update.d.ts +4 -4
- package/dist/commands/update.js +20 -22
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/update.test.js +38 -42
- package/dist/commands/update.test.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +12 -12
- package/dist/config.test.js +61 -61
- package/dist/config.test.js.map +1 -1
- package/dist/daemon-control.d.ts +5 -5
- package/dist/daemon-control.js +21 -22
- package/dist/daemon-control.js.map +1 -1
- package/dist/daemon-control.test.js +29 -29
- package/dist/executable.d.ts +3 -3
- package/dist/executable.js +46 -49
- package/dist/executable.js.map +1 -1
- package/dist/executable.test.js +62 -62
- package/dist/executable.test.js.map +1 -1
- package/dist/handlers/trigger-handler.d.ts +6 -6
- package/dist/handlers/trigger-handler.js +172 -134
- package/dist/handlers/trigger-handler.js.map +1 -1
- package/dist/handlers/trigger-handler.test.js +442 -328
- package/dist/handlers/trigger-handler.test.js.map +1 -1
- package/dist/index.js +25 -25
- package/dist/logger.js +1 -1
- package/dist/pid.js +6 -6
- package/dist/poller.d.ts +7 -7
- package/dist/poller.js +55 -54
- package/dist/poller.js.map +1 -1
- package/dist/poller.test.js +264 -180
- package/dist/poller.test.js.map +1 -1
- package/dist/runners/amp.d.ts +1 -1
- package/dist/runners/amp.js +74 -81
- package/dist/runners/amp.js.map +1 -1
- package/dist/runners/antigravity.d.ts +3 -3
- package/dist/runners/antigravity.js +116 -127
- package/dist/runners/antigravity.js.map +1 -1
- package/dist/runners/antigravity.replay.test.js +25 -25
- package/dist/runners/antigravity.replay.test.js.map +1 -1
- package/dist/runners/antigravity.test.js +98 -98
- package/dist/runners/antigravity.test.js.map +1 -1
- package/dist/runners/claude-code.d.ts +1 -1
- package/dist/runners/claude-code.js +85 -84
- package/dist/runners/claude-code.js.map +1 -1
- package/dist/runners/claude-code.test.js +37 -40
- package/dist/runners/claude-code.test.js.map +1 -1
- package/dist/runners/codex.d.ts +1 -1
- package/dist/runners/codex.js +87 -96
- package/dist/runners/codex.js.map +1 -1
- package/dist/runners/codex.test.js +68 -68
- package/dist/runners/codex.test.js.map +1 -1
- package/dist/runners/index.d.ts +1 -1
- package/dist/runners/index.js +10 -10
- package/dist/runners/index.test.js +16 -16
- package/dist/runners/log-reporter.d.ts +2 -2
- package/dist/runners/log-reporter.js +12 -10
- package/dist/runners/log-reporter.js.map +1 -1
- package/dist/runners/log-reporter.test.js +70 -70
- package/dist/runners/log-reporter.test.js.map +1 -1
- package/dist/runners/opencode.d.ts +1 -1
- package/dist/runners/opencode.js +68 -75
- package/dist/runners/opencode.js.map +1 -1
- package/dist/runners/process-control.d.ts +1 -1
- package/dist/runners/process-control.js +13 -11
- package/dist/runners/process-control.js.map +1 -1
- package/dist/runners/stream-json-parser.d.ts +1 -1
- package/dist/runners/stream-json-parser.js +70 -67
- package/dist/runners/stream-json-parser.js.map +1 -1
- package/dist/runners/stream-json-parser.replay.test.js +17 -17
- package/dist/runners/stream-json-parser.replay.test.js.map +1 -1
- package/dist/runners/stream-json-parser.test.js +76 -78
- package/dist/runners/stream-json-parser.test.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/utils/auth-path-store.js +7 -7
- package/dist/utils/auth-path-store.test.js +24 -29
- package/dist/utils/auth-path-store.test.js.map +1 -1
- package/dist/utils/auto-update.d.ts +4 -4
- package/dist/utils/auto-update.js +30 -28
- package/dist/utils/auto-update.js.map +1 -1
- package/dist/utils/auto-update.test.js +30 -30
- package/dist/utils/convention-evaluator.d.ts +1 -1
- package/dist/utils/convention-evaluator.js +22 -21
- package/dist/utils/convention-evaluator.js.map +1 -1
- package/dist/utils/convention-evaluator.test.js +120 -110
- package/dist/utils/convention-evaluator.test.js.map +1 -1
- package/dist/utils/convention-sync.d.ts +3 -3
- package/dist/utils/convention-sync.js +86 -18
- package/dist/utils/convention-sync.js.map +1 -1
- package/dist/utils/convention-sync.test.js +126 -30
- package/dist/utils/convention-sync.test.js.map +1 -1
- package/dist/utils/git-worktree.js +20 -18
- package/dist/utils/git-worktree.js.map +1 -1
- package/dist/utils/git-worktree.test.js +98 -98
- package/dist/utils/git-worktree.test.js.map +1 -1
- package/dist/utils/origin-issue-safeguard.js +35 -30
- package/dist/utils/origin-issue-safeguard.js.map +1 -1
- package/dist/utils/power-save-blocker.d.ts +4 -4
- package/dist/utils/power-save-blocker.js +33 -33
- package/dist/utils/power-save-blocker.test.js +37 -37
- package/dist/utils/power-save-blocker.test.js.map +1 -1
- package/dist/utils/runner-cleanup.d.ts +3 -3
- package/dist/utils/runner-cleanup.js +13 -13
- package/dist/utils/runner-cleanup.test.js +35 -35
- package/dist/utils/runner-history.js +3 -3
- package/dist/utils/runner-history.test.js +17 -17
- package/package.json +9 -2
- package/readme.md +10 -10
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import assert from
|
|
2
|
-
import { existsSync } from
|
|
3
|
-
import { fileURLToPath } from
|
|
4
|
-
import test from
|
|
5
|
-
import { createAntigravityInternalLogForwarder } from
|
|
6
|
-
const BACKUP_LOG = fileURLToPath(new URL(
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import test from 'node:test';
|
|
5
|
+
import { createAntigravityInternalLogForwarder } from './antigravity.js';
|
|
6
|
+
const BACKUP_LOG = fileURLToPath(new URL('../../../.agentteams/runner/backup/antigravity.log', import.meta.url));
|
|
7
7
|
const skipIfMissing = (t) => {
|
|
8
8
|
if (!existsSync(BACKUP_LOG)) {
|
|
9
9
|
t.skip(`Backup log fixture not present at ${BACKUP_LOG}`);
|
|
@@ -15,44 +15,44 @@ const collectForwardedLines = async () => {
|
|
|
15
15
|
const forwarded = [];
|
|
16
16
|
const forwarder = createAntigravityInternalLogForwarder({
|
|
17
17
|
logPath: BACKUP_LOG,
|
|
18
|
-
triggerId:
|
|
18
|
+
triggerId: 'replay-trigger',
|
|
19
19
|
onLine: (line) => forwarded.push(line),
|
|
20
|
-
onWarnLine: (line) => forwarded.push(line)
|
|
20
|
+
onWarnLine: (line) => forwarded.push(line),
|
|
21
21
|
});
|
|
22
22
|
await forwarder.flush();
|
|
23
23
|
forwarder.stop();
|
|
24
24
|
return forwarded;
|
|
25
25
|
};
|
|
26
|
-
test(
|
|
26
|
+
test('backup Antigravity log replay keeps only readable whitelist events', async (t) => {
|
|
27
27
|
if (skipIfMissing(t))
|
|
28
28
|
return;
|
|
29
29
|
const lines = await collectForwardedLines();
|
|
30
|
-
assert.ok(lines.length > 0,
|
|
30
|
+
assert.ok(lines.length > 0, 'expected at least one forwarded event');
|
|
31
31
|
assert.ok(lines.length <= 15, `expected at most 15 forwarded events, got ${lines.length}`);
|
|
32
32
|
const noisePatterns = [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
'http_helpers',
|
|
34
|
+
'PlannerResponse without',
|
|
35
|
+
'Singleflight refresh failed',
|
|
36
|
+
'Reloading system slash commands',
|
|
37
|
+
'Experiments refreshed',
|
|
38
|
+
'auto_updater',
|
|
39
39
|
];
|
|
40
40
|
for (const pattern of noisePatterns) {
|
|
41
41
|
assert.equal(lines.some((line) => line.includes(pattern)), false, `noise leaked: ${pattern}`);
|
|
42
42
|
}
|
|
43
43
|
const requiredSignals = [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
'[Session] Authenticated as',
|
|
45
|
+
'[Session] Project:',
|
|
46
|
+
'[Session] Session started',
|
|
47
|
+
'[Session] Conversation:',
|
|
48
|
+
'[Tool] Edit',
|
|
49
|
+
'[Result] Streamed',
|
|
50
|
+
'[Result] Session ended',
|
|
51
51
|
];
|
|
52
52
|
for (const signal of requiredSignals) {
|
|
53
53
|
assert.equal(lines.some((line) => line.startsWith(signal)), true, `missing signal: ${signal}`);
|
|
54
54
|
}
|
|
55
|
-
const modelLines = lines.filter((line) => line.startsWith(
|
|
56
|
-
assert.equal(modelLines.length, 1,
|
|
55
|
+
const modelLines = lines.filter((line) => line.startsWith('[Session] Model:'));
|
|
56
|
+
assert.equal(modelLines.length, 1, 'expected exactly one model line');
|
|
57
57
|
});
|
|
58
58
|
//# sourceMappingURL=antigravity.replay.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity.replay.test.js","sourceRoot":"","sources":["../../src/runners/antigravity.replay.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,UAAU,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"antigravity.replay.test.js","sourceRoot":"","sources":["../../src/runners/antigravity.replay.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
import assert from
|
|
2
|
-
import { appendFile, mkdtemp, rm, writeFile } from
|
|
3
|
-
import { tmpdir } from
|
|
4
|
-
import { isAbsolute, join } from
|
|
5
|
-
import test from
|
|
6
|
-
import { setTimeout as sleep } from
|
|
7
|
-
import { buildAntigravityExecArgs, createAntigravityInternalLogForwarder, extractAntigravityReadableEvent, sanitizeAntigravityInternalLogLine, toPowerShellEncodedCommand } from
|
|
8
|
-
test(
|
|
9
|
-
const cwd =
|
|
10
|
-
const agentteamsDir = join(cwd,
|
|
11
|
-
const internalLogPath = join(agentteamsDir,
|
|
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';
|
|
5
|
+
import test from 'node:test';
|
|
6
|
+
import { setTimeout as sleep } from 'node:timers/promises';
|
|
7
|
+
import { buildAntigravityExecArgs, createAntigravityInternalLogForwarder, extractAntigravityReadableEvent, sanitizeAntigravityInternalLogLine, toPowerShellEncodedCommand, } from './antigravity.js';
|
|
8
|
+
test('buildAntigravityExecArgs uses verified print-mode contract', () => {
|
|
9
|
+
const cwd = '/tmp/agentteams-project';
|
|
10
|
+
const agentteamsDir = join(cwd, '.agentteams');
|
|
11
|
+
const internalLogPath = join(agentteamsDir, 'runner', 'log', 'trigger.antigravity.log');
|
|
12
12
|
assert.equal(isAbsolute(agentteamsDir), true);
|
|
13
|
-
assert.deepEqual(buildAntigravityExecArgs(
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
assert.deepEqual(buildAntigravityExecArgs('hello', agentteamsDir, internalLogPath, 20_000), [
|
|
14
|
+
'--dangerously-skip-permissions',
|
|
15
|
+
'--add-dir',
|
|
16
16
|
agentteamsDir,
|
|
17
|
-
|
|
17
|
+
'--log-file',
|
|
18
18
|
internalLogPath,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
'--print-timeout',
|
|
20
|
+
'20s',
|
|
21
|
+
'--print',
|
|
22
|
+
'hello',
|
|
23
23
|
]);
|
|
24
24
|
});
|
|
25
|
-
test(
|
|
26
|
-
const cwd =
|
|
27
|
-
const agentteamsDir = join(cwd,
|
|
28
|
-
const internalLogPath = join(agentteamsDir,
|
|
29
|
-
assert.deepEqual(buildAntigravityExecArgs(
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
test('buildAntigravityExecArgs defaults print timeout to runner fail-safe window', () => {
|
|
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), [
|
|
30
|
+
'--dangerously-skip-permissions',
|
|
31
|
+
'--add-dir',
|
|
32
32
|
agentteamsDir,
|
|
33
|
-
|
|
33
|
+
'--log-file',
|
|
34
34
|
internalLogPath,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
'--print-timeout',
|
|
36
|
+
'86400s',
|
|
37
|
+
'--print',
|
|
38
|
+
'hello',
|
|
39
39
|
]);
|
|
40
40
|
});
|
|
41
|
-
test(
|
|
42
|
-
const cwd =
|
|
41
|
+
test('toPowerShellEncodedCommand forwards absolute add-dir and log-file', () => {
|
|
42
|
+
const cwd = 'C:\\Users\\agent\\project';
|
|
43
43
|
const agentteamsDir = `${cwd}\\.agentteams`;
|
|
44
44
|
const internalLogPath = `${agentteamsDir}\\runner\\log\\trigger.antigravity.log`;
|
|
45
|
-
const encoded = toPowerShellEncodedCommand(
|
|
46
|
-
const decoded = Buffer.from(encoded,
|
|
45
|
+
const encoded = toPowerShellEncodedCommand('C:\\Tools\\agy.cmd', 'hello', agentteamsDir, internalLogPath, 20_000);
|
|
46
|
+
const decoded = Buffer.from(encoded, 'base64').toString('utf16le');
|
|
47
47
|
assert.match(decoded, /'--add-dir' 'C:\\Users\\agent\\project\\.agentteams'/);
|
|
48
48
|
assert.match(decoded, /'--log-file' 'C:\\Users\\agent\\project\\.agentteams\\runner\\log\\trigger\.antigravity\.log'/);
|
|
49
49
|
assert.doesNotMatch(decoded, /'--add-dir' '\.agentteams'/);
|
|
50
50
|
});
|
|
51
|
-
test(
|
|
52
|
-
const tempDir = await mkdtemp(join(tmpdir(),
|
|
53
|
-
const logPath = join(tempDir,
|
|
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
54
|
const forwarded = [];
|
|
55
55
|
let activityCount = 0;
|
|
56
56
|
const forwarder = createAntigravityInternalLogForwarder({
|
|
57
57
|
logPath,
|
|
58
|
-
triggerId:
|
|
58
|
+
triggerId: 'trigger-id',
|
|
59
59
|
pollMs: 20,
|
|
60
60
|
onLine: (line) => forwarded.push(line),
|
|
61
61
|
onActivity: () => {
|
|
62
62
|
activityCount += 1;
|
|
63
|
-
}
|
|
63
|
+
},
|
|
64
64
|
});
|
|
65
65
|
try {
|
|
66
|
-
await writeFile(logPath,
|
|
66
|
+
await writeFile(logPath, 'I0524 00:18:12.649978 87309 server_oauth.go:217] OAuth: authenticated successfully as user@example.com\n');
|
|
67
67
|
forwarder.start();
|
|
68
68
|
await sleep(60);
|
|
69
69
|
await appendFile(logPath, [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
].join(
|
|
70
|
+
'I0524 00:18:16.261389 87309 server.go:747] Created conversation 1e5397df-a0b6-4194-92e3-3de0084e8945',
|
|
71
|
+
'I0524 00:18:56.816107 87309 tool_confirmation_manager.go:72] Auto-approving tool confirmation: "Edit" at step 24',
|
|
72
|
+
'I0524 00:19:08.977946 87309 server.go:2160] Language server shutting down',
|
|
73
|
+
].join('\n'));
|
|
74
74
|
await sleep(60);
|
|
75
75
|
forwarder.stop();
|
|
76
76
|
await forwarder.flush();
|
|
77
77
|
assert.deepEqual(forwarded, [
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
'[Session] Authenticated as user@example.com',
|
|
79
|
+
'[Session] Conversation: 1e5397df',
|
|
80
|
+
'[Tool] Edit (step 24)',
|
|
81
|
+
'[Result] Session ended',
|
|
82
82
|
]);
|
|
83
83
|
assert.equal(activityCount, 4);
|
|
84
84
|
}
|
|
@@ -87,91 +87,91 @@ test("createAntigravityInternalLogForwarder polls appended lines without duplica
|
|
|
87
87
|
await rm(tempDir, { recursive: true, force: true });
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
|
-
test(
|
|
91
|
-
const tempDir = await mkdtemp(join(tmpdir(),
|
|
92
|
-
const logPath = join(tempDir,
|
|
90
|
+
test('createAntigravityInternalLogForwarder masks secrets and limits emitted lines each tick', async () => {
|
|
91
|
+
const tempDir = await mkdtemp(join(tmpdir(), 'agentteams-antigravity-'));
|
|
92
|
+
const logPath = join(tempDir, 'internal.log');
|
|
93
93
|
const forwarded = [];
|
|
94
94
|
const lines = [
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
...Array.from({ length: 25 }, (_, index) => `I0524 00:18:${String(index).padStart(2,
|
|
95
|
+
'E0524 00:18:12.410878 87309 server.go:604] Failed to call backend with Authorization: Bearer super-secret-token',
|
|
96
|
+
'E0524 00:18:12.410879 87309 server.go:604] Failed to call backend with api_key=abc123',
|
|
97
|
+
...Array.from({ length: 25 }, (_, index) => `I0524 00:18:${String(index).padStart(2, '0')}.816107 87309 tool_confirmation_manager.go:72] Auto-approving tool confirmation: "Edit" at step ${index}`),
|
|
98
98
|
];
|
|
99
99
|
const forwarder = createAntigravityInternalLogForwarder({
|
|
100
100
|
logPath,
|
|
101
|
-
triggerId:
|
|
102
|
-
onLine: (line) => forwarded.push(line)
|
|
101
|
+
triggerId: 'trigger-id',
|
|
102
|
+
onLine: (line) => forwarded.push(line),
|
|
103
103
|
});
|
|
104
104
|
try {
|
|
105
|
-
await writeFile(logPath, `${lines.join(
|
|
105
|
+
await writeFile(logPath, `${lines.join('\n')}\n`);
|
|
106
106
|
await forwarder.flush();
|
|
107
107
|
assert.equal(forwarded.length, 20);
|
|
108
|
-
assert.equal(forwarded[0],
|
|
109
|
-
assert.equal(forwarded[1],
|
|
110
|
-
assert.equal(forwarded.some((line) => line.includes(
|
|
108
|
+
assert.equal(forwarded[0], 'Failed to call backend with Authorization: Bearer [REDACTED]');
|
|
109
|
+
assert.equal(forwarded[1], 'Failed to call backend with api_key=[REDACTED]');
|
|
110
|
+
assert.equal(forwarded.some((line) => line.includes('super-secret-token') || line.includes('abc123')), false);
|
|
111
111
|
}
|
|
112
112
|
finally {
|
|
113
113
|
forwarder.stop();
|
|
114
114
|
await rm(tempDir, { recursive: true, force: true });
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
|
-
test(
|
|
118
|
-
const sanitized = sanitizeAntigravityInternalLogLine(
|
|
119
|
-
assert.equal(sanitized.includes(
|
|
120
|
-
assert.equal(sanitized.includes(
|
|
121
|
-
assert.equal(sanitized.includes(
|
|
117
|
+
test('sanitizeAntigravityInternalLogLine redacts token-like values', () => {
|
|
118
|
+
const sanitized = sanitizeAntigravityInternalLogLine('access_token: abc refresh_token=def cookie=sessionid token eyJabc.def.ghi');
|
|
119
|
+
assert.equal(sanitized.includes('abc'), false);
|
|
120
|
+
assert.equal(sanitized.includes('def'), false);
|
|
121
|
+
assert.equal(sanitized.includes('eyJabc.def.ghi'), false);
|
|
122
122
|
assert.match(sanitized, /\[REDACTED\]/);
|
|
123
123
|
});
|
|
124
|
-
test(
|
|
125
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
126
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
127
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
128
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
129
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
130
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
131
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
132
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
124
|
+
test('extractAntigravityReadableEvent returns readable events for whitelisted categories', () => {
|
|
125
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:18:12.649978 87309 server_oauth.go:217] OAuth: authenticated successfully as user@example.com'), { message: '[Session] Authenticated as user@example.com', level: 'INFO' });
|
|
126
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:18:12.413146 87309 common.go:156] project: using project "/Users/justin/Project/Me/AgentTeams" (id=341f61de-cb14-4ef7-a6a6-14dc43eb3e10) at /Users/justin/.gemini/config/projects/341f61de-cb14-4ef7-a6a6-14dc43eb3e10.json'), { message: '[Session] Project: AgentTeams (#341f61de)', level: 'INFO' });
|
|
127
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:18:12.413325 87309 printmode.go:71] Print mode: starting (promptLength=2066, model="", conversationID="")'), { message: '[Session] Session started (prompt=2066 chars)', level: 'INFO' });
|
|
128
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:18:15.228104 87309 model_config_manager.go:157] Propagating selected model override to backend: label="Gemini 3.5 Flash (Medium)"'), { message: '[Session] Model: Gemini 3.5 Flash (Medium)', level: 'INFO' });
|
|
129
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:18:16.261389 87309 server.go:747] Created conversation 1e5397df-a0b6-4194-92e3-3de0084e8945'), { message: '[Session] Conversation: 1e5397df', level: 'INFO' });
|
|
130
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:18:56.816107 87309 tool_confirmation_manager.go:72] Auto-approving tool confirmation: "Edit" at step 24'), { message: '[Tool] Edit (step 24)', level: 'INFO' });
|
|
131
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:19:08.955392 87309 text_drip.go:173] Drip stopped: lastStepIdx=29, charIdx=1037, length=1037'), { message: '[Result] Streamed 1037 chars', level: 'INFO' });
|
|
132
|
+
assert.deepEqual(extractAntigravityReadableEvent('I0524 00:19:08.977946 87309 server.go:2160] Language server shutting down'), { message: '[Result] Session ended', level: 'INFO' });
|
|
133
133
|
});
|
|
134
|
-
test(
|
|
134
|
+
test('extractAntigravityReadableEvent drops Antigravity infrastructure noise', () => {
|
|
135
135
|
const noiseLines = [
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
136
|
+
'I0524 00:18:14.247754 87309 http_helpers.go:182] URL: https://daily-cloudcode-pa.googleapis.com/v1internal:loadCodeAssist Trace: 0xe2ae4ed23f845f29',
|
|
137
|
+
'I0524 00:18:18.284057 87309 printmode_manager.go:90] PlannerResponse without ModifiedResponse encountered',
|
|
138
|
+
'W0524 00:18:12.402695 87309 log_context.go:117] Cache(loadCodeAssistResponse): Singleflight refresh failed: error getting token source: You are not logged into Antigravity.',
|
|
139
|
+
'I0524 00:18:19.937499 87309 manager.go:932] Reloading system slash commands',
|
|
140
|
+
'I0524 00:18:20.020009 87309 experiment_manager.go:39] Experiments refreshed after login',
|
|
141
|
+
'I0524 00:18:12.412605 87309 auto_updater.go:253] Spawned background update process with PID 87320',
|
|
142
|
+
'E0524 00:18:12.402172 87309 log.go:398] Failed to poll ListExperiments: error getting token source: You are not logged into Antigravity.',
|
|
143
143
|
];
|
|
144
144
|
for (const line of noiseLines) {
|
|
145
145
|
assert.equal(extractAntigravityReadableEvent(line), null, line);
|
|
146
146
|
}
|
|
147
147
|
});
|
|
148
|
-
test(
|
|
149
|
-
assert.deepEqual(extractAntigravityReadableEvent(
|
|
150
|
-
message:
|
|
151
|
-
level:
|
|
148
|
+
test('extractAntigravityReadableEvent forwards non-login errors as warnings', () => {
|
|
149
|
+
assert.deepEqual(extractAntigravityReadableEvent('E0524 00:18:12.413185 87309 common.go:188] Failed to resolve GeminiDir ".gemini": .gemini must be an absolute path: path is not absolute, falling back to default'), {
|
|
150
|
+
message: 'Failed to resolve GeminiDir ".gemini": .gemini must be an absolute path: path is not absolute, falling back to default',
|
|
151
|
+
level: 'WARN',
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
|
-
test(
|
|
155
|
-
const tempDir = await mkdtemp(join(tmpdir(),
|
|
156
|
-
const logPath = join(tempDir,
|
|
154
|
+
test('createAntigravityInternalLogForwarder emits model only once and routes warnings', async () => {
|
|
155
|
+
const tempDir = await mkdtemp(join(tmpdir(), 'agentteams-antigravity-'));
|
|
156
|
+
const logPath = join(tempDir, 'internal.log');
|
|
157
157
|
const forwarded = [];
|
|
158
158
|
const warnings = [];
|
|
159
159
|
const forwarder = createAntigravityInternalLogForwarder({
|
|
160
160
|
logPath,
|
|
161
|
-
triggerId:
|
|
161
|
+
triggerId: 'trigger-id',
|
|
162
162
|
onLine: (line) => forwarded.push(line),
|
|
163
|
-
onWarnLine: (line) => warnings.push(line)
|
|
163
|
+
onWarnLine: (line) => warnings.push(line),
|
|
164
164
|
});
|
|
165
165
|
try {
|
|
166
166
|
await writeFile(logPath, [
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
].join(
|
|
167
|
+
'I0524 00:18:15.228104 87309 model_config_manager.go:157] Propagating selected model override to backend: label="Gemini 3.5 Flash (Medium)"',
|
|
168
|
+
'I0524 00:18:19.079321 87309 model_config_manager.go:157] Propagating selected model override to backend: label="Gemini 3.5 Flash (Medium)"',
|
|
169
|
+
'E0524 00:18:12.413185 87309 common.go:188] Failed to resolve GeminiDir ".gemini": .gemini must be an absolute path: path is not absolute, falling back to default',
|
|
170
|
+
].join('\n'));
|
|
171
171
|
await forwarder.flush();
|
|
172
|
-
assert.deepEqual(forwarded, [
|
|
172
|
+
assert.deepEqual(forwarded, ['[Session] Model: Gemini 3.5 Flash (Medium)']);
|
|
173
173
|
assert.deepEqual(warnings, [
|
|
174
|
-
|
|
174
|
+
'Failed to resolve GeminiDir ".gemini": .gemini must be an absolute path: path is not absolute, falling back to default',
|
|
175
175
|
]);
|
|
176
176
|
}
|
|
177
177
|
finally {
|
|
@@ -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,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,qCAAqC,EACrC,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"antigravity.test.js","sourceRoot":"","sources":["../../src/runners/antigravity.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Runner, RunnerOptions, RunResult } from
|
|
1
|
+
import type { Runner, RunnerOptions, RunResult } from './types.js';
|
|
2
2
|
export declare const buildClaudeCodeArgs: (model?: string | null, fastMode?: boolean) => string[];
|
|
3
3
|
export declare const extractResultTextFromStreamJson: (outputText: string) => string;
|
|
4
4
|
export declare class ClaudeCodeRunner implements Runner {
|