@songsid/agend 2.1.5 → 2.1.6-beta.1
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/backend/codex.d.ts +16 -0
- package/dist/backend/codex.js +50 -0
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/types.d.ts +13 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/daemon.d.ts +15 -0
- package/dist/daemon.js +130 -15
- package/dist/daemon.js.map +1 -1
- package/dist/fleet-manager.d.ts +8 -0
- package/dist/fleet-manager.js +74 -0
- package/dist/fleet-manager.js.map +1 -1
- package/package.json +1 -1
package/dist/backend/codex.d.ts
CHANGED
|
@@ -24,6 +24,22 @@ export declare class CodexBackend implements CliBackend {
|
|
|
24
24
|
* (updatePickerDialog) before any delivery path reads this pattern.
|
|
25
25
|
*/
|
|
26
26
|
getBottomReadyPattern(): RegExp | null;
|
|
27
|
+
/** Live status chrome that must veto the broad prompt/context ready match. */
|
|
28
|
+
getBusyPattern(): RegExp;
|
|
29
|
+
/**
|
|
30
|
+
* Codex 0.154's Astra theme can keep animating a star field around the input
|
|
31
|
+
* box (and its terminal title) after the TUI has returned to the prompt.
|
|
32
|
+
* Those cosmetic redraws keep tmux control mode noisy, so the daemon cannot
|
|
33
|
+
* wait for two seconds of output silence.
|
|
34
|
+
*
|
|
35
|
+
* Do not use getReadyPattern() here: the Codex header, context meter and
|
|
36
|
+
* input chrome all remain visible while a turn is running. Instead require
|
|
37
|
+
* the live, empty prompt followed by the context footer at the bottom of the
|
|
38
|
+
* viewport, and reject a live status row immediately above it. Transcript
|
|
39
|
+
* quotes are indented by the TUI and, more importantly, cannot replace the
|
|
40
|
+
* final live prompt/footer pair.
|
|
41
|
+
*/
|
|
42
|
+
isPeriodicRedrawIdlePane(pane: string): boolean;
|
|
27
43
|
/**
|
|
28
44
|
* The row codex paints for input it has taken into its own queue instead of
|
|
29
45
|
* submitting: `↳ <message>` under "Messages to be submitted after next tool
|
package/dist/backend/codex.js
CHANGED
|
@@ -134,6 +134,56 @@ export class CodexBackend {
|
|
|
134
134
|
getBottomReadyPattern() {
|
|
135
135
|
return /^\s*›\s?/;
|
|
136
136
|
}
|
|
137
|
+
/** Live status chrome that must veto the broad prompt/context ready match. */
|
|
138
|
+
getBusyPattern() {
|
|
139
|
+
return /(?:^|\n)•\s+Working\b[^\n]*\besc to interrupt\b/i;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Codex 0.154's Astra theme can keep animating a star field around the input
|
|
143
|
+
* box (and its terminal title) after the TUI has returned to the prompt.
|
|
144
|
+
* Those cosmetic redraws keep tmux control mode noisy, so the daemon cannot
|
|
145
|
+
* wait for two seconds of output silence.
|
|
146
|
+
*
|
|
147
|
+
* Do not use getReadyPattern() here: the Codex header, context meter and
|
|
148
|
+
* input chrome all remain visible while a turn is running. Instead require
|
|
149
|
+
* the live, empty prompt followed by the context footer at the bottom of the
|
|
150
|
+
* viewport, and reject a live status row immediately above it. Transcript
|
|
151
|
+
* quotes are indented by the TUI and, more importantly, cannot replace the
|
|
152
|
+
* final live prompt/footer pair.
|
|
153
|
+
*/
|
|
154
|
+
isPeriodicRedrawIdlePane(pane) {
|
|
155
|
+
// Astra's 0.154 theme animates U+22C6 star points across otherwise-stable
|
|
156
|
+
// idle chrome. Remove only that observed decorative glyph; broader
|
|
157
|
+
// punctuation stripping could turn real tool output into a false prompt.
|
|
158
|
+
const rows = pane.replace(/\r/g, "").split("\n").map(row => row.replace(/⋆/gu, ""));
|
|
159
|
+
let prompt = -1;
|
|
160
|
+
for (let i = rows.length - 1; i >= 0; i--) {
|
|
161
|
+
if (/^[>›]\s*Ask Codex to do anything\s*$/.test(rows[i])) {
|
|
162
|
+
prompt = i;
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (prompt < 0)
|
|
167
|
+
return false;
|
|
168
|
+
let footer = -1;
|
|
169
|
+
for (let i = prompt + 1; i < Math.min(rows.length, prompt + 7); i++) {
|
|
170
|
+
if (/^\s*Context\s+\d+%\s+(?:left|used)\s*$/i.test(rows[i])) {
|
|
171
|
+
footer = i;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
// Only blank/star-only animation rows may separate prompt and footer.
|
|
175
|
+
if (rows[i].trim() !== "")
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
if (footer < 0 || rows.slice(footer + 1).some(row => row.trim() !== ""))
|
|
179
|
+
return false;
|
|
180
|
+
// A real Codex status row is column-zero TUI chrome. Quoted examples in a
|
|
181
|
+
// user/assistant message are indented and therefore fail closed here.
|
|
182
|
+
const activeRegion = rows.slice(Math.max(0, prompt - 8), prompt);
|
|
183
|
+
if (activeRegion.some(row => /^•\s+\S.*\besc to interrupt\b/i.test(row)))
|
|
184
|
+
return false;
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
137
187
|
/**
|
|
138
188
|
* The row codex paints for input it has taken into its own queue instead of
|
|
139
189
|
* submitting: `↳ <message>` under "Messages to be submitted after next tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/types.d.ts
CHANGED
|
@@ -284,6 +284,19 @@ export interface CliBackend {
|
|
|
284
284
|
* false.
|
|
285
285
|
*/
|
|
286
286
|
hasPeriodicPaneRedraw?(): boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Positive, structural proof that a periodically-redrawing TUI is parked at
|
|
289
|
+
* its live input prompt. This is deliberately stronger than
|
|
290
|
+
* `getReadyPattern()`: many TUIs leave their header, context meter and even
|
|
291
|
+
* input chrome visible while a turn is still running. The daemon may use
|
|
292
|
+
* two consecutive positive captures to recover working -> idle even when
|
|
293
|
+
* cosmetic animation prevents the ordinary silence debounce from firing.
|
|
294
|
+
*
|
|
295
|
+
* Return false for an unfamiliar layout. False negatives merely retain the
|
|
296
|
+
* existing working state; false positives can retire Cancel and admit a new
|
|
297
|
+
* delivery into a busy CLI.
|
|
298
|
+
*/
|
|
299
|
+
isPeriodicRedrawIdlePane?(pane: string): boolean;
|
|
287
300
|
/** Build the shell command string to launch the CLI in a tmux window. */
|
|
288
301
|
buildCommand(config: CliBackendConfig): string;
|
|
289
302
|
/** Write all config files the CLI needs before launch. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsG1C,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,GAAG,yBAAyB,CAAC;AAEnG,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvJ,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsG1C,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,GAAG,yBAAyB,CAAC;AAEnG,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvJ,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AA6WD;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG;QACX,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC;QACrC,gBAAgB;QAChB,UAAU;QACV,MAAM;KACP,CAAC;IAEF,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAEjC,wDAAwD;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACnD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;IAEvD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,YAAgC;IAC1E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAExD,KAAK,MAAM,GAAG,IAAI,YAAY,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,wDAAwD;AACvE,CAAC;AAED;;;;;;GAMG;AACH,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,aAAa,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,mDAAmD,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,kFAAkF;AAClF,MAAM,sBAAsB,GAA2B;IACrD,aAAa,EAAE,kDAAkD;IACjE,UAAU,EAAE,iEAAiE;IAC7E,OAAO,EAAE,wBAAwB;IACjC,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,GAAG,EAAG,iDAAiD;IACnE,0EAA0E;IAC1E,8DAA8D;IAC9D,aAAa,EAAE,2BAA2B;IAC1C,MAAM,EAAE,QAAQ,EAAG,gDAAgD;CACpE,CAAC;AAEF,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,KAAa;IAClE,MAAM,OAAO,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;IAC5D,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,KAAa;IACpE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,kBAAkB,KAAK,uCAAuC,WAAW,0BAA0B,CAAC,CAAC;IACpH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export declare const DEFAULT_STATE_IDLE_DEBOUNCE_MS = 2000;
|
|
|
43
43
|
export declare const DEFAULT_STATE_SAFETY_SWEEP_MS = 60000;
|
|
44
44
|
/** Coalesce one cosmetic-redraw burst before comparing the visible pane. */
|
|
45
45
|
export declare const PERIODIC_REDRAW_PROBE_MS = 25;
|
|
46
|
+
/** Do not turn a streaming Codex turn into one capture-pane per burst. */
|
|
47
|
+
export declare const STRUCTURED_IDLE_PROBE_MS = 500;
|
|
46
48
|
/** A foreground server/port-forward should hand control back or be acknowledged. */
|
|
47
49
|
export declare const DEFAULT_BLOCKING_PROCESS_GRACE_MS: number;
|
|
48
50
|
/**
|
|
@@ -435,6 +437,9 @@ export declare class Daemon extends EventEmitter {
|
|
|
435
437
|
private instanceStateMonitorTimer;
|
|
436
438
|
private instanceStateIdleTimer;
|
|
437
439
|
private instanceStateOutputProbeTimer;
|
|
440
|
+
/** Consecutive structural idle captures for a noisy, periodically-redrawing
|
|
441
|
+
* pane. Two are required before a working -> idle transition. */
|
|
442
|
+
private instanceStatePeriodicIdleConfirmations;
|
|
438
443
|
private instanceStateStuckTimer;
|
|
439
444
|
private instanceStateOutputListener;
|
|
440
445
|
private instanceStateOutputEventName;
|
|
@@ -1107,6 +1112,16 @@ export declare class Daemon extends EventEmitter {
|
|
|
1107
1112
|
*/
|
|
1108
1113
|
private isPaneIdleForDelivery;
|
|
1109
1114
|
private waitForPaneIdleForDelivery;
|
|
1115
|
+
/**
|
|
1116
|
+
* Antigravity has always opted into pane-state delivery readiness because its
|
|
1117
|
+
* footer redraws while idle. Codex's structural idle proof is useful only
|
|
1118
|
+
* while the event-driven state monitor is actually running; without that
|
|
1119
|
+
* monitor there is no fresh proof to trust, so preserve the legacy
|
|
1120
|
+
* TmuxControlClient.waitUntilIdle fallback. This matters during isolated
|
|
1121
|
+
* startup/recovery paths as well as in tests: merely having a matcher must
|
|
1122
|
+
* never turn a missing observer into a 30-minute polling wait.
|
|
1123
|
+
*/
|
|
1124
|
+
private canTrustRedrawIdleState;
|
|
1110
1125
|
/**
|
|
1111
1126
|
* The write half of a delivery: paste → Enter → confirm, with retries.
|
|
1112
1127
|
*
|
package/dist/daemon.js
CHANGED
|
@@ -83,6 +83,8 @@ export const DEFAULT_STATE_IDLE_DEBOUNCE_MS = 2_000;
|
|
|
83
83
|
export const DEFAULT_STATE_SAFETY_SWEEP_MS = 60_000;
|
|
84
84
|
/** Coalesce one cosmetic-redraw burst before comparing the visible pane. */
|
|
85
85
|
export const PERIODIC_REDRAW_PROBE_MS = 25;
|
|
86
|
+
/** Do not turn a streaming Codex turn into one capture-pane per burst. */
|
|
87
|
+
export const STRUCTURED_IDLE_PROBE_MS = 500;
|
|
86
88
|
/** A foreground server/port-forward should hand control back or be acknowledged. */
|
|
87
89
|
export const DEFAULT_BLOCKING_PROCESS_GRACE_MS = 2 * 60_000;
|
|
88
90
|
const LAST_INBOUND_FILE = "last-inbound-at";
|
|
@@ -889,6 +891,9 @@ export class Daemon extends EventEmitter {
|
|
|
889
891
|
instanceStateMonitorTimer = null;
|
|
890
892
|
instanceStateIdleTimer = null;
|
|
891
893
|
instanceStateOutputProbeTimer = null;
|
|
894
|
+
/** Consecutive structural idle captures for a noisy, periodically-redrawing
|
|
895
|
+
* pane. Two are required before a working -> idle transition. */
|
|
896
|
+
instanceStatePeriodicIdleConfirmations = 0;
|
|
892
897
|
instanceStateStuckTimer = null;
|
|
893
898
|
instanceStateOutputListener = null;
|
|
894
899
|
instanceStateOutputEventName = null;
|
|
@@ -3230,13 +3235,13 @@ export class Daemon extends EventEmitter {
|
|
|
3230
3235
|
* visible cell. Probe the pane once per burst: a changed capture is real work;
|
|
3231
3236
|
* an identical ready capture remains idle and emits no state edge.
|
|
3232
3237
|
*/
|
|
3233
|
-
scheduleInstanceStateOutputProbe() {
|
|
3238
|
+
scheduleInstanceStateOutputProbe(delayMs = PERIODIC_REDRAW_PROBE_MS) {
|
|
3234
3239
|
if (this.instanceStateOutputProbeTimer)
|
|
3235
3240
|
return;
|
|
3236
3241
|
this.instanceStateOutputProbeTimer = setTimeout(() => {
|
|
3237
3242
|
this.instanceStateOutputProbeTimer = null;
|
|
3238
3243
|
void this.captureAndEvaluateInstanceState("output_probe", this.instanceStateLastOutputAt);
|
|
3239
|
-
},
|
|
3244
|
+
}, delayMs);
|
|
3240
3245
|
this.instanceStateOutputProbeTimer.unref?.();
|
|
3241
3246
|
}
|
|
3242
3247
|
clearInstanceStateStuckTimer() {
|
|
@@ -3319,11 +3324,98 @@ export class Daemon extends EventEmitter {
|
|
|
3319
3324
|
// changed when tmux reported output (observedChangeAt), but idle/stuck are
|
|
3320
3325
|
// decisions about *now*. The old double-observe expressed that by calling
|
|
3321
3326
|
// observe twice, which silently disabled the "content moved" branch.
|
|
3322
|
-
const
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
+
const structuredPeriodicIdle = this.backend?.isPeriodicRedrawIdlePane;
|
|
3328
|
+
let snapshot;
|
|
3329
|
+
if (structuredPeriodicIdle && reason === "output_probe") {
|
|
3330
|
+
const idlePane = structuredPeriodicIdle.call(this.backend, pane);
|
|
3331
|
+
if (idlePane) {
|
|
3332
|
+
if (this.instanceState === "idle") {
|
|
3333
|
+
// Cosmetic output must not manufacture an idle -> working edge.
|
|
3334
|
+
this.instanceStatePeriodicIdleConfirmations = 2;
|
|
3335
|
+
}
|
|
3336
|
+
else {
|
|
3337
|
+
this.instanceStatePeriodicIdleConfirmations++;
|
|
3338
|
+
}
|
|
3339
|
+
if (this.instanceStatePeriodicIdleConfirmations < 2) {
|
|
3340
|
+
// One positive frame is intentionally not enough to bless a
|
|
3341
|
+
// working pane while the starfield is still repainting.
|
|
3342
|
+
snapshot = this.instanceStateMachine.recordOutput(observedChangeAt);
|
|
3343
|
+
}
|
|
3344
|
+
else {
|
|
3345
|
+
snapshot = this.instanceStateMachine.observe(pane, Date.now(), {
|
|
3346
|
+
settled: true,
|
|
3347
|
+
changeAt: observedChangeAt,
|
|
3348
|
+
});
|
|
3349
|
+
}
|
|
3350
|
+
}
|
|
3351
|
+
else {
|
|
3352
|
+
// A live busy marker or an unfamiliar layout outranks the broad Codex
|
|
3353
|
+
// ready pattern during the noisy-redraw path. Unknown is working.
|
|
3354
|
+
this.instanceStatePeriodicIdleConfirmations = 0;
|
|
3355
|
+
snapshot = this.instanceStateMachine.recordOutput(observedChangeAt);
|
|
3356
|
+
}
|
|
3357
|
+
}
|
|
3358
|
+
else if (structuredPeriodicIdle && reason !== "idle_debounce" && !settled) {
|
|
3359
|
+
// Startup, safety, and explicit state probes must not bless a broad
|
|
3360
|
+
// Codex ready match when the structural layout is unknown or visibly
|
|
3361
|
+
// busy. The settled debounce below remains the compatibility path for
|
|
3362
|
+
// drafts and older layouts that simply lack the new footer.
|
|
3363
|
+
//
|
|
3364
|
+
// ONLY while output is still recent. recordOutput sets working
|
|
3365
|
+
// unconditionally, and the safety sweep fires for every daemon on a
|
|
3366
|
+
// timer — so without this guard a Codex that had gone quiet was flipped
|
|
3367
|
+
// to working by the next sweep and could never come back, because a
|
|
3368
|
+
// quiet pane produces no further output to re-evaluate it. That state
|
|
3369
|
+
// holds the Cancel button open, disables auto-pause, and makes the hang
|
|
3370
|
+
// detector report a perfectly idle instance as stuck. A settled capture
|
|
3371
|
+
// has no recent output to defend and falls through to the legacy
|
|
3372
|
+
// ready/busy reading below.
|
|
3373
|
+
//
|
|
3374
|
+
// The `settled` guard alone is not enough for the case this whole
|
|
3375
|
+
// branch exists to serve. While the Astra star field keeps repainting,
|
|
3376
|
+
// output never stops arriving, so the capture is NEVER settled — and a
|
|
3377
|
+
// sweep landing on an already-idle animated pane flipped it to working
|
|
3378
|
+
// once a minute, then back an instant later once two probes re-proved
|
|
3379
|
+
// it. Each flicker is a spurious pair of state edges for the fleet and
|
|
3380
|
+
// resets the idleSince this daemon reports when it asks to auto-pause.
|
|
3381
|
+
//
|
|
3382
|
+
// So the same rule the output_probe branch already applies holds here:
|
|
3383
|
+
// cosmetic output must not manufacture an idle -> working edge. A pane
|
|
3384
|
+
// that is STRUCTURALLY idle and already known idle stays idle.
|
|
3385
|
+
//
|
|
3386
|
+
// It must be re-read as SETTLED to do that. Falling through to the
|
|
3387
|
+
// ordinary reading is not equivalent: that path is given the real
|
|
3388
|
+
// `settled` (false, because the animation is still painting), and an
|
|
3389
|
+
// unsettled capture of a CHANGED pane is working by definition — so a
|
|
3390
|
+
// sweep landing on a frame no probe had captured yet still flipped an
|
|
3391
|
+
// idle pane over. Treating this capture as settled is what lets the
|
|
3392
|
+
// ready/busy reading decide on the frame itself.
|
|
3393
|
+
const idlePane = structuredPeriodicIdle.call(this.backend, pane);
|
|
3394
|
+
if (idlePane && this.instanceState === "idle") {
|
|
3395
|
+
this.instanceStatePeriodicIdleConfirmations = 2;
|
|
3396
|
+
snapshot = this.instanceStateMachine.observe(pane, Date.now(), {
|
|
3397
|
+
settled: true,
|
|
3398
|
+
changeAt: observedChangeAt,
|
|
3399
|
+
});
|
|
3400
|
+
}
|
|
3401
|
+
else {
|
|
3402
|
+
this.instanceStatePeriodicIdleConfirmations = 0;
|
|
3403
|
+
snapshot = this.instanceStateMachine.recordOutput(observedChangeAt);
|
|
3404
|
+
}
|
|
3405
|
+
}
|
|
3406
|
+
else {
|
|
3407
|
+
// Structural proof is an additional working-stage escape hatch only.
|
|
3408
|
+
// Settled captures retain the legacy ready/busy semantics for drafts,
|
|
3409
|
+
// older Codex layouts, and panes without a Context footer.
|
|
3410
|
+
if (structuredPeriodicIdle && settled) {
|
|
3411
|
+
this.instanceStatePeriodicIdleConfirmations = 0;
|
|
3412
|
+
}
|
|
3413
|
+
snapshot = this.instanceStateMachine.observe(pane, Date.now(), {
|
|
3414
|
+
settled,
|
|
3415
|
+
changeAt: observedChangeAt,
|
|
3416
|
+
forceBusy: paneActivity !== null,
|
|
3417
|
+
});
|
|
3418
|
+
}
|
|
3327
3419
|
this.applyInstanceStateSnapshot(snapshot, pane);
|
|
3328
3420
|
// Backends without a transcript feed can still say what they are doing, if
|
|
3329
3421
|
// their TUI names it. Free-riding on a capture that already happened: no
|
|
@@ -3332,10 +3424,11 @@ export class Daemon extends EventEmitter {
|
|
|
3332
3424
|
if (this.backend?.getPaneActivity) {
|
|
3333
3425
|
this.publishActivity(snapshot.state === "idle" ? null : paneActivity);
|
|
3334
3426
|
}
|
|
3335
|
-
|
|
3427
|
+
const currentState = this.instanceState;
|
|
3428
|
+
if (currentState === "idle") {
|
|
3336
3429
|
this.clearInstanceStateStuckTimer();
|
|
3337
3430
|
}
|
|
3338
|
-
else if (
|
|
3431
|
+
else if (currentState === "working") {
|
|
3339
3432
|
// If control mode missed the pane change, the safety capture becomes
|
|
3340
3433
|
// the new progress timestamp and re-arms both deadlines.
|
|
3341
3434
|
if (!expectedOutputAt)
|
|
@@ -3357,11 +3450,17 @@ export class Daemon extends EventEmitter {
|
|
|
3357
3450
|
if (!windowId || event.windowId !== windowId || !this.instanceStateMachine)
|
|
3358
3451
|
return;
|
|
3359
3452
|
this.instanceStateLastOutputAt = event.at;
|
|
3360
|
-
|
|
3453
|
+
const canProvePeriodicIdle = !!this.backend?.isPeriodicRedrawIdlePane;
|
|
3454
|
+
if (canProvePeriodicIdle || (this.backend?.hasPeriodicPaneRedraw?.() === true && this.instanceState === "idle")) {
|
|
3361
3455
|
// Do not emit idle→working solely because agy repainted an identical
|
|
3362
|
-
// footer.
|
|
3363
|
-
//
|
|
3364
|
-
|
|
3456
|
+
// footer. Codex additionally uses a structural probe while working: two
|
|
3457
|
+
// positive prompt captures can recover from an animation stream that
|
|
3458
|
+
// never leaves a two-second quiet window.
|
|
3459
|
+
if (this.instanceState !== "idle") {
|
|
3460
|
+
this.applyInstanceStateSnapshot(this.instanceStateMachine.recordOutput(event.at));
|
|
3461
|
+
this.scheduleInstanceStateStuckDeadline(event.at);
|
|
3462
|
+
}
|
|
3463
|
+
this.scheduleInstanceStateOutputProbe(canProvePeriodicIdle ? STRUCTURED_IDLE_PROBE_MS : PERIODIC_REDRAW_PROBE_MS);
|
|
3365
3464
|
this.scheduleInstanceStateIdleCapture();
|
|
3366
3465
|
return;
|
|
3367
3466
|
}
|
|
@@ -3397,6 +3496,7 @@ export class Daemon extends EventEmitter {
|
|
|
3397
3496
|
this.instanceStateBusyPattern = this.backend.getBusyPattern?.() ?? null;
|
|
3398
3497
|
this.instanceStateMachine = new PaneStateMachine(this.instanceStateReadyPattern, this.instanceStateStuckTimeoutMs, Date.now(), this.instanceStateBusyPattern);
|
|
3399
3498
|
this.instanceStateLastOutputAt = 0;
|
|
3499
|
+
this.instanceStatePeriodicIdleConfirmations = 0;
|
|
3400
3500
|
this.instanceStateMonitorActive = true;
|
|
3401
3501
|
if (this.controlClient) {
|
|
3402
3502
|
this.instanceStateSafetyListener = () => { void this.captureAndEvaluateInstanceState("safety_sweep"); };
|
|
@@ -3414,6 +3514,7 @@ export class Daemon extends EventEmitter {
|
|
|
3414
3514
|
}
|
|
3415
3515
|
stopInstanceStateMonitor() {
|
|
3416
3516
|
this.instanceStateMonitorActive = false;
|
|
3517
|
+
this.instanceStatePeriodicIdleConfirmations = 0;
|
|
3417
3518
|
this.clearInstanceStateIdleTimer();
|
|
3418
3519
|
this.clearInstanceStateOutputProbeTimer();
|
|
3419
3520
|
this.clearInstanceStateStuckTimer();
|
|
@@ -4556,7 +4657,7 @@ export class Daemon extends EventEmitter {
|
|
|
4556
4657
|
return true;
|
|
4557
4658
|
if (this.controlClient.isIdle(windowId))
|
|
4558
4659
|
return true;
|
|
4559
|
-
if (this.
|
|
4660
|
+
if (!this.canTrustRedrawIdleState() || this.instanceState !== "idle")
|
|
4560
4661
|
return false;
|
|
4561
4662
|
const lastOutputAt = this.controlClient.getLastOutputAt(windowId);
|
|
4562
4663
|
if (lastOutputAt === undefined || !this.instanceStateMachine)
|
|
@@ -4568,7 +4669,7 @@ export class Daemon extends EventEmitter {
|
|
|
4568
4669
|
waitForPaneIdleForDelivery(windowId, timeoutMs = 30 * 60_000) {
|
|
4569
4670
|
if (!this.controlClient)
|
|
4570
4671
|
return Promise.resolve(true);
|
|
4571
|
-
if (this.
|
|
4672
|
+
if (!this.canTrustRedrawIdleState()) {
|
|
4572
4673
|
return this.controlClient.waitUntilIdle(windowId, timeoutMs);
|
|
4573
4674
|
}
|
|
4574
4675
|
if (this.isPaneIdleForDelivery(windowId))
|
|
@@ -4587,6 +4688,20 @@ export class Daemon extends EventEmitter {
|
|
|
4587
4688
|
}, timeoutMs);
|
|
4588
4689
|
});
|
|
4589
4690
|
}
|
|
4691
|
+
/**
|
|
4692
|
+
* Antigravity has always opted into pane-state delivery readiness because its
|
|
4693
|
+
* footer redraws while idle. Codex's structural idle proof is useful only
|
|
4694
|
+
* while the event-driven state monitor is actually running; without that
|
|
4695
|
+
* monitor there is no fresh proof to trust, so preserve the legacy
|
|
4696
|
+
* TmuxControlClient.waitUntilIdle fallback. This matters during isolated
|
|
4697
|
+
* startup/recovery paths as well as in tests: merely having a matcher must
|
|
4698
|
+
* never turn a missing observer into a 30-minute polling wait.
|
|
4699
|
+
*/
|
|
4700
|
+
canTrustRedrawIdleState() {
|
|
4701
|
+
if (this.backend?.hasPeriodicPaneRedraw?.() === true)
|
|
4702
|
+
return true;
|
|
4703
|
+
return this.instanceStateMonitorActive && !!this.backend?.isPeriodicRedrawIdlePane;
|
|
4704
|
+
}
|
|
4590
4705
|
/**
|
|
4591
4706
|
* The write half of a delivery: paste → Enter → confirm, with retries.
|
|
4592
4707
|
*
|