@yu_robotics/remote-cli 1.6.26 → 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 (85) hide show
  1. package/README.md +8 -8
  2. package/dist/client/MessageHandler.d.ts +5 -3
  3. package/dist/client/MessageHandler.d.ts.map +1 -1
  4. package/dist/client/MessageHandler.js +57 -26
  5. package/dist/client/MessageHandler.js.map +1 -1
  6. package/dist/commands/start.d.ts +7 -0
  7. package/dist/commands/start.d.ts.map +1 -1
  8. package/dist/commands/start.js +29 -8
  9. package/dist/commands/start.js.map +1 -1
  10. package/dist/config/ConfigManager.d.ts +2 -0
  11. package/dist/config/ConfigManager.d.ts.map +1 -1
  12. package/dist/config/ConfigManager.js +34 -2
  13. package/dist/config/ConfigManager.js.map +1 -1
  14. package/dist/executor/AcpExecutor.d.ts +79 -0
  15. package/dist/executor/AcpExecutor.d.ts.map +1 -0
  16. package/dist/executor/AcpExecutor.js +532 -0
  17. package/dist/executor/AcpExecutor.js.map +1 -0
  18. package/dist/executor/ClaudePersistentExecutor.d.ts.map +1 -1
  19. package/dist/executor/ClaudePersistentExecutor.js +2 -1
  20. package/dist/executor/ClaudePersistentExecutor.js.map +1 -1
  21. package/dist/executor/KimiExecutor.d.ts +18 -0
  22. package/dist/executor/KimiExecutor.d.ts.map +1 -0
  23. package/dist/executor/KimiExecutor.js +28 -0
  24. package/dist/executor/KimiExecutor.js.map +1 -0
  25. package/dist/executor/OpenCodeExecutor.d.ts +19 -0
  26. package/dist/executor/OpenCodeExecutor.d.ts.map +1 -0
  27. package/dist/executor/OpenCodeExecutor.js +28 -0
  28. package/dist/executor/OpenCodeExecutor.js.map +1 -0
  29. package/dist/executor/ZCodeExecutor.d.ts +20 -0
  30. package/dist/executor/ZCodeExecutor.d.ts.map +1 -0
  31. package/dist/executor/ZCodeExecutor.js +37 -0
  32. package/dist/executor/ZCodeExecutor.js.map +1 -0
  33. package/dist/executor/acp/AcpClient.d.ts +50 -40
  34. package/dist/executor/acp/AcpClient.d.ts.map +1 -1
  35. package/dist/executor/acp/AcpClient.js +113 -189
  36. package/dist/executor/acp/AcpClient.js.map +1 -1
  37. package/dist/executor/acp/AcpTypes.d.ts +27 -68
  38. package/dist/executor/acp/AcpTypes.d.ts.map +1 -1
  39. package/dist/executor/acp/AcpTypes.js +0 -9
  40. package/dist/executor/acp/AcpTypes.js.map +1 -1
  41. package/dist/executor/index.d.ts +8 -13
  42. package/dist/executor/index.d.ts.map +1 -1
  43. package/dist/executor/index.js +55 -78
  44. package/dist/executor/index.js.map +1 -1
  45. package/dist/executor/zcode/ZCodeClient.d.ts +73 -0
  46. package/dist/executor/zcode/ZCodeClient.d.ts.map +1 -0
  47. package/dist/executor/zcode/ZCodeClient.js +681 -0
  48. package/dist/executor/zcode/ZCodeClient.js.map +1 -0
  49. package/dist/executor/zcode/ZCodeCommand.d.ts +9 -0
  50. package/dist/executor/zcode/ZCodeCommand.d.ts.map +1 -0
  51. package/dist/executor/zcode/ZCodeCommand.js +122 -0
  52. package/dist/executor/zcode/ZCodeCommand.js.map +1 -0
  53. package/dist/thread/ThreadExecutorPool.js +2 -2
  54. package/dist/thread/ThreadExecutorPool.js.map +1 -1
  55. package/dist/thread/types.d.ts +1 -1
  56. package/dist/thread/types.d.ts.map +1 -1
  57. package/dist/types/config.d.ts +30 -16
  58. package/dist/types/config.d.ts.map +1 -1
  59. package/dist/types/config.js +8 -2
  60. package/dist/types/config.js.map +1 -1
  61. package/package.json +2 -2
  62. package/dist/executor/ClaudeExecutor.d.ts +0 -93
  63. package/dist/executor/ClaudeExecutor.d.ts.map +0 -1
  64. package/dist/executor/ClaudeExecutor.js +0 -380
  65. package/dist/executor/ClaudeExecutor.js.map +0 -1
  66. package/dist/executor/CodexExecutor.d.ts +0 -140
  67. package/dist/executor/CodexExecutor.d.ts.map +0 -1
  68. package/dist/executor/CodexExecutor.js +0 -789
  69. package/dist/executor/CodexExecutor.js.map +0 -1
  70. package/dist/executor/GeminiExecutor.d.ts +0 -93
  71. package/dist/executor/GeminiExecutor.d.ts.map +0 -1
  72. package/dist/executor/GeminiExecutor.js +0 -415
  73. package/dist/executor/GeminiExecutor.js.map +0 -1
  74. package/dist/executor/acp/SessionManager.d.ts +0 -41
  75. package/dist/executor/acp/SessionManager.d.ts.map +0 -1
  76. package/dist/executor/acp/SessionManager.js +0 -152
  77. package/dist/executor/acp/SessionManager.js.map +0 -1
  78. package/dist/utils/processUtils.d.ts +0 -16
  79. package/dist/utils/processUtils.d.ts.map +0 -1
  80. package/dist/utils/processUtils.js +0 -37
  81. package/dist/utils/processUtils.js.map +0 -1
  82. package/dist/worktree/WorktreeManager.d.ts +0 -119
  83. package/dist/worktree/WorktreeManager.d.ts.map +0 -1
  84. package/dist/worktree/WorktreeManager.js +0 -451
  85. package/dist/worktree/WorktreeManager.js.map +0 -1
