@pouchy_ai/companion-sdk 0.36.0 → 0.37.1

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,52 @@ a protocol bump is always called out explicitly here.
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [0.37.1] - 2026-07-18
16
+
17
+ Documentation-only patch — no code, no surface, no protocol change
18
+ (`PROTOCOL_VERSION` stays `1`). Published so the corrected jsdoc actually
19
+ ships in the `.d.ts`.
20
+
21
+ ### Fixed
22
+
23
+ - **Stale `HelloAckPayload` jsdoc**: the event stream's greeting `open` frame
24
+ was described as carrying "just `{ resumeCursor }`" — since 0.37.0 it also
25
+ carries `pendingToolCalls` when reconnecting mid-pause (that release updated
26
+ the greeting but not this comment). Same correction in the Unity
27
+ `Models.cs` doc comment.
28
+
29
+ ## [0.37.0] - 2026-07-17
30
+
31
+ No breaking changes — additive surface. No protocol change (`PROTOCOL_VERSION`
32
+ stays `1`; `pendingToolCalls` / `replayed` are optional additive fields on
33
+ existing payloads).
34
+
35
+ ### Added
36
+
37
+ - **`hello.ack` / `connect()` → `pendingToolCalls`** — the discovery half of
38
+ client-restart recovery for a turn paused on YOUR declared tools. When a
39
+ session is resumed mid-pause (tab reload / crash while the companion waits
40
+ for tool results), the `/session` handshake response — and the stream's
41
+ greeting `open` frame — now list the outstanding calls as
42
+ `PendingToolCall[]` (`{ id, name, args, turnId?, pausedAt? }`, new exported
43
+ type). `HelloAck.pendingToolCalls` is always present on `connect()`'s return
44
+ (empty array when nothing is pending). A reloaded embed can now **complete**
45
+ the paused turn — perform each call and post the results with
46
+ `sendToolResult` (the server's apply is idempotent per call id) — instead of
47
+ abandoning it via `endSession()` (`/end`, the 0.36-era only unblock path;
48
+ that abandon path still works and still clears the pause).
49
+ - **Automatic replay: `replayPendingToolCalls` option** (default `true`) —
50
+ after a `connect()` that resumed mid-pause, each outstanding call is
51
+ re-emitted to your `onToolCall` handler with the new `ToolCallPayload`
52
+ flag **`replayed: true`** (deferred one tick so handlers registered right
53
+ after `connect()` still catch it; at most once per client instance). Your
54
+ existing tool loop completes the turn with zero new code — but register
55
+ `onToolCall` BEFORE `connect()`/`start()` to be safe. Side-effecting tools
56
+ should treat `call.id` as an idempotency key when `replayed` is set: the app
57
+ may have already performed the call and died before posting the result.
58
+ Pass `replayPendingToolCalls: false` to opt out and drive recovery yourself
59
+ from `HelloAck.pendingToolCalls` (judge staleness via `pausedAt` first).
60
+
15
61
  ## [0.36.0] - 2026-07-16
16
62
 
17
63
  No breaking changes — additive surface. No protocol change (`PROTOCOL_VERSION`
package/README.md CHANGED
@@ -119,7 +119,10 @@ never the token, headers, or bodies), `queueOffline` (0.34.0 — opt-in offline
119
119
  send queue, below) with `outboxStore` (custom persistence for it; default
120
120
  localStorage), `requestTimeoutMs` (0.35.0 — deadline for any request to
121
121
  produce response HEADERS, default 30 000 ms, `0` disables; expiry rejects
122
- `code: 'request_timeout'`; never bounds reading a streaming body), and two
122
+ `code: 'request_timeout'`; never bounds reading a streaming body),
123
+ `replayPendingToolCalls` (0.37.0, default `true` — when `connect()` resumes a
124
+ session paused on YOUR tools, re-emit each outstanding call to `onToolCall`
125
+ with `replayed: true`; see "Resuming a paused turn" below), and two
123
126
  injection points for Node/tests: `fetch` (custom fetch implementation) and
124
127
  `webSocketImpl` (WebSocket constructor when `globalThis.WebSocket` is absent).
125
128
 
@@ -134,7 +137,7 @@ type-checks without a cast; `'*'` keeps the untyped envelope:
134
137
  | --- | --- | --- |
135
138
  | `onMessage(fn)` | `companion.message` | the assistant reply (fires exactly once per turn, streaming or not) |
136
139
  | `onDelta(fn)` | *(POST-response SSE)* | **token streaming** — registering makes `sendText` stream the reply as it is generated: `fn(chunk, {reset?})` fires per text chunk (`reset` = clear the partial — that text was tool-call deliberation); `onMessage` then fires once with the authoritative final text (replay-deduplicated). Force per call with `sendText(text, { stream: true \| false })` |
137
- | `onToolCall(fn)` | `companion.tool_call` | the companion asks your app to run a declared tool → `sendToolResult`. The call carries `argsJson` — `args` pre-parsed as JSON (undefined on empty/malformed args) |
140
+ | `onToolCall(fn)` | `companion.tool_call` | the companion asks your app to run a declared tool → `sendToolResult`. The call carries `argsJson` — `args` pre-parsed as JSON (undefined on empty/malformed args). `replayed: true` (0.37.0) marks a re-delivery of a still-outstanding call after a mid-pause reconnect — treat `id` as an idempotency key for side-effecting tools (see "Resuming a paused turn") |
138
141
  | `onRender(fn)` | `companion.ui_action` | **Instant UI** — draw `payload.interface` (platform-neutral genui schema) with your own renderer (web / iOS / Android / CLI). Needs `ui.render` |
139
142
  | `onInterfaceUpdate(fn)` | `companion.ui_update` | live `{key,value}` update to an already-rendered panel (no rebuild) |
140
143
  | `onSocialMessage(fn)` | `companion.social_message` | inbound A2A friend message, delivered cross-app. Needs `social.message` |
@@ -145,7 +148,7 @@ type-checks without a cast; `'*'` keeps the untyped envelope:
145
148
  | `onTyping(fn)` | `companion.typing` | activity indicator — `fn({active})` fires `true` when a turn starts working and `false` when it finishes / pauses, spanning the tool-loop / thinking phase before the first text delta. Drive a "typing…" state |
146
149
  | `on('control.call_ready', fn)` | `control.call_ready` | a voice call is ready — the stream echo of `startCall`'s accept. Deliberately **secret-free** (`{ provider, agentId/model, voice, … }` — the actual WebRTC credentials only ride the `startCall` HTTP response); useful for UI state on surfaces that didn't initiate the call |
147
150
  | `onUsage(fn)` | `control.usage` | per-token metering echo. _(reserved — not emitted yet)_ |
148
- | `onError(fn)` | `control.error` | agent / stream errors — `agent_error` (server-side turn failed after accept; safe to re-send), `call_mint_failed` (voice-credential mint failed — retry later or fall back to text) or the SDK-synthesized `stream_unauthorized` (stream 401 exhausted reconnects — refresh the token, `start()` again). Since 0.30.0 the vocabulary is EXPORTED TYPED: `CONTROL_ERROR_CODES` (runtime list, drift-tested against the server) + the `ControlErrorCodeValue` union `fn`'s `err.code` now carries — `switch` on it with autocomplete |
151
+ | `onError(fn)` | `control.error` | agent / stream errors — `agent_error` (server-side turn failed after accept; safe to re-send), `call_mint_failed` (voice-credential mint failed — retry later or fall back to text) or the SDK-synthesized `stream_unauthorized` (stream 401 exhausted the `onAuthError` refresh retries, or the stream got a 403 immediately terminal, commonly a token missing the `events.subscribe` scope; refresh/fix the token, `start()` again). Since 0.30.0 the vocabulary is EXPORTED TYPED: `CONTROL_ERROR_CODES` (runtime list, drift-tested against the server) + the `ControlErrorCodeValue` union `fn`'s `err.code` now carries — `switch` on it with autocomplete |
149
152
 
150
153
  ### Instant UI
151
154
 
@@ -180,12 +183,15 @@ local/device skills).
180
183
  | `getWallet()` | Read the instance's own wallet — `{ balances: [{ currency, amount }], totalUsd, currency }`. Read-only + receive-only; needs the `wallet.read` scope. |
181
184
  | `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. |
182
185
 
183
- Tool calling beyond your own declared tools: `HOST_CONTROL_TOOLS` (universal
184
- verbs `invoke_action`, `set_feature`, `set_value`, `navigate`, `highlight`)
185
- are offered automatically once you declare `tools`/`handles`, and
186
- `AVATAR_VISUAL_TOOLS` (`play_gesture` / `play_expression`) let avatar-rendering
187
- embeds receive expression cues — declare them or they no-op silently. Full
188
- contract: `docs/companion-host-control.md`.
186
+ Tool calling beyond your own declared tools **voice calls only**: on
187
+ `connectCall()` sessions the SDK automatically offers `HOST_CONTROL_TOOLS`
188
+ (universal verbs `invoke_action`, `set_feature`, `set_value`, `navigate`,
189
+ `highlight`) once you declare `tools`/`handles`, and `AVATAR_VISUAL_TOOLS`
190
+ (`play_gesture` / `play_expression`) let avatar-rendering embeds receive
191
+ expression cues — declare them or they no-op silently. Text turns expose
192
+ exactly the `tools[]` you declared (nothing is auto-added), so declare the
193
+ verbs there yourself if you want them outside calls. Full contract:
194
+ `docs/companion-host-control.md`.
189
195
 
190
196
  **Cancellation (0.29.0, completed in 0.29.1):** every request-performing method
191
197
  accepts an optional `AbortSignal` — including `sendToolResult(callId, result,
@@ -217,6 +223,39 @@ const r = await companion.sendText('hey');
217
223
  if (r.queued) render('queued — sends on reconnect', r.turnId);
218
224
  ```
219
225
 
226
+ **Resuming a paused turn (0.37.0):** a turn that pauses on YOUR declared tools
227
+ used to be unrecoverable if the embed lost its state (tab reload / crash
228
+ mid-pause) — the only unblock was abandoning it via `endSession()` (`/end`).
229
+ Now `connect()` on a session resumed mid-pause returns the outstanding calls as
230
+ `HelloAck.pendingToolCalls` (`PendingToolCall[]` — `{ id, name, args, turnId?,
231
+ pausedAt? }`; always present, empty when none), and — unless you pass
232
+ `replayPendingToolCalls: false` — re-emits each to your `onToolCall` handler
233
+ with `replayed: true` (one tick after `connect()` resolves, at most once per
234
+ client instance), so your existing tool loop completes the turn instead of
235
+ losing it. Register `onToolCall` **before** `connect()`/`start()`. Because the
236
+ app may have already PERFORMED a replayed call and died before posting the
237
+ result, side-effecting tools should treat `id` as an idempotency key when
238
+ `replayed` is set (the server's result apply is idempotent per id too — a
239
+ double `sendToolResult` for the same id is safe); use `pausedAt` to judge
240
+ staleness before re-running something expensive:
241
+
242
+ ```ts
243
+ declare function runTool(name: string, args: unknown): Promise<string>; // yours
244
+
245
+ const performed = new Set<string>(); // your durable "already ran" ledger
246
+ companion.onToolCall(async ({ id, name, argsJson, replayed }) => {
247
+ if (replayed && performed.has(id)) {
248
+ await companion.sendToolResult(id, { ok: true, result: 'already applied' });
249
+ return;
250
+ }
251
+ performed.add(id);
252
+ const result = await runTool(name, argsJson);
253
+ await companion.sendToolResult(id, { ok: true, result });
254
+ });
255
+ const ack = await companion.connect(); // resumed mid-pause → ack.pendingToolCalls
256
+ companion.start();
257
+ ```
258
+
220
259
  ## Scopes (typed)
221
260
 
222
261
  The full capability-scope vocabulary ships as typed constants — no more
@@ -253,8 +292,9 @@ daily budget); on those failures `CompanionError.retryAfter` carries the
253
292
  server's Retry-After in seconds, so back off with
254
293
  `if (e.code === 'rate_limited') await sleep(e.retryAfter * 1000)`. The SDK also synthesizes
255
294
  a few client-side codes outside that HTTP vocabulary: `reply_timeout`
256
- (awaitReply fallback gave up), `stream_unauthorized` (event-stream 401
257
- exhausted reconnects), and 0.26.0 the voice connect-step codes
295
+ (awaitReply fallback gave up), `stream_unauthorized` (event-stream 401/403 —
296
+ a 401 exhausted the token-refresh retries; a 403 is immediately terminal,
297
+ commonly a missing `events.subscribe` scope), and — 0.26.0 — the voice connect-step codes
258
298
  `call_unsupported` (no WebRTC/mic in this environment), `call_connect_failed`
259
299
  (mic timeout / SDP exchange failed) and `call_dependency_missing`
260
300
  (`@elevenlabs/client` not installed). 0.28.0 adds the confirm/step-up codes
@@ -263,13 +303,16 @@ the client-side `needs_event_stream`, and types `CompanionError.code` as the
263
303
  `CompanionErrorCodeValue` union (autocomplete in your `switch`; still open for
264
304
  newer servers). 0.34.0 adds `queued_offline` (a send parked in the offline
265
305
  outbox for replay) and 0.35.0 adds `request_timeout` (the `requestTimeoutMs`
266
- headers deadline fired). The authoritative list is the exported
267
- `SDK_SYNTHESIZED_ERROR_CODES`. (`stream_unauthorized` above is a
306
+ headers deadline fired). The authoritative reference is the exported
307
+ `CompanionErrorCodeValue` union on `CompanionError.code` (the internal
308
+ `SDK_SYNTHESIZED_ERROR_CODES` list is drift-tested but deliberately not part
309
+ of the public index surface). (`stream_unauthorized` above is a
268
310
  `control.error`/`onError` code, not a thrown `CompanionError.code`.) Every
269
- outbound payload has a named type; `ToolCallPayload` (`{ id, name, args }`) types
270
- the `companion.tool_call` event, `MessagePayload` (`{ text, replyTo? }`) types
271
- `companion.message`, and `onToolCall`'s callback receives
272
- `ToolCallEvent` the payload plus `argsJson` (pre-parsed args).
311
+ outbound payload has a named type; `ToolCallPayload` (`{ id, name, args,
312
+ replayed? }`) types the `companion.tool_call` event, `MessagePayload`
313
+ (`{ text, replyTo? }`) types `companion.message`, `PendingToolCall` (0.37.0)
314
+ types the `HelloAck.pendingToolCalls` entries, and `onToolCall`'s callback
315
+ receives `ToolCallEvent` — the payload plus `argsJson` (pre-parsed args).
273
316
 
274
317
  For advanced voice hosts, the lower-level
275
318
  `openCompanionCall(creds, options?, bridge?)` primitive is exported too — it
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AudioClipPayload, CompanionEnvelope, ConfirmRequestPayload, ExpressionPayload, InterfaceUpdatePayload, OutboundPayloadMap, OutboundType, PendingConfirm, RenderInterfacePayload, SocialMessagePayload, ToolCallPayload, TypingPayload, UsagePayload, VoiceInjectPayload, WorldStateEvent } from './protocol.js';
1
+ import type { AudioClipPayload, CompanionEnvelope, ConfirmRequestPayload, ExpressionPayload, InterfaceUpdatePayload, OutboundPayloadMap, OutboundType, PendingConfirm, PendingToolCall, RenderInterfacePayload, SocialMessagePayload, ToolCallPayload, TypingPayload, UsagePayload, VoiceInjectPayload, WorldStateEvent } from './protocol.js';
2
2
  /** Ergonomic world-state input: a WorldStateEvent with the CloudEvents plumbing
3
3
  * (specversion / id / source) optional — sendWorldState fills them. */
4
4
  export type WorldStateInput<D = unknown> = Omit<WorldStateEvent<D>, 'specversion' | 'id' | 'source'> & Partial<Pick<WorldStateEvent<D>, 'specversion' | 'id' | 'source'>>;
@@ -14,7 +14,11 @@ export interface CompanionClientOptions {
14
14
  surface?: string;
15
15
  /** Requested I/O modalities (intersected with the token's grant server-side). */
16
16
  modalities?: string[];
17
- /** Action types this surface can perform (declared at handshake). */
17
+ /** Action types this surface can perform (declared at handshake). Stored but
18
+ * never consumed server-side today — a client-side capability hint whose one
19
+ * SDK effect is opting a tool-less embed into the auto-offered host-control
20
+ * verbs on connectCall() voice sessions. It does NOT register tools for text
21
+ * turns: a tool you want called on a text turn must be declared in `tools`. */
18
22
  handles?: string[];
19
23
  /** World-state kinds this surface emits (declared at handshake). */
20
24
  contextKinds?: string[];
@@ -75,6 +79,19 @@ export interface CompanionClientOptions {
75
79
  * error responses (4xx/5xx incl. 429) are NEVER queued — the server saw
76
80
  * those; they keep the normal throw semantics. Default false. */
77
81
  queueOffline?: boolean;
82
+ /** Replay of pause-orphaned tool calls (0.37.0). When `connect()` resumes a
83
+ * session whose turn is paused on tool calls THIS surface never answered
84
+ * (the page reloaded / crashed mid-pause), the handshake carries them as
85
+ * `pendingToolCalls` and the client re-emits each to your onToolCall
86
+ * handler with `replayed: true` — post the results as usual and the paused
87
+ * turn completes instead of being abandoned. Register onToolCall BEFORE
88
+ * calling connect()/start() to receive them. The result apply is
89
+ * idempotent per call id, but the APP-side effect may not be: if a tool
90
+ * has side effects, treat `call.id` as an idempotency key when
91
+ * `replayed` is set. Pass false to disable the re-emit — the calls stay
92
+ * readable on the `HelloAck.pendingToolCalls` you get from connect().
93
+ * Default true. */
94
+ replayPendingToolCalls?: boolean;
78
95
  /** Persistence for the offline queue (see `queueOffline`). Defaults to
79
96
  * localStorage when available (privacy-mode / quota failures fall back
80
97
  * silently), else an in-memory page-lifetime store. The key is
@@ -103,6 +120,11 @@ export interface HelloAck {
103
120
  * the owner (their two companions are friends). Lets you skip offering a
104
121
  * "pair" affordance to an already-connected visitor. */
105
122
  visitorPaired: boolean;
123
+ /** Outstanding tool calls of a turn that paused before this handshake —
124
+ * non-empty only when resuming mid-pause (0.37.0). Unless
125
+ * `replayPendingToolCalls: false`, each is also re-emitted to onToolCall
126
+ * with `replayed: true` right after connect() resolves. */
127
+ pendingToolCalls: PendingToolCall[];
106
128
  }
107
129
  /** A tool the embedding declares the companion may ask it to perform. */
108
130
  export interface CompanionToolDecl {
@@ -300,6 +322,9 @@ export declare class CompanionClient {
300
322
  private readonly doFetch;
301
323
  private _session;
302
324
  private cursor;
325
+ /** Pause-orphaned call replay fired (0.37.0) — once per client instance, so
326
+ * a manual second connect() can't double-deliver to a live handler. */
327
+ private replayedPendingToolCalls;
303
328
  private streaming;
304
329
  private abort;
305
330
  private streamGen;
@@ -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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"}
package/dist/client.js CHANGED
@@ -77,6 +77,9 @@ export class CompanionClient {
77
77
  doFetch;
78
78
  _session = null;
79
79
  cursor = 0;
80
+ /** Pause-orphaned call replay fired (0.37.0) — once per client instance, so
81
+ * a manual second connect() can't double-deliver to a live handler. */
82
+ replayedPendingToolCalls = false;
80
83
  streaming = false;
81
84
  abort = null;
82
85
  // Bumped on every start()/stop(): a loop whose generation is stale exits
@@ -402,10 +405,40 @@ export class CompanionClient {
402
405
  // while offline (0.34.0; no-op when the queue is empty).
403
406
  if (this.opts.queueOffline)
404
407
  void this.flushOutbox().catch(() => { });
408
+ const pendingToolCalls = Array.isArray(json.pendingToolCalls)
409
+ ? json.pendingToolCalls.filter((c) => !!c && typeof c.id === 'string' && typeof c.name === 'string')
410
+ : [];
411
+ // Pause-orphaned call replay (0.37.0): re-emit each outstanding call to
412
+ // onToolCall so a reloaded embed completes the paused turn. Deferred a
413
+ // tick so `await connect()` callers can still register handlers first;
414
+ // once-per-client so a second connect() (manual re-handshake) can't
415
+ // double-deliver alongside a live handler that already got them. The
416
+ // synthetic envelope id is derived from the callId, so the stream-replay
417
+ // of the ORIGINAL envelope (a client resuming with a persisted cursor)
418
+ // carries a different id and the app-facing `replayed` flag is the
419
+ // dedup signal — see the option's jsdoc on idempotency.
420
+ if (pendingToolCalls.length &&
421
+ this.opts.replayPendingToolCalls !== false &&
422
+ !this.replayedPendingToolCalls) {
423
+ this.replayedPendingToolCalls = true;
424
+ setTimeout(() => {
425
+ for (const c of pendingToolCalls) {
426
+ this.emit({
427
+ v: PROTOCOL_VERSION,
428
+ id: `replay_${c.id}`,
429
+ ts: Date.now(),
430
+ session: json.session,
431
+ type: 'companion.tool_call',
432
+ payload: { id: c.id, name: c.name, args: c.args ?? '', replayed: true }
433
+ });
434
+ }
435
+ }, 0);
436
+ }
405
437
  return {
406
438
  ...json,
407
439
  representative: json.representative ?? false,
408
- visitorPaired: json.visitorPaired ?? false
440
+ visitorPaired: json.visitorPaired ?? false,
441
+ pendingToolCalls
409
442
  };
410
443
  }
411
444
  /** Pair this representative session's VISITOR with the owner so their two
@@ -1111,7 +1144,14 @@ export class CompanionClient {
1111
1144
  const p = env.payload;
1112
1145
  if (typeof p?.id === 'string' && typeof p?.name === 'string') {
1113
1146
  const args = typeof p.args === 'string' ? p.args : '';
1114
- handler({ id: p.id, name: p.name, args, argsJson: parseArgsJson(args) }, env);
1147
+ handler({
1148
+ id: p.id,
1149
+ name: p.name,
1150
+ args,
1151
+ argsJson: parseArgsJson(args),
1152
+ // Pause-orphaned replay (0.37.0) — see replayPendingToolCalls.
1153
+ ...(p.replayed === true ? { replayed: true } : {})
1154
+ }, env);
1115
1155
  }
1116
1156
  });
1117
1157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { openCompanionCall, HOST_CONTROL_TOOLS, HOST_CONTROL_TOOL_NAMES, AVATAR_
7
7
  export type { CompanionCall, CompanionCallOptions, VoiceToolBridge } from './call.js';
8
8
  export { COMPANION_SCOPES, COMPANION_MODALITIES, SENSITIVE_SCOPES, REPRESENT_SCOPES, DEFAULT_SCOPES, DEFAULT_MODALITIES, isSensitiveScope, isRepresentScope, hasScope } from './scopes.js';
9
9
  export type { CompanionScope, CompanionModality } from './scopes.js';
10
- export type { CompanionEnvelope, OutboundType, InboundType, WorldStateEvent, RenderInterfacePayload, InterfaceUpdatePayload, SocialMessagePayload, ConfirmRequestPayload, PendingConfirm, ToolCallPayload, AudioClipPayload, ExpressionPayload, TypingPayload, VoiceInjectPayload, UsagePayload, MessagePayload, ControlErrorPayload, HelloAckPayload, CallReadyPayload, OutboundPayloadMap } from './protocol.js';
10
+ export type { CompanionEnvelope, OutboundType, InboundType, WorldStateEvent, RenderInterfacePayload, InterfaceUpdatePayload, SocialMessagePayload, ConfirmRequestPayload, PendingConfirm, PendingToolCall, ToolCallPayload, AudioClipPayload, ExpressionPayload, TypingPayload, VoiceInjectPayload, UsagePayload, MessagePayload, ControlErrorPayload, HelloAckPayload, CallReadyPayload, OutboundPayloadMap } from './protocol.js';
11
11
  export { PROTOCOL_VERSION, INBOUND_TYPES, OUTBOUND_TYPES, COMPANION_ERROR_CODES, CONTROL_ERROR_CODES } from './protocol.js';
12
12
  export type { CompanionErrorCode, ControlErrorCode } from './protocol.js';
13
13
  export { createCompanionView } from './adapter-core.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAE7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC/E,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,YAAY,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,MAAM,gBAAgB,CAAC;AAExB,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAE7E"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,sDAAsD;AACtD,EAAE;AACF,0DAA0D;AAC1D,6EAA6E;AAC7E,uBAAuB;AACvB,8CAA8C;AAC9C,eAAe;AACf,8EAA8E;AAC9E,2CAA2C;AAE3C,OAAO,EAAE,eAAe,EAA+B,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsB/E,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,MAAM,UAAU,CAAC;AAwBlB,wEAAwE;AACxE,2EAA2E;AAC3E,8EAA8E;AAC9E,gEAAgE;AAChE,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAGpB,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC3D,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,sDAAsD;AACtD,EAAE;AACF,0DAA0D;AAC1D,6EAA6E;AAC7E,uBAAuB;AACvB,8CAA8C;AAC9C,eAAe;AACf,8EAA8E;AAC9E,2CAA2C;AAE3C,OAAO,EAAE,eAAe,EAA+B,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsB/E,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,MAAM,UAAU,CAAC;AAyBlB,wEAAwE;AACxE,2EAA2E;AAC3E,8EAA8E;AAC9E,gEAAgE;AAChE,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAGpB,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC3D,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -102,6 +102,31 @@ export interface ToolCallPayload {
102
102
  name: string;
103
103
  /** The model's arguments as a raw JSON string. */
104
104
  args: string;
105
+ /** True when this delivery is a REPLAY of a still-outstanding call from a
106
+ * turn that paused before a reconnect (see hello.ack `pendingToolCalls`) —
107
+ * the app may have already performed it and crashed before posting the
108
+ * result. Side-effecting tools should treat `id` as an idempotency key.
109
+ * Absent on the original live delivery. */
110
+ replayed?: boolean;
111
+ }
112
+ /** One outstanding tool call from a turn that paused BEFORE this handshake —
113
+ * carried on `hello.ack` (0.37.0) so an embed that lost its state (tab
114
+ * reload / crash mid-pause) can rediscover what it owes and COMPLETE the
115
+ * paused turn instead of abandoning it via `/end`. Post each result with
116
+ * `sendToolResult(id, …)` exactly like a live `companion.tool_call`; the
117
+ * server's apply is idempotent per id, so double-posting is safe. */
118
+ export interface PendingToolCall {
119
+ /** Correlation id — echo it back on the tool result. */
120
+ id: string;
121
+ /** The declared tool name the model chose. */
122
+ name: string;
123
+ /** The model's arguments as a raw JSON string. */
124
+ args: string;
125
+ /** Correlation id of the paused turn (when the pausing client minted one). */
126
+ turnId?: string;
127
+ /** Epoch ms the turn paused / last progressed — judge staleness before
128
+ * replaying a side-effecting call. */
129
+ pausedAt?: number;
105
130
  }
106
131
  /** Payload of a `companion.ui_update` event — a live change to an
107
132
  * already-rendered Instant UI panel: write each `{ key, value }` into the
@@ -207,7 +232,8 @@ export interface ControlErrorPayload {
207
232
  /** Payload of a `hello.ack` — the handshake reply. On the REST plane this is
208
233
  * the `/session` response body (what `connect()` normalizes into `HelloAck`);
209
234
  * the event stream's greeting `open` frame carries a partial echo (just
210
- * `{ resumeCursor }`), so every field is optional at the wire level. */
235
+ * `{ resumeCursor, pendingToolCalls? }` the latter only when reconnecting
236
+ * mid-pause), so every field is optional at the wire level. */
211
237
  export interface HelloAckPayload {
212
238
  session?: string;
213
239
  grantedScopes?: string[];
@@ -215,6 +241,11 @@ export interface HelloAckPayload {
215
241
  resumeCursor?: number;
216
242
  representative?: boolean;
217
243
  visitorPaired?: boolean;
244
+ /** Outstanding tool calls from a turn that paused before this handshake —
245
+ * present (non-empty) only when resuming a session mid-pause. See
246
+ * PendingToolCall; the SDK re-emits them to onToolCall with
247
+ * `replayed: true` unless `replayPendingToolCalls: false`. */
248
+ pendingToolCalls?: PendingToolCall[];
218
249
  }
219
250
  /** Payload of a `control.call_ready` event — the stream echo of `start_call`'s
220
251
  * accept. Deliberately SECRET-FREE (`provider` plus non-secret metadata such
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,yCAAyC;AACzC,eAAO,MAAM,aAAa,0KAUhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;;;qCAMqC;AACrC,eAAO,MAAM,cAAc,4TAejB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErD;;;;;;oDAMoD;AACpD,eAAO,MAAM,mBAAmB,8CAGtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;4EAG4E;AAC5E,eAAO,MAAM,qBAAqB,0SAiBxB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,mEAAmE;AACnE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC7C,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;CACX;AAED;;;;;;;;2EAQ2E;AAC3E,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAC,CAAC;QACrD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACF;AAED;;;;;;;;;6CAS6C;AAC7C,MAAM,WAAW,qBAAqB;IACrC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;sFAGkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;mEACmE;AACnE,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;uDAGuD;AACvD,MAAM,WAAW,eAAe;IAC/B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;kFAGkF;AAClF,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC;CACF;AAED;;gBAEgB;AAChB,MAAM,WAAW,gBAAgB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;uDAEuD;AACvD,MAAM,WAAW,iBAAiB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;uCACuC;AACvC,MAAM,WAAW,YAAY;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;gEAIgE;AAChE,MAAM,WAAW,oBAAoB;IACpC,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;4EAI4E;AAC5E,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CACf;AAED;;;;;;iFAMiF;AACjF,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,OAAO,CAAC;CAChB;AAED;;;+EAG+E;AAC/E,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;oCAEoC;AACpC,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC3C,WAAW,EAAE,KAAK,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;uEAGuE;AACvE,MAAM,WAAW,mBAAmB;IAEnC,IAAI,EAAE,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;yEAGyE;AACzE,MAAM,WAAW,eAAe;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;qCAGqC;AACrC,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrB;AAED;;;yEAGyE;AACzE,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC;IACxE,WAAW,EAAE,eAAe,CAAC;IAC7B,mBAAmB,EAAE,cAAc,CAAC;IACpC,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,qBAAqB,EAAE,eAAe,CAAC;IACvC,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,sBAAsB,EAAE,iBAAiB,CAAC;IAC1C,wBAAwB,EAAE,kBAAkB,CAAC;IAC7C,2BAA2B,EAAE,qBAAqB,CAAC;IACnD,0BAA0B,EAAE,oBAAoB,CAAC;IACjD,kBAAkB,EAAE,aAAa,CAAC;IAClC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,eAAe,EAAE,mBAAmB,CAAC;IACrC,eAAe,EAAE,YAAY,CAAC;CAC9B"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pouchy_ai/companion-sdk",
3
- "version": "0.36.0",
3
+ "version": "0.37.1",
4
4
  "description": "Embed the Pouchy companion — chat, voice, tools, memory, live world-state, instant UI, and agent-to-agent messaging — in any app, game, or site.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
package/src/client.ts CHANGED
@@ -22,6 +22,7 @@ import type {
22
22
  OutboundPayloadMap,
23
23
  OutboundType,
24
24
  PendingConfirm,
25
+ PendingToolCall,
25
26
  RenderInterfacePayload,
26
27
  SocialMessagePayload,
27
28
  ToolCallPayload,
@@ -62,7 +63,11 @@ export interface CompanionClientOptions {
62
63
  surface?: string;
63
64
  /** Requested I/O modalities (intersected with the token's grant server-side). */
64
65
  modalities?: string[];
65
- /** Action types this surface can perform (declared at handshake). */
66
+ /** Action types this surface can perform (declared at handshake). Stored but
67
+ * never consumed server-side today — a client-side capability hint whose one
68
+ * SDK effect is opting a tool-less embed into the auto-offered host-control
69
+ * verbs on connectCall() voice sessions. It does NOT register tools for text
70
+ * turns: a tool you want called on a text turn must be declared in `tools`. */
66
71
  handles?: string[];
67
72
  /** World-state kinds this surface emits (declared at handshake). */
68
73
  contextKinds?: string[];
@@ -117,6 +122,19 @@ export interface CompanionClientOptions {
117
122
  * error responses (4xx/5xx incl. 429) are NEVER queued — the server saw
118
123
  * those; they keep the normal throw semantics. Default false. */
119
124
  queueOffline?: boolean;
125
+ /** Replay of pause-orphaned tool calls (0.37.0). When `connect()` resumes a
126
+ * session whose turn is paused on tool calls THIS surface never answered
127
+ * (the page reloaded / crashed mid-pause), the handshake carries them as
128
+ * `pendingToolCalls` and the client re-emits each to your onToolCall
129
+ * handler with `replayed: true` — post the results as usual and the paused
130
+ * turn completes instead of being abandoned. Register onToolCall BEFORE
131
+ * calling connect()/start() to receive them. The result apply is
132
+ * idempotent per call id, but the APP-side effect may not be: if a tool
133
+ * has side effects, treat `call.id` as an idempotency key when
134
+ * `replayed` is set. Pass false to disable the re-emit — the calls stay
135
+ * readable on the `HelloAck.pendingToolCalls` you get from connect().
136
+ * Default true. */
137
+ replayPendingToolCalls?: boolean;
120
138
  /** Persistence for the offline queue (see `queueOffline`). Defaults to
121
139
  * localStorage when available (privacy-mode / quota failures fall back
122
140
  * silently), else an in-memory page-lifetime store. The key is
@@ -146,6 +164,11 @@ export interface HelloAck {
146
164
  * the owner (their two companions are friends). Lets you skip offering a
147
165
  * "pair" affordance to an already-connected visitor. */
148
166
  visitorPaired: boolean;
167
+ /** Outstanding tool calls of a turn that paused before this handshake —
168
+ * non-empty only when resuming mid-pause (0.37.0). Unless
169
+ * `replayPendingToolCalls: false`, each is also re-emitted to onToolCall
170
+ * with `replayed: true` right after connect() resolves. */
171
+ pendingToolCalls: PendingToolCall[];
149
172
  }
150
173
 
151
174
  /** A tool the embedding declares the companion may ask it to perform. */
@@ -393,6 +416,9 @@ export class CompanionClient {
393
416
  private readonly doFetch: typeof fetch;
394
417
  private _session: string | null = null;
395
418
  private cursor = 0;
419
+ /** Pause-orphaned call replay fired (0.37.0) — once per client instance, so
420
+ * a manual second connect() can't double-deliver to a live handler. */
421
+ private replayedPendingToolCalls = false;
396
422
  private streaming = false;
397
423
  private abort: AbortController | null = null;
398
424
  // Bumped on every start()/stop(): a loop whose generation is stale exits
@@ -734,6 +760,7 @@ export class CompanionClient {
734
760
  resumeCursor: number;
735
761
  representative?: boolean;
736
762
  visitorPaired?: boolean;
763
+ pendingToolCalls?: PendingToolCall[];
737
764
  }>('/api/companion/session', {
738
765
  surface: this.opts.surface ?? 'default',
739
766
  modalities: this.opts.modalities,
@@ -748,10 +775,44 @@ export class CompanionClient {
748
775
  // A successful handshake proves reachability — replay any sends queued
749
776
  // while offline (0.34.0; no-op when the queue is empty).
750
777
  if (this.opts.queueOffline) void this.flushOutbox().catch(() => {});
778
+ const pendingToolCalls = Array.isArray(json.pendingToolCalls)
779
+ ? json.pendingToolCalls.filter(
780
+ (c): c is PendingToolCall => !!c && typeof c.id === 'string' && typeof c.name === 'string'
781
+ )
782
+ : [];
783
+ // Pause-orphaned call replay (0.37.0): re-emit each outstanding call to
784
+ // onToolCall so a reloaded embed completes the paused turn. Deferred a
785
+ // tick so `await connect()` callers can still register handlers first;
786
+ // once-per-client so a second connect() (manual re-handshake) can't
787
+ // double-deliver alongside a live handler that already got them. The
788
+ // synthetic envelope id is derived from the callId, so the stream-replay
789
+ // of the ORIGINAL envelope (a client resuming with a persisted cursor)
790
+ // carries a different id and the app-facing `replayed` flag is the
791
+ // dedup signal — see the option's jsdoc on idempotency.
792
+ if (
793
+ pendingToolCalls.length &&
794
+ this.opts.replayPendingToolCalls !== false &&
795
+ !this.replayedPendingToolCalls
796
+ ) {
797
+ this.replayedPendingToolCalls = true;
798
+ setTimeout(() => {
799
+ for (const c of pendingToolCalls) {
800
+ this.emit({
801
+ v: PROTOCOL_VERSION,
802
+ id: `replay_${c.id}`,
803
+ ts: Date.now(),
804
+ session: json.session,
805
+ type: 'companion.tool_call',
806
+ payload: { id: c.id, name: c.name, args: c.args ?? '', replayed: true }
807
+ } as CompanionEnvelope);
808
+ }
809
+ }, 0);
810
+ }
751
811
  return {
752
812
  ...json,
753
813
  representative: json.representative ?? false,
754
- visitorPaired: json.visitorPaired ?? false
814
+ visitorPaired: json.visitorPaired ?? false,
815
+ pendingToolCalls
755
816
  };
756
817
  }
757
818
 
@@ -1576,10 +1637,20 @@ export class CompanionClient {
1576
1637
  handler: (call: ToolCallEvent, envelope: CompanionEnvelope) => void
1577
1638
  ): () => void {
1578
1639
  return this.on('companion.tool_call', (env) => {
1579
- const p = env.payload as { id?: unknown; name?: unknown; args?: unknown };
1640
+ const p = env.payload as { id?: unknown; name?: unknown; args?: unknown; replayed?: unknown };
1580
1641
  if (typeof p?.id === 'string' && typeof p?.name === 'string') {
1581
1642
  const args = typeof p.args === 'string' ? p.args : '';
1582
- handler({ id: p.id, name: p.name, args, argsJson: parseArgsJson(args) }, env);
1643
+ handler(
1644
+ {
1645
+ id: p.id,
1646
+ name: p.name,
1647
+ args,
1648
+ argsJson: parseArgsJson(args),
1649
+ // Pause-orphaned replay (0.37.0) — see replayPendingToolCalls.
1650
+ ...(p.replayed === true ? { replayed: true } : {})
1651
+ },
1652
+ env
1653
+ );
1583
1654
  }
1584
1655
  });
1585
1656
  }
package/src/index.ts CHANGED
@@ -64,6 +64,7 @@ export type {
64
64
  SocialMessagePayload,
65
65
  ConfirmRequestPayload,
66
66
  PendingConfirm,
67
+ PendingToolCall,
67
68
  ToolCallPayload,
68
69
  AudioClipPayload,
69
70
  ExpressionPayload,
package/src/protocol.ts CHANGED
@@ -161,6 +161,32 @@ export interface ToolCallPayload {
161
161
  name: string;
162
162
  /** The model's arguments as a raw JSON string. */
163
163
  args: string;
164
+ /** True when this delivery is a REPLAY of a still-outstanding call from a
165
+ * turn that paused before a reconnect (see hello.ack `pendingToolCalls`) —
166
+ * the app may have already performed it and crashed before posting the
167
+ * result. Side-effecting tools should treat `id` as an idempotency key.
168
+ * Absent on the original live delivery. */
169
+ replayed?: boolean;
170
+ }
171
+
172
+ /** One outstanding tool call from a turn that paused BEFORE this handshake —
173
+ * carried on `hello.ack` (0.37.0) so an embed that lost its state (tab
174
+ * reload / crash mid-pause) can rediscover what it owes and COMPLETE the
175
+ * paused turn instead of abandoning it via `/end`. Post each result with
176
+ * `sendToolResult(id, …)` exactly like a live `companion.tool_call`; the
177
+ * server's apply is idempotent per id, so double-posting is safe. */
178
+ export interface PendingToolCall {
179
+ /** Correlation id — echo it back on the tool result. */
180
+ id: string;
181
+ /** The declared tool name the model chose. */
182
+ name: string;
183
+ /** The model's arguments as a raw JSON string. */
184
+ args: string;
185
+ /** Correlation id of the paused turn (when the pausing client minted one). */
186
+ turnId?: string;
187
+ /** Epoch ms the turn paused / last progressed — judge staleness before
188
+ * replaying a side-effecting call. */
189
+ pausedAt?: number;
164
190
  }
165
191
 
166
192
  /** Payload of a `companion.ui_update` event — a live change to an
@@ -275,7 +301,8 @@ export interface ControlErrorPayload {
275
301
  /** Payload of a `hello.ack` — the handshake reply. On the REST plane this is
276
302
  * the `/session` response body (what `connect()` normalizes into `HelloAck`);
277
303
  * the event stream's greeting `open` frame carries a partial echo (just
278
- * `{ resumeCursor }`), so every field is optional at the wire level. */
304
+ * `{ resumeCursor, pendingToolCalls? }` the latter only when reconnecting
305
+ * mid-pause), so every field is optional at the wire level. */
279
306
  export interface HelloAckPayload {
280
307
  session?: string;
281
308
  grantedScopes?: string[];
@@ -283,6 +310,11 @@ export interface HelloAckPayload {
283
310
  resumeCursor?: number;
284
311
  representative?: boolean;
285
312
  visitorPaired?: boolean;
313
+ /** Outstanding tool calls from a turn that paused before this handshake —
314
+ * present (non-empty) only when resuming a session mid-pause. See
315
+ * PendingToolCall; the SDK re-emits them to onToolCall with
316
+ * `replayed: true` unless `replayPendingToolCalls: false`. */
317
+ pendingToolCalls?: PendingToolCall[];
286
318
  }
287
319
 
288
320
  /** Payload of a `control.call_ready` event — the stream echo of `start_call`'s