@voice-ai-labs/web-sdk 0.9.2 → 1.0.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.
@@ -0,0 +1,470 @@
1
+ const IANA_TIMEZONE_IDS = Object.freeze([
2
+ "Africa/Abidjan",
3
+ "Africa/Accra",
4
+ "Africa/Addis_Ababa",
5
+ "Africa/Algiers",
6
+ "Africa/Asmera",
7
+ "Africa/Bamako",
8
+ "Africa/Bangui",
9
+ "Africa/Banjul",
10
+ "Africa/Bissau",
11
+ "Africa/Blantyre",
12
+ "Africa/Brazzaville",
13
+ "Africa/Bujumbura",
14
+ "Africa/Cairo",
15
+ "Africa/Casablanca",
16
+ "Africa/Ceuta",
17
+ "Africa/Conakry",
18
+ "Africa/Dakar",
19
+ "Africa/Dar_es_Salaam",
20
+ "Africa/Djibouti",
21
+ "Africa/Douala",
22
+ "Africa/El_Aaiun",
23
+ "Africa/Freetown",
24
+ "Africa/Gaborone",
25
+ "Africa/Harare",
26
+ "Africa/Johannesburg",
27
+ "Africa/Juba",
28
+ "Africa/Kampala",
29
+ "Africa/Khartoum",
30
+ "Africa/Kigali",
31
+ "Africa/Kinshasa",
32
+ "Africa/Lagos",
33
+ "Africa/Libreville",
34
+ "Africa/Lome",
35
+ "Africa/Luanda",
36
+ "Africa/Lubumbashi",
37
+ "Africa/Lusaka",
38
+ "Africa/Malabo",
39
+ "Africa/Maputo",
40
+ "Africa/Maseru",
41
+ "Africa/Mbabane",
42
+ "Africa/Mogadishu",
43
+ "Africa/Monrovia",
44
+ "Africa/Nairobi",
45
+ "Africa/Ndjamena",
46
+ "Africa/Niamey",
47
+ "Africa/Nouakchott",
48
+ "Africa/Ouagadougou",
49
+ "Africa/Porto-Novo",
50
+ "Africa/Sao_Tome",
51
+ "Africa/Tripoli",
52
+ "Africa/Tunis",
53
+ "Africa/Windhoek",
54
+ "America/Adak",
55
+ "America/Anchorage",
56
+ "America/Anguilla",
57
+ "America/Antigua",
58
+ "America/Araguaina",
59
+ "America/Argentina/La_Rioja",
60
+ "America/Argentina/Rio_Gallegos",
61
+ "America/Argentina/Salta",
62
+ "America/Argentina/San_Juan",
63
+ "America/Argentina/San_Luis",
64
+ "America/Argentina/Tucuman",
65
+ "America/Argentina/Ushuaia",
66
+ "America/Aruba",
67
+ "America/Asuncion",
68
+ "America/Bahia",
69
+ "America/Bahia_Banderas",
70
+ "America/Barbados",
71
+ "America/Belem",
72
+ "America/Belize",
73
+ "America/Blanc-Sablon",
74
+ "America/Boa_Vista",
75
+ "America/Bogota",
76
+ "America/Boise",
77
+ "America/Buenos_Aires",
78
+ "America/Cambridge_Bay",
79
+ "America/Campo_Grande",
80
+ "America/Cancun",
81
+ "America/Caracas",
82
+ "America/Catamarca",
83
+ "America/Cayenne",
84
+ "America/Cayman",
85
+ "America/Chicago",
86
+ "America/Chihuahua",
87
+ "America/Ciudad_Juarez",
88
+ "America/Coral_Harbour",
89
+ "America/Cordoba",
90
+ "America/Costa_Rica",
91
+ "America/Creston",
92
+ "America/Cuiaba",
93
+ "America/Curacao",
94
+ "America/Danmarkshavn",
95
+ "America/Dawson",
96
+ "America/Dawson_Creek",
97
+ "America/Denver",
98
+ "America/Detroit",
99
+ "America/Dominica",
100
+ "America/Edmonton",
101
+ "America/Eirunepe",
102
+ "America/El_Salvador",
103
+ "America/Fort_Nelson",
104
+ "America/Fortaleza",
105
+ "America/Glace_Bay",
106
+ "America/Godthab",
107
+ "America/Goose_Bay",
108
+ "America/Grand_Turk",
109
+ "America/Grenada",
110
+ "America/Guadeloupe",
111
+ "America/Guatemala",
112
+ "America/Guayaquil",
113
+ "America/Guyana",
114
+ "America/Halifax",
115
+ "America/Havana",
116
+ "America/Hermosillo",
117
+ "America/Indiana/Knox",
118
+ "America/Indiana/Marengo",
119
+ "America/Indiana/Petersburg",
120
+ "America/Indiana/Tell_City",
121
+ "America/Indiana/Vevay",
122
+ "America/Indiana/Vincennes",
123
+ "America/Indiana/Winamac",
124
+ "America/Indianapolis",
125
+ "America/Inuvik",
126
+ "America/Iqaluit",
127
+ "America/Jamaica",
128
+ "America/Jujuy",
129
+ "America/Juneau",
130
+ "America/Kentucky/Monticello",
131
+ "America/Kralendijk",
132
+ "America/La_Paz",
133
+ "America/Lima",
134
+ "America/Los_Angeles",
135
+ "America/Louisville",
136
+ "America/Lower_Princes",
137
+ "America/Maceio",
138
+ "America/Managua",
139
+ "America/Manaus",
140
+ "America/Marigot",
141
+ "America/Martinique",
142
+ "America/Matamoros",
143
+ "America/Mazatlan",
144
+ "America/Mendoza",
145
+ "America/Menominee",
146
+ "America/Merida",
147
+ "America/Metlakatla",
148
+ "America/Mexico_City",
149
+ "America/Miquelon",
150
+ "America/Moncton",
151
+ "America/Monterrey",
152
+ "America/Montevideo",
153
+ "America/Montserrat",
154
+ "America/Nassau",
155
+ "America/New_York",
156
+ "America/Nome",
157
+ "America/Noronha",
158
+ "America/North_Dakota/Beulah",
159
+ "America/North_Dakota/Center",
160
+ "America/North_Dakota/New_Salem",
161
+ "America/Ojinaga",
162
+ "America/Panama",
163
+ "America/Paramaribo",
164
+ "America/Phoenix",
165
+ "America/Port-au-Prince",
166
+ "America/Port_of_Spain",
167
+ "America/Porto_Velho",
168
+ "America/Puerto_Rico",
169
+ "America/Punta_Arenas",
170
+ "America/Rankin_Inlet",
171
+ "America/Recife",
172
+ "America/Regina",
173
+ "America/Resolute",
174
+ "America/Rio_Branco",
175
+ "America/Santarem",
176
+ "America/Santiago",
177
+ "America/Santo_Domingo",
178
+ "America/Sao_Paulo",
179
+ "America/Scoresbysund",
180
+ "America/Sitka",
181
+ "America/St_Barthelemy",
182
+ "America/St_Johns",
183
+ "America/St_Kitts",
184
+ "America/St_Lucia",
185
+ "America/St_Thomas",
186
+ "America/St_Vincent",
187
+ "America/Swift_Current",
188
+ "America/Tegucigalpa",
189
+ "America/Thule",
190
+ "America/Tijuana",
191
+ "America/Toronto",
192
+ "America/Tortola",
193
+ "America/Vancouver",
194
+ "America/Whitehorse",
195
+ "America/Winnipeg",
196
+ "America/Yakutat",
197
+ "Antarctica/Casey",
198
+ "Antarctica/Davis",
199
+ "Antarctica/DumontDUrville",
200
+ "Antarctica/Macquarie",
201
+ "Antarctica/Mawson",
202
+ "Antarctica/McMurdo",
203
+ "Antarctica/Palmer",
204
+ "Antarctica/Rothera",
205
+ "Antarctica/Syowa",
206
+ "Antarctica/Troll",
207
+ "Antarctica/Vostok",
208
+ "Arctic/Longyearbyen",
209
+ "Asia/Aden",
210
+ "Asia/Almaty",
211
+ "Asia/Amman",
212
+ "Asia/Anadyr",
213
+ "Asia/Aqtau",
214
+ "Asia/Aqtobe",
215
+ "Asia/Ashgabat",
216
+ "Asia/Atyrau",
217
+ "Asia/Baghdad",
218
+ "Asia/Bahrain",
219
+ "Asia/Baku",
220
+ "Asia/Bangkok",
221
+ "Asia/Barnaul",
222
+ "Asia/Beirut",
223
+ "Asia/Bishkek",
224
+ "Asia/Brunei",
225
+ "Asia/Calcutta",
226
+ "Asia/Chita",
227
+ "Asia/Colombo",
228
+ "Asia/Damascus",
229
+ "Asia/Dhaka",
230
+ "Asia/Dili",
231
+ "Asia/Dubai",
232
+ "Asia/Dushanbe",
233
+ "Asia/Famagusta",
234
+ "Asia/Gaza",
235
+ "Asia/Hebron",
236
+ "Asia/Hong_Kong",
237
+ "Asia/Hovd",
238
+ "Asia/Irkutsk",
239
+ "Asia/Jakarta",
240
+ "Asia/Jayapura",
241
+ "Asia/Jerusalem",
242
+ "Asia/Kabul",
243
+ "Asia/Kamchatka",
244
+ "Asia/Karachi",
245
+ "Asia/Katmandu",
246
+ "Asia/Khandyga",
247
+ "Asia/Krasnoyarsk",
248
+ "Asia/Kuala_Lumpur",
249
+ "Asia/Kuching",
250
+ "Asia/Kuwait",
251
+ "Asia/Macau",
252
+ "Asia/Magadan",
253
+ "Asia/Makassar",
254
+ "Asia/Manila",
255
+ "Asia/Muscat",
256
+ "Asia/Nicosia",
257
+ "Asia/Novokuznetsk",
258
+ "Asia/Novosibirsk",
259
+ "Asia/Omsk",
260
+ "Asia/Oral",
261
+ "Asia/Phnom_Penh",
262
+ "Asia/Pontianak",
263
+ "Asia/Pyongyang",
264
+ "Asia/Qatar",
265
+ "Asia/Qostanay",
266
+ "Asia/Qyzylorda",
267
+ "Asia/Rangoon",
268
+ "Asia/Riyadh",
269
+ "Asia/Saigon",
270
+ "Asia/Sakhalin",
271
+ "Asia/Samarkand",
272
+ "Asia/Seoul",
273
+ "Asia/Shanghai",
274
+ "Asia/Singapore",
275
+ "Asia/Srednekolymsk",
276
+ "Asia/Taipei",
277
+ "Asia/Tashkent",
278
+ "Asia/Tbilisi",
279
+ "Asia/Tehran",
280
+ "Asia/Thimphu",
281
+ "Asia/Tokyo",
282
+ "Asia/Tomsk",
283
+ "Asia/Ulaanbaatar",
284
+ "Asia/Urumqi",
285
+ "Asia/Ust-Nera",
286
+ "Asia/Vientiane",
287
+ "Asia/Vladivostok",
288
+ "Asia/Yakutsk",
289
+ "Asia/Yekaterinburg",
290
+ "Asia/Yerevan",
291
+ "Atlantic/Azores",
292
+ "Atlantic/Bermuda",
293
+ "Atlantic/Canary",
294
+ "Atlantic/Cape_Verde",
295
+ "Atlantic/Faeroe",
296
+ "Atlantic/Madeira",
297
+ "Atlantic/Reykjavik",
298
+ "Atlantic/South_Georgia",
299
+ "Atlantic/St_Helena",
300
+ "Atlantic/Stanley",
301
+ "Australia/Adelaide",
302
+ "Australia/Brisbane",
303
+ "Australia/Broken_Hill",
304
+ "Australia/Darwin",
305
+ "Australia/Eucla",
306
+ "Australia/Hobart",
307
+ "Australia/Lindeman",
308
+ "Australia/Lord_Howe",
309
+ "Australia/Melbourne",
310
+ "Australia/Perth",
311
+ "Australia/Sydney",
312
+ "Europe/Amsterdam",
313
+ "Europe/Andorra",
314
+ "Europe/Astrakhan",
315
+ "Europe/Athens",
316
+ "Europe/Belgrade",
317
+ "Europe/Berlin",
318
+ "Europe/Bratislava",
319
+ "Europe/Brussels",
320
+ "Europe/Bucharest",
321
+ "Europe/Budapest",
322
+ "Europe/Busingen",
323
+ "Europe/Chisinau",
324
+ "Europe/Copenhagen",
325
+ "Europe/Dublin",
326
+ "Europe/Gibraltar",
327
+ "Europe/Guernsey",
328
+ "Europe/Helsinki",
329
+ "Europe/Isle_of_Man",
330
+ "Europe/Istanbul",
331
+ "Europe/Jersey",
332
+ "Europe/Kaliningrad",
333
+ "Europe/Kiev",
334
+ "Europe/Kirov",
335
+ "Europe/Lisbon",
336
+ "Europe/Ljubljana",
337
+ "Europe/London",
338
+ "Europe/Luxembourg",
339
+ "Europe/Madrid",
340
+ "Europe/Malta",
341
+ "Europe/Mariehamn",
342
+ "Europe/Minsk",
343
+ "Europe/Monaco",
344
+ "Europe/Moscow",
345
+ "Europe/Oslo",
346
+ "Europe/Paris",
347
+ "Europe/Podgorica",
348
+ "Europe/Prague",
349
+ "Europe/Riga",
350
+ "Europe/Rome",
351
+ "Europe/Samara",
352
+ "Europe/San_Marino",
353
+ "Europe/Sarajevo",
354
+ "Europe/Saratov",
355
+ "Europe/Simferopol",
356
+ "Europe/Skopje",
357
+ "Europe/Sofia",
358
+ "Europe/Stockholm",
359
+ "Europe/Tallinn",
360
+ "Europe/Tirane",
361
+ "Europe/Ulyanovsk",
362
+ "Europe/Vaduz",
363
+ "Europe/Vatican",
364
+ "Europe/Vienna",
365
+ "Europe/Vilnius",
366
+ "Europe/Volgograd",
367
+ "Europe/Warsaw",
368
+ "Europe/Zagreb",
369
+ "Europe/Zurich",
370
+ "Indian/Antananarivo",
371
+ "Indian/Chagos",
372
+ "Indian/Christmas",
373
+ "Indian/Cocos",
374
+ "Indian/Comoro",
375
+ "Indian/Kerguelen",
376
+ "Indian/Mahe",
377
+ "Indian/Maldives",
378
+ "Indian/Mauritius",
379
+ "Indian/Mayotte",
380
+ "Indian/Reunion",
381
+ "Pacific/Apia",
382
+ "Pacific/Auckland",
383
+ "Pacific/Bougainville",
384
+ "Pacific/Chatham",
385
+ "Pacific/Easter",
386
+ "Pacific/Efate",
387
+ "Pacific/Enderbury",
388
+ "Pacific/Fakaofo",
389
+ "Pacific/Fiji",
390
+ "Pacific/Funafuti",
391
+ "Pacific/Galapagos",
392
+ "Pacific/Gambier",
393
+ "Pacific/Guadalcanal",
394
+ "Pacific/Guam",
395
+ "Pacific/Honolulu",
396
+ "Pacific/Kiritimati",
397
+ "Pacific/Kosrae",
398
+ "Pacific/Kwajalein",
399
+ "Pacific/Majuro",
400
+ "Pacific/Marquesas",
401
+ "Pacific/Midway",
402
+ "Pacific/Nauru",
403
+ "Pacific/Niue",
404
+ "Pacific/Norfolk",
405
+ "Pacific/Noumea",
406
+ "Pacific/Pago_Pago",
407
+ "Pacific/Palau",
408
+ "Pacific/Pitcairn",
409
+ "Pacific/Ponape",
410
+ "Pacific/Port_Moresby",
411
+ "Pacific/Rarotonga",
412
+ "Pacific/Saipan",
413
+ "Pacific/Tahiti",
414
+ "Pacific/Tarawa",
415
+ "Pacific/Tongatapu",
416
+ "Pacific/Truk",
417
+ "Pacific/Wake",
418
+ "Pacific/Wallis",
419
+ ]);
420
+ function parseOffsetMinutes(rawOffset) {
421
+ if (rawOffset === "GMT" || rawOffset === "UTC") {
422
+ return 0;
423
+ }
424
+ const match = rawOffset.match(/^(?:GMT|UTC)([+-])(\d{1,2})(?::?(\d{2}))?$/);
425
+ if (!match) {
426
+ return 0;
427
+ }
428
+ const sign = match[1] === "-" ? -1 : 1;
429
+ const hours = Number.parseInt(match[2] || "0", 10);
430
+ const minutes = Number.parseInt(match[3] || "0", 10);
431
+ return sign * (hours * 60 + minutes);
432
+ }
433
+ function getTimezoneOffsetMinutes(timezoneId, date = new Date()) {
434
+ try {
435
+ const parts = new Intl.DateTimeFormat("en-US", {
436
+ timeZone: timezoneId,
437
+ timeZoneName: "shortOffset",
438
+ hour: "2-digit",
439
+ minute: "2-digit",
440
+ hourCycle: "h23",
441
+ }).formatToParts(date);
442
+ const offsetPart = parts.find((part) => part.type === "timeZoneName")?.value;
443
+ return offsetPart ? parseOffsetMinutes(offsetPart) : 0;
444
+ }
445
+ catch {
446
+ return 0;
447
+ }
448
+ }
449
+ function formatUtcOffset(offsetMinutes) {
450
+ const sign = offsetMinutes >= 0 ? "+" : "-";
451
+ const absoluteMinutes = Math.abs(offsetMinutes);
452
+ const hours = String(Math.floor(absoluteMinutes / 60)).padStart(2, "0");
453
+ const minutes = String(absoluteMinutes % 60).padStart(2, "0");
454
+ return `UTC${sign}${hours}:${minutes}`;
455
+ }
456
+ export function formatIanaTimezoneLabel(timezoneId, date = new Date()) {
457
+ return `${formatUtcOffset(getTimezoneOffsetMinutes(timezoneId, date))} • ${timezoneId}`;
458
+ }
459
+ export const IANA_TIMEZONE_OPTIONS = Object.freeze([...IANA_TIMEZONE_IDS]
460
+ .map((timezoneId) => {
461
+ const offsetMinutes = getTimezoneOffsetMinutes(timezoneId);
462
+ return {
463
+ value: timezoneId,
464
+ label: `${formatUtcOffset(offsetMinutes)} • ${timezoneId}`,
465
+ offsetMinutes,
466
+ };
467
+ })
468
+ .sort((left, right) => left.offsetMinutes - right.offsetMinutes || left.value.localeCompare(right.value)));
469
+ export { IANA_TIMEZONE_IDS };
470
+ //# sourceMappingURL=iana-timezones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iana-timezones.js","sourceRoot":"","sources":["../../src/managed-tools/iana-timezones.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -22,6 +22,8 @@ export interface ConnectionOptions {
22
22
  apiUrl?: string;