@@ -1,380 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ClaudeExecutor = void 0;
7
- const child_process_1 = require("child_process");
8
- const fs_1 = __importDefault(require("fs"));
9
- const path_1 = __importDefault(require("path"));
10
- const os_1 = __importDefault(require("os"));
11
- /**
12
- * Get Claude's global sessions directory
13
- */
14
- function getClaudeSessionsDir() {
15
- const homeDir = os_1.default.homedir();
16
- const possiblePaths = [
17
- path_1.default.join(homeDir, '.claude', 'sessions'),
18
- path_1.default.join(homeDir, '.config', 'claude', 'sessions'),
19
- path_1.default.join(homeDir, 'Library', 'Application Support', 'Claude', 'sessions'),
20
- ];
21
- for (const dir of possiblePaths) {
22
- if (fs_1.default.existsSync(dir)) {
23
- return dir;
24
- }
25
- }
26
- return null;
27
- }
28
- /**
29
- * Claude Executor
30
- * Manages session ID for continuity using --resume
31
- */
32
- class ClaudeExecutor {
33
- directoryGuard;
34
- currentWorkingDirectory;
35
- isExecuting = false;
36
- isDestroyed = false;
37
- defaultTimeout = 300000; // 5 minutes
38
- sessionId = null;
39
- sessionFilePath;
40
- constructor(directoryGuard) {
41
- this.directoryGuard = directoryGuard;
42
- this.currentWorkingDirectory = process.cwd();
43
- // Store session ID in a file in the working directory
44
- this.sessionFilePath = path_1.default.join(this.currentWorkingDirectory, '.claude-session');
45
- this.loadSessionId();
46
- }
47
- /**
48
- * Load session ID from file if exists
49
- */
50
- loadSessionId() {
51
- try {
52
- if (fs_1.default.existsSync(this.sessionFilePath)) {
53
- const data = fs_1.default.readFileSync(this.sessionFilePath, 'utf-8');
54
- const session = JSON.parse(data);
55
- if (session.id) {
56
- this.sessionId = session.id;
57
- console.log(`[Claude] Loaded session ID: ${this.sessionId}`);
58
- }
59
- }
60
- }
61
- catch (error) {
62
- console.error('[Claude] Failed to load session ID:', error);
63
- this.sessionId = null;
64
- }
65
- }
66
- /**
67
- * Save session ID to file
68
- */
69
- saveSessionId(sessionId) {
70
- try {
71
- const data = JSON.stringify({
72
- id: sessionId,
73
- savedAt: new Date().toISOString(),
74
- });
75
- fs_1.default.writeFileSync(this.sessionFilePath, data, 'utf-8');
76
- console.log(`[Claude] Saved session ID: ${sessionId}`);
77
- }
78
- catch (error) {
79
- console.error('[Claude] Failed to save session ID:', error);
80
- }
81
- }
82
- /**
83
- * Get recent session ID from Claude's sessions directory
84
- * Finds the most recently modified session file
85
- */
86
- async getRecentSessionId() {
87
- try {
88
- const sessionsDir = getClaudeSessionsDir();
89
- if (!sessionsDir) {
90
- console.log('[Claude] No sessions directory found');
91
- return null;
92
- }
93
- // List all session directories
94
- const entries = fs_1.default.readdirSync(sessionsDir, { withFileTypes: true });
95
- const sessionDirs = entries
96
- .filter(entry => entry.isDirectory())
97
- .map(entry => {
98
- const sessionPath = path_1.default.join(sessionsDir, entry.name);
99
- const stats = fs_1.default.statSync(sessionPath);
100
- return {
101
- id: entry.name,
102
- mtime: stats.mtime,
103
- };
104
- })
105
- .filter(session => {
106
- // Validate UUID format
107
- const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
108
- return uuidPattern.test(session.id);
109
- })
110
- .sort((a, b) => b.mtime.getTime() - a.mtime.getTime());
111
- if (sessionDirs.length === 0) {
112
- console.log('[Claude] No sessions found in directory');
113
- return null;
114
- }
115
- // Return the most recent session ID
116
- const recentSession = sessionDirs[0];
117
- console.log(`[Claude] Found recent session: ${recentSession.id} (last modified: ${recentSession.mtime.toISOString()})`);
118
- return recentSession.id;
119
- }
120
- catch (error) {
121
- console.error('[Claude] Failed to get recent session ID:', error);
122
- return null;
123
- }
124
- }
125
- /**
126
- * Get current working directory
127
- */
128
- getCurrentWorkingDirectory() {
129
- return this.currentWorkingDirectory;
130
- }
131
- /**
132
- * Set working directory
133
- * @param targetPath Target path
134
- * @throws If path is not safe
135
- */
136
- async setWorkingDirectory(targetPath) {
137
- const resolvedPath = this.directoryGuard.resolveWorkingDirectory(targetPath, this.currentWorkingDirectory);
138
- this.currentWorkingDirectory = resolvedPath;
139
- // Update session file path
140
- this.sessionFilePath = path_1.default.join(this.currentWorkingDirectory, '.claude-session');
141
- this.loadSessionId();
142
- }
143
- /**
144
- * Execute Claude command
145
- * @param prompt Command prompt
146
- * @param options Execution options
147
- * @returns Execution result
148
- */
149
- async execute(prompt, options = {}) {
150
- if (this.isDestroyed) {
151
- return {
152
- success: false,
153
- error: 'Executor has been destroyed',
154
- };
155
- }
156
- if (this.isExecuting) {
157
- return {
158
- success: false,
159
- error: 'Executor is busy, please wait for current task to complete. Send the abort command to cancel the running task.',
160
- };
161
- }
162
- this.isExecuting = true;
163
- try {
164
- // Only use timeout if explicitly provided in options
165
- // Default timeout is disabled to prevent premature termination of long-running tasks
166
- // Users can cancel with /abort if needed
167
- const timeout = options.timeout; // undefined means no timeout
168
- // If we don't have a session ID, try to get recent one from Claude's sessions directory
169
- if (!this.sessionId) {
170
- console.log('[Claude] No session ID, checking for recent sessions...');
171
- this.sessionId = await this.getRecentSessionId();
172
- if (this.sessionId) {
173
- this.saveSessionId(this.sessionId);
174
- }
175
- }
176
- const result = await this.executeWithClaudeCLI(prompt, options, timeout);
177
- return result;
178
- }
179
- catch (error) {
180
- return {
181
- success: false,
182
- error: this.formatError(error),
183
- };
184
- }
185
- finally {
186
- this.isExecuting = false;
187
- }
188
- }
189
- /**
190
- * Execute using local Claude Code CLI
191
- */
192
- async executeWithClaudeCLI(prompt, options, timeout) {
193
- return new Promise((resolve, reject) => {
194
- const outputChunks = [];
195
- let timeoutTimer;
196
- // Verify working directory exists
197
- if (!fs_1.default.existsSync(this.currentWorkingDirectory)) {
198
- reject(new Error(`Working directory does not exist: ${this.currentWorkingDirectory}`));
199
- return;
200
- }
201
- // Build claude command arguments
202
- const args = ['--print'];
203
- if (this.sessionId) {
204
- args.push('--resume', this.sessionId);
205
- console.log(`[Claude] Resuming session: ${this.sessionId}`);
206
- }
207
- else {
208
- console.log('[Claude] Starting new session');
209
- }
210
- args.push(prompt);
211
- console.log(`[Claude] Starting: claude ${args.map(a => a.includes(' ') ? `"${a}"` : a).join(' ')}`);
212
- console.log(`[Claude] Working directory: ${this.currentWorkingDirectory}`);
213
- const child = (0, child_process_1.spawn)('claude', args, {
214
- cwd: this.currentWorkingDirectory,
215
- stdio: ['ignore', 'pipe', 'pipe'],
216
- env: {
217
- ...process.env,
218
- CI: 'true',
219
- FORCE_COLOR: '0',
220
- },
221
- });
222
- console.log(`[Claude] Process started with PID: ${child.pid}`);
223
- // Handle stdout
224
- child.stdout.on('data', (data) => {
225
- const chunk = data.toString();
226
- console.log('[Claude stdout]', chunk);
227
- outputChunks.push(chunk);
228
- if (options.onStream) {
229
- try {
230
- options.onStream(chunk);
231
- }
232
- catch (error) {
233
- console.error('[Claude] onStream callback error:', error);
234
- }
235
- }
236
- });
237
- // Handle stderr
238
- child.stderr.on('data', (data) => {
239
- const chunk = data.toString();
240
- console.error('[Claude stderr]', chunk);
241
- outputChunks.push(chunk);
242
- if (options.onStream) {
243
- try {
244
- options.onStream(chunk);
245
- }
246
- catch (error) {
247
- console.error('[Claude] onStream callback error:', error);
248
- }
249
- }
250
- });
251
- // Handle timeout (only if explicitly provided)
252
- // Default timeout is disabled to prevent premature termination
253
- if (timeout !== undefined) {
254
- timeoutTimer = setTimeout(() => {
255
- console.error('[Claude] Command timeout');
256
- child.kill('SIGTERM');
257
- reject(new Error('Execution timeout exceeded'));
258
- }, timeout);
259
- }
260
- // Handle process completion
261
- child.on('close', (code) => {
262
- if (timeoutTimer) {
263
- clearTimeout(timeoutTimer);
264
- }
265
- console.log(`[Claude] Process exited with code: ${code}`);
266
- const output = outputChunks.join('');
267
- // Check if session ID is in output (for new sessions)
268
- if (!this.sessionId) {
269
- const uuidPattern = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi;
270
- const matches = output.match(uuidPattern);
271
- if (matches && matches.length > 0) {
272
- this.sessionId = matches[0];
273
- this.saveSessionId(this.sessionId);
274
- console.log(`[Claude] New session ID: ${this.sessionId}`);
275
- }
276
- }
277
- if (code === 0) {
278
- console.log('[Claude] Execution completed successfully');
279
- resolve({
280
- success: true,
281
- output: output.trim(),
282
- });
283
- }
284
- else {
285
- console.error(`[Claude] Execution failed with code ${code}`);
286
- resolve({
287
- success: false,
288
- error: `Claude Code process exited with code ${code}${output ? '\n' + output : ''}`,
289
- });
290
- }
291
- });
292
- // Handle process errors
293
- child.on('error', (error) => {
294
- if (timeoutTimer) {
295
- clearTimeout(timeoutTimer);
296
- }
297
- console.error('[Claude] Process error:', error);
298
- if (error.message.includes('ENOENT')) {
299
- reject(new Error('Claude Code CLI not found. Please ensure Claude Code is installed and available in PATH.\n' +
300
- 'Installation: https://docs.anthropic.com/en/docs/claude-code/installation'));
301
- }
302
- else {
303
- reject(error);
304
- }
305
- });
306
- });
307
- }
308
- /**
309
- * Format error message
310
- */
311
- formatError(error) {
312
- if (error instanceof Error) {
313
- if (error.message.includes('timeout')) {
314
- return `Execution timeout exceeded. The task took too long to complete.`;
315
- }
316
- if (error.message.includes('ENOENT')) {
317
- return `Claude Code CLI not found. Please ensure it's installed and available in PATH.`;
318
- }
319
- if (error.message.includes('EACCES') || error.message.includes('Permission denied')) {
320
- return `Permission denied. You may not have access to this resource.`;
321
- }
322
- return `Execution error: ${error.message}`;
323
- }
324
- return 'Unknown execution error';
325
- }
326
- /**
327
- * Reset execution context
328
- * Clears the session ID so next command starts a new session
329
- */
330
- resetContext() {
331
- console.log('[Claude] Resetting session context');
332
- this.sessionId = null;
333
- // Remove session file
334
- try {
335
- if (fs_1.default.existsSync(this.sessionFilePath)) {
336
- fs_1.default.unlinkSync(this.sessionFilePath);
337
- console.log('[Claude] Session file removed');
338
- }
339
- }
340
- catch (error) {
341
- console.error('[Claude] Failed to remove session file:', error);
342
- }
343
- }
344
- /**
345
- * Abort current command execution
346
- * For ClaudeExecutor, this just resets the executing flag since
347
- * each command spawns a new process and cannot be easily aborted mid-execution
348
- */
349
- async abort() {
350
- if (!this.isExecuting) {
351
- console.log('[Claude] No command is currently executing');
352
- return false;
353
- }
354
- console.log('[Claude] Abort requested, but spawn-mode executor cannot abort running command');
355
- // Note: Since this executor spawns a new process for each command,
356
- // we cannot easily abort it. We just reset the flag so the next
357
- // command can be processed (the current one will complete in background).
358
- this.isExecuting = false;
359
- return true;
360
- }
361
- /**
362
- * Destroy executor
363
- */
364
- destroy() {
365
- this.isDestroyed = true;
366
- this.isExecuting = false;
367
- }
368
- /**
369
- * Generate a new session ID (UUID v4)
370
- */
371
- generateSessionId() {
372
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
373
- const r = (Math.random() * 16) | 0;
374
- const v = c === 'x' ? r : (r & 0x3) | 0x8;
375
- return v.toString(16);
376
- });
377
- }
378
- }
379
- exports.ClaudeExecutor = ClaudeExecutor;
380
- //# sourceMappingURL=ClaudeExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClaudeExecutor.js","sourceRoot":"","sources":["../../src/executor/ClaudeExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,140 +0,0 @@
1
- import { DirectoryGuard } from '../security/DirectoryGuard';
2
- import { IExecutor, ExecuteOptions, ExecuteResult, ExecutorModelInfo } from './IExecutor';
3
- export interface CodexModelCatalogTransport {
4
- request(method: string, params?: any): Promise<any>;
5
- stop(): Promise<void>;
6
- }
7
- export interface CodexExecutorOptions {
8
- /** Model passed as -m. Leave unset to use codex's default. */
9
- model?: string;
10
- /** Per-thread reasoning effort override. Leave unset to use Codex defaults. */
11
- effort?: string;
12
- /**
13
- * Bypass all approvals and the sandbox via
14
- * --dangerously-bypass-approvals-and-sandbox. Default: true.
15
- */
16
- autoApprove?: boolean;
17
- initialWorkingDirectory?: string;
18
- /** codex binary command. Default: 'codex' */
19
- codexCommand?: string;
20
- /** Thread ID for per-thread session persistence */
21
- threadId?: string;
22
- /**
23
- * Inactivity timeout: if codex produces no stdout for this long while a
24
- * command is in flight, the command fails and the process is killed.
25
- * Default: 10 minutes (matches ClaudePersistentExecutor).
26
- */
27
- inactivityTimeoutMs?: number;
28
- /** Grace period before SIGTERM escalates to SIGKILL. Default: 3000ms. */
29
- killEscalationMs?: number;
30
- /** Injectable app-server client used to validate models for exec mode. */
31
- modelCatalogClientFactory?: (cwd: string) => CodexModelCatalogTransport;
32
- }
33
- /**
34
- * IExecutor implementation for the OpenAI Codex CLI (`codex`), exec mode.
35
- *
36
- * Unlike AgyExecutor (one persistent process per conversation), codex exec
37
- * is one-shot per command: each execute() spawns
38
- * codex exec --json --skip-git-repo-check [--dangerously-bypass-approvals-and-sandbox] [-m model] "<prompt>"
39
- * and resolves when the process exits. Context continuity is achieved by
40
- * persisting the thread_id from `thread.started` and passing it to
41
- * codex exec resume --skip-git-repo-check --json ... <thread_id> "<prompt>"
42
- * on subsequent commands.
43
- *
44
- * Caveats (verified against codex-cli 0.153.4):
45
- * - stdin must be ended immediately after spawn — codex reads piped stdin
46
- * to EOF before starting ("Reading additional input from stdin...").
47
- * - `codex exec resume` does NOT accept the --sandbox flag (usage error).
48
- * We only ever pass --dangerously-bypass-approvals-and-sandbox, which is
49
- * accepted on both first run and resume.
50
- * - item type "error" is non-fatal (e.g. model-metadata fallback warnings);
51
- * turn.failed / top-level error events are the fatal ones.
52
- *
53
- * Note: exec mode accepts text prompts only — image attachments are silently
54
- * dropped (with a log line).
55
- */
56
- export declare class CodexExecutor implements IExecutor {
57
- private directoryGuard;
58
- private currentWorkingDirectory;
59
- /** Model for the next spawn. Mutable: setModel() updates it in place. */
60
- private model?;
61
- private effort?;
62
- private readonly autoApprove;
63
- private readonly codexCommand;
64
- private readonly threadId?;
65
- private proc;
66
- private codexThreadId;
67
- private sessionFilePath;
68
- private commandQueue;
69
- private isProcessing;
70
- private isDestroyed;
71
- private activeCommand;
72
- private currentOutputBuffer;
73
- private stdoutBuffer;
74
- private stderrTail;
75
- private decoder;
76
- private inactivityTimer;
77
- private readonly inactivityTimeoutMs;
78
- private readonly killEscalationMs;
79
- private readonly modelCatalogClientFactory;
80
- private attachmentWarningShown;
81
- /** Handoff summary from compactWhenFull, wrapped into the next prompt (consumed once). */
82
- private pendingContextSeed;
83
- constructor(directoryGuard: DirectoryGuard, options?: CodexExecutorOptions);
84
- execute(prompt: string, options?: ExecuteOptions): Promise<ExecuteResult>;
85
- getCurrentWorkingDirectory(): string;
86
- setWorkingDirectory(targetPath: string): Promise<void>;
87
- resetContext(): void;
88
- abort(): Promise<boolean>;
89
- destroy(): Promise<void>;
90
- isProcessRunning(): boolean;
91
- getSessionId(): string | null;
92
- /**
93
- * Switch the model for future commands. codex exec is one-shot per command
94
- * and takes -m at spawn, so the running command (if any) is undisturbed and
95
- * the next spawn picks the new model up. MessageHandler persists the choice
96
- * on the thread; ThreadExecutorPool passes it back via the factory.
97
- */
98
- listModels(): Promise<ExecutorModelInfo[]>;
99
- setModel(model: string, _onStream?: (chunk: string) => void): Promise<ExecuteResult>;
100
- clearModel(): void;
101
- setEffort(effort: string): Promise<ExecuteResult>;
102
- /**
103
- * Compact via summarize-then-reset. codex has compaction in its interactive
104
- * TUI (plus internal auto-compaction at the token limit), but in exec mode
105
- * a '/compact' prompt reaches the model as plain text (verified live against
106
- * codex-cli 0.153.4). So we:
107
- * 1. ask the current thread for a dense handoff summary,
108
- * 2. reset the thread,
109
- * 3. wrap the summary into the next user prompt (consumed once).
110
- * If the summary turn fails (e.g. context already too full), fall back to
111
- * a plain reset and say so honestly.
112
- */
113
- compactWhenFull(onStream?: (chunk: string) => void): Promise<ExecuteResult>;
114
- /**
115
- * Delete per-thread session state. Only removes OUR stored thread id
116
- * mapping — codex's own session store (~/.codex/sessions) is left untouched.
117
- */
118
- deleteThreadData(_threadId: string): Promise<void>;
119
- private processQueue;
120
- private executeQueued;
121
- private completeActiveCommand;
122
- /**
123
- * Arm the inactivity watchdog: any stdout line counts as activity. If codex
124
- * goes silent mid-command for longer than the limit, fail the command and
125
- * kill the process (the thread resumes on the next command).
126
- */
127
- private armInactivityTimer;
128
- private clearInactivityTimer;
129
- private spawnProcess;
130
- private buildArgs;
131
- private killProcess;
132
- private handleStdout;
133
- private handleLine;
134
- private handleItemStarted;
135
- private handleItemCompleted;
136
- private loadThreadId;
137
- private setThreadId;
138
- private clearThreadId;
139
- }
140
- //# sourceMappingURL=CodexExecutor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodexExecutor.d.ts","sourceRoot":"","sources":["../../src/executor/CodexExecutor.ts"],"names":[],"mappings":"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"}