@humeai/voice-embed 0.2.3-beta.1 → 0.2.5

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/index.mjs DELETED
@@ -1,350 +0,0 @@
1
- // src/lib/embed-messages.ts
2
- import {
3
- AssistantMessage,
4
- UserMessage
5
- } from "hume/serialization/resources/empathicVoice/index.js";
6
- import { z as z2 } from "zod";
7
-
8
- // src/lib/auth.ts
9
- import z from "zod";
10
- var AuthStrategySchema = z.union([
11
- z.object({
12
- type: z.literal("apiKey"),
13
- value: z.string({
14
- description: "API key for the Hume API is required"
15
- })
16
- }),
17
- z.object({
18
- type: z.literal("accessToken"),
19
- value: z.string({
20
- description: "Access token for the Hume API is required"
21
- })
22
- })
23
- ]);
24
-
25
- // src/lib/embed-messages.ts
26
- var WindowDimensionsSchema = z2.object({
27
- width: z2.number(),
28
- height: z2.number()
29
- });
30
- var SocketConnect = z2.custom();
31
- var BaseSocketConfig = z2.object({
32
- auth: AuthStrategySchema,
33
- hostname: z2.string().optional()
34
- });
35
- var ClientToFrameActionSchema = z2.union([
36
- z2.object({
37
- type: z2.literal("update_config"),
38
- payload: z2.custom()
39
- }),
40
- z2.object({
41
- type: z2.literal("cancel")
42
- }),
43
- z2.object({
44
- type: z2.literal("expand_widget_from_client"),
45
- payload: WindowDimensionsSchema
46
- }),
47
- z2.object({
48
- type: z2.literal("send_window_size"),
49
- payload: WindowDimensionsSchema
50
- })
51
- ]);
52
- var UPDATE_CONFIG_ACTION = (config) => ({
53
- type: "update_config",
54
- payload: config
55
- });
56
- var EXPAND_FROM_CLIENT_ACTION = (dimensions) => ({
57
- type: "expand_widget_from_client",
58
- payload: dimensions
59
- });
60
- var SEND_WINDOW_SIZE_ACTION = (dimensions) => ({
61
- type: "send_window_size",
62
- payload: dimensions
63
- });
64
- var parseClientToFrameAction = (data) => {
65
- return new Promise((resolve, reject) => {
66
- try {
67
- const value = ClientToFrameActionSchema.parse(data);
68
- resolve(value);
69
- } catch (error) {
70
- reject(error);
71
- }
72
- });
73
- };
74
- var FrameToClientActionSchema = z2.union([
75
- z2.object({
76
- type: z2.literal("expand_widget")
77
- }),
78
- z2.object({
79
- type: z2.literal("collapse_widget")
80
- }),
81
- z2.object({
82
- type: z2.literal("minimize_widget")
83
- }),
84
- z2.object({
85
- type: z2.literal("widget_iframe_is_ready")
86
- }),
87
- z2.object({
88
- type: z2.literal("transcript_message"),
89
- payload: z2.custom((val) => {
90
- const userMessageParseResponse = UserMessage.parse(val);
91
- if (userMessageParseResponse.ok) {
92
- return true;
93
- }
94
- const assistantMessageParseResponse = AssistantMessage.parse(val);
95
- if (assistantMessageParseResponse.ok) {
96
- return true;
97
- }
98
- return false;
99
- })
100
- }),
101
- z2.object({
102
- type: z2.literal("resize_frame"),
103
- payload: z2.object({
104
- width: z2.number(),
105
- height: z2.number()
106
- })
107
- })
108
- ]);
109
- var EXPAND_WIDGET_ACTION = {
110
- type: "expand_widget"
111
- };
112
- var COLLAPSE_WIDGET_ACTION = {
113
- type: "collapse_widget"
114
- };
115
- var MINIMIZE_WIDGET_ACTION = {
116
- type: "minimize_widget"
117
- };
118
- var WIDGET_IFRAME_IS_READY_ACTION = {
119
- type: "widget_iframe_is_ready"
120
- };
121
- var TRANSCRIPT_MESSAGE_ACTION = (message) => {
122
- return {
123
- type: "transcript_message",
124
- payload: message
125
- };
126
- };
127
- var RESIZE_FRAME_ACTION = (dimensions) => {
128
- return {
129
- type: "resize_frame",
130
- payload: {
131
- width: dimensions.width,
132
- height: dimensions.height
133
- }
134
- };
135
- };
136
-
137
- // src/lib/embed.ts
138
- var EmbeddedVoice = class _EmbeddedVoice {
139
- iframe;
140
- isMounted = false;
141
- managedContainer = null;
142
- config;
143
- onMessage;
144
- onClose;
145
- openOnMount;
146
- constructor({
147
- onMessage = () => {
148
- },
149
- onClose = () => {
150
- },
151
- openOnMount,
152
- ...config
153
- }) {
154
- this.config = config;
155
- this.iframe = this.createIframe(config);
156
- this.onMessage = onMessage;
157
- this.onClose = onClose;
158
- this.openOnMount = openOnMount ?? false;
159
- this.messageHandler = this.messageHandler.bind(this);
160
- this.messageHandler = this.messageHandler.bind(this);
161
- }
162
- static create({
163
- rendererUrl,
164
- onMessage,
165
- onClose,
166
- openOnMount,
167
- ...config
168
- }) {
169
- return new _EmbeddedVoice({
170
- rendererUrl: rendererUrl ?? "https://voice-widget.hume.ai",
171
- onMessage,
172
- onClose,
173
- openOnMount,
174
- ...config
175
- });
176
- }
177
- mount(container) {
178
- const messageHandler = (event) => {
179
- this.messageHandler(event);
180
- };
181
- const resizeHandler = () => {
182
- this.sendWindowSize();
183
- };
184
- const el = container ?? this.createContainer();
185
- this.managedContainer = el;
186
- try {
187
- window.addEventListener("message", messageHandler);
188
- window.addEventListener("resize", resizeHandler);
189
- el.appendChild(this.iframe);
190
- this.isMounted = true;
191
- } catch (e) {
192
- this.isMounted = false;
193
- }
194
- const unmount = () => {
195
- try {
196
- window.removeEventListener("message", messageHandler);
197
- window.removeEventListener("resize", resizeHandler);
198
- this.iframe.remove();
199
- this.isMounted = false;
200
- } catch (e) {
201
- this.isMounted = true;
202
- }
203
- if (!container) {
204
- el.remove();
205
- }
206
- };
207
- return unmount;
208
- }
209
- createContainer() {
210
- const div = document.createElement("div");
211
- Object.assign(div.style, {
212
- background: "transparent",
213
- position: "fixed",
214
- bottom: "0",
215
- right: "0",
216
- margin: "24px",
217
- zIndex: "999999",
218
- fontSize: "0px",
219
- pointerEvents: "none"
220
- });
221
- div.id = "hume-embedded-voice-container";
222
- document.body.appendChild(div);
223
- return div;
224
- }
225
- createIframe({ rendererUrl, iframeTitle }) {
226
- const el = document.createElement("iframe");
227
- Object.assign(el.style, {
228
- backgroundColor: "transparent",
229
- backgroundImage: "none",
230
- border: "none",
231
- height: "0px",
232
- width: "0px",
233
- opacity: "0"
234
- });
235
- el.id = "hume-embedded-voice";
236
- el.src = `${rendererUrl}`;
237
- el.setAttribute("title", iframeTitle ?? "Hume Empathic Voice Widget");
238
- el.setAttribute("frameborder", "0");
239
- el.setAttribute("allowtransparency", "true");
240
- el.setAttribute("scrolling", "no");
241
- el.setAttribute("allow", "microphone");
242
- if (el.contentWindow) {
243
- el.contentWindow.document.documentElement.style.backgroundColor = "transparent";
244
- el.contentWindow.document.body.style.backgroundColor = "transparent";
245
- }
246
- return el;
247
- }
248
- messageHandler(event) {
249
- if (!this.iframe) {
250
- return;
251
- }
252
- if (event.origin !== new URL(this.iframe.src).origin) {
253
- return;
254
- }
255
- const action = FrameToClientActionSchema.safeParse(event.data);
256
- if (!action.success) {
257
- return;
258
- }
259
- switch (action.data.type) {
260
- case WIDGET_IFRAME_IS_READY_ACTION.type: {
261
- this.showIframe();
262
- this.sendConfigObject();
263
- this.sendWindowSize();
264
- if (this.openOnMount) {
265
- this.openEmbed();
266
- }
267
- break;
268
- }
269
- case "resize_frame": {
270
- this.resizeIframe(action.data.payload);
271
- break;
272
- }
273
- case "transcript_message": {
274
- this.onMessage(action.data.payload);
275
- break;
276
- }
277
- case "collapse_widget": {
278
- this.onClose();
279
- break;
280
- }
281
- }
282
- }
283
- openEmbed() {
284
- const action = EXPAND_FROM_CLIENT_ACTION({
285
- width: window.screen.availWidth,
286
- height: window.screen.availHeight
287
- });
288
- this.sendMessageToFrame(action);
289
- }
290
- sendConfigObject() {
291
- const action = UPDATE_CONFIG_ACTION(this.config);
292
- this.sendMessageToFrame(action);
293
- }
294
- sendWindowSize() {
295
- const action = SEND_WINDOW_SIZE_ACTION({
296
- width: window.screen.availWidth,
297
- height: window.screen.availHeight
298
- });
299
- this.sendMessageToFrame(action);
300
- }
301
- sendMessageToFrame(action) {
302
- const frame = this.iframe;
303
- if (!frame.contentWindow) {
304
- return;
305
- }
306
- frame.contentWindow.postMessage(action, new URL(frame.src).origin);
307
- }
308
- showIframe() {
309
- this.iframe.style.opacity = "1";
310
- if (this.managedContainer) {
311
- this.managedContainer.style.pointerEvents = "all";
312
- }
313
- }
314
- hideIframe() {
315
- this.iframe.style.opacity = "0";
316
- if (this.managedContainer) {
317
- this.managedContainer.style.pointerEvents = "none";
318
- }
319
- }
320
- resizeIframe({ width, height }) {
321
- this.iframe.style.width = `${width}px`;
322
- this.iframe.style.height = `${height}px`;
323
- }
324
- };
325
-
326
- // src/types.ts
327
- var LanguageModelOption = /* @__PURE__ */ ((LanguageModelOption2) => {
328
- LanguageModelOption2["CLAUDE_3_OPUS"] = "CLAUDE_3_OPUS";
329
- LanguageModelOption2["CLAUDE_3_SONNET"] = "CLAUDE_3_SONNET";
330
- LanguageModelOption2["CLAUDE_3_HAIKU"] = "CLAUDE_3_HAIKU";
331
- LanguageModelOption2["CLAUDE_21"] = "CLAUDE_21";
332
- LanguageModelOption2["CLAUDE_INSTANT_12"] = "CLAUDE_INSTANT_12";
333
- LanguageModelOption2["GPT_4_TURBO_PREVIEW"] = "GPT_4_TURBO_PREVIEW";
334
- LanguageModelOption2["GPT_35_TURBO_0125"] = "GPT_35_TURBO_0125";
335
- LanguageModelOption2["GPT_35_TURBO"] = "GPT_35_TURBO";
336
- LanguageModelOption2["FIREWORKS_MIXTRAL_8X7B"] = "FIREWORKS_MIXTRAL_8X7B";
337
- return LanguageModelOption2;
338
- })(LanguageModelOption || {});
339
- export {
340
- COLLAPSE_WIDGET_ACTION,
341
- EXPAND_WIDGET_ACTION,
342
- EmbeddedVoice,
343
- LanguageModelOption,
344
- MINIMIZE_WIDGET_ACTION,
345
- RESIZE_FRAME_ACTION,
346
- TRANSCRIPT_MESSAGE_ACTION,
347
- WIDGET_IFRAME_IS_READY_ACTION,
348
- parseClientToFrameAction
349
- };
350
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/embed-messages.ts","../src/lib/auth.ts","../src/lib/embed.ts","../src/types.ts"],"sourcesContent":["/** \n \n client frame \n \n ┌───────────────────────────┐ \n │ mount iframe │ ───────────▶ \n └───────────────────────────┘ \n ┌───────────────────────────┐\n ◀─────────── │ iframe is ready │\n └───────────────────────────┘\n ┌───────────────────────────┐ \n │ send config │ ───────────▶ \n └───────────────────────────┘ \n ┌───────────────────────────┐\n ◀─────────── │ widget is open │\n └───────────────────────────┘\n ┌───────────────────────────┐\n ◀─────────── │ widget is collapsed │\n └───────────────────────────┘\n ┌───────────────────────────┐\n ◀─────────── │ widget is minimized │\n └───────────────────────────┘\n ┌───────────────────────────┐\n ◀─────────── │ transcript message │\n └───────────────────────────┘\n ┌───────────────────────────┐\n ◀─────────── │ resize window │\n └───────────────────────────┘\n ┌───────────────────────────┐ \n │ unmount iframe │ ───────────▶ \n └───────────────────────────┘ \n */\nimport { type Hume } from 'hume';\nimport {\n AssistantMessage,\n UserMessage,\n} from 'hume/serialization/resources/empathicVoice/index.js';\nimport { z } from 'zod';\n\nimport { AuthStrategySchema } from './auth';\n\nconst WindowDimensionsSchema = z.object({\n width: z.number(),\n height: z.number(),\n});\n\nexport type WindowDimensions = z.infer<typeof WindowDimensionsSchema>;\n\nexport const SocketConnect =\n z.custom<Hume.empathicVoice.chat.Chat.ConnectArgs>();\nexport type SocketConnectSchema = z.infer<typeof SocketConnect>;\n\nexport const BaseSocketConfig = z.object({\n auth: AuthStrategySchema,\n hostname: z.string().optional(),\n});\nexport type SocketAuthSchema = z.infer<typeof BaseSocketConfig>;\n\nexport type SocketConfig = SocketAuthSchema & SocketConnectSchema;\n\n// ---------------------------------------------------------------------------\n// Client to frame actions\n// ---------------------------------------------------------------------------\nexport const ClientToFrameActionSchema = z.union([\n z.object({\n type: z.literal('update_config'),\n payload: z.custom<SocketConfig>(),\n }),\n z.object({\n type: z.literal('cancel'),\n }),\n z.object({\n type: z.literal('expand_widget_from_client'),\n payload: WindowDimensionsSchema,\n }),\n z.object({\n type: z.literal('send_window_size'),\n payload: WindowDimensionsSchema,\n }),\n]);\n\nexport type ClientToFrameAction = z.infer<typeof ClientToFrameActionSchema>;\n\nexport const UPDATE_CONFIG_ACTION = (config: SocketConfig) =>\n ({\n type: 'update_config',\n payload: config,\n }) satisfies ClientToFrameAction;\n\nexport const EXPAND_FROM_CLIENT_ACTION = (dimensions: WindowDimensions) =>\n ({\n type: 'expand_widget_from_client',\n payload: dimensions,\n }) satisfies ClientToFrameAction;\n\nexport const SEND_WINDOW_SIZE_ACTION = (dimensions: WindowDimensions) =>\n ({\n type: 'send_window_size',\n payload: dimensions,\n }) satisfies ClientToFrameAction;\n\nexport const parseClientToFrameAction = (\n data: unknown,\n): Promise<ClientToFrameAction> => {\n return new Promise((resolve, reject) => {\n try {\n const value = ClientToFrameActionSchema.parse(data);\n resolve(value);\n } catch (error) {\n reject(error);\n }\n });\n};\n\n// ---------------------------------------------------------------------------\n// Frame to client actions\n// ---------------------------------------------------------------------------\nexport const FrameToClientActionSchema = z.union([\n z.object({\n type: z.literal('expand_widget'),\n }),\n z.object({\n type: z.literal('collapse_widget'),\n }),\n z.object({\n type: z.literal('minimize_widget'),\n }),\n z.object({\n type: z.literal('widget_iframe_is_ready'),\n }),\n z.object({\n type: z.literal('transcript_message'),\n payload: z.custom<\n Hume.empathicVoice.UserMessage | Hume.empathicVoice.AssistantMessage\n >((val) => {\n const userMessageParseResponse = UserMessage.parse(val);\n if (userMessageParseResponse.ok) {\n return true;\n }\n const assistantMessageParseResponse = AssistantMessage.parse(val);\n if (assistantMessageParseResponse.ok) {\n return true;\n }\n return false;\n }),\n }),\n z.object({\n type: z.literal('resize_frame'),\n payload: z.object({\n width: z.number(),\n height: z.number(),\n }),\n }),\n]);\n\nexport type FrameToClientAction = z.infer<typeof FrameToClientActionSchema>;\n\nexport const EXPAND_WIDGET_ACTION = {\n type: 'expand_widget',\n} satisfies FrameToClientAction;\n\nexport const COLLAPSE_WIDGET_ACTION = {\n type: 'collapse_widget' as const,\n} satisfies FrameToClientAction;\n\nexport const MINIMIZE_WIDGET_ACTION = {\n type: 'minimize_widget',\n} satisfies FrameToClientAction;\n\nexport const WIDGET_IFRAME_IS_READY_ACTION = {\n type: 'widget_iframe_is_ready',\n} satisfies FrameToClientAction;\n\nexport const TRANSCRIPT_MESSAGE_ACTION = (\n message: Hume.empathicVoice.UserMessage | Hume.empathicVoice.AssistantMessage,\n) => {\n return {\n type: 'transcript_message',\n payload: message,\n } satisfies FrameToClientAction;\n};\n\nexport const RESIZE_FRAME_ACTION = (dimensions: {\n width: number;\n height: number;\n}) => {\n return {\n type: 'resize_frame',\n payload: {\n width: dimensions.width,\n height: dimensions.height,\n },\n } satisfies FrameToClientAction;\n};\n","import z from 'zod';\n\nexport const AuthStrategySchema = z.union([\n z.object({\n type: z.literal('apiKey'),\n value: z.string({\n description: 'API key for the Hume API is required',\n }),\n }),\n z.object({\n type: z.literal('accessToken'),\n value: z.string({\n description: 'Access token for the Hume API is required',\n }),\n }),\n]);\n\nexport type AuthStrategy = z.infer<typeof AuthStrategySchema>;\n","import type { Hume } from 'hume';\n\nimport type { ClientToFrameAction, SocketConfig } from './embed-messages';\nimport {\n EXPAND_FROM_CLIENT_ACTION,\n FrameToClientActionSchema,\n SEND_WINDOW_SIZE_ACTION,\n UPDATE_CONFIG_ACTION,\n WIDGET_IFRAME_IS_READY_ACTION,\n} from './embed-messages';\n\nexport type EmbeddedVoiceConfig = {\n rendererUrl?: string;\n iframeTitle?: string;\n} & SocketConfig;\n\nexport type TranscriptMessageHandler = (\n message: Hume.empathicVoice.UserMessage | Hume.empathicVoice.AssistantMessage,\n) => void;\n\nexport type CloseHandler = () => void;\n\nexport class EmbeddedVoice {\n private iframe: HTMLIFrameElement;\n\n private isMounted: boolean = false;\n\n private managedContainer: HTMLElement | null = null;\n\n private config: EmbeddedVoiceConfig;\n\n private onMessage: TranscriptMessageHandler;\n\n private onClose: CloseHandler;\n\n private openOnMount: boolean;\n\n private constructor({\n onMessage = () => {},\n onClose = () => {},\n openOnMount,\n ...config\n }: {\n onMessage?: TranscriptMessageHandler;\n onClose?: CloseHandler;\n openOnMount?: boolean;\n } & EmbeddedVoiceConfig) {\n this.config = config;\n this.iframe = this.createIframe(config);\n this.onMessage = onMessage;\n this.onClose = onClose;\n this.openOnMount = openOnMount ?? false;\n this.messageHandler = this.messageHandler.bind(this);\n this.messageHandler = this.messageHandler.bind(this);\n }\n\n static create({\n rendererUrl,\n onMessage,\n onClose,\n openOnMount,\n ...config\n }: EmbeddedVoiceConfig & {\n onMessage?: TranscriptMessageHandler;\n onClose?: CloseHandler;\n openOnMount?: boolean;\n }): EmbeddedVoice {\n return new EmbeddedVoice({\n rendererUrl: rendererUrl ?? 'https://voice-widget.hume.ai',\n onMessage,\n onClose,\n openOnMount,\n ...config,\n });\n }\n\n mount(container?: HTMLElement) {\n const messageHandler = (event: MessageEvent<unknown>) => {\n this.messageHandler(event);\n };\n\n const resizeHandler = () => {\n this.sendWindowSize();\n };\n\n const el = container ?? this.createContainer();\n\n this.managedContainer = el;\n\n try {\n window.addEventListener('message', messageHandler);\n window.addEventListener('resize', resizeHandler);\n el.appendChild(this.iframe);\n this.isMounted = true;\n } catch (e) {\n this.isMounted = false;\n }\n\n const unmount = () => {\n try {\n window.removeEventListener('message', messageHandler);\n window.removeEventListener('resize', resizeHandler);\n this.iframe.remove();\n this.isMounted = false;\n } catch (e) {\n this.isMounted = true;\n }\n\n if (!container) {\n el.remove();\n }\n };\n\n return unmount;\n }\n\n private createContainer() {\n const div = document.createElement('div');\n\n Object.assign(div.style, {\n background: 'transparent',\n position: 'fixed',\n bottom: '0',\n right: '0',\n margin: '24px',\n zIndex: '999999',\n fontSize: '0px',\n pointerEvents: 'none',\n });\n\n div.id = 'hume-embedded-voice-container';\n\n document.body.appendChild(div);\n\n return div;\n }\n\n private createIframe({ rendererUrl, iframeTitle }: EmbeddedVoiceConfig) {\n const el = document.createElement('iframe');\n\n Object.assign(el.style, {\n backgroundColor: 'transparent',\n backgroundImage: 'none',\n border: 'none',\n height: '0px',\n width: '0px',\n opacity: '0',\n });\n\n el.id = 'hume-embedded-voice';\n el.src = `${rendererUrl}`;\n\n el.setAttribute('title', iframeTitle ?? 'Hume Empathic Voice Widget');\n el.setAttribute('frameborder', '0');\n el.setAttribute('allowtransparency', 'true');\n el.setAttribute('scrolling', 'no');\n el.setAttribute('allow', 'microphone');\n\n if (el.contentWindow) {\n el.contentWindow.document.documentElement.style.backgroundColor =\n 'transparent';\n el.contentWindow.document.body.style.backgroundColor = 'transparent';\n }\n\n return el;\n }\n\n private messageHandler(event: MessageEvent<unknown>) {\n if (!this.iframe) {\n return;\n }\n\n if (event.origin !== new URL(this.iframe.src).origin) {\n return;\n }\n\n const action = FrameToClientActionSchema.safeParse(event.data);\n\n if (!action.success) {\n return;\n }\n\n switch (action.data.type) {\n case WIDGET_IFRAME_IS_READY_ACTION.type: {\n this.showIframe();\n this.sendConfigObject();\n this.sendWindowSize();\n if (this.openOnMount) {\n this.openEmbed();\n }\n break;\n }\n case 'resize_frame': {\n this.resizeIframe(action.data.payload);\n break;\n }\n case 'transcript_message': {\n this.onMessage(action.data.payload);\n break;\n }\n case 'collapse_widget': {\n this.onClose();\n break;\n }\n }\n }\n\n openEmbed() {\n const action = EXPAND_FROM_CLIENT_ACTION({\n width: window.screen.availWidth,\n height: window.screen.availHeight,\n });\n this.sendMessageToFrame(action);\n }\n\n private sendConfigObject() {\n const action = UPDATE_CONFIG_ACTION(this.config);\n this.sendMessageToFrame(action);\n }\n\n private sendWindowSize() {\n const action = SEND_WINDOW_SIZE_ACTION({\n width: window.screen.availWidth,\n height: window.screen.availHeight,\n });\n this.sendMessageToFrame(action);\n }\n\n private sendMessageToFrame(action: ClientToFrameAction) {\n const frame = this.iframe;\n\n if (!frame.contentWindow) {\n return;\n }\n\n frame.contentWindow.postMessage(action, new URL(frame.src).origin);\n }\n\n private showIframe() {\n this.iframe.style.opacity = '1';\n if (this.managedContainer) {\n this.managedContainer.style.pointerEvents = 'all';\n }\n }\n\n private hideIframe() {\n this.iframe.style.opacity = '0';\n if (this.managedContainer) {\n this.managedContainer.style.pointerEvents = 'none';\n }\n }\n\n private resizeIframe({ width, height }: { width: number; height: number }) {\n this.iframe.style.width = `${width}px`;\n this.iframe.style.height = `${height}px`;\n }\n}\n","export enum LanguageModelOption {\n CLAUDE_3_OPUS = 'CLAUDE_3_OPUS',\n CLAUDE_3_SONNET = 'CLAUDE_3_SONNET',\n CLAUDE_3_HAIKU = 'CLAUDE_3_HAIKU',\n CLAUDE_21 = 'CLAUDE_21',\n CLAUDE_INSTANT_12 = 'CLAUDE_INSTANT_12',\n GPT_4_TURBO_PREVIEW = 'GPT_4_TURBO_PREVIEW',\n GPT_35_TURBO_0125 = 'GPT_35_TURBO_0125',\n GPT_35_TURBO = 'GPT_35_TURBO',\n FIREWORKS_MIXTRAL_8X7B = 'FIREWORKS_MIXTRAL_8X7B',\n}\n"],"mappings":"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","names":["z","z","LanguageModelOption"]}