23
23
  /** API key for authentication */
24
24
  apiKey?: string;
25
+ /** Generic bearer auth token for authentication */
26
+ authToken?: string;
25
27
  /** Agent ID to connect to. */
26
28
  agentId?: string;
27
29
  /** Runtime prompt variables */
@@ -162,6 +164,53 @@ export interface MCPServerConfig {
162
164
  headers?: Record<string, string> | null;
163
165
  [key: string]: any;
164
166
  }
167
+ export interface ManagedToolsConfig {
168
+ google_calendar?: {
169
+ enabled?: boolean | null;
170
+ default_calendar_id?: string | null;
171
+ timezone?: string | null;
172
+ selected_operations?: string[] | null;
173
+ } | null;
174
+ google_sheets?: {
175
+ enabled?: boolean | null;
176
+ spreadsheet_id?: string | null;
177
+ sheet_name?: string | null;
178
+ selected_operations?: string[] | null;
179
+ } | null;
180
+ google_gmail?: {
181
+ enabled?: boolean | null;
182
+ selected_operations?: string[] | null;
183
+ } | null;
184
+ }
185
+ export type GoogleCalendarOperation = 'google_calendar_check_availability' | 'google_calendar_list_upcoming_events' | 'google_calendar_create_event' | 'google_calendar_update_event' | 'google_calendar_cancel_event';
186
+ export type GoogleSheetsOperation = 'google_sheets_append_row' | 'google_sheets_list_sheets' | 'google_sheets_read_rows';
187
+ export type GoogleGmailOperation = 'google_gmail_search_messages' | 'google_gmail_get_message' | 'google_gmail_send_email';
188
+ export type GoogleManagedToolOperation = GoogleCalendarOperation | GoogleSheetsOperation | GoogleGmailOperation;
189
+ export interface GoogleManagedToolOperationOption<T extends string = string> {
190
+ value: T;
191
+ label: string;
192
+ description: string;
193
+ }
194
+ export interface GoogleOAuthStartOptions {
195
+ returnUrl?: string;
196
+ managedTools?: ManagedToolsConfig | null;
197
+ }
198
+ export interface GoogleOAuthStartResponse {
199
+ auth_url: string;
200
+ requested_scopes: string[];
201
+ }
202
+ export interface GoogleConnectionStatus {
203
+ connected: boolean;
204
+ agent_id: string;
205
+ error?: string;
206
+ email?: string | null;
207
+ expires_at?: string | null;
208
+ granted_scopes: string[];
209
+ scopes: string[];
210
+ required_scopes: string[];
211
+ missing_scopes: string[];
212
+ reconnect_required: boolean;
213
+ }
165
214
  /** Webhook event types */
