@coralai/sps-cli 0.26.0 → 0.26.2

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 (135) hide show
  1. package/README-CN.md +4 -5
  2. package/README.md +38 -54
  3. package/dist/commands/acpCommand.d.ts.map +1 -1
  4. package/dist/commands/acpCommand.js +2 -19
  5. package/dist/commands/acpCommand.js.map +1 -1
  6. package/dist/commands/doctor.d.ts.map +1 -1
  7. package/dist/commands/doctor.js +3 -13
  8. package/dist/commands/doctor.js.map +1 -1
  9. package/dist/commands/tick.d.ts +0 -1
  10. package/dist/commands/tick.d.ts.map +1 -1
  11. package/dist/commands/tick.js +0 -18
  12. package/dist/commands/tick.js.map +1 -1
  13. package/dist/commands/workerDashboard.d.ts.map +1 -1
  14. package/dist/commands/workerDashboard.js +18 -89
  15. package/dist/commands/workerDashboard.js.map +1 -1
  16. package/dist/core/config.d.ts +2 -4
  17. package/dist/core/config.d.ts.map +1 -1
  18. package/dist/core/config.js +2 -4
  19. package/dist/core/config.js.map +1 -1
  20. package/dist/core/config.test.js +3 -5
  21. package/dist/core/config.test.js.map +1 -1
  22. package/dist/core/sessionLiveness.d.ts +0 -1
  23. package/dist/core/sessionLiveness.d.ts.map +1 -1
  24. package/dist/core/sessionLiveness.js +6 -16
  25. package/dist/core/sessionLiveness.js.map +1 -1
  26. package/dist/core/state.d.ts +4 -5
  27. package/dist/core/state.d.ts.map +1 -1
  28. package/dist/core/state.js +0 -1
  29. package/dist/core/state.js.map +1 -1
  30. package/dist/core/state.test.js +0 -1
  31. package/dist/core/state.test.js.map +1 -1
  32. package/dist/engines/CloseoutEngine.js.map +1 -1
  33. package/dist/engines/ExecutionEngine.d.ts +1 -1
  34. package/dist/engines/ExecutionEngine.js +3 -3
  35. package/dist/engines/ExecutionEngine.js.map +1 -1
  36. package/dist/engines/MonitorEngine.d.ts.map +1 -1
  37. package/dist/engines/MonitorEngine.js +5 -8
  38. package/dist/engines/MonitorEngine.js.map +1 -1
  39. package/dist/main.js +3 -3
  40. package/dist/main.js.map +1 -1
  41. package/dist/manager/integration-queue.d.ts +1 -1
  42. package/dist/manager/integration-queue.d.ts.map +1 -1
  43. package/dist/manager/runtime-coordinator.js +1 -1
  44. package/dist/manager/runtime-coordinator.js.map +1 -1
  45. package/dist/manager/worker-manager-impl.d.ts +1 -1
  46. package/dist/manager/worker-manager-impl.d.ts.map +1 -1
  47. package/dist/manager/worker-manager-impl.js +8 -8
  48. package/dist/manager/worker-manager-impl.js.map +1 -1
  49. package/dist/manager/worker-manager.d.ts +4 -4
  50. package/dist/manager/worker-manager.d.ts.map +1 -1
  51. package/dist/providers/adapters/AcpSdkAdapter.js +1 -1
  52. package/dist/providers/registry.d.ts.map +1 -1
  53. package/dist/providers/registry.js +0 -5
  54. package/dist/providers/registry.js.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/core/acpState.d.ts +0 -4
  57. package/dist/core/acpState.d.ts.map +0 -1
  58. package/dist/core/acpState.js +0 -38
  59. package/dist/core/acpState.js.map +0 -1
  60. package/dist/core/ptyControl.d.ts +0 -27
  61. package/dist/core/ptyControl.d.ts.map +0 -1
  62. package/dist/core/ptyControl.js +0 -53
  63. package/dist/core/ptyControl.js.map +0 -1
  64. package/dist/interfaces/WorkerProvider.d.ts +0 -92
  65. package/dist/interfaces/WorkerProvider.d.ts.map +0 -1
  66. package/dist/interfaces/WorkerProvider.js +0 -2
  67. package/dist/interfaces/WorkerProvider.js.map +0 -1
  68. package/dist/manager/merge-mutex.d.ts +0 -20
  69. package/dist/manager/merge-mutex.d.ts.map +0 -1
  70. package/dist/manager/merge-mutex.js +0 -38
  71. package/dist/manager/merge-mutex.js.map +0 -1
  72. package/dist/manager/post-actions.d.ts +0 -81
  73. package/dist/manager/post-actions.d.ts.map +0 -1
  74. package/dist/manager/post-actions.js +0 -449
  75. package/dist/manager/post-actions.js.map +0 -1
  76. package/dist/manager/pty-session-manager.d.ts +0 -75
  77. package/dist/manager/pty-session-manager.d.ts.map +0 -1
  78. package/dist/manager/pty-session-manager.js +0 -343
  79. package/dist/manager/pty-session-manager.js.map +0 -1
  80. package/dist/manager/pty-session.d.ts +0 -77
  81. package/dist/manager/pty-session.d.ts.map +0 -1
  82. package/dist/manager/pty-session.js +0 -230
  83. package/dist/manager/pty-session.js.map +0 -1
  84. package/dist/manager/recovery.d.ts +0 -56
  85. package/dist/manager/recovery.d.ts.map +0 -1
  86. package/dist/manager/recovery.js +0 -510
  87. package/dist/manager/recovery.js.map +0 -1
  88. package/dist/providers/ClaudePrintProvider.d.ts +0 -54
  89. package/dist/providers/ClaudePrintProvider.d.ts.map +0 -1
  90. package/dist/providers/ClaudePrintProvider.js +0 -300
  91. package/dist/providers/ClaudePrintProvider.js.map +0 -1
  92. package/dist/providers/ClaudeTmuxProvider.d.ts +0 -94
  93. package/dist/providers/ClaudeTmuxProvider.d.ts.map +0 -1
  94. package/dist/providers/ClaudeTmuxProvider.js +0 -330
  95. package/dist/providers/ClaudeTmuxProvider.js.map +0 -1
  96. package/dist/providers/ClaudeWorkerProvider.d.ts +0 -6
  97. package/dist/providers/ClaudeWorkerProvider.d.ts.map +0 -1
  98. package/dist/providers/ClaudeWorkerProvider.js +0 -6
  99. package/dist/providers/ClaudeWorkerProvider.js.map +0 -1
  100. package/dist/providers/CodexExecProvider.d.ts +0 -36
  101. package/dist/providers/CodexExecProvider.d.ts.map +0 -1
  102. package/dist/providers/CodexExecProvider.js +0 -262
  103. package/dist/providers/CodexExecProvider.js.map +0 -1
  104. package/dist/providers/CodexTmuxProvider.d.ts +0 -71
  105. package/dist/providers/CodexTmuxProvider.d.ts.map +0 -1
  106. package/dist/providers/CodexTmuxProvider.js +0 -350
  107. package/dist/providers/CodexTmuxProvider.js.map +0 -1
  108. package/dist/providers/CodexWorkerProvider.d.ts +0 -6
  109. package/dist/providers/CodexWorkerProvider.d.ts.map +0 -1
  110. package/dist/providers/CodexWorkerProvider.js +0 -6
  111. package/dist/providers/CodexWorkerProvider.js.map +0 -1
  112. package/dist/providers/PTYAgentRuntime.d.ts +0 -54
  113. package/dist/providers/PTYAgentRuntime.d.ts.map +0 -1
  114. package/dist/providers/PTYAgentRuntime.js +0 -434
  115. package/dist/providers/PTYAgentRuntime.js.map +0 -1
  116. package/dist/providers/acpTmux.d.ts +0 -6
  117. package/dist/providers/acpTmux.d.ts.map +0 -1
  118. package/dist/providers/acpTmux.js +0 -51
  119. package/dist/providers/acpTmux.js.map +0 -1
  120. package/dist/providers/adapters/ClaudeACPAdapter.d.ts +0 -11
  121. package/dist/providers/adapters/ClaudeACPAdapter.d.ts.map +0 -1
  122. package/dist/providers/adapters/ClaudeACPAdapter.js +0 -150
  123. package/dist/providers/adapters/ClaudeACPAdapter.js.map +0 -1
  124. package/dist/providers/adapters/CodexACPAdapter.d.ts +0 -11
  125. package/dist/providers/adapters/CodexACPAdapter.d.ts.map +0 -1
  126. package/dist/providers/adapters/CodexACPAdapter.js +0 -158
  127. package/dist/providers/adapters/CodexACPAdapter.js.map +0 -1
  128. package/dist/providers/parsers/claude-parser.d.ts +0 -17
  129. package/dist/providers/parsers/claude-parser.d.ts.map +0 -1
  130. package/dist/providers/parsers/claude-parser.js +0 -112
  131. package/dist/providers/parsers/claude-parser.js.map +0 -1
  132. package/dist/providers/parsers/codex-parser.d.ts +0 -12
  133. package/dist/providers/parsers/codex-parser.d.ts.map +0 -1
  134. package/dist/providers/parsers/codex-parser.js +0 -91
  135. package/dist/providers/parsers/codex-parser.js.map +0 -1
@@ -1,350 +0,0 @@
1
- import { execFileSync } from 'node:child_process';
2
- import { existsSync, readFileSync, rmSync } from 'node:fs';
3
- /**
4
- * Codex CLI patterns (differs from Claude):
5
- *
6
- * Ready prompt: › <placeholder>
7
- * gpt-5.3-codex default · ...
8
- *
9
- * Completion: returns to › prompt after task
10
- *
11
- * Update blocker: ✨ Update available!
12
- * › 1. Update now
13
- * 2. Skip
14
- * 3. Skip until next version
15
- * Press enter to continue
16
- *
17
- * Confirmation: (none with --dangerously-bypass-approvals-and-sandbox)
18
- *
19
- * Exit command: /quit (Claude uses /exit)
20
- */
21
- /** Completion keywords in codex pane text. */
22
- const COMPLETION_KEYWORDS = /\b(done|completed|finished|Next step:|committed|pushed|MR created|merge request)\b/i;
23
- /** Codex ready prompt: › at start of line + model info line */
24
- const CODEX_READY = /›\s.*$/m;
25
- const CODEX_MODEL_LINE = /codex.*default.*·/i;
26
- /** Codex update blocker pattern */
27
- const CODEX_UPDATE_PROMPT = /Update available|Skip until next version/i;
28
- /** Codex rate-limit model switch prompt */
29
- const CODEX_RATE_LIMIT_PROMPT = /rate limit|Switch to .+codex-mini|Keep current model/i;
30
- /**
31
- * Run a tmux command. Returns null on failure.
32
- */
33
- function tmux(args) {
34
- try {
35
- return execFileSync('tmux', args, {
36
- encoding: 'utf-8',
37
- timeout: 10_000,
38
- stdio: ['ignore', 'pipe', 'pipe'],
39
- });
40
- }
41
- catch (err) {
42
- const stderr = err.stderr ?? '';
43
- if (stderr.includes('server exited unexpectedly') || stderr.includes('no server running')) {
44
- try {
45
- const uid = process.getuid?.() ?? 1000;
46
- rmSync(`/tmp/tmux-${uid}`, { recursive: true, force: true });
47
- process.stderr.write('[codex-worker] Cleaned stale tmux socket, retrying\n');
48
- return execFileSync('tmux', args, {
49
- encoding: 'utf-8',
50
- timeout: 10_000,
51
- stdio: ['ignore', 'pipe', 'pipe'],
52
- });
53
- }
54
- catch {
55
- return null;
56
- }
57
- }
58
- return null;
59
- }
60
- }
61
- function sessionExists(session) {
62
- return tmux(['has-session', '-t', session]) !== null;
63
- }
64
- function capturePaneText(session, lines) {
65
- return tmux(['capture-pane', '-t', session, '-p', '-S', `-${lines}`]) ?? '';
66
- }
67
- export class CodexTmuxProvider {
68
- config;
69
- constructor(config) {
70
- this.config = config;
71
- }
72
- async prepareEnv(worktree, _seq) {
73
- if (!existsSync(worktree)) {
74
- throw new Error(`Worktree directory does not exist: ${worktree}`);
75
- }
76
- try {
77
- execFileSync('git', ['-C', worktree, 'rev-parse', '--is-inside-work-tree'], {
78
- encoding: 'utf-8', timeout: 5_000, stdio: ['ignore', 'pipe', 'pipe'],
79
- });
80
- }
81
- catch {
82
- throw new Error(`Directory is not a git worktree: ${worktree}`);
83
- }
84
- }
85
- /**
86
- * Launch Codex in a tmux session (interactive mode).
87
- * Handles session reuse and update prompt auto-skip.
88
- */
89
- async launch(session, worktree, promptFile) {
90
- const codexCmd = 'codex --sandbox danger-full-access -a never --no-alt-screen';
91
- if (sessionExists(session)) {
92
- const pane = capturePaneText(session, 10);
93
- const codexAlive = CODEX_READY.test(pane) && CODEX_MODEL_LINE.test(pane);
94
- if (codexAlive) {
95
- process.stderr.write(`[codex-worker] Reusing live Codex session ${session}\n`);
96
- tmux(['send-keys', '-t', session, '/clear', 'Enter']);
97
- await this.sleep(1_000);
98
- tmux(['send-keys', '-t', session, `/cd ${worktree}`, 'Enter']);
99
- await this.sleep(500);
100
- }
101
- else {
102
- process.stderr.write(`[codex-worker] Reusing tmux session ${session}\n`);
103
- tmux(['send-keys', '-t', session, `cd ${worktree}`, 'Enter']);
104
- await this.sleep(500);
105
- tmux(['send-keys', '-t', session, codexCmd, 'Enter']);
106
- }
107
- }
108
- else {
109
- const result = tmux(['new-session', '-d', '-s', session, '-c', worktree]);
110
- if (result === null && !sessionExists(session)) {
111
- throw new Error(`Failed to create tmux session: ${session}`);
112
- }
113
- tmux(['send-keys', '-t', session, codexCmd, 'Enter']);
114
- }
115
- // Wait for ready + send task prompt
116
- const ready = await this.waitReady(session, 90_000);
117
- if (!ready) {
118
- throw new Error('Codex worker did not become ready within timeout');
119
- }
120
- await this.sendTask(session, promptFile);
121
- return { pid: 0, outputFile: '' };
122
- }
123
- /**
124
- * Wait for Codex to be ready.
125
- * Must handle the update prompt blocker (auto-skip).
126
- */
127
- async waitReady(session, timeoutMs = 90_000) {
128
- const pollInterval = 3_000;
129
- const deadline = Date.now() + timeoutMs;
130
- let updateSkipped = false;
131
- // Codex is slower to start than Claude — wait longer before first check
132
- await this.sleep(5_000);
133
- while (Date.now() < deadline) {
134
- const text = capturePaneText(session, 30);
135
- // Handle update prompt — send Enter to dismiss, then skip
136
- if (!updateSkipped && CODEX_UPDATE_PROMPT.test(text)) {
137
- process.stderr.write('[codex-worker] Detected update prompt, skipping\n');
138
- // If showing numbered options (1/2/3), select 3 "Skip until next version"
139
- if (/1\. Update now/i.test(text)) {
140
- tmux(['send-keys', '-t', session, 'Down']);
141
- await this.sleep(300);
142
- tmux(['send-keys', '-t', session, 'Down']);
143
- await this.sleep(300);
144
- }
145
- tmux(['send-keys', '-t', session, 'Enter']);
146
- updateSkipped = true;
147
- await this.sleep(5_000);
148
- continue;
149
- }
150
- // Handle "Press enter to continue" after update banner
151
- if (/Press enter to continue/i.test(text)) {
152
- tmux(['send-keys', '-t', session, 'Enter']);
153
- await this.sleep(3_000);
154
- continue;
155
- }
156
- // Handle rate-limit model switch prompt — select "Keep current model"
157
- if (CODEX_RATE_LIMIT_PROMPT.test(text)) {
158
- process.stderr.write('[codex-worker] Detected rate-limit model switch prompt, keeping current model\n');
159
- this.dismissRateLimitPrompt(session);
160
- await this.sleep(3_000);
161
- continue;
162
- }
163
- // Check if Codex is ready: › prompt + model info line
164
- if (CODEX_MODEL_LINE.test(text) && CODEX_READY.test(text)) {
165
- process.stderr.write('[codex-worker] Codex ready\n');
166
- return true;
167
- }
168
- // Also match "OpenAI Codex" banner + › prompt
169
- if (/OpenAI Codex/i.test(text) && /›/m.test(text)) {
170
- process.stderr.write('[codex-worker] Codex ready (banner match)\n');
171
- return true;
172
- }
173
- await this.sleep(pollInterval);
174
- }
175
- process.stderr.write(`[codex-worker] waitReady timed out after ${timeoutMs}ms\n`);
176
- return false;
177
- }
178
- /**
179
- * Send task prompt to Codex via tmux paste-buffer.
180
- */
181
- async sendTask(session, promptFile) {
182
- if (!existsSync(promptFile)) {
183
- throw new Error(`Prompt file does not exist: ${promptFile}`);
184
- }
185
- const content = readFileSync(promptFile, 'utf-8').trim();
186
- const bufferFile = `/tmp/sps-task-${Date.now()}.txt`;
187
- const { writeFileSync: writeTmp, unlinkSync } = await import('node:fs');
188
- writeTmp(bufferFile, content);
189
- tmux(['load-buffer', bufferFile]);
190
- tmux(['paste-buffer', '-t', session]);
191
- try {
192
- unlinkSync(bufferFile);
193
- }
194
- catch { /* cleanup */ }
195
- // Wait for TUI to finish processing the paste (bracket paste mode).
196
- await this.sleep(1_500);
197
- tmux(['send-keys', '-t', session, 'Enter']);
198
- // Verify the prompt was submitted — retry Enter up to 3 times.
199
- for (let attempt = 0; attempt < 3; attempt++) {
200
- await this.sleep(2_000);
201
- const pane = capturePaneText(session, 15);
202
- // If we see processing indicators, the task was submitted
203
- if (/thinking|running|searching|reading/i.test(pane)) {
204
- return;
205
- }
206
- // If the Codex prompt (›) is still visible with text, retry Enter
207
- if (/›\s*\S/m.test(pane)) {
208
- process.stderr.write(`[codex-worker] Enter may not have registered (attempt ${attempt + 1}/3), retrying...\n`);
209
- tmux(['send-keys', '-t', session, 'Enter']);
210
- }
211
- }
212
- }
213
- async inspect(session) {
214
- const alive = sessionExists(session);
215
- const paneText = alive ? capturePaneText(session, 50) : '';
216
- return { alive, paneText };
217
- }
218
- /**
219
- * Codex with --dangerously-bypass-approvals-and-sandbox doesn't need confirmation.
220
- * But if run without that flag, it may show approval prompts.
221
- * For now, always return not waiting since we use bypass mode.
222
- */
223
- async detectWaiting(session) {
224
- // Codex in bypass mode doesn't have confirmation prompts
225
- // But check for any "Press enter" or similar blockers
226
- const pane = capturePaneText(session, 15);
227
- // Update prompt blocker
228
- if (CODEX_UPDATE_PROMPT.test(pane)) {
229
- return { waiting: true, destructive: false, prompt: 'Codex update prompt' };
230
- }
231
- // Rate-limit model switch prompt — auto-dismiss
232
- if (CODEX_RATE_LIMIT_PROMPT.test(pane)) {
233
- process.stderr.write('[codex-worker] Auto-dismissing rate-limit model switch prompt\n');
234
- this.dismissRateLimitPrompt(session);
235
- return { waiting: false, destructive: false, prompt: '' }; // handled, not waiting
236
- }
237
- return { waiting: false, destructive: false, prompt: '' };
238
- }
239
- /**
240
- * Detect completion by checking if Codex returned to › prompt after working.
241
- */
242
- async detectCompleted(session, logDir, _branch) {
243
- // Priority 1: task_completed marker file (same as Claude)
244
- const markerPath = `${logDir}/task_completed`;
245
- if (existsSync(markerPath)) {
246
- return 'COMPLETED';
247
- }
248
- // Priority 2: check for interactive prompts (needs auto-skip, not completion)
249
- const pane = capturePaneText(session, 20);
250
- if (CODEX_UPDATE_PROMPT.test(pane)) {
251
- return 'NEEDS_INPUT'; // will trigger auto-confirm to skip update
252
- }
253
- if (CODEX_RATE_LIMIT_PROMPT.test(pane)) {
254
- // Auto-dismiss and report ALIVE (not completed, not blocked)
255
- process.stderr.write('[codex-worker] Rate-limit prompt detected during completion check, dismissing\n');
256
- this.dismissRateLimitPrompt(session);
257
- return 'ALIVE';
258
- }
259
- // Priority 3: completion keywords + back at › prompt
260
- if (COMPLETION_KEYWORDS.test(pane) && CODEX_READY.test(pane) && CODEX_MODEL_LINE.test(pane)) {
261
- return 'COMPLETED';
262
- }
263
- // Priority 4: session alive
264
- if (sessionExists(session)) {
265
- return 'ALIVE';
266
- }
267
- return 'DEAD';
268
- }
269
- async detectBlocked(session) {
270
- const pane = capturePaneText(session, 30);
271
- return /(error|fatal|rate.?limit|quota exceeded)/i.test(pane);
272
- }
273
- async sendFix(session, fixPrompt, _resumeSessionId) {
274
- const escaped = fixPrompt.replace(/'/g, "'\\''");
275
- tmux(['send-keys', '-t', session, escaped, 'Enter']);
276
- }
277
- async resolveConflict(session, worktree, branch, _resumeSessionId) {
278
- const instruction = [
279
- `There is a merge conflict on branch ${branch}.`,
280
- `Working directory: ${worktree}`,
281
- 'Please resolve the conflict:',
282
- `1. Run: git fetch origin && git rebase origin/${this.config.GITLAB_MERGE_BRANCH}`,
283
- '2. Resolve any conflicts in the affected files',
284
- '3. Run: git add . && git rebase --continue',
285
- '4. Run: git push --force-with-lease',
286
- ].join('\n');
287
- tmux(['send-keys', '-t', session, instruction, 'Enter']);
288
- }
289
- /**
290
- * Release a worker session after task completion.
291
- *
292
- * WORKER_SESSION_REUSE=true: do nothing — keep Codex running so the
293
- * next task can hot-reuse the session via /clear + cd.
294
- *
295
- * WORKER_SESSION_REUSE=false: quit Codex but keep tmux session alive.
296
- */
297
- async release(session) {
298
- if (!sessionExists(session))
299
- return;
300
- if (this.config.WORKER_SESSION_REUSE) {
301
- // Keep everything alive — next launch() will /clear + /cd + send prompt
302
- process.stderr.write(`[codex-worker] Session ${session} kept alive for reuse\n`);
303
- return;
304
- }
305
- // Quit Codex but keep tmux session
306
- tmux(['send-keys', '-t', session, '/quit', 'Enter']);
307
- }
308
- /**
309
- * Force-stop a worker session (error recovery, cleanup).
310
- * Always quits Codex and kills the tmux session.
311
- */
312
- async stop(session) {
313
- if (!sessionExists(session))
314
- return;
315
- tmux(['send-keys', '-t', session, '/quit', 'Enter']);
316
- for (let i = 0; i < 5; i++) {
317
- await this.sleep(1_000);
318
- if (!sessionExists(session))
319
- return;
320
- }
321
- tmux(['kill-session', '-t', session]);
322
- }
323
- async collectSummary(session) {
324
- return capturePaneText(session, 100);
325
- }
326
- /**
327
- * Dismiss the rate-limit model switch prompt by selecting "Keep current model".
328
- *
329
- * The prompt shows:
330
- * › 1. Switch to gpt-5.1-codex-mini
331
- * 2. Keep current model
332
- * 3. Keep current model (never show again)
333
- *
334
- * Strategy: press Down once to select option 2, then Enter.
335
- */
336
- dismissRateLimitPrompt(session) {
337
- // Navigate to "Keep current model" (option 2)
338
- tmux(['send-keys', '-t', session, 'Down']);
339
- // Small delay to let the UI register the selection
340
- tmux(['send-keys', '-t', session, '']);
341
- // Confirm selection
342
- setTimeout(() => {
343
- tmux(['send-keys', '-t', session, 'Enter']);
344
- }, 500);
345
- }
346
- sleep(ms) {
347
- return new Promise((resolve) => setTimeout(resolve, ms));
348
- }
349
- }
350
- //# sourceMappingURL=CodexTmuxProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodexTmuxProvider.js","sourceRoot":"","sources":["../../src/providers/CodexTmuxProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @deprecated Use CodexTmuxProvider or CodexExecProvider directly.
3
- * This re-export exists for backward compatibility with existing imports.
4
- */
5
- export { CodexTmuxProvider as CodexWorkerProvider } from './CodexTmuxProvider.js';
6
- //# sourceMappingURL=CodexWorkerProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodexWorkerProvider.d.ts","sourceRoot":"","sources":["../../src/providers/CodexWorkerProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @deprecated Use CodexTmuxProvider or CodexExecProvider directly.
3
- * This re-export exists for backward compatibility with existing imports.
4
- */
5
- export { CodexTmuxProvider as CodexWorkerProvider } from './CodexTmuxProvider.js';
6
- //# sourceMappingURL=CodexWorkerProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodexWorkerProvider.js","sourceRoot":"","sources":["../../src/providers/CodexWorkerProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,54 +0,0 @@
1
- /**
2
- * PTYAgentRuntime — implements AgentRuntime using PTY sessions instead of tmux.
3
- *
4
- * Uses PTYSessionManager for direct pseudoterminal control, providing:
5
- * - Real-time stream output (no polling)
6
- * - Direct stdin injection (no tmux send-keys indirection)
7
- * - Event-driven state detection (no pane text parsing)
8
- */
9
- import type { ProjectContext } from '../core/context.js';
10
- import type { AgentRuntime } from '../interfaces/AgentRuntime.js';
11
- import type { ACPState, ACPSessionRecord, ACPTool } from '../models/acp.js';
12
- import { PTYSessionManager } from '../manager/pty-session-manager.js';
13
- import type { Notifier } from '../interfaces/Notifier.js';
14
- export declare function getSharedPTYManager(): PTYSessionManager;
15
- export declare class PTYAgentRuntime implements AgentRuntime {
16
- private readonly ctx;
17
- private readonly manager;
18
- private readonly runtimeStore;
19
- private notifier;
20
- private controlLoopStarted;
21
- private controlDrainInFlight;
22
- constructor(ctx: ProjectContext, manager?: PTYSessionManager, notifier?: Notifier | null);
23
- /** Set notifier for waiting_input push notifications */
24
- setNotifier(notifier: Notifier | null): void;
25
- ensureSession(slot: string, tool?: ACPTool, cwdOverride?: string): Promise<ACPSessionRecord>;
26
- startRun(slot: string, prompt: string, tool?: ACPTool, cwdOverride?: string): Promise<ACPSessionRecord>;
27
- resumeRun(slot: string, prompt: string): Promise<ACPSessionRecord>;
28
- inspect(slot?: string): Promise<ACPState>;
29
- stopSession(slot: string): Promise<void>;
30
- /**
31
- * Wait for the current run on a slot to complete.
32
- */
33
- waitForRunComplete(slot: string, timeoutMs?: number): Promise<{
34
- status: string;
35
- runId: string | null;
36
- }>;
37
- /**
38
- * Send a response to a waiting_input prompt.
39
- */
40
- respond(slot: string, response: string): void;
41
- /**
42
- * Get the underlying PTYSessionManager (for direct access if needed).
43
- */
44
- getManager(): PTYSessionManager;
45
- private handleWaitingInput;
46
- private clearPendingInput;
47
- private normalizeSlot;
48
- private defaultTool;
49
- private buildSessionRecord;
50
- private syncSessionRecord;
51
- private applyQueuedControlCommands;
52
- private startControlLoop;
53
- }
54
- //# sourceMappingURL=PTYAgentRuntime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PTYAgentRuntime.d.ts","sourceRoot":"","sources":["../../src/providers/PTYAgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,OAAO,EAER,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,mCAAmC,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAkC1D,wBAAgB,mBAAmB,IAAI,iBAAiB,CAKvD;AAED,qBAAa,eAAgB,YAAW,YAAY;IAQhD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,oBAAoB,CAAS;gBAGlB,GAAG,EAAE,cAAc,EACpC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAQ5B,wDAAwD;IACxD,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAItC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCvG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BlE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgCzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9C;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAK7G;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7C;;OAEG;IACH,UAAU,IAAI,iBAAiB;IAM/B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;IA8D1B,OAAO,CAAC,iBAAiB;YAgGX,0BAA0B;IA8CxC,OAAO,CAAC,gBAAgB;CAQzB"}