@pouchy_ai/companion-sdk 0.32.1 → 0.34.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,59 @@ a protocol bump is always called out explicitly here.
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [0.34.0] - 2026-07-14
16
+
17
+ No breaking changes — additive, opt-in surface. No protocol change
18
+ (`PROTOCOL_VERSION` stays `1`).
19
+
20
+ ### Added
21
+
22
+ - **Offline send queue** — opt in with `createCompanion({ queueOffline: true })`.
23
+ A `sendText` that fails at the NETWORK level (fetch rejected before any HTTP
24
+ response, or `navigator.onLine === false`) is queued instead of lost and
25
+ resolves `{ seq: null, queued: true, turnId }`; with `awaitReply: true` it
26
+ rejects with the new SDK-synthesized `code: 'queued_offline'` (the item is
27
+ still queued — there is just no reply to await this session). HTTP error
28
+ responses (4xx/5xx incl. 429) are NEVER queued — the server saw those; they
29
+ keep the existing throw semantics.
30
+ - **Flush** is FIFO + sequential and runs automatically after a successful
31
+ `connect()` and whenever the event stream reconnects (`streamState` →
32
+ `'connected'`), or manually via `flushOutbox()` → `{ sent, remaining }`
33
+ (one flush at a time — concurrent calls share the in-flight run). Each
34
+ replay is a buffered input POST reusing the item's ORIGINAL `turnId`: the
35
+ server dedupes completed turnIds (10 min TTL, last 8 per session, answered
36
+ `duplicate: true`), so a retry after an ambiguous failure can never
37
+ double-run a turn. Per item: success or server-side duplicate → removed;
38
+ network failure / 5xx / 429 → stop, keep this item and the rest for the
39
+ next flush; any other 4xx → the item itself is invalid — dropped
40
+ (`console.warn` + outbox-change notification), flush continues.
41
+ - **Surface:** `pendingOutbox()` (defensive copy; new exported `QueuedSend`
42
+ type — `{ turnId, text, images?, at }`) and `onOutboxChange(fn)` for a
43
+ "N pending" badge. Persistence defaults to localStorage (key
44
+ `pouchy-outbox:<surface>`, in-memory page-lifetime fallback) or bring your
45
+ own via the `outboxStore` option (new exported `OutboxStore` type); a
46
+ reloaded tab resumes its persisted queue.
47
+ - **Adapters:** the view snapshot gains `outbox: number` (feature-detected,
48
+ 0 for clients from older bundles), and the optimistic user line is KEPT
49
+ for a queued send — both the resolved `queued: true` shape and the
50
+ `queued_offline` rejection — while the 0.32.1 rollback still applies to
51
+ real rejections.
52
+
53
+ ## [0.33.0] - 2026-07-14
54
+
55
+ **Breaking** (adapter view controller only; pre-1.0 minor per this package's
56
+ semver caveat). No protocol change (`PROTOCOL_VERSION` stays `1`).
57
+
58
+ ### Changed
59
+
60
+ - **`CompanionTranscriptEntry.role` is now `'user' | 'assistant'`** (was
61
+ `'user' | 'companion'`). `'assistant'` is the industry role vocabulary and
62
+ what BOTH sibling surfaces already used — this package's own voice-call
63
+ transcript (`onTranscript` events) and `@pouchy_ai/react`'s `ChatMessage` —
64
+ so the adapters were the one odd dialect out. Migration: replace
65
+ `role === 'companion'` checks with `role === 'assistant'` in hosts using
66
+ `createCompanionView` / `/svelte` / `/vue` (0.31.0–0.32.1).
67
+
15
68
  ## [0.32.1] - 2026-07-14
16
69
 
17
70
  Backwards-compatible fixes to the adapter view controller (`createCompanionView`,
package/README.md CHANGED
@@ -113,7 +113,9 @@ one and **falls back to SSE automatically**, observable as
113
113
  instrumentation events via `console.debug`; a function receives every
114
114
  `CompanionDebugEvent`: HTTP request/response with method/path/status/ms, each
115
115
  delivered envelope post-dedup, stream-state transitions, synthesized errors —
116
- never the token, headers, or bodies), and two injection points for Node/tests:
116
+ never the token, headers, or bodies), `queueOffline` (0.34.0 opt-in offline
117
+ send queue, below) with `outboxStore` (custom persistence for it; default
118
+ localStorage), and two injection points for Node/tests:
117
119
  `fetch` (custom fetch implementation) and `webSocketImpl` (WebSocket
118
120
  constructor when `globalThis.WebSocket` is absent).
119
121
 
@@ -172,6 +174,7 @@ local/device skills).
172
174
  | `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
175
  | `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
176
  | `getWallet()` | Read the instance's own wallet — `{ balances: [{ currency, amount }], totalUsd, currency }`. Read-only + receive-only; needs the `wallet.read` scope. |
177
+ | `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
178
 
176
179
  Tool calling beyond your own declared tools: `HOST_CONTROL_TOOLS` (universal
177
180
  verbs — `invoke_action`, `set_feature`, `set_value`, `navigate`, `highlight`)
@@ -196,6 +199,20 @@ const p = companion.sendText('summarize this', { awaitReply: true, signal: ac.si
196
199
  ac.abort(); // p rejects with code: 'aborted'
197
200
  ```
198
201
 
202
+ **Offline send queue (0.34.0, opt-in):** `queueOffline: true` turns a
203
+ network-level send failure (fetch rejected / `navigator.onLine === false`)
204
+ into a queued send instead of a lost one — replayed FIFO on reconnect with
205
+ its original `turnId` (server-deduped, so a retry can never double-run a
206
+ turn; see the methods table above for the full per-item semantics):
207
+
208
+ ```ts
209
+ const companion = createCompanion({ baseUrl, token, queueOffline: true });
210
+ await companion.connect();
211
+ companion.onOutboxChange((items) => render(items.length)); // "N pending" badge
212
+ const r = await companion.sendText('hey');
213
+ if (r.queued) render('queued — sends on reconnect', r.turnId);
214
+ ```
215
+
199
216
  ## Scopes (typed)
200
217
 
201
218
  The full capability-scope vocabulary ships as typed constants — no more
@@ -1,9 +1,11 @@
1
1
  import type { CompanionClient } from './client.js';
2
2
  import type { CompanionStreamState } from './client.js';
3
3
  import type { ConfirmRequestPayload } from './protocol.js';
4
- /** One rendered line of the conversation, in arrival order. */
4
+ /** One rendered line of the conversation, in arrival order. `'assistant'`
5
+ * matches the industry role vocabulary and this package's own voice-call
6
+ * transcript + `@pouchy_ai/react`'s ChatMessage (0.33.0 — was 'companion'). */
5
7
  export interface CompanionTranscriptEntry {
6
- role: 'user' | 'companion';
8
+ role: 'user' | 'assistant';
7
9
  text: string;
8
10
  /** Client wall-clock ms when the entry was appended. */
9
11
  at: number;
@@ -21,6 +23,10 @@ export interface CompanionViewSnapshot {
21
23
  * through this view yet. Rebuild after a reload via client.pendingConfirms()
22
24
  * — confirm_request events are not replayed. */
23
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;
24
30
  }
25
31
  export interface CompanionViewOptions {
26
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,+DAA+D;AAC/D,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)
@@ -61,7 +64,7 @@ export function createCompanionView(client, opts) {
61
64
  if (t.user)
62
65
  restored.push({ role: 'user', text: t.user, at: t.ts });
63
66
  if (t.assistant)
64
- restored.push({ role: 'companion', text: t.assistant, at: t.ts });
67
+ restored.push({ role: 'assistant', text: t.assistant, at: t.ts });
65
68
  }
66
69
  if (restored.length)
67
70
  commit({ transcript: Object.freeze(restored.slice(-cap)) });
@@ -75,7 +78,7 @@ export function createCompanionView(client, opts) {
75
78
  client.onMessage((text) => {
76
79
  // The authoritative full reply replaces any streamed draft; typing is
77
80
  // definitionally over once the reply lands.
78
- const next = [...snapshot.transcript, { role: 'companion', text, at: Date.now() }];
81
+ const next = [...snapshot.transcript, { role: 'assistant', text, at: Date.now() }];
79
82
  commit({
80
83
  transcript: Object.freeze(next.slice(-cap)),
81
84
  draft: '',
@@ -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":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,SAAS;AAKT,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA8D1C,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;2EAC2E;AAC3E,MAAM,UAAU,mBAAmB,CAClC,MAAuB,EACvB,IAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,IAAI,sBAAsB,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,QAAQ,GAA0B,MAAM,CAAC,MAAM,CAAC;QACnD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAwC;QACpE,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAqC;KACtE,CAAC,CAAC;IAEH,SAAS,MAAM,CAAC,KAAqC;QACpD,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACpD,sEAAsE;QACtE,sEAAsE;QACtE,6EAA6E;QAC7E,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACJ,CAAC,EAAE,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACR,gDAAgD;YACjD,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,gBAAgB,CAAC,KAA+B;QACxD,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,MAAM;aACT,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;aAC3B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,0DAA0D;YAC1D,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM;gBAAE,OAAO;YACnD,MAAM,QAAQ,GAA+B,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,CAAC,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,CAAC,SAAS;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM;gBAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACX,+CAA+C;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAsB;QACjC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,MAAM,CAAC,SAAS,CAAC,CAAC,IAAY,EAAE,EAAE;YACjC,sEAAsE;YACtE,4CAA4C;YAC5C,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,CAAC;gBACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,KAAK;aACb,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,IAAyB,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAA8B,EAAE,EAAE;YAC1D,sEAAsE;YACtE,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;gBAAE,OAAO;YACpF,MAAM,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC;KACF,CAAC;IAEF,OAAO;QACN,MAAM;QACN,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;QAC3B,SAAS,CAAC,QAAoB;YAC7B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ;YAC5B,MAAM,KAAK,GAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC/E,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC;gBACJ,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAiB,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,mEAAmE;gBACnE,oEAAoE;gBACpE,4CAA4C;gBAC5C,MAAM,CAAC;oBACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;iBACzE,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW;YAClD,IAAI,GAAG,CAAC;YACR,IAAI,CAAC;gBACJ,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,kEAAkE;gBAClE,oEAAoE;gBACpE,mEAAmE;gBACnE,+DAA+D;gBAC/D,qEAAqE;gBACrE,IACC,GAAG,YAAY,cAAc;oBAC7B,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,CAAC,EACpE,CAAC;oBACF,MAAM,CAAC;wBACN,eAAe,EAAE,MAAM,CAAC,MAAM,CAC7B,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CACjE;qBACD,CAAC,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACX,CAAC;YACD,yEAAyE;YACzE,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,aAAa,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC;oBACN,eAAe,EAAE,MAAM,CAAC,MAAM,CAC7B,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CACjE;iBACD,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,OAAO;YACN,IAAI,QAAQ;gBAAE,OAAO;YACrB,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;QACjB,CAAC;KACD,CAAC;AACH,CAAC"}
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,21 @@ 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;
68
83
  }
69
84
  export interface HelloAck {
70
85
  session: string;
@@ -198,6 +213,23 @@ export interface SendTextReply {
198
213
  text: string;
199
214
  envelope: CompanionEnvelope;
200
215
  }
216
+ /** One send queued while offline (see the `queueOffline` option) — replayed
217
+ * FIFO by flushOutbox with its ORIGINAL `turnId` (the server's turn-dedup is
218
+ * what makes the retry safe). `at` is Date.now() at enqueue. */
219
+ export interface QueuedSend {
220
+ turnId: string;
221
+ text: string;
222
+ images?: string[];
223
+ at: number;
224
+ }
225
+ /** Pluggable persistence for the offline send queue (the `outboxStore`
226
+ * option). Both methods receive the storage key
227
+ * (`pouchy-outbox:${surface}`); `load` returns the previously-saved value or
228
+ * null. */
229
+ export interface OutboxStore {
230
+ load(key: string): string | null;
231
+ save(key: string, value: string): void;
232
+ }
201
233
  type Handler = (envelope: CompanionEnvelope) => void;
202
234
  /** Token-streaming subscriber (P1-2). `chunk` is a raw text delta of the reply
203
235
  * being generated; `meta.reset` (with an empty chunk) tells the renderer to
@@ -268,6 +300,9 @@ export declare class CompanionClient {
268
300
  private _streamState;
269
301
  private readonly streamStateHandlers;
270
302
  private readonly debugSink;
303
+ private outbox;
304
+ private readonly outboxHandlers;
305
+ private outboxFlush;
271
306
  constructor(opts: CompanionClientOptions);
272
307
  /** Fire an instrumentation event. A throwing sink must never break the
273
308
  * request/stream path it observes. */
@@ -354,7 +389,15 @@ export declare class CompanionClient {
354
389
  * can't ride the request (`stream: false`, or an old server) does it fall
355
390
  * back to the event stream — which then DOES need start() — resolving with
356
391
  * the next `companion.message`, or rejecting with code `reply_timeout`
357
- * after `replyTimeoutMs` (default 60s). */
392
+ * after `replyTimeoutMs` (default 60s).
393
+ *
394
+ * OFFLINE QUEUE (0.34.0, opt-in `queueOffline: true`): a send that never
395
+ * REACHED the server — fetch rejected at the network level, or
396
+ * `navigator.onLine` is already false — is queued for replay instead of
397
+ * lost, and resolves `{ seq: null, queued: true, turnId }`. With
398
+ * `awaitReply: true` there is no reply to await this session, so it
399
+ * rejects with code `queued_offline` (the item IS queued first). HTTP
400
+ * error responses keep the throw semantics above — they are never queued. */
358
401
  sendText(text: string, opts: {
359
402
  awaitReply: true;
360
403
  images?: string[];
@@ -370,7 +413,23 @@ export declare class CompanionClient {
370
413
  signal?: AbortSignal;
371
414
  }): Promise<{
372
415
  seq: number | null;
416
+ queued?: boolean;
417
+ turnId?: string;
373
418
  }>;
419
+ /** The pre-queue dispatch of sendText: awaitReply / streaming / buffered. */
420
+ private dispatchText;
421
+ /** True only for a send that never reached the server: fetch rejected at
422
+ * the network level, which asCompanionError wraps as status 0 with NO
423
+ * code. Every code-carrying status-0 error is deliberate — `aborted` is
424
+ * the caller cancelling, `reply_timeout`/`needs_event_stream` mean the
425
+ * POST was accepted — and any nonzero status is a response the server
426
+ * produced. None of those may queue. */
427
+ private isNetworkSendFailure;
428
+ /** Enqueue an offline send. Plain sends resolve `{ seq: null, queued: true,
429
+ * turnId }`; awaitReply can't await a reply that won't arrive this
430
+ * session, so it rejects with `queued_offline` — the item is queued
431
+ * either way. */
432
+ private queueSend;
374
433
  /** The awaitReply leg of sendText. Prefers the in-request answer (the
375
434
  * streaming `done` frame's envelope); falls back to the next
376
435
  * `companion.message` off the event stream, bounded by a timeout. The
@@ -383,6 +442,36 @@ export declare class CompanionClient {
383
442
  * dedups by id). Falls back to buffered semantics if the server ever
384
443
  * responds with plain JSON (e.g. an old deployment). */
385
444
  private sendTextStreaming;
445
+ /** The live offline queue, loaded from the store on first use so a reloaded
446
+ * tab resumes what its predecessor persisted. Unreadable or foreign store
447
+ * content is discarded — a corrupt store must never break sending. */
448
+ private loadOutbox;
449
+ private outboxKey;
450
+ /** Persist + notify after EVERY queue mutation (enqueue / flushed / drop),
451
+ * so the stored copy never lags what a reload would need. Handler
452
+ * isolation matches emit(): a throwing consumer must not skip the rest. */
453
+ private commitOutbox;
454
+ /** The sends queued while offline (oldest first), as a defensive copy —
455
+ * see the `queueOffline` option. */
456
+ pendingOutbox(): readonly QueuedSend[];
457
+ /** Subscribe to offline-queue changes (enqueue / flushed / dropped) — drive
458
+ * a "N pending" badge from `items.length`. Returns an unsubscribe fn. */
459
+ onOutboxChange(handler: (items: readonly QueuedSend[]) => void): () => void;
460
+ /** Replay the offline queue: FIFO, sequential, each item a normal buffered
461
+ * input POST reusing its ORIGINAL `turnId` (the server dedupes completed
462
+ * turnIds — see `queueOffline` — so a retry can never double-run a turn).
463
+ * Runs automatically after connect() and on every stream reconnect; call
464
+ * it yourself for a manual retry affordance. One flush at a time —
465
+ * concurrent calls share the in-flight run. Per item: success (or a
466
+ * server-side duplicate) → removed; network failure / 5xx / 429 → stop,
467
+ * keep this item and the rest for the next flush; any other 4xx → the
468
+ * item itself is invalid (the server deliberately rejected it) — drop it,
469
+ * console.warn, and keep flushing. */
470
+ flushOutbox(): Promise<{
471
+ sent: number;
472
+ remaining: number;
473
+ }>;
474
+ private runOutboxFlush;
386
475
  /** Subscribe to token-streaming deltas of the reply (P1-2). Registering a
387
476
  * subscriber makes sendText stream automatically. Returns an unsubscribe
388
477
  * function. Render chunks as they arrive; on `meta.reset` clear the partial;
@@ -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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"}