@studio-foundation/runner 0.3.0-beta.6 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -10
- package/dist/__tests__/script-executor.test.js +57 -3
- package/dist/__tests__/script-executor.test.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/anonymization.d.ts +17 -2
- package/dist/middleware/anonymization.d.ts.map +1 -1
- package/dist/middleware/anonymization.js +37 -1
- package/dist/middleware/anonymization.js.map +1 -1
- package/dist/prompt-builder.d.ts +10 -6
- package/dist/prompt-builder.d.ts.map +1 -1
- package/dist/prompt-builder.js +27 -2
- package/dist/prompt-builder.js.map +1 -1
- package/dist/providers/claude-code-mcp-server.d.ts +15 -0
- package/dist/providers/claude-code-mcp-server.d.ts.map +1 -0
- package/dist/providers/claude-code-mcp-server.js +126 -0
- package/dist/providers/claude-code-mcp-server.js.map +1 -0
- package/dist/providers/claude-code-mcp-server.test.d.ts +2 -0
- package/dist/providers/claude-code-mcp-server.test.d.ts.map +1 -0
- package/dist/providers/claude-code-mcp-server.test.js +123 -0
- package/dist/providers/claude-code-mcp-server.test.js.map +1 -0
- package/dist/providers/claude-code.d.ts +23 -0
- package/dist/providers/claude-code.d.ts.map +1 -0
- package/dist/providers/claude-code.js +187 -0
- package/dist/providers/claude-code.js.map +1 -0
- package/dist/providers/claude-code.test.d.ts +2 -0
- package/dist/providers/claude-code.test.d.ts.map +1 -0
- package/dist/providers/claude-code.test.js +259 -0
- package/dist/providers/claude-code.test.js.map +1 -0
- package/dist/providers/registry.d.ts +3 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +4 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/registry.test.d.ts +2 -0
- package/dist/providers/registry.test.d.ts.map +1 -0
- package/dist/providers/registry.test.js +56 -0
- package/dist/providers/registry.test.js.map +1 -0
- package/dist/runner.d.ts +2 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +55 -8
- package/dist/runner.js.map +1 -1
- package/dist/runner.test.js +5 -2
- package/dist/runner.test.js.map +1 -1
- package/dist/script-executor.d.ts.map +1 -1
- package/dist/script-executor.js +16 -2
- package/dist/script-executor.js.map +1 -1
- package/dist/tools/tool-registry.d.ts +21 -4
- package/dist/tools/tool-registry.d.ts.map +1 -1
- package/dist/tools/tool-registry.js +55 -17
- package/dist/tools/tool-registry.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const claude_code_js_1 = require("./claude-code.js");
|
|
5
|
+
const node_events_1 = require("node:events");
|
|
6
|
+
const node_stream_1 = require("node:stream");
|
|
7
|
+
const { mockSpawn, MockClaudeCodeMcpServer } = vitest_1.vi.hoisted(() => {
|
|
8
|
+
const mockSpawn = vitest_1.vi.fn();
|
|
9
|
+
function MockClaudeCodeMcpServer() {
|
|
10
|
+
return {
|
|
11
|
+
start: vitest_1.vi.fn().mockResolvedValue(9999),
|
|
12
|
+
stop: vitest_1.vi.fn().mockResolvedValue(undefined),
|
|
13
|
+
getToolCalls: vitest_1.vi.fn().mockReturnValue([]),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return { mockSpawn, MockClaudeCodeMcpServer };
|
|
17
|
+
});
|
|
18
|
+
vitest_1.vi.mock('node:child_process', () => ({ spawn: mockSpawn }));
|
|
19
|
+
vitest_1.vi.mock('./claude-code-mcp-server.js', () => ({ ClaudeCodeMcpServer: MockClaudeCodeMcpServer }));
|
|
20
|
+
vitest_1.vi.mock('node:fs/promises', () => {
|
|
21
|
+
return {
|
|
22
|
+
writeFile: vitest_1.vi.fn().mockResolvedValue(undefined),
|
|
23
|
+
unlink: vitest_1.vi.fn().mockResolvedValue(undefined),
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
function makeFakeProcess(lines, exitCode = 0) {
|
|
27
|
+
const proc = new node_events_1.EventEmitter();
|
|
28
|
+
proc.stdout = new node_stream_1.Readable({ read() { } });
|
|
29
|
+
proc.stderr = new node_stream_1.Readable({ read() { } });
|
|
30
|
+
proc.stdinWritten = '';
|
|
31
|
+
proc.stdin = new node_stream_1.Writable({ write(chunk, _enc, cb) { proc.stdinWritten += String(chunk); cb(); } });
|
|
32
|
+
proc.kill = vitest_1.vi.fn();
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
for (const line of lines) {
|
|
35
|
+
proc.stdout.push(line + '\n');
|
|
36
|
+
}
|
|
37
|
+
proc.stdout.push(null);
|
|
38
|
+
proc.emit('close', exitCode);
|
|
39
|
+
}, 0);
|
|
40
|
+
return proc;
|
|
41
|
+
}
|
|
42
|
+
const BASE_REQUEST = {
|
|
43
|
+
model: 'claude-sonnet-4-5',
|
|
44
|
+
messages: [
|
|
45
|
+
{ role: 'system', content: 'You are helpful.' },
|
|
46
|
+
{ role: 'user', content: 'Hello' },
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
(0, vitest_1.describe)('ClaudeCodeProvider', () => {
|
|
50
|
+
(0, vitest_1.beforeEach)(() => {
|
|
51
|
+
vitest_1.vi.clearAllMocks();
|
|
52
|
+
});
|
|
53
|
+
(0, vitest_1.it)('has name "claude-code"', () => {
|
|
54
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider();
|
|
55
|
+
(0, vitest_1.expect)(provider.name).toBe('claude-code');
|
|
56
|
+
});
|
|
57
|
+
(0, vitest_1.it)('runAgentLoop returns content from result event', async () => {
|
|
58
|
+
const lines = [
|
|
59
|
+
JSON.stringify({ type: 'assistant', message: { content: [{ type: 'text', text: '{"summary":"done"}' }] } }),
|
|
60
|
+
JSON.stringify({ type: 'result', subtype: 'success', result: '{"summary":"done"}' }),
|
|
61
|
+
];
|
|
62
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
63
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
64
|
+
const result = await provider.runAgentLoop(BASE_REQUEST, vitest_1.vi.fn());
|
|
65
|
+
(0, vitest_1.expect)(result.content).toBe('{"summary":"done"}');
|
|
66
|
+
(0, vitest_1.expect)(result.finish_reason).toBe('stop');
|
|
67
|
+
});
|
|
68
|
+
(0, vitest_1.it)('streams tokens via onToken from assistant events', async () => {
|
|
69
|
+
const lines = [
|
|
70
|
+
JSON.stringify({ type: 'assistant', message: { content: [{ type: 'text', text: 'Hello' }] } }),
|
|
71
|
+
JSON.stringify({ type: 'assistant', message: { content: [{ type: 'text', text: ' world' }] } }),
|
|
72
|
+
JSON.stringify({ type: 'result', subtype: 'success', result: 'Hello world' }),
|
|
73
|
+
];
|
|
74
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
75
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
76
|
+
const tokens = [];
|
|
77
|
+
await provider.runAgentLoop(BASE_REQUEST, vitest_1.vi.fn(), t => tokens.push(t));
|
|
78
|
+
(0, vitest_1.expect)(tokens).toEqual(['Hello', ' world']);
|
|
79
|
+
});
|
|
80
|
+
(0, vitest_1.it)('spawns claude with --output-format stream-json, --model, and --mcp-config when tools are present', async () => {
|
|
81
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
82
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
83
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
84
|
+
const requestWithTools = {
|
|
85
|
+
...BASE_REQUEST,
|
|
86
|
+
tools: [{ name: 'echo', description: 'echo', parameters: { type: 'object', properties: {} } }],
|
|
87
|
+
};
|
|
88
|
+
await provider.runAgentLoop(requestWithTools, vitest_1.vi.fn());
|
|
89
|
+
const [cmd, args] = mockSpawn.mock.calls[0];
|
|
90
|
+
(0, vitest_1.expect)(cmd).toBe('claude');
|
|
91
|
+
(0, vitest_1.expect)(args).toContain('--output-format');
|
|
92
|
+
(0, vitest_1.expect)(args).toContain('stream-json');
|
|
93
|
+
(0, vitest_1.expect)(args).toContain('--model');
|
|
94
|
+
(0, vitest_1.expect)(args).toContain('claude-sonnet-4-5');
|
|
95
|
+
(0, vitest_1.expect)(args).toContain('--mcp-config');
|
|
96
|
+
// --strict-mcp-config pins the spawned claude to ONLY the studio MCP server,
|
|
97
|
+
// ignoring the user's global MCP servers (claude.ai Gmail/Drive/Linear/etc.)
|
|
98
|
+
// whose startup handshake otherwise hangs the subprocess and balloons cost.
|
|
99
|
+
(0, vitest_1.expect)(args).toContain('--strict-mcp-config');
|
|
100
|
+
// --output-format stream-json with --print REQUIRES --verbose; the old
|
|
101
|
+
// --no-verbose flag was removed from the claude CLI and now errors out.
|
|
102
|
+
(0, vitest_1.expect)(args).toContain('--verbose');
|
|
103
|
+
(0, vitest_1.expect)(args).not.toContain('--no-verbose');
|
|
104
|
+
});
|
|
105
|
+
(0, vitest_1.it)('sends the prompt on stdin and closes it, never in argv', async () => {
|
|
106
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
107
|
+
const proc = makeFakeProcess(lines);
|
|
108
|
+
mockSpawn.mockReturnValueOnce(proc);
|
|
109
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
110
|
+
await provider.runAgentLoop(BASE_REQUEST, vitest_1.vi.fn());
|
|
111
|
+
const [, args, options] = mockSpawn.mock.calls[0];
|
|
112
|
+
// A positional prompt caps every agent at MAX_ARG_STRLEN and fails with E2BIG
|
|
113
|
+
// before the process exists (STU-561) — the last arg must stay a flag.
|
|
114
|
+
(0, vitest_1.expect)(args.some(arg => arg.includes('Hello'))).toBe(false);
|
|
115
|
+
(0, vitest_1.expect)(args.at(-1)).toBe('--dangerously-skip-permissions');
|
|
116
|
+
(0, vitest_1.expect)(options.stdio[0]).toBe('pipe');
|
|
117
|
+
(0, vitest_1.expect)(proc.stdinWritten).toContain('Hello');
|
|
118
|
+
(0, vitest_1.expect)(proc.stdinWritten).toContain('You are helpful.');
|
|
119
|
+
// claude blocks forever on a pipe nobody closes; end() is what delivers the EOF.
|
|
120
|
+
(0, vitest_1.expect)(proc.stdin.writableEnded).toBe(true);
|
|
121
|
+
});
|
|
122
|
+
(0, vitest_1.it)('a prompt past MAX_ARG_STRLEN reaches a real process on stdin and cannot on argv', async () => {
|
|
123
|
+
// The reason the test above exists, against the real kernel rather than a mock:
|
|
124
|
+
// Linux caps one argv entry at 32 pages, so the old positional prompt made
|
|
125
|
+
// spawn throw E2BIG for any agent whose payload outgrew it (STU-561). This is
|
|
126
|
+
// not a Claude limit and no CLI flag lifts it — stdin is the only way through.
|
|
127
|
+
const { spawn: realSpawn } = await vitest_1.vi.importActual('node:child_process');
|
|
128
|
+
const huge = 'x'.repeat(512 * 1024);
|
|
129
|
+
(0, vitest_1.expect)(() => realSpawn('/bin/cat', [huge], { stdio: 'ignore' })).toThrow(/E2BIG/);
|
|
130
|
+
const received = await new Promise((resolve, reject) => {
|
|
131
|
+
const proc = realSpawn('/bin/cat', [], { stdio: ['pipe', 'pipe', 'ignore'] });
|
|
132
|
+
let out = 0;
|
|
133
|
+
proc.stdout.on('data', (chunk) => { out += chunk.length; });
|
|
134
|
+
proc.on('close', () => resolve(out));
|
|
135
|
+
proc.on('error', reject);
|
|
136
|
+
proc.stdin.end(huge);
|
|
137
|
+
});
|
|
138
|
+
(0, vitest_1.expect)(received).toBe(huge.length);
|
|
139
|
+
});
|
|
140
|
+
(0, vitest_1.it)('honors the per-agent model from request.model over the construction-time default', async () => {
|
|
141
|
+
// STU-429: the construction-time model (from config.claudeCode.model, i.e.
|
|
142
|
+
// defaults.model) is only a FALLBACK. When a stage's agent declares its own
|
|
143
|
+
// model, the engine resolves it into request.model — the provider must spawn
|
|
144
|
+
// claude with THAT model, not the default it was constructed with.
|
|
145
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
146
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
147
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' }); // default
|
|
148
|
+
const requestWithModel = { ...BASE_REQUEST, model: 'claude-opus-4-1' }; // per-agent override
|
|
149
|
+
await provider.runAgentLoop(requestWithModel, vitest_1.vi.fn());
|
|
150
|
+
const [, args] = mockSpawn.mock.calls[0];
|
|
151
|
+
const modelIdx = args.indexOf('--model');
|
|
152
|
+
(0, vitest_1.expect)(modelIdx).toBeGreaterThanOrEqual(0);
|
|
153
|
+
(0, vitest_1.expect)(args[modelIdx + 1]).toBe('claude-opus-4-1');
|
|
154
|
+
});
|
|
155
|
+
(0, vitest_1.it)('falls back to the construction-time default when request.model is absent', async () => {
|
|
156
|
+
// Direct callers (not the runner) may omit model; the construction default
|
|
157
|
+
// still applies as the fallback.
|
|
158
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
159
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
160
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
161
|
+
const requestNoModel = { ...BASE_REQUEST, model: undefined };
|
|
162
|
+
await provider.runAgentLoop(requestNoModel, vitest_1.vi.fn());
|
|
163
|
+
const [, args] = mockSpawn.mock.calls[0];
|
|
164
|
+
const modelIdx = args.indexOf('--model');
|
|
165
|
+
(0, vitest_1.expect)(args[modelIdx + 1]).toBe('claude-sonnet-4-5');
|
|
166
|
+
});
|
|
167
|
+
(0, vitest_1.it)('skips the MCP server and --mcp-config when there are no tools', async () => {
|
|
168
|
+
// Attaching the HTTP MCP server makes the claude CLI hang on the streamable-http
|
|
169
|
+
// handshake; a tool-less agent (e.g. a pure classifier) needs no MCP server.
|
|
170
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
171
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
172
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
173
|
+
const result = await provider.runAgentLoop(BASE_REQUEST, vitest_1.vi.fn()); // BASE_REQUEST has no tools
|
|
174
|
+
const [, args] = mockSpawn.mock.calls[0];
|
|
175
|
+
(0, vitest_1.expect)(args).not.toContain('--mcp-config');
|
|
176
|
+
// No --mcp-config here, but --strict-mcp-config still matters: it stops the
|
|
177
|
+
// CLI from loading the user's global MCP servers, which otherwise inject ~88k
|
|
178
|
+
// tokens of tool defs per call (~15x cost) and can hang on their handshake.
|
|
179
|
+
(0, vitest_1.expect)(args).toContain('--strict-mcp-config');
|
|
180
|
+
(0, vitest_1.expect)(args).toContain('--verbose');
|
|
181
|
+
// built-in tools disabled for a single-turn pure completion (no agentic roaming),
|
|
182
|
+
// and the empty value must sit before a flag so the variadic doesn't eat the prompt.
|
|
183
|
+
const toolsIdx = args.indexOf('--tools');
|
|
184
|
+
(0, vitest_1.expect)(toolsIdx).toBeGreaterThanOrEqual(0);
|
|
185
|
+
(0, vitest_1.expect)(args[toolsIdx + 1]).toBe('');
|
|
186
|
+
(0, vitest_1.expect)(args[toolsIdx + 2]).toMatch(/^--/);
|
|
187
|
+
(0, vitest_1.expect)(result.tool_calls).toEqual([]);
|
|
188
|
+
});
|
|
189
|
+
(0, vitest_1.it)('never leaves claude an open stdin pipe (else --print hangs waiting for EOF)', async () => {
|
|
190
|
+
// ROOT CAUSE of the studio classify hang: an open, non-TTY stdin nobody closes.
|
|
191
|
+
// claude 2.1.37 blocks waiting for its EOF and never emits output, so Studio
|
|
192
|
+
// cancels it (0 tool calls / 0 tokens). The prompt now travels on that pipe, so
|
|
193
|
+
// the guard is no longer stdio[0]='ignore' — it is that the pipe always ends.
|
|
194
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
195
|
+
const proc = makeFakeProcess(lines);
|
|
196
|
+
mockSpawn.mockReturnValueOnce(proc);
|
|
197
|
+
await new claude_code_js_1.ClaudeCodeProvider().runAgentLoop(BASE_REQUEST, vitest_1.vi.fn());
|
|
198
|
+
(0, vitest_1.expect)(proc.stdin.writableEnded).toBe(true);
|
|
199
|
+
});
|
|
200
|
+
(0, vitest_1.it)('logs lifecycle to stderr only when STUDIO_LOG_CLAUDE_CODE is set', async () => {
|
|
201
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: 'ok' })];
|
|
202
|
+
const writes = [];
|
|
203
|
+
const spy = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(((s) => {
|
|
204
|
+
writes.push(String(s));
|
|
205
|
+
return true;
|
|
206
|
+
}));
|
|
207
|
+
try {
|
|
208
|
+
// Off by default: no diagnostic lines.
|
|
209
|
+
delete process.env.STUDIO_LOG_CLAUDE_CODE;
|
|
210
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
211
|
+
await new claude_code_js_1.ClaudeCodeProvider().runAgentLoop(BASE_REQUEST, vitest_1.vi.fn());
|
|
212
|
+
(0, vitest_1.expect)(writes.some(w => w.includes('[claude-code]'))).toBe(false);
|
|
213
|
+
// On when the env var is set: spawn + close lifecycle lines on stderr.
|
|
214
|
+
process.env.STUDIO_LOG_CLAUDE_CODE = '1';
|
|
215
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
216
|
+
await new claude_code_js_1.ClaudeCodeProvider().runAgentLoop(BASE_REQUEST, vitest_1.vi.fn());
|
|
217
|
+
(0, vitest_1.expect)(writes.some(w => w.includes('[claude-code] spawn'))).toBe(true);
|
|
218
|
+
(0, vitest_1.expect)(writes.some(w => w.includes('[claude-code] close'))).toBe(true);
|
|
219
|
+
}
|
|
220
|
+
finally {
|
|
221
|
+
delete process.env.STUDIO_LOG_CLAUDE_CODE;
|
|
222
|
+
spy.mockRestore();
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
(0, vitest_1.it)('throws when claude exits non-zero with no result event', async () => {
|
|
226
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess([], 1));
|
|
227
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider();
|
|
228
|
+
await (0, vitest_1.expect)(provider.runAgentLoop(BASE_REQUEST, vitest_1.vi.fn())).rejects.toThrow(/claude -p exited/i);
|
|
229
|
+
});
|
|
230
|
+
(0, vitest_1.it)('aborts child process when signal fires', async () => {
|
|
231
|
+
const controller = new AbortController();
|
|
232
|
+
// Long-running proc that never closes on its own
|
|
233
|
+
const proc = new node_events_1.EventEmitter();
|
|
234
|
+
proc.stdout = new node_stream_1.Readable({ read() { } });
|
|
235
|
+
proc.stderr = new node_stream_1.Readable({ read() { } });
|
|
236
|
+
proc.stdin = new node_stream_1.Writable({ write(_c, _e, cb) { cb(); } });
|
|
237
|
+
proc.kill = vitest_1.vi.fn();
|
|
238
|
+
mockSpawn.mockReturnValueOnce(proc);
|
|
239
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider();
|
|
240
|
+
const promise = provider.runAgentLoop(BASE_REQUEST, vitest_1.vi.fn(), undefined, controller.signal);
|
|
241
|
+
// Wait for spawn to be called and listeners to be set up
|
|
242
|
+
await Promise.resolve();
|
|
243
|
+
await Promise.resolve();
|
|
244
|
+
controller.abort();
|
|
245
|
+
// Simulate OS sending signal back as close event
|
|
246
|
+
proc.emit('close', 130);
|
|
247
|
+
await (0, vitest_1.expect)(promise).rejects.toThrow(/aborted/i);
|
|
248
|
+
(0, vitest_1.expect)(proc.kill).toHaveBeenCalled();
|
|
249
|
+
});
|
|
250
|
+
(0, vitest_1.it)('call() delegates to runAgentLoop and returns LLMResponse shape', async () => {
|
|
251
|
+
const lines = [JSON.stringify({ type: 'result', subtype: 'success', result: '{"answer":42}' })];
|
|
252
|
+
mockSpawn.mockReturnValueOnce(makeFakeProcess(lines));
|
|
253
|
+
const provider = new claude_code_js_1.ClaudeCodeProvider({ model: 'claude-sonnet-4-5' });
|
|
254
|
+
const result = await provider.call(BASE_REQUEST);
|
|
255
|
+
(0, vitest_1.expect)(result.content).toBe('{"answer":42}');
|
|
256
|
+
(0, vitest_1.expect)(result.finish_reason).toBe('stop');
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
//# sourceMappingURL=claude-code.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.test.js","sourceRoot":"","sources":["../../src/providers/claude-code.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAO9C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAoC;IAErD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIlC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAU3B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,eAAe,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC,GAAG,gBAAgB,CAwBnB"}
|
|
@@ -9,6 +9,7 @@ const openai_js_1 = require("./openai.js");
|
|
|
9
9
|
const anthropic_js_1 = require("./anthropic.js");
|
|
10
10
|
const openai_responses_js_1 = require("./openai-responses.js");
|
|
11
11
|
const ollama_js_1 = require("./ollama.js");
|
|
12
|
+
const claude_code_js_1 = require("./claude-code.js");
|
|
12
13
|
class ProviderRegistry {
|
|
13
14
|
providers = new Map();
|
|
14
15
|
/**
|
|
@@ -60,6 +61,9 @@ function createDefaultRegistry(config) {
|
|
|
60
61
|
if (config.ollama) {
|
|
61
62
|
registry.register(new ollama_js_1.OllamaProvider(config.ollama.baseUrl));
|
|
62
63
|
}
|
|
64
|
+
if (config.claudeCode) {
|
|
65
|
+
registry.register(new claude_code_js_1.ClaudeCodeProvider({ model: config.claudeCode.model }));
|
|
66
|
+
}
|
|
63
67
|
return registry;
|
|
64
68
|
}
|
|
65
69
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAkDH,sDA8BC;AA7ED,2CAA6C;AAC7C,iDAAmD;AACnD,+DAAgE;AAChE,2CAA6C;AAC7C,qDAAsD;AAEtD,MAAa,gBAAgB;IACnB,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,QAAkB;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,0BAA0B,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AApCD,4CAoCC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,MAMrC;IACC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAExC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,0BAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,QAAQ,CAAC,QAAQ,CAAC,IAAI,gCAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,6CAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,QAAQ,CAAC,IAAI,0BAAc,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,IAAI,mCAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../../src/providers/registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const vitest_1 = require("vitest");
|
|
37
|
+
const registry_js_1 = require("./registry.js");
|
|
38
|
+
vitest_1.vi.mock('./claude-code.js', () => ({
|
|
39
|
+
ClaudeCodeProvider: vitest_1.vi.fn(function () { this.name = 'claude-code'; }),
|
|
40
|
+
}));
|
|
41
|
+
(0, vitest_1.describe)('createDefaultRegistry — claudeCode', () => {
|
|
42
|
+
(0, vitest_1.it)('does not register claude-code when claudeCode config is absent', () => {
|
|
43
|
+
const registry = (0, registry_js_1.createDefaultRegistry)({});
|
|
44
|
+
(0, vitest_1.expect)(registry.has('claude-code')).toBe(false);
|
|
45
|
+
});
|
|
46
|
+
(0, vitest_1.it)('registers claude-code when claudeCode config is present', () => {
|
|
47
|
+
const registry = (0, registry_js_1.createDefaultRegistry)({ claudeCode: {} });
|
|
48
|
+
(0, vitest_1.expect)(registry.has('claude-code')).toBe(true);
|
|
49
|
+
});
|
|
50
|
+
(0, vitest_1.it)('passes model from claudeCode config to ClaudeCodeProvider', async () => {
|
|
51
|
+
const { ClaudeCodeProvider } = await Promise.resolve().then(() => __importStar(require('./claude-code.js')));
|
|
52
|
+
(0, registry_js_1.createDefaultRegistry)({ claudeCode: { model: 'claude-haiku-4-5' } });
|
|
53
|
+
(0, vitest_1.expect)(ClaudeCodeProvider).toHaveBeenCalledWith({ model: 'claude-haiku-4-5' });
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=registry.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../src/providers/registry.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkD;AAClD,+CAAsD;AAEtD,WAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,kBAAkB,EAAE,WAAE,CAAC,EAAE,CAAC,cAAoC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5F,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAA,WAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG,IAAA,mCAAqB,EAAC,EAAE,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,QAAQ,GAAG,IAAA,mCAAqB,EAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAA,eAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QAChE,IAAA,mCAAqB,EAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACrE,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/runner.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { type TaskInput, type AgentContext, type ExecutionContext } from './prom
|
|
|
6
6
|
import type { ToolRegistry } from './tools/tool-registry.js';
|
|
7
7
|
import type { ProviderRegistry } from './providers/registry.js';
|
|
8
8
|
import type { AnonymizationMiddleware } from './middleware/anonymization.js';
|
|
9
|
+
/** Prefix used to identify unauthorized tool calls in error messages. */
|
|
10
|
+
export declare const UNAUTHORIZED_TOOL_ERROR_PREFIX = "Unauthorized tool call:";
|
|
9
11
|
export interface RunAgentConfig {
|
|
10
12
|
agent: ResolvedAgentConfig;
|
|
11
13
|
task: TaskInput;
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAW,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzI,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAW,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzI,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,sHAAsH;IACtH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA0W9E"}
|
package/dist/runner.js
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
* Main agent runner function - executes agent with LLM + tools
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.UNAUTHORIZED_TOOL_ERROR_PREFIX = void 0;
|
|
6
7
|
exports.runAgent = runAgent;
|
|
7
8
|
const prompt_builder_js_1 = require("./prompt-builder.js");
|
|
8
9
|
const tool_executor_js_1 = require("./tools/tool-executor.js");
|
|
9
10
|
const provider_js_1 = require("./providers/provider.js");
|
|
11
|
+
/** Prefix used to identify unauthorized tool calls in error messages. */
|
|
12
|
+
exports.UNAUTHORIZED_TOOL_ERROR_PREFIX = 'Unauthorized tool call:';
|
|
10
13
|
const DEFAULT_MAX_TOOL_CALLS = 20; // Safety limit for tool calling loop
|
|
11
14
|
/**
|
|
12
15
|
* Run an agent task with LLM + tool execution
|
|
@@ -24,15 +27,24 @@ async function runAgent(config) {
|
|
|
24
27
|
const mw = config.anonymizationMiddleware;
|
|
25
28
|
// Get provider
|
|
26
29
|
const provider = providerRegistry.get(agent.provider);
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
// Strict whitelist: filter to declared tools, or empty registry if tools is absent/empty.
|
|
31
|
+
// tools: ['a', 'b'] → only a and b visible to LLM
|
|
32
|
+
// tools: [] → no tools visible
|
|
33
|
+
// tools: undefined → no tools visible (whitelist-by-default)
|
|
34
|
+
const allowedTools = toolRegistry.filter(agent.tools ?? [], { agentName: agent.name });
|
|
31
35
|
const promptSnippets = allowedTools.getActiveSnippets();
|
|
32
|
-
// Injection point 1: Anonymize task input
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
// Injection point 1: Anonymize task input BEFORE building the prompt — the
|
|
37
|
+
// middleware sees structured fields (or the flat description), never an
|
|
38
|
+
// assembled prompt string.
|
|
39
|
+
let taskForPrompt = task;
|
|
40
|
+
if (mw) {
|
|
41
|
+
if ((0, prompt_builder_js_1.hasFields)(task)) {
|
|
42
|
+
taskForPrompt = { ...task, fields: await mw.anonymizeFields(task.fields, task.anonymize_fields) };
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
taskForPrompt = { ...task, description: mw.anonymize(task.description) };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
36
48
|
// Build initial prompt
|
|
37
49
|
const messages = (0, prompt_builder_js_1.buildPrompt)({
|
|
38
50
|
agent,
|
|
@@ -85,6 +97,18 @@ async function runAgent(config) {
|
|
|
85
97
|
}
|
|
86
98
|
const executed = await toolExecutor.execute({ id: callId, name, arguments: args });
|
|
87
99
|
allToolCalls.push(executed);
|
|
100
|
+
// Hallucination guard: tool not in whitelist → terminal stage error (RALPH fails, not retries)
|
|
101
|
+
if (executed.error?.startsWith('Tool not found:')) {
|
|
102
|
+
const unauthorizedError = `${exports.UNAUTHORIZED_TOOL_ERROR_PREFIX} agent attempted to use '${name}', which is not in its allowed tool list`;
|
|
103
|
+
config.callbacks?.onToolCallComplete?.({
|
|
104
|
+
tool: name,
|
|
105
|
+
result: undefined,
|
|
106
|
+
error: unauthorizedError,
|
|
107
|
+
duration_ms: Date.now() - tcStart,
|
|
108
|
+
timestamp: Date.now(),
|
|
109
|
+
});
|
|
110
|
+
return { result: undefined, error: unauthorizedError };
|
|
111
|
+
}
|
|
88
112
|
config.callbacks?.onToolCallComplete?.({
|
|
89
113
|
tool: name,
|
|
90
114
|
result: executed.result,
|
|
@@ -213,6 +237,29 @@ async function runAgent(config) {
|
|
|
213
237
|
name: tc.name,
|
|
214
238
|
arguments: tc.arguments,
|
|
215
239
|
});
|
|
240
|
+
// Hallucination guard: tool not in whitelist → terminal stage error
|
|
241
|
+
if (executed.error?.startsWith('Tool not found:')) {
|
|
242
|
+
const unauthorizedError = `${exports.UNAUTHORIZED_TOOL_ERROR_PREFIX} agent attempted to use '${tc.name}', which is not in its allowed tool list`;
|
|
243
|
+
executed = { ...executed, error: unauthorizedError };
|
|
244
|
+
allToolCalls.push(executed);
|
|
245
|
+
config.callbacks?.onToolCallComplete?.({
|
|
246
|
+
tool: tc.name,
|
|
247
|
+
result: undefined,
|
|
248
|
+
error: unauthorizedError,
|
|
249
|
+
duration_ms: Date.now() - tcStart,
|
|
250
|
+
timestamp: Date.now(),
|
|
251
|
+
});
|
|
252
|
+
const duration = Date.now() - startTime;
|
|
253
|
+
return {
|
|
254
|
+
output: null,
|
|
255
|
+
tool_calls: allToolCalls,
|
|
256
|
+
tool_calls_count: 0,
|
|
257
|
+
raw_response: lastResponse,
|
|
258
|
+
duration_ms: duration,
|
|
259
|
+
token_usage: tokenAccumulator.total_tokens > 0 ? tokenAccumulator : undefined,
|
|
260
|
+
error: unauthorizedError,
|
|
261
|
+
};
|
|
262
|
+
}
|
|
216
263
|
}
|
|
217
264
|
executedToolCalls.push(executed);
|
|
218
265
|
allToolCalls.push(executed);
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAkDH,4BA6TC;AA5WD,2DAA4G;AAE5G,+DAAwD;AAExD,yDAA8D;AAgC9D,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,qCAAqC;AAExE;;;;;;;;GAQG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClG,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACnE,MAAM,EAAE,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAE1C,eAAe;IACf,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtD,yDAAyD;IACzD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACxD,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,YAAY,CAAC;IAEjB,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAExD,iEAAiE;IACjE,MAAM,aAAa,GAAG,EAAE;QACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QAC1D,CAAC,CAAC,IAAI,CAAC;IAET,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,+BAAW,EAAC;QAC3B,KAAK;QACL,IAAI,EAAE,aAAa;QACnB,OAAO;QACP,gBAAgB;QAChB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAEzD,gBAAgB;IAChB,MAAM,YAAY,GAAG,IAAI,+BAAY,CAAC,YAAY,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,MAAM,YAAY,GAAe,EAAE,CAAC;IAEpC,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAErF,6FAA6F;IAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,YAAY;QAC5C,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,SAAU,CAAC,YAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACtF,CAAC,CAAC,SAAS,CAAC;IAEd,mFAAmF;IACnF,IAAI,IAAA,iCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC5C;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ;YACR,KAAK,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC/D,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;SAC/B,EACD,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;gBAClC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YAEH,4DAA4D;YAC5D,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAa;wBAC5B,EAAE,EAAE,MAAM;wBACV,IAAI;wBACJ,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,iCAAiC;qBAC5D,CAAC;oBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5B,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;gBACrC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YAEH,0GAA0G;YAC1G,IAAI,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;gBACpC,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;oBACnC,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,oEAAoE;YACpE,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,IAAI,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC;oBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,MAAM,GAAG,SAAS,CAAC;gBAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC3C,CAAC,EACD,OAAO,EACP,MAAM,CACP,CAAC;QAEF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,gBAAgB,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;YACjE,gBAAgB,CAAC,iBAAiB,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACzE,gBAAgB,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;QACjE,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO;YACL,MAAM;YACN,UAAU,EAAE,YAAY;YACxB,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM;YAC7D,YAAY,EAAE;gBACZ,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpG,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB;YACD,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SAC9E,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,IAAI,eAAe,GAAc,QAAQ,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAuB,IAAI,CAAC;IAE5C,OAAO,UAAU,GAAG,YAAY,EAAE,CAAC;QACjC,4CAA4C;QAC5C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,YAAY,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;QAED,WAAW;QACX,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC/D,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;SAChC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpB,YAAY,GAAG,QAAQ,CAAC;QAExB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,gBAAgB,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/D,gBAAgB,CAAC,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACvE,gBAAgB,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/D,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,6CAA6C;YAC7C,MAAM;QACR,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,iBAAiB,GAAe,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,4BAA4B;QAE9E,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;gBAClC,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,MAAM,EAAE,EAAE,CAAC,SAAS;gBACpB,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YAEH,4DAA4D;YAC5D,IAAI,QAAmB,CAAC;YACxB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;oBACpD,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,EAAE,CAAC,SAAS;oBACpB,SAAS,EAAE,OAAO;iBACnB,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;oBAClB,QAAQ,GAAG;wBACT,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,iCAAiC;qBAC5D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;oBACpC,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,SAAS,EAAE,EAAE,CAAC,SAAS;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;oBACrC,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;oBACtD,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,EAAE,CAAC,SAAS;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;SAChC,CAAC,CAAC;QAEH,oCAAoC;QACpC,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACpD,IAAI,GAAW,CAAC;YAChB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,GAAG,GAAG,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,CAAC;YACD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,GAAG,IAAI,uBAAuB,SAAS,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,iBAAiB,GAAG,8BAA8B,kBAAkB,EAAE,CAAC;QAC7E,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,MAAM;YACZ,0EAA0E;YAC1E,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB;SAClE,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,YAAY;YACxB,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM;YAC7D,YAAY,EAAE,YAAa;YAC3B,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;YAC7E,KAAK,EAAE,oCAAoC,YAAY,oCAAoC;SAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;IACtF,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO;QACL,MAAM;QACN,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM;QAC7D,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,2BAA2B;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,0CAA0C;IAC1C,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9E,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,4CAA4C;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,uEAAuE;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqDH,4BA0WC;AA5ZD,2DAAuH;AAEvH,+DAAwD;AAExD,yDAA8D;AAG9D,yEAAyE;AAC5D,QAAA,8BAA8B,GAAG,yBAAyB,CAAC;AA+BxE,MAAM,sBAAsB,GAAG,EAAE,CAAC,CAAC,qCAAqC;AAExE;;;;;;;;GAQG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAClG,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACnE,MAAM,EAAE,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAE1C,eAAe;IACf,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtD,0FAA0F;IAC1F,kDAAkD;IAClD,wCAAwC;IACxC,+DAA+D;IAC/D,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvF,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAExD,2EAA2E;IAC3E,wEAAwE;IACxE,2BAA2B;IAC3B,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,EAAE,CAAC;QACP,IAAI,IAAA,6BAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YACpB,aAAa,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrG,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,+BAAW,EAAC;QAC3B,KAAK;QACL,IAAI,EAAE,aAAa;QACnB,OAAO;QACP,gBAAgB;QAChB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAEzD,gBAAgB;IAChB,MAAM,YAAY,GAAG,IAAI,+BAAY,CAAC,YAAY,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,MAAM,YAAY,GAAe,EAAE,CAAC;IAEpC,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAErF,6FAA6F;IAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,YAAY;QAC5C,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,SAAU,CAAC,YAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACtF,CAAC,CAAC,SAAS,CAAC;IAEd,mFAAmF;IACnF,IAAI,IAAA,iCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC5C;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ;YACR,KAAK,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC/D,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;SAC/B,EACD,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;gBAClC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YAEH,4DAA4D;YAC5D,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAa;wBAC5B,EAAE,EAAE,MAAM;wBACV,IAAI;wBACJ,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,iCAAiC;qBAC5D,CAAC;oBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5B,+FAA+F;YAC/F,IAAI,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClD,MAAM,iBAAiB,GAAG,GAAG,sCAA8B,4BAA4B,IAAI,0CAA0C,CAAC;gBACtI,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;oBACrC,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,iBAAiB;oBACxB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;YACzD,CAAC;YAED,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;gBACrC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YAEH,0GAA0G;YAC1G,IAAI,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;gBACpC,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;oBACnC,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,oEAAoE;YACpE,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,IAAI,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC;oBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,MAAM,GAAG,SAAS,CAAC;gBAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC3C,CAAC,EACD,OAAO,EACP,MAAM,CACP,CAAC;QAEF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,gBAAgB,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;YACjE,gBAAgB,CAAC,iBAAiB,IAAI,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACzE,gBAAgB,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;QACjE,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO;YACL,MAAM;YACN,UAAU,EAAE,YAAY;YACxB,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM;YAC7D,YAAY,EAAE;gBACZ,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpG,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB;YACD,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SAC9E,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,IAAI,eAAe,GAAc,QAAQ,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAuB,IAAI,CAAC;IAE5C,OAAO,UAAU,GAAG,YAAY,EAAE,CAAC;QACjC,4CAA4C;QAC5C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,YAAY,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;QAED,WAAW;QACX,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAC/D,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;SAChC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpB,YAAY,GAAG,QAAQ,CAAC;QAExB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,gBAAgB,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/D,gBAAgB,CAAC,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACvE,gBAAgB,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/D,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,6CAA6C;YAC7C,MAAM;QACR,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,iBAAiB,GAAe,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,4BAA4B;QAE9E,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;gBAClC,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,MAAM,EAAE,EAAE,CAAC,SAAS;gBACpB,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YAEH,4DAA4D;YAC5D,IAAI,QAAmB,CAAC;YACxB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;oBACpD,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,EAAE,CAAC,SAAS;oBACpB,SAAS,EAAE,OAAO;iBACnB,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;oBAClB,QAAQ,GAAG;wBACT,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,iCAAiC;qBAC5D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;oBACpC,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,SAAS,EAAE,EAAE,CAAC,SAAS;iBACxB,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,IAAI,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAClD,MAAM,iBAAiB,GAAG,GAAG,sCAA8B,4BAA4B,EAAE,CAAC,IAAI,0CAA0C,CAAC;oBACzI,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;oBACrD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;wBACrC,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;wBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBACxC,OAAO;wBACL,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,YAAY;wBACxB,gBAAgB,EAAE,CAAC;wBACnB,YAAY,EAAE,YAAa;wBAC3B,WAAW,EAAE,QAAQ;wBACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;wBAC7E,KAAK,EAAE,iBAAiB;qBACzB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC;oBACrC,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;oBACtD,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,EAAE,CAAC,SAAS;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;SAChC,CAAC,CAAC;QAEH,oCAAoC;QACpC,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACpD,IAAI,GAAW,CAAC;YAChB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,GAAG,GAAG,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,QAAQ,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,CAAC;YACD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,GAAG,IAAI,uBAAuB,SAAS,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,iBAAiB,GAAG,8BAA8B,kBAAkB,EAAE,CAAC;QAC7E,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,MAAM;YACZ,0EAA0E;YAC1E,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB;SAClE,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC;IACf,CAAC;IAED,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,YAAY;YACxB,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM;YAC7D,YAAY,EAAE,YAAa;YAC3B,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;YAC7E,KAAK,EAAE,oCAAoC,YAAY,oCAAoC;SAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;IACtF,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO;QACL,MAAM;QACN,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM;QAC7D,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,2BAA2B;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,0CAA0C;IAC1C,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9E,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,4CAA4C;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,uEAAuE;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/runner.test.js
CHANGED
|
@@ -56,6 +56,7 @@ function makeConfig(toolCallName, toolCallArgs) {
|
|
|
56
56
|
name: 'test-agent',
|
|
57
57
|
provider: 'mock',
|
|
58
58
|
model: 'mock',
|
|
59
|
+
tools: ['repo_manager-write_file'],
|
|
59
60
|
};
|
|
60
61
|
return { agent, toolRegistry, providerRegistry, mockExecute };
|
|
61
62
|
}
|
|
@@ -86,7 +87,7 @@ class LoopingProvider {
|
|
|
86
87
|
const loopingProvider = new LoopingProvider();
|
|
87
88
|
const providerRegistry = new registry_js_1.ProviderRegistry();
|
|
88
89
|
providerRegistry.register(loopingProvider);
|
|
89
|
-
const agent = { name: 'test-agent', provider: 'looping-mock', model: 'mock' };
|
|
90
|
+
const agent = { name: 'test-agent', provider: 'looping-mock', model: 'mock', tools: ['repo_manager-write_file'] };
|
|
90
91
|
const result = await (0, runner_js_1.runAgent)({
|
|
91
92
|
agent,
|
|
92
93
|
task: { description: 'write a file' },
|
|
@@ -111,7 +112,7 @@ class LoopingProvider {
|
|
|
111
112
|
});
|
|
112
113
|
const providerRegistry = new registry_js_1.ProviderRegistry();
|
|
113
114
|
providerRegistry.register(new LoopingProvider());
|
|
114
|
-
const agent = { name: 'test-agent', provider: 'looping-mock', model: 'mock' };
|
|
115
|
+
const agent = { name: 'test-agent', provider: 'looping-mock', model: 'mock', tools: ['repo_manager-write_file'] };
|
|
115
116
|
const result = await (0, runner_js_1.runAgent)({
|
|
116
117
|
agent,
|
|
117
118
|
task: { description: 'write a file' },
|
|
@@ -180,6 +181,7 @@ class LoopingProvider {
|
|
|
180
181
|
name: 'test-agent',
|
|
181
182
|
provider: 'standard-mock',
|
|
182
183
|
model: 'mock',
|
|
184
|
+
tools: ['repo_manager-write_file'],
|
|
183
185
|
};
|
|
184
186
|
const onPreToolUse = vitest_1.vi.fn().mockResolvedValue({ blocked: true, error: 'standard-path blocked' });
|
|
185
187
|
const result = await (0, runner_js_1.runAgent)({
|
|
@@ -256,6 +258,7 @@ class LoopingProvider {
|
|
|
256
258
|
name: 'test-agent',
|
|
257
259
|
provider: 'standard-mock',
|
|
258
260
|
model: 'mock',
|
|
261
|
+
tools: ['repo_manager-write_file'],
|
|
259
262
|
};
|
|
260
263
|
const onPostToolUse = vitest_1.vi.fn().mockResolvedValue({
|
|
261
264
|
append_message: 'prettier ran and formatted the file',
|