@voice-ai-labs/web-sdk 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +3 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,6 +61,7 @@ await voiceai.connect({ agentId: 'agent-123', testMode: true });
|
|
|
61
61
|
|
|
62
62
|
- `agentId` for a saved agent
|
|
63
63
|
- `dynamicVariables` for optional runtime variables passed at call start
|
|
64
|
+
- `agentOverrides` for optional call-scoped runtime config overrides
|
|
64
65
|
- `testMode` to preview paused agents before deploying
|
|
65
66
|
|
|
66
67
|
### Events
|
|
@@ -276,7 +277,14 @@ await voiceai.agents.disable(agent.agent_id);
|
|
|
276
277
|
await voiceai.agents.createOutboundCall({
|
|
277
278
|
agent_id: agent.agent_id,
|
|
278
279
|
target_phone_number: '+15551234567',
|
|
279
|
-
dynamic_variables: { case_id: 'abc-1' }
|
|
280
|
+
dynamic_variables: { case_id: 'abc-1' },
|
|
281
|
+
agent_overrides: {
|
|
282
|
+
tts_params: {
|
|
283
|
+
voice_id: 'voice_priority_customer',
|
|
284
|
+
dictionary_id: 'dict-123',
|
|
285
|
+
dictionary_version: 2,
|
|
286
|
+
},
|
|
287
|
+
},
|
|
280
288
|
});
|
|
281
289
|
```
|
|
282
290
|
|
|
@@ -294,6 +302,8 @@ Today the SDK includes one Google entry:
|
|
|
294
302
|
|
|
295
303
|
Use the managed Google surface to connect an agent to Google Calendar, Sheets, or Gmail.
|
|
296
304
|
|
|
305
|
+
For a working browser example, see [`demo/managed-tools.html`](https://github.com/voice-ai/web-sdk/blob/main/demo/managed-tools.html).
|
|
306
|
+
|
|
297
307
|
```typescript
|
|
298
308
|
import VoiceAI, {
|
|
299
309
|
GOOGLE_CALENDAR_OPERATION_OPTIONS,
|
|
@@ -331,7 +341,7 @@ const reconnect = getGoogleReconnectState(
|
|
|
331
341
|
|
|
332
342
|
Connection flow:
|
|
333
343
|
|
|
334
|
-
1. Call `startOAuth(...)` with the agent ID, `returnUrl`, and the
|
|
344
|
+
1. Call `startOAuth(...)` with the agent ID, `returnUrl`, and the currently enabled Google managed tool config for the agent.
|
|
335
345
|
2. Open the returned `auth_url` in a popup or browser tab.
|
|
336
346
|
3. Google redirects to the VoiceAI backend callback.
|
|
337
347
|
4. The backend completes OAuth and then returns the user to your `returnUrl`.
|
|
@@ -340,9 +350,9 @@ Connection flow:
|
|
|
340
350
|
Connection semantics:
|
|
341
351
|
|
|
342
352
|
- `startOAuth(...)` manages Google managed-tools access for the agent
|
|
343
|
-
-
|
|
344
|
-
- enabling more Google operations later can require reconnecting to grant
|
|
345
|
-
- `disconnect(...)` removes Google managed-tools access for that agent
|
|
353
|
+
- the Google connection is shared across Calendar, Sheets, and Gmail for that agent
|
|
354
|
+
- enabling more Google operations later can require reconnecting to grant access for the currently enabled Google tools
|
|
355
|
+
- `disconnect(...)` removes Google managed-tools access for all Google tools on that agent
|
|
346
356
|
|
|
347
357
|
Available helpers:
|
|
348
358
|
|
|
@@ -393,7 +403,8 @@ Supported Gmail operations:
|
|
|
393
403
|
Notes:
|
|
394
404
|
|
|
395
405
|
- Google Calendar, Sheets, and Gmail all use the `voiceai.managedTools.google` surface.
|
|
396
|
-
-
|
|
406
|
+
- `startOAuth(...)` uses the Google managed tool config you pass in `managedTools` to determine the scopes requested for the shared agent-level Google connection.
|
|
407
|
+
- If you enable additional Google operations later, `getStatus()` / `getGoogleReconnectState(...)` may report `reconnect_required` until you reconnect and grant access for the currently enabled Google tools.
|
|
397
408
|
- `voiceai.managedTools.google.disconnect(agentId)` removes Google managed-tools access for the agent.
|
|
398
409
|
- `returnUrl` is your app/frontend return target after the VoiceAI backend callback completes. It is not the Google-registered OAuth redirect URI.
|
|
399
410
|
- Calendar `timezone` should be an IANA timezone like `America/Los_Angeles`
|
|
@@ -433,6 +444,32 @@ await voiceai.connect({
|
|
|
433
444
|
- Variables that are not referenced by the runtime prompt are ignored.
|
|
434
445
|
- The runtime is responsible for interpolating these variables into the prompt.
|
|
435
446
|
|
|
447
|
+
### Runtime Agent Overrides
|
|
448
|
+
|
|
449
|
+
Pass optional `agentOverrides` at call start when you need a call-scoped config patch rather than prompt interpolation:
|
|
450
|
+
|
|
451
|
+
```typescript
|
|
452
|
+
await voiceai.connect({
|
|
453
|
+
agentId: agent.agent_id,
|
|
454
|
+
dynamicVariables: {
|
|
455
|
+
customer_name: 'Alice',
|
|
456
|
+
},
|
|
457
|
+
agentOverrides: {
|
|
458
|
+
tts_params: {
|
|
459
|
+
voice_id: 'voice_vip_alice',
|
|
460
|
+
model: 'voiceai-tts-v1-latest',
|
|
461
|
+
language: 'en',
|
|
462
|
+
},
|
|
463
|
+
},
|
|
464
|
+
});
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
- `agentOverrides` is separate from `dynamicVariables`.
|
|
468
|
+
- `dynamicVariables` is for prompt and greeting interpolation.
|
|
469
|
+
- `agentOverrides` is for allowlisted runtime config changes.
|
|
470
|
+
- v1 supports only `tts_params.voice_id`, `model`, `language`, `temperature`, `top_p`, `dictionary_id`, and `dictionary_version`.
|
|
471
|
+
- `agentOverrides` uses the same nested shape as agent config, so voice overrides live under `tts_params`.
|
|
472
|
+
|
|
436
473
|
## Knowledge Base
|
|
437
474
|
|
|
438
475
|
```typescript
|
|
@@ -729,6 +766,17 @@ Your endpoint should respond with:
|
|
|
729
766
|
```typescript
|
|
730
767
|
interface InboundCallWebhookResponse {
|
|
731
768
|
dynamic_variables?: Record<string, string | number | boolean>;
|
|
769
|
+
agent_overrides?: {
|
|
770
|
+
tts_params?: {
|
|
771
|
+
voice_id?: string;
|
|
772
|
+
model?: string;
|
|
773
|
+
language?: string;
|
|
774
|
+
temperature?: number;
|
|
775
|
+
top_p?: number;
|
|
776
|
+
dictionary_id?: string;
|
|
777
|
+
dictionary_version?: number;
|
|
778
|
+
};
|
|
779
|
+
};
|
|
732
780
|
}
|
|
733
781
|
```
|
|
734
782
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAEjB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EAEnB,cAAc,EAEd,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACd,MAAM,SAAS,CAAC;AAKjB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,OAAO;IAKlB,uEAAuE;IACvE,IAAW,MAAM,IAAI,WAAW,CAG/B;IACD,OAAO,CAAC,OAAO,CAAC,CAAc;IAE9B,oDAAoD;IACpD,IAAW,SAAS,IAAI,eAAe,CAGtC;IACD,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,6CAA6C;IAC7C,IAAW,aAAa,IAAI,mBAAmB,CAG9C;IACD,OAAO,CAAC,cAAc,CAAC,CAAsB;IAE7C,6DAA6D;IAC7D,IAAW,YAAY,IAAI,iBAAiB,CAG3C;IACD,OAAO,CAAC,aAAa,CAAC,CAAoB;IAE1C,qEAAqE;IACrE,IAAW,GAAG,IAAI,SAAS,CAG1B;IACD,OAAO,CAAC,IAAI,CAAC,CAAY;IAEzB,yEAAyE;IACzE,IAAW,YAAY,IAAI,kBAAkB,CAG5C;IACD,OAAO,CAAC,aAAa,CAAC,CAAqB;IAM3C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,gBAAgB,CAA6D;IACrF,OAAO,CAAC,qBAAqB,CAAwC;IACrE,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,uBAAuB,CAA0C;IACzE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,uBAAuB,CAAkC;IACjE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,kBAAkB,CAAuB;IAEjD;;;;;;OAMG;gBACS,MAAM,GAAE,aAAkB;IA2BtC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIlF;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CACf,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,cAAc,GAAG,kBAAkB,CAAM,GAC5F,OAAO,CAAC,IAAI,CAAC;IAgDhB;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDxD;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAI7B;;OAEG;IACH,aAAa,IAAI,cAAc;IAO/B;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAWrC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3D;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAK1D;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,IAAI;IAK5D;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI;IAK1C;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAM1D;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKpD;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAgBpE,OAAO,CAAC,cAAc;YAYR,6BAA6B;IAgC3C;;;OAGG;IACH;;;OAGG;YACW,sBAAsB;YAOtB,gBAAgB;YAchB,6BAA6B;YA4D7B,UAAU;IAaxB,OAAO,CAAC,kBAAkB;IAiH1B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,yBAAyB;IAsDjC,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;CAG5B;AAMD,yCAAyC;AACzC,eAAe,OAAO,CAAC;AAEvB,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAS7C,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,KAAK,EACL,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC;AAMjB;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAmBvG;AAED,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,iCAAiC,EACjC,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,qBAAqB,EACrB,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,qCAAqC,EACrC,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -30101,6 +30101,9 @@ class VoiceAI {
|
|
|
30101
30101
|
if (options.dynamicVariables) {
|
|
30102
30102
|
requestData.dynamic_variables = options.dynamicVariables;
|
|
30103
30103
|
}
|
|
30104
|
+
if (options.agentOverrides) {
|
|
30105
|
+
requestData.agent_overrides = options.agentOverrides;
|
|
30106
|
+
}
|
|
30104
30107
|
const authToken = await this.resolveAuthToken(options);
|
|
30105
30108
|
this.effectiveApiKey = authToken;
|
|
30106
30109
|
const response = await fetch(endpoint, {
|