@threadbase-sh/streamer 1.70.1 → 1.70.2

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.
@@ -78,6 +78,39 @@ export declare class PromptRegistry {
78
78
  open(draft: PromptDraft, adapter?: PromptAnswerAdapter, promptId?: string): Prompt;
79
79
  update(promptId: string, draft: PromptDraft, adapter?: PromptAnswerAdapter): Prompt;
80
80
  transition(promptId: string, state: PromptTerminalState, reason: string): Prompt;
81
+ /**
82
+ * The provider's prompt left the screen.
83
+ *
84
+ * Distinct from `transition` because the detector cannot tell a teardown it
85
+ * observed on its own from one OUR OWN write caused. On a screen-scraped gate
86
+ * the answer keys remove the box, and pty-manager's sendKeys fires the close
87
+ * synchronously from inside the write — so the close always arrives before
88
+ * the answer that caused it has settled, and reporting it as a cancel failed
89
+ * every answer whose bytes had already landed (#720).
90
+ *
91
+ * While an answer is writing, the close is deferred and the answer decides:
92
+ * `resolved` if the write landed, the deferred close if it did not. Success
93
+ * is the adapter's own result, never the prompt's absence from the screen —
94
+ * a prompt that does not vanish when answered (a multi-select form) simply
95
+ * never reaches here, and is settled by the same adapter result (#721).
96
+ *
97
+ * ONLY this path defers. `replaced` from a different gate taking the screen,
98
+ * `unavailable` from invalidateSession and `expired` all still go through
99
+ * `transition` and still win, because none of them was caused by our write.
100
+ */
101
+ providerClosed(promptId: string, reason: string): Prompt | null;
102
+ /**
103
+ * Run a provider write that may close the prompt as a side effect, so the
104
+ * close it causes is deferred rather than applied. For callers outside this
105
+ * class that write without going through `answer()` — the legacy permission
106
+ * route. `performAnswer` manages the same two fields directly, because it
107
+ * needs the deferred value in its own control flow.
108
+ *
109
+ * The write's own failure needs no unwinding here: pty-manager fires the
110
+ * close as the last statement of a successful sendKeys, so a throw means no
111
+ * close was ever deferred and the record is still open for the caller.
112
+ */
113
+ whileAnswering<T>(promptId: string, write: () => T): T;
81
114
  invalidateSession(sessionId: string, reason?: string): Prompt[];
82
115
  get(promptId: string): Prompt | null;
83
116
  hasActionable(sessionId: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"promptRegistry.d.ts","sourceRoot":"","sources":["../../../src/services/prompts/promptRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptRegistry.d.ts","sourceRoot":"","sources":["../../../src/services/prompts/promptRegistry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadbase-sh/streamer",
3
- "version": "1.70.1",
3
+ "version": "1.70.2",
4
4
  "description": "PTY session management, WebSocket streaming, and REST API server for Claude Code conversations",
5
5
  "license": "MIT",
6
6
  "author": "Ronen Mars",