@diggerhq/anyware 0.7.37 → 0.7.41
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/session.d.ts +1 -7
- package/dist/api/session.d.ts.map +1 -1
- package/dist/api/session.js +2 -11
- package/dist/api/session.js.map +1 -1
- package/dist/api/wsClient.d.ts +9 -0
- package/dist/api/wsClient.d.ts.map +1 -1
- package/dist/api/wsClient.js +46 -20
- package/dist/api/wsClient.js.map +1 -1
- package/dist/claude/session.d.ts.map +1 -1
- package/dist/claude/session.js +7 -6
- package/dist/claude/session.js.map +1 -1
- package/dist/claude/terminalRenderer.d.ts +1 -1
- package/dist/claude/terminalRenderer.d.ts.map +1 -1
- package/dist/claude/terminalRenderer.js +50 -33
- package/dist/claude/terminalRenderer.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +57 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/sessionManager.d.ts +3 -1
- package/dist/server/sessionManager.d.ts.map +1 -1
- package/dist/server/sessionManager.js +214 -25
- package/dist/server/sessionManager.js.map +1 -1
- package/dist/utils/debug.d.ts +15 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +16 -0
- package/dist/utils/debug.js.map +1 -0
- package/package.json +5 -2
- package/dist/claude/sdk/query.d.ts +0 -71
- package/dist/claude/sdk/query.d.ts.map +0 -1
- package/dist/claude/sdk/query.js +0 -379
- package/dist/claude/sdk/query.js.map +0 -1
- package/dist/claude/sdk/stream.d.ts +0 -28
- package/dist/claude/sdk/stream.d.ts.map +0 -1
- package/dist/claude/sdk/stream.js +0 -91
- package/dist/claude/sdk/stream.js.map +0 -1
- package/dist/claude/sdk/types.d.ts +0 -179
- package/dist/claude/sdk/types.d.ts.map +0 -1
- package/dist/claude/sdk/types.js +0 -13
- package/dist/claude/sdk/types.js.map +0 -1
- package/dist/utils/claudeHistory.d.ts +0 -33
- package/dist/utils/claudeHistory.d.ts.map +0 -1
- package/dist/utils/claudeHistory.js +0 -170
- package/dist/utils/claudeHistory.js.map +0 -1
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query implementation for Claude Code SDK
|
|
3
|
-
* Handles spawning Claude process and managing message streams
|
|
4
|
-
*/
|
|
5
|
-
import type { Writable } from 'node:stream';
|
|
6
|
-
import { type QueryOptions, type QueryPrompt, type SDKMessage, type CanCallToolCallback } from './types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Query class manages Claude Code process interaction
|
|
9
|
-
*/
|
|
10
|
-
export declare class Query implements AsyncIterableIterator<SDKMessage> {
|
|
11
|
-
private childStdin;
|
|
12
|
-
private childStdout;
|
|
13
|
-
private processExitPromise;
|
|
14
|
-
private pendingControlResponses;
|
|
15
|
-
private cancelControllers;
|
|
16
|
-
private sdkMessages;
|
|
17
|
-
private inputStream;
|
|
18
|
-
private canCallTool?;
|
|
19
|
-
constructor(childStdin: Writable | null, childStdout: NodeJS.ReadableStream, processExitPromise: Promise<void>, canCallTool?: CanCallToolCallback);
|
|
20
|
-
/**
|
|
21
|
-
* Set an error on the stream
|
|
22
|
-
*/
|
|
23
|
-
setError(error: Error): void;
|
|
24
|
-
/**
|
|
25
|
-
* AsyncIterableIterator implementation
|
|
26
|
-
*/
|
|
27
|
-
next(): Promise<IteratorResult<SDKMessage>>;
|
|
28
|
-
return(value?: unknown): Promise<IteratorResult<SDKMessage>>;
|
|
29
|
-
throw(e: Error): Promise<IteratorResult<SDKMessage>>;
|
|
30
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<SDKMessage>;
|
|
31
|
-
/**
|
|
32
|
-
* Read messages from Claude process stdout
|
|
33
|
-
*/
|
|
34
|
-
private readMessages;
|
|
35
|
-
/**
|
|
36
|
-
* Async generator for SDK messages
|
|
37
|
-
*/
|
|
38
|
-
private readSdkMessages;
|
|
39
|
-
/**
|
|
40
|
-
* Send interrupt request to Claude
|
|
41
|
-
*/
|
|
42
|
-
interrupt(): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Send control request to Claude process
|
|
45
|
-
*/
|
|
46
|
-
private request;
|
|
47
|
-
/**
|
|
48
|
-
* Handle incoming control requests for tool permissions
|
|
49
|
-
*/
|
|
50
|
-
private handleControlRequest;
|
|
51
|
-
/**
|
|
52
|
-
* Handle control cancel requests
|
|
53
|
-
*/
|
|
54
|
-
private handleControlCancelRequest;
|
|
55
|
-
/**
|
|
56
|
-
* Process control requests based on subtype
|
|
57
|
-
*/
|
|
58
|
-
private processControlRequest;
|
|
59
|
-
/**
|
|
60
|
-
* Cleanup method to abort all pending control requests
|
|
61
|
-
*/
|
|
62
|
-
private cleanupControllers;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Main query function to interact with Claude Code
|
|
66
|
-
*/
|
|
67
|
-
export declare function query(config: {
|
|
68
|
-
prompt: QueryPrompt;
|
|
69
|
-
options?: QueryOptions;
|
|
70
|
-
}): Query;
|
|
71
|
-
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/claude/sdk/query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EAKf,KAAK,mBAAmB,EAMzB,MAAM,YAAY,CAAC;AA2CpB;;GAEG;AACH,qBAAa,KAAM,YAAW,qBAAqB,CAAC,UAAU,CAAC;IAQ3D,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,kBAAkB;IAT5B,OAAO,CAAC,uBAAuB,CAA6C;IAC5E,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAsB;gBAGhC,UAAU,EAAE,QAAQ,GAAG,IAAI,EAC3B,WAAW,EAAE,MAAM,CAAC,cAAc,EAClC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EACzC,WAAW,CAAC,EAAE,mBAAmB;IAOnC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAI3C,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAO5D,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAOpD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;IAI3D;;OAEG;YACW,YAAY;IA+C1B;;OAEG;YACY,eAAe;IAM9B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;OAEG;IACH,OAAO,CAAC,OAAO;IAqBf;;OAEG;YACW,oBAAoB;IA+ClC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;OAEG;YACW,qBAAqB;IAcnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAM3B;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,KAAK,CAkIpF"}
|
package/dist/claude/sdk/query.js
DELETED
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query implementation for Claude Code SDK
|
|
3
|
-
* Handles spawning Claude process and managing message streams
|
|
4
|
-
*/
|
|
5
|
-
import { spawn } from 'node:child_process';
|
|
6
|
-
import { createInterface } from 'node:readline';
|
|
7
|
-
import { existsSync } from 'node:fs';
|
|
8
|
-
import { join } from 'node:path';
|
|
9
|
-
import { homedir } from 'node:os';
|
|
10
|
-
import { Stream } from './stream.js';
|
|
11
|
-
import { AbortError, } from './types.js';
|
|
12
|
-
/**
|
|
13
|
-
* Get default Claude Code path
|
|
14
|
-
*/
|
|
15
|
-
function getDefaultClaudeCodePath() {
|
|
16
|
-
const paths = [
|
|
17
|
-
join(homedir(), '.claude', 'local', 'claude'), // Claude Code default install location
|
|
18
|
-
'/usr/local/bin/claude',
|
|
19
|
-
'/opt/homebrew/bin/claude',
|
|
20
|
-
join(homedir(), '.local', 'bin', 'claude'),
|
|
21
|
-
join(homedir(), '.npm-global', 'bin', 'claude'),
|
|
22
|
-
];
|
|
23
|
-
for (const p of paths) {
|
|
24
|
-
if (existsSync(p)) {
|
|
25
|
-
return p;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return 'claude';
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Stream async iterable to stdin
|
|
32
|
-
*/
|
|
33
|
-
async function streamToStdin(prompt, stdin, abort) {
|
|
34
|
-
try {
|
|
35
|
-
for await (const message of prompt) {
|
|
36
|
-
if (abort?.aborted) {
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
stdin.write(JSON.stringify(message) + '\n');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
43
|
-
console.error('[query] Error streaming to stdin:', e);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Query class manages Claude Code process interaction
|
|
48
|
-
*/
|
|
49
|
-
export class Query {
|
|
50
|
-
childStdin;
|
|
51
|
-
childStdout;
|
|
52
|
-
processExitPromise;
|
|
53
|
-
pendingControlResponses = new Map();
|
|
54
|
-
cancelControllers = new Map();
|
|
55
|
-
sdkMessages;
|
|
56
|
-
inputStream = new Stream();
|
|
57
|
-
canCallTool;
|
|
58
|
-
constructor(childStdin, childStdout, processExitPromise, canCallTool) {
|
|
59
|
-
this.childStdin = childStdin;
|
|
60
|
-
this.childStdout = childStdout;
|
|
61
|
-
this.processExitPromise = processExitPromise;
|
|
62
|
-
this.canCallTool = canCallTool;
|
|
63
|
-
this.readMessages();
|
|
64
|
-
this.sdkMessages = this.readSdkMessages();
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Set an error on the stream
|
|
68
|
-
*/
|
|
69
|
-
setError(error) {
|
|
70
|
-
this.inputStream.error(error);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* AsyncIterableIterator implementation
|
|
74
|
-
*/
|
|
75
|
-
next() {
|
|
76
|
-
return this.sdkMessages.next();
|
|
77
|
-
}
|
|
78
|
-
return(value) {
|
|
79
|
-
if (this.sdkMessages.return) {
|
|
80
|
-
return this.sdkMessages.return(value);
|
|
81
|
-
}
|
|
82
|
-
return Promise.resolve({ done: true, value: undefined });
|
|
83
|
-
}
|
|
84
|
-
throw(e) {
|
|
85
|
-
if (this.sdkMessages.throw) {
|
|
86
|
-
return this.sdkMessages.throw(e);
|
|
87
|
-
}
|
|
88
|
-
return Promise.reject(e);
|
|
89
|
-
}
|
|
90
|
-
[Symbol.asyncIterator]() {
|
|
91
|
-
return this.sdkMessages;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Read messages from Claude process stdout
|
|
95
|
-
*/
|
|
96
|
-
async readMessages() {
|
|
97
|
-
const rl = createInterface({ input: this.childStdout });
|
|
98
|
-
try {
|
|
99
|
-
for await (const line of rl) {
|
|
100
|
-
if (line.trim()) {
|
|
101
|
-
try {
|
|
102
|
-
const message = JSON.parse(line);
|
|
103
|
-
if (message.type === 'control_response') {
|
|
104
|
-
const controlResponse = message;
|
|
105
|
-
const handler = this.pendingControlResponses.get(controlResponse.response.request_id);
|
|
106
|
-
if (handler) {
|
|
107
|
-
handler(controlResponse.response);
|
|
108
|
-
}
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
else if (message.type === 'control_request') {
|
|
112
|
-
const ctrlReq = message;
|
|
113
|
-
console.error(`\x1b[90m[debug:sdk] Got control_request: ${ctrlReq.request?.subtype}, request_id=${ctrlReq.request_id}, tool=${ctrlReq.request?.tool_name}\x1b[0m`);
|
|
114
|
-
console.error(`\x1b[90m[debug:sdk] Full control_request: ${JSON.stringify(ctrlReq)}\x1b[0m`);
|
|
115
|
-
await this.handleControlRequest(ctrlReq);
|
|
116
|
-
console.error(`\x1b[90m[debug:sdk] control_request handled\x1b[0m`);
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
else if (message.type === 'control_cancel_request') {
|
|
120
|
-
this.handleControlCancelRequest(message);
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
this.inputStream.enqueue(message);
|
|
124
|
-
}
|
|
125
|
-
catch {
|
|
126
|
-
// Skip malformed JSON
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
console.error('\x1b[90m[debug:sdk] readline finished, waiting for process exit\x1b[0m');
|
|
131
|
-
await this.processExitPromise;
|
|
132
|
-
console.error('\x1b[90m[debug:sdk] process exited\x1b[0m');
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
console.error('\x1b[90m[debug:sdk] error in readMessages:', error, '\x1b[0m');
|
|
136
|
-
this.inputStream.error(error);
|
|
137
|
-
}
|
|
138
|
-
finally {
|
|
139
|
-
this.inputStream.done();
|
|
140
|
-
this.cleanupControllers();
|
|
141
|
-
rl.close();
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Async generator for SDK messages
|
|
146
|
-
*/
|
|
147
|
-
async *readSdkMessages() {
|
|
148
|
-
for await (const message of this.inputStream) {
|
|
149
|
-
yield message;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Send interrupt request to Claude
|
|
154
|
-
*/
|
|
155
|
-
async interrupt() {
|
|
156
|
-
if (!this.childStdin) {
|
|
157
|
-
throw new Error('Interrupt requires --input-format stream-json');
|
|
158
|
-
}
|
|
159
|
-
await this.request({ subtype: 'interrupt' }, this.childStdin);
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Send control request to Claude process
|
|
163
|
-
*/
|
|
164
|
-
request(request, childStdin) {
|
|
165
|
-
const requestId = Math.random().toString(36).substring(2, 15);
|
|
166
|
-
const sdkRequest = {
|
|
167
|
-
request_id: requestId,
|
|
168
|
-
type: 'control_request',
|
|
169
|
-
request,
|
|
170
|
-
};
|
|
171
|
-
return new Promise((resolve, reject) => {
|
|
172
|
-
this.pendingControlResponses.set(requestId, (response) => {
|
|
173
|
-
if (response.subtype === 'success') {
|
|
174
|
-
resolve(response);
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
reject(new Error(response.error));
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
childStdin.write(JSON.stringify(sdkRequest) + '\n');
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Handle incoming control requests for tool permissions
|
|
185
|
-
*/
|
|
186
|
-
async handleControlRequest(request) {
|
|
187
|
-
if (!this.childStdin) {
|
|
188
|
-
console.error('\x1b[90m[debug:sdk] handleControlRequest: no childStdin\x1b[0m');
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const toolName = request.request?.tool_name || 'unknown';
|
|
192
|
-
const requestId = request.request_id;
|
|
193
|
-
const toolInput = request.request?.input;
|
|
194
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest: tool=${toolName}, requestId=${requestId}\x1b[0m`);
|
|
195
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest: input=${JSON.stringify(toolInput)}\x1b[0m`);
|
|
196
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest: waiting for permission...\x1b[0m`);
|
|
197
|
-
const controller = new AbortController();
|
|
198
|
-
this.cancelControllers.set(request.request_id, controller);
|
|
199
|
-
try {
|
|
200
|
-
const response = await this.processControlRequest(request, controller.signal);
|
|
201
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest: got permission response: ${response.behavior}\x1b[0m`);
|
|
202
|
-
const controlResponse = {
|
|
203
|
-
type: 'control_response',
|
|
204
|
-
response: {
|
|
205
|
-
subtype: 'success',
|
|
206
|
-
request_id: request.request_id,
|
|
207
|
-
response,
|
|
208
|
-
},
|
|
209
|
-
};
|
|
210
|
-
const responseJson = JSON.stringify(controlResponse);
|
|
211
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest: sending response: ${responseJson}\x1b[0m`);
|
|
212
|
-
this.childStdin.write(responseJson + '\n');
|
|
213
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest: sent response to claude\x1b[0m`);
|
|
214
|
-
}
|
|
215
|
-
catch (error) {
|
|
216
|
-
console.error(`\x1b[90m[debug:sdk] handleControlRequest error: ${error}\x1b[0m`);
|
|
217
|
-
const controlErrorResponse = {
|
|
218
|
-
type: 'control_response',
|
|
219
|
-
response: {
|
|
220
|
-
subtype: 'error',
|
|
221
|
-
request_id: request.request_id,
|
|
222
|
-
error: error instanceof Error ? error.message : String(error),
|
|
223
|
-
},
|
|
224
|
-
};
|
|
225
|
-
this.childStdin.write(JSON.stringify(controlErrorResponse) + '\n');
|
|
226
|
-
}
|
|
227
|
-
finally {
|
|
228
|
-
this.cancelControllers.delete(request.request_id);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Handle control cancel requests
|
|
233
|
-
*/
|
|
234
|
-
handleControlCancelRequest(request) {
|
|
235
|
-
const controller = this.cancelControllers.get(request.request_id);
|
|
236
|
-
if (controller) {
|
|
237
|
-
controller.abort();
|
|
238
|
-
this.cancelControllers.delete(request.request_id);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Process control requests based on subtype
|
|
243
|
-
*/
|
|
244
|
-
async processControlRequest(request, signal) {
|
|
245
|
-
if (request.request.subtype === 'can_use_tool') {
|
|
246
|
-
if (!this.canCallTool) {
|
|
247
|
-
throw new Error('canCallTool callback is not provided.');
|
|
248
|
-
}
|
|
249
|
-
return this.canCallTool(request.request.tool_name, request.request.input, { signal });
|
|
250
|
-
}
|
|
251
|
-
throw new Error('Unsupported control request subtype: ' + request.request.subtype);
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Cleanup method to abort all pending control requests
|
|
255
|
-
*/
|
|
256
|
-
cleanupControllers() {
|
|
257
|
-
for (const [, controller] of this.cancelControllers.entries()) {
|
|
258
|
-
controller.abort();
|
|
259
|
-
}
|
|
260
|
-
this.cancelControllers.clear();
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Main query function to interact with Claude Code
|
|
265
|
-
*/
|
|
266
|
-
export function query(config) {
|
|
267
|
-
const { prompt, options: { allowedTools = [], appendSystemPrompt, customSystemPrompt, cwd, disallowedTools = [], maxTurns, mcpServers, permissionMode = 'default', continue: continueConversation, resume, model, fallbackModel, canCallTool, } = {}, } = config;
|
|
268
|
-
const pathToClaudeCodeExecutable = getDefaultClaudeCodePath();
|
|
269
|
-
// Build command arguments
|
|
270
|
-
const args = ['--output-format', 'stream-json', '--verbose'];
|
|
271
|
-
if (customSystemPrompt)
|
|
272
|
-
args.push('--system-prompt', customSystemPrompt);
|
|
273
|
-
if (appendSystemPrompt)
|
|
274
|
-
args.push('--append-system-prompt', appendSystemPrompt);
|
|
275
|
-
if (maxTurns)
|
|
276
|
-
args.push('--max-turns', maxTurns.toString());
|
|
277
|
-
if (model)
|
|
278
|
-
args.push('--model', model);
|
|
279
|
-
if (canCallTool) {
|
|
280
|
-
if (typeof prompt === 'string') {
|
|
281
|
-
throw new Error('canCallTool callback requires --input-format stream-json');
|
|
282
|
-
}
|
|
283
|
-
args.push('--permission-prompt-tool', 'stdio');
|
|
284
|
-
}
|
|
285
|
-
if (continueConversation)
|
|
286
|
-
args.push('--continue');
|
|
287
|
-
if (resume)
|
|
288
|
-
args.push('--resume', resume);
|
|
289
|
-
if (allowedTools.length > 0)
|
|
290
|
-
args.push('--allowedTools', allowedTools.join(','));
|
|
291
|
-
if (disallowedTools.length > 0)
|
|
292
|
-
args.push('--disallowedTools', disallowedTools.join(','));
|
|
293
|
-
if (mcpServers && Object.keys(mcpServers).length > 0) {
|
|
294
|
-
args.push('--mcp-config', JSON.stringify({ mcpServers }));
|
|
295
|
-
}
|
|
296
|
-
if (permissionMode)
|
|
297
|
-
args.push('--permission-mode', permissionMode);
|
|
298
|
-
if (fallbackModel) {
|
|
299
|
-
if (model && fallbackModel === model) {
|
|
300
|
-
throw new Error('Fallback model cannot be the same as the main model.');
|
|
301
|
-
}
|
|
302
|
-
args.push('--fallback-model', fallbackModel);
|
|
303
|
-
}
|
|
304
|
-
// Handle prompt input
|
|
305
|
-
if (typeof prompt === 'string') {
|
|
306
|
-
args.push('--print', prompt.trim());
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
args.push('--input-format', 'stream-json');
|
|
310
|
-
}
|
|
311
|
-
const child = spawn(pathToClaudeCodeExecutable, args, {
|
|
312
|
-
cwd,
|
|
313
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
314
|
-
signal: config.options?.abort,
|
|
315
|
-
env: process.env,
|
|
316
|
-
shell: process.platform === 'win32',
|
|
317
|
-
});
|
|
318
|
-
// Handle stdin
|
|
319
|
-
let childStdin = null;
|
|
320
|
-
if (typeof prompt === 'string') {
|
|
321
|
-
child.stdin.end();
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
streamToStdin(prompt, child.stdin, config.options?.abort);
|
|
325
|
-
childStdin = child.stdin;
|
|
326
|
-
}
|
|
327
|
-
// Capture stderr for error reporting
|
|
328
|
-
let stderrBuffer = '';
|
|
329
|
-
child.stderr.on('data', (data) => {
|
|
330
|
-
const text = data.toString();
|
|
331
|
-
stderrBuffer += text;
|
|
332
|
-
if (process.env.DEBUG) {
|
|
333
|
-
console.error('[query] stderr:', text);
|
|
334
|
-
}
|
|
335
|
-
});
|
|
336
|
-
// Setup cleanup
|
|
337
|
-
const cleanup = () => {
|
|
338
|
-
if (!child.killed) {
|
|
339
|
-
child.kill('SIGTERM');
|
|
340
|
-
}
|
|
341
|
-
};
|
|
342
|
-
config.options?.abort?.addEventListener('abort', cleanup);
|
|
343
|
-
process.on('exit', cleanup);
|
|
344
|
-
// Handle process exit
|
|
345
|
-
const processExitPromise = new Promise((resolve) => {
|
|
346
|
-
child.on('close', (code) => {
|
|
347
|
-
if (config.options?.abort?.aborted) {
|
|
348
|
-
queryInstance.setError(new AbortError('Claude Code process aborted by user'));
|
|
349
|
-
}
|
|
350
|
-
if (code !== 0) {
|
|
351
|
-
const errorMsg = stderrBuffer.trim()
|
|
352
|
-
? `Claude Code process exited with code ${code}: ${stderrBuffer.trim()}`
|
|
353
|
-
: `Claude Code process exited with code ${code}`;
|
|
354
|
-
queryInstance.setError(new Error(errorMsg));
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
resolve();
|
|
358
|
-
}
|
|
359
|
-
});
|
|
360
|
-
});
|
|
361
|
-
// Create query instance
|
|
362
|
-
const queryInstance = new Query(childStdin, child.stdout, processExitPromise, canCallTool);
|
|
363
|
-
// Handle process errors
|
|
364
|
-
child.on('error', (error) => {
|
|
365
|
-
if (config.options?.abort?.aborted) {
|
|
366
|
-
queryInstance.setError(new AbortError('Claude Code process aborted by user'));
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
queryInstance.setError(new Error(`Failed to spawn Claude Code process: ${error.message}`));
|
|
370
|
-
}
|
|
371
|
-
});
|
|
372
|
-
// Cleanup on exit
|
|
373
|
-
processExitPromise.finally(() => {
|
|
374
|
-
cleanup();
|
|
375
|
-
config.options?.abort?.removeEventListener('abort', cleanup);
|
|
376
|
-
});
|
|
377
|
-
return queryInstance;
|
|
378
|
-
}
|
|
379
|
-
//# sourceMappingURL=query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/claude/sdk/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Async stream implementation for SDK messages
|
|
3
|
-
*/
|
|
4
|
-
export declare class Stream<T> implements AsyncIterableIterator<T> {
|
|
5
|
-
private queue;
|
|
6
|
-
private readResolve;
|
|
7
|
-
private readReject;
|
|
8
|
-
private isDone;
|
|
9
|
-
private errorValue;
|
|
10
|
-
private started;
|
|
11
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<T>;
|
|
12
|
-
next(): Promise<IteratorResult<T>>;
|
|
13
|
-
return(value?: T): Promise<IteratorResult<T>>;
|
|
14
|
-
throw(e: Error): Promise<IteratorResult<T>>;
|
|
15
|
-
/**
|
|
16
|
-
* Add item to the stream
|
|
17
|
-
*/
|
|
18
|
-
enqueue(value: T): void;
|
|
19
|
-
/**
|
|
20
|
-
* Mark stream as complete
|
|
21
|
-
*/
|
|
22
|
-
done(): void;
|
|
23
|
-
/**
|
|
24
|
-
* Set error on stream
|
|
25
|
-
*/
|
|
26
|
-
error(err: Error): void;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/claude/sdk/stream.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,MAAM,CAAC,CAAC,CAAE,YAAW,qBAAqB,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,WAAW,CAAqD;IACxE,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAS;IAExB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAQ5C,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAuBxC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAK7C,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAK3C;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAevB;;OAEG;IACH,IAAI,IAAI,IAAI;IAeZ;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;CAWxB"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Async stream implementation for SDK messages
|
|
3
|
-
*/
|
|
4
|
-
export class Stream {
|
|
5
|
-
queue = [];
|
|
6
|
-
readResolve = null;
|
|
7
|
-
readReject = null;
|
|
8
|
-
isDone = false;
|
|
9
|
-
errorValue = null;
|
|
10
|
-
started = false;
|
|
11
|
-
[Symbol.asyncIterator]() {
|
|
12
|
-
if (this.started) {
|
|
13
|
-
throw new Error('Stream can only be iterated once');
|
|
14
|
-
}
|
|
15
|
-
this.started = true;
|
|
16
|
-
return this;
|
|
17
|
-
}
|
|
18
|
-
async next() {
|
|
19
|
-
// Return error if set
|
|
20
|
-
if (this.errorValue) {
|
|
21
|
-
throw this.errorValue;
|
|
22
|
-
}
|
|
23
|
-
// Return queued items first
|
|
24
|
-
if (this.queue.length > 0) {
|
|
25
|
-
return { done: false, value: this.queue.shift() };
|
|
26
|
-
}
|
|
27
|
-
// Return done if stream is complete
|
|
28
|
-
if (this.isDone) {
|
|
29
|
-
return { done: true, value: undefined };
|
|
30
|
-
}
|
|
31
|
-
// Wait for new data
|
|
32
|
-
return new Promise((resolve, reject) => {
|
|
33
|
-
this.readResolve = resolve;
|
|
34
|
-
this.readReject = reject;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
return(value) {
|
|
38
|
-
this.done();
|
|
39
|
-
return Promise.resolve({ done: true, value });
|
|
40
|
-
}
|
|
41
|
-
throw(e) {
|
|
42
|
-
this.error(e);
|
|
43
|
-
return Promise.reject(e);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Add item to the stream
|
|
47
|
-
*/
|
|
48
|
-
enqueue(value) {
|
|
49
|
-
if (this.isDone) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (this.readResolve) {
|
|
53
|
-
const resolve = this.readResolve;
|
|
54
|
-
this.readResolve = null;
|
|
55
|
-
this.readReject = null;
|
|
56
|
-
resolve({ done: false, value });
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
this.queue.push(value);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Mark stream as complete
|
|
64
|
-
*/
|
|
65
|
-
done() {
|
|
66
|
-
if (this.isDone) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
this.isDone = true;
|
|
70
|
-
if (this.readResolve) {
|
|
71
|
-
const resolve = this.readResolve;
|
|
72
|
-
this.readResolve = null;
|
|
73
|
-
this.readReject = null;
|
|
74
|
-
resolve({ done: true, value: undefined });
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Set error on stream
|
|
79
|
-
*/
|
|
80
|
-
error(err) {
|
|
81
|
-
this.errorValue = err;
|
|
82
|
-
this.isDone = true;
|
|
83
|
-
if (this.readReject) {
|
|
84
|
-
const reject = this.readReject;
|
|
85
|
-
this.readResolve = null;
|
|
86
|
-
this.readReject = null;
|
|
87
|
-
reject(err);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/claude/sdk/stream.ts"],"names":[],"mappings":"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"}
|