autodev-cli 1.4.188 → 1.4.189
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/dispatcher.js +5 -2
- package/out/dispatcher.js.map +1 -1
- package/out/providers/claude/ProviderManager.d.ts +8 -1
- package/out/providers/claude/ProviderManager.js +16 -2
- package/out/providers/claude/ProviderManager.js.map +1 -1
- package/out/providers/claude/tui.d.ts +4 -0
- package/out/providers/claude/tui.js +50 -0
- package/out/providers/claude/tui.js.map +1 -1
- package/out/providers/copilot/ProviderManager.d.ts +8 -1
- package/out/providers/copilot/ProviderManager.js +14 -1
- package/out/providers/copilot/ProviderManager.js.map +1 -1
- package/out/providers/copilot/sdk.d.ts +4 -0
- package/out/providers/copilot/sdk.js +47 -0
- package/out/providers/copilot/sdk.js.map +1 -1
- package/out/providers/opencode/ProviderManager.d.ts +8 -1
- package/out/providers/opencode/ProviderManager.js +15 -1
- package/out/providers/opencode/ProviderManager.js.map +1 -1
- package/out/providers/opencode/sdk.d.ts +4 -0
- package/out/providers/opencode/sdk.js +50 -0
- package/out/providers/opencode/sdk.js.map +1 -1
- package/out/taskLoop.js +98 -48
- package/out/taskLoop.js.map +1 -1
- package/package.json +2 -2
|
@@ -48,6 +48,9 @@ exports.isOpencodeSdkBusy = isOpencodeSdkBusy;
|
|
|
48
48
|
exports.getOpencodeSdkActivity = getOpencodeSdkActivity;
|
|
49
49
|
exports.getOpencodeSdkLatestSessionId = getOpencodeSdkLatestSessionId;
|
|
50
50
|
exports.steerOpencodeSdk = steerOpencodeSdk;
|
|
51
|
+
exports.opencodeSdkTransportAvailable = opencodeSdkTransportAvailable;
|
|
52
|
+
exports.__setOpencodeCliPersistentForTest = __setOpencodeCliPersistentForTest;
|
|
53
|
+
exports.opencodeCliPersistentEnabled = opencodeCliPersistentEnabled;
|
|
51
54
|
exports.sendOpencodeSdkPrompt = sendOpencodeSdkPrompt;
|
|
52
55
|
exports.runOpencodeSdkCompact = runOpencodeSdkCompact;
|
|
53
56
|
exports.closeOpencodeSdkClient = closeOpencodeSdkClient;
|
|
@@ -126,6 +129,53 @@ function _findSdkEntryPath() {
|
|
|
126
129
|
dir = parent;
|
|
127
130
|
}
|
|
128
131
|
}
|
|
132
|
+
// ---------------------------------------------------------------------------
|
|
133
|
+
// Persistent-process gate for opencode-CLI (Phase 2).
|
|
134
|
+
//
|
|
135
|
+
// opencode-cli historically spawned a fresh `opencode run -s <id>` process
|
|
136
|
+
// every turn. It now REUSES this same persistent in-process createOpencode
|
|
137
|
+
// server + session (the `_state` Map above) across turns — one long-lived
|
|
138
|
+
// server per workspace, resuming the SAME session id (never minting a new
|
|
139
|
+
// session per turn; see memory opencode-session-explosion) — exactly like
|
|
140
|
+
// opencode-sdk. Stable + synchronous gate so the dispatcher and task loop
|
|
141
|
+
// agree on persistent-vs-command per turn.
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
/** Cached: is the @opencode-ai/sdk entry resolvable from a node_modules above us? */
|
|
144
|
+
let _opencodeSdkTransportAvailable = null;
|
|
145
|
+
function opencodeSdkTransportAvailable() {
|
|
146
|
+
if (_opencodeSdkTransportAvailable !== null) {
|
|
147
|
+
return _opencodeSdkTransportAvailable;
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
_findSdkEntryPath();
|
|
151
|
+
_opencodeSdkTransportAvailable = true;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
_opencodeSdkTransportAvailable = false;
|
|
155
|
+
}
|
|
156
|
+
return _opencodeSdkTransportAvailable;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Whether opencode-cli should run PERSISTENT (reuse the opencode-sdk server +
|
|
160
|
+
* session across turns) instead of spawning a fresh `opencode run` command each
|
|
161
|
+
* turn. Gated by AUTODEV_OPENCODE_CLI_PERSISTENT (default ON when the SDK is
|
|
162
|
+
* resolvable; set to false/0/off/no to force the legacy per-turn command path)
|
|
163
|
+
* AND the SDK entry being resolvable. When false the CLI ProviderManager returns
|
|
164
|
+
* its `{command}` outcome and nothing regresses.
|
|
165
|
+
*/
|
|
166
|
+
let _opencodeCliPersistentTestOverride = null;
|
|
167
|
+
/** Test-only: force the persistence decision regardless of env/transport. */
|
|
168
|
+
function __setOpencodeCliPersistentForTest(v) { _opencodeCliPersistentTestOverride = v; }
|
|
169
|
+
function opencodeCliPersistentEnabled(env = process.env) {
|
|
170
|
+
if (_opencodeCliPersistentTestOverride !== null) {
|
|
171
|
+
return _opencodeCliPersistentTestOverride;
|
|
172
|
+
}
|
|
173
|
+
const raw = String(env['AUTODEV_OPENCODE_CLI_PERSISTENT'] ?? '').toLowerCase();
|
|
174
|
+
if (raw === 'false' || raw === '0' || raw === 'off' || raw === 'no') {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
return opencodeSdkTransportAvailable();
|
|
178
|
+
}
|
|
129
179
|
// Use new Function() to prevent esbuild from transforming import(path) to require(path).
|
|
130
180
|
// require() cannot load ESM files; a native ESM import() is required.
|
|
131
181
|
const _dynamicImport = new Function('p', 'return import(p)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/providers/opencode/sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/providers/opencode/sdk.ts"],"names":[],"mappings":"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"}
|
package/out/taskLoop.js
CHANGED
|
@@ -72,6 +72,27 @@ const projectSkills_1 = require("./core/projectSkills");
|
|
|
72
72
|
const configManager_1 = require("./configManager");
|
|
73
73
|
const agentBackup_1 = require("./agentBackup");
|
|
74
74
|
const version_1 = require("./version");
|
|
75
|
+
// ---------------------------------------------------------------------------
|
|
76
|
+
// Persistent-CLI predicates (Phase 2). A CLI provider that runs through its
|
|
77
|
+
// persistent sibling's in-process client this turn must be treated by the loop
|
|
78
|
+
// exactly like that sibling (busy flag, mid-turn steer, session capture, close,
|
|
79
|
+
// compact/clear) instead of the exit-file/command path. These mirror the gate
|
|
80
|
+
// the dispatcher uses, so both agree per turn. When the gate is off (or the
|
|
81
|
+
// transport is unavailable) they return false and the legacy command handling
|
|
82
|
+
// applies — nothing regresses.
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
/** claude-cli is reusing the claude-tui StructuredClient this turn. */
|
|
85
|
+
function claudeCliIsPersistent(p) { return p === 'claude-cli' && (0, claudeTuiProvider_1.claudeCliPersistentEnabled)(); }
|
|
86
|
+
/** copilot-cli is reusing the copilot-sdk LocalSession this turn. */
|
|
87
|
+
function copilotCliIsPersistent(p) { return p === 'copilot-cli' && (0, copilotSdkProvider_1.copilotCliPersistentEnabled)(); }
|
|
88
|
+
/** opencode-cli is reusing the opencode-sdk server+session this turn. */
|
|
89
|
+
function opencodeCliIsPersistent(p) { return p === 'opencode-cli' && (0, opencodeSdkProvider_1.opencodeCliPersistentEnabled)(); }
|
|
90
|
+
/** Provider runs on the persistent claude-tui client (native or claude-cli routed). */
|
|
91
|
+
function usesClaudeTuiClient(p) { return p === 'claude-tui' || claudeCliIsPersistent(p); }
|
|
92
|
+
/** Provider runs on the persistent copilot-sdk session (native or copilot-cli routed). */
|
|
93
|
+
function usesCopilotSdkSession(p) { return p === 'copilot-sdk' || copilotCliIsPersistent(p); }
|
|
94
|
+
/** Provider runs on the persistent opencode-sdk server (native or opencode-cli routed). */
|
|
95
|
+
function usesOpencodeSdkServer(p) { return p === 'opencode-sdk' || opencodeCliIsPersistent(p); }
|
|
75
96
|
/**
|
|
76
97
|
* After `_waitForTaskCompletion` resolves, decide whether the SUCCESS/completion
|
|
77
98
|
* path (`task_done` → COMPLETED, `task_progress` → WORKING, completedCount++)
|
|
@@ -373,7 +394,7 @@ class TaskLoopRunner {
|
|
|
373
394
|
this._compacting = true;
|
|
374
395
|
log(`🗜 Manual compact triggered (provider: ${provider})`);
|
|
375
396
|
try {
|
|
376
|
-
if (provider === 'claude-cli') {
|
|
397
|
+
if (provider === 'claude-cli' && !claudeCliIsPersistent(provider)) {
|
|
377
398
|
let sid = (0, sessionState_1.getSessionId)(root, 'claude-cli');
|
|
378
399
|
if (!sid) {
|
|
379
400
|
sid = (0, dispatcher_1.findLatestClaudeSession)(root);
|
|
@@ -386,8 +407,10 @@ class TaskLoopRunner {
|
|
|
386
407
|
log('⚠️ Compact: no Claude session ID found');
|
|
387
408
|
}
|
|
388
409
|
}
|
|
389
|
-
else if (provider
|
|
390
|
-
|
|
410
|
+
else if (usesClaudeTuiClient(provider)) {
|
|
411
|
+
// claude-tui OR a persistent claude-cli — compact the LIVE StructuredClient
|
|
412
|
+
// (spawning a separate `claude … /compact` would fight the held session).
|
|
413
|
+
let sid = (0, sessionState_1.getSessionId)(root, provider);
|
|
391
414
|
if (!sid) {
|
|
392
415
|
sid = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(root);
|
|
393
416
|
}
|
|
@@ -399,7 +422,7 @@ class TaskLoopRunner {
|
|
|
399
422
|
log('⚠️ Compact: no Claude TUI session ID found');
|
|
400
423
|
}
|
|
401
424
|
}
|
|
402
|
-
else if (provider === 'opencode-cli') {
|
|
425
|
+
else if (provider === 'opencode-cli' && !opencodeCliIsPersistent(provider)) {
|
|
403
426
|
let sid = (0, sessionState_1.getSessionId)(root, 'opencode-cli');
|
|
404
427
|
if (!sid) {
|
|
405
428
|
sid = await (0, opencodeCliProvider_1.getLatestOpenCodeSessionId)(root, log);
|
|
@@ -412,7 +435,7 @@ class TaskLoopRunner {
|
|
|
412
435
|
log('⚠️ Compact: no OpenCode session ID found');
|
|
413
436
|
}
|
|
414
437
|
}
|
|
415
|
-
else if (provider
|
|
438
|
+
else if (usesOpencodeSdkServer(provider)) {
|
|
416
439
|
await (0, opencodeSdkProvider_1.runOpencodeSdkCompact)(root, log);
|
|
417
440
|
log('🗜 Compact complete (opencode-sdk)');
|
|
418
441
|
}
|
|
@@ -433,7 +456,7 @@ class TaskLoopRunner {
|
|
|
433
456
|
const log = (m) => this._cb?.log(m);
|
|
434
457
|
log(`🗑 Manual /clear triggered (provider: ${provider})`);
|
|
435
458
|
try {
|
|
436
|
-
if (provider === 'claude-cli') {
|
|
459
|
+
if (provider === 'claude-cli' && !claudeCliIsPersistent(provider)) {
|
|
437
460
|
let sid = (0, sessionState_1.getSessionId)(root, 'claude-cli');
|
|
438
461
|
if (!sid) {
|
|
439
462
|
sid = (0, dispatcher_1.findLatestClaudeSession)(root);
|
|
@@ -447,14 +470,15 @@ class TaskLoopRunner {
|
|
|
447
470
|
log('⚠️ /clear: no Claude session ID found');
|
|
448
471
|
}
|
|
449
472
|
}
|
|
450
|
-
else if (provider
|
|
451
|
-
|
|
473
|
+
else if (usesClaudeTuiClient(provider)) {
|
|
474
|
+
// claude-tui OR a persistent claude-cli — /clear the LIVE StructuredClient.
|
|
475
|
+
let sid = (0, sessionState_1.getSessionId)(root, provider);
|
|
452
476
|
if (!sid) {
|
|
453
477
|
sid = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(root);
|
|
454
478
|
}
|
|
455
479
|
if (sid) {
|
|
456
480
|
await (0, claudeTuiProvider_1.runClaudeTuiClear)(root, sid, log);
|
|
457
|
-
(0, sessionState_1.clearSessionId)(root,
|
|
481
|
+
(0, sessionState_1.clearSessionId)(root, provider);
|
|
458
482
|
log('🗑 /clear (TUI) complete — session reset');
|
|
459
483
|
}
|
|
460
484
|
else {
|
|
@@ -1118,14 +1142,16 @@ class TaskLoopRunner {
|
|
|
1118
1142
|
const root = this._workspaceRoot;
|
|
1119
1143
|
const provider = this._cb?.getActiveProvider() ?? '';
|
|
1120
1144
|
if (root) {
|
|
1121
|
-
if (provider
|
|
1122
|
-
|
|
1145
|
+
if (usesClaudeTuiClient(provider)) {
|
|
1146
|
+
// claude-tui OR a persistent claude-cli — clear the LIVE StructuredClient.
|
|
1147
|
+
const claudeProvider = provider;
|
|
1148
|
+
let sessionId = (0, sessionState_1.getSessionId)(root, claudeProvider);
|
|
1123
1149
|
if (!sessionId) {
|
|
1124
1150
|
sessionId = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(root);
|
|
1125
1151
|
}
|
|
1126
1152
|
if (sessionId) {
|
|
1127
1153
|
(0, claudeTuiProvider_1.runClaudeTuiClear)(root, sessionId, msg => this._cb?.log(msg))
|
|
1128
|
-
.then(() => { (0, sessionState_1.clearSessionId)(root,
|
|
1154
|
+
.then(() => { (0, sessionState_1.clearSessionId)(root, claudeProvider); this._cb?.log('🗑 /clear (TUI) complete'); })
|
|
1129
1155
|
.catch(e => this._cb?.log(`⚠️ /clear (TUI) failed: ${e instanceof Error ? e.message : String(e)}`));
|
|
1130
1156
|
}
|
|
1131
1157
|
else {
|
|
@@ -1133,7 +1159,7 @@ class TaskLoopRunner {
|
|
|
1133
1159
|
}
|
|
1134
1160
|
}
|
|
1135
1161
|
else {
|
|
1136
|
-
// Default to claude-cli
|
|
1162
|
+
// Default to claude-cli (legacy per-turn command path)
|
|
1137
1163
|
let sessionId = (0, sessionState_1.getSessionId)(root, 'claude-cli');
|
|
1138
1164
|
if (!sessionId) {
|
|
1139
1165
|
sessionId = (0, dispatcher_1.findLatestClaudeSession)(root);
|
|
@@ -1187,7 +1213,7 @@ class TaskLoopRunner {
|
|
|
1187
1213
|
// `_currentTask` routes an idle steer to the buffer path below, which wakes the
|
|
1188
1214
|
// idle sleep and drains it into a real turn immediately.
|
|
1189
1215
|
const turnInFlight = !!this._currentTask;
|
|
1190
|
-
if (root && turnInFlight && provider
|
|
1216
|
+
if (root && turnInFlight && usesClaudeTuiClient(provider) && (0, claudeTuiProvider_1.isClaudeTuiBusy)(root)) {
|
|
1191
1217
|
if (await (0, claudeTuiProvider_1.steerClaudeTui)(root, clean, msg => this._cb?.log(msg))) {
|
|
1192
1218
|
this._cb?.log(`⚡ Steered mid-turn: "${clean.slice(0, 80)}"`);
|
|
1193
1219
|
onDelivered?.(); // durably injected into the live turn
|
|
@@ -1198,7 +1224,7 @@ class TaskLoopRunner {
|
|
|
1198
1224
|
// injects into the running turn — true mid-turn steering, same as claude-tui.
|
|
1199
1225
|
// (copilot-CLI is a one-shot subprocess with no live turn to inject into, so
|
|
1200
1226
|
// it always falls through to the next-turn TODO queue below.)
|
|
1201
|
-
if (root && turnInFlight && provider
|
|
1227
|
+
if (root && turnInFlight && usesCopilotSdkSession(provider) && (0, copilotSdkProvider_1.isCopilotSdkBusy)(root)) {
|
|
1202
1228
|
if (await (0, copilotSdkProvider_1.steerCopilotSdk)(root, clean, msg => this._cb?.log(msg))) {
|
|
1203
1229
|
this._cb?.log(`⚡ Steered mid-turn (copilot-sdk): "${clean.slice(0, 80)}"`);
|
|
1204
1230
|
onDelivered?.();
|
|
@@ -1207,7 +1233,7 @@ class TaskLoopRunner {
|
|
|
1207
1233
|
}
|
|
1208
1234
|
// opencode-sdk keeps a persistent in-process server + session; a prompt sent to
|
|
1209
1235
|
// the live session mid-turn is picked up by the running turn (interrupt + continue).
|
|
1210
|
-
if (root && turnInFlight && provider
|
|
1236
|
+
if (root && turnInFlight && usesOpencodeSdkServer(provider) && (0, opencodeSdkProvider_1.isOpencodeSdkBusy)(root)) {
|
|
1211
1237
|
if (await (0, opencodeSdkProvider_1.steerOpencodeSdk)(root, clean, msg => this._cb?.log(msg))) {
|
|
1212
1238
|
this._cb?.log(`⚡ Steered mid-turn (opencode-sdk): "${clean.slice(0, 80)}"`);
|
|
1213
1239
|
onDelivered?.();
|
|
@@ -1572,13 +1598,16 @@ class TaskLoopRunner {
|
|
|
1572
1598
|
// turn takes >30 s to finish. Instead, use the in-flight turn flag which
|
|
1573
1599
|
// stays true for the entire duration of the async, including after
|
|
1574
1600
|
// _waitForTaskCompletion resolves but before the turn emits 'result'.
|
|
1575
|
-
|
|
1601
|
+
// claude-tui OR a persistent claude-cli — both track the turn via the
|
|
1602
|
+
// shared in-memory busy flag on the StructuredClient (honest signal even
|
|
1603
|
+
// for turns >30s, unlike the exit-file sentinel).
|
|
1604
|
+
if (usesClaudeTuiClient(provider)) {
|
|
1576
1605
|
return (0, claudeTuiProvider_1.isClaudeTuiBusy)(this._workspaceRoot);
|
|
1577
1606
|
}
|
|
1578
|
-
if (provider
|
|
1607
|
+
if (usesCopilotSdkSession(provider)) {
|
|
1579
1608
|
return (0, copilotSdkProvider_1.isCopilotSdkBusy)(this._workspaceRoot);
|
|
1580
1609
|
}
|
|
1581
|
-
if (provider
|
|
1610
|
+
if (usesOpencodeSdkServer(provider)) {
|
|
1582
1611
|
return (0, opencodeSdkProvider_1.isOpencodeSdkBusy)(this._workspaceRoot);
|
|
1583
1612
|
}
|
|
1584
1613
|
// grok-tui: like claude-tui, it runs a PERSISTENT session (tmux PTY, or a
|
|
@@ -1968,7 +1997,7 @@ class TaskLoopRunner {
|
|
|
1968
1997
|
// The exit-code file is written only after the shell command completes,
|
|
1969
1998
|
// so a non-empty file guarantees the stdout file is fully flushed.
|
|
1970
1999
|
const activeProvider = this._cb?.getActiveProvider();
|
|
1971
|
-
if (this._workspaceRoot && activeProvider
|
|
2000
|
+
if (this._workspaceRoot && usesClaudeTuiClient(activeProvider)) {
|
|
1972
2001
|
// claude-tui: _waitForTaskCompletion resolves as soon as the task is
|
|
1973
2002
|
// marked [x] in TODO.md, but the persistent async turn may still be
|
|
1974
2003
|
// running (Claude executing further tool calls, marking other tasks [~],
|
|
@@ -1999,7 +2028,7 @@ class TaskLoopRunner {
|
|
|
1999
2028
|
(0, claudeTuiProvider_1.forceIdleClaudeTui)(this._workspaceRoot);
|
|
2000
2029
|
}
|
|
2001
2030
|
}
|
|
2002
|
-
else if (this._workspaceRoot && activeProvider
|
|
2031
|
+
else if (this._workspaceRoot && usesCopilotSdkSession(activeProvider)) {
|
|
2003
2032
|
const tuiDeadline = Date.now() + 10 * 60_000;
|
|
2004
2033
|
while ((0, copilotSdkProvider_1.isCopilotSdkBusy)(this._workspaceRoot) && Date.now() < tuiDeadline) {
|
|
2005
2034
|
if (this._state !== 'running') {
|
|
@@ -2011,7 +2040,7 @@ class TaskLoopRunner {
|
|
|
2011
2040
|
this._cb?.log('⚠️ Copilot TUI turn did not complete within 10 minutes — moving on');
|
|
2012
2041
|
}
|
|
2013
2042
|
}
|
|
2014
|
-
else if (this._workspaceRoot && activeProvider
|
|
2043
|
+
else if (this._workspaceRoot && usesOpencodeSdkServer(activeProvider)) {
|
|
2015
2044
|
// opencode-sdk: same pattern as claude-tui — wait for the in-flight
|
|
2016
2045
|
// fire-and-forget async to fully complete (session.idle received).
|
|
2017
2046
|
// Use activity-based deadline: reset the 30-minute window on each tool
|
|
@@ -2105,7 +2134,7 @@ class TaskLoopRunner {
|
|
|
2105
2134
|
}
|
|
2106
2135
|
// Capture and persist CLI session ID so the next task can resume it
|
|
2107
2136
|
if (this._workspaceRoot && activeProvider && providers_1.PROVIDERS[activeProvider]?.isCli) {
|
|
2108
|
-
if (activeProvider === 'opencode-cli') {
|
|
2137
|
+
if (activeProvider === 'opencode-cli' && !opencodeCliIsPersistent(activeProvider)) {
|
|
2109
2138
|
// Prefer the session ID from hooks events (fast, no subprocess);
|
|
2110
2139
|
// fall back to `opencode session list` if hooks haven't fired yet.
|
|
2111
2140
|
// Pass taskStartTime so we ignore stale/foreign hooks events from
|
|
@@ -2123,10 +2152,13 @@ class TaskLoopRunner {
|
|
|
2123
2152
|
.catch(() => { });
|
|
2124
2153
|
}
|
|
2125
2154
|
}
|
|
2126
|
-
else if (activeProvider
|
|
2155
|
+
else if (usesClaudeTuiClient(activeProvider)) {
|
|
2156
|
+
// claude-tui OR a persistent claude-cli — the StructuredClient owns the
|
|
2157
|
+
// real ~/.claude session uuid; persist it under the ACTIVE provider key
|
|
2158
|
+
// so a (re)start resumes the same session (works for command fallback too).
|
|
2127
2159
|
const sid = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(this._workspaceRoot);
|
|
2128
2160
|
if (sid) {
|
|
2129
|
-
(0, sessionState_1.saveSessionId)(this._workspaceRoot,
|
|
2161
|
+
(0, sessionState_1.saveSessionId)(this._workspaceRoot, activeProvider, sid);
|
|
2130
2162
|
}
|
|
2131
2163
|
}
|
|
2132
2164
|
else if (activeProvider === 'copilot-sdk') {
|
|
@@ -2135,10 +2167,13 @@ class TaskLoopRunner {
|
|
|
2135
2167
|
(0, sessionState_1.saveSessionId)(this._workspaceRoot, 'copilot-sdk', sid);
|
|
2136
2168
|
}
|
|
2137
2169
|
}
|
|
2138
|
-
else if (activeProvider
|
|
2170
|
+
else if (usesOpencodeSdkServer(activeProvider)) {
|
|
2171
|
+
// opencode-sdk OR a persistent opencode-cli — persist the real SDK
|
|
2172
|
+
// session id under the ACTIVE provider key so the next turn RESUMES it
|
|
2173
|
+
// (never mints a fresh session — see memory opencode-session-explosion).
|
|
2139
2174
|
const sid = (0, opencodeSdkProvider_1.getOpencodeSdkLatestSessionId)(this._workspaceRoot);
|
|
2140
2175
|
if (sid) {
|
|
2141
|
-
(0, sessionState_1.saveSessionId)(this._workspaceRoot,
|
|
2176
|
+
(0, sessionState_1.saveSessionId)(this._workspaceRoot, activeProvider, sid);
|
|
2142
2177
|
}
|
|
2143
2178
|
}
|
|
2144
2179
|
else {
|
|
@@ -2312,7 +2347,7 @@ class TaskLoopRunner {
|
|
|
2312
2347
|
this._cb?.log(`🗜 Auto-compact triggered after ${compactInterval} tasks (provider: ${acProvider})`);
|
|
2313
2348
|
this._notifyDiscord(`🗜 Auto-compact triggered after ${compactInterval} tasks`);
|
|
2314
2349
|
try {
|
|
2315
|
-
if (acProvider === 'claude-cli') {
|
|
2350
|
+
if (acProvider === 'claude-cli' && !claudeCliIsPersistent(acProvider)) {
|
|
2316
2351
|
let sid = (0, sessionState_1.getSessionId)(this._workspaceRoot, 'claude-cli');
|
|
2317
2352
|
if (!sid) {
|
|
2318
2353
|
sid = (0, dispatcher_1.findLatestClaudeSession)(this._workspaceRoot);
|
|
@@ -2325,8 +2360,9 @@ class TaskLoopRunner {
|
|
|
2325
2360
|
this._cb?.log('⚠️ Auto-compact: no Claude session ID found — skipping');
|
|
2326
2361
|
}
|
|
2327
2362
|
}
|
|
2328
|
-
else if (acProvider
|
|
2329
|
-
|
|
2363
|
+
else if (usesClaudeTuiClient(acProvider)) {
|
|
2364
|
+
// claude-tui OR a persistent claude-cli — compact the LIVE client.
|
|
2365
|
+
let sid = (0, sessionState_1.getSessionId)(this._workspaceRoot, acProvider);
|
|
2330
2366
|
if (!sid) {
|
|
2331
2367
|
sid = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(this._workspaceRoot);
|
|
2332
2368
|
}
|
|
@@ -2338,10 +2374,10 @@ class TaskLoopRunner {
|
|
|
2338
2374
|
this._cb?.log('⚠️ Auto-compact: no Claude TUI session ID found — skipping');
|
|
2339
2375
|
}
|
|
2340
2376
|
}
|
|
2341
|
-
else if (acProvider
|
|
2377
|
+
else if (usesCopilotSdkSession(acProvider)) {
|
|
2342
2378
|
this._cb?.log('ℹ️ Auto-compact not supported for copilot-sdk — skipping');
|
|
2343
2379
|
}
|
|
2344
|
-
else if (acProvider === 'opencode-cli') {
|
|
2380
|
+
else if (acProvider === 'opencode-cli' && !opencodeCliIsPersistent(acProvider)) {
|
|
2345
2381
|
let sid = (0, sessionState_1.getSessionId)(this._workspaceRoot, 'opencode-cli');
|
|
2346
2382
|
if (!sid) {
|
|
2347
2383
|
sid = await (0, opencodeCliProvider_1.getLatestOpenCodeSessionId)(this._workspaceRoot, msg => this._cb?.log(msg));
|
|
@@ -2354,7 +2390,7 @@ class TaskLoopRunner {
|
|
|
2354
2390
|
this._cb?.log('⚠️ Auto-compact: no OpenCode session ID found — skipping');
|
|
2355
2391
|
}
|
|
2356
2392
|
}
|
|
2357
|
-
else if (acProvider
|
|
2393
|
+
else if (usesOpencodeSdkServer(acProvider)) {
|
|
2358
2394
|
await (0, opencodeSdkProvider_1.runOpencodeSdkCompact)(this._workspaceRoot, msg => this._cb?.log(msg));
|
|
2359
2395
|
this._cb?.log('🗜 Auto-compact complete (opencode-sdk)');
|
|
2360
2396
|
}
|
|
@@ -2490,13 +2526,15 @@ class TaskLoopRunner {
|
|
|
2490
2526
|
if (evictRoot) {
|
|
2491
2527
|
try {
|
|
2492
2528
|
const evictLog = (m) => this._cb?.log(m);
|
|
2493
|
-
|
|
2529
|
+
// Also evict the persistent CLI variants (Phase 2) — they hold the
|
|
2530
|
+
// same live sibling process, which is likewise clutching the dead token.
|
|
2531
|
+
if (usesClaudeTuiClient(currentProvider)) {
|
|
2494
2532
|
(0, claudeTuiProvider_1.closeClaudeTuiClient)(evictRoot, evictLog);
|
|
2495
2533
|
}
|
|
2496
|
-
else if (currentProvider
|
|
2534
|
+
else if (usesOpencodeSdkServer(currentProvider)) {
|
|
2497
2535
|
(0, opencodeSdkProvider_1.closeOpencodeSdkClient)(evictRoot, evictLog);
|
|
2498
2536
|
}
|
|
2499
|
-
else if (currentProvider
|
|
2537
|
+
else if (usesCopilotSdkSession(currentProvider)) {
|
|
2500
2538
|
(0, copilotSdkProvider_1.closeCopilotSdkSession)(evictRoot, evictLog);
|
|
2501
2539
|
}
|
|
2502
2540
|
else if (currentProvider === 'grok-tui') {
|
|
@@ -2624,7 +2662,7 @@ class TaskLoopRunner {
|
|
|
2624
2662
|
const provider = this._cb?.getActiveProvider() ?? '';
|
|
2625
2663
|
this._cb?.log(`🗑 Autocompact thrashing (${provider}) — running /clear to reset session…\n${rawMsg}`);
|
|
2626
2664
|
this._notifyDiscord(`🗑 **Autocompact thrashing** (${provider}) — running \`/clear\` to reset session…\n\`\`\`\n${rawMsg}\n\`\`\``);
|
|
2627
|
-
if (provider === 'claude-cli') {
|
|
2665
|
+
if (provider === 'claude-cli' && !claudeCliIsPersistent(provider)) {
|
|
2628
2666
|
let sessionId = (0, sessionState_1.getSessionId)(this._workspaceRoot, 'claude-cli');
|
|
2629
2667
|
if (!sessionId) {
|
|
2630
2668
|
sessionId = (0, dispatcher_1.findLatestClaudeSession)(this._workspaceRoot);
|
|
@@ -2644,15 +2682,16 @@ class TaskLoopRunner {
|
|
|
2644
2682
|
this._cb?.log('⚠️ No Claude session ID found for /clear — retrying anyway');
|
|
2645
2683
|
}
|
|
2646
2684
|
}
|
|
2647
|
-
else if (provider
|
|
2648
|
-
|
|
2685
|
+
else if (usesClaudeTuiClient(provider)) {
|
|
2686
|
+
const claudeProvider = provider;
|
|
2687
|
+
let sessionId = (0, sessionState_1.getSessionId)(this._workspaceRoot, claudeProvider);
|
|
2649
2688
|
if (!sessionId) {
|
|
2650
2689
|
sessionId = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(this._workspaceRoot);
|
|
2651
2690
|
}
|
|
2652
2691
|
if (sessionId) {
|
|
2653
2692
|
try {
|
|
2654
2693
|
await (0, claudeTuiProvider_1.runClaudeTuiClear)(this._workspaceRoot, sessionId, msg => this._cb?.log(msg));
|
|
2655
|
-
(0, sessionState_1.clearSessionId)(this._workspaceRoot,
|
|
2694
|
+
(0, sessionState_1.clearSessionId)(this._workspaceRoot, claudeProvider);
|
|
2656
2695
|
this._cb?.log('🗑 /clear (TUI) complete — session reset, retrying task');
|
|
2657
2696
|
this._notifyDiscord('🗑 `/clear` (TUI) complete — session reset, retrying task');
|
|
2658
2697
|
}
|
|
@@ -2675,7 +2714,7 @@ class TaskLoopRunner {
|
|
|
2675
2714
|
const provider = this._cb?.getActiveProvider() ?? '';
|
|
2676
2715
|
this._cb?.log(`🗜 Context length exceeded (${provider}) — running /compact: ${rawMsg}`);
|
|
2677
2716
|
this._notifyDiscord(`🗜 **Context length exceeded** (${provider}) — running \`/compact\`…\n\`\`\`\n${rawMsg}\n\`\`\``);
|
|
2678
|
-
if (provider === 'claude-cli') {
|
|
2717
|
+
if (provider === 'claude-cli' && !claudeCliIsPersistent(provider)) {
|
|
2679
2718
|
// Resolve a Claude session ID — prefer the saved one, else scan
|
|
2680
2719
|
// the .claude/projects jsonl folder for the most recent.
|
|
2681
2720
|
let sessionId = (0, sessionState_1.getSessionId)(this._workspaceRoot, 'claude-cli');
|
|
@@ -2697,8 +2736,9 @@ class TaskLoopRunner {
|
|
|
2697
2736
|
this._cb?.log('⚠️ No Claude session ID found for compact — retrying task without compact');
|
|
2698
2737
|
}
|
|
2699
2738
|
}
|
|
2700
|
-
else if (provider
|
|
2701
|
-
|
|
2739
|
+
else if (usesClaudeTuiClient(provider)) {
|
|
2740
|
+
const claudeProvider = provider;
|
|
2741
|
+
let sessionId = (0, sessionState_1.getSessionId)(this._workspaceRoot, claudeProvider);
|
|
2702
2742
|
if (!sessionId) {
|
|
2703
2743
|
sessionId = (0, claudeTuiProvider_1.getClaudeTuiLatestSessionId)(this._workspaceRoot);
|
|
2704
2744
|
}
|
|
@@ -2872,6 +2912,11 @@ class TaskLoopRunner {
|
|
|
2872
2912
|
const iscopilotSdkProvider = this._cb?.getActiveProvider() === 'copilot-sdk';
|
|
2873
2913
|
const isOpenCodeCli = this._cb?.getActiveProvider() === 'opencode-cli';
|
|
2874
2914
|
const isOpencodeSdk = this._cb?.getActiveProvider() === 'opencode-sdk';
|
|
2915
|
+
// opencode-cli running PERSISTENT (Phase 2) shares the opencode-sdk code path:
|
|
2916
|
+
// its in-process server writes '0' to the exit file on session.idle, so it must
|
|
2917
|
+
// be handled like opencode-sdk (resolve on !busy) — NOT via the CLI exit-file
|
|
2918
|
+
// watcher, which would re-prompt in a loop. Command-mode opencode-cli is unaffected.
|
|
2919
|
+
const isOpencodeSdkLike = isOpencodeSdk || (isOpenCodeCli && (0, opencodeSdkProvider_1.opencodeCliPersistentEnabled)());
|
|
2875
2920
|
// grok-cli / grok-tui / copilot-cli all tee stdout too — without these flags
|
|
2876
2921
|
// the rate-limit / context-length / thrash detectors never ran for them, so
|
|
2877
2922
|
// a throttled or context-blown turn was silently walked to give_up and the
|
|
@@ -2888,7 +2933,12 @@ class TaskLoopRunner {
|
|
|
2888
2933
|
// already tails. Feed that stdout (ANSI-stripped) through a narrator so each
|
|
2889
2934
|
// chunk becomes a `Notification` hook event, giving line/chunk-granularity
|
|
2890
2935
|
// live output. (Claude/grok/SDK providers already stream and are untouched.)
|
|
2891
|
-
|
|
2936
|
+
// When copilot-cli / opencode-cli run PERSISTENT (Phase 2) their SDK sibling
|
|
2937
|
+
// already streams assistant text as live Notification events, so the teed-stdout
|
|
2938
|
+
// narrator here would DOUBLE every chunk — disable it in that mode.
|
|
2939
|
+
const cliNarrateCopilot = isCopilotCli && !(0, copilotSdkProvider_1.copilotCliPersistentEnabled)();
|
|
2940
|
+
const cliNarrateOpencode = isOpenCodeCli && !(0, opencodeSdkProvider_1.opencodeCliPersistentEnabled)();
|
|
2941
|
+
const cliNarrator = (this._workspaceRoot && (cliNarrateCopilot || cliNarrateOpencode))
|
|
2892
2942
|
? new liveNarration_1.LiveNarrationStreamer(this._cb.getActiveProvider() ?? 'cli', this._workspaceRoot, ev => (0, liveNarration_1.appendHookEventLine)(this._workspaceRoot, ev))
|
|
2893
2943
|
: null;
|
|
2894
2944
|
// Independent cursor so narration doesn't disturb the claude-cli Discord
|
|
@@ -3395,7 +3445,7 @@ class TaskLoopRunner {
|
|
|
3395
3445
|
// exit file when session.idle fires, the poller sees it, calls onCliExit(),
|
|
3396
3446
|
// which re-sends the prompt, which loops). Instead, the poller resolves this
|
|
3397
3447
|
// promise directly when isOpencodeSdkBusy() becomes false (see below).
|
|
3398
|
-
if (!
|
|
3448
|
+
if (!isOpencodeSdkLike && this._workspaceRoot) {
|
|
3399
3449
|
attachExitWatcher((0, sessionState_1.exitFilePath)(this._workspaceRoot, activeProvider));
|
|
3400
3450
|
}
|
|
3401
3451
|
// Inactivity-based check-in: track Claude JSONL byte size every 3 s.
|
|
@@ -3424,14 +3474,14 @@ class TaskLoopRunner {
|
|
|
3424
3474
|
attachStdoutWatcher(resolvedStdoutFile);
|
|
3425
3475
|
}
|
|
3426
3476
|
const latestExit = (0, sessionState_1.exitFilePath)(this._workspaceRoot, activeProvider);
|
|
3427
|
-
if (!
|
|
3477
|
+
if (!isOpencodeSdkLike && latestExit !== watchedExitFile) {
|
|
3428
3478
|
attachExitWatcher(latestExit);
|
|
3429
3479
|
}
|
|
3430
3480
|
// opencode-sdk: resolve _waitForTaskCompletion as soon as the SDK
|
|
3431
3481
|
// session goes idle (isOpencodeSdkBusy false). This avoids the
|
|
3432
3482
|
// CLI-style onCliExit() reminder re-prompt loop that the exit-file
|
|
3433
3483
|
// mechanism would otherwise trigger.
|
|
3434
|
-
if (
|
|
3484
|
+
if (isOpencodeSdkLike && this._workspaceRoot && !(0, opencodeSdkProvider_1.isOpencodeSdkBusy)(this._workspaceRoot)) {
|
|
3435
3485
|
check(); // one last todo-file check before resolving
|
|
3436
3486
|
if (!cancelled) {
|
|
3437
3487
|
cleanup();
|
|
@@ -3443,7 +3493,7 @@ class TaskLoopRunner {
|
|
|
3443
3493
|
// events (gitignored dirs, inotify limits, fast exits before re-attach).
|
|
3444
3494
|
// Read the exit file directly every tick and trigger onCliExit() if it
|
|
3445
3495
|
// became non-empty without the watcher firing.
|
|
3446
|
-
if (!
|
|
3496
|
+
if (!isOpencodeSdkLike && latestExit && latestExit !== handledExitFile) {
|
|
3447
3497
|
try {
|
|
3448
3498
|
if (fs.readFileSync(latestExit, 'utf8').trim() !== '') {
|
|
3449
3499
|
handledExitFile = latestExit;
|