instar 1.3.180 → 1.3.182
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +18 -22
- package/dist/commands/server.js.map +1 -1
- package/dist/core/SessionManager.d.ts +63 -3
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +90 -6
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/StuckInputSentinel.d.ts.map +1 -1
- package/dist/core/StuckInputSentinel.js +35 -6
- package/dist/core/StuckInputSentinel.js.map +1 -1
- package/dist/core/TelegramRelay.d.ts +52 -0
- package/dist/core/TelegramRelay.d.ts.map +1 -0
- package/dist/core/TelegramRelay.js +80 -0
- package/dist/core/TelegramRelay.js.map +1 -0
- package/dist/feedback-factory/dryrun/dryRunCompare.d.ts +1 -0
- package/dist/feedback-factory/dryrun/dryRunCompare.d.ts.map +1 -1
- package/dist/feedback-factory/dryrun/dryRunCompare.js +1 -0
- package/dist/feedback-factory/dryrun/dryRunCompare.js.map +1 -1
- package/dist/feedback-factory/processor/parity.d.ts +16 -0
- package/dist/feedback-factory/processor/parity.d.ts.map +1 -1
- package/dist/feedback-factory/processor/parity.js +6 -0
- package/dist/feedback-factory/processor/parity.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +7 -2
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +47 -47
- package/upgrades/1.3.180.md +58 -45
- package/upgrades/1.3.181.md +45 -0
- package/upgrades/1.3.182.md +59 -0
- package/upgrades/side-effects/codex-stranded-draft-recovery.md +90 -0
- package/upgrades/side-effects/telegram-relay-timeout-observability.md +37 -0
|
@@ -64,6 +64,31 @@ export declare class SessionManager extends EventEmitter {
|
|
|
64
64
|
private registryPath;
|
|
65
65
|
/** Track when each session was first seen idle at the Claude prompt. Key = session ID */
|
|
66
66
|
private idlePromptSince;
|
|
67
|
+
/**
|
|
68
|
+
* Per-session marker of the most-recently injected message that has NOT yet
|
|
69
|
+
* been confirmed submitted. Keyed by tmuxSession. Used by StuckInputSentinel
|
|
70
|
+
* to recover messages that stranded at the input prompt.
|
|
71
|
+
*
|
|
72
|
+
* Why this exists for codex specifically: Claude Code's readline QUEUES input
|
|
73
|
+
* typed while a turn is in flight and auto-submits it when the turn ends, so a
|
|
74
|
+
* busy-delivery is self-healing. Codex's TUI does NOT — a message typed while
|
|
75
|
+
* codex is "Working" is held as an unsubmitted DRAFT and never auto-submits
|
|
76
|
+
* when the turn ends (live repro 2026-05-31: a user message sat stranded for
|
|
77
|
+
* 3h on a busy 37-min codex turn). The in-process verifyInjection timers only
|
|
78
|
+
* poll for 6.5s — far short of a multi-minute codex turn — and the generic
|
|
79
|
+
* StuckInputSentinel prompt-text reader can't tell a real codex draft from the
|
|
80
|
+
* dim placeholder hint codex renders at an EMPTY `›` prompt. A marker (the
|
|
81
|
+
* actual injected text) is the robust, placeholder-immune tell: the codex
|
|
82
|
+
* placeholder never equals what we injected. The sentinel matches this marker
|
|
83
|
+
* at the `›` prompt and fires Enter once codex goes idle. Cleared on confirmed
|
|
84
|
+
* submit (verifyInjection / sentinel) and GC'd for dead sessions.
|
|
85
|
+
*
|
|
86
|
+
* Distinct from `pendingInjections` (response-verification: did the session die
|
|
87
|
+
* before replying?) — that map is cleared the moment the session produces ANY
|
|
88
|
+
* output, which for a busy codex session happens while the draft is still
|
|
89
|
+
* stranded. This map clears only when the marker actually leaves the prompt,
|
|
90
|
+
* so it survives a long busy turn. */
|
|
91
|
+
private strandedDraftMarkers;
|
|
67
92
|
/** Throttle stale session cleanup to every 5 minutes */
|
|
68
93
|
private lastCleanupAt;
|
|
69
94
|
/** Optional callback to check if a session has active subagents (prevents false zombie kills) */
|
|
@@ -695,14 +720,49 @@ export declare class SessionManager extends EventEmitter {
|
|
|
695
720
|
*/
|
|
696
721
|
private verifyInjection;
|
|
697
722
|
/**
|
|
698
|
-
* Detect whether a marker snippet of injected text is still sitting at
|
|
699
|
-
*
|
|
700
|
-
* line as
|
|
723
|
+
* Detect whether a marker snippet of injected text is still sitting at an
|
|
724
|
+
* input prompt line in the captured pane. Matches the marker on the same
|
|
725
|
+
* line as the prompt char or on the immediately-following line (TUIs wrap
|
|
701
726
|
* long input across two visible rows).
|
|
702
727
|
*
|
|
728
|
+
* Recognises BOTH framework prompt chars: Claude Code's `❯` and codex's `›`
|
|
729
|
+
* (U+203A). Marker-based detection is deliberate for codex — codex renders a
|
|
730
|
+
* dim placeholder hint (e.g. "Explain this codebase") at an EMPTY `›` prompt
|
|
731
|
+
* that is byte-identical to real input once color is stripped, so reading the
|
|
732
|
+
* prompt text generically would false-fire on every idle codex session. The
|
|
733
|
+
* injected marker never equals the placeholder, so matching it is robust.
|
|
734
|
+
*
|
|
703
735
|
* Exposed as a method so StuckInputSentinel and tests can reuse it.
|
|
704
736
|
*/
|
|
705
737
|
isMarkerStuckAtPrompt(pane: string, marker: string): boolean;
|
|
738
|
+
/**
|
|
739
|
+
* Extract the distinguishing first-40-chars marker from injected text, the
|
|
740
|
+
* same way verifyInjection and the pending-injection map do. Returns null if
|
|
741
|
+
* the text is too short to be a reliable marker (<8 visible chars). Shared so
|
|
742
|
+
* the recorded marker and the verification marker can never drift apart.
|
|
743
|
+
*/
|
|
744
|
+
static extractInjectionMarker(injectedText: string): string | null;
|
|
745
|
+
/**
|
|
746
|
+
* Record that `text` was just injected into `tmuxSession` and has not yet been
|
|
747
|
+
* confirmed submitted. Only the latest injection per session is tracked
|
|
748
|
+
* (a newer message supersedes an older stuck one). No-op when the marker is
|
|
749
|
+
* too short to track reliably. See the strandedDraftMarkers field for why this
|
|
750
|
+
* primarily matters for codex sessions. */
|
|
751
|
+
recordStrandedDraftMarker(tmuxSession: string, text: string, framework: string): void;
|
|
752
|
+
/** Read the stranded-draft marker record for a session (or undefined). Used by
|
|
753
|
+
* StuckInputSentinel to do marker-based recovery for codex sessions. */
|
|
754
|
+
getStrandedDraftMarker(tmuxSession: string): {
|
|
755
|
+
marker: string;
|
|
756
|
+
framework: string;
|
|
757
|
+
injectedAt: number;
|
|
758
|
+
} | undefined;
|
|
759
|
+
/** Clear the stranded-draft marker for a session — called once the marker is
|
|
760
|
+
* no longer stuck at the prompt (confirmed submitted) or the session is
|
|
761
|
+
* gone. */
|
|
762
|
+
clearStrandedDraftMarker(tmuxSession: string): void;
|
|
763
|
+
/** All tmux sessions with a stranded-draft marker. Used by the sentinel to GC
|
|
764
|
+
* records for sessions that are no longer running. */
|
|
765
|
+
strandedDraftMarkerSessions(): string[];
|
|
706
766
|
/**
|
|
707
767
|
* Fire one recovery action for a stuck input. Escalates the action by
|
|
708
768
|
* attempt index — early attempts use plain Enter, later attempts use
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../src/core/SessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,6 +108,31 @@ export class SessionManager extends EventEmitter {
|
|
|
108
108
|
registryPath = null;
|
|
109
109
|
/** Track when each session was first seen idle at the Claude prompt. Key = session ID */
|
|
110
110
|
idlePromptSince = new Map();
|
|
111
|
+
/**
|
|
112
|
+
* Per-session marker of the most-recently injected message that has NOT yet
|
|
113
|
+
* been confirmed submitted. Keyed by tmuxSession. Used by StuckInputSentinel
|
|
114
|
+
* to recover messages that stranded at the input prompt.
|
|
115
|
+
*
|
|
116
|
+
* Why this exists for codex specifically: Claude Code's readline QUEUES input
|
|
117
|
+
* typed while a turn is in flight and auto-submits it when the turn ends, so a
|
|
118
|
+
* busy-delivery is self-healing. Codex's TUI does NOT — a message typed while
|
|
119
|
+
* codex is "Working" is held as an unsubmitted DRAFT and never auto-submits
|
|
120
|
+
* when the turn ends (live repro 2026-05-31: a user message sat stranded for
|
|
121
|
+
* 3h on a busy 37-min codex turn). The in-process verifyInjection timers only
|
|
122
|
+
* poll for 6.5s — far short of a multi-minute codex turn — and the generic
|
|
123
|
+
* StuckInputSentinel prompt-text reader can't tell a real codex draft from the
|
|
124
|
+
* dim placeholder hint codex renders at an EMPTY `›` prompt. A marker (the
|
|
125
|
+
* actual injected text) is the robust, placeholder-immune tell: the codex
|
|
126
|
+
* placeholder never equals what we injected. The sentinel matches this marker
|
|
127
|
+
* at the `›` prompt and fires Enter once codex goes idle. Cleared on confirmed
|
|
128
|
+
* submit (verifyInjection / sentinel) and GC'd for dead sessions.
|
|
129
|
+
*
|
|
130
|
+
* Distinct from `pendingInjections` (response-verification: did the session die
|
|
131
|
+
* before replying?) — that map is cleared the moment the session produces ANY
|
|
132
|
+
* output, which for a busy codex session happens while the draft is still
|
|
133
|
+
* stranded. This map clears only when the marker actually leaves the prompt,
|
|
134
|
+
* so it survives a long busy turn. */
|
|
135
|
+
strandedDraftMarkers = new Map();
|
|
111
136
|
/** Throttle stale session cleanup to every 5 minutes */
|
|
112
137
|
lastCleanupAt = 0;
|
|
113
138
|
/** Optional callback to check if a session has active subagents (prevents false zombie kills) */
|
|
@@ -2450,11 +2475,19 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
2450
2475
|
}
|
|
2451
2476
|
}
|
|
2452
2477
|
}
|
|
2478
|
+
// Track the just-injected message so the persistent StuckInputSentinel
|
|
2479
|
+
// can recover it if it strands at the prompt. This is the durable-across-
|
|
2480
|
+
// turn backstop for codex specifically: codex holds a busy-delivery as an
|
|
2481
|
+
// unsubmitted draft and does NOT auto-submit it when the turn ends, and a
|
|
2482
|
+
// long codex turn far outlasts verifyInjection's 6.5s in-process window.
|
|
2483
|
+
if (framework === 'codex-cli') {
|
|
2484
|
+
this.recordStrandedDraftMarker(tmuxSession, text, framework);
|
|
2485
|
+
}
|
|
2453
2486
|
// Verify Enter actually submitted — on fresh Claude Code TUIs (v2.1.105+)
|
|
2454
2487
|
// the Enter after bracketed-paste-end is occasionally eaten, leaving the
|
|
2455
2488
|
// text sitting in the input box unsubmitted. verifyInjection captures the
|
|
2456
2489
|
// pane after a short delay and sends one extra Enter if the marker text
|
|
2457
|
-
// is still visible at the ❯ prompt.
|
|
2490
|
+
// is still visible at the ❯ (or codex `›`) prompt.
|
|
2458
2491
|
this.verifyInjection(tmuxSession, text);
|
|
2459
2492
|
return true;
|
|
2460
2493
|
}
|
|
@@ -2518,7 +2551,10 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
2518
2551
|
return;
|
|
2519
2552
|
const pane = this.captureOutput(tmuxSession, 30) || '';
|
|
2520
2553
|
if (!this.isMarkerStuckAtPrompt(pane, marker)) {
|
|
2521
|
-
// Submitted (or marker no longer at the input prompt) — stop polling
|
|
2554
|
+
// Submitted (or marker no longer at the input prompt) — stop polling
|
|
2555
|
+
// and release the stranded-draft marker so the sentinel doesn't keep
|
|
2556
|
+
// re-checking a message that already landed.
|
|
2557
|
+
this.clearStrandedDraftMarker(tmuxSession);
|
|
2522
2558
|
return;
|
|
2523
2559
|
}
|
|
2524
2560
|
// The marker is at the prompt — but if the session is actively working,
|
|
@@ -2564,11 +2600,18 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
2564
2600
|
setTimeout(() => runCheck(0), markerCheckSchedule[0]);
|
|
2565
2601
|
}
|
|
2566
2602
|
/**
|
|
2567
|
-
* Detect whether a marker snippet of injected text is still sitting at
|
|
2568
|
-
*
|
|
2569
|
-
* line as
|
|
2603
|
+
* Detect whether a marker snippet of injected text is still sitting at an
|
|
2604
|
+
* input prompt line in the captured pane. Matches the marker on the same
|
|
2605
|
+
* line as the prompt char or on the immediately-following line (TUIs wrap
|
|
2570
2606
|
* long input across two visible rows).
|
|
2571
2607
|
*
|
|
2608
|
+
* Recognises BOTH framework prompt chars: Claude Code's `❯` and codex's `›`
|
|
2609
|
+
* (U+203A). Marker-based detection is deliberate for codex — codex renders a
|
|
2610
|
+
* dim placeholder hint (e.g. "Explain this codebase") at an EMPTY `›` prompt
|
|
2611
|
+
* that is byte-identical to real input once color is stripped, so reading the
|
|
2612
|
+
* prompt text generically would false-fire on every idle codex session. The
|
|
2613
|
+
* injected marker never equals the placeholder, so matching it is robust.
|
|
2614
|
+
*
|
|
2572
2615
|
* Exposed as a method so StuckInputSentinel and tests can reuse it.
|
|
2573
2616
|
*/
|
|
2574
2617
|
isMarkerStuckAtPrompt(pane, marker) {
|
|
@@ -2578,12 +2621,53 @@ rm() { "${shimRunner}" rm "$@"; }
|
|
|
2578
2621
|
const shortMarker = marker.slice(0, 30);
|
|
2579
2622
|
for (let i = 0; i < lines.length; i++) {
|
|
2580
2623
|
const line = lines[i];
|
|
2581
|
-
|
|
2624
|
+
const hasPromptChar = line.includes('❯') || line.includes('›');
|
|
2625
|
+
if (hasPromptChar && (line.includes(marker) || (lines[i + 1] && lines[i + 1].includes(shortMarker)))) {
|
|
2582
2626
|
return true;
|
|
2583
2627
|
}
|
|
2584
2628
|
}
|
|
2585
2629
|
return false;
|
|
2586
2630
|
}
|
|
2631
|
+
/**
|
|
2632
|
+
* Extract the distinguishing first-40-chars marker from injected text, the
|
|
2633
|
+
* same way verifyInjection and the pending-injection map do. Returns null if
|
|
2634
|
+
* the text is too short to be a reliable marker (<8 visible chars). Shared so
|
|
2635
|
+
* the recorded marker and the verification marker can never drift apart.
|
|
2636
|
+
*/
|
|
2637
|
+
static extractInjectionMarker(injectedText) {
|
|
2638
|
+
const marker = injectedText.replace(/^\s+/, '').slice(0, 40).trim();
|
|
2639
|
+
if (!marker || marker.length < 8)
|
|
2640
|
+
return null;
|
|
2641
|
+
return marker;
|
|
2642
|
+
}
|
|
2643
|
+
/**
|
|
2644
|
+
* Record that `text` was just injected into `tmuxSession` and has not yet been
|
|
2645
|
+
* confirmed submitted. Only the latest injection per session is tracked
|
|
2646
|
+
* (a newer message supersedes an older stuck one). No-op when the marker is
|
|
2647
|
+
* too short to track reliably. See the strandedDraftMarkers field for why this
|
|
2648
|
+
* primarily matters for codex sessions. */
|
|
2649
|
+
recordStrandedDraftMarker(tmuxSession, text, framework) {
|
|
2650
|
+
const marker = SessionManager.extractInjectionMarker(text);
|
|
2651
|
+
if (!marker)
|
|
2652
|
+
return;
|
|
2653
|
+
this.strandedDraftMarkers.set(tmuxSession, { marker, framework, injectedAt: Date.now() });
|
|
2654
|
+
}
|
|
2655
|
+
/** Read the stranded-draft marker record for a session (or undefined). Used by
|
|
2656
|
+
* StuckInputSentinel to do marker-based recovery for codex sessions. */
|
|
2657
|
+
getStrandedDraftMarker(tmuxSession) {
|
|
2658
|
+
return this.strandedDraftMarkers.get(tmuxSession);
|
|
2659
|
+
}
|
|
2660
|
+
/** Clear the stranded-draft marker for a session — called once the marker is
|
|
2661
|
+
* no longer stuck at the prompt (confirmed submitted) or the session is
|
|
2662
|
+
* gone. */
|
|
2663
|
+
clearStrandedDraftMarker(tmuxSession) {
|
|
2664
|
+
this.strandedDraftMarkers.delete(tmuxSession);
|
|
2665
|
+
}
|
|
2666
|
+
/** All tmux sessions with a stranded-draft marker. Used by the sentinel to GC
|
|
2667
|
+
* records for sessions that are no longer running. */
|
|
2668
|
+
strandedDraftMarkerSessions() {
|
|
2669
|
+
return [...this.strandedDraftMarkers.keys()];
|
|
2670
|
+
}
|
|
2587
2671
|
/**
|
|
2588
2672
|
* Fire one recovery action for a stuck input. Escalates the action by
|
|
2589
2673
|
* attempt index — early attempts use plain Enter, later attempts use
|