@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.
Files changed (43) hide show
  1. package/dist/api/session.d.ts +1 -7
  2. package/dist/api/session.d.ts.map +1 -1
  3. package/dist/api/session.js +2 -11
  4. package/dist/api/session.js.map +1 -1
  5. package/dist/api/wsClient.d.ts +9 -0
  6. package/dist/api/wsClient.d.ts.map +1 -1
  7. package/dist/api/wsClient.js +46 -20
  8. package/dist/api/wsClient.js.map +1 -1
  9. package/dist/claude/session.d.ts.map +1 -1
  10. package/dist/claude/session.js +7 -6
  11. package/dist/claude/session.js.map +1 -1
  12. package/dist/claude/terminalRenderer.d.ts +1 -1
  13. package/dist/claude/terminalRenderer.d.ts.map +1 -1
  14. package/dist/claude/terminalRenderer.js +50 -33
  15. package/dist/claude/terminalRenderer.js.map +1 -1
  16. package/dist/server/index.d.ts.map +1 -1
  17. package/dist/server/index.js +57 -3
  18. package/dist/server/index.js.map +1 -1
  19. package/dist/server/sessionManager.d.ts +3 -1
  20. package/dist/server/sessionManager.d.ts.map +1 -1
  21. package/dist/server/sessionManager.js +214 -25
  22. package/dist/server/sessionManager.js.map +1 -1
  23. package/dist/utils/debug.d.ts +15 -0
  24. package/dist/utils/debug.d.ts.map +1 -0
  25. package/dist/utils/debug.js +16 -0
  26. package/dist/utils/debug.js.map +1 -0
  27. package/package.json +5 -2
  28. package/dist/claude/sdk/query.d.ts +0 -71
  29. package/dist/claude/sdk/query.d.ts.map +0 -1
  30. package/dist/claude/sdk/query.js +0 -379
  31. package/dist/claude/sdk/query.js.map +0 -1
  32. package/dist/claude/sdk/stream.d.ts +0 -28
  33. package/dist/claude/sdk/stream.d.ts.map +0 -1
  34. package/dist/claude/sdk/stream.js +0 -91
  35. package/dist/claude/sdk/stream.js.map +0 -1
  36. package/dist/claude/sdk/types.d.ts +0 -179
  37. package/dist/claude/sdk/types.d.ts.map +0 -1
  38. package/dist/claude/sdk/types.js +0 -13
  39. package/dist/claude/sdk/types.js.map +0 -1
  40. package/dist/utils/claudeHistory.d.ts +0 -33
  41. package/dist/utils/claudeHistory.d.ts.map +0 -1
  42. package/dist/utils/claudeHistory.js +0 -170
  43. 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"}
@@ -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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"}