166
215
  export type WebhookEventType = 'call.started' | 'call.completed';
167
216
  /**
@@ -173,7 +222,7 @@ export type WebhookEventType = 'call.started' | 'call.completed';
173
222
  export interface WebhookEventsConfig {
174
223
  /** Webhook endpoint URL (required) */
175
224
  url: string;
176
- /** HMAC-SHA256 signing secret for payload verification (set when configuring) */
225
+ /** HMAC-SHA256 signing secret for payload verification (write-only on create/update; URL-matched when preserving secrets across full-array replacement) */
177
226
  secret?: string | null;
178
227
  /** Whether a signing secret is configured (returned by API) */
179
228
  has_secret?: boolean;
@@ -228,7 +277,7 @@ export interface WebhookToolConfig {
228
277
  auth_type: 'none' | 'bearer_token' | 'api_key' | 'custom_headers';
229
278
  /** Token for bearer_token or api_key auth */
230
279
  auth_token?: string | null;
231
- /** Additional headers (also used for custom_headers auth) */
280
+ /** Additional headers (also used for custom_headers auth). For POST/PUT/PATCH, Content-Type is agent-managed and any configured Content-Type is ignored. */
232
281
  headers?: Record<string, string> | null;
233
282
  /** Request timeout in seconds */
234
283
  timeout?: number | null;
@@ -236,8 +285,8 @@ export interface WebhookToolConfig {
236
285
  }
237
286
  /** Webhooks configuration exposed by the public API */
238
287
  export interface WebhooksConfig {
239
- /** Event notification webhook configuration */
240
- events?: WebhookEventsConfig | null;
288
+ /** Event notification webhook endpoint configurations. On update, omit to preserve, set null to clear, or replace the entire array. */
289
+ events?: WebhookEventsConfig[] | null;
241
290
  /** Inbound call webhook configuration */
242
291
  inbound_call?: WebhookInboundCallConfig | null;
243
292
  /** Tool webhook configurations */
@@ -263,10 +312,14 @@ export interface WebhookTestResponse {
263
312
  status: 'success' | 'failed';
264
313
  /** Human-readable result description */
265
314
  message: string;
266
- /** Error details if the test failed */
267
- error?: string | null;
268
- /** Number of delivery attempts made */
269
- attempts: number;
315
+ /** Aggregate per-endpoint delivery results */
316
+ results?: Array<{
317
+ url: string;
318
+ success: boolean;
319
+ status_code?: number | null;
320
+ attempts: number;
321
+ error?: string | null;
322
+ }>;
270
323
  }
271
324
  /** Agent configuration */
272
325
  export interface AgentConfig {
@@ -276,7 +329,7 @@ export interface AgentConfig {
276
329
  greeting?: string | null;
277
330
  /** LLM temperature (default: 0.7) */
278
331
  llm_temperature?: number | null;
279
- /** LLM model (default: gemini-2.5-flash-lite) */
332
+ /** LLM model (default: gemini-3.1-flash-lite-preview) */
280
333
  llm_model?: string | null;
281
334
  /** Minimum TTS sentence length (default: 20) */
282
335
  tts_min_sentence_len?: number | null;
@@ -318,6 +371,8 @@ export interface AgentConfig {
318
371
  webhooks?: WebhooksConfig | null;
319
372
  /** MCP servers configuration */
320
373
  mcp_servers?: MCPServerConfig[] | null;
374
+ /** First-party managed tools configuration */
375
+ managed_tools?: ManagedToolsConfig | null;
321
376
  [key: string]: any;
322
377
  }
323
378
  /** Agent object */
@@ -464,6 +519,8 @@ export interface PaginatedCallHistoryResponse {
464
519
  items: CallHistoryItem[];
465
520
  pagination: PaginationMeta;
466
521
  }
522
+ export type CallHistorySortBy = 'timestamp' | 'agent' | 'call' | 'duration' | 'credits' | 'summary' | 'transcript' | 'recording';
523
+ export type CallHistorySortDirection = 'asc' | 'desc';
467
524
  /** Options for getting call history */
468
525
  export interface GetCallHistoryOptions extends PaginationOptions {
469
526
  /** Filter calls after this date (ISO format UTC) */
@@ -472,6 +529,12 @@ export interface GetCallHistoryOptions extends PaginationOptions {
472
529
  end_date?: string;
473
530
  /** Filter calls by agent ID(s) */
474
531
  agent_ids?: string[];
532
+ /** Filter calls by partial agent name match */
533
+ agent_name?: string;
534
+ /** Sort field */
535
+ sort_by?: CallHistorySortBy;
536
+ /** Sort direction */
537
+ sort_dir?: CallHistorySortDirection;
475
538
  }
476
539
  /** Transcript URL response */
477
540
  export interface TranscriptResponse {
@@ -625,7 +688,7 @@ export interface SynthesizeRequest {
625
688
  }
626
689
  /** Options for cloning a voice from audio */
627
690
  export interface CloneVoiceOptions {
628
- /** Audio file (MP3, WAV, or OGG format, max 7.5MB) */
691
+ /** Audio file (MP3, WAV, or M4A format, max 7.5MB) */
629
692
  file: Blob | File;
630
693
  /** Name for the voice (optional) */
631
694
  name?: string;
@@ -720,12 +783,17 @@ export interface EndCallResponse {
720
783
  credits_used: number;
721
784
  [key: string]: any;
722
785
  }
786
+ export type AuthTokenProvider = () => Promise<string | null | undefined> | string | null | undefined;
723
787
  /** Configuration for VoiceAI SDK */
724
788
  export interface VoiceAIConfig {
725
789
  /** API key for authentication.
726
790
  * Required for API operations (agents, tts, analytics, etc.) and `getConnectionDetails()`.
727
791
  * Not needed when using `connectRoom()` with pre-fetched connection details. */
728
792
  apiKey?: string;
793
+ /** Generic bearer auth token for REST API operations. */
794
+ authToken?: string;
795
+ /** Lazy auth token provider for browser apps with rotating auth. */
796
+ getAuthToken?: AuthTokenProvider;
729
797
  /** API base URL (optional, defaults to production) */
730
798
  apiUrl?: string;
731
799
  }