@sapiom/harness 0.8.5 → 0.8.6
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/CHANGELOG.md +13 -0
- package/dist/core/adapters/codex.d.ts +9 -15
- package/dist/core/adapters/codex.d.ts.map +1 -1
- package/dist/core/adapters/codex.js +77 -27
- package/dist/core/adapters/codex.js.map +1 -1
- package/dist/core/session-manager.d.ts +70 -31
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +285 -65
- package/dist/core/session-manager.js.map +1 -1
- package/dist/shared/types.d.ts +38 -22
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/web/assets/{index-BAW1BY7L.js → index-DWzHeT4k.js} +30 -30
- package/dist/web/index.html +1 -1
- package/package.json +2 -2
|
@@ -101,27 +101,43 @@ const KILL_ESCALATION_MS = 2000;
|
|
|
101
101
|
* to report the exit itself before synthesizing it from an OS-level check. */
|
|
102
102
|
const KILL_ESCALATION_CONFIRM_MS = 500;
|
|
103
103
|
/**
|
|
104
|
-
* See `isReadyEnough()
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
104
|
+
* See `isReadyEnough()` / `armReadyFallback()`: how long an immediate-
|
|
105
|
+
* fallback pty must be quiet after its latest content-bearing repaint before
|
|
106
|
+
* the readiness frame can be treated as stable. Anchoring this to the latest
|
|
107
|
+
* visible change (not process spawn) prevents an early banner from winning
|
|
108
|
+
* the race against a trust/login screen that renders a moment later.
|
|
108
109
|
*/
|
|
109
110
|
const READY_SETTLE_MS = 700;
|
|
110
|
-
/**
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
111
|
+
/**
|
|
112
|
+
* A content-animating TUI may never be quiet for READY_SETTLE_MS, and a
|
|
113
|
+
* malformed/incomplete synchronized-output frame may never close. Do not let
|
|
114
|
+
* either condition deadlock the first prompt forever: once this much time has
|
|
115
|
+
* elapsed since the first visible output, an immediate fallback may bypass
|
|
116
|
+
* the quiet/complete-frame requirement. Recognized blocking prompts still
|
|
117
|
+
* win, so this is a liveness ceiling, not a safety bypass.
|
|
118
|
+
*/
|
|
119
|
+
const READY_SETTLE_CEILING_MS = 5000;
|
|
120
|
+
/** Codex/Ratatui brackets each atomic terminal repaint in synchronized-output
|
|
121
|
+
* mode. Treat one such repaint as the readiness frame even when node-pty
|
|
122
|
+
* splits it across chunks. Pure cursor/style repaints are intentionally
|
|
123
|
+
* ignored — Codex emits them roughly every 80ms while sitting idle. */
|
|
124
|
+
const SYNC_OUTPUT_START = "\x1b[?2026h";
|
|
125
|
+
const SYNC_OUTPUT_END = "\x1b[?2026l";
|
|
126
|
+
/** See `isReadyEnough()` / `armReadyFallback()`: how much of the bounded
|
|
127
|
+
* recent-frame union to scan for a blocking prompt — not the full history a
|
|
128
|
+
* full-screen TUI never truly clears. Generous relative to one redraw frame
|
|
129
|
+
* (confirmed against a real capture: a single Codex trust-prompt frame is
|
|
130
|
+
* well under 2KB) without re-scanning unbounded history. */
|
|
115
131
|
const BLOCKING_PROMPT_SCAN_BYTES = 4096;
|
|
116
132
|
/**
|
|
117
|
-
* See `
|
|
133
|
+
* See `armReadyFallback()`: how long after spawn a `readyFallback:
|
|
118
134
|
* "hook-timeout"` harness may sit un-ready before the fallback flips it.
|
|
119
135
|
* Generous on purpose: a healthy SessionStart hook lands in 1–3s, so 20s
|
|
120
136
|
* only ever fires when the hook chain is genuinely broken (the Windows
|
|
121
137
|
* node-resolution failure this exists for) — never racing a working hook.
|
|
122
138
|
*/
|
|
123
139
|
const HOOK_READY_FALLBACK_MS = 20000;
|
|
124
|
-
/** Poll cadence for `
|
|
140
|
+
/** Poll cadence for `armReadyFallback()`'s hook-timeout mode — coarse; nothing user-visible
|
|
125
141
|
* rides on sub-second precision 20s after spawn. */
|
|
126
142
|
const HOOK_READY_POLL_MS = 1000;
|
|
127
143
|
/**
|
|
@@ -708,6 +724,93 @@ export class SessionManager {
|
|
|
708
724
|
this.lastActivityBroadcast.set(id, now);
|
|
709
725
|
this.activityEmitter.emit("activity", id);
|
|
710
726
|
}
|
|
727
|
+
/**
|
|
728
|
+
* Maintain a readiness-only view of terminal output. Codex's Ratatui loop
|
|
729
|
+
* emits a ~500-byte cursor/erase repaint every 80ms even when the visible
|
|
730
|
+
* screen is unchanged. Counting those chunks as startup progress both
|
|
731
|
+
* prevents the 700ms settle window from ever completing and pushes a real
|
|
732
|
+
* sign-in/trust prompt out of the raw 4KB tail. Synchronized-output markers
|
|
733
|
+
* give us an atomic repaint boundary: retain the latest repaint containing
|
|
734
|
+
* visible text, keep a bounded union for diff-rendered blocking prompts,
|
|
735
|
+
* and ignore control-only frames. Non-Ratatui adapters fall back to an
|
|
736
|
+
* ordinary rolling buffer.
|
|
737
|
+
*/
|
|
738
|
+
recordReadinessOutput(handle, chunk, adapter) {
|
|
739
|
+
let rest = handle.pendingReadinessPrefix + chunk;
|
|
740
|
+
handle.pendingReadinessPrefix = "";
|
|
741
|
+
while (rest.length > 0) {
|
|
742
|
+
if (handle.pendingReadinessFrame !== null) {
|
|
743
|
+
// Search the combined stream so an end marker split across two
|
|
744
|
+
// node-pty chunks still closes the repaint.
|
|
745
|
+
const combined = handle.pendingReadinessFrame + rest;
|
|
746
|
+
const end = combined.indexOf(SYNC_OUTPUT_END);
|
|
747
|
+
if (end === -1) {
|
|
748
|
+
handle.pendingReadinessFrame = combined.slice(-SCROLLBACK_BYTES);
|
|
749
|
+
if (!handle.pendingReadinessFrameHasContent &&
|
|
750
|
+
this.hasVisibleReadinessContent(handle.pendingReadinessFrame)) {
|
|
751
|
+
handle.pendingReadinessFrameHasContent = true;
|
|
752
|
+
this.noteReadinessContent(handle);
|
|
753
|
+
}
|
|
754
|
+
return;
|
|
755
|
+
}
|
|
756
|
+
const throughEnd = end + SYNC_OUTPUT_END.length;
|
|
757
|
+
const frame = combined.slice(0, throughEnd);
|
|
758
|
+
handle.pendingReadinessFrame = null;
|
|
759
|
+
handle.pendingReadinessFrameHasContent = false;
|
|
760
|
+
this.commitReadinessOutput(handle, frame, true, adapter);
|
|
761
|
+
rest = combined.slice(throughEnd);
|
|
762
|
+
continue;
|
|
763
|
+
}
|
|
764
|
+
const start = rest.indexOf(SYNC_OUTPUT_START);
|
|
765
|
+
if (start === -1) {
|
|
766
|
+
// Retain only a suffix that could become a start marker when the next
|
|
767
|
+
// chunk arrives. Everything before it is ordinary unsynchronized
|
|
768
|
+
// output and can be committed now.
|
|
769
|
+
let prefixLength = Math.min(SYNC_OUTPUT_START.length - 1, rest.length);
|
|
770
|
+
while (prefixLength > 0 && !SYNC_OUTPUT_START.startsWith(rest.slice(-prefixLength))) {
|
|
771
|
+
prefixLength -= 1;
|
|
772
|
+
}
|
|
773
|
+
const outputEnd = rest.length - prefixLength;
|
|
774
|
+
this.commitReadinessOutput(handle, rest.slice(0, outputEnd), false, adapter);
|
|
775
|
+
handle.pendingReadinessPrefix = rest.slice(outputEnd);
|
|
776
|
+
return;
|
|
777
|
+
}
|
|
778
|
+
this.commitReadinessOutput(handle, rest.slice(0, start), false, adapter);
|
|
779
|
+
handle.pendingReadinessFrame = SYNC_OUTPUT_START;
|
|
780
|
+
handle.pendingReadinessFrameHasContent = false;
|
|
781
|
+
rest = rest.slice(start + SYNC_OUTPUT_START.length);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
hasVisibleReadinessContent(output) {
|
|
785
|
+
// stripAnsi intentionally targets common display escapes and leaves a few
|
|
786
|
+
// private CSI controls (for example ESC[>4;0m). Remove those first so a
|
|
787
|
+
// protocol negotiation cannot count as visible TUI content.
|
|
788
|
+
/* eslint-disable no-control-regex -- readiness parsing must match literal
|
|
789
|
+
* ESC/BEL control bytes emitted by the pty. */
|
|
790
|
+
const rendered = stripAnsi(output.replace(/\x1b\[[?>][0-9;]*[ -/]*[@-~]/g, ""))
|
|
791
|
+
// An atomic repaint can be split in the middle of a CSI/OSC sequence.
|
|
792
|
+
// Do not treat the printable parameter bytes in that unfinished suffix
|
|
793
|
+
// as visible content before the next pty chunk completes it.
|
|
794
|
+
.replace(/\x1b\[[0-?]*[ -/]*$/u, "")
|
|
795
|
+
.replace(/\x1b\][^\x07]*$/u, "")
|
|
796
|
+
.replace(/\x1b[()>=]?$/u, "");
|
|
797
|
+
const hasVisibleContent = /[^\s\x00-\x1f\x7f]/u.test(rendered);
|
|
798
|
+
/* eslint-enable no-control-regex */
|
|
799
|
+
return hasVisibleContent;
|
|
800
|
+
}
|
|
801
|
+
noteReadinessContent(handle) {
|
|
802
|
+
const now = Date.now();
|
|
803
|
+
handle.readinessCandidateAt ?? (handle.readinessCandidateAt = now);
|
|
804
|
+
handle.lastOutputAt = now;
|
|
805
|
+
}
|
|
806
|
+
commitReadinessOutput(handle, output, replace, adapter) {
|
|
807
|
+
if (!this.hasVisibleReadinessContent(output))
|
|
808
|
+
return;
|
|
809
|
+
this.noteReadinessContent(handle);
|
|
810
|
+
handle.readinessBuffer = (replace ? output : handle.readinessBuffer + output).slice(-SCROLLBACK_BYTES);
|
|
811
|
+
handle.readinessHistory = `${handle.readinessHistory}\n${output}`.slice(-BLOCKING_PROMPT_SCAN_BYTES);
|
|
812
|
+
this.refreshImmediatePromptState(adapter, handle);
|
|
813
|
+
}
|
|
711
814
|
setAgentSessionId(id, agentSessionId) {
|
|
712
815
|
const session = this.sessions.get(id);
|
|
713
816
|
if (!session || session.agentSessionId === agentSessionId)
|
|
@@ -718,10 +821,10 @@ export class SessionManager {
|
|
|
718
821
|
}
|
|
719
822
|
/**
|
|
720
823
|
* Marks a session's TUI as genuinely interactive — see `HarnessSession.ready`.
|
|
721
|
-
* Called from the ingest pipeline when a SessionStart(-equivalent)
|
|
722
|
-
* is processed for this session (real hook for Claude Code, tailer-
|
|
723
|
-
* translated for Codex)
|
|
724
|
-
* ready is a silent no-op.
|
|
824
|
+
* Called either from the ingest pipeline when a SessionStart(-equivalent)
|
|
825
|
+
* event is processed for this session (real hook for Claude Code, tailer-
|
|
826
|
+
* translated for Codex), or from an adapter-declared readiness fallback.
|
|
827
|
+
* Idempotent; a session that's exited or already ready is a silent no-op.
|
|
725
828
|
*/
|
|
726
829
|
setReady(id) {
|
|
727
830
|
const session = this.sessions.get(id);
|
|
@@ -733,21 +836,27 @@ export class SessionManager {
|
|
|
733
836
|
}
|
|
734
837
|
/**
|
|
735
838
|
* Whether `id` should be treated as ready to receive programmatic input
|
|
736
|
-
* right now
|
|
737
|
-
*
|
|
738
|
-
*
|
|
739
|
-
*
|
|
740
|
-
*
|
|
741
|
-
*
|
|
742
|
-
*
|
|
743
|
-
*
|
|
744
|
-
* standalone, and a scrollback guess would just reopen the exact race
|
|
745
|
-
* this mechanism exists to close.
|
|
839
|
+
* right now. A real/fallback `session.ready` signal normally suffices; an
|
|
840
|
+
* immediate-fallback adapter gets one last recognized-blocker scan because
|
|
841
|
+
* readiness is latched while its TUI can still paint a late onboarding
|
|
842
|
+
* frame. Before readiness, immediate and legacy detect-only adapters require
|
|
843
|
+
* at least `READY_SETTLE_MS` of quiet output (or the bounded liveness
|
|
844
|
+
* ceiling) and a clean recent-screen view. Claude Code has no immediate
|
|
845
|
+
* shortcut — its SessionStart hook (or preserved 20-second hook-timeout
|
|
846
|
+
* path) controls readiness.
|
|
746
847
|
*/
|
|
747
848
|
isReadyEnough(session, handle) {
|
|
748
|
-
if (session.ready)
|
|
749
|
-
return true;
|
|
750
849
|
const adapter = this.adapters[session.harness];
|
|
850
|
+
// `ready` is intentionally latched for persistence and status broadcasts,
|
|
851
|
+
// but an immediate-fallback harness can still paint a late onboarding
|
|
852
|
+
// screen after readiness was inferred. Recheck its latest frame before
|
|
853
|
+
// every programmatic write; raw terminal input remains ungated so the user
|
|
854
|
+
// can answer the screen. Real-signal/hook-timeout adapters keep their
|
|
855
|
+
// existing ready semantics unchanged.
|
|
856
|
+
if (session.ready) {
|
|
857
|
+
return (adapter?.readyFallback !== "immediate" ||
|
|
858
|
+
!this.hasCurrentBlockingPrompt(adapter, handle));
|
|
859
|
+
}
|
|
751
860
|
// Gated on the DECLARED fallback mode, not on detectBlockingPrompt's mere
|
|
752
861
|
// presence: claude-code now implements detectBlockingPrompt too (for the
|
|
753
862
|
// hook-timeout fallback armed in spawn()), and giving it this immediate
|
|
@@ -760,19 +869,92 @@ export class SessionManager {
|
|
|
760
869
|
// contract it used to imply.
|
|
761
870
|
if (!adapter?.detectBlockingPrompt)
|
|
762
871
|
return false;
|
|
763
|
-
if (adapter.readyFallback !== undefined &&
|
|
872
|
+
if (adapter.readyFallback !== undefined &&
|
|
873
|
+
adapter.readyFallback !== "immediate")
|
|
764
874
|
return false;
|
|
765
|
-
if (
|
|
875
|
+
if (adapter.readyFallback === "immediate") {
|
|
876
|
+
if (!this.isImmediateFallbackSettled(handle))
|
|
877
|
+
return false;
|
|
878
|
+
return !this.hasImmediateBlockingPrompt(adapter, handle);
|
|
879
|
+
}
|
|
880
|
+
if (handle.lastOutputAt === null ||
|
|
881
|
+
Date.now() - handle.lastOutputAt < READY_SETTLE_MS)
|
|
882
|
+
return false;
|
|
883
|
+
return !this.hasRetainedBlockingPrompt(adapter, handle);
|
|
884
|
+
}
|
|
885
|
+
isImmediateFallbackSettled(handle) {
|
|
886
|
+
if (handle.readinessCandidateAt === null || handle.lastOutputAt === null)
|
|
766
887
|
return false;
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
888
|
+
const now = Date.now();
|
|
889
|
+
const hitCeiling = now - handle.readinessCandidateAt >= READY_SETTLE_CEILING_MS;
|
|
890
|
+
const completedFrameSettled = handle.pendingReadinessFrame === null &&
|
|
891
|
+
now - handle.lastOutputAt >= READY_SETTLE_MS;
|
|
892
|
+
return hitCeiling || completedFrameSettled;
|
|
893
|
+
}
|
|
894
|
+
/** The best available current frame, excluding older diff repaint history.
|
|
895
|
+
* Used after readiness has latched so ordinary agent output that quotes old
|
|
896
|
+
* onboarding copy cannot permanently gate later writes. */
|
|
897
|
+
currentReadinessOutput(handle) {
|
|
898
|
+
const output = handle.pendingReadinessFrame ??
|
|
899
|
+
handle.readinessBuffer + handle.pendingReadinessPrefix;
|
|
900
|
+
return output.slice(-BLOCKING_PROMPT_SCAN_BYTES);
|
|
901
|
+
}
|
|
902
|
+
/** A bounded union of recent diff repaints, including an unfinished current
|
|
903
|
+
* repaint. This is intentionally only used before immediate readiness. */
|
|
904
|
+
recentReadinessOutput(handle) {
|
|
905
|
+
const pending = handle.pendingReadinessFrame ?? handle.pendingReadinessPrefix;
|
|
906
|
+
return `${handle.readinessHistory}\n${pending}`.slice(-BLOCKING_PROMPT_SCAN_BYTES);
|
|
907
|
+
}
|
|
908
|
+
/** Preserve a recognized blocker across Ratatui's partial row repaints. The
|
|
909
|
+
* latch is cleared only by a positive empty-composer match in a clean current
|
|
910
|
+
* frame; merely failing to re-render every phrase is not evidence that the
|
|
911
|
+
* screen was dismissed. */
|
|
912
|
+
refreshImmediatePromptState(adapter, handle) {
|
|
913
|
+
if (adapter.readyFallback !== "immediate" ||
|
|
914
|
+
!adapter.detectBlockingPrompt ||
|
|
915
|
+
!adapter.detectReadyPrompt) {
|
|
916
|
+
return;
|
|
917
|
+
}
|
|
918
|
+
const current = this.currentReadinessOutput(handle);
|
|
919
|
+
const recent = this.recentReadinessOutput(handle);
|
|
920
|
+
if (adapter.detectBlockingPrompt(recent))
|
|
921
|
+
handle.blockingPromptSeen = true;
|
|
922
|
+
if (!handle.blockingPromptSeen)
|
|
923
|
+
return;
|
|
924
|
+
// The ceiling applies only to a continuously non-blocking candidate. If a
|
|
925
|
+
// user leaves onboarding open for a minute, that elapsed minute must not
|
|
926
|
+
// make the first clean repaint after dismissal ready immediately.
|
|
927
|
+
handle.readinessCandidateAt = null;
|
|
928
|
+
if (adapter.detectReadyPrompt(current) &&
|
|
929
|
+
!adapter.detectBlockingPrompt(current)) {
|
|
930
|
+
handle.blockingPromptSeen = false;
|
|
931
|
+
handle.readinessCandidateAt = handle.lastOutputAt ?? Date.now();
|
|
932
|
+
// Once the real composer is visible, older onboarding frames are no
|
|
933
|
+
// longer part of the current screen and must not be re-latched later.
|
|
934
|
+
handle.readinessHistory = current;
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
hasImmediateBlockingPrompt(adapter, handle) {
|
|
938
|
+
if (!adapter.detectReadyPrompt) {
|
|
939
|
+
const blocked = this.hasRetainedBlockingPrompt(adapter, handle);
|
|
940
|
+
if (blocked)
|
|
941
|
+
handle.readinessCandidateAt = null;
|
|
942
|
+
return blocked;
|
|
943
|
+
}
|
|
944
|
+
this.refreshImmediatePromptState(adapter, handle);
|
|
945
|
+
return handle.blockingPromptSeen;
|
|
946
|
+
}
|
|
947
|
+
/** The original readiness-buffer check retained for Claude's hook-timeout
|
|
948
|
+
* and legacy detect-only adapters. Their fallback semantics must not change
|
|
949
|
+
* merely because Codex needs partial-frame reconstruction. */
|
|
950
|
+
hasRetainedBlockingPrompt(adapter, handle) {
|
|
951
|
+
return (adapter.detectBlockingPrompt?.(handle.readinessBuffer.slice(-BLOCKING_PROMPT_SCAN_BYTES)) ?? false);
|
|
952
|
+
}
|
|
953
|
+
/** Scan only the best available current frame; dismissed full-screen prompts
|
|
954
|
+
* remain in older scrollback forever and must not block already-ready input. */
|
|
955
|
+
hasCurrentBlockingPrompt(adapter, handle) {
|
|
956
|
+
return (adapter.detectBlockingPrompt?.(this.currentReadinessOutput(handle)) ??
|
|
957
|
+
false);
|
|
776
958
|
}
|
|
777
959
|
/**
|
|
778
960
|
* Polls `isReadyEnough` until it's true, the session's pty goes away
|
|
@@ -822,6 +1004,7 @@ export class SessionManager {
|
|
|
822
1004
|
this.emitStatus(session);
|
|
823
1005
|
}
|
|
824
1006
|
async spawn(session, spec) {
|
|
1007
|
+
const adapter = this.getAdapter(session.harness);
|
|
825
1008
|
const spawnFn = this.spawnPty ?? (await loadDefaultSpawn());
|
|
826
1009
|
const env = {};
|
|
827
1010
|
for (const [key, value] of Object.entries(process.env)) {
|
|
@@ -877,8 +1060,16 @@ export class SessionManager {
|
|
|
877
1060
|
const handle = {
|
|
878
1061
|
pty,
|
|
879
1062
|
buffer: "",
|
|
1063
|
+
readinessBuffer: "",
|
|
1064
|
+
readinessHistory: "",
|
|
1065
|
+
blockingPromptSeen: false,
|
|
1066
|
+
pendingReadinessPrefix: "",
|
|
1067
|
+
pendingReadinessFrame: null,
|
|
1068
|
+
pendingReadinessFrameHasContent: false,
|
|
880
1069
|
emitter,
|
|
881
1070
|
spawnedAt: Date.now(),
|
|
1071
|
+
readinessCandidateAt: null,
|
|
1072
|
+
lastOutputAt: null,
|
|
882
1073
|
bracketedPaste: initialBracketedPasteState,
|
|
883
1074
|
exited,
|
|
884
1075
|
resolveExited,
|
|
@@ -896,39 +1087,54 @@ export class SessionManager {
|
|
|
896
1087
|
pty.onData((chunk) => {
|
|
897
1088
|
handle.bracketedPaste = trackBracketedPaste(handle.bracketedPaste, chunk);
|
|
898
1089
|
handle.buffer = (handle.buffer + chunk).slice(-SCROLLBACK_BYTES);
|
|
1090
|
+
this.recordReadinessOutput(handle, chunk, adapter);
|
|
899
1091
|
handle.emitter.emit("data", chunk);
|
|
900
1092
|
this.recordActivity(session.id);
|
|
901
1093
|
});
|
|
902
1094
|
pty.onExit(({ exitCode }) => this.markExited(session.id, handle, exitCode));
|
|
903
|
-
this.
|
|
1095
|
+
this.armReadyFallback(session.id, handle);
|
|
904
1096
|
}
|
|
905
1097
|
/**
|
|
906
|
-
*
|
|
907
|
-
*
|
|
908
|
-
*
|
|
909
|
-
*
|
|
910
|
-
* Bash resolves no `.cmd`, so a machine whose only node is a .cmd shim runs
|
|
911
|
-
* zero hooks) the session looked fine in the terminal while every held
|
|
912
|
-
* prompt was silently dropped after the SPA's timeout.
|
|
1098
|
+
* Publishes adapter-declared fallback readiness so the SPA's held first
|
|
1099
|
+
* prompt can be released even when the harness's real lifecycle signal
|
|
1100
|
+
* cannot arrive yet (Codex) or never arrived (Claude Code with a broken
|
|
1101
|
+
* SessionStart hook).
|
|
913
1102
|
*
|
|
914
|
-
*
|
|
915
|
-
* - fires no earlier than HOOK_READY_FALLBACK_MS after spawn — a healthy
|
|
916
|
-
* hook (1–3s) always wins the race, so behaviour only changes on
|
|
917
|
-
* machines where the hook is already broken;
|
|
1103
|
+
* Both modes are conservative on purpose:
|
|
918
1104
|
* - requires SOME output — a pty that hasn't drawn anything yet isn't an
|
|
919
|
-
* interactive TUI
|
|
920
|
-
* - keeps waiting while
|
|
921
|
-
*
|
|
922
|
-
* can never answer a dialog the user hasn't seen — once the user
|
|
923
|
-
* dismisses it, the next poll flips ready;
|
|
1105
|
+
* interactive TUI, it's still starting;
|
|
1106
|
+
* - keeps waiting while an adapter-recognized blocking prompt is on screen,
|
|
1107
|
+
* so known trust/login/setup screens are not answered by injected input;
|
|
924
1108
|
* - dies with the handle (exit clears the interval; a replaced handle is
|
|
925
1109
|
* detected via the ptys map, same idempotency rule as markExited()).
|
|
1110
|
+
*
|
|
1111
|
+
* `"immediate"` (Codex) reuses the same quiet-window/ceiling and frame rule
|
|
1112
|
+
* as `isReadyEnough()`, but proactively calls `setReady()` once output is
|
|
1113
|
+
* stable or reaches the bounded liveness ceiling. That status event closes
|
|
1114
|
+
* the first-prompt deadlock:
|
|
1115
|
+
* Codex writes no rollout/session_meta before turn one, while the SPA waits
|
|
1116
|
+
* for `ready` before submitting turn one. Only an EXPLICIT declaration arms
|
|
1117
|
+
* this persistent state transition; detect-only legacy adapters retain their
|
|
1118
|
+
* request-time `isReadyEnough()` compatibility path without being promoted.
|
|
1119
|
+
*
|
|
1120
|
+
* `"hook-timeout"` (Claude Code) retains its generous 20s delay: a healthy
|
|
1121
|
+
* hook (1–3s) always wins the race, so behaviour only changes on machines
|
|
1122
|
+
* where the hook is already broken.
|
|
926
1123
|
*/
|
|
927
|
-
|
|
1124
|
+
armReadyFallback(id, handle) {
|
|
928
1125
|
const session = this.sessions.get(id);
|
|
929
1126
|
const adapter = session ? this.adapters[session.harness] : undefined;
|
|
930
|
-
if (adapter
|
|
1127
|
+
if (!adapter)
|
|
1128
|
+
return;
|
|
1129
|
+
const mode = adapter.readyFallback;
|
|
1130
|
+
if (mode !== "immediate" && mode !== "hook-timeout")
|
|
1131
|
+
return;
|
|
1132
|
+
// An immediate promotion is only safe when the adapter can positively
|
|
1133
|
+
// exclude its own known blocking screens. Hook-timeout preserves its
|
|
1134
|
+
// existing optional-detector behaviour for third-party adapters.
|
|
1135
|
+
if (mode === "immediate" && !adapter.detectBlockingPrompt)
|
|
931
1136
|
return;
|
|
1137
|
+
const pollMs = mode === "immediate" ? READY_POLL_MS : HOOK_READY_POLL_MS;
|
|
932
1138
|
const poll = setInterval(() => {
|
|
933
1139
|
const current = this.sessions.get(id);
|
|
934
1140
|
if (!current || this.ptys.get(id) !== handle || current.status !== "running") {
|
|
@@ -939,17 +1145,31 @@ export class SessionManager {
|
|
|
939
1145
|
clearInterval(poll);
|
|
940
1146
|
return;
|
|
941
1147
|
}
|
|
942
|
-
if (
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
1148
|
+
if (mode === "immediate") {
|
|
1149
|
+
if (!this.isImmediateFallbackSettled(handle))
|
|
1150
|
+
return;
|
|
1151
|
+
}
|
|
1152
|
+
else {
|
|
1153
|
+
// Preserve Claude's original fallback contract exactly: 20 seconds
|
|
1154
|
+
// from spawn and at least one output byte, without a quiet-window
|
|
1155
|
+
// requirement layered on top.
|
|
1156
|
+
if (Date.now() - handle.spawnedAt < HOOK_READY_FALLBACK_MS)
|
|
1157
|
+
return;
|
|
1158
|
+
if (!handle.buffer)
|
|
1159
|
+
return;
|
|
1160
|
+
}
|
|
1161
|
+
const hasBlockingPrompt = mode === "immediate"
|
|
1162
|
+
? this.hasImmediateBlockingPrompt(adapter, handle)
|
|
1163
|
+
: this.hasRetainedBlockingPrompt(adapter, handle);
|
|
1164
|
+
if (hasBlockingPrompt)
|
|
947
1165
|
return;
|
|
948
1166
|
clearInterval(poll);
|
|
949
|
-
|
|
950
|
-
`
|
|
1167
|
+
if (mode === "hook-timeout") {
|
|
1168
|
+
console.warn(`[harness] session ${id}: SessionStart hook never reached /ingest after ${HOOK_READY_FALLBACK_MS / 1000}s — marking ready by fallback. The hook command may be failing on this machine ` +
|
|
1169
|
+
`(is \`node\` resolvable from the agent's hook shell?).`);
|
|
1170
|
+
}
|
|
951
1171
|
this.setReady(id);
|
|
952
|
-
},
|
|
1172
|
+
}, pollMs);
|
|
953
1173
|
// Never the reason the process stays alive; tests with fake timers and
|
|
954
1174
|
// the real server both tear down via the exited hook below anyway.
|
|
955
1175
|
poll.unref?.();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
|