baxian 1.2.9 → 1.2.10
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/dist/agent/manager.d.ts +8 -0
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +214 -40
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/prompt.d.ts.map +1 -1
- package/dist/agent/prompt.js +12 -20
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/tmux.d.ts +1 -0
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +4 -0
- package/dist/agent/tmux.js.map +1 -1
- package/dist/shared/constants.js +13 -13
- package/dist/shared/constants.js.map +1 -1
- package/dist/web/assets/index-D29eOcxi.js +4 -0
- package/dist/web/assets/{react-BG4Iuztk.js → react-BFCkCmbU.js} +7 -7
- package/dist/web/assets/{router-eEZdpwQZ.js → router-D24GsdXZ.js} +1 -1
- package/dist/web/index.html +3 -3
- package/package.json +1 -1
- package/dist/skills/baxian-rules/SKILL.md +0 -19
- package/dist/skills/baxian-rules/agents/openai.yaml +0 -2
- package/dist/web/assets/index-Btr3ICJA.js +0 -4
package/dist/agent/manager.d.ts
CHANGED
|
@@ -142,6 +142,7 @@ export declare class AgentManager {
|
|
|
142
142
|
protected compactIdleWaitMs: number;
|
|
143
143
|
protected compactIdlePollMs: number;
|
|
144
144
|
protected manualCompactWaitMs: number;
|
|
145
|
+
protected clearContextWaitMs: number;
|
|
145
146
|
protected postMergeFetchTimeoutMs: number;
|
|
146
147
|
protected postMergeBranchTimeoutMs: number;
|
|
147
148
|
private manualReviewInFlight;
|
|
@@ -198,6 +199,7 @@ export declare class AgentManager {
|
|
|
198
199
|
releaseAgentForTask(agentId: string, expectedTaskId: string, mode: 'waiting' | 'idle', opts?: {
|
|
199
200
|
allowAwaitingHuman?: boolean;
|
|
200
201
|
clearAwaitingHuman?: boolean;
|
|
202
|
+
fromCancelCleanup?: boolean;
|
|
201
203
|
}): Promise<boolean>;
|
|
202
204
|
markAwaitingHuman(agentId: string, phase: string, reason: string, opts?: {
|
|
203
205
|
expectedCreationToken?: string | null;
|
|
@@ -208,7 +210,10 @@ export declare class AgentManager {
|
|
|
208
210
|
resumed: boolean;
|
|
209
211
|
releasedBinding: boolean;
|
|
210
212
|
}>;
|
|
213
|
+
private resolvePaneId;
|
|
211
214
|
private interruptPaneAndWaitReady;
|
|
215
|
+
private markPaneCancelClearing;
|
|
216
|
+
private clearPaneContext;
|
|
212
217
|
failTaskForDispatchError(taskId: string, phase: string, agentId: string, err: DispatchTerminalError): Promise<void>;
|
|
213
218
|
failTasksForAgent(agentId: string, reason: string, opts?: {
|
|
214
219
|
deferPartnerCleanup?: boolean;
|
|
@@ -378,6 +383,9 @@ export declare class AgentManager {
|
|
|
378
383
|
private acquireCompactGuard;
|
|
379
384
|
private tryAcquireCompactGuard;
|
|
380
385
|
private runPostMergeCompactionSteps;
|
|
386
|
+
private sendPostMergeSlashCommand;
|
|
387
|
+
private hasRuntimeSlashCommandRejection;
|
|
388
|
+
private runtimeSlashCommandRejectedPattern;
|
|
381
389
|
private waitForReplPromptReady;
|
|
382
390
|
stopPhaseSignalWatcher(taskId: string): void;
|
|
383
391
|
private checkPublishInFlight;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agent/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agent/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/manager.js
CHANGED
|
@@ -87,8 +87,24 @@ export function canDispatchWithBinding(binding) {
|
|
|
87
87
|
// recover 路径)都可能让第二个 prompt 派进同 pane 与旧 turn 混在一起。outcome handler 通过显式
|
|
88
88
|
// allowAwaitingHuman:true release,gate 单点放行。
|
|
89
89
|
const TURN_COMPLETED_AWAITING_PHASES = new Set();
|
|
90
|
+
// Pane is stopped (interrupt landed) but its session was not cleared: cancel is mid /clear
|
|
91
|
+
// (`cancel-clearing`) or /clear was unconfirmed (`cancel-clear-failed`). Resume can't fix it (it doesn't
|
|
92
|
+
// /clear), so these are DELETE-only: shouldReleaseHeldBinding returns false → recover()/escape/Resume all
|
|
93
|
+
// refuse. Persisted, so the protection survives a restart mid-cleanup.
|
|
94
|
+
const UNCLEARED_PANE_PHASES = new Set(['cancel-clearing', 'cancel-clear-failed']);
|
|
95
|
+
// All cancel-cleanup holds (the un-cleared ones plus `cancel-interrupt-failed`, where the interrupt failed
|
|
96
|
+
// so the pane may still be running the cancelled task). None may be AUTO-released — not by recover(), not by
|
|
97
|
+
// a terminal-task escape, not even by an allowAwaitingHuman caller — because that would reuse the cancelled
|
|
98
|
+
// session. Only cancel's own confirmed-/clear release (fromCancelCleanup) frees one automatically; the
|
|
99
|
+
// operator recovers via Resume (cancel-interrupt-failed only, after verifying) or DELETE (any).
|
|
100
|
+
const CANCEL_CLEANUP_HOLD_PHASES = new Set([...UNCLEARED_PANE_PHASES, 'cancel-interrupt-failed']);
|
|
101
|
+
// A prompt line still holding the typed `/clear` (e.g. `❯ /clear`, `› /clear`) = the Enter was swallowed,
|
|
102
|
+
// so /clear was never submitted. After a real submission /clear wipes the screen and the composer is empty.
|
|
103
|
+
const CLEAR_PENDING_IN_COMPOSER_RE = /(?:^|\n)[ \t]*[❯>›→][ \t]*\/clear\b/;
|
|
90
104
|
// Resume / recover 共用:决定 Held agent 的 binding 是否随状态恢复一起清掉。
|
|
91
105
|
export function shouldReleaseHeldBinding(state, boundTask) {
|
|
106
|
+
if (state.awaitingPhase != null && UNCLEARED_PANE_PHASES.has(state.awaitingPhase))
|
|
107
|
+
return false;
|
|
92
108
|
const taskIsTerminal = !!boundTask && TERMINAL_STATUSES.includes(boundTask.status);
|
|
93
109
|
const turnCompleted = state.awaitingPhase != null && TURN_COMPLETED_AWAITING_PHASES.has(state.awaitingPhase);
|
|
94
110
|
return !boundTask || taskIsTerminal || turnCompleted;
|
|
@@ -134,6 +150,7 @@ export class AgentManager {
|
|
|
134
150
|
compactIdleWaitMs = 5 * 60_000;
|
|
135
151
|
compactIdlePollMs = 2_000;
|
|
136
152
|
manualCompactWaitMs = 5_000;
|
|
153
|
+
clearContextWaitMs = 30_000;
|
|
137
154
|
postMergeFetchTimeoutMs = 60_000;
|
|
138
155
|
postMergeBranchTimeoutMs = 10_000;
|
|
139
156
|
// taskIds with in-flight manual review — second concurrent POST gets 409.
|
|
@@ -1196,6 +1213,17 @@ export class AgentManager {
|
|
|
1196
1213
|
`(expected ${expectedTaskId}, got ${state.taskId}); skipping`);
|
|
1197
1214
|
return false;
|
|
1198
1215
|
}
|
|
1216
|
+
// Cancel-cleanup hold: only cancel's own release may free it. Checked BEFORE the allowAwaitingHuman
|
|
1217
|
+
// gate below, because that gate skips shouldReleaseHeldBinding entirely — so without this an
|
|
1218
|
+
// allowAwaitingHuman caller (startup false-start, review/max-rounds handlers, a terminal-task escape)
|
|
1219
|
+
// could reassign the un-cleared/maybe-running pane before cancel confirms /clear. (Operator recovery
|
|
1220
|
+
// via resumeAgent / DELETE doesn't go through this path.)
|
|
1221
|
+
if (state.awaitingPhase != null
|
|
1222
|
+
&& CANCEL_CLEANUP_HOLD_PHASES.has(state.awaitingPhase)
|
|
1223
|
+
&& !opts.fromCancelCleanup) {
|
|
1224
|
+
console.warn(`[AgentManager] releaseAgentForTask: agent ${agentId} ${state.awaitingPhase} (cancel-cleanup hold); refusing auto-release`);
|
|
1225
|
+
return false;
|
|
1226
|
+
}
|
|
1199
1227
|
const boundTask = await this.taskStore.get(expectedTaskId);
|
|
1200
1228
|
if (state.status === 'awaiting_human' && !opts.allowAwaitingHuman) {
|
|
1201
1229
|
// gate 例外:bound task 已 terminal / turn-completed phase 都属于正常 cleanup 路径,
|
|
@@ -1426,6 +1454,13 @@ export class AgentManager {
|
|
|
1426
1454
|
console.warn(`[AgentManager] resumeAgent: agent ${agentId} ${state.awaitingPhase} with active task ${state.taskId} — the dispatched prompt's pane signal has no consumer and Resume cannot rebuild the watcher; refusing Resume. Operator should cancel the task or DELETE the agent.`);
|
|
1427
1455
|
return { resumed: false, releasedBinding: false };
|
|
1428
1456
|
}
|
|
1457
|
+
// Un-cleared pane (cancel mid-clear or /clear unconfirmed): Resume would free + reuse it (terminal
|
|
1458
|
+
// task → shouldReleaseHeldBinding) and leak the cancelled task's context. Refuse; only DELETE (which
|
|
1459
|
+
// destroys the pane) is a safe recovery.
|
|
1460
|
+
if (state.awaitingPhase != null && UNCLEARED_PANE_PHASES.has(state.awaitingPhase)) {
|
|
1461
|
+
console.warn(`[AgentManager] resumeAgent: agent ${agentId} ${state.awaitingPhase} — pane holds un-cleared context; refusing Resume. DELETE the agent to discard it.`);
|
|
1462
|
+
return { resumed: false, releasedBinding: false };
|
|
1463
|
+
}
|
|
1429
1464
|
const now = new Date().toISOString();
|
|
1430
1465
|
const shouldReleaseBinding = shouldReleaseHeldBinding(state, boundTask);
|
|
1431
1466
|
const cfg = this.getAgentConfig(agentId);
|
|
@@ -1497,25 +1532,29 @@ export class AgentManager {
|
|
|
1497
1532
|
}
|
|
1498
1533
|
return { resumed: result.resumed, releasedBinding: result.releasedBinding };
|
|
1499
1534
|
}
|
|
1500
|
-
async
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
try {
|
|
1506
|
-
paneId = await tmux.getSinglePaneId(cfg.id);
|
|
1507
|
-
}
|
|
1508
|
-
catch (err) {
|
|
1509
|
-
console.warn(`[AgentManager] interruptPaneAndWaitReady: getSinglePaneId failed for ${cfg.id}:`, err);
|
|
1510
|
-
return false;
|
|
1511
|
-
}
|
|
1535
|
+
async resolvePaneId(state, cfg) {
|
|
1536
|
+
if (state.paneId)
|
|
1537
|
+
return state.paneId;
|
|
1538
|
+
try {
|
|
1539
|
+
return await new TmuxManager(this.createRunnerFor(cfg)).getSinglePaneId(cfg.id);
|
|
1512
1540
|
}
|
|
1541
|
+
catch (err) {
|
|
1542
|
+
console.warn(`[AgentManager] resolvePaneId: getSinglePaneId failed for ${cfg.id}:`, err);
|
|
1543
|
+
return null;
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
// ESC (not Ctrl-C) is the interrupt key both runtimes advertise; returns whether the pane reached idle.
|
|
1547
|
+
async interruptPaneAndWaitReady(state, cfg) {
|
|
1548
|
+
const paneId = await this.resolvePaneId(state, cfg);
|
|
1549
|
+
if (!paneId)
|
|
1550
|
+
return false;
|
|
1551
|
+
const tmux = new TmuxManager(this.createRunnerFor(cfg));
|
|
1513
1552
|
try {
|
|
1514
|
-
await tmux.sendKeysToPane(paneId, '
|
|
1553
|
+
await tmux.sendKeysToPane(paneId, 'Escape');
|
|
1515
1554
|
await new Promise(r => setTimeout(r, 200));
|
|
1516
1555
|
}
|
|
1517
1556
|
catch (err) {
|
|
1518
|
-
console.warn(`[AgentManager] interruptPaneAndWaitReady: send
|
|
1557
|
+
console.warn(`[AgentManager] interruptPaneAndWaitReady: send Escape failed for pane ${paneId}:`, err);
|
|
1519
1558
|
return false;
|
|
1520
1559
|
}
|
|
1521
1560
|
try {
|
|
@@ -1530,6 +1569,72 @@ export class AgentManager {
|
|
|
1530
1569
|
return false;
|
|
1531
1570
|
}
|
|
1532
1571
|
}
|
|
1572
|
+
// Persist a "cancel is interrupting + /clearing this pane" hold BEFORE the ESC→/clear window so the
|
|
1573
|
+
// protection survives a restart (recover() holds UNCLEARED_PANE_PHASES) and the escape can't reassign the
|
|
1574
|
+
// un-cleared pane. Direct update (no intervention event): a normal cancel clears it on release; only a
|
|
1575
|
+
// crash/failure leaves it. Conditional on the binding so a stale cancel can't mark an agent rebound away.
|
|
1576
|
+
async markPaneCancelClearing(agentId, taskId) {
|
|
1577
|
+
const now = new Date().toISOString();
|
|
1578
|
+
await this.agentStore.update(agentId, (latest) => {
|
|
1579
|
+
if (!latest || latest.taskId !== taskId)
|
|
1580
|
+
return AGENT_STORE_NOOP;
|
|
1581
|
+
return {
|
|
1582
|
+
...latest,
|
|
1583
|
+
status: 'awaiting_human',
|
|
1584
|
+
awaitingPhase: 'cancel-clearing',
|
|
1585
|
+
awaitingReason: 'Cancelling: interrupting and clearing the runtime session; not reusable until /clear is confirmed or the agent is deleted.',
|
|
1586
|
+
awaitingSince: now,
|
|
1587
|
+
updatedAt: now,
|
|
1588
|
+
};
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1591
|
+
// Returns whether /clear was confirmed (a real busy→idle, not the stale pre-/clear idle frame); the
|
|
1592
|
+
// caller must hold the agent, not release it, on false or the un-cleared context leaks to the next dispatch.
|
|
1593
|
+
async clearPaneContext(state, cfg) {
|
|
1594
|
+
const paneId = await this.resolvePaneId(state, cfg);
|
|
1595
|
+
if (!paneId)
|
|
1596
|
+
return false;
|
|
1597
|
+
if (!this.tryAcquireCompactGuard(cfg.id)) {
|
|
1598
|
+
console.warn(`[AgentManager] clearPaneContext: ${cfg.id} compact/upload in progress; cannot /clear`);
|
|
1599
|
+
return false;
|
|
1600
|
+
}
|
|
1601
|
+
try {
|
|
1602
|
+
const tmux = new TmuxManager(this.createRunnerFor(cfg));
|
|
1603
|
+
const runtime = agentRuntimeKindFor(cfg);
|
|
1604
|
+
// C-c clears any prompt an ack-timeout left in the composer, so /clear isn't appended to it and submitted.
|
|
1605
|
+
await tmux.sendKeysToPane(paneId, 'C-c');
|
|
1606
|
+
await this.waitForReplPromptReady(tmux, paneId, runtime, this.clearContextWaitMs);
|
|
1607
|
+
await tmux.sendKeysLiteral(paneId, '/clear');
|
|
1608
|
+
// Snapshot the composer holding the typed /clear; require submission proof so a swallowed Enter
|
|
1609
|
+
// (which would leave /clear idle in the composer and let waitForReplPromptReady pass on the stale
|
|
1610
|
+
// frame) is resent rather than treated as cleared.
|
|
1611
|
+
const beforeSubmit = await tmux.capturePaneSnapshot(paneId);
|
|
1612
|
+
await tmux.sendEnter(paneId);
|
|
1613
|
+
await tmux.waitSubmitAck(paneId, beforeSubmit, runtime, {
|
|
1614
|
+
timeoutMs: this.clearContextWaitMs,
|
|
1615
|
+
acceptComposerChange: true,
|
|
1616
|
+
resend: () => tmux.sendEnter(paneId),
|
|
1617
|
+
resendIntervalMs: this.compactIdlePollMs,
|
|
1618
|
+
});
|
|
1619
|
+
await this.waitForReplPromptReady(tmux, paneId, runtime, this.clearContextWaitMs);
|
|
1620
|
+
// Positively confirm the composer is empty: a ready anchor alone can sit above a composer that still
|
|
1621
|
+
// holds the typed /clear (e.g. acceptComposerChange returned on an unrelated redraw). If /clear is
|
|
1622
|
+
// still parked there, it was never submitted — treat as unconfirmed so the caller holds the pane.
|
|
1623
|
+
const afterClear = await tmux.capturePaneById(paneId, { ansi: false, scrollback: 0 });
|
|
1624
|
+
if (CLEAR_PENDING_IN_COMPOSER_RE.test(afterClear)) {
|
|
1625
|
+
console.warn(`[AgentManager] clearPaneContext: /clear still in composer for ${cfg.id}; unconfirmed`);
|
|
1626
|
+
return false;
|
|
1627
|
+
}
|
|
1628
|
+
return true;
|
|
1629
|
+
}
|
|
1630
|
+
catch (err) {
|
|
1631
|
+
console.warn(`[AgentManager] clearPaneContext: /clear failed for ${cfg.id}:`, err);
|
|
1632
|
+
return false;
|
|
1633
|
+
}
|
|
1634
|
+
finally {
|
|
1635
|
+
this.compactInFlight.delete(cfg.id);
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1533
1638
|
async failTaskForDispatchError(taskId, phase, agentId, err) {
|
|
1534
1639
|
const expected = PHASE_EXPECTED_STATUS[phase] ?? [];
|
|
1535
1640
|
const transitioned = await this.transitionTaskStatus(taskId, 'failed', { fromStatus: expected.length > 0 ? expected : ['in_progress', 'review', 'fixing', 'approved', 'merge-ready'] });
|
|
@@ -1905,7 +2010,7 @@ export class AgentManager {
|
|
|
1905
2010
|
return cleared;
|
|
1906
2011
|
});
|
|
1907
2012
|
}
|
|
1908
|
-
//
|
|
2013
|
+
// Recovery snapshot replay is safe because the completion token is cleared after merge-ready.
|
|
1909
2014
|
async setupRecoveredPostApproveSignals() {
|
|
1910
2015
|
if (!this.phaseSignalWatcher)
|
|
1911
2016
|
return;
|
|
@@ -1914,8 +2019,6 @@ export class AgentManager {
|
|
|
1914
2019
|
const completion = await this.postApproveStore.get(task.id);
|
|
1915
2020
|
if (!completion)
|
|
1916
2021
|
continue;
|
|
1917
|
-
const project = this.getProjectConfig(task.projectId);
|
|
1918
|
-
const skipSnapshot = project?.merge !== 'auto';
|
|
1919
2022
|
try {
|
|
1920
2023
|
await this.phaseSignalWatcher.start({
|
|
1921
2024
|
taskId: task.id,
|
|
@@ -1923,7 +2026,7 @@ export class AgentManager {
|
|
|
1923
2026
|
agentId: task.agentId,
|
|
1924
2027
|
expectedKinds: 'pr-merge-ready',
|
|
1925
2028
|
token: completion.token,
|
|
1926
|
-
skipSnapshot,
|
|
2029
|
+
skipSnapshot: false,
|
|
1927
2030
|
recovered: true,
|
|
1928
2031
|
});
|
|
1929
2032
|
}
|
|
@@ -2474,11 +2577,26 @@ export class AgentManager {
|
|
|
2474
2577
|
if (!fresh || TERMINAL_STATUSES.includes(fresh.status)) {
|
|
2475
2578
|
const cfg = this.getAgentConfig(agentId);
|
|
2476
2579
|
const state = await this.agentStore.get(agentId);
|
|
2477
|
-
if (cfg && state && state.taskId === taskId
|
|
2478
|
-
|
|
2479
|
-
|
|
2580
|
+
if (cfg && state && state.taskId === taskId) {
|
|
2581
|
+
// Persist the un-cleared hold before the ESC→/clear window so a restart mid-cleanup recovers it
|
|
2582
|
+
// held instead of releasing the still-dirty pane (mirrors cancelTask).
|
|
2583
|
+
await this.markPaneCancelClearing(agentId, taskId);
|
|
2584
|
+
if (!(await this.interruptPaneAndWaitReady(state, cfg))) {
|
|
2585
|
+
await this.markAwaitingHuman(agentId, 'cancel-interrupt-failed', 'Task was cancelled during startup but ESC / REPL ready check failed; the agent may still be ' +
|
|
2586
|
+
'running the cancelled prompt. Attach via web terminal to verify, then Resume or Delete.', { expectedTaskId: taskId });
|
|
2587
|
+
return null;
|
|
2588
|
+
}
|
|
2589
|
+
if (!(await this.clearPaneContext(state, cfg))) {
|
|
2590
|
+
await this.markAwaitingHuman(agentId, 'cancel-clear-failed', 'Task was cancelled during startup and the session interrupted, but /clear was not confirmed; ' +
|
|
2591
|
+
'the pane holds un-cleared context. DELETE the agent to discard it (Resume will not reuse an un-cleared pane).', { expectedTaskId: taskId });
|
|
2592
|
+
return null;
|
|
2593
|
+
}
|
|
2594
|
+
// /clear confirmed → cancel cleanup is done; free the cancel-clearing hold (only path allowed to).
|
|
2595
|
+
await this.releaseAgentForTask(agentId, taskId, 'idle', { allowAwaitingHuman: true, fromCancelCleanup: true });
|
|
2480
2596
|
return null;
|
|
2481
2597
|
}
|
|
2598
|
+
// No live pane to clean (agent gone / rebound): release without the cancel-cleanup bypass — if it
|
|
2599
|
+
// somehow holds an un-cleared phase, refusing here keeps the dirty pane for the owning cancel.
|
|
2482
2600
|
await this.releaseAgentForTask(agentId, taskId, 'idle', { allowAwaitingHuman: true });
|
|
2483
2601
|
return null;
|
|
2484
2602
|
}
|
|
@@ -3478,7 +3596,11 @@ export class AgentManager {
|
|
|
3478
3596
|
console.warn(`[recover] dispatchPostMergeCleanup(${state.id}, ${boundTask.id}) failed:`, cleanupErr);
|
|
3479
3597
|
}
|
|
3480
3598
|
}
|
|
3481
|
-
|
|
3599
|
+
// A cancel-cleanup hold must NOT be auto-released on restart (it would reuse the cancelled,
|
|
3600
|
+
// un-cleared/maybe-running pane). cancel-interrupt-failed has shouldReleaseHeldBinding=true (it's
|
|
3601
|
+
// operator-Resume recoverable), so exclude the whole cancel-cleanup set here explicitly.
|
|
3602
|
+
const cancelHold = state.awaitingPhase != null && CANCEL_CLEANUP_HOLD_PHASES.has(state.awaitingPhase);
|
|
3603
|
+
const shouldReleaseBinding = shouldReleaseHeldBinding(state, boundTask) && !cancelHold;
|
|
3482
3604
|
// 释放 binding 时同步清 worktree(与 resumeAgent 一致)——否则跨重启恢复后
|
|
3483
3605
|
// worktreePath 在下面 update 中被丢弃,磁盘上的 worktree 永远无人回收。
|
|
3484
3606
|
if (shouldReleaseBinding && state.worktreePath) {
|
|
@@ -3536,7 +3658,9 @@ export class AgentManager {
|
|
|
3536
3658
|
if (shouldReleaseBinding) {
|
|
3537
3659
|
await this.lockManager.release(state.id);
|
|
3538
3660
|
}
|
|
3539
|
-
|
|
3661
|
+
// Skip the menu-watch for cancel-cleanup holds: they await operator Resume/DELETE, and their taskId
|
|
3662
|
+
// won't clear on its own, so the watcher would poll forever.
|
|
3663
|
+
if (state.taskId && !shouldReleaseBinding && !cancelHold) {
|
|
3540
3664
|
this.startRuntimeMenuWatch(state.id);
|
|
3541
3665
|
}
|
|
3542
3666
|
}
|
|
@@ -3731,6 +3855,13 @@ export class AgentManager {
|
|
|
3731
3855
|
mayBeInFlight: false,
|
|
3732
3856
|
};
|
|
3733
3857
|
}
|
|
3858
|
+
// Mark the panes cancel-clearing BEFORE flipping the task terminal (still under the lock), so any
|
|
3859
|
+
// window — a concurrent escape, or a restart — sees a persisted hold instead of a plain binding to a
|
|
3860
|
+
// terminal task that recover()/the escape would release with the session still un-cleared.
|
|
3861
|
+
for (const id of [devToRelease, qaToRelease]) {
|
|
3862
|
+
if (id)
|
|
3863
|
+
await this.markPaneCancelClearing(id, taskId);
|
|
3864
|
+
}
|
|
3734
3865
|
const now = new Date().toISOString();
|
|
3735
3866
|
task.status = 'cancelled';
|
|
3736
3867
|
task.updatedAt = now;
|
|
@@ -3752,31 +3883,46 @@ export class AgentManager {
|
|
|
3752
3883
|
// (config hot-removed: the pane outlives the config; state gone; rebound)
|
|
3753
3884
|
// leave an in-flight publish possible.
|
|
3754
3885
|
let devStopConfirmed = false;
|
|
3886
|
+
// Phase 1 — interrupt every still-bound pane first, so a slow /clear on one agent can't keep another
|
|
3887
|
+
// running the cancelled task. The persisted cancel-clearing hold (set under the lock) blocks any
|
|
3888
|
+
// concurrent escape from releasing these panes until they are /cleared.
|
|
3889
|
+
const stopped = [];
|
|
3755
3890
|
for (const id of [devToRelease, qaToRelease]) {
|
|
3756
3891
|
if (!id)
|
|
3757
3892
|
continue;
|
|
3758
3893
|
const cfg = this.getAgentConfig(id);
|
|
3759
3894
|
const state = await this.agentStore.get(id);
|
|
3760
|
-
if (!cfg || !state)
|
|
3761
|
-
|
|
3762
|
-
// 重校验绑定:lock 释放后另一路 release+acquire 可能已把 agent 绑给新任务,
|
|
3763
|
-
// 此时不能 C-c 打到新会话上、也不能继续 idle release。
|
|
3764
|
-
if (state.taskId !== taskId) {
|
|
3765
|
-
console.warn(`[AgentManager] cancelTask: ${id} no longer bound to ${taskId} (got ${state.taskId}); skipping`);
|
|
3895
|
+
if (!cfg || !state || state.taskId !== taskId) {
|
|
3896
|
+
console.warn(`[AgentManager] cancelTask: ${id} no longer bound to ${taskId} (got ${state?.taskId}); skipping`);
|
|
3766
3897
|
continue;
|
|
3767
3898
|
}
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
await this.markAwaitingHuman(id, 'cancel-interrupt-failed', 'Task marked cancelled but C-c / REPL ready check failed; agent may still be running. Attach via web terminal to verify, then Resume or Delete.');
|
|
3899
|
+
if (!(await this.interruptPaneAndWaitReady(state, cfg))) {
|
|
3900
|
+
await this.markAwaitingHuman(id, 'cancel-interrupt-failed', 'Task marked cancelled but ESC / REPL ready check failed; agent may still be running the cancelled prompt. Attach via web terminal to verify, then Resume or Delete.', { expectedTaskId: taskId });
|
|
3771
3901
|
continue;
|
|
3772
3902
|
}
|
|
3903
|
+
// devStopConfirmed reflects only "the pane stopped" — set before /clear so published-artifact
|
|
3904
|
+
// retirement still proceeds even when /clear can't be confirmed.
|
|
3773
3905
|
if (id === publishedCleanup?.devAgentId)
|
|
3774
3906
|
devStopConfirmed = true;
|
|
3907
|
+
stopped.push(id);
|
|
3908
|
+
}
|
|
3909
|
+
// Phase 2 — every pane is stopped; /clear + release each.
|
|
3910
|
+
for (const id of stopped) {
|
|
3911
|
+
const cfg = this.getAgentConfig(id);
|
|
3912
|
+
const state = await this.agentStore.get(id);
|
|
3913
|
+
if (!cfg || !state || state.taskId !== taskId) {
|
|
3914
|
+
console.warn(`[AgentManager] cancelTask: ${id} rebound before /clear (got ${state?.taskId}); skipping`);
|
|
3915
|
+
continue;
|
|
3916
|
+
}
|
|
3917
|
+
if (!(await this.clearPaneContext(state, cfg))) {
|
|
3918
|
+
// /clear unconfirmed → hold; the un-cleared pane stays bound (UNCLEARED_PANE_PHASES) until DELETE.
|
|
3919
|
+
await this.markAwaitingHuman(id, 'cancel-clear-failed', 'Task marked cancelled and the session interrupted, but /clear was not confirmed; the pane holds un-cleared context. DELETE the agent to discard it (Resume will not reuse an un-cleared pane).', { expectedTaskId: taskId });
|
|
3920
|
+
continue;
|
|
3921
|
+
}
|
|
3775
3922
|
try {
|
|
3776
|
-
//
|
|
3777
|
-
//
|
|
3778
|
-
|
|
3779
|
-
await this.releaseAgentForTask(id, taskId, 'idle', { allowAwaitingHuman: true });
|
|
3923
|
+
// fromCancelCleanup: this IS the owning cancel, having confirmed /clear — the only release allowed
|
|
3924
|
+
// to free the cancel-clearing hold. allowAwaitingHuman: cross the awaiting_human gate too.
|
|
3925
|
+
await this.releaseAgentForTask(id, taskId, 'idle', { allowAwaitingHuman: true, fromCancelCleanup: true });
|
|
3780
3926
|
}
|
|
3781
3927
|
catch (err) {
|
|
3782
3928
|
console.error(`[AgentManager] cancelTask releaseAgentForTask(${id}) failed:`, err);
|
|
@@ -4781,10 +4927,10 @@ export class AgentManager {
|
|
|
4781
4927
|
await this.waitForReplPromptReady(tmux, paneId, runtime, this.compactIdleWaitMs);
|
|
4782
4928
|
if (!await bindingStillOurs())
|
|
4783
4929
|
return;
|
|
4784
|
-
|
|
4785
|
-
await
|
|
4786
|
-
|
|
4787
|
-
|
|
4930
|
+
const command = cleanSlate ? '/clear' : '/compact';
|
|
4931
|
+
if (!await this.sendPostMergeSlashCommand(tmux, paneId, agentId, runtime, command, bindingStillOurs)) {
|
|
4932
|
+
return;
|
|
4933
|
+
}
|
|
4788
4934
|
break;
|
|
4789
4935
|
}
|
|
4790
4936
|
catch (err) {
|
|
@@ -4794,6 +4940,34 @@ export class AgentManager {
|
|
|
4794
4940
|
}
|
|
4795
4941
|
await this.releasePostMergeAgent(agentId, originalTaskId);
|
|
4796
4942
|
}
|
|
4943
|
+
async sendPostMergeSlashCommand(tmux, paneId, agentId, runtime, command, bindingStillOurs) {
|
|
4944
|
+
let rejection;
|
|
4945
|
+
for (let attempt = 1; attempt <= 2; attempt++) {
|
|
4946
|
+
await tmux.sendKeysLiteral(paneId, command);
|
|
4947
|
+
await tmux.sendEnter(paneId);
|
|
4948
|
+
await new Promise(r => setTimeout(r, this.compactIdlePollMs));
|
|
4949
|
+
await this.waitForReplPromptReady(tmux, paneId, runtime, this.compactIdleWaitMs);
|
|
4950
|
+
if (!await bindingStillOurs())
|
|
4951
|
+
return false;
|
|
4952
|
+
if (!await this.hasRuntimeSlashCommandRejection(tmux, paneId, command))
|
|
4953
|
+
return true;
|
|
4954
|
+
rejection = new Error(`runtime rejected ${command} because a task is still in progress`);
|
|
4955
|
+
if (attempt < 2) {
|
|
4956
|
+
console.warn(`[AgentManager] runPostMergeCompaction(${agentId}) ${command} rejected; retrying`);
|
|
4957
|
+
await new Promise(r => setTimeout(r, this.compactIdlePollMs));
|
|
4958
|
+
if (!await bindingStillOurs())
|
|
4959
|
+
return false;
|
|
4960
|
+
}
|
|
4961
|
+
}
|
|
4962
|
+
throw rejection ?? new Error(`runtime rejected ${command}`);
|
|
4963
|
+
}
|
|
4964
|
+
async hasRuntimeSlashCommandRejection(tmux, paneId, command) {
|
|
4965
|
+
const cap = await tmux.capturePaneById(paneId, { ansi: false, scrollback: 0 });
|
|
4966
|
+
return this.runtimeSlashCommandRejectedPattern(command).test(cap);
|
|
4967
|
+
}
|
|
4968
|
+
runtimeSlashCommandRejectedPattern(command) {
|
|
4969
|
+
return new RegExp(`["'“”‘’]?${command}["'“”‘’]?\\s+is disabled while a task is in progress\\.`, 'gi');
|
|
4970
|
+
}
|
|
4797
4971
|
// pane_current_command 是 runtime 是否仍活的权威信号(不被 viewport stale frame 骗)。
|
|
4798
4972
|
// anchor 在 codex busy 屏(`Working on it…\n esc to interrupt`)不存在,所以 busy 状态只看
|
|
4799
4973
|
// procTitle;只有准备返回 idle 时才用 anchor 作双重证据,挡 stale-frame + shell 误报。
|