@vapi-ai/web 1.0.216 → 1.0.217

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/dist/vapi.d.ts CHANGED
@@ -1,7 +1,23 @@
1
1
  /// <reference types="node" />
2
2
  import { CreateAssistantDTO } from "./api";
3
3
  import EventEmitter from "events";
4
- export default class Vapi extends EventEmitter {
4
+ type VapiEventNames = "call-end" | "call-start" | "volume-level" | "speech-start" | "speech-end" | "error";
5
+ type VapiEventListeners = {
6
+ "call-end": () => void;
7
+ "call-start": () => void;
8
+ "volume-level": (volume: number) => void;
9
+ "speech-start": () => void;
10
+ "speech-end": () => void;
11
+ error: (error: any) => void;
12
+ };
13
+ declare class VapiEventEmitter extends EventEmitter {
14
+ on<E extends VapiEventNames>(event: E, listener: VapiEventListeners[E]): this;
15
+ once<E extends VapiEventNames>(event: E, listener: VapiEventListeners[E]): this;
16
+ emit<E extends VapiEventNames>(event: E, ...args: Parameters<VapiEventListeners[E]>): boolean;
17
+ removeListener<E extends VapiEventNames>(event: E, listener: VapiEventListeners[E]): this;
18
+ removeAllListeners(event?: VapiEventNames): this;
19
+ }
20
+ export default class Vapi extends VapiEventEmitter {
5
21
  private started;
6
22
  private call;
7
23
  private speakingTimeout;
@@ -10,3 +26,4 @@ export default class Vapi extends EventEmitter {
10
26
  private handleRemoteParticipantsAudioLevel;
11
27
  stop(): void;
12
28
  }
29
+ export {};
package/dist/vapi.js CHANGED
@@ -48,7 +48,28 @@ function subscribeToTracks(e, call) {
48
48
  },
49
49
  });
50
50
  }
51
- class Vapi extends events_1.default {
51
+ class VapiEventEmitter extends events_1.default {
52
+ on(event, listener) {
53
+ super.on(event, listener);
54
+ return this;
55
+ }
56
+ once(event, listener) {
57
+ super.once(event, listener);
58
+ return this;
59
+ }
60
+ emit(event, ...args) {
61
+ return super.emit(event, ...args);
62
+ }
63
+ removeListener(event, listener) {
64
+ super.removeListener(event, listener);
65
+ return this;
66
+ }
67
+ removeAllListeners(event) {
68
+ super.removeAllListeners(event);
69
+ return this;
70
+ }
71
+ }
72
+ class Vapi extends VapiEventEmitter {
52
73
  constructor(apiToken, apiBaseUrl) {
53
74
  super();
54
75
  this.started = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vapi-ai/web",
3
- "version": "1.0.216",
3
+ "version": "1.0.217",
4
4
  "description": "",
5
5
  "main": "dist/vapi.js",
6
6
  "types": "dist/vapi.d.ts",
package/vapi.ts CHANGED
@@ -41,7 +41,57 @@ function subscribeToTracks(e: DailyEventObjectParticipant, call: DailyCall) {
41
41
  });
42
42
  }
43
43
 
44
- export default class Vapi extends EventEmitter {
44
+ type VapiEventNames =
45
+ | "call-end"
46
+ | "call-start"
47
+ | "volume-level"
48
+ | "speech-start"
49
+ | "speech-end"
50
+ | "error";
51
+ type VapiEventListeners = {
52
+ "call-end": () => void;
53
+ "call-start": () => void;
54
+ "volume-level": (volume: number) => void;
55
+ "speech-start": () => void;
56
+ "speech-end": () => void;
57
+ error: (error: any) => void;
58
+ };
59
+
60
+ class VapiEventEmitter extends EventEmitter {
61
+ on<E extends VapiEventNames>(
62
+ event: E,
63
+ listener: VapiEventListeners[E]
64
+ ): this {
65
+ super.on(event, listener);
66
+ return this;
67
+ }
68
+ once<E extends VapiEventNames>(
69
+ event: E,
70
+ listener: VapiEventListeners[E]
71
+ ): this {
72
+ super.once(event, listener);
73
+ return this;
74
+ }
75
+ emit<E extends VapiEventNames>(
76
+ event: E,
77
+ ...args: Parameters<VapiEventListeners[E]>
78
+ ): boolean {
79
+ return super.emit(event, ...args);
80
+ }
81
+ removeListener<E extends VapiEventNames>(
82
+ event: E,
83
+ listener: VapiEventListeners[E]
84
+ ): this {
85
+ super.removeListener(event, listener);
86
+ return this;
87
+ }
88
+ removeAllListeners(event?: VapiEventNames): this {
89
+ super.removeAllListeners(event);
90
+ return this;
91
+ }
92
+ }
93
+
94
+ export default class Vapi extends VapiEventEmitter {
45
95
  private started: boolean = false;
46
96
  private call: DailyCall | null = null;
47
97
  private speakingTimeout: NodeJS.Timeout | null = null;