@yu_robotics/remote-cli 1.6.30 → 1.6.32

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 (77) hide show
  1. package/dist/client/MessageHandler.d.ts +5 -3
  2. package/dist/client/MessageHandler.d.ts.map +1 -1
  3. package/dist/client/MessageHandler.js +26 -16
  4. package/dist/client/MessageHandler.js.map +1 -1
  5. package/dist/commands/start.d.ts +7 -0
  6. package/dist/commands/start.d.ts.map +1 -1
  7. package/dist/commands/start.js +21 -5
  8. package/dist/commands/start.js.map +1 -1
  9. package/dist/config/ConfigManager.d.ts +2 -0
  10. package/dist/config/ConfigManager.d.ts.map +1 -1
  11. package/dist/config/ConfigManager.js +34 -2
  12. package/dist/config/ConfigManager.js.map +1 -1
  13. package/dist/executor/AcpExecutor.d.ts +79 -0
  14. package/dist/executor/AcpExecutor.d.ts.map +1 -0
  15. package/dist/executor/AcpExecutor.js +532 -0
  16. package/dist/executor/AcpExecutor.js.map +1 -0
  17. package/dist/executor/ClaudePersistentExecutor.d.ts.map +1 -1
  18. package/dist/executor/ClaudePersistentExecutor.js +2 -1
  19. package/dist/executor/ClaudePersistentExecutor.js.map +1 -1
  20. package/dist/executor/KimiExecutor.d.ts +2 -2
  21. package/dist/executor/KimiExecutor.d.ts.map +1 -1
  22. package/dist/executor/KimiExecutor.js +2 -2
  23. package/dist/executor/KimiExecutor.js.map +1 -1
  24. package/dist/executor/OpenCodeExecutor.d.ts +4 -65
  25. package/dist/executor/OpenCodeExecutor.d.ts.map +1 -1
  26. package/dist/executor/OpenCodeExecutor.js +19 -504
  27. package/dist/executor/OpenCodeExecutor.js.map +1 -1
  28. package/dist/executor/ZCodeExecutor.d.ts +20 -0
  29. package/dist/executor/ZCodeExecutor.d.ts.map +1 -0
  30. package/dist/executor/ZCodeExecutor.js +37 -0
  31. package/dist/executor/ZCodeExecutor.js.map +1 -0
  32. package/dist/executor/acp/AcpClient.d.ts +3 -0
  33. package/dist/executor/acp/AcpClient.d.ts.map +1 -1
  34. package/dist/executor/acp/AcpClient.js.map +1 -1
  35. package/dist/executor/index.d.ts +6 -9
  36. package/dist/executor/index.d.ts.map +1 -1
  37. package/dist/executor/index.js +26 -54
  38. package/dist/executor/index.js.map +1 -1
  39. package/dist/executor/zcode/ZCodeClient.d.ts +73 -0
  40. package/dist/executor/zcode/ZCodeClient.d.ts.map +1 -0
  41. package/dist/executor/zcode/ZCodeClient.js +681 -0
  42. package/dist/executor/zcode/ZCodeClient.js.map +1 -0
  43. package/dist/executor/zcode/ZCodeCommand.d.ts +9 -0
  44. package/dist/executor/zcode/ZCodeCommand.d.ts.map +1 -0
  45. package/dist/executor/zcode/ZCodeCommand.js +122 -0
  46. package/dist/executor/zcode/ZCodeCommand.js.map +1 -0
  47. package/dist/thread/ThreadExecutorPool.js +2 -2
  48. package/dist/thread/ThreadExecutorPool.js.map +1 -1
  49. package/dist/types/config.d.ts +13 -5
  50. package/dist/types/config.d.ts.map +1 -1
  51. package/dist/types/config.js +2 -0
  52. package/dist/types/config.js.map +1 -1
  53. package/package.json +2 -2
  54. package/dist/executor/ClaudeExecutor.d.ts +0 -93
  55. package/dist/executor/ClaudeExecutor.d.ts.map +0 -1
  56. package/dist/executor/ClaudeExecutor.js +0 -380
  57. package/dist/executor/ClaudeExecutor.js.map +0 -1
  58. package/dist/executor/CodexExecutor.d.ts +0 -140
  59. package/dist/executor/CodexExecutor.d.ts.map +0 -1
  60. package/dist/executor/CodexExecutor.js +0 -789
  61. package/dist/executor/CodexExecutor.js.map +0 -1
  62. package/dist/executor/GeminiExecutor.d.ts +0 -93
  63. package/dist/executor/GeminiExecutor.d.ts.map +0 -1
  64. package/dist/executor/GeminiExecutor.js +0 -415
  65. package/dist/executor/GeminiExecutor.js.map +0 -1
  66. package/dist/executor/acp/SessionManager.d.ts +0 -41
  67. package/dist/executor/acp/SessionManager.d.ts.map +0 -1
  68. package/dist/executor/acp/SessionManager.js +0 -152
  69. package/dist/executor/acp/SessionManager.js.map +0 -1
  70. package/dist/utils/processUtils.d.ts +0 -16
  71. package/dist/utils/processUtils.d.ts.map +0 -1
  72. package/dist/utils/processUtils.js +0 -37
  73. package/dist/utils/processUtils.js.map +0 -1
  74. package/dist/worktree/WorktreeManager.d.ts +0 -119
  75. package/dist/worktree/WorktreeManager.d.ts.map +0 -1
  76. package/dist/worktree/WorktreeManager.js +0 -451
  77. package/dist/worktree/WorktreeManager.js.map +0 -1
@@ -0,0 +1,532 @@
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
+ exports.AcpExecutor = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const os = __importStar(require("os"));
39
+ const path = __importStar(require("path"));
40
+ const AcpClient_1 = require("./acp/AcpClient");
41
+ const CANCEL_GRACE_MS = 3_000;
42
+ function mapAcpToolCall(tool) {
43
+ if (tool.rawInput && typeof tool.rawInput === 'object' && !Array.isArray(tool.rawInput)) {
44
+ return { name: mapAcpToolName(tool.kind, tool.title), input: tool.rawInput };
45
+ }
46
+ const title = tool.title ?? tool.toolCallId;
47
+ const key = tool.kind === 'read' || tool.kind === 'write' ? 'file_path'
48
+ : tool.kind === 'list' ? 'pattern'
49
+ : 'command';
50
+ return { name: mapAcpToolName(tool.kind, tool.title), input: { [key]: title } };
51
+ }
52
+ function mapAcpToolName(kind, title) {
53
+ if (kind === 'execute' || kind === 'exec')
54
+ return 'Bash';
55
+ if (kind === 'read')
56
+ return 'Read';
57
+ if (kind === 'write' || kind === 'edit')
58
+ return 'Edit';
59
+ if (kind === 'list' || kind === 'search')
60
+ return 'Glob';
61
+ return kind || title || 'Tool';
62
+ }
63
+ function acpToolResult(tool) {
64
+ const text = [];
65
+ const diffs = [];
66
+ for (const block of tool.content ?? []) {
67
+ if (block.type === 'text')
68
+ text.push(String(block.text ?? ''));
69
+ else if (block.type === 'content' && block.content && typeof block.content === 'object') {
70
+ const nested = block.content;
71
+ if (nested.type === 'text')
72
+ text.push(String(nested.text ?? ''));
73
+ else
74
+ text.push(JSON.stringify(nested));
75
+ }
76
+ else if (block.type === 'diff') {
77
+ const filePath = String(block.path ?? 'file');
78
+ const oldText = String(block.oldText ?? '');
79
+ const newText = String(block.newText ?? '');
80
+ diffs.push([
81
+ `--- a/${filePath}`,
82
+ `+++ b/${filePath}`,
83
+ ...oldText.split('\n').map((line) => `-${line}`),
84
+ ...newText.split('\n').map((line) => `+${line}`),
85
+ ].join('\n'));
86
+ }
87
+ else if ('resource' in block)
88
+ text.push(JSON.stringify(block.resource));
89
+ }
90
+ if (text.length === 0 && tool.rawOutput !== undefined) {
91
+ text.push(typeof tool.rawOutput === 'string' ? tool.rawOutput : JSON.stringify(tool.rawOutput));
92
+ }
93
+ return { content: text.filter(Boolean).join('\n'), ...(diffs.length ? { diff: diffs.join('\n') } : {}) };
94
+ }
95
+ /** Shared executor implementation for CLI backends that expose ACP over stdio. */
96
+ class AcpExecutor {
97
+ directoryGuard;
98
+ autoApprove;
99
+ threadId;
100
+ backendLabel;
101
+ effortConfigId;
102
+ effortAutoValue;
103
+ installCommand;
104
+ authCommand;
105
+ sessionFilePath;
106
+ clientFactory;
107
+ currentWorkingDirectory;
108
+ model;
109
+ effort;
110
+ client = null;
111
+ sessionId = null;
112
+ configOptions = [];
113
+ activeCallbacks = {};
114
+ commandQueue = [];
115
+ isProcessing = false;
116
+ isDestroyed = false;
117
+ abortTimer = null;
118
+ pendingPermission = null;
119
+ activeToolCalls = new Map();
120
+ constructor(directoryGuard, options) {
121
+ this.directoryGuard = directoryGuard;
122
+ this.model = options.model;
123
+ this.effort = options.effort;
124
+ this.autoApprove = options.autoApprove ?? true;
125
+ this.threadId = options.threadId;
126
+ this.backendLabel = options.backendLabel;
127
+ this.effortConfigId = options.effortConfigId;
128
+ this.effortAutoValue = options.effortAutoValue;
129
+ this.installCommand = options.installCommand;
130
+ this.authCommand = options.authCommand;
131
+ const command = options.acpCommand;
132
+ const args = options.acpArgs;
133
+ this.clientFactory = options.clientFactory
134
+ ?? ((callbacks, cwd) => new AcpClient_1.AcpClient(command, args, cwd, callbacks));
135
+ try {
136
+ this.currentWorkingDirectory = options.initialWorkingDirectory
137
+ ? this.directoryGuard.resolveWorkingDirectory(options.initialWorkingDirectory)
138
+ : process.cwd();
139
+ }
140
+ catch (error) {
141
+ console.warn(`[${this.backendLabel}Executor] Failed to use initial working directory`, error);
142
+ this.currentWorkingDirectory = process.cwd();
143
+ }
144
+ const sessionsDir = options.sessionBaseDir
145
+ ?? path.join(os.homedir(), '.remote-cli', options.sessionNamespace);
146
+ fs.mkdirSync(sessionsDir, { recursive: true });
147
+ this.sessionFilePath = path.join(sessionsDir, `${this.threadId ?? 'default'}.json`);
148
+ this.loadSessionPointer();
149
+ }
150
+ execute(prompt, options = {}) {
151
+ if (this.isDestroyed)
152
+ return Promise.reject(new Error('Executor has been destroyed'));
153
+ return new Promise((resolve, reject) => {
154
+ this.commandQueue.push({ prompt, options, resolve, reject });
155
+ void this.processQueue();
156
+ });
157
+ }
158
+ getCurrentWorkingDirectory() {
159
+ return this.currentWorkingDirectory;
160
+ }
161
+ async setWorkingDirectory(targetPath) {
162
+ const resolved = this.directoryGuard.resolveWorkingDirectory(targetPath);
163
+ if (resolved === this.currentWorkingDirectory)
164
+ return;
165
+ this.currentWorkingDirectory = resolved;
166
+ this.destroyClient();
167
+ this.clearSessionPointer();
168
+ }
169
+ resetContext() {
170
+ this.cancelPendingPermission();
171
+ this.destroyClient();
172
+ this.clearSessionPointer();
173
+ }
174
+ async abort() {
175
+ if (!this.client || !this.sessionId || !this.isProcessing)
176
+ return false;
177
+ this.cancelPendingPermission();
178
+ this.client.sendCancel(this.sessionId);
179
+ this.clearAbortTimer();
180
+ const client = this.client;
181
+ this.abortTimer = setTimeout(() => {
182
+ if (this.client === client && this.isProcessing)
183
+ this.destroyClient();
184
+ }, CANCEL_GRACE_MS);
185
+ this.abortTimer.unref?.();
186
+ return true;
187
+ }
188
+ async destroy() {
189
+ if (this.isDestroyed)
190
+ return;
191
+ this.isDestroyed = true;
192
+ const queued = this.commandQueue.splice(0);
193
+ for (const command of queued)
194
+ command.reject(new Error('Executor has been destroyed'));
195
+ this.cancelPendingPermission();
196
+ this.destroyClient();
197
+ }
198
+ isWaitingInput() {
199
+ return this.pendingPermission !== null;
200
+ }
201
+ sendInput(input) {
202
+ const pending = this.pendingPermission;
203
+ if (!pending)
204
+ return false;
205
+ const normalized = input.trim().toLowerCase();
206
+ if (pending.isQuestion) {
207
+ const cancelIndex = pending.options.findIndex((option) => option.kind.startsWith('reject'));
208
+ if (normalized === 'cancel' || normalized === 'skip') {
209
+ this.pendingPermission = null;
210
+ pending.resolve(cancelIndex);
211
+ return true;
212
+ }
213
+ const numeric = Number.parseInt(normalized, 10);
214
+ const index = Number.isInteger(numeric) && numeric > 0
215
+ ? pending.options.findIndex((option, optionIndex) => optionIndex === numeric - 1 && option.kind.startsWith('allow'))
216
+ : pending.options.findIndex((option) => option.kind.startsWith('allow')
217
+ && (option.name?.trim().toLowerCase() === normalized || option.optionId.toLowerCase() === normalized));
218
+ if (index < 0)
219
+ return false;
220
+ this.pendingPermission = null;
221
+ pending.resolve(index);
222
+ return true;
223
+ }
224
+ const kind = normalized === 'always' ? 'allow_always'
225
+ : normalized === 'yes' || normalized === 'y' || normalized === 'accept' ? 'allow_once'
226
+ : normalized === 'no' || normalized === 'n' || normalized === 'decline' ? 'reject_once'
227
+ : normalized === 'cancel' ? null
228
+ : undefined;
229
+ if (kind === undefined)
230
+ return false;
231
+ this.pendingPermission = null;
232
+ if (kind === null) {
233
+ pending.resolve(-1);
234
+ return true;
235
+ }
236
+ let index = pending.options.findIndex((option) => option.kind === kind);
237
+ if (index < 0 && kind === 'allow_once')
238
+ index = pending.options.findIndex((option) => option.kind.startsWith('allow'));
239
+ if (index < 0 && kind === 'reject_once')
240
+ index = pending.options.findIndex((option) => option.kind.startsWith('reject'));
241
+ pending.resolve(index);
242
+ return true;
243
+ }
244
+ isProcessRunning() {
245
+ return this.client !== null;
246
+ }
247
+ getSessionId() {
248
+ return this.sessionId;
249
+ }
250
+ async listModels() {
251
+ await this.ensureSession();
252
+ const modelOption = this.findConfigOption('model');
253
+ const effortOption = this.findConfigOption(this.effortConfigId);
254
+ return (modelOption?.options ?? []).map((entry) => ({
255
+ id: entry.value,
256
+ displayName: entry.name,
257
+ description: entry.description,
258
+ isDefault: entry.value === modelOption?.currentValue,
259
+ supportedReasoningEfforts: entry.value === modelOption?.currentValue
260
+ ? effortOption?.options?.map((option) => option.value)
261
+ : undefined,
262
+ defaultReasoningEffort: entry.value === modelOption?.currentValue ? 'default' : undefined,
263
+ inputModalities: ['text', 'image'],
264
+ }));
265
+ }
266
+ async setModel(model) {
267
+ const { client, sessionId } = await this.ensureSession();
268
+ const option = this.findConfigOption('model');
269
+ if (option?.options?.length && !option.options.some((entry) => entry.value === model)) {
270
+ return { success: false, error: `Unknown ${this.backendLabel} model: ${model}. Use /model to list available models.` };
271
+ }
272
+ try {
273
+ this.updateConfigOptions(await client.setConfigOption(sessionId, 'model', model));
274
+ this.model = model;
275
+ return { success: true, output: `Model set to ${model}.` };
276
+ }
277
+ catch (error) {
278
+ return { success: false, error: this.friendlyError(error) };
279
+ }
280
+ }
281
+ async setEffort(effort) {
282
+ const { client, sessionId } = await this.ensureSession();
283
+ const value = effort === 'auto' ? this.effortAutoValue : effort;
284
+ const option = this.findConfigOption(this.effortConfigId);
285
+ if (!option)
286
+ return { success: false, error: `The selected ${this.backendLabel} model does not expose reasoning effort controls.` };
287
+ if (effort !== 'auto' && option.options?.length && !option.options.some((entry) => entry.value === value)) {
288
+ return { success: false, error: `Unsupported ${this.backendLabel} reasoning effort: ${effort}.` };
289
+ }
290
+ try {
291
+ this.updateConfigOptions(await client.setConfigOption(sessionId, this.effortConfigId, value));
292
+ this.effort = effort === 'auto' ? undefined : effort;
293
+ return { success: true, output: `Reasoning effort set to ${effort}.` };
294
+ }
295
+ catch (error) {
296
+ return { success: false, error: this.friendlyError(error) };
297
+ }
298
+ }
299
+ async compactWhenFull(onStream) {
300
+ const { client, sessionId } = await this.ensureSession();
301
+ if (client.compactSession) {
302
+ try {
303
+ const result = await client.compactSession(sessionId);
304
+ const success = !['refusal', 'cancelled', 'error'].includes(result.stopReason);
305
+ return {
306
+ success,
307
+ output: success ? 'Conversation compacted.' : undefined,
308
+ error: success ? undefined : `${this.backendLabel} stopped with reason: ${result.stopReason}`,
309
+ sessionAbbr: sessionId.slice(0, 8),
310
+ };
311
+ }
312
+ catch (error) {
313
+ return { success: false, error: this.friendlyError(error) };
314
+ }
315
+ }
316
+ return this.execute('/compact', { onStream });
317
+ }
318
+ async deleteThreadData(_threadId) {
319
+ const stored = this.sessionId;
320
+ try {
321
+ if (stored) {
322
+ const { client } = await this.ensureSession();
323
+ await client.deleteSession(stored);
324
+ }
325
+ }
326
+ catch (error) {
327
+ console.warn(`[${this.backendLabel}Executor] Failed to delete session`, error);
328
+ }
329
+ finally {
330
+ this.destroyClient();
331
+ this.clearSessionPointer();
332
+ }
333
+ }
334
+ async processQueue() {
335
+ if (this.isProcessing || this.commandQueue.length === 0)
336
+ return;
337
+ const command = this.commandQueue.shift();
338
+ this.isProcessing = true;
339
+ try {
340
+ command.resolve(await this.executeQueued(command.prompt, command.options));
341
+ }
342
+ catch (error) {
343
+ // A rejected ACP request usually means the child process or transport is
344
+ // no longer usable. Recreate it on the next command and resume the
345
+ // persisted session instead of leaving subsequent requests pending.
346
+ this.destroyClient();
347
+ command.resolve({ success: false, error: this.friendlyError(error) });
348
+ }
349
+ finally {
350
+ this.activeCallbacks = {};
351
+ this.activeToolCalls.clear();
352
+ this.clearAbortTimer();
353
+ this.isProcessing = false;
354
+ void this.processQueue();
355
+ }
356
+ }
357
+ async executeQueued(prompt, options) {
358
+ const blocks = [];
359
+ if (prompt)
360
+ blocks.push({ type: 'text', text: prompt });
361
+ for (const attachment of options.attachments ?? []) {
362
+ if (attachment.type === 'image') {
363
+ blocks.push({ type: 'image', data: attachment.data, mimeType: attachment.mimeType });
364
+ }
365
+ }
366
+ if (blocks.length === 0)
367
+ return { success: false, error: 'Empty prompt' };
368
+ let output = '';
369
+ this.activeCallbacks = {
370
+ onStream: (chunk) => {
371
+ output += chunk;
372
+ options.onStream?.(chunk);
373
+ },
374
+ onToolUse: options.onToolUse,
375
+ onToolResult: options.onToolResult,
376
+ onPlanMode: options.onPlanMode,
377
+ onImage: options.onImage,
378
+ };
379
+ const { client, sessionId } = await this.ensureSession();
380
+ const result = await client.prompt(sessionId, blocks);
381
+ const success = !['refusal', 'cancelled', 'error'].includes(result.stopReason);
382
+ return {
383
+ success,
384
+ output,
385
+ error: success ? undefined : `${this.backendLabel} stopped with reason: ${result.stopReason}`,
386
+ sessionAbbr: sessionId.slice(0, 8),
387
+ };
388
+ }
389
+ async ensureSession() {
390
+ if (this.client && this.sessionId)
391
+ return { client: this.client, sessionId: this.sessionId };
392
+ const client = this.createClient();
393
+ try {
394
+ await client.initialize();
395
+ let result;
396
+ if (this.sessionId) {
397
+ try {
398
+ result = await client.loadSession(this.sessionId, this.currentWorkingDirectory);
399
+ }
400
+ catch (error) {
401
+ console.warn(`[${this.backendLabel}Executor] Stored session could not be loaded; starting fresh`, error);
402
+ this.clearSessionPointer();
403
+ }
404
+ }
405
+ if (!this.sessionId) {
406
+ result = await client.newSession(this.currentWorkingDirectory);
407
+ if (!result.sessionId)
408
+ throw new Error(`${this.backendLabel} did not return a session ID`);
409
+ this.sessionId = result.sessionId;
410
+ this.saveSessionPointer();
411
+ }
412
+ this.updateConfigOptions(result);
413
+ this.client = client;
414
+ await this.applyConfiguredOptions(client, this.sessionId);
415
+ return { client, sessionId: this.sessionId };
416
+ }
417
+ catch (error) {
418
+ client.destroy();
419
+ throw error;
420
+ }
421
+ }
422
+ createClient() {
423
+ const callbacks = {
424
+ onTextChunk: (content) => this.handleContent(content, false),
425
+ onThoughtChunk: (content) => this.handleContent(content, true),
426
+ onToolCall: (tool) => {
427
+ const previous = this.activeToolCalls.get(tool.toolCallId);
428
+ const merged = { ...previous, ...tool };
429
+ this.activeToolCalls.set(tool.toolCallId, merged);
430
+ const mapped = mapAcpToolCall(merged);
431
+ this.activeCallbacks.onToolUse?.({ id: tool.toolCallId, ...mapped });
432
+ },
433
+ onToolResult: (tool) => {
434
+ const merged = { ...this.activeToolCalls.get(tool.toolCallId), ...tool };
435
+ this.activeToolCalls.delete(tool.toolCallId);
436
+ this.activeCallbacks.onToolResult?.({
437
+ tool_use_id: tool.toolCallId,
438
+ ...acpToolResult(merged),
439
+ is_error: tool.status === 'failed',
440
+ });
441
+ },
442
+ onPlan: (entries) => this.activeCallbacks.onPlanMode?.(entries.map((entry) => `[${entry.status ?? 'pending'}] ${entry.content}`).join('\n')),
443
+ onConfigOptions: (options) => { this.configOptions = options; },
444
+ onPermissionRequest: async (title, options) => {
445
+ const isQuestion = options.some((option) => /^q\d+_/.test(option.optionId));
446
+ if (this.autoApprove && !isQuestion) {
447
+ let allowed = options.findIndex((option) => option.kind === 'allow_once');
448
+ if (allowed < 0)
449
+ allowed = options.findIndex((option) => option.kind.startsWith('allow'));
450
+ return allowed;
451
+ }
452
+ this.cancelPendingPermission();
453
+ const prompt = isQuestion
454
+ ? [`\n${title}`, ...options.filter((option) => option.kind.startsWith('allow')).map((option, index) => `${index + 1}. ${option.name ?? option.optionId}`), 'Reply with an option number, option name, skip, or cancel.\n'].join('\n')
455
+ : `\nApproval required for ${title}. Reply yes, always, no, or cancel.\n`;
456
+ this.activeCallbacks.onStream?.(prompt);
457
+ return new Promise((resolve) => {
458
+ this.pendingPermission = { title, options, isQuestion, resolve };
459
+ });
460
+ },
461
+ };
462
+ return this.clientFactory(callbacks, this.currentWorkingDirectory);
463
+ }
464
+ handleContent(content, thinking) {
465
+ if (content.type === 'text' && typeof content.text === 'string') {
466
+ this.activeCallbacks.onStream?.(content.text);
467
+ }
468
+ else if (!thinking && content.type === 'image' && typeof content.data === 'string' && typeof content.mimeType === 'string') {
469
+ this.activeCallbacks.onImage?.({ type: 'image', data: content.data, mimeType: content.mimeType });
470
+ }
471
+ }
472
+ async applyConfiguredOptions(client, sessionId) {
473
+ if (this.model)
474
+ this.updateConfigOptions(await client.setConfigOption(sessionId, 'model', this.model));
475
+ if (this.effort)
476
+ this.updateConfigOptions(await client.setConfigOption(sessionId, this.effortConfigId, this.effort));
477
+ }
478
+ updateConfigOptions(result) {
479
+ if (result?.configOptions)
480
+ this.configOptions = result.configOptions;
481
+ }
482
+ findConfigOption(id) {
483
+ return this.configOptions.find((option) => option.id === id);
484
+ }
485
+ loadSessionPointer() {
486
+ try {
487
+ const value = JSON.parse(fs.readFileSync(this.sessionFilePath, 'utf8'));
488
+ if (value.id && (!value.cwd || value.cwd === this.currentWorkingDirectory))
489
+ this.sessionId = value.id;
490
+ }
491
+ catch { }
492
+ }
493
+ saveSessionPointer() {
494
+ fs.writeFileSync(this.sessionFilePath, JSON.stringify({ id: this.sessionId, cwd: this.currentWorkingDirectory }), 'utf8');
495
+ }
496
+ clearSessionPointer() {
497
+ this.sessionId = null;
498
+ this.configOptions = [];
499
+ try {
500
+ fs.unlinkSync(this.sessionFilePath);
501
+ }
502
+ catch { }
503
+ }
504
+ destroyClient() {
505
+ this.clearAbortTimer();
506
+ this.cancelPendingPermission();
507
+ this.client?.destroy();
508
+ this.client = null;
509
+ }
510
+ clearAbortTimer() {
511
+ if (this.abortTimer)
512
+ clearTimeout(this.abortTimer);
513
+ this.abortTimer = null;
514
+ }
515
+ cancelPendingPermission() {
516
+ const pending = this.pendingPermission;
517
+ this.pendingPermission = null;
518
+ pending?.resolve(-1);
519
+ }
520
+ friendlyError(error) {
521
+ const message = error instanceof Error ? error.message : String(error);
522
+ if (/ENOENT|not found/i.test(message)) {
523
+ return `${this.backendLabel} CLI is not installed or not found on PATH. Install it with \`${this.installCommand}\`, or use /backend to switch backends.`;
524
+ }
525
+ if (/provider\.auth|authentication required|no provider configured|not available in your country/i.test(message)) {
526
+ return `${this.backendLabel} authentication failed: ${message}. Use /model to choose an available model or run \`${this.authCommand}\`.`;
527
+ }
528
+ return message;
529
+ }
530
+ }
531
+ exports.AcpExecutor = AcpExecutor;
532
+ //# sourceMappingURL=AcpExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcpExecutor.js","sourceRoot":"","sources":["../../src/executor/AcpExecutor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAG7B,+CAA+G;AAG/G,MAAM,eAAe,GAAG,KAAK,CAAC;AA2C9B,SAAS,cAAc,CAAC,IAAuB;IAC7C,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxF,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAmC,EAAE,CAAC;IAC1G,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW;QACrE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS;YAChC,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,KAAc;IACnD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACxD,OAAO,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;aAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAkC,CAAC;YACxD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;;gBAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,QAAQ,EAAE;gBACnB,SAAS,QAAQ,EAAE;gBACnB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChD,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;aACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,UAAU,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED,kFAAkF;AAClF,MAAsB,WAAW;IACd,cAAc,CAAiB;IAC/B,WAAW,CAAU;IACrB,QAAQ,CAAU;IAClB,YAAY,CAAS;IACrB,cAAc,CAAS;IACvB,eAAe,CAAS;IACxB,cAAc,CAAS;IACvB,WAAW,CAAS;IACpB,eAAe,CAAS;IACxB,aAAa,CAA8D;IACpF,uBAAuB,CAAS;IAChC,KAAK,CAAU;IACf,MAAM,CAAU;IAChB,MAAM,GAAwB,IAAI,CAAC;IACnC,SAAS,GAAkB,IAAI,CAAC;IAChC,aAAa,GAAsB,EAAE,CAAC;IACtC,eAAe,GAAoB,EAAE,CAAC;IACtC,YAAY,GAAoB,EAAE,CAAC;IACnC,YAAY,GAAG,KAAK,CAAC;IACrB,WAAW,GAAG,KAAK,CAAC;IACpB,UAAU,GAAyC,IAAI,CAAC;IACxD,iBAAiB,GAA6B,IAAI,CAAC;IACnD,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IAE/D,YAAsB,cAA8B,EAAE,OAA2B;QAC/E,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa;eACrC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,qBAAS,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB;gBAC5D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBAC9E,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,mDAAmD,EAAE,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc;eACrC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;QACpF,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,UAA0B,EAAE;QAClD,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,QAAQ,KAAK,IAAI,CAAC,uBAAuB;YAAE,OAAO;QACtD,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACxE,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;gBACpD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;uBAClE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC;YAC3G,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc;YACnD,CAAC,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY;gBACpF,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa;oBACrF,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI;wBAC9B,CAAC,CAAC,SAAS,CAAC;QACpB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,YAAY;YAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACvH,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,aAAa;YAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzH,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,OAAO,CAAC,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,KAAK,CAAC,KAAK;YACf,WAAW,EAAE,KAAK,CAAC,IAAI;YACvB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,YAAY;YACpD,yBAAyB,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,YAAY;gBAClE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtD,CAAC,CAAC,SAAS;YACb,sBAAsB,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACzF,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACnC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YACtF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC,YAAY,WAAW,KAAK,wCAAwC,EAAE,CAAC;QACzH,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,KAAK,GAAG,EAAE,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC,YAAY,mDAAmD,EAAE,CAAC;QACpI,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YAC1G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,IAAI,CAAC,YAAY,sBAAsB,MAAM,GAAG,EAAE,CAAC;QACpG,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,MAAM,GAAG,EAAE,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAkC;QACtD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC/E,OAAO;oBACL,OAAO;oBACP,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;oBACvD,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,yBAAyB,MAAM,CAAC,UAAU,EAAE;oBAC7F,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACnC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9C,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,oCAAoC,EAAE,KAAK,CAAC,CAAC;QACjF,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,mEAAmE;YACnE,oEAAoE;YACpE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,OAAuB;QACjE,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAE1E,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG;YACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC;gBAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/E,OAAO;YACL,OAAO;YACP,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,yBAAyB,MAAM,CAAC,UAAU,EAAE;YAC7F,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACnC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAClF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,8DAA8D,EAAE,KAAK,CAAC,CAAC;oBACzG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,8BAA8B,CAAC,CAAC;gBAC3F,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;YAC3D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAU,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,SAAS,GAAsB;YACnC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;YAC5D,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;gBACzE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBAClC,WAAW,EAAE,IAAI,CAAC,UAAU;oBAC5B,GAAG,aAAa,CAAC,MAAM,CAAC;oBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ;iBACnC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CACpD,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACrF;YACD,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;YAC/D,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5E,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,IAAI,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;oBAC1E,IAAI,OAAO,GAAG,CAAC;wBAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1F,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,UAAU;oBACvB,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,8DAA8D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrO,CAAC,CAAC,2BAA2B,KAAK,uCAAuC,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;oBACrC,IAAI,CAAC,iBAAiB,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACnE,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrE,CAAC;IAEO,aAAa,CAAC,OAAwB,EAAE,QAAiB;QAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7H,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAoB,EAAE,SAAiB;QAC1E,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvG,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvH,CAAC;IAEO,mBAAmB,CAAC,MAAyB;QACnD,IAAI,MAAM,EAAE,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACvE,CAAC;IAEO,gBAAgB,CAAC,EAAU;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAkC,CAAC;YACzG,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,uBAAuB,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;QACxG,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAEO,kBAAkB;QACxB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5H,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,UAAU;YAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,uBAAuB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC,YAAY,iEAAiE,IAAI,CAAC,cAAc,yCAAyC,CAAC;QAC3J,CAAC;QACD,IAAI,8FAA8F,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjH,OAAO,GAAG,IAAI,CAAC,YAAY,2BAA2B,OAAO,sDAAsD,IAAI,CAAC,WAAW,KAAK,CAAC;QAC3I,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAnbD,kCAmbC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudePersistentExecutor.d.ts","sourceRoot":"","sources":["../../src/executor/ClaudePersistentExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaudePersistentExecutor.d.ts","sourceRoot":"","sources":["../../src/executor/ClaudePersistentExecutor.ts"],"names":[],"mappings":"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"}
@@ -240,6 +240,7 @@ class ClaudePersistentExecutor extends events_1.EventEmitter {
240
240
  FORCE_COLOR: '0',
241
241
  // Prevent nested session error
242
242
  CLAUDECODE: '',
243
+ CLAUDE_CODE: '',
243
244
  },
244
245
  });
245
246
  this.claudeProcess = child;
@@ -1226,7 +1227,7 @@ class ClaudePersistentExecutor extends events_1.EventEmitter {
1226
1227
  const child = (0, child_process_1.spawn)('claude', ['--resume', sessionIdBeforeCompact, '--print', '/compact'], {
1227
1228
  cwd: this.currentWorkingDirectory,
1228
1229
  stdio: ['ignore', 'pipe', 'pipe'],
1229
- env: { ...process.env, FORCE_COLOR: '0', CLAUDECODE: '' },
1230
+ env: { ...process.env, FORCE_COLOR: '0', CLAUDECODE: '', CLAUDE_CODE: '' },
1230
1231
  });
1231
1232
  let output = '';
1232
1233
  child.stdout?.on('data', (data) => {