@enderfga/claw-orchestrator 7.6.2 → 7.7.0
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/README.md +3 -3
- package/dist/src/acp-server.d.ts +11 -1
- package/dist/src/acp-server.js +68 -14
- package/dist/src/acp-server.js.map +1 -1
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/persistent-session.d.ts +2 -0
- package/dist/src/persistent-session.js +26 -1
- package/dist/src/persistent-session.js.map +1 -1
- package/dist/src/run-ledger.d.ts +6 -0
- package/dist/src/run-ledger.js.map +1 -1
- package/dist/src/session-manager.d.ts +7 -0
- package/dist/src/session-manager.js +103 -47
- package/dist/src/session-manager.js.map +1 -1
- package/dist/src/types.d.ts +24 -0
- package/package.json +1 -1
- package/skills/references/acp.md +29 -11
- package/skills/references/claude-cli-tracking.md +2 -1
- package/skills/references/mcp.md +19 -0
- package/skills/references/multi-engine.md +3 -3
- package/skills/references/observability.md +2 -1
- package/skills/references/sessions.md +11 -0
- package/skills/references/tools.md +2 -0
|
@@ -67,6 +67,8 @@ export declare class PersistentClaudeSession extends EventEmitter implements ISe
|
|
|
67
67
|
private _engineCostUsd;
|
|
68
68
|
/** Set when the process was spawned with `--resume`: its first total is inherited, not ours. */
|
|
69
69
|
private _costBaselinePending;
|
|
70
|
+
private _refusalFallbacks;
|
|
71
|
+
private _lastRefusalFallback;
|
|
70
72
|
/** Context window the engine reported for the model it actually used. */
|
|
71
73
|
private _engineContextWindow;
|
|
72
74
|
/** Model id the CLI reported in its init event — what answers when no `model` was set. */
|
|
@@ -49,6 +49,8 @@ export class PersistentClaudeSession extends EventEmitter {
|
|
|
49
49
|
_engineCostUsd = 0;
|
|
50
50
|
/** Set when the process was spawned with `--resume`: its first total is inherited, not ours. */
|
|
51
51
|
_costBaselinePending = false;
|
|
52
|
+
_refusalFallbacks = 0;
|
|
53
|
+
_lastRefusalFallback;
|
|
52
54
|
/** Context window the engine reported for the model it actually used. */
|
|
53
55
|
_engineContextWindow = null;
|
|
54
56
|
/** Model id the CLI reported in its init event — what answers when no `model` was set. */
|
|
@@ -275,6 +277,8 @@ export class PersistentClaudeSession extends EventEmitter {
|
|
|
275
277
|
// CLI 2.1.211+: surface subagent output in the parent stream.
|
|
276
278
|
if (this.options.forwardSubagentText)
|
|
277
279
|
args.push('--forward-subagent-text');
|
|
280
|
+
if (this.options.chrome)
|
|
281
|
+
args.push('--chrome');
|
|
278
282
|
if (this.options.permissionPromptTool) {
|
|
279
283
|
args.push('--permission-prompt-tool', this.options.permissionPromptTool);
|
|
280
284
|
}
|
|
@@ -490,6 +494,18 @@ export class PersistentClaudeSession extends EventEmitter {
|
|
|
490
494
|
}
|
|
491
495
|
this.emit(SESSION_EVENT.INIT, event);
|
|
492
496
|
}
|
|
497
|
+
else if (event.subtype === 'model_refusal_fallback') {
|
|
498
|
+
// The model refused and the CLI re-ran the turn on another model.
|
|
499
|
+
// The stream-json frame is snake_case; the in-process form camelCase.
|
|
500
|
+
const e = event;
|
|
501
|
+
const from = e.original_model ?? e.originalModel;
|
|
502
|
+
const to = e.fallback_model ?? e.fallbackModel;
|
|
503
|
+
const category = e.api_refusal_category ?? e.apiRefusalCategory;
|
|
504
|
+
if (e.direction === 'retry' && typeof from === 'string' && typeof to === 'string') {
|
|
505
|
+
this._refusalFallbacks++;
|
|
506
|
+
this._lastRefusalFallback = { from, to, ...(typeof category === 'string' ? { category } : {}) };
|
|
507
|
+
}
|
|
508
|
+
}
|
|
493
509
|
else if (event.subtype === 'api_retry') {
|
|
494
510
|
this.stats.retries++;
|
|
495
511
|
this.stats.lastRetryError =
|
|
@@ -869,6 +885,9 @@ export class PersistentClaudeSession extends EventEmitter {
|
|
|
869
885
|
contextPercent: this._contextPercent(),
|
|
870
886
|
retries: this.stats.retries,
|
|
871
887
|
lastRetryError: this.stats.lastRetryError,
|
|
888
|
+
...(this._refusalFallbacks > 0
|
|
889
|
+
? { refusalFallbacks: this._refusalFallbacks, lastRefusalFallback: this._lastRefusalFallback }
|
|
890
|
+
: {}),
|
|
872
891
|
sessionId: this.sessionId,
|
|
873
892
|
uptime: this.stats.startTime ? Math.round((Date.now() - new Date(this.stats.startTime).getTime()) / 1000) : 0,
|
|
874
893
|
};
|
|
@@ -887,7 +906,13 @@ export class PersistentClaudeSession extends EventEmitter {
|
|
|
887
906
|
this.options.effort = level;
|
|
888
907
|
}
|
|
889
908
|
getCost() {
|
|
890
|
-
|
|
909
|
+
// A model the caller named explicitly wins over what init reports. An alias
|
|
910
|
+
// (`opus`, `opus[1m]`) is different: what it means is the CLI's decision —
|
|
911
|
+
// the alias has moved under us five times — so the id init reports wins.
|
|
912
|
+
const configured = this.options.model;
|
|
913
|
+
const bare = configured?.replace(/\[1m\]$/i, '');
|
|
914
|
+
const isAlias = !!bare && resolveAlias(bare) !== bare;
|
|
915
|
+
const model = (isAlias ? this._engineModel : undefined) || configured || this._engineModel;
|
|
891
916
|
const pricing = getModelPricing(model);
|
|
892
917
|
const nonCachedIn = Math.max(0, this.stats.tokensIn - this.stats.cachedTokens);
|
|
893
918
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-session.js","sourceRoot":"","sources":["../../src/persistent-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistent-session.js","sourceRoot":"","sources":["../../src/persistent-session.ts"],"names":[],"mappings":"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"}
|
package/dist/src/run-ledger.d.ts
CHANGED
|
@@ -50,6 +50,12 @@ export interface RunLedgerRow {
|
|
|
50
50
|
*/
|
|
51
51
|
ok: boolean;
|
|
52
52
|
error?: string;
|
|
53
|
+
/** The model refused and the engine re-ran this turn on another one (Claude's refusal fallback). */
|
|
54
|
+
refusalFallback?: {
|
|
55
|
+
from: string;
|
|
56
|
+
to: string;
|
|
57
|
+
category?: string;
|
|
58
|
+
};
|
|
53
59
|
/** council id / fanout id / autoloop run id / workflow run id, when this turn belongs to one. */
|
|
54
60
|
parent?: string;
|
|
55
61
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ledger.js","sourceRoot":"","sources":["../../src/run-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"run-ledger.js","sourceRoot":"","sources":["../../src/run-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ interface PersistedSession {
|
|
|
11
11
|
model?: string;
|
|
12
12
|
engine?: EngineType;
|
|
13
13
|
sandboxMode?: SessionConfig['sandboxMode'];
|
|
14
|
+
autoCompactPercent?: number;
|
|
15
|
+
chrome?: boolean;
|
|
14
16
|
originalCreated: string;
|
|
15
17
|
lastResumed: string;
|
|
16
18
|
lastActivity: number;
|
|
@@ -506,6 +508,11 @@ export declare class SessionManager {
|
|
|
506
508
|
*/
|
|
507
509
|
private _ensureProxyServer;
|
|
508
510
|
private _startProxyServer;
|
|
511
|
+
/** Names this process has set or deleted since its last save; see savePersistedSessions. */
|
|
512
|
+
private readonly _persistDirty;
|
|
513
|
+
private _forgetPersisted;
|
|
514
|
+
/** Merge this process's changes into the shared file and adopt the merged view. */
|
|
515
|
+
private _savePersisted;
|
|
509
516
|
private _persistSession;
|
|
510
517
|
private static PID_FILE;
|
|
511
518
|
private _savePids;
|
|
@@ -36,7 +36,8 @@ function getPluginVersion() {
|
|
|
36
36
|
return 'unknown';
|
|
37
37
|
}
|
|
38
38
|
// ─── Persistence ─────────────────────────────────────────────────────────────
|
|
39
|
-
|
|
39
|
+
// CLAWO_SESSIONS_DIR relocates the file, so tests never touch the real one.
|
|
40
|
+
const PERSIST_DIR = process.env.CLAWO_SESSIONS_DIR || path.join(os.homedir(), '.openclaw');
|
|
40
41
|
const PERSIST_FILE = path.join(PERSIST_DIR, 'claude-sessions.json');
|
|
41
42
|
function loadPersistedSessions() {
|
|
42
43
|
try {
|
|
@@ -53,45 +54,50 @@ function loadPersistedSessions() {
|
|
|
53
54
|
return new Map();
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Write this process's changes into the shared session file.
|
|
59
|
+
*
|
|
60
|
+
* Several processes share the file — the server, the OpenClaw plugin, every
|
|
61
|
+
* `clawo-mcp` and `clawo acp` a host starts. Each used to write its whole
|
|
62
|
+
* in-memory map back, so the last writer erased whatever the others had added
|
|
63
|
+
* since it loaded: a long-lived session's resume record could vanish because an
|
|
64
|
+
* unrelated process exited. Now only the names this process changed (`dirty`,
|
|
65
|
+
* set or deleted) are merged into what is on disk, under a lock, and the merged
|
|
66
|
+
* map is returned so the caller sees the other processes' sessions too.
|
|
67
|
+
*
|
|
68
|
+
* Returns undefined when the lock stays busy; `dirty` is left as it was, so
|
|
69
|
+
* the changes go out with the next save instead of being lost.
|
|
70
|
+
*/
|
|
71
|
+
function savePersistedSessions(mine, dirty, logger) {
|
|
72
|
+
const log = logger || createConsoleLogger('SessionManager');
|
|
58
73
|
try {
|
|
59
74
|
fs.mkdirSync(PERSIST_DIR, { recursive: true });
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
75
|
+
const result = withFileLock(`${PERSIST_FILE}.lock`, () => {
|
|
76
|
+
const merged = loadPersistedSessions();
|
|
77
|
+
for (const name of dirty) {
|
|
78
|
+
const entry = mine.get(name);
|
|
79
|
+
if (entry)
|
|
80
|
+
merged.set(name, entry);
|
|
81
|
+
else
|
|
82
|
+
merged.delete(name);
|
|
83
|
+
}
|
|
84
|
+
const tmp = `${PERSIST_FILE}.${process.pid}.tmp`;
|
|
85
|
+
fs.writeFileSync(tmp, JSON.stringify(Array.from(merged.values()), null, 2));
|
|
86
|
+
fs.renameSync(tmp, PERSIST_FILE);
|
|
87
|
+
return merged;
|
|
88
|
+
});
|
|
89
|
+
if (!result.ok) {
|
|
90
|
+
log.warn('Session file busy; changes kept for the next save');
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
dirty.clear();
|
|
94
|
+
return result.value;
|
|
64
95
|
}
|
|
65
96
|
catch (err) {
|
|
66
|
-
|
|
97
|
+
log.warn('Failed to persist sessions:', err.message);
|
|
98
|
+
return undefined;
|
|
67
99
|
}
|
|
68
100
|
}
|
|
69
|
-
// Async version for hot-path (sendMessage, TTL cleanup)
|
|
70
|
-
function savePersistedSessionsAsync(sessions, logger) {
|
|
71
|
-
const log = logger || createConsoleLogger('SessionManager');
|
|
72
|
-
const arr = Array.from(sessions.values());
|
|
73
|
-
const tmp = PERSIST_FILE + '.tmp';
|
|
74
|
-
fs.mkdir(PERSIST_DIR, { recursive: true }, (mkdirErr) => {
|
|
75
|
-
if (mkdirErr) {
|
|
76
|
-
log.error('Failed to create persist dir:', mkdirErr.message);
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
fs.writeFile(tmp, JSON.stringify(arr, null, 2), (writeErr) => {
|
|
80
|
-
if (writeErr) {
|
|
81
|
-
log.error('Failed to write session file:', writeErr.message);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
fs.rename(tmp, PERSIST_FILE, (renameErr) => {
|
|
85
|
-
if (renameErr) {
|
|
86
|
-
log.error('Failed to rename session file:', renameErr.message);
|
|
87
|
-
// Clean up orphan tmp file
|
|
88
|
-
fs.unlink(tmp, () => { });
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
// Debounce helper — coalesces rapid writes into one
|
|
95
101
|
function makeDebounced(fn, ms) {
|
|
96
102
|
let timer = null;
|
|
97
103
|
return () => {
|
|
@@ -117,6 +123,7 @@ import { runContract } from './verify/runner.js';
|
|
|
117
123
|
import { evidenceDir, listEvidence, readEvidence, writeEvidence } from './verify/evidence.js';
|
|
118
124
|
import { annotateVerdicts, appendRunRow, readRunLedger, summarizeRuns, } from './run-ledger.js';
|
|
119
125
|
import { checkBudget, isBudgetExceeded } from './budget.js';
|
|
126
|
+
import { withFileLock } from './kernel/file-lock.js';
|
|
120
127
|
import { InboxManager } from './inbox-manager.js';
|
|
121
128
|
import { sanitizeCwd, validateName } from './validation.js';
|
|
122
129
|
import { PersistentClaudeSession } from './persistent-session.js';
|
|
@@ -392,7 +399,7 @@ export class SessionManager {
|
|
|
392
399
|
// Clean up orphaned child processes from a previous unclean exit
|
|
393
400
|
this._cleanupOrphanedPids();
|
|
394
401
|
// Debounced async writer — at most one write per 5 seconds on hot paths
|
|
395
|
-
this._debouncedSave = makeDebounced(() =>
|
|
402
|
+
this._debouncedSave = makeDebounced(() => this._savePersisted(), DEBOUNCED_SAVE_MS);
|
|
396
403
|
// Start TTL cleanup timer
|
|
397
404
|
this.cleanupTimer = setInterval(() => this._cleanupIdleSessions(), CLEANUP_INTERVAL_MS);
|
|
398
405
|
}
|
|
@@ -445,6 +452,10 @@ export class SessionManager {
|
|
|
445
452
|
// ─── Session Lifecycle ─────────────────────────────────────────────────
|
|
446
453
|
async startSession(config) {
|
|
447
454
|
const name = config.name || `session-${Date.now()}`;
|
|
455
|
+
const compactAt = config.autoCompactPercent;
|
|
456
|
+
if (compactAt !== undefined && !(Number.isFinite(compactAt) && compactAt >= 1 && compactAt <= 99)) {
|
|
457
|
+
throw new Error('autoCompactPercent must be a number from 1 to 99');
|
|
458
|
+
}
|
|
448
459
|
// Check pending first — a concurrent caller may have already started creation
|
|
449
460
|
const pending = this._pendingSessions.get(name);
|
|
450
461
|
if (pending)
|
|
@@ -518,6 +529,8 @@ export class SessionManager {
|
|
|
518
529
|
effort: config.effort || this.pluginConfig.defaultEffort,
|
|
519
530
|
model: config.model || persisted?.model || this.pluginConfig.defaultModel,
|
|
520
531
|
sandboxMode: config.sandboxMode ?? persisted?.sandboxMode,
|
|
532
|
+
autoCompactPercent: config.autoCompactPercent ?? persisted?.autoCompactPercent,
|
|
533
|
+
chrome: config.chrome ?? persisted?.chrome,
|
|
521
534
|
...config,
|
|
522
535
|
...(resumeId ? { resumeSessionId: resumeId } : {}),
|
|
523
536
|
};
|
|
@@ -617,6 +630,20 @@ export class SessionManager {
|
|
|
617
630
|
session: name,
|
|
618
631
|
engine: managed.config.engine || 'claude',
|
|
619
632
|
});
|
|
633
|
+
// Compact before the send rather than after the previous reply, so the
|
|
634
|
+
// caller is never kept waiting for it, and inside the send chain, so no
|
|
635
|
+
// other send can interleave. Best effort: a failed or unsupported compact
|
|
636
|
+
// must not cost the caller their turn.
|
|
637
|
+
const compactAt = managed.config.autoCompactPercent;
|
|
638
|
+
if (compactAt && managed.session.getStats().contextPercent >= compactAt) {
|
|
639
|
+
try {
|
|
640
|
+
await managed.session.compact();
|
|
641
|
+
this.logger.info(`[SessionManager] ${name}: context at or above ${compactAt}% — compacted before send`);
|
|
642
|
+
}
|
|
643
|
+
catch (err) {
|
|
644
|
+
this.logger.warn(`[SessionManager] ${name}: auto-compact failed: ${err.message}`);
|
|
645
|
+
}
|
|
646
|
+
}
|
|
620
647
|
const sendOpts = {
|
|
621
648
|
waitForComplete: true,
|
|
622
649
|
timeout: options.timeout || TURN_TIMEOUT_MS,
|
|
@@ -757,6 +784,7 @@ export class SessionManager {
|
|
|
757
784
|
sandboxMode: source.config.sandboxMode,
|
|
758
785
|
effort: source.config.effort,
|
|
759
786
|
maxBudgetUsd: source.config.maxBudgetUsd,
|
|
787
|
+
autoCompactPercent: source.config.autoCompactPercent,
|
|
760
788
|
systemPrompt: source.config.systemPrompt,
|
|
761
789
|
appendSystemPrompt: source.config.appendSystemPrompt,
|
|
762
790
|
addDir: source.config.addDir,
|
|
@@ -813,6 +841,7 @@ export class SessionManager {
|
|
|
813
841
|
toolCalls: 0,
|
|
814
842
|
toolErrors: 0,
|
|
815
843
|
costUsd: 0,
|
|
844
|
+
refusalFallbacks: 0,
|
|
816
845
|
};
|
|
817
846
|
try {
|
|
818
847
|
const st = managed.session.getStats();
|
|
@@ -825,6 +854,7 @@ export class SessionManager {
|
|
|
825
854
|
toolCalls: st.toolCalls || 0,
|
|
826
855
|
toolErrors: st.toolErrors || 0,
|
|
827
856
|
costUsd: this._spentUsd(managed),
|
|
857
|
+
refusalFallbacks: st.refusalFallbacks || 0,
|
|
828
858
|
};
|
|
829
859
|
}
|
|
830
860
|
catch {
|
|
@@ -865,12 +895,21 @@ export class SessionManager {
|
|
|
865
895
|
ok: !error && (after.turns > before.turns ? after.turnsSucceeded > before.turnsSucceeded : true),
|
|
866
896
|
};
|
|
867
897
|
// Fall back to the engine's own reported model, so a session started
|
|
868
|
-
// without an explicit `model` still records what actually answered.
|
|
869
|
-
|
|
898
|
+
// without an explicit `model` still records what actually answered. An
|
|
899
|
+
// alias (`opus[1m]`) is the CLI's to resolve, so what it reports wins there.
|
|
900
|
+
const configured = managed.config.resolvedModel || managed.config.model;
|
|
901
|
+
const bare = configured?.replace(/\[1m\]$/i, '');
|
|
902
|
+
const isAlias = !!bare && resolveAlias(bare) !== bare;
|
|
903
|
+
const model = (isAlias ? this._reportedModel(managed) : undefined) || configured || this._reportedModel(managed);
|
|
870
904
|
if (model)
|
|
871
905
|
row.model = model;
|
|
872
906
|
if (error)
|
|
873
907
|
row.error = error.slice(0, 500);
|
|
908
|
+
if (after.refusalFallbacks > before.refusalFallbacks) {
|
|
909
|
+
const fallback = managed.session.getStats().lastRefusalFallback;
|
|
910
|
+
if (fallback)
|
|
911
|
+
row.refusalFallback = fallback;
|
|
912
|
+
}
|
|
874
913
|
if (parent)
|
|
875
914
|
row.parent = parent;
|
|
876
915
|
if (dims.nodeKind)
|
|
@@ -1103,8 +1142,8 @@ export class SessionManager {
|
|
|
1103
1142
|
// Callers that want the session resumable (autoloop terminate that
|
|
1104
1143
|
// should still allow /autoloop/<id>/resume to reattach the Planner's
|
|
1105
1144
|
// Claude conversation) pass keepPersisted: true.
|
|
1106
|
-
this.
|
|
1107
|
-
|
|
1145
|
+
this._forgetPersisted(name);
|
|
1146
|
+
this._savePersisted();
|
|
1108
1147
|
}
|
|
1109
1148
|
}
|
|
1110
1149
|
hasSession(name) {
|
|
@@ -1505,7 +1544,7 @@ export class SessionManager {
|
|
|
1505
1544
|
this._proxyPort = null;
|
|
1506
1545
|
}
|
|
1507
1546
|
// Persist final state (TTL-expired sessions already removed by cleanup)
|
|
1508
|
-
|
|
1547
|
+
this._savePersisted();
|
|
1509
1548
|
}
|
|
1510
1549
|
// ─── Codex /goal helpers (codex-app engine only) ─────────────────────
|
|
1511
1550
|
/**
|
|
@@ -1940,16 +1979,32 @@ export class SessionManager {
|
|
|
1940
1979
|
});
|
|
1941
1980
|
}
|
|
1942
1981
|
// ─── Private ───────────────────────────────────────────────────────────
|
|
1982
|
+
/** Names this process has set or deleted since its last save; see savePersistedSessions. */
|
|
1983
|
+
_persistDirty = new Set();
|
|
1984
|
+
_forgetPersisted(name) {
|
|
1985
|
+
this.persistedSessions.delete(name);
|
|
1986
|
+
this._persistDirty.add(name);
|
|
1987
|
+
}
|
|
1988
|
+
/** Merge this process's changes into the shared file and adopt the merged view. */
|
|
1989
|
+
_savePersisted() {
|
|
1990
|
+
if (this._persistDirty.size === 0)
|
|
1991
|
+
return;
|
|
1992
|
+
const merged = savePersistedSessions(this.persistedSessions, this._persistDirty, this.logger);
|
|
1993
|
+
if (merged)
|
|
1994
|
+
this.persistedSessions = merged;
|
|
1995
|
+
}
|
|
1943
1996
|
_persistSession(name, managed) {
|
|
1944
1997
|
const resumeSessionId = this._managedResumeId(managed);
|
|
1945
1998
|
if (!resumeSessionId) {
|
|
1946
|
-
if (managed.config.engine === 'agy' && this.persistedSessions.
|
|
1999
|
+
if (managed.config.engine === 'agy' && this.persistedSessions.has(name)) {
|
|
2000
|
+
this._forgetPersisted(name);
|
|
1947
2001
|
this._debouncedSave();
|
|
1948
2002
|
}
|
|
1949
2003
|
return;
|
|
1950
2004
|
}
|
|
1951
2005
|
managed.claudeSessionId = resumeSessionId;
|
|
1952
2006
|
const existing = this.persistedSessions.get(name);
|
|
2007
|
+
this._persistDirty.add(name);
|
|
1953
2008
|
this.persistedSessions.set(name, {
|
|
1954
2009
|
name,
|
|
1955
2010
|
claudeSessionId: resumeSessionId,
|
|
@@ -1957,6 +2012,8 @@ export class SessionManager {
|
|
|
1957
2012
|
model: managed.config.resolvedModel || managed.config.model,
|
|
1958
2013
|
engine: managed.config.engine,
|
|
1959
2014
|
sandboxMode: managed.config.sandboxMode,
|
|
2015
|
+
autoCompactPercent: managed.config.autoCompactPercent,
|
|
2016
|
+
chrome: managed.config.chrome,
|
|
1960
2017
|
originalCreated: existing?.originalCreated || managed.created,
|
|
1961
2018
|
lastResumed: new Date().toISOString(),
|
|
1962
2019
|
lastActivity: managed.lastActivity,
|
|
@@ -3233,10 +3290,9 @@ export class SessionManager {
|
|
|
3233
3290
|
catch {
|
|
3234
3291
|
/* session not in memory — fine */
|
|
3235
3292
|
}
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
this.
|
|
3239
|
-
savePersistedSessions(this.persistedSessions, this.logger);
|
|
3293
|
+
for (const role of ['planner', 'coder', 'reviewer'])
|
|
3294
|
+
this._forgetPersisted(`autoloop-${runId}-${role}`);
|
|
3295
|
+
this._savePersisted();
|
|
3240
3296
|
}
|
|
3241
3297
|
// No registry to scrub: the run record IS the registry, and removing it is
|
|
3242
3298
|
// the delete. The ledger directory under tasks/<runId>/ is deliberately left
|
|
@@ -3286,12 +3342,12 @@ export class SessionManager {
|
|
|
3286
3342
|
let pruned = false;
|
|
3287
3343
|
for (const [name, entry] of this.persistedSessions) {
|
|
3288
3344
|
if (now - entry.lastActivity > PERSIST_DISK_TTL_MS) {
|
|
3289
|
-
this.
|
|
3345
|
+
this._forgetPersisted(name);
|
|
3290
3346
|
pruned = true;
|
|
3291
3347
|
}
|
|
3292
3348
|
}
|
|
3293
3349
|
if (pruned)
|
|
3294
|
-
|
|
3350
|
+
this._debouncedSave();
|
|
3295
3351
|
}
|
|
3296
3352
|
}
|
|
3297
3353
|
//# sourceMappingURL=session-manager.js.map
|