@pouchy_ai/companion-sdk 0.33.0 → 0.35.0

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 CHANGED
@@ -12,6 +12,102 @@ a protocol bump is always called out explicitly here.
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [0.35.0] - 2026-07-16
16
+
17
+ No breaking changes — reliability hardening + one additive option. No protocol
18
+ change (`PROTOCOL_VERSION` stays `1`).
19
+
20
+ ### Added
21
+
22
+ - **`requestTimeoutMs` option** (default `30000`, `0` disables) — a deadline
23
+ for every HTTP call to produce RESPONSE HEADERS, so a server that accepts
24
+ the connection but never answers can no longer hang `connect()`, plain
25
+ `sendText()`, `recall()`, etc. forever (previously only
26
+ `sendText({ awaitReply })` had any deadline). The deadline never bounds
27
+ reading a response BODY — streaming replies and the SSE event stream are
28
+ unaffected. On expiry helpers reject with the new SDK-synthesized
29
+ `code: 'request_timeout'` (status 0). The timeout is deliberately NOT
30
+ treated as a network-level failure by the offline queue: the server may
31
+ have received the request, and unlike a pre-flight rejection the SDK can't
32
+ know — flush-replay of an explicit network failure stays the only
33
+ auto-queue path.
34
+
35
+ ### Fixed
36
+
37
+ - **A mid-stream network drop now rejects with `CompanionError`** (status 0)
38
+ instead of leaking the runtime's raw `TypeError` — restoring the "every
39
+ helper rejects with `CompanionError`" contract on the streaming `sendText`
40
+ path (the default whenever an `onDelta` subscriber exists). With
41
+ `queueOffline: true` the interrupted send is now correctly queued and
42
+ replayed with its original `turnId` (server-side turn dedup makes the
43
+ replay safe even when the turn had actually completed).
44
+ - **SSE liveness watchdog** — a silently half-open event-stream connection
45
+ (NAT/LB idle-kill, laptop sleep) used to leave `streamState` at
46
+ `'connected'` while replies were lost until the OS TCP timeout. The client
47
+ now expects the server's ~1.5s heartbeat and force-reconnects after 15s of
48
+ byte silence (normal backoff + cursor resume; replays dedupe by envelope
49
+ id). SSE only — the WebSocket plane has no heartbeat contract.
50
+ - **Listener leak on already-aborted `awaitReply` calls** — passing an
51
+ AbortSignal that had already fired leaked one `companion.message` handler
52
+ per call (hosts reusing one `AbortController` across turns accumulated
53
+ them without bound). The fast-fail now runs before the subscription.
54
+ - **Outbox replay honors `Retry-After`** — a 429 during `flushOutbox()`
55
+ arms a backoff window (from the server's own `retryAfterSec` / header), so
56
+ the auto-flush on every stream reconnect no longer re-hammers a server
57
+ that just throttled the replay.
58
+ - **WebSocket reconnect backoff measured from `onopen`** — connection
59
+ lifetime previously included DNS/TCP/handshake time, so a gateway that
60
+ took ~2s to accept and instantly closed was misread as long-lived and
61
+ reset the backoff into a near-hot reconnect loop.
62
+
63
+ ### Docs
64
+
65
+ - `openCompanionCall`'s README description now matches its real signature —
66
+ it consumes the `CallCredentials` that `startCall()` mints (it never took
67
+ a client instance).
68
+ - `/sdk` options table now lists `outboxStore`, `requestTimeoutMs`, `fetch`
69
+ and `webSocketImpl`.
70
+ - `onError` documents the literal `'error'` fallback code a malformed
71
+ `control.error` frame is delivered with (give your `switch` a `default:`).
72
+
73
+ ## [0.34.0] - 2026-07-14
74
+
75
+ No breaking changes — additive, opt-in surface. No protocol change
76
+ (`PROTOCOL_VERSION` stays `1`).
77
+
78
+ ### Added
79
+
80
+ - **Offline send queue** — opt in with `createCompanion({ queueOffline: true })`.
81
+ A `sendText` that fails at the NETWORK level (fetch rejected before any HTTP
82
+ response, or `navigator.onLine === false`) is queued instead of lost and
83
+ resolves `{ seq: null, queued: true, turnId }`; with `awaitReply: true` it
84
+ rejects with the new SDK-synthesized `code: 'queued_offline'` (the item is
85
+ still queued — there is just no reply to await this session). HTTP error
86
+ responses (4xx/5xx incl. 429) are NEVER queued — the server saw those; they
87
+ keep the existing throw semantics.
88
+ - **Flush** is FIFO + sequential and runs automatically after a successful
89
+ `connect()` and whenever the event stream reconnects (`streamState` →
90
+ `'connected'`), or manually via `flushOutbox()` → `{ sent, remaining }`
91
+ (one flush at a time — concurrent calls share the in-flight run). Each
92
+ replay is a buffered input POST reusing the item's ORIGINAL `turnId`: the
93
+ server dedupes completed turnIds (10 min TTL, last 8 per session, answered
94
+ `duplicate: true`), so a retry after an ambiguous failure can never
95
+ double-run a turn. Per item: success or server-side duplicate → removed;
96
+ network failure / 5xx / 429 → stop, keep this item and the rest for the
97
+ next flush; any other 4xx → the item itself is invalid — dropped
98
+ (`console.warn` + outbox-change notification), flush continues.
99
+ - **Surface:** `pendingOutbox()` (defensive copy; new exported `QueuedSend`
100
+ type — `{ turnId, text, images?, at }`) and `onOutboxChange(fn)` for a
101
+ "N pending" badge. Persistence defaults to localStorage (key
102
+ `pouchy-outbox:<surface>`, in-memory page-lifetime fallback) or bring your
103
+ own via the `outboxStore` option (new exported `OutboxStore` type); a
104
+ reloaded tab resumes its persisted queue.
105
+ - **Adapters:** the view snapshot gains `outbox: number` (feature-detected,
106
+ 0 for clients from older bundles), and the optimistic user line is KEPT
107
+ for a queued send — both the resolved `queued: true` shape and the
108
+ `queued_offline` rejection — while the 0.32.1 rollback still applies to
109
+ real rejections.
110
+
15
111
  ## [0.33.0] - 2026-07-14
16
112
 
17
113
  **Breaking** (adapter view controller only; pre-1.0 minor per this package's
@@ -794,7 +890,11 @@ self-hosted/CDN build; this entry captures the surface that ships publicly.
794
890
  - **Versioned wire protocol.** `PROTOCOL_VERSION = 1`, kept in lockstep with the
795
891
  server by `protocol.drift.test.ts` (fails CI on divergence).
796
892
 
797
- [Unreleased]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.32.0...HEAD
893
+ [Unreleased]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.35.0...HEAD
894
+ [0.35.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.34.0...companion-sdk-v0.35.0
895
+ [0.34.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.33.0...companion-sdk-v0.34.0
896
+ [0.33.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.32.1...companion-sdk-v0.33.0
897
+ [0.32.1]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.32.0...companion-sdk-v0.32.1
798
898
  [0.32.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.31.0...companion-sdk-v0.32.0
799
899
  [0.31.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.30.0...companion-sdk-v0.31.0
800
900
  [0.30.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.29.1...companion-sdk-v0.30.0
package/README.md CHANGED
@@ -20,7 +20,9 @@ No bundler? Pull it from a CDN via an import map instead — see
20
20
  The package ships **ESM-only** (`"type": "module"`, no CJS build). Every modern
21
21
  bundler and Node ≥ 18 consumes it as-is; on Node ≥ 20.17 even `require()` of the
22
22
  ESM entry works natively.
23
- Changes per release are tracked in [`CHANGELOG.md`](./CHANGELOG.md).
23
+ Changes per release are tracked in [`CHANGELOG.md`](./CHANGELOG.md); the
24
+ pinnable CDN releases (immutable URL + SRI per version) are indexed at
25
+ [`pouchy.ai/sdk/versions`](https://pouchy.ai/sdk/versions).
24
26
 
25
27
  **React?** [`@pouchy_ai/react`](../react-sdk/README.md) wraps this SDK in a
26
28
  `<CompanionProvider>` + `useCompanion` / `useMessages` / `useTyping` / `useCall`
@@ -113,9 +115,13 @@ one and **falls back to SSE automatically**, observable as
113
115
  instrumentation events via `console.debug`; a function receives every
114
116
  `CompanionDebugEvent`: HTTP request/response with method/path/status/ms, each
115
117
  delivered envelope post-dedup, stream-state transitions, synthesized errors —
116
- never the token, headers, or bodies), and two injection points for Node/tests:
117
- `fetch` (custom fetch implementation) and `webSocketImpl` (WebSocket
118
- constructor when `globalThis.WebSocket` is absent).
118
+ never the token, headers, or bodies), `queueOffline` (0.34.0 opt-in offline
119
+ send queue, below) with `outboxStore` (custom persistence for it; default
120
+ localStorage), `requestTimeoutMs` (0.35.0 — deadline for any request to
121
+ produce response HEADERS, default 30 000 ms, `0` disables; expiry rejects
122
+ `code: 'request_timeout'`; never bounds reading a streaming body), and two
123
+ injection points for Node/tests: `fetch` (custom fetch implementation) and
124
+ `webSocketImpl` (WebSocket constructor when `globalThis.WebSocket` is absent).
119
125
 
120
126
  ## Events
121
127
 
@@ -172,6 +178,7 @@ local/device skills).
172
178
  | `streamState` / `onStreamStateChange(fn)` | Receive-stream lifecycle (0.30.0): `'idle' \| 'connecting' \| 'connected' \| 'reconnecting' \| 'degraded_sse' \| 'stopped'` (`CompanionStreamState`). `fn(state, prev)` fires on change only — drive a connection indicator; `degraded_sse` = the WS transport errored and delivery continues on the SSE fallback; `stopped` = `stop()`/`close()` or a permanent `stream_unauthorized` failure. |
173
179
  | `getAvatar()` / `brandIconUrl(size?)` | The user's avatar (VRM/portrait) and the Pouchy brand icon for your UI. Standalone (no client/token): `pouchyBrandIconUrl(baseUrl, size?)` derives the same URL before/without connecting. |
174
180
  | `getWallet()` | Read the instance's own wallet — `{ balances: [{ currency, amount }], totalUsd, currency }`. Read-only + receive-only; needs the `wallet.read` scope. |
181
+ | `flushOutbox()` / `pendingOutbox()` / `onOutboxChange(fn)` | **Offline send queue** (0.34.0, opt-in `queueOffline: true`). A `sendText` whose fetch fails at the NETWORK level (or `navigator.onLine === false`) resolves `{ seq: null, queued: true, turnId }` instead of rejecting; with `awaitReply: true` it rejects with `code: 'queued_offline'` (the item is still queued). HTTP errors (4xx/5xx incl. 429) are never queued — the server saw those. The queue replays FIFO — automatically after `connect()` and whenever the stream reconnects, or manually via `flushOutbox()` → `{ sent, remaining }` — each item a buffered POST reusing its ORIGINAL `turnId`, which the server dedupes (completed turnIds, 10 min / last 8 per session), so a retried ambiguous failure can never double-run a turn. `pendingOutbox()` lists the queued sends (`QueuedSend[]`); `onOutboxChange(fn)` fires on every enqueue/flush/drop (drive a "N pending" badge). Persistence: localStorage by default (in-memory page-lifetime fallback), or bring your own via the `outboxStore` option. |
175
182
 
176
183
  Tool calling beyond your own declared tools: `HOST_CONTROL_TOOLS` (universal
177
184
  verbs — `invoke_action`, `set_feature`, `set_value`, `navigate`, `highlight`)
@@ -196,6 +203,20 @@ const p = companion.sendText('summarize this', { awaitReply: true, signal: ac.si
196
203
  ac.abort(); // p rejects with code: 'aborted'
197
204
  ```
198
205
 
206
+ **Offline send queue (0.34.0, opt-in):** `queueOffline: true` turns a
207
+ network-level send failure (fetch rejected / `navigator.onLine === false`)
208
+ into a queued send instead of a lost one — replayed FIFO on reconnect with
209
+ its original `turnId` (server-deduped, so a retry can never double-run a
210
+ turn; see the methods table above for the full per-item semantics):
211
+
212
+ ```ts
213
+ const companion = createCompanion({ baseUrl, token, queueOffline: true });
214
+ await companion.connect();
215
+ companion.onOutboxChange((items) => render(items.length)); // "N pending" badge
216
+ const r = await companion.sendText('hey');
217
+ if (r.queued) render('queued — sends on reconnect', r.turnId);
218
+ ```
219
+
199
220
  ## Scopes (typed)
200
221
 
201
222
  The full capability-scope vocabulary ships as typed constants — no more
@@ -246,9 +267,10 @@ the `companion.tool_call` event, `MessagePayload` (`{ text, replyTo? }`) types
246
267
  `companion.message`, and `onToolCall`'s callback receives
247
268
  `ToolCallEvent` — the payload plus `argsJson` (pre-parsed args).
248
269
 
249
- For advanced voice hosts, the lower-level `openCompanionCall(client, options)`
250
- primitive that `connectCall`/`startCall` wrap is exported too (bring-your-own
251
- call lifecycle; see `docs/companion-integration-faq.md`).
270
+ For advanced voice hosts, the lower-level
271
+ `openCompanionCall(creds, options?, bridge?)` primitive is exported too — it
272
+ consumes the `CallCredentials` that `startCall()` mints (bring-your-own call
273
+ lifecycle; see `docs/companion-integration-faq.md`).
252
274
 
253
275
  ## Representative mode (代聊)
254
276
 
@@ -23,6 +23,10 @@ export interface CompanionViewSnapshot {
23
23
  * through this view yet. Rebuild after a reload via client.pendingConfirms()
24
24
  * — confirm_request events are not replayed. */
25
25
  pendingConfirms: readonly ConfirmRequestPayload[];
26
+ /** Sends queued while offline (0.34.0 — the client's `queueOffline`
27
+ * option): `client.pendingOutbox().length`, live-updated. Always 0 on a
28
+ * client from an older SDK bundle without the offline queue. */
29
+ outbox: number;
26
30
  }
27
31
  export interface CompanionViewOptions {
28
32
  /** Max transcript entries kept (oldest dropped). Default 200. */
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-core.d.ts","sourceRoot":"","sources":["../src/adapter-core.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAGvE;;gFAEgF;AAChF,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;CACX;AAED;2EAC2E;AAC3E,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,oBAAoB,CAAC;IAClC,mEAAmE;IACnE,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAChD,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB;;qDAEiD;IACjD,eAAe,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACpC,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;2BAKuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,iEAAiE;IACjE,WAAW,IAAI,qBAAqB,CAAC;IACrC,0DAA0D;IAC1D,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,kEAAkE;IAClE,QAAQ,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C;qEACiE;IACjE,aAAa,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC7B,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD;;4BAEwB;IACxB,OAAO,IAAI,IAAI,CAAC;IAChB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CACjC;AAID;2EAC2E;AAC3E,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,eAAe,EACvB,IAAI,CAAC,EAAE,oBAAoB,GACzB,aAAa,CA0If"}
1
+ {"version":3,"file":"adapter-core.d.ts","sourceRoot":"","sources":["../src/adapter-core.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAGvE;;gFAEgF;AAChF,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;CACX;AAED;2EAC2E;AAC3E,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,oBAAoB,CAAC;IAClC,mEAAmE;IACnE,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAChD,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB;;qDAEiD;IACjD,eAAe,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAClD;;qEAEiE;IACjE,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACpC,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;2BAKuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,iEAAiE;IACjE,WAAW,IAAI,qBAAqB,CAAC;IACrC,0DAA0D;IAC1D,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,kEAAkE;IAClE,QAAQ,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C;qEACiE;IACjE,aAAa,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC7B,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD;;4BAEwB;IACxB,OAAO,IAAI,IAAI,CAAC;IAChB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CACjC;AAID;2EAC2E;AAC3E,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,eAAe,EACvB,IAAI,CAAC,EAAE,oBAAoB,GACzB,aAAa,CAsJf"}
@@ -26,7 +26,10 @@ export function createCompanionView(client, opts) {
26
26
  transcript: Object.freeze([]),
27
27
  draft: '',
28
28
  typing: false,
29
- pendingConfirms: Object.freeze([])
29
+ pendingConfirms: Object.freeze([]),
30
+ // Feature-detect (0.34.0): a host may hand this view a client built from
31
+ // an older SDK bundle without the offline queue — permanently-empty then.
32
+ outbox: typeof client.pendingOutbox === 'function' ? client.pendingOutbox().length : 0
30
33
  });
31
34
  function commit(patch) {
32
35
  if (disposed)
@@ -91,7 +94,11 @@ export function createCompanionView(client, opts) {
91
94
  if (snapshot.pendingConfirms.some((c) => c.confirmId === payload.confirmId))
92
95
  return;
93
96
  commit({ pendingConfirms: Object.freeze([...snapshot.pendingConfirms, payload]) });
94
- })
97
+ }),
98
+ // Same feature-detect as the initial snapshot (0.34.0).
99
+ ...(typeof client.onOutboxChange === 'function'
100
+ ? [client.onOutboxChange((items) => commit({ outbox: items.length }))]
101
+ : [])
95
102
  ];
96
103
  return {
97
104
  client,
@@ -109,10 +116,15 @@ export function createCompanionView(client, opts) {
109
116
  catch (err) {
110
117
  // The optimistic line must not survive a send the server never saw
111
118
  // (network drop / 429 turn-claim) — roll it back by identity so the
112
- // host's retry re-appends cleanly (0.32.1).
113
- commit({
114
- transcript: Object.freeze(snapshot.transcript.filter((e) => e !== entry))
115
- });
119
+ // host's retry re-appends cleanly (0.32.1). The one exception is
120
+ // `queued_offline` (0.34.0): the text IS on its way — queued, and
121
+ // replayed on reconnect so the line stays, mirroring the resolved
122
+ // `{ queued: true }` shape of a non-awaitReply queued send.
123
+ if (!(err instanceof CompanionError && err.code === 'queued_offline')) {
124
+ commit({
125
+ transcript: Object.freeze(snapshot.transcript.filter((e) => e !== entry))
126
+ });
127
+ }
116
128
  throw err;
117
129
  }
118
130
  },
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-core.js","sourceRoot":"","sources":["../src/adapter-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-core.js","sourceRoot":"","sources":["../src/adapter-core.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -65,6 +65,31 @@ export interface CompanionClientOptions {
65
65
  * configuration errors and never trigger it. Alternative: call `setToken()`
66
66
  * proactively on your own refresh schedule. */
67
67
  onAuthError?: () => string | null | Promise<string | null>;
68
+ /** Opt-in offline send queue (0.34.0). A sendText that fails at the NETWORK
69
+ * level (fetch rejected before any HTTP response, or `navigator.onLine` is
70
+ * false) is queued instead of lost, and replayed FIFO once the server is
71
+ * reachable again — after a successful connect(), on every stream
72
+ * reconnect, or via `flushOutbox()`. Replays reuse the ORIGINAL turnId:
73
+ * the server dedupes completed turnIds (10 min TTL, last 8 per session),
74
+ * so a retry after an ambiguous failure can never double-run a turn. HTTP
75
+ * error responses (4xx/5xx incl. 429) are NEVER queued — the server saw
76
+ * those; they keep the normal throw semantics. Default false. */
77
+ queueOffline?: boolean;
78
+ /** Persistence for the offline queue (see `queueOffline`). Defaults to
79
+ * localStorage when available (privacy-mode / quota failures fall back
80
+ * silently), else an in-memory page-lifetime store. The key is
81
+ * `pouchy-outbox:${surface}`, so each surface keeps its own queue. */
82
+ outboxStore?: OutboxStore;
83
+ /** Deadline for a request to produce RESPONSE HEADERS, in ms (0.35.0).
84
+ * Bounds every HTTP call the client makes (connect, sendText, recall, …) so
85
+ * a server that accepts the TCP connection but never answers can't hang a
86
+ * helper forever — previously only `sendText({ awaitReply })` had any
87
+ * deadline. Reading a response BODY (the SSE event stream, a streaming
88
+ * sendText reply) is never bounded by this — the timer is cleared the
89
+ * moment headers arrive. Composes with any per-call AbortSignal (whichever
90
+ * fires first wins); the timeout rejects as a status-0 CompanionError with
91
+ * code 'request_timeout'. Default 30_000; 0 disables. */
92
+ requestTimeoutMs?: number;
68
93
  }
69
94
  export interface HelloAck {
70
95
  session: string;
@@ -198,6 +223,23 @@ export interface SendTextReply {
198
223
  text: string;
199
224
  envelope: CompanionEnvelope;
200
225
  }
226
+ /** One send queued while offline (see the `queueOffline` option) — replayed
227
+ * FIFO by flushOutbox with its ORIGINAL `turnId` (the server's turn-dedup is
228
+ * what makes the retry safe). `at` is Date.now() at enqueue. */
229
+ export interface QueuedSend {
230
+ turnId: string;
231
+ text: string;
232
+ images?: string[];
233
+ at: number;
234
+ }
235
+ /** Pluggable persistence for the offline send queue (the `outboxStore`
236
+ * option). Both methods receive the storage key
237
+ * (`pouchy-outbox:${surface}`); `load` returns the previously-saved value or
238
+ * null. */
239
+ export interface OutboxStore {
240
+ load(key: string): string | null;
241
+ save(key: string, value: string): void;
242
+ }
201
243
  type Handler = (envelope: CompanionEnvelope) => void;
202
244
  /** Token-streaming subscriber (P1-2). `chunk` is a raw text delta of the reply
203
245
  * being generated; `meta.reset` (with an empty chunk) tells the renderer to
@@ -268,6 +310,13 @@ export declare class CompanionClient {
268
310
  private _streamState;
269
311
  private readonly streamStateHandlers;
270
312
  private readonly debugSink;
313
+ private outbox;
314
+ private readonly outboxHandlers;
315
+ private outboxFlush;
316
+ /** Epoch-ms before which flush attempts are skipped — set from a 429's
317
+ * Retry-After during replay so the auto-flush on every reconnect doesn't
318
+ * re-hammer a server that just told us to back off (0.35.0). */
319
+ private outboxBlockedUntil;
271
320
  constructor(opts: CompanionClientOptions);
272
321
  /** Fire an instrumentation event. A throwing sink must never break the
273
322
  * request/stream path it observes. */
@@ -301,6 +350,16 @@ export declare class CompanionClient {
301
350
  /** True when the server echoes `replyTo` on companion.message (API ≥ 1.1) —
302
351
  * the strict awaitReply correlation is only safe to enforce there. */
303
352
  private serverEchoesReplyTo;
353
+ /** doFetch raced against the `requestTimeoutMs` HEADERS deadline (0.35.0).
354
+ * The deadline only bounds time-to-response-headers: it does NOT swap the
355
+ * request's AbortSignal, so a streaming response body stays tied to the
356
+ * caller's own signal, and the timer is cleared the moment the race
357
+ * settles. On timeout the helper rejects `request_timeout` (status 0) —
358
+ * code-bearing, so the offline queue's network-failure predicate correctly
359
+ * ignores it (the server may have received the request). The abandoned
360
+ * fetch keeps its rejection silenced so a late network error can't surface
361
+ * as an unhandled rejection. */
362
+ private doFetchBounded;
304
363
  private fetchAuthed;
305
364
  /** Normalize a thrown fetch error to a CompanionError. An AbortError (the
306
365
  * caller's signal fired) becomes a switchable `code: 'aborted'`; anything
@@ -354,7 +413,15 @@ export declare class CompanionClient {
354
413
  * can't ride the request (`stream: false`, or an old server) does it fall
355
414
  * back to the event stream — which then DOES need start() — resolving with
356
415
  * the next `companion.message`, or rejecting with code `reply_timeout`
357
- * after `replyTimeoutMs` (default 60s). */
416
+ * after `replyTimeoutMs` (default 60s).
417
+ *
418
+ * OFFLINE QUEUE (0.34.0, opt-in `queueOffline: true`): a send that never
419
+ * REACHED the server — fetch rejected at the network level, or
420
+ * `navigator.onLine` is already false — is queued for replay instead of
421
+ * lost, and resolves `{ seq: null, queued: true, turnId }`. With
422
+ * `awaitReply: true` there is no reply to await this session, so it
423
+ * rejects with code `queued_offline` (the item IS queued first). HTTP
424
+ * error responses keep the throw semantics above — they are never queued. */
358
425
  sendText(text: string, opts: {
359
426
  awaitReply: true;
360
427
  images?: string[];
@@ -370,7 +437,23 @@ export declare class CompanionClient {
370
437
  signal?: AbortSignal;
371
438
  }): Promise<{
372
439
  seq: number | null;
440
+ queued?: boolean;
441
+ turnId?: string;
373
442
  }>;
443
+ /** The pre-queue dispatch of sendText: awaitReply / streaming / buffered. */
444
+ private dispatchText;
445
+ /** True only for a send that never reached the server: fetch rejected at
446
+ * the network level, which asCompanionError wraps as status 0 with NO
447
+ * code. Every code-carrying status-0 error is deliberate — `aborted` is
448
+ * the caller cancelling, `reply_timeout`/`needs_event_stream` mean the
449
+ * POST was accepted — and any nonzero status is a response the server
450
+ * produced. None of those may queue. */
451
+ private isNetworkSendFailure;
452
+ /** Enqueue an offline send. Plain sends resolve `{ seq: null, queued: true,
453
+ * turnId }`; awaitReply can't await a reply that won't arrive this
454
+ * session, so it rejects with `queued_offline` — the item is queued
455
+ * either way. */
456
+ private queueSend;
374
457
  /** The awaitReply leg of sendText. Prefers the in-request answer (the
375
458
  * streaming `done` frame's envelope); falls back to the next
376
459
  * `companion.message` off the event stream, bounded by a timeout. The
@@ -383,6 +466,36 @@ export declare class CompanionClient {
383
466
  * dedups by id). Falls back to buffered semantics if the server ever
384
467
  * responds with plain JSON (e.g. an old deployment). */
385
468
  private sendTextStreaming;
469
+ /** The live offline queue, loaded from the store on first use so a reloaded
470
+ * tab resumes what its predecessor persisted. Unreadable or foreign store
471
+ * content is discarded — a corrupt store must never break sending. */
472
+ private loadOutbox;
473
+ private outboxKey;
474
+ /** Persist + notify after EVERY queue mutation (enqueue / flushed / drop),
475
+ * so the stored copy never lags what a reload would need. Handler
476
+ * isolation matches emit(): a throwing consumer must not skip the rest. */
477
+ private commitOutbox;
478
+ /** The sends queued while offline (oldest first), as a defensive copy —
479
+ * see the `queueOffline` option. */
480
+ pendingOutbox(): readonly QueuedSend[];
481
+ /** Subscribe to offline-queue changes (enqueue / flushed / dropped) — drive
482
+ * a "N pending" badge from `items.length`. Returns an unsubscribe fn. */
483
+ onOutboxChange(handler: (items: readonly QueuedSend[]) => void): () => void;
484
+ /** Replay the offline queue: FIFO, sequential, each item a normal buffered
485
+ * input POST reusing its ORIGINAL `turnId` (the server dedupes completed
486
+ * turnIds — see `queueOffline` — so a retry can never double-run a turn).
487
+ * Runs automatically after connect() and on every stream reconnect; call
488
+ * it yourself for a manual retry affordance. One flush at a time —
489
+ * concurrent calls share the in-flight run. Per item: success (or a
490
+ * server-side duplicate) → removed; network failure / 5xx / 429 → stop,
491
+ * keep this item and the rest for the next flush; any other 4xx → the
492
+ * item itself is invalid (the server deliberately rejected it) — drop it,
493
+ * console.warn, and keep flushing. */
494
+ flushOutbox(): Promise<{
495
+ sent: number;
496
+ remaining: number;
497
+ }>;
498
+ private runOutboxFlush;
386
499
  /** Subscribe to token-streaming deltas of the reply (P1-2). Registering a
387
500
  * subscriber makes sendText stream automatically. Returns an unsubscribe
388
501
  * function. Render chunks as they arrive; on `meta.reset` clear the partial;
@@ -482,7 +595,10 @@ export declare class CompanionClient {
482
595
  * arrive as `control.error`. Since 0.30.0 `code` is typed as
483
596
  * `ControlErrorCodeValue` (the CONTROL_ERROR_CODES vocabulary + the
484
597
  * SDK-synthesized stream codes, open for newer servers) so a `switch` on it
485
- * autocompletes. Returns an unsubscribe fn. */
598
+ * autocompletes. A malformed frame with no string `code` is delivered with
599
+ * the literal fallback `'error'` (not part of the exported vocabulary) —
600
+ * give your `switch` a `default:` arm rather than enumerating every code.
601
+ * Returns an unsubscribe fn. */
486
602
  onError(handler: (err: {
487
603
  code: ControlErrorCodeValue;
488
604
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}