@vapi-ai/web 2.1.0 → 2.1.3

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 @@ vapi.start({
37
37
  content: "You are an assistant.",
38
38
  },
39
39
  ],
40
- }
40
+ },
41
41
  voice: {
42
42
  provider: "11labs",
43
43
  voiceId: "burt",
package/dist/vapi.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Call, CreateAssistantDTO, CreateSquadDTO, AssistantOverrides } from './api';
3
- import { DailyAdvancedConfig, DailyCall } from '@daily-co/daily-js';
3
+ import { DailyAdvancedConfig, DailyCall, DailyFactoryOptions } from '@daily-co/daily-js';
4
4
  import type { ChatCompletionMessageParam } from 'openai/resources';
5
5
  import EventEmitter from 'events';
6
6
  export interface AddMessageMessage {
@@ -40,7 +40,8 @@ export default class Vapi extends VapiEventEmitter {
40
40
  private call;
41
41
  private speakingTimeout;
42
42
  private dailyCallConfig;
43
- constructor(apiToken: string, apiBaseUrl?: string, dailyCallConfig?: Pick<DailyAdvancedConfig, 'avoidEval'>);
43
+ private dailyCallObject;
44
+ constructor(apiToken: string, apiBaseUrl?: string, dailyCallConfig?: Pick<DailyAdvancedConfig, 'avoidEval' | 'alwaysIncludeMicInPermissionPrompt'>, dailyCallObject?: Pick<DailyFactoryOptions, 'audioSource'>);
44
45
  private cleanup;
45
46
  start(assistant?: CreateAssistantDTO | string, assistantOverrides?: AssistantOverrides, squad?: CreateSquadDTO | string): Promise<Call | null>;
46
47
  private onAppMessage;
@@ -52,5 +53,6 @@ export default class Vapi extends VapiEventEmitter {
52
53
  say(message: string, endCallAfterSpoken?: boolean): void;
53
54
  setInputDevicesAsync(options: Parameters<DailyCall['setInputDevicesAsync']>[0]): void;
54
55
  setOutputDeviceAsync(options: Parameters<DailyCall['setOutputDeviceAsync']>[0]): void;
56
+ getDailyCallObject(): DailyCall | null;
55
57
  }
56
58
  export {};
package/dist/vapi.js CHANGED
@@ -61,11 +61,13 @@ class Vapi extends VapiEventEmitter {
61
61
  call = null;
62
62
  speakingTimeout = null;
63
63
  dailyCallConfig = {};
64
- constructor(apiToken, apiBaseUrl, dailyCallConfig) {
64
+ dailyCallObject = {};
65
+ constructor(apiToken, apiBaseUrl, dailyCallConfig, dailyCallObject) {
65
66
  super();
66
67
  client_1.client.baseUrl = apiBaseUrl ?? 'https://api.vapi.ai';
67
68
  client_1.client.setSecurityData(apiToken);
68
69
  this.dailyCallConfig = dailyCallConfig ?? {};
70
+ this.dailyCallObject = dailyCallObject ?? {};
69
71
  }
70
72
  cleanup() {
71
73
  this.started = false;
@@ -94,7 +96,7 @@ class Vapi extends VapiEventEmitter {
94
96
  }
95
97
  const isVideoRecordingEnabled = webCall?.artifactPlan?.videoRecordingEnabled ?? false;
96
98
  this.call = daily_js_1.default.createCallObject({
97
- audioSource: true,
99
+ audioSource: this.dailyCallObject.audioSource ?? true,
98
100
  videoSource: isVideoRecordingEnabled,
99
101
  dailyConfig: this.dailyCallConfig
100
102
  });
@@ -279,5 +281,8 @@ class Vapi extends VapiEventEmitter {
279
281
  setOutputDeviceAsync(options) {
280
282
  this.call?.setOutputDeviceAsync(options);
281
283
  }
284
+ getDailyCallObject() {
285
+ return this.call;
286
+ }
282
287
  }
283
288
  exports.default = Vapi;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vapi-ai/web",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "",
5
5
  "main": "dist/vapi.js",
6
6
  "types": "dist/vapi.d.ts",
package/update.sh CHANGED
@@ -1 +1 @@
1
- npm version minor && npm run build && npm publish && cd ../landing && npm install @vapi-ai/web@latest && cd -
1
+ npm version patch && npm run build && npm publish && cd ../landing && npm install @vapi-ai/web@latest && cd -
package/vapi.ts CHANGED
@@ -5,6 +5,7 @@ import DailyIframe, {
5
5
  DailyEventObjectAppMessage,
6
6
  DailyEventObjectParticipant,
7
7
  DailyEventObjectRemoteParticipantsAudioLevel,
8
+ DailyFactoryOptions,
8
9
  } from '@daily-co/daily-js';
9
10
 
10
11
  import type { ChatCompletionMessageParam } from 'openai/resources';
@@ -110,12 +111,19 @@ export default class Vapi extends VapiEventEmitter {
110
111
  private call: DailyCall | null = null;
111
112
  private speakingTimeout: NodeJS.Timeout | null = null;
112
113
  private dailyCallConfig: DailyAdvancedConfig = {}
113
-
114
- constructor(apiToken: string, apiBaseUrl?: string, dailyCallConfig?: Pick<DailyAdvancedConfig, 'avoidEval'>) {
114
+ private dailyCallObject: DailyFactoryOptions = {}
115
+
116
+ constructor(
117
+ apiToken: string,
118
+ apiBaseUrl?: string,
119
+ dailyCallConfig?: Pick<DailyAdvancedConfig, 'avoidEval' | 'alwaysIncludeMicInPermissionPrompt'>,
120
+ dailyCallObject?: Pick<DailyFactoryOptions, 'audioSource'>
121
+ ) {
115
122
  super();
116
123
  client.baseUrl = apiBaseUrl ?? 'https://api.vapi.ai';
117
124
  client.setSecurityData(apiToken);
118
125
  this.dailyCallConfig = dailyCallConfig ?? {}
126
+ this.dailyCallObject = dailyCallObject ?? {}
119
127
  }
120
128
 
121
129
  private cleanup() {
@@ -156,7 +164,7 @@ export default class Vapi extends VapiEventEmitter {
156
164
  const isVideoRecordingEnabled = webCall?.artifactPlan?.videoRecordingEnabled ?? false;
157
165
 
158
166
  this.call = DailyIframe.createCallObject({
159
- audioSource: true,
167
+ audioSource: this.dailyCallObject.audioSource ?? true,
160
168
  videoSource: isVideoRecordingEnabled,
161
169
  dailyConfig: this.dailyCallConfig
162
170
  });
@@ -357,4 +365,8 @@ export default class Vapi extends VapiEventEmitter {
357
365
  public setOutputDeviceAsync(options: Parameters<DailyCall['setOutputDeviceAsync']>[0]) {
358
366
  this.call?.setOutputDeviceAsync(options);
359
367
  }
368
+
369
+ public getDailyCallObject(): DailyCall | null {
370
+ return this.call;
371
+ }
360
372
  }