@pouchy_ai/companion-sdk 0.37.1 → 0.38.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 +27 -2
- package/README.md +11 -2
- package/dist/call.js +27 -2
- package/dist/call.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/scopes.d.ts +11 -1
- package/dist/scopes.d.ts.map +1 -1
- package/dist/scopes.js +24 -1
- package/dist/scopes.js.map +1 -1
- package/package.json +1 -1
- package/src/call.ts +32 -2
- package/src/index.ts +2 -1
- package/src/scopes.ts +25 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,29 @@ a protocol bump is always called out explicitly here.
|
|
|
12
12
|
|
|
13
13
|
## [Unreleased]
|
|
14
14
|
|
|
15
|
+
## [0.38.1] - 2026-07-24
|
|
16
|
+
|
|
17
|
+
Fix (voice, OpenAI provider): the SDP-answer **body** read is now bounded by
|
|
18
|
+
the same 8s exchange timer as the headers, and every failure leg cleans up the
|
|
19
|
+
peer connection + mic tracks before throwing. Previously the timer was cleared
|
|
20
|
+
as soon as headers arrived, so a network stall mid-body hung `connectCall()`
|
|
21
|
+
forever **with the microphone already live**, and a body-read or
|
|
22
|
+
`setRemoteDescription` failure escaped as a raw exception (breaking the
|
|
23
|
+
`CompanionError` contract) while leaking the pc + hot mic. All such failures
|
|
24
|
+
now surface as `CompanionError` code `call_connect_failed`. No surface, wire,
|
|
25
|
+
or protocol change (`PROTOCOL_VERSION` stays `1`).
|
|
26
|
+
|
|
27
|
+
## [0.38.0] - 2026-07-19
|
|
28
|
+
|
|
29
|
+
Additive: new `grantsScope(granted, required)` helper. Like `hasScope`, but it
|
|
30
|
+
honours the server's scope subsumption — a key granted only `wallet.spend` now
|
|
31
|
+
`grantsScope(g, 'wallet.read')`, because the wallet API (`GET
|
|
32
|
+
/api/companion/wallet`, `getWallet()`) serves the balance to a spender. Gate a
|
|
33
|
+
read-only affordance on `grantsScope`, not `hasScope`, or the UI hides a feature
|
|
34
|
+
the server would allow. `hasScope` is unchanged (exact-match), for
|
|
35
|
+
"was-this-scope-explicitly-granted" checks. No wire/protocol change
|
|
36
|
+
(`PROTOCOL_VERSION` stays `1`); no scope vocabulary change.
|
|
37
|
+
|
|
15
38
|
## [0.37.1] - 2026-07-18
|
|
16
39
|
|
|
17
40
|
Documentation-only patch — no code, no surface, no protocol change
|
|
@@ -213,7 +236,7 @@ Backwards-compatible fixes to the adapter view controller (`createCompanionView`
|
|
|
213
236
|
now removes the dead card from `pendingConfirms` (other rejections keep the
|
|
214
237
|
card for retry). The error still propagates.
|
|
215
238
|
|
|
216
|
-
|
|
239
|
+
## [0.32.0] - 2026-07-14
|
|
217
240
|
|
|
218
241
|
No breaking changes — additive surface + docs infrastructure. No protocol
|
|
219
242
|
change (`PROTOCOL_VERSION` stays `1`).
|
|
@@ -961,7 +984,9 @@ self-hosted/CDN build; this entry captures the surface that ships publicly.
|
|
|
961
984
|
- **Versioned wire protocol.** `PROTOCOL_VERSION = 1`, kept in lockstep with the
|
|
962
985
|
server by `protocol.drift.test.ts` (fails CI on divergence).
|
|
963
986
|
|
|
964
|
-
[Unreleased]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.
|
|
987
|
+
[Unreleased]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.37.1...HEAD
|
|
988
|
+
[0.37.1]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.37.0...companion-sdk-v0.37.1
|
|
989
|
+
[0.37.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.36.0...companion-sdk-v0.37.0
|
|
965
990
|
[0.36.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.35.0...companion-sdk-v0.36.0
|
|
966
991
|
[0.35.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.34.0...companion-sdk-v0.35.0
|
|
967
992
|
[0.34.0]: https://github.com/oviswang/Pouchy/compare/companion-sdk-v0.33.0...companion-sdk-v0.34.0
|
package/README.md
CHANGED
|
@@ -264,18 +264,27 @@ copying scope strings from prose:
|
|
|
264
264
|
```ts
|
|
265
265
|
import {
|
|
266
266
|
COMPANION_SCOPES, SENSITIVE_SCOPES, DEFAULT_SCOPES,
|
|
267
|
-
hasScope, isSensitiveScope, type CompanionScope
|
|
267
|
+
hasScope, grantsScope, isSensitiveScope, type CompanionScope
|
|
268
268
|
} from '@pouchy_ai/companion-sdk';
|
|
269
269
|
|
|
270
270
|
const ack = await c.connect();
|
|
271
271
|
if (!hasScope(ack.grantedScopes, 'skills.execute')) {
|
|
272
272
|
// hide the "run a skill" affordance instead of eating a 403
|
|
273
273
|
}
|
|
274
|
+
// Gate a READ-ONLY affordance with grantsScope, not hasScope: a key granted
|
|
275
|
+
// only `wallet.spend` can still read the balance, so hasScope(g,'wallet.read')
|
|
276
|
+
// would wrongly hide it. grantsScope honours that subsumption.
|
|
277
|
+
if (grantsScope(ack.grantedScopes, 'wallet.read')) {
|
|
278
|
+
// safe to show the wallet balance (getWallet() will succeed)
|
|
279
|
+
}
|
|
274
280
|
```
|
|
275
281
|
|
|
276
282
|
`COMPANION_SCOPES` lists every scope a key can carry; `SENSITIVE_SCOPES` are
|
|
277
283
|
the ones that are never on by default (money / skills / social / core memory /
|
|
278
|
-
the representative plane); `DEFAULT_SCOPES` is what a fresh key gets.
|
|
284
|
+
the representative plane); `DEFAULT_SCOPES` is what a fresh key gets.
|
|
285
|
+
`hasScope(granted, required)` is an exact-grant check; **`grantsScope(granted,
|
|
286
|
+
required)`** additionally honours scope subsumption (`wallet.spend` ⊇
|
|
287
|
+
`wallet.read`) — use it to gate whether an API call will succeed. Also
|
|
279
288
|
exported: `COMPANION_MODALITIES`, `REPRESENT_SCOPES`, `DEFAULT_MODALITIES`,
|
|
280
289
|
`isRepresentScope()`. The list mirrors the server vocabulary and is guarded by
|
|
281
290
|
the SDK's drift test.
|
package/dist/call.js
CHANGED
|
@@ -379,12 +379,37 @@ async function openOpenAICall(creds, opts, bridge) {
|
|
|
379
379
|
? 'OpenAI Realtime SDP exchange timed out'
|
|
380
380
|
: 'OpenAI Realtime SDP exchange failed', 0, 'call_connect_failed');
|
|
381
381
|
}
|
|
382
|
-
clearTimeout(sdpTimer);
|
|
383
382
|
if (!res.ok) {
|
|
383
|
+
clearTimeout(sdpTimer);
|
|
384
384
|
cleanupPartial();
|
|
385
385
|
throw new CompanionError(`OpenAI Realtime SDP exchange failed (${res.status})`, res.status, 'call_connect_failed');
|
|
386
386
|
}
|
|
387
|
-
|
|
387
|
+
// The answer BODY read must stay under the sdp timer too: clearing the timer
|
|
388
|
+
// at headers left `res.text()` unbounded — a mid-body stall hung connectCall()
|
|
389
|
+
// forever with the mic already hot (the exact hazard the timer exists for).
|
|
390
|
+
// The fetch signal aborts body reads as well, so the same timer covers both.
|
|
391
|
+
let answerSdp;
|
|
392
|
+
try {
|
|
393
|
+
answerSdp = await res.text();
|
|
394
|
+
}
|
|
395
|
+
catch {
|
|
396
|
+
cleanupPartial();
|
|
397
|
+
throw new CompanionError(sdpAbort.signal.aborted
|
|
398
|
+
? 'OpenAI Realtime SDP exchange timed out'
|
|
399
|
+
: 'OpenAI Realtime SDP exchange failed', 0, 'call_connect_failed');
|
|
400
|
+
}
|
|
401
|
+
finally {
|
|
402
|
+
clearTimeout(sdpTimer);
|
|
403
|
+
}
|
|
404
|
+
try {
|
|
405
|
+
await pc.setRemoteDescription({ type: 'answer', sdp: answerSdp });
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
// Malformed/rejected answer — without this, the raw DOMException escaped
|
|
409
|
+
// un-wrapped and the pc + mic tracks leaked.
|
|
410
|
+
cleanupPartial();
|
|
411
|
+
throw new CompanionError('OpenAI Realtime SDP answer rejected', 0, 'call_connect_failed');
|
|
412
|
+
}
|
|
388
413
|
let closed = false;
|
|
389
414
|
// `disconnected` is TRANSIENT per the WebRTC spec — a brief Wi-Fi hiccup or a
|
|
390
415
|
// cell handoff routinely drops to `disconnected` and recovers to `connected`
|
package/dist/call.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../src/call.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../src/call.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type { CompanionErrorCodeValue, ControlErrorCodeValue } from './errors.js
|
|
|
5
5
|
export type { CompanionClientOptions, CompanionStreamState, HelloAck, RecalledMemory, CompanionTurn, CallCredentials, CompanionToolDecl, ToolCallEvent, WorldStateInput, CompanionAvatar, CompanionWallet, WalletBalance, BrandIconSize, EndSessionResult, SendTextReply, QueuedSend, OutboxStore } from './client.js';
|
|
6
6
|
export { openCompanionCall, HOST_CONTROL_TOOLS, HOST_CONTROL_TOOL_NAMES, AVATAR_VISUAL_TOOLS, AVATAR_VISUAL_TOOL_NAMES } from './call.js';
|
|
7
7
|
export type { CompanionCall, CompanionCallOptions, VoiceToolBridge } from './call.js';
|
|
8
|
-
export { COMPANION_SCOPES, COMPANION_MODALITIES, SENSITIVE_SCOPES, REPRESENT_SCOPES, DEFAULT_SCOPES, DEFAULT_MODALITIES, isSensitiveScope, isRepresentScope, hasScope } from './scopes.js';
|
|
8
|
+
export { COMPANION_SCOPES, COMPANION_MODALITIES, SENSITIVE_SCOPES, REPRESENT_SCOPES, DEFAULT_SCOPES, DEFAULT_MODALITIES, isSensitiveScope, isRepresentScope, hasScope, grantsScope } from './scopes.js';
|
|
9
9
|
export type { CompanionScope, CompanionModality } from './scopes.js';
|
|
10
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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,WAAW,EACX,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
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { CompanionClient } from './client.js';
|
|
13
13
|
export { CompanionClient, CompanionError, pouchyBrandIconUrl } from './client.js';
|
|
14
14
|
export { openCompanionCall, HOST_CONTROL_TOOLS, HOST_CONTROL_TOOL_NAMES, AVATAR_VISUAL_TOOLS, AVATAR_VISUAL_TOOL_NAMES } from './call.js';
|
|
15
|
-
export { COMPANION_SCOPES, COMPANION_MODALITIES, SENSITIVE_SCOPES, REPRESENT_SCOPES, DEFAULT_SCOPES, DEFAULT_MODALITIES, isSensitiveScope, isRepresentScope, hasScope } from './scopes.js';
|
|
15
|
+
export { COMPANION_SCOPES, COMPANION_MODALITIES, SENSITIVE_SCOPES, REPRESENT_SCOPES, DEFAULT_SCOPES, DEFAULT_MODALITIES, isSensitiveScope, isRepresentScope, hasScope, grantsScope } from './scopes.js';
|
|
16
16
|
// Runtime protocol constants — so a host can assert PROTOCOL_VERSION or
|
|
17
17
|
// enumerate/validate the event vocabulary without hard-coding the strings.
|
|
18
18
|
// CONTROL_ERROR_CODES (0.30.0) is the stream-plane control.error vocabulary —
|
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;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"}
|
|
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,WAAW,EACX,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"}
|
package/dist/scopes.d.ts
CHANGED
|
@@ -20,6 +20,16 @@ export declare const DEFAULT_MODALITIES: readonly CompanionModality[];
|
|
|
20
20
|
export declare function isSensitiveScope(s: CompanionScope): boolean;
|
|
21
21
|
export declare function isRepresentScope(s: CompanionScope): boolean;
|
|
22
22
|
/** Does a granted scope set (e.g. `hello.ack.grantedScopes`) satisfy a
|
|
23
|
-
* required scope? Exact-match for v1 (no hierarchical wildcards).
|
|
23
|
+
* required scope? Exact-match for v1 (no hierarchical wildcards). Use this for
|
|
24
|
+
* an EXACT-grant check ("was this scope explicitly granted?"). To gate a
|
|
25
|
+
* feature on whether an API CALL will succeed, prefer `grantsScope`, which
|
|
26
|
+
* also honours scope subsumption. */
|
|
24
27
|
export declare function hasScope(granted: readonly string[], required: CompanionScope): boolean;
|
|
28
|
+
/** Like {@link hasScope}, but honours the server's scope subsumptions — so a key
|
|
29
|
+
* granted only `wallet.spend` still `grantsScope(g, 'wallet.read')` (the API
|
|
30
|
+
* would serve the balance). Gate a read-only affordance (e.g. showing the
|
|
31
|
+
* wallet balance via `getWallet()`) on THIS, not `hasScope`, or the UI hides a
|
|
32
|
+
* feature the server would allow. For non-subsumed scopes it is identical to
|
|
33
|
+
* `hasScope`. */
|
|
34
|
+
export declare function grantsScope(granted: readonly string[], required: CompanionScope): boolean;
|
|
25
35
|
//# sourceMappingURL=scopes.d.ts.map
|
package/dist/scopes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAUA,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,8UAsBnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,6CAA8C,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;iDAEiD;AACjD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAWvD,CAAC;AAEH;;;6EAG6E;AAC7E,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAMvD,CAAC;AAEH;oEACoE;AACpE,eAAO,MAAM,cAAc,EAAE,SAAS,cAAc,EASnD,CAAC;AACF,eAAO,MAAM,kBAAkB,EAAE,SAAS,iBAAiB,EAAsB,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAE3D;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAE3D;AAED;
|
|
1
|
+
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAUA,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,8UAsBnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,6CAA8C,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;iDAEiD;AACjD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAWvD,CAAC;AAEH;;;6EAG6E;AAC7E,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAMvD,CAAC;AAEH;oEACoE;AACpE,eAAO,MAAM,cAAc,EAAE,SAAS,cAAc,EASnD,CAAC;AACF,eAAO,MAAM,kBAAkB,EAAE,SAAS,iBAAiB,EAAsB,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAE3D;AACD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAE3D;AAED;;;;sCAIsC;AACtC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAEtF;AAWD;;;;;kBAKkB;AAClB,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAIzF"}
|
package/dist/scopes.js
CHANGED
|
@@ -79,8 +79,31 @@ export function isRepresentScope(s) {
|
|
|
79
79
|
return REPRESENT_SCOPES.has(s);
|
|
80
80
|
}
|
|
81
81
|
/** Does a granted scope set (e.g. `hello.ack.grantedScopes`) satisfy a
|
|
82
|
-
* required scope? Exact-match for v1 (no hierarchical wildcards).
|
|
82
|
+
* required scope? Exact-match for v1 (no hierarchical wildcards). Use this for
|
|
83
|
+
* an EXACT-grant check ("was this scope explicitly granted?"). To gate a
|
|
84
|
+
* feature on whether an API CALL will succeed, prefer `grantsScope`, which
|
|
85
|
+
* also honours scope subsumption. */
|
|
83
86
|
export function hasScope(granted, required) {
|
|
84
87
|
return granted.includes(required);
|
|
85
88
|
}
|
|
89
|
+
/** Scope subsumption: for a required scope, the OTHER granted scopes that also
|
|
90
|
+
* satisfy it on the server. v1 has exactly one — `wallet.spend` can already see
|
|
91
|
+
* the balance, so it also satisfies a `wallet.read` (mirrors the server gate at
|
|
92
|
+
* `GET /api/companion/wallet`). Keep in lockstep with the server if more are
|
|
93
|
+
* added. */
|
|
94
|
+
const SCOPE_SUBSUMED_BY = {
|
|
95
|
+
'wallet.read': ['wallet.spend']
|
|
96
|
+
};
|
|
97
|
+
/** Like {@link hasScope}, but honours the server's scope subsumptions — so a key
|
|
98
|
+
* granted only `wallet.spend` still `grantsScope(g, 'wallet.read')` (the API
|
|
99
|
+
* would serve the balance). Gate a read-only affordance (e.g. showing the
|
|
100
|
+
* wallet balance via `getWallet()`) on THIS, not `hasScope`, or the UI hides a
|
|
101
|
+
* feature the server would allow. For non-subsumed scopes it is identical to
|
|
102
|
+
* `hasScope`. */
|
|
103
|
+
export function grantsScope(granted, required) {
|
|
104
|
+
if (granted.includes(required))
|
|
105
|
+
return true;
|
|
106
|
+
const implied = SCOPE_SUBSUMED_BY[required];
|
|
107
|
+
return implied ? implied.some((s) => granted.includes(s)) : false;
|
|
108
|
+
}
|
|
86
109
|
//# sourceMappingURL=scopes.js.map
|
package/dist/scopes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,kCAAkC;AAClC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,0CAA0C;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,gCAAgC;IACxC,OAAO,EAAE,0CAA0C;IACnD,kBAAkB,EAAE,8CAA8C;IAClE,kBAAkB,EAAE,iDAAiD;IACrE,WAAW,EAAE,4FAA4F;IACzG,iBAAiB,EAAE,uCAAuC;IAC1D,kBAAkB,EAAE,6CAA6C;IACjE,kBAAkB,EAAE,2CAA2C;IAC/D,mBAAmB,EAAE,iDAAiD;IACtE,gBAAgB,EAAE,8CAA8C;IAChE,aAAa,EAAE,4KAA4K;IAC3L,cAAc,EAAE,yCAAyC;IACzD,gBAAgB,EAAE,sCAAsC;IACxD,yEAAyE;IACzE,WAAW,EAAE,0DAA0D;IACvE,kBAAkB,EAAE,wEAAwE;IAC5F,cAAc,EAAE,qEAAqE;IACrF,gBAAgB,EAAE,mFAAmF;IACrG,oBAAoB,CAAC,gFAAgF;CAC5F,CAAC;AAGX,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAGhF;;iDAEiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAgC,IAAI,GAAG,CAAiB;IACpF,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;CACpB,CAAC,CAAC;AAEH;;;6EAG6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAgC,IAAI,GAAG,CAAiB;IACpF,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;CACpB,CAAC,CAAC;AAEH;oEACoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAA8B;IACxD,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAiC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;
|
|
1
|
+
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,kCAAkC;AAClC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,0CAA0C;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,gCAAgC;IACxC,OAAO,EAAE,0CAA0C;IACnD,kBAAkB,EAAE,8CAA8C;IAClE,kBAAkB,EAAE,iDAAiD;IACrE,WAAW,EAAE,4FAA4F;IACzG,iBAAiB,EAAE,uCAAuC;IAC1D,kBAAkB,EAAE,6CAA6C;IACjE,kBAAkB,EAAE,2CAA2C;IAC/D,mBAAmB,EAAE,iDAAiD;IACtE,gBAAgB,EAAE,8CAA8C;IAChE,aAAa,EAAE,4KAA4K;IAC3L,cAAc,EAAE,yCAAyC;IACzD,gBAAgB,EAAE,sCAAsC;IACxD,yEAAyE;IACzE,WAAW,EAAE,0DAA0D;IACvE,kBAAkB,EAAE,wEAAwE;IAC5F,cAAc,EAAE,qEAAqE;IACrF,gBAAgB,EAAE,mFAAmF;IACrG,oBAAoB,CAAC,gFAAgF;CAC5F,CAAC;AAGX,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAGhF;;iDAEiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAgC,IAAI,GAAG,CAAiB;IACpF,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;CACpB,CAAC,CAAC;AAEH;;;6EAG6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAgC,IAAI,GAAG,CAAiB;IACpF,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;CACpB,CAAC,CAAC;AAEH;oEACoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAA8B;IACxD,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAiC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;sCAIsC;AACtC,MAAM,UAAU,QAAQ,CAAC,OAA0B,EAAE,QAAwB;IAC5E,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;aAIa;AACb,MAAM,iBAAiB,GAA+D;IACrF,aAAa,EAAE,CAAC,cAAc,CAAC;CAC/B,CAAC;AAEF;;;;;kBAKkB;AAClB,MAAM,UAAU,WAAW,CAAC,OAA0B,EAAE,QAAwB;IAC/E,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACnE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pouchy_ai/companion-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.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/call.ts
CHANGED
|
@@ -471,8 +471,8 @@ async function openOpenAICall(
|
|
|
471
471
|
'call_connect_failed'
|
|
472
472
|
);
|
|
473
473
|
}
|
|
474
|
-
clearTimeout(sdpTimer);
|
|
475
474
|
if (!res.ok) {
|
|
475
|
+
clearTimeout(sdpTimer);
|
|
476
476
|
cleanupPartial();
|
|
477
477
|
throw new CompanionError(
|
|
478
478
|
`OpenAI Realtime SDP exchange failed (${res.status})`,
|
|
@@ -480,7 +480,37 @@ async function openOpenAICall(
|
|
|
480
480
|
'call_connect_failed'
|
|
481
481
|
);
|
|
482
482
|
}
|
|
483
|
-
|
|
483
|
+
// The answer BODY read must stay under the sdp timer too: clearing the timer
|
|
484
|
+
// at headers left `res.text()` unbounded — a mid-body stall hung connectCall()
|
|
485
|
+
// forever with the mic already hot (the exact hazard the timer exists for).
|
|
486
|
+
// The fetch signal aborts body reads as well, so the same timer covers both.
|
|
487
|
+
let answerSdp: string;
|
|
488
|
+
try {
|
|
489
|
+
answerSdp = await res.text();
|
|
490
|
+
} catch {
|
|
491
|
+
cleanupPartial();
|
|
492
|
+
throw new CompanionError(
|
|
493
|
+
sdpAbort.signal.aborted
|
|
494
|
+
? 'OpenAI Realtime SDP exchange timed out'
|
|
495
|
+
: 'OpenAI Realtime SDP exchange failed',
|
|
496
|
+
0,
|
|
497
|
+
'call_connect_failed'
|
|
498
|
+
);
|
|
499
|
+
} finally {
|
|
500
|
+
clearTimeout(sdpTimer);
|
|
501
|
+
}
|
|
502
|
+
try {
|
|
503
|
+
await pc.setRemoteDescription({ type: 'answer', sdp: answerSdp });
|
|
504
|
+
} catch {
|
|
505
|
+
// Malformed/rejected answer — without this, the raw DOMException escaped
|
|
506
|
+
// un-wrapped and the pc + mic tracks leaked.
|
|
507
|
+
cleanupPartial();
|
|
508
|
+
throw new CompanionError(
|
|
509
|
+
'OpenAI Realtime SDP answer rejected',
|
|
510
|
+
0,
|
|
511
|
+
'call_connect_failed'
|
|
512
|
+
);
|
|
513
|
+
}
|
|
484
514
|
|
|
485
515
|
let closed = false;
|
|
486
516
|
// `disconnected` is TRANSIENT per the WebRTC spec — a brief Wi-Fi hiccup or a
|
package/src/index.ts
CHANGED
package/src/scopes.ts
CHANGED
|
@@ -88,7 +88,31 @@ export function isRepresentScope(s: CompanionScope): boolean {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
/** Does a granted scope set (e.g. `hello.ack.grantedScopes`) satisfy a
|
|
91
|
-
* required scope? Exact-match for v1 (no hierarchical wildcards).
|
|
91
|
+
* required scope? Exact-match for v1 (no hierarchical wildcards). Use this for
|
|
92
|
+
* an EXACT-grant check ("was this scope explicitly granted?"). To gate a
|
|
93
|
+
* feature on whether an API CALL will succeed, prefer `grantsScope`, which
|
|
94
|
+
* also honours scope subsumption. */
|
|
92
95
|
export function hasScope(granted: readonly string[], required: CompanionScope): boolean {
|
|
93
96
|
return granted.includes(required);
|
|
94
97
|
}
|
|
98
|
+
|
|
99
|
+
/** Scope subsumption: for a required scope, the OTHER granted scopes that also
|
|
100
|
+
* satisfy it on the server. v1 has exactly one — `wallet.spend` can already see
|
|
101
|
+
* the balance, so it also satisfies a `wallet.read` (mirrors the server gate at
|
|
102
|
+
* `GET /api/companion/wallet`). Keep in lockstep with the server if more are
|
|
103
|
+
* added. */
|
|
104
|
+
const SCOPE_SUBSUMED_BY: Partial<Record<CompanionScope, readonly CompanionScope[]>> = {
|
|
105
|
+
'wallet.read': ['wallet.spend']
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
/** Like {@link hasScope}, but honours the server's scope subsumptions — so a key
|
|
109
|
+
* granted only `wallet.spend` still `grantsScope(g, 'wallet.read')` (the API
|
|
110
|
+
* would serve the balance). Gate a read-only affordance (e.g. showing the
|
|
111
|
+
* wallet balance via `getWallet()`) on THIS, not `hasScope`, or the UI hides a
|
|
112
|
+
* feature the server would allow. For non-subsumed scopes it is identical to
|
|
113
|
+
* `hasScope`. */
|
|
114
|
+
export function grantsScope(granted: readonly string[], required: CompanionScope): boolean {
|
|
115
|
+
if (granted.includes(required)) return true;
|
|
116
|
+
const implied = SCOPE_SUBSUMED_BY[required];
|
|
117
|
+
return implied ? implied.some((s) => granted.includes(s)) : false;
|
|
118
|
+
}
|