@talk2view/sdk 0.22.0 → 0.23.0

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.
Files changed (48) hide show
  1. package/README.md +24 -16
  2. package/dist/chat/views/settings.d.ts.map +1 -1
  3. package/dist/chat/views/settings.js +15 -13
  4. package/dist/chat/views/settings.js.map +1 -1
  5. package/dist/chat/voice-button.d.ts.map +1 -1
  6. package/dist/chat/voice-button.js +46 -7
  7. package/dist/chat/voice-button.js.map +1 -1
  8. package/dist/chat-css.js +1 -1
  9. package/dist/chat.css +1 -1
  10. package/dist/chat.isolated.css +21 -1
  11. package/dist/chat.raw.css +21 -1
  12. package/dist/constants.d.ts +10 -4
  13. package/dist/constants.d.ts.map +1 -1
  14. package/dist/constants.js +10 -4
  15. package/dist/constants.js.map +1 -1
  16. package/dist/index.d.ts +3 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +4 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/sessions.d.ts +29 -6
  21. package/dist/sessions.d.ts.map +1 -1
  22. package/dist/sessions.js +27 -11
  23. package/dist/sessions.js.map +1 -1
  24. package/dist/types.d.ts +55 -5
  25. package/dist/types.d.ts.map +1 -1
  26. package/dist/version.d.ts +2 -2
  27. package/dist/version.js +1 -1
  28. package/dist/voice-elevenlabs.d.ts +197 -0
  29. package/dist/voice-elevenlabs.d.ts.map +1 -0
  30. package/dist/voice-elevenlabs.js +358 -0
  31. package/dist/voice-elevenlabs.js.map +1 -0
  32. package/dist/voice-facade.js +1 -1
  33. package/dist/voice-facade.js.map +1 -1
  34. package/dist/voice-fence.d.ts +37 -0
  35. package/dist/voice-fence.d.ts.map +1 -0
  36. package/dist/voice-fence.js +44 -0
  37. package/dist/voice-fence.js.map +1 -0
  38. package/dist/voice-turn.d.ts +119 -0
  39. package/dist/voice-turn.d.ts.map +1 -0
  40. package/dist/voice-turn.js +207 -0
  41. package/dist/voice-turn.js.map +1 -0
  42. package/dist/voice.d.ts +131 -8
  43. package/dist/voice.d.ts.map +1 -1
  44. package/dist/voice.js +492 -114
  45. package/dist/voice.js.map +1 -1
  46. package/docs/chat.md +13 -7
  47. package/docs/voice.md +157 -33
  48. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * which SDK release a request came from. A test keeps it equal to
4
4
  * package.json's, so a version bump updates both.
5
5
  */
6
- export declare const SDK_VERSION = "0.22.0";
6
+ export declare const SDK_VERSION = "0.23.0";
7
7
  /** The `X-T2V-Client` header value. */
8
- export declare const CLIENT_HEADER = "talk2view-typescript/0.22.0";
8
+ export declare const CLIENT_HEADER = "talk2view-typescript/0.23.0";
9
9
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * which SDK release a request came from. A test keeps it equal to
4
4
  * package.json's, so a version bump updates both.
5
5
  */
6
- export const SDK_VERSION = '0.22.0';
6
+ export const SDK_VERSION = '0.23.0';
7
7
  /** The `X-T2V-Client` header value. */
8
8
  export const CLIENT_HEADER = `talk2view-typescript/${SDK_VERSION}`;
9
9
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,197 @@
1
+ /**
2
+ * An ElevenLabs voice call, run through the official `@elevenlabs/client`
3
+ * library.
4
+ *
5
+ * The engine mints the call when it picks ElevenLabs (`POST
6
+ * /v1/voice/sessions`): a conversation token, the conversation's id, the
7
+ * time limit the end-user's budget allows (never past the call cap), and the
8
+ * notice the agent speaks when the credit runs out. This module starts the
9
+ * conversation with that token, answers the agent's `ask_talk2view`
10
+ * requests through the voice turn runner (`voice-turn.ts`), says goodbye
11
+ * when the budget's time limit passes or a turn finds the budget spent, ends
12
+ * the call at the cap without one, and tells the engine, once, that the call
13
+ * has ended, so the engine settles the credit it holds for it.
14
+ *
15
+ * Keep this module and the library out of core's up-front bundle: only the
16
+ * voice controller loads this module, with `import()`, and only for an
17
+ * ElevenLabs call; this module loads the library the same way. The
18
+ * controller gets the voice turn runner from this module too, so a Gemini
19
+ * Live call loads neither.
20
+ */
21
+ import { VoiceTurnRunner } from './voice-turn.js';
22
+ import type { ElevenLabsCallInfo, VoiceEndReason, VoiceError, VoiceTranscript } from './types.js';
23
+ /** The voice turn runner, for the controller: it loads it only with this module. */
24
+ export { VoiceTurnRunner };
25
+ /** The library's conversation, as the call uses it. */
26
+ export interface ElevenLabsConversationLike {
27
+ getId(): string;
28
+ endSession(): Promise<void>;
29
+ sendUserMessage(text: string): void;
30
+ }
31
+ /** The slice of the library the call uses, so tests can hand in a fake. */
32
+ export interface ElevenLabsLibs {
33
+ startSession(options: Record<string, unknown>): Promise<ElevenLabsConversationLike>;
34
+ }
35
+ export type ElevenLabsLibLoader = () => Promise<ElevenLabsLibs>;
36
+ /** A dynamic import: a bundler splits the library into its own chunk. */
37
+ export declare const loadElevenLabsLibs: ElevenLabsLibLoader;
38
+ /**
39
+ * How long the goodbye waits for the agent to start speaking the notice and,
40
+ * once it has, for it to finish.
41
+ */
42
+ export declare const GOODBYE_WAIT_MS = 10000;
43
+ /** The error when the conversation that started is not the one the engine minted. */
44
+ export declare const MISMATCH_MESSAGE = "The call did not start as expected. Try again.";
45
+ /**
46
+ * The longest an ElevenLabs call runs, in seconds, and so the cap on its time
47
+ * limit. Mirrors the engine's `CALL_CAP_SECONDS`
48
+ * (`t2v/services/elevenlabs_calls.py`). A time limit this long is the cap,
49
+ * not the end of the end-user's credit: the call ends there as `session_cap`,
50
+ * with no goodbye, as a Gemini Live call does at its cap.
51
+ */
52
+ export declare const CALL_CAP_SECONDS = 900;
53
+ export interface ElevenLabsCallDeps {
54
+ libs: ElevenLabsLibs;
55
+ /** The mint's ElevenLabs half. */
56
+ info: ElevenLabsCallInfo;
57
+ /** The page prompt. The agent gets it, unfenced, in a dynamic variable. */
58
+ pagePrompt?: string;
59
+ /** Runs the agent's `ask_talk2view` requests as engine turns. */
60
+ turns: VoiceTurnRunner;
61
+ /** The conversation connected, and it is the one the engine minted. */
62
+ onConnected(): void;
63
+ onTranscript(t: VoiceTranscript): void;
64
+ /**
65
+ * The call ended by itself: the agent or the connection ended it, the
66
+ * goodbye finished, the time limit reached the call cap, the page went
67
+ * away, or the conversation was not the one minted. Never called for
68
+ * {@link ElevenLabsCall.stop}.
69
+ */
70
+ onEnded(reason: VoiceEndReason, error?: VoiceError): void;
71
+ /** The library reported an error mid-call. `message` is its own text, written for developers. */
72
+ onError(message: string): void;
73
+ /** Tells the engine the call has ended, with the reason it ended with. Called once per call. */
74
+ reportEnd(reason: string): Promise<void>;
75
+ /** Default {@link GOODBYE_WAIT_MS}. */
76
+ goodbyeWaitMs?: number;
77
+ /** When the mint answered, by the `now` clock: the time limit counts from here. */
78
+ startedAt: number;
79
+ /** The clock for the time limit. Default `Date.now`. */
80
+ now?: () => number;
81
+ }
82
+ /**
83
+ * One ElevenLabs call, from `start()` until it ends. It ends once: by
84
+ * `stop()`, by the library (the agent or the connection), by the goodbye, at
85
+ * the call cap, or as the page goes away; and it reports that end once,
86
+ * through `reportEnd`. A call whose session never connected reports nothing:
87
+ * `start()` rejects, and the caller reports it.
88
+ */
89
+ export declare class ElevenLabsCall {
90
+ private readonly deps;
91
+ /** When the time limit runs out: counted from the mint's response (`startedAt`). */
92
+ private readonly deadline;
93
+ private started;
94
+ private conversation;
95
+ /** The conversation is the one the engine minted. */
96
+ private verified;
97
+ private announced;
98
+ /** Transcripts that arrived before the conversation was verified, delivered once it is. */
99
+ private early;
100
+ /** A disconnect that arrived before the conversation was verified. */
101
+ private earlyDisconnect;
102
+ private closed;
103
+ /** The session's ending, under way or done: a later `stop()` joins it. */
104
+ private closing;
105
+ /** The end report, once the call has ended: settles with the engine's answer, never rejects. */
106
+ private reporting;
107
+ private timer;
108
+ /** The agent is speaking, as the library last said. */
109
+ private speaking;
110
+ private saidGoodbye;
111
+ /** Since the goodbye was said, the agent started speaking; then it stopped. */
112
+ private goodbyeSpeaking;
113
+ private goodbyeSpoken;
114
+ /** Wakes the goodbye's wait: on a mode change, or as the call ends. */
115
+ private wake;
116
+ constructor(deps: ElevenLabsCallDeps);
117
+ /**
118
+ * Start the conversation with the mint's token. Resolves once it is
119
+ * connected, or has ended: a conversation other than the one minted ends
120
+ * the call with {@link MISMATCH_MESSAGE}. Rejects when the session can't
121
+ * connect; the call has then ended, and reported nothing. Runs once.
122
+ */
123
+ start(): Promise<void>;
124
+ /**
125
+ * Hang up: the caller's own ending, so `onEnded` is not called. Resolves
126
+ * once the session has ended, its microphone with it. The end report has
127
+ * gone by then; {@link reported} settles with the engine's answer. On a
128
+ * call that has ended already it joins that ending, and reports nothing
129
+ * more.
130
+ */
131
+ stop(reason?: VoiceEndReason): Promise<void>;
132
+ /**
133
+ * Settles once the engine has answered the end report, or the report
134
+ * failed; never rejects. Settled already while the call has not ended, and
135
+ * for a call that never connected (it reports nothing).
136
+ */
137
+ reported(): Promise<void>;
138
+ /**
139
+ * Say goodbye, then end the call as `budget_exhausted`: the budget's time
140
+ * limit passed, or a turn found the end-user's budget spent. The agent gets
141
+ * the mint's notice as the answer to the request it is waiting on, or else
142
+ * as a message. The call ends once the agent has spoken it: after up to
143
+ * {@link GOODBYE_WAIT_MS} for the agent to start speaking and, once it has,
144
+ * as long again for it to finish. An agent already speaking as the notice
145
+ * goes can run straight on into it, with no fresh start: then the call
146
+ * waits as long again for that speech to end. Runs once; never rejects.
147
+ */
148
+ goodbye(): Promise<void>;
149
+ /**
150
+ * The time limit ran out. A limit at the call cap is the cap, not the end
151
+ * of the end-user's credit: the call ends as `session_cap`, with no
152
+ * goodbye. Under it, the credit ran out: the goodbye.
153
+ */
154
+ private timeUp;
155
+ /** The options `startSession` gets, as `@elevenlabs/client` 1.29.0 names them. */
156
+ private sessionOptions;
157
+ /**
158
+ * Tell the caller the call is up, once, and only for the conversation the
159
+ * engine minted. The library fires `onConnect` before `startSession`
160
+ * resolves, so it is `start()` that announces, once the id is checked.
161
+ */
162
+ private announce;
163
+ /** A line of the transcript; `agent` is the SDK's `bot`. Held back until the conversation is verified. */
164
+ private message;
165
+ /**
166
+ * The library's session ended: our own `endSession()` (the call has ended
167
+ * by then), the agent hanging up (`agent`, an `idle` ending), or the
168
+ * connection failing (`error`, a `disconnected` one). During the goodbye
169
+ * the call still ends as `budget_exhausted`.
170
+ */
171
+ private disconnected;
172
+ /**
173
+ * The agent started (`speaking`) or stopped (`listening`) speaking. Only
174
+ * the goodbye listens; it also asks whether the agent was speaking as it
175
+ * began.
176
+ */
177
+ private modeChanged;
178
+ /**
179
+ * Resolves `true` once `done()` holds, checked now and on every wake;
180
+ * `false` after `ms`, or as soon as the call has ended.
181
+ */
182
+ private waitFor;
183
+ /** The page is going away: the end report, a keepalive request, leaves before it does. */
184
+ private readonly onPageHide;
185
+ /**
186
+ * End the call, once. Stop the time limit and the pagehide listener,
187
+ * answer any request still waiting on a turn, report the end, and end the
188
+ * session; then, when the call ended by itself (`notify`), tell the
189
+ * caller. The report goes first, so it is sent even as the page goes away.
190
+ * Resolves once the session has ended, without waiting for the engine's
191
+ * answer to the report ({@link reported}); never rejects.
192
+ */
193
+ private close;
194
+ private clearTimer;
195
+ private now;
196
+ }
197
+ //# sourceMappingURL=voice-elevenlabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-elevenlabs.d.ts","sourceRoot":"","sources":["../src/voice-elevenlabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,358 @@
1
+ /**
2
+ * An ElevenLabs voice call, run through the official `@elevenlabs/client`
3
+ * library.
4
+ *
5
+ * The engine mints the call when it picks ElevenLabs (`POST
6
+ * /v1/voice/sessions`): a conversation token, the conversation's id, the
7
+ * time limit the end-user's budget allows (never past the call cap), and the
8
+ * notice the agent speaks when the credit runs out. This module starts the
9
+ * conversation with that token, answers the agent's `ask_talk2view`
10
+ * requests through the voice turn runner (`voice-turn.ts`), says goodbye
11
+ * when the budget's time limit passes or a turn finds the budget spent, ends
12
+ * the call at the cap without one, and tells the engine, once, that the call
13
+ * has ended, so the engine settles the credit it holds for it.
14
+ *
15
+ * Keep this module and the library out of core's up-front bundle: only the
16
+ * voice controller loads this module, with `import()`, and only for an
17
+ * ElevenLabs call; this module loads the library the same way. The
18
+ * controller gets the voice turn runner from this module too, so a Gemini
19
+ * Live call loads neither.
20
+ */
21
+ import { formatCapabilities, NONE_PLACEHOLDER, unfence } from './voice-fence.js';
22
+ import { VoiceTurnRunner } from './voice-turn.js';
23
+ /** The voice turn runner, for the controller: it loads it only with this module. */
24
+ export { VoiceTurnRunner };
25
+ /** A dynamic import: a bundler splits the library into its own chunk. */
26
+ export const loadElevenLabsLibs = async () => {
27
+ const m = await import('@elevenlabs/client');
28
+ return {
29
+ startSession: (o) => m.Conversation.startSession(o),
30
+ };
31
+ };
32
+ /**
33
+ * How long the goodbye waits for the agent to start speaking the notice and,
34
+ * once it has, for it to finish.
35
+ */
36
+ export const GOODBYE_WAIT_MS = 10_000;
37
+ /** The error when the conversation that started is not the one the engine minted. */
38
+ export const MISMATCH_MESSAGE = 'The call did not start as expected. Try again.';
39
+ /**
40
+ * The longest an ElevenLabs call runs, in seconds, and so the cap on its time
41
+ * limit. Mirrors the engine's `CALL_CAP_SECONDS`
42
+ * (`t2v/services/elevenlabs_calls.py`). A time limit this long is the cap,
43
+ * not the end of the end-user's credit: the call ends there as `session_cap`,
44
+ * with no goodbye, as a Gemini Live call does at its cap.
45
+ */
46
+ export const CALL_CAP_SECONDS = 900;
47
+ /** The answer to a request still waiting on an engine turn as the call ends. */
48
+ const CALL_ENDED = 'The call ended';
49
+ /** Run `task`, swallowing its failure, thrown or rejected: an ending must go through. */
50
+ async function quietly(task) {
51
+ try {
52
+ await task();
53
+ }
54
+ catch {
55
+ // Swallowed, as above.
56
+ }
57
+ }
58
+ /**
59
+ * One ElevenLabs call, from `start()` until it ends. It ends once: by
60
+ * `stop()`, by the library (the agent or the connection), by the goodbye, at
61
+ * the call cap, or as the page goes away; and it reports that end once,
62
+ * through `reportEnd`. A call whose session never connected reports nothing:
63
+ * `start()` rejects, and the caller reports it.
64
+ */
65
+ export class ElevenLabsCall {
66
+ deps;
67
+ /** When the time limit runs out: counted from the mint's response (`startedAt`). */
68
+ deadline;
69
+ started = false;
70
+ conversation = null;
71
+ /** The conversation is the one the engine minted. */
72
+ verified = false;
73
+ announced = false;
74
+ /** Transcripts that arrived before the conversation was verified, delivered once it is. */
75
+ early = [];
76
+ /** A disconnect that arrived before the conversation was verified. */
77
+ earlyDisconnect = null;
78
+ closed = false;
79
+ /** The session's ending, under way or done: a later `stop()` joins it. */
80
+ closing = Promise.resolve();
81
+ /** The end report, once the call has ended: settles with the engine's answer, never rejects. */
82
+ reporting = Promise.resolve();
83
+ timer = null;
84
+ /** The agent is speaking, as the library last said. */
85
+ speaking = false;
86
+ saidGoodbye = false;
87
+ /** Since the goodbye was said, the agent started speaking; then it stopped. */
88
+ goodbyeSpeaking = false;
89
+ goodbyeSpoken = false;
90
+ /** Wakes the goodbye's wait: on a mode change, or as the call ends. */
91
+ wake = null;
92
+ constructor(deps) {
93
+ this.deps = deps;
94
+ this.deadline = deps.startedAt + deps.info.time_limit_seconds * 1000;
95
+ }
96
+ /**
97
+ * Start the conversation with the mint's token. Resolves once it is
98
+ * connected, or has ended: a conversation other than the one minted ends
99
+ * the call with {@link MISMATCH_MESSAGE}. Rejects when the session can't
100
+ * connect; the call has then ended, and reported nothing. Runs once.
101
+ */
102
+ async start() {
103
+ if (this.started || this.closed)
104
+ return;
105
+ this.started = true;
106
+ let conversation;
107
+ try {
108
+ conversation = await this.deps.libs.startSession(this.sessionOptions());
109
+ }
110
+ catch (err) {
111
+ // Hung up while it connected: the hang-up reported the end.
112
+ if (this.closed)
113
+ return;
114
+ this.closed = true;
115
+ // No request can reach the runner, but it ends with the call all the same.
116
+ this.deps.turns.abort(CALL_ENDED);
117
+ throw err;
118
+ }
119
+ if (this.closed) {
120
+ // Hung up while it connected: the late session ends, and its microphone with it.
121
+ await quietly(() => conversation.endSession());
122
+ return;
123
+ }
124
+ this.conversation = conversation;
125
+ // The engine holds credit for, and settles, the conversation it minted: any other is hung up.
126
+ if (conversation.getId() !== this.deps.info.conversation_id) {
127
+ this.early = [];
128
+ await this.close('error', true, { type: 'voice_error', message: MISMATCH_MESSAGE });
129
+ return;
130
+ }
131
+ this.verified = true;
132
+ this.timer = setTimeout(() => this.timeUp(), Math.max(0, this.deadline - this.now()));
133
+ if (typeof window !== 'undefined')
134
+ window.addEventListener('pagehide', this.onPageHide);
135
+ this.announce();
136
+ const early = this.early;
137
+ this.early = [];
138
+ for (const transcript of early)
139
+ this.deps.onTranscript(transcript);
140
+ if (this.earlyDisconnect)
141
+ this.disconnected(this.earlyDisconnect.reason);
142
+ }
143
+ /**
144
+ * Hang up: the caller's own ending, so `onEnded` is not called. Resolves
145
+ * once the session has ended, its microphone with it. The end report has
146
+ * gone by then; {@link reported} settles with the engine's answer. On a
147
+ * call that has ended already it joins that ending, and reports nothing
148
+ * more.
149
+ */
150
+ stop(reason = 'stopped') {
151
+ return this.close(reason, false);
152
+ }
153
+ /**
154
+ * Settles once the engine has answered the end report, or the report
155
+ * failed; never rejects. Settled already while the call has not ended, and
156
+ * for a call that never connected (it reports nothing).
157
+ */
158
+ reported() {
159
+ return this.reporting;
160
+ }
161
+ /**
162
+ * Say goodbye, then end the call as `budget_exhausted`: the budget's time
163
+ * limit passed, or a turn found the end-user's budget spent. The agent gets
164
+ * the mint's notice as the answer to the request it is waiting on, or else
165
+ * as a message. The call ends once the agent has spoken it: after up to
166
+ * {@link GOODBYE_WAIT_MS} for the agent to start speaking and, once it has,
167
+ * as long again for it to finish. An agent already speaking as the notice
168
+ * goes can run straight on into it, with no fresh start: then the call
169
+ * waits as long again for that speech to end. Runs once; never rejects.
170
+ */
171
+ async goodbye() {
172
+ if (this.saidGoodbye || this.closed || !this.verified)
173
+ return;
174
+ this.saidGoodbye = true;
175
+ this.clearTimer();
176
+ const { info, turns } = this.deps;
177
+ const speakingAtNotice = this.speaking;
178
+ try {
179
+ if (turns.busy)
180
+ turns.abort(info.budget_notice);
181
+ else
182
+ this.conversation?.sendUserMessage(info.budget_notice);
183
+ }
184
+ catch {
185
+ // The connection is going: the waits below end the call.
186
+ }
187
+ const wait = this.deps.goodbyeWaitMs ?? GOODBYE_WAIT_MS;
188
+ if (await this.waitFor(() => this.goodbyeSpeaking, wait)) {
189
+ await this.waitFor(() => this.goodbyeSpoken, wait);
190
+ }
191
+ else if (speakingAtNotice && this.speaking) {
192
+ // No fresh start: the speech under way as the notice went ran on into it.
193
+ await this.waitFor(() => !this.speaking, wait);
194
+ }
195
+ await this.close('budget_exhausted', true);
196
+ }
197
+ /**
198
+ * The time limit ran out. A limit at the call cap is the cap, not the end
199
+ * of the end-user's credit: the call ends as `session_cap`, with no
200
+ * goodbye. Under it, the credit ran out: the goodbye.
201
+ */
202
+ timeUp() {
203
+ if (this.deps.info.time_limit_seconds >= CALL_CAP_SECONDS)
204
+ void this.close('session_cap', true);
205
+ else
206
+ void this.goodbye();
207
+ }
208
+ /** The options `startSession` gets, as `@elevenlabs/client` 1.29.0 names them. */
209
+ sessionOptions() {
210
+ const { info, pagePrompt, turns } = this.deps;
211
+ return {
212
+ conversationToken: info.token,
213
+ connectionType: 'webrtc',
214
+ dynamicVariables: {
215
+ t2v_page_prompt: pagePrompt?.trim() ? unfence(pagePrompt) : NONE_PLACEHOLDER,
216
+ t2v_capabilities: formatCapabilities(info.capabilities),
217
+ t2v_greeting: info.greeting,
218
+ },
219
+ overrides: { agent: { language: info.language } },
220
+ clientTools: {
221
+ ask_talk2view: (parameters) => turns.ask(String(parameters?.request ?? '')),
222
+ },
223
+ onConnect: () => this.announce(),
224
+ onDisconnect: (details) => this.disconnected(details?.reason),
225
+ onModeChange: (change) => this.modeChanged(change?.mode),
226
+ onMessage: (payload) => this.message(payload),
227
+ onError: (message) => {
228
+ if (!this.verified || this.closed)
229
+ return;
230
+ this.deps.onError(typeof message === 'string' && message ? message : 'Voice connection error');
231
+ },
232
+ };
233
+ }
234
+ /**
235
+ * Tell the caller the call is up, once, and only for the conversation the
236
+ * engine minted. The library fires `onConnect` before `startSession`
237
+ * resolves, so it is `start()` that announces, once the id is checked.
238
+ */
239
+ announce() {
240
+ if (!this.verified || this.closed || this.announced)
241
+ return;
242
+ this.announced = true;
243
+ this.deps.onConnected();
244
+ }
245
+ /** A line of the transcript; `agent` is the SDK's `bot`. Held back until the conversation is verified. */
246
+ message(payload) {
247
+ if (this.closed || typeof payload?.message !== 'string')
248
+ return;
249
+ const transcript = { role: payload.role === 'agent' ? 'bot' : 'user', text: payload.message, final: true };
250
+ if (this.verified)
251
+ this.deps.onTranscript(transcript);
252
+ else
253
+ this.early.push(transcript);
254
+ }
255
+ /**
256
+ * The library's session ended: our own `endSession()` (the call has ended
257
+ * by then), the agent hanging up (`agent`, an `idle` ending), or the
258
+ * connection failing (`error`, a `disconnected` one). During the goodbye
259
+ * the call still ends as `budget_exhausted`.
260
+ */
261
+ disconnected(reason) {
262
+ if (this.closed)
263
+ return;
264
+ if (!this.verified) {
265
+ this.earlyDisconnect ??= { reason };
266
+ return;
267
+ }
268
+ const ending = this.saidGoodbye ? 'budget_exhausted' : reason === 'agent' ? 'idle' : 'disconnected';
269
+ void this.close(ending, true);
270
+ }
271
+ /**
272
+ * The agent started (`speaking`) or stopped (`listening`) speaking. Only
273
+ * the goodbye listens; it also asks whether the agent was speaking as it
274
+ * began.
275
+ */
276
+ modeChanged(mode) {
277
+ if (mode === 'speaking')
278
+ this.speaking = true;
279
+ else if (mode === 'listening')
280
+ this.speaking = false;
281
+ if (!this.saidGoodbye)
282
+ return;
283
+ if (mode === 'speaking')
284
+ this.goodbyeSpeaking = true;
285
+ else if (mode === 'listening' && this.goodbyeSpeaking)
286
+ this.goodbyeSpoken = true;
287
+ this.wake?.();
288
+ }
289
+ /**
290
+ * Resolves `true` once `done()` holds, checked now and on every wake;
291
+ * `false` after `ms`, or as soon as the call has ended.
292
+ */
293
+ waitFor(done, ms) {
294
+ return new Promise((resolve) => {
295
+ let timer;
296
+ const finish = (value) => {
297
+ clearTimeout(timer);
298
+ this.wake = null;
299
+ resolve(value);
300
+ };
301
+ const check = () => {
302
+ if (done())
303
+ finish(true);
304
+ else if (this.closed)
305
+ finish(false);
306
+ };
307
+ this.wake = check;
308
+ timer = setTimeout(() => finish(false), ms);
309
+ check();
310
+ });
311
+ }
312
+ /** The page is going away: the end report, a keepalive request, leaves before it does. */
313
+ onPageHide = () => {
314
+ void this.close('disconnected', true);
315
+ };
316
+ /**
317
+ * End the call, once. Stop the time limit and the pagehide listener,
318
+ * answer any request still waiting on a turn, report the end, and end the
319
+ * session; then, when the call ended by itself (`notify`), tell the
320
+ * caller. The report goes first, so it is sent even as the page goes away.
321
+ * Resolves once the session has ended, without waiting for the engine's
322
+ * answer to the report ({@link reported}); never rejects.
323
+ */
324
+ close(reason, notify, error) {
325
+ if (this.closed)
326
+ return this.closing;
327
+ this.closed = true;
328
+ this.clearTimer();
329
+ if (typeof window !== 'undefined')
330
+ window.removeEventListener('pagehide', this.onPageHide);
331
+ this.deps.turns.abort(CALL_ENDED);
332
+ this.reporting = quietly(() => this.deps.reportEnd(reason));
333
+ const conversation = this.conversation;
334
+ this.closing = conversation ? quietly(() => conversation.endSession()) : Promise.resolve();
335
+ this.wake?.();
336
+ if (notify) {
337
+ try {
338
+ if (error)
339
+ this.deps.onEnded(reason, error);
340
+ else
341
+ this.deps.onEnded(reason);
342
+ }
343
+ catch {
344
+ // The caller's failure: the call has ended all the same.
345
+ }
346
+ }
347
+ return this.closing;
348
+ }
349
+ clearTimer() {
350
+ if (this.timer !== null)
351
+ clearTimeout(this.timer);
352
+ this.timer = null;
353
+ }
354
+ now() {
355
+ return (this.deps.now ?? Date.now)();
356
+ }
357
+ }
358
+ //# sourceMappingURL=voice-elevenlabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-elevenlabs.js","sourceRoot":"","sources":["../src/voice-elevenlabs.ts"],"names":[],"mappings":"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"}