@scottwalker/claude-connector 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -1
- package/dist/client/claude.d.ts +70 -27
- package/dist/client/claude.d.ts.map +1 -1
- package/dist/client/claude.js +145 -26
- package/dist/client/claude.js.map +1 -1
- package/dist/client/stream-handle.d.ts +12 -12
- package/dist/client/stream-handle.d.ts.map +1 -1
- package/dist/client/stream-handle.js +26 -11
- package/dist/client/stream-handle.js.map +1 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/executor/cli-executor.d.ts.map +1 -1
- package/dist/executor/cli-executor.js +27 -0
- package/dist/executor/cli-executor.js.map +1 -1
- package/dist/executor/interface.d.ts +5 -0
- package/dist/executor/interface.d.ts.map +1 -1
- package/dist/executor/sdk-executor.d.ts +138 -22
- package/dist/executor/sdk-executor.d.ts.map +1 -1
- package/dist/executor/sdk-executor.js +387 -53
- package/dist/executor/sdk-executor.js.map +1 -1
- package/dist/index.d.ts +72 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -4
- package/dist/index.js.map +1 -1
- package/dist/types/client.d.ts +343 -3
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/result.d.ts +116 -1
- package/dist/types/result.d.ts.map +1 -1
- package/package.json +7 -2
|
@@ -1,41 +1,35 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
-
import {
|
|
2
|
+
import { CliExecutionError } from '../errors/errors.js';
|
|
3
|
+
import { INIT_IMPORTING, INIT_CREATING, INIT_CONNECTING, INIT_READY, DEFAULT_MODEL, INIT_EVENT_STAGE, INIT_EVENT_READY, INIT_EVENT_ERROR, SYSTEM_INIT, EVENT_SYSTEM, EVENT_RESULT, EVENT_TEXT, EVENT_TOOL_USE, EVENT_TASK_STARTED, EVENT_TASK_PROGRESS, EVENT_TASK_NOTIFICATION, ROLE_ASSISTANT, KEY_MESSAGE, KEY_CONTENT, KEY_TYPE, KEY_TEXT, BLOCK_TOOL_USE, KEY_NAME, KEY_INPUT, KEY_RESULT, KEY_SESSION_ID, KEY_USAGE, KEY_INPUT_TOKENS, KEY_OUTPUT_TOKENS, KEY_TOTAL_COST, KEY_DURATION, KEY_MODEL, KEY_TOOLS, KEY_SUBTYPE, FLAGS_WITH_VALUE, FORMAT_JSON, FORMAT_STREAM_JSON, } from '../constants.js';
|
|
3
4
|
/**
|
|
4
|
-
* Executor implementation using the Claude Agent SDK (
|
|
5
|
+
* Executor implementation using the Claude Agent SDK (V1 query API).
|
|
5
6
|
*
|
|
6
|
-
* ## Why
|
|
7
|
+
* ## Why V1 instead of V2
|
|
7
8
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* `SdkExecutor` solves this by creating a **persistent SDK session** via
|
|
13
|
-
* `unstable_v2_createSession()`. The session stays warm — subsequent queries
|
|
14
|
-
* use `session.send()` + `session.stream()` with near-zero overhead.
|
|
9
|
+
* The V2 `SDKSession` API is marked as unstable (@alpha) and only exposes
|
|
10
|
+
* `send()` + `stream()`. The V1 `query()` API returns a `Query` object with
|
|
11
|
+
* full control methods: setModel, setPermissionMode, rewindFiles, stopTask,
|
|
12
|
+
* setMcpServers, accountInfo, supportedModels, and more.
|
|
15
13
|
*
|
|
16
14
|
* ## Lifecycle
|
|
17
15
|
*
|
|
18
16
|
* ```
|
|
19
17
|
* const executor = new SdkExecutor({ model: 'sonnet' })
|
|
20
18
|
* await executor.init() // warm up (emits stage events)
|
|
21
|
-
* executor.execute(args, opts) // fast —
|
|
22
|
-
* executor.execute(args, opts) // fast
|
|
19
|
+
* executor.execute(args, opts) // fast — query already running
|
|
20
|
+
* executor.execute(args, opts) // fast — uses streamInput()
|
|
23
21
|
* executor.close() // cleanup
|
|
24
22
|
* ```
|
|
25
23
|
*
|
|
26
|
-
* ##
|
|
24
|
+
* ## Multi-turn
|
|
27
25
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* executor.on('init:stage', (stage, message) => {
|
|
31
|
-
* console.log(`[${stage}] ${message}`)
|
|
32
|
-
* })
|
|
33
|
-
* executor.on('init:ready', () => console.log('Ready!'))
|
|
34
|
-
* ```
|
|
26
|
+
* Uses `query.streamInput()` with a controllable async iterable.
|
|
27
|
+
* Each `execute()` / `stream()` sends a user message and reads the response.
|
|
35
28
|
*/
|
|
36
29
|
export class SdkExecutor extends EventEmitter {
|
|
37
30
|
sdkModule = null;
|
|
38
|
-
|
|
31
|
+
activeQuery = null;
|
|
32
|
+
inputController = null;
|
|
39
33
|
_ready = false;
|
|
40
34
|
initPromise = null;
|
|
41
35
|
sdkOptions;
|
|
@@ -50,7 +44,7 @@ export class SdkExecutor extends EventEmitter {
|
|
|
50
44
|
/**
|
|
51
45
|
* Initialize the SDK session (warm up).
|
|
52
46
|
*
|
|
53
|
-
* This imports the SDK, creates a persistent
|
|
47
|
+
* This imports the SDK, creates a persistent query, and waits for
|
|
54
48
|
* the `system/init` message confirming Claude Code is ready.
|
|
55
49
|
*
|
|
56
50
|
* Call this once at startup. Subsequent queries will be fast.
|
|
@@ -72,17 +66,20 @@ export class SdkExecutor extends EventEmitter {
|
|
|
72
66
|
const effectivePrompt = systemPrompt
|
|
73
67
|
? `[System instruction: ${systemPrompt}]\n\n${prompt}`
|
|
74
68
|
: prompt;
|
|
75
|
-
|
|
69
|
+
// Send message via streamInput
|
|
70
|
+
this.sendMessage(effectivePrompt);
|
|
76
71
|
let resultText = '';
|
|
77
72
|
let sessionId = '';
|
|
78
73
|
let usage = { inputTokens: 0, outputTokens: 0 };
|
|
79
74
|
let cost = null;
|
|
80
75
|
let durationMs = 0;
|
|
81
76
|
let structured = null;
|
|
82
|
-
|
|
77
|
+
// Use manual .next() instead of for-await to avoid calling .return()
|
|
78
|
+
// which would close the generator and prevent reuse for subsequent queries.
|
|
79
|
+
await readUntilResult(this.activeQuery, (msg) => {
|
|
83
80
|
const parsed = this.mapMessage(msg);
|
|
84
81
|
if (!parsed)
|
|
85
|
-
|
|
82
|
+
return false;
|
|
86
83
|
if (parsed.type === EVENT_TEXT) {
|
|
87
84
|
resultText += parsed.text;
|
|
88
85
|
}
|
|
@@ -92,8 +89,10 @@ export class SdkExecutor extends EventEmitter {
|
|
|
92
89
|
usage = parsed.usage;
|
|
93
90
|
cost = parsed.cost;
|
|
94
91
|
durationMs = parsed.durationMs;
|
|
92
|
+
return true; // stop
|
|
95
93
|
}
|
|
96
|
-
|
|
94
|
+
return false;
|
|
95
|
+
});
|
|
97
96
|
return {
|
|
98
97
|
text: resultText,
|
|
99
98
|
sessionId,
|
|
@@ -112,72 +111,263 @@ export class SdkExecutor extends EventEmitter {
|
|
|
112
111
|
const effectivePrompt = systemPrompt
|
|
113
112
|
? `[System instruction: ${systemPrompt}]\n\n${prompt}`
|
|
114
113
|
: prompt;
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
this.sendMessage(effectivePrompt);
|
|
115
|
+
// Use manual .next() to avoid closing the generator on break.
|
|
116
|
+
// Yield events to the caller until we see a result event.
|
|
117
|
+
while (true) {
|
|
118
|
+
const { value: msg, done } = await this.activeQuery.next();
|
|
119
|
+
if (done)
|
|
120
|
+
break;
|
|
117
121
|
const event = this.mapMessage(msg);
|
|
118
|
-
if (event)
|
|
122
|
+
if (event) {
|
|
119
123
|
yield event;
|
|
124
|
+
if (event.type === EVENT_RESULT)
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
120
127
|
}
|
|
121
128
|
}
|
|
122
129
|
abort() {
|
|
123
|
-
|
|
124
|
-
|
|
130
|
+
if (this.activeQuery) {
|
|
131
|
+
this.activeQuery.close();
|
|
132
|
+
this.activeQuery = null;
|
|
133
|
+
this.inputController = null;
|
|
134
|
+
}
|
|
135
|
+
this._ready = false;
|
|
136
|
+
this.initPromise = null;
|
|
125
137
|
}
|
|
126
138
|
/**
|
|
127
139
|
* Close the SDK session and free resources.
|
|
128
140
|
*/
|
|
129
141
|
close() {
|
|
130
|
-
if (this.
|
|
131
|
-
this.
|
|
132
|
-
this.
|
|
142
|
+
if (this.activeQuery) {
|
|
143
|
+
this.activeQuery.close();
|
|
144
|
+
this.activeQuery = null;
|
|
145
|
+
this.inputController = null;
|
|
133
146
|
}
|
|
134
147
|
this._ready = false;
|
|
135
148
|
this.initPromise = null;
|
|
136
149
|
}
|
|
150
|
+
// ── Control Methods (V1 Query API) ─────────────────────────────
|
|
151
|
+
/**
|
|
152
|
+
* Change the model for subsequent responses. SDK mode only.
|
|
153
|
+
* @param model - Model identifier, or undefined for default.
|
|
154
|
+
*/
|
|
155
|
+
async setModel(model) {
|
|
156
|
+
this.ensureQuery();
|
|
157
|
+
await this.activeQuery.setModel(model);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Change the permission mode. SDK mode only.
|
|
161
|
+
* @param mode - The new permission mode.
|
|
162
|
+
*/
|
|
163
|
+
async setPermissionMode(mode) {
|
|
164
|
+
this.ensureQuery();
|
|
165
|
+
await this.activeQuery.setPermissionMode(mode);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Rewind files to their state at a specific user message.
|
|
169
|
+
* Requires `enableFileCheckpointing: true`.
|
|
170
|
+
*/
|
|
171
|
+
async rewindFiles(userMessageId, options) {
|
|
172
|
+
this.ensureQuery();
|
|
173
|
+
return await this.activeQuery.rewindFiles(userMessageId, options);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Stop a running subagent task.
|
|
177
|
+
* @param taskId - The task ID from task_started/task_notification events.
|
|
178
|
+
*/
|
|
179
|
+
async stopTask(taskId) {
|
|
180
|
+
this.ensureQuery();
|
|
181
|
+
await this.activeQuery.stopTask(taskId);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Dynamically set MCP servers for this session.
|
|
185
|
+
* Replaces current dynamic servers.
|
|
186
|
+
*/
|
|
187
|
+
async setMcpServers(servers) {
|
|
188
|
+
this.ensureQuery();
|
|
189
|
+
return await this.activeQuery.setMcpServers(servers);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Reconnect a disconnected MCP server.
|
|
193
|
+
*/
|
|
194
|
+
async reconnectMcpServer(serverName) {
|
|
195
|
+
this.ensureQuery();
|
|
196
|
+
await this.activeQuery.reconnectMcpServer(serverName);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Enable or disable an MCP server.
|
|
200
|
+
*/
|
|
201
|
+
async toggleMcpServer(serverName, enabled) {
|
|
202
|
+
this.ensureQuery();
|
|
203
|
+
await this.activeQuery.toggleMcpServer(serverName, enabled);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get account information (email, org, subscription).
|
|
207
|
+
*/
|
|
208
|
+
async accountInfo() {
|
|
209
|
+
this.ensureQuery();
|
|
210
|
+
return await this.activeQuery.accountInfo();
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get available models with their capabilities.
|
|
214
|
+
*/
|
|
215
|
+
async supportedModels() {
|
|
216
|
+
this.ensureQuery();
|
|
217
|
+
return await this.activeQuery.supportedModels();
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Get available slash commands.
|
|
221
|
+
*/
|
|
222
|
+
async supportedCommands() {
|
|
223
|
+
this.ensureQuery();
|
|
224
|
+
return await this.activeQuery.supportedCommands();
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Get available subagents.
|
|
228
|
+
*/
|
|
229
|
+
async supportedAgents() {
|
|
230
|
+
this.ensureQuery();
|
|
231
|
+
return await this.activeQuery.supportedAgents();
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get MCP server connection statuses.
|
|
235
|
+
*/
|
|
236
|
+
async mcpServerStatus() {
|
|
237
|
+
this.ensureQuery();
|
|
238
|
+
return await this.activeQuery.mcpServerStatus();
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Interrupt the current query execution.
|
|
242
|
+
*/
|
|
243
|
+
async interrupt() {
|
|
244
|
+
this.ensureQuery();
|
|
245
|
+
await this.activeQuery.interrupt();
|
|
246
|
+
}
|
|
137
247
|
// ── Private ───────────────────────────────────────────────────────
|
|
138
248
|
async doInit() {
|
|
139
249
|
try {
|
|
140
250
|
// Stage 1: Import SDK
|
|
141
251
|
this.emit(INIT_EVENT_STAGE, INIT_IMPORTING, 'Loading Claude Agent SDK...');
|
|
142
252
|
this.sdkModule = await import('@anthropic-ai/claude-agent-sdk');
|
|
143
|
-
// Stage 2: Create
|
|
144
|
-
this.emit(INIT_EVENT_STAGE, INIT_CREATING, 'Creating persistent
|
|
145
|
-
|
|
253
|
+
// Stage 2: Create query via V1 API
|
|
254
|
+
this.emit(INIT_EVENT_STAGE, INIT_CREATING, 'Creating persistent query...');
|
|
255
|
+
// Set up a controllable input stream for multi-turn
|
|
256
|
+
this.inputController = new InputController();
|
|
257
|
+
const sdkOptions = {
|
|
146
258
|
model: this.sdkOptions.model ?? DEFAULT_MODEL,
|
|
147
259
|
permissionMode: this.sdkOptions.permissionMode,
|
|
148
260
|
allowedTools: this.sdkOptions.allowedTools,
|
|
149
261
|
disallowedTools: this.sdkOptions.disallowedTools,
|
|
262
|
+
canUseTool: this.sdkOptions.canUseTool,
|
|
263
|
+
thinking: this.sdkOptions.thinking,
|
|
264
|
+
enableFileCheckpointing: this.sdkOptions.enableFileCheckpointing,
|
|
265
|
+
onElicitation: this.sdkOptions.onElicitation,
|
|
266
|
+
includePartialMessages: this.sdkOptions.includePartialMessages,
|
|
267
|
+
promptSuggestions: this.sdkOptions.promptSuggestions,
|
|
268
|
+
agentProgressSummaries: this.sdkOptions.agentProgressSummaries,
|
|
269
|
+
debug: this.sdkOptions.debug,
|
|
270
|
+
debugFile: this.sdkOptions.debugFile,
|
|
150
271
|
};
|
|
151
272
|
if (this.sdkOptions.pathToClaudeCodeExecutable) {
|
|
152
|
-
|
|
273
|
+
sdkOptions.pathToClaudeCodeExecutable = this.sdkOptions.pathToClaudeCodeExecutable;
|
|
274
|
+
}
|
|
275
|
+
if (this.sdkOptions.cwd) {
|
|
276
|
+
sdkOptions.cwd = this.sdkOptions.cwd;
|
|
153
277
|
}
|
|
154
|
-
// BUG-2 fix: pass systemPrompt to SDK session
|
|
155
278
|
if (this.sdkOptions.systemPrompt) {
|
|
156
|
-
|
|
279
|
+
sdkOptions.systemPrompt = this.sdkOptions.systemPrompt;
|
|
157
280
|
}
|
|
158
281
|
if (this.sdkOptions.appendSystemPrompt) {
|
|
159
|
-
|
|
282
|
+
sdkOptions.systemPrompt = {
|
|
283
|
+
type: 'preset',
|
|
284
|
+
preset: 'claude_code',
|
|
285
|
+
append: this.sdkOptions.appendSystemPrompt,
|
|
286
|
+
};
|
|
160
287
|
}
|
|
161
288
|
if (this.sdkOptions.maxTurns !== undefined) {
|
|
162
|
-
|
|
289
|
+
sdkOptions.maxTurns = this.sdkOptions.maxTurns;
|
|
290
|
+
}
|
|
291
|
+
if (this.sdkOptions.maxBudget !== undefined) {
|
|
292
|
+
sdkOptions.maxBudgetUsd = this.sdkOptions.maxBudget;
|
|
293
|
+
}
|
|
294
|
+
if (this.sdkOptions.effortLevel) {
|
|
295
|
+
sdkOptions.effort = this.sdkOptions.effortLevel;
|
|
163
296
|
}
|
|
164
297
|
if (this.sdkOptions.env) {
|
|
165
|
-
|
|
298
|
+
sdkOptions.env = { ...process.env, ...this.sdkOptions.env };
|
|
299
|
+
}
|
|
300
|
+
if (this.sdkOptions.mcpServers) {
|
|
301
|
+
sdkOptions.mcpServers = this.sdkOptions.mcpServers;
|
|
302
|
+
}
|
|
303
|
+
if (this.sdkOptions.agents) {
|
|
304
|
+
sdkOptions.agents = this.sdkOptions.agents;
|
|
305
|
+
}
|
|
306
|
+
if (this.sdkOptions.agent) {
|
|
307
|
+
sdkOptions.agent = this.sdkOptions.agent;
|
|
166
308
|
}
|
|
167
|
-
|
|
168
|
-
|
|
309
|
+
if (this.sdkOptions.tools) {
|
|
310
|
+
sdkOptions.tools = this.sdkOptions.tools;
|
|
311
|
+
}
|
|
312
|
+
if (this.sdkOptions.hookCallbacks) {
|
|
313
|
+
sdkOptions.hooks = this.sdkOptions.hookCallbacks;
|
|
314
|
+
}
|
|
315
|
+
if (this.sdkOptions.betas) {
|
|
316
|
+
sdkOptions.betas = this.sdkOptions.betas;
|
|
317
|
+
}
|
|
318
|
+
if (this.sdkOptions.additionalDirs) {
|
|
319
|
+
sdkOptions.additionalDirectories = this.sdkOptions.additionalDirs;
|
|
320
|
+
}
|
|
321
|
+
if (this.sdkOptions.schema) {
|
|
322
|
+
sdkOptions.outputFormat = {
|
|
323
|
+
type: 'json_schema',
|
|
324
|
+
schema: this.sdkOptions.schema,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
if (this.sdkOptions.noSessionPersistence === true) {
|
|
328
|
+
sdkOptions.persistSession = false;
|
|
329
|
+
}
|
|
330
|
+
if (this.sdkOptions.fallbackModel) {
|
|
331
|
+
sdkOptions.fallbackModel = this.sdkOptions.fallbackModel;
|
|
332
|
+
}
|
|
333
|
+
if (this.sdkOptions.strictMcpConfig) {
|
|
334
|
+
sdkOptions.strictMcpConfig = true;
|
|
335
|
+
}
|
|
336
|
+
if (this.sdkOptions.stderr) {
|
|
337
|
+
sdkOptions.stderr = this.sdkOptions.stderr;
|
|
338
|
+
}
|
|
339
|
+
if (this.sdkOptions.allowDangerouslySkipPermissions) {
|
|
340
|
+
sdkOptions.allowDangerouslySkipPermissions = true;
|
|
341
|
+
}
|
|
342
|
+
if (this.sdkOptions.settingSources) {
|
|
343
|
+
sdkOptions.settingSources = this.sdkOptions.settingSources;
|
|
344
|
+
}
|
|
345
|
+
if (this.sdkOptions.settings !== undefined) {
|
|
346
|
+
sdkOptions.settings = this.sdkOptions.settings;
|
|
347
|
+
}
|
|
348
|
+
if (this.sdkOptions.plugins) {
|
|
349
|
+
sdkOptions.plugins = this.sdkOptions.plugins;
|
|
350
|
+
}
|
|
351
|
+
if (this.sdkOptions.spawnClaudeCodeProcess) {
|
|
352
|
+
sdkOptions.spawnClaudeCodeProcess = this.sdkOptions.spawnClaudeCodeProcess;
|
|
353
|
+
}
|
|
354
|
+
// Create query with streaming input for multi-turn
|
|
355
|
+
this.activeQuery = this.sdkModule.query({
|
|
356
|
+
prompt: this.inputController.iterable,
|
|
357
|
+
options: sdkOptions,
|
|
358
|
+
});
|
|
359
|
+
// Stage 3: Wait for init message
|
|
169
360
|
this.emit(INIT_EVENT_STAGE, INIT_CONNECTING, 'Waiting for Claude Code to initialize...');
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
361
|
+
// Send initial message to trigger initialization
|
|
362
|
+
this.inputController.push('.');
|
|
363
|
+
// Use manual .next() to avoid closing the generator via for-await's return().
|
|
364
|
+
await readUntilResult(this.activeQuery, (msg) => {
|
|
365
|
+
if (msg.type === EVENT_SYSTEM && KEY_SUBTYPE in msg && msg[KEY_SUBTYPE] === SYSTEM_INIT) {
|
|
174
366
|
const sysMsg = msg;
|
|
175
367
|
this.emit(INIT_EVENT_STAGE, INIT_CONNECTING, `Connected: model=${sysMsg[KEY_MODEL]}, tools=${sysMsg[KEY_TOOLS]?.length ?? 0}`);
|
|
176
368
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
}
|
|
369
|
+
return msg.type === EVENT_RESULT;
|
|
370
|
+
});
|
|
181
371
|
// Stage 4: Ready
|
|
182
372
|
this._ready = true;
|
|
183
373
|
this.emit(INIT_EVENT_STAGE, INIT_READY, 'Session is warm and ready');
|
|
@@ -194,6 +384,17 @@ export class SdkExecutor extends EventEmitter {
|
|
|
194
384
|
await this.init();
|
|
195
385
|
}
|
|
196
386
|
}
|
|
387
|
+
ensureQuery() {
|
|
388
|
+
if (!this.activeQuery) {
|
|
389
|
+
throw new CliExecutionError('No active SDK query. Call init() first.', 1, '');
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
sendMessage(prompt) {
|
|
393
|
+
if (!this.inputController) {
|
|
394
|
+
throw new CliExecutionError('No active input controller. Call init() first.', 1, '');
|
|
395
|
+
}
|
|
396
|
+
this.inputController.push(prompt);
|
|
397
|
+
}
|
|
197
398
|
/**
|
|
198
399
|
* Map an SDK message to our StreamEvent type.
|
|
199
400
|
*/
|
|
@@ -233,11 +434,81 @@ export class SdkExecutor extends EventEmitter {
|
|
|
233
434
|
durationMs: typeof result[KEY_DURATION] === 'number' ? result[KEY_DURATION] : 0,
|
|
234
435
|
};
|
|
235
436
|
}
|
|
437
|
+
// Task lifecycle events
|
|
438
|
+
case EVENT_SYSTEM: {
|
|
439
|
+
const sysMsg = msg;
|
|
440
|
+
const subtype = sysMsg[KEY_SUBTYPE];
|
|
441
|
+
if (subtype === 'task_started') {
|
|
442
|
+
return {
|
|
443
|
+
type: EVENT_TASK_STARTED,
|
|
444
|
+
taskId: String(sysMsg['task_id'] ?? ''),
|
|
445
|
+
toolUseId: sysMsg['tool_use_id'],
|
|
446
|
+
description: String(sysMsg['description'] ?? ''),
|
|
447
|
+
taskType: sysMsg['task_type'],
|
|
448
|
+
prompt: sysMsg['prompt'],
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
if (subtype === 'task_progress') {
|
|
452
|
+
const taskUsage = sysMsg['usage'];
|
|
453
|
+
return {
|
|
454
|
+
type: EVENT_TASK_PROGRESS,
|
|
455
|
+
taskId: String(sysMsg['task_id'] ?? ''),
|
|
456
|
+
toolUseId: sysMsg['tool_use_id'],
|
|
457
|
+
description: String(sysMsg['description'] ?? ''),
|
|
458
|
+
usage: {
|
|
459
|
+
totalTokens: typeof taskUsage?.['total_tokens'] === 'number' ? taskUsage['total_tokens'] : 0,
|
|
460
|
+
toolUses: typeof taskUsage?.['tool_uses'] === 'number' ? taskUsage['tool_uses'] : 0,
|
|
461
|
+
durationMs: typeof taskUsage?.['duration_ms'] === 'number' ? taskUsage['duration_ms'] : 0,
|
|
462
|
+
},
|
|
463
|
+
lastToolName: sysMsg['last_tool_name'],
|
|
464
|
+
summary: sysMsg['summary'],
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
if (subtype === 'task_notification') {
|
|
468
|
+
const taskUsage = sysMsg['usage'];
|
|
469
|
+
return {
|
|
470
|
+
type: EVENT_TASK_NOTIFICATION,
|
|
471
|
+
taskId: String(sysMsg['task_id'] ?? ''),
|
|
472
|
+
toolUseId: sysMsg['tool_use_id'],
|
|
473
|
+
status: sysMsg['status'],
|
|
474
|
+
outputFile: String(sysMsg['output_file'] ?? ''),
|
|
475
|
+
summary: String(sysMsg['summary'] ?? ''),
|
|
476
|
+
usage: taskUsage ? {
|
|
477
|
+
totalTokens: typeof taskUsage['total_tokens'] === 'number' ? taskUsage['total_tokens'] : 0,
|
|
478
|
+
toolUses: typeof taskUsage['tool_uses'] === 'number' ? taskUsage['tool_uses'] : 0,
|
|
479
|
+
durationMs: typeof taskUsage['duration_ms'] === 'number' ? taskUsage['duration_ms'] : 0,
|
|
480
|
+
} : undefined,
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
// Generic system event
|
|
484
|
+
return {
|
|
485
|
+
type: EVENT_SYSTEM,
|
|
486
|
+
subtype: subtype ?? 'unknown',
|
|
487
|
+
data: sysMsg,
|
|
488
|
+
};
|
|
489
|
+
}
|
|
236
490
|
default:
|
|
237
491
|
return null;
|
|
238
492
|
}
|
|
239
493
|
}
|
|
240
494
|
}
|
|
495
|
+
/**
|
|
496
|
+
* Read messages from an async generator using manual .next() calls.
|
|
497
|
+
* This avoids for-await's implicit .return() call on break, which would
|
|
498
|
+
* close the generator and prevent reuse for subsequent queries.
|
|
499
|
+
*
|
|
500
|
+
* @param gen - The async generator to read from.
|
|
501
|
+
* @param onMessage - Callback for each message. Return true to stop reading.
|
|
502
|
+
*/
|
|
503
|
+
async function readUntilResult(gen, onMessage) {
|
|
504
|
+
while (true) {
|
|
505
|
+
const { value, done } = await gen.next();
|
|
506
|
+
if (done)
|
|
507
|
+
break;
|
|
508
|
+
if (onMessage(value))
|
|
509
|
+
break;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
241
512
|
/**
|
|
242
513
|
* Extract the prompt string from a CLI args array.
|
|
243
514
|
* In our args format, the prompt is the first positional argument
|
|
@@ -268,4 +539,67 @@ function extractPrompt(args) {
|
|
|
268
539
|
}
|
|
269
540
|
return '';
|
|
270
541
|
}
|
|
542
|
+
/**
|
|
543
|
+
* Controllable async iterable for sending user messages to the V1 query API.
|
|
544
|
+
* Allows pushing messages that are consumed by `query.streamInput()`.
|
|
545
|
+
*/
|
|
546
|
+
class InputController {
|
|
547
|
+
queue = [];
|
|
548
|
+
resolve = null;
|
|
549
|
+
closed = false;
|
|
550
|
+
/** Push a user message to be consumed by the query. */
|
|
551
|
+
push(message) {
|
|
552
|
+
const userMsg = {
|
|
553
|
+
type: 'user',
|
|
554
|
+
message: { role: 'user', content: message },
|
|
555
|
+
parent_tool_use_id: null,
|
|
556
|
+
session_id: '',
|
|
557
|
+
};
|
|
558
|
+
if (this.resolve) {
|
|
559
|
+
const r = this.resolve;
|
|
560
|
+
this.resolve = null;
|
|
561
|
+
r({ value: userMsg, done: false });
|
|
562
|
+
}
|
|
563
|
+
else {
|
|
564
|
+
this.queue.push(message);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
/** Close the input stream. */
|
|
568
|
+
close() {
|
|
569
|
+
this.closed = true;
|
|
570
|
+
if (this.resolve) {
|
|
571
|
+
const r = this.resolve;
|
|
572
|
+
this.resolve = null;
|
|
573
|
+
r({ value: undefined, done: true });
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
/** AsyncIterable for the query's prompt parameter. */
|
|
577
|
+
get iterable() {
|
|
578
|
+
const self = this;
|
|
579
|
+
return {
|
|
580
|
+
[Symbol.asyncIterator]() {
|
|
581
|
+
return {
|
|
582
|
+
next() {
|
|
583
|
+
if (self.queue.length > 0) {
|
|
584
|
+
const message = self.queue.shift();
|
|
585
|
+
const userMsg = {
|
|
586
|
+
type: 'user',
|
|
587
|
+
message: { role: 'user', content: message },
|
|
588
|
+
parent_tool_use_id: null,
|
|
589
|
+
session_id: '',
|
|
590
|
+
};
|
|
591
|
+
return Promise.resolve({ value: userMsg, done: false });
|
|
592
|
+
}
|
|
593
|
+
if (self.closed) {
|
|
594
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
595
|
+
}
|
|
596
|
+
return new Promise((resolve) => {
|
|
597
|
+
self.resolve = resolve;
|
|
598
|
+
});
|
|
599
|
+
},
|
|
600
|
+
};
|
|
601
|
+
},
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
}
|
|
271
605
|
//# sourceMappingURL=sdk-executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-executor.js","sourceRoot":"","sources":["../../src/executor/sdk-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk-executor.js","sourceRoot":"","sources":["../../src/executor/sdk-executor.ts"],"names":[],"mappings":"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"}
|