@voice-ai-labs/web-sdk 0.9.1 → 0.9.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 CHANGED
@@ -37,7 +37,7 @@ The SDK provides a unified interface for:
37
37
  - [**Agent Management**](#agent-management) — Create, update, deploy, and manage agents
38
38
  - [**Knowledge Base**](#knowledge-base) — Manage RAG documents for your agents
39
39
  - [**Phone Numbers**](#phone-numbers) — Search and manage phone numbers
40
- - [**Analytics**](#analytics) — Access call history and transcripts
40
+ - [**Analytics**](#analytics) — Access call history, transcripts, and recordings
41
41
  - [**Webhooks**](#webhooks) — Receive real-time notifications for call events
42
42
  - [**Security**](#security) — Backend token exchange, endToken, CORS
43
43
  - [**Error Handling**](#error-handling) — Connection and API error handling
@@ -246,6 +246,7 @@ const agent = await voiceai.agents.create({
246
246
  config: {
247
247
  prompt: 'You are a helpful customer support agent.',
248
248
  greeting: 'Hello! How can I help you today?',
249
+ recording_enabled: true,
249
250
  tts_params: {
250
251
  voice_id: 'my-voice-id',
251
252
  model: 'voiceai-tts-v1-latest',
@@ -281,6 +282,10 @@ await voiceai.agents.createOutboundCall({
281
282
  > **Outbound access control:** `POST /api/v1/calls/outbound` is restricted to approved accounts.
282
283
  > If you need outbound enabled for your account/workspace, please contact Voice.ai support.
283
284
 
285
+ > **Update behavior:** `voiceai.agents.update()` is a partial update. Omit a field to leave it unchanged. For nullable scalar fields like `prompt`, `greeting`, `phone_number`, or nested `tts_params` fields, pass `null` to clear the current value. See section-specific notes below for webhook clearing behavior.
286
+
287
+ > **Recording:** `config.recording_enabled` defaults to `true` for new agents. Set it to `false` to disable recording for future calls.
288
+
284
289
  ### Dynamic Variables
285
290
 
286
291
  Pass optional `dynamic_variables` at call start and reference them in your prompt with `{{variable_name}}`:
@@ -366,6 +371,12 @@ const history = await voiceai.analytics.getCallHistory({
366
371
  // Get transcript URL
367
372
  const transcript = await voiceai.analytics.getTranscriptUrl(callId);
368
373
 
374
+ // Get recording status or URL
375
+ const recording = await voiceai.analytics.getRecordingUrl(callId);
376
+ if (recording.status === 'ready' && recording.url) {
377
+ window.open(recording.url, '_blank');
378
+ }
379
+
369
380
  // Get stats summary
370
381
  const stats = await voiceai.analytics.getStatsSummary();
371
382
  ```
@@ -468,12 +479,15 @@ await voiceai.agents.update(agentId, {
468
479
  - `webhooks.events`
469
480
  - Required: `url`
470
481
  - Optional: `secret`, `events`, `timeout` (default `5`), `enabled` (default `true`)
482
+ - On update: omit `events` to preserve the existing event webhook, set `events: null` to remove it, set `secret: null` to clear only the signing secret, and use `events: []` to receive all event types
471
483
  - `webhooks.inbound_call`
472
484
  - Required: `url`
473
485
  - Optional: `secret`, `timeout` (default `5`), `enabled` (default `true`)
486
+ - On update: omit `inbound_call` to preserve it, set `inbound_call: null` to remove it, and set `secret: null` to clear only the signing secret
474
487
  - `webhooks.tools`
475
488
  - Required per tool: `name`, `description`, `parameters`, `url`, `method`, `execution_mode`, `auth_type`
476
489
  - Optional per tool: `auth_token`, `headers`, `response`, `timeout` (default `10`)
490
+ - On update: omit `tools` to leave the current tool list unchanged, set `tools: null` to clear all tools, or pass a new array to replace the current list
477
491
 
478
492
  If a field is optional and omitted, the service uses the documented default. Prefer omitting optional fields instead of sending `null` unless you explicitly intend to clear behavior in a supported way.
479
493
 
@@ -4,10 +4,11 @@
4
4
  * Provides methods for:
5
5
  * - Getting call history with filters
6
6
  * - Getting transcript URLs
7
+ * - Getting recording status and URLs
7
8
  * - Getting agent stats summary
8
9
  */
9
10
  import { BaseClient, BaseClientConfig } from './base';
10
- import type { PaginatedCallHistoryResponse, GetCallHistoryOptions, TranscriptResponse, AgentStatsSummaryResponse } from '../types';
11
+ import type { PaginatedCallHistoryResponse, GetCallHistoryOptions, TranscriptResponse, RecordingResponse, AgentStatsSummaryResponse } from '../types';
11
12
  /**
12
13
  * Client for analytics and reporting operations
13
14
  */
@@ -58,6 +59,22 @@ export declare class AnalyticsClient extends BaseClient {
58
59
  * ```
59
60
  */
60
61
  getTranscriptUrl(callId: string): Promise<TranscriptResponse>;
62
+ /**
63
+ * Get recording status or download URL for a call
64
+ *
65
+ * @param callId - The call identifier
66
+ * @returns Object with recording status and optional URL
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const recording = await client.analytics.getRecordingUrl("call_12345");
71
+ *
72
+ * if (recording.status === 'ready' && recording.url) {
73
+ * window.open(recording.url, '_blank');
74
+ * }
75
+ * ```
76
+ */
77
+ getRecordingUrl(callId: string): Promise<RecordingResponse>;
61
78
  /**
62
79
  * Get agent stats summary
63
80
  *
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/client/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,MAAM,EAAE,gBAAgB;IAIpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAY5F;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE;;;;;;;;;;;;;OAaG;IACG,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAG5D"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/client/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,MAAM,EAAE,gBAAgB;IAIpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAY5F;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE;;;;;;;;;;;;;;OAcG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIjE;;;;;;;;;;;;;OAaG;IACG,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAG5D"}
@@ -4,6 +4,7 @@
4
4
  * Provides methods for:
5
5
  * - Getting call history with filters
6
6
  * - Getting transcript URLs
7
+ * - Getting recording status and URLs
7
8
  * - Getting agent stats summary
8
9
  */
9
10
  import { BaseClient } from './base';
@@ -74,6 +75,24 @@ export class AnalyticsClient extends BaseClient {
74
75
  async getTranscriptUrl(callId) {
75
76
  return this.get(`/agent/call-history/${callId}/transcript`);
76
77
  }
78
+ /**
79
+ * Get recording status or download URL for a call
80
+ *
81
+ * @param callId - The call identifier
82
+ * @returns Object with recording status and optional URL
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const recording = await client.analytics.getRecordingUrl("call_12345");
87
+ *
88
+ * if (recording.status === 'ready' && recording.url) {
89
+ * window.open(recording.url, '_blank');
90
+ * }
91
+ * ```
92
+ */
93
+ async getRecordingUrl(callId) {
94
+ return this.get(`/agent/call-history/${callId}/recording`);
95
+ }
77
96
  /**
78
97
  * Get agent stats summary
79
98
  *
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/client/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAoB,MAAM,QAAQ,CAAC;AAQtD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,cAAc,CAAC,OAA+B;QAClD,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,OAAO,EAAE,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChE,IAAI,OAAO,EAAE,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1D,IAAI,OAAO,EAAE,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAE7D,OAAO,IAAI,CAAC,GAAG,CAA+B,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,GAAG,CAAqB,uBAAuB,MAAM,aAAa,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,GAAG,CAA4B,sBAAsB,CAAC,CAAC;IACrE,CAAC;CACF"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/client/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAoB,MAAM,QAAQ,CAAC;AAStD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,cAAc,CAAC,OAA+B;QAClD,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,OAAO,EAAE,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChE,IAAI,OAAO,EAAE,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1D,IAAI,OAAO,EAAE,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAE7D,OAAO,IAAI,CAAC,GAAG,CAA+B,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,GAAG,CAAqB,uBAAuB,MAAM,aAAa,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,GAAG,CAAoB,uBAAuB,MAAM,YAAY,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,GAAG,CAA4B,sBAAsB,CAAC,CAAC;IACrE,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -238,7 +238,7 @@ export declare class VoiceAI {
238
238
  export default VoiceAI;
239
239
  /** Error class for API errors */
240
240
  export { VoiceAIError } from './client/base';
241
- export type { VoiceAIConfig, ConnectionOptions, ConnectionDetails, ConnectionStatus, TranscriptionSegment, AgentState, AgentStateInfo, AudioLevelInfo, MicrophoneState, Agent, VoiceResponse, VoiceStatus, } from './types';
241
+ export type { VoiceAIConfig, ConnectionOptions, ConnectionDetails, ConnectionStatus, TranscriptionSegment, AgentState, AgentStateInfo, AudioLevelInfo, MicrophoneState, Agent, VoiceResponse, VoiceStatus, RecordingStatus, } from './types';
242
242
  /**
243
243
  * Generate optimized audio capture options for voice agents
244
244
  *
@@ -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":"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"}
package/dist/index.esm.js CHANGED
@@ -27787,6 +27787,7 @@ class AgentClient extends BaseClient {
27787
27787
  * Provides methods for:
27788
27788
  * - Getting call history with filters
27789
27789
  * - Getting transcript URLs
27790
+ * - Getting recording status and URLs
27790
27791
  * - Getting agent stats summary
27791
27792
  */
27792
27793
  /**
@@ -27856,6 +27857,24 @@ class AnalyticsClient extends BaseClient {
27856
27857
  async getTranscriptUrl(callId) {
27857
27858
  return this.get(`/agent/call-history/${callId}/transcript`);
27858
27859
  }
27860
+ /**
27861
+ * Get recording status or download URL for a call
27862
+ *
27863
+ * @param callId - The call identifier
27864
+ * @returns Object with recording status and optional URL
27865
+ *
27866
+ * @example
27867
+ * ```typescript
27868
+ * const recording = await client.analytics.getRecordingUrl("call_12345");
27869
+ *
27870
+ * if (recording.status === 'ready' && recording.url) {
27871
+ * window.open(recording.url, '_blank');
27872
+ * }
27873
+ * ```
27874
+ */
27875
+ async getRecordingUrl(callId) {
27876
+ return this.get(`/agent/call-history/${callId}/recording`);
27877
+ }
27859
27878
  /**
27860
27879
  * Get agent stats summary
27861
27880
  *