@voicethere/client 0.7.28 → 0.8.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.
@@ -1,4 +1,55 @@
1
- import { BrowserSessionModeType, connectBrowserSession, createDebugConsole, startSession, } from "../browser/browser-session.js";
1
+ import { BrowserSessionModeType, connectBrowserSession, createDebugConsole, startSession, unlockAudioPlayback, } from "../browser/browser-session.js";
2
+ import { fetchVoiceThereWidgetConfig, WidgetConfigError, widgetConfigModeToSessionMode, } from "./config.js";
3
+ import { applyPreset, applyWidgetPosition, } from "./presets.js";
4
+ export { WidgetConfigError, fetchVoiceThereWidgetConfig, parseVoiceThereWidgetConfigJson, parseVoiceThereWidgetConfigV1, WIDGET_CONFIG_VERSION, WIDGET_PRESET_IDS, } from "./config.js";
5
+ export { applyPreset, getWidgetPreset } from "./presets.js";
6
+ function mergeWidgetOptions(inline, remote) {
7
+ const projectId = inline.projectId ?? remote?.projectId;
8
+ const apiBase = inline.apiBase ?? remote?.apiBase;
9
+ if (!projectId) {
10
+ throw new Error("VoiceThere widget requires projectId (inline or from configUrl)");
11
+ }
12
+ if (!apiBase) {
13
+ throw new Error("VoiceThere widget requires apiBase (inline or from configUrl)");
14
+ }
15
+ const mode = inline.mode ??
16
+ widgetConfigModeToSessionMode(remote?.mode) ??
17
+ BrowserSessionModeType.Chat;
18
+ return {
19
+ projectId,
20
+ apiBase,
21
+ clientKey: inline.clientKey,
22
+ mode,
23
+ theme: inline.theme ?? remote?.theme,
24
+ mount: inline.mount,
25
+ preset: inline.preset ?? remote?.preset ?? "pill-dark",
26
+ launcherLabel: inline.launcherLabel ?? remote?.launcherLabel ?? "Chat",
27
+ greeting: inline.greeting ?? remote?.greeting,
28
+ position: inline.position ?? remote?.position ?? "bottom-right",
29
+ };
30
+ }
31
+ export async function createVoiceThereWidgetAsync(options) {
32
+ let remote;
33
+ if (options.configUrl) {
34
+ try {
35
+ remote = await fetchVoiceThereWidgetConfig(options.configUrl);
36
+ }
37
+ catch (error) {
38
+ const detail = error instanceof WidgetConfigError || error instanceof Error
39
+ ? error.message
40
+ : String(error);
41
+ console.warn(`VoiceThere widget: CDN config unavailable (${options.configUrl}): ${detail}`);
42
+ remote = undefined;
43
+ }
44
+ }
45
+ return buildVoiceThereWidget(mergeWidgetOptions(options, remote));
46
+ }
47
+ export function createVoiceThereWidget(options) {
48
+ if (options.configUrl) {
49
+ throw new Error("configUrl requires createVoiceThereWidgetAsync(); fetch CDN config before mounting");
50
+ }
51
+ return buildVoiceThereWidget(mergeWidgetOptions(options));
52
+ }
2
53
  function formatWebRtcStatus(status) {
3
54
  if (status.ready)
4
55
  return "Connected";
@@ -21,34 +72,43 @@ function formatWebRtcStatus(status) {
21
72
  return "Connecting…";
22
73
  }
23
74
  }
24
- export function createVoiceThereWidget(options) {
75
+ function isMicLimitedState(state) {
76
+ return state === "denied" || state === "unavailable" || state === "synthetic";
77
+ }
78
+ function isVoiceSessionMode(mode) {
79
+ return (mode === BrowserSessionModeType.Voice ||
80
+ mode === BrowserSessionModeType.VoiceAndData);
81
+ }
82
+ function applyAccentTheme(elements, theme) {
83
+ for (const el of elements) {
84
+ el.style.background = theme.primary;
85
+ el.style.color = theme.text;
86
+ }
87
+ }
88
+ function buildVoiceThereWidget(options) {
25
89
  const mount = options.mount ?? document.body;
26
- const mode = options.mode ?? BrowserSessionModeType.Chat;
27
- const theme = options.theme ?? {};
90
+ const mode = options.mode;
28
91
  const root = document.createElement("div");
29
92
  root.style.position = "fixed";
30
- root.style.bottom = "16px";
31
- root.style.right = "16px";
32
93
  root.style.zIndex = "99999";
33
94
  root.style.fontFamily = "system-ui, sans-serif";
34
95
  const launcher = document.createElement("button");
35
- launcher.textContent = "Chat";
36
- launcher.style.background = theme.primary ?? "#06b6d4";
37
- launcher.style.color = theme.text ?? "#0f172a";
96
+ launcher.textContent = options.launcherLabel;
38
97
  launcher.style.border = "none";
39
- launcher.style.borderRadius = "999px";
40
- launcher.style.padding = "12px 16px";
41
98
  launcher.style.cursor = "pointer";
42
99
  const panel = document.createElement("div");
43
100
  panel.style.display = "none";
44
- panel.style.width = "320px";
45
- panel.style.height = "420px";
46
- panel.style.background = theme.background ?? "#0b1220";
47
- panel.style.color = theme.text ?? "#e2e8f0";
48
- panel.style.border = "1px solid rgba(255,255,255,0.1)";
49
- panel.style.borderRadius = "12px";
50
- panel.style.padding = "12px";
51
- panel.style.boxShadow = "0 8px 30px rgba(0,0,0,0.35)";
101
+ panel.style.boxSizing = "border-box";
102
+ const theme = applyPreset({ root, launcher, panel }, options.preset, options.theme);
103
+ applyWidgetPosition(root, options.position, options.preset);
104
+ const greeting = document.createElement("div");
105
+ greeting.setAttribute("data-voicethere-greeting", "");
106
+ greeting.style.display = options.greeting ? "block" : "none";
107
+ greeting.style.fontSize = "13px";
108
+ greeting.style.lineHeight = "1.4";
109
+ greeting.style.marginBottom = "8px";
110
+ greeting.style.color = theme.text;
111
+ greeting.textContent = options.greeting ?? "";
52
112
  const status = document.createElement("div");
53
113
  status.style.fontSize = "12px";
54
114
  status.style.marginBottom = "8px";
@@ -78,6 +138,70 @@ export function createVoiceThereWidget(options) {
78
138
  statusText.textContent = text;
79
139
  statusSpinner.style.display = loading ? "inline-block" : "none";
80
140
  };
141
+ const inboundAudio = document.createElement("audio");
142
+ inboundAudio.autoplay = true;
143
+ inboundAudio.setAttribute("playsinline", "");
144
+ inboundAudio.style.display = "none";
145
+ const micWarning = document.createElement("div");
146
+ micWarning.setAttribute("data-voicethere-mic-warning", "");
147
+ micWarning.style.display = "none";
148
+ micWarning.style.fontSize = "11px";
149
+ micWarning.style.lineHeight = "1.4";
150
+ micWarning.style.marginBottom = "8px";
151
+ micWarning.style.padding = "8px";
152
+ micWarning.style.borderRadius = "8px";
153
+ micWarning.style.background = "rgba(245, 158, 11, 0.15)";
154
+ micWarning.style.border = "1px solid rgba(245, 158, 11, 0.35)";
155
+ micWarning.style.color = "#fcd34d";
156
+ micWarning.textContent =
157
+ "Microphone permission was denied or unavailable (nested iframes / in-app browsers often hide the prompt). Session is connected. You can still hear the agent if the browser allows playback. Grant microphone access to speak.";
158
+ const micRequestBtn = document.createElement("button");
159
+ micRequestBtn.setAttribute("data-voicethere-mic-request", "");
160
+ micRequestBtn.type = "button";
161
+ micRequestBtn.textContent = "Request microphone";
162
+ micRequestBtn.style.marginTop = "6px";
163
+ micRequestBtn.style.padding = "6px 10px";
164
+ micRequestBtn.style.borderRadius = "6px";
165
+ micRequestBtn.style.border = "none";
166
+ micRequestBtn.style.cursor = "pointer";
167
+ micRequestBtn.style.fontSize = "11px";
168
+ micWarning.append(micRequestBtn);
169
+ const playbackWarning = document.createElement("div");
170
+ playbackWarning.setAttribute("data-voicethere-playback-warning", "");
171
+ playbackWarning.style.display = "none";
172
+ playbackWarning.style.fontSize = "11px";
173
+ playbackWarning.style.lineHeight = "1.4";
174
+ playbackWarning.style.marginBottom = "8px";
175
+ playbackWarning.style.padding = "8px";
176
+ playbackWarning.style.borderRadius = "8px";
177
+ playbackWarning.style.background = "rgba(245, 158, 11, 0.15)";
178
+ playbackWarning.style.border = "1px solid rgba(245, 158, 11, 0.35)";
179
+ playbackWarning.style.color = "#fcd34d";
180
+ playbackWarning.textContent = "Tap to enable sound.";
181
+ const playbackEnableBtn = document.createElement("button");
182
+ playbackEnableBtn.setAttribute("data-voicethere-playback-enable", "");
183
+ playbackEnableBtn.type = "button";
184
+ playbackEnableBtn.textContent = "Enable sound";
185
+ playbackEnableBtn.style.marginTop = "6px";
186
+ playbackEnableBtn.style.padding = "6px 10px";
187
+ playbackEnableBtn.style.borderRadius = "6px";
188
+ playbackEnableBtn.style.border = "none";
189
+ playbackEnableBtn.style.cursor = "pointer";
190
+ playbackEnableBtn.style.fontSize = "11px";
191
+ playbackWarning.append(playbackEnableBtn);
192
+ applyAccentTheme([micRequestBtn, playbackEnableBtn], theme);
193
+ const hideSessionNotices = () => {
194
+ micWarning.style.display = "none";
195
+ playbackWarning.style.display = "none";
196
+ };
197
+ const refreshMicNotice = () => {
198
+ if (!session || !isVoiceSessionMode(session.mode)) {
199
+ micWarning.style.display = "none";
200
+ return;
201
+ }
202
+ const micState = session.getAudioInputState();
203
+ micWarning.style.display = isMicLimitedState(micState) ? "block" : "none";
204
+ };
81
205
  const log = document.createElement("pre");
82
206
  log.style.flex = "1";
83
207
  log.style.overflow = "auto";
@@ -95,7 +219,7 @@ export function createVoiceThereWidget(options) {
95
219
  input.style.borderRadius = "8px";
96
220
  input.style.border = "1px solid rgba(255,255,255,0.15)";
97
221
  input.style.background = "#111827";
98
- input.style.color = "#e2e8f0";
222
+ input.style.color = theme.text;
99
223
  const connectBtn = document.createElement("button");
100
224
  connectBtn.textContent = "Connect";
101
225
  connectBtn.style.marginTop = "8px";
@@ -103,24 +227,46 @@ export function createVoiceThereWidget(options) {
103
227
  connectBtn.style.padding = "8px";
104
228
  connectBtn.style.borderRadius = "8px";
105
229
  connectBtn.style.border = "none";
106
- connectBtn.style.background = theme.primary ?? "#06b6d4";
107
- connectBtn.style.color = theme.text ?? "#0f172a";
108
230
  connectBtn.style.cursor = "pointer";
109
- panel.append(status, log, input, connectBtn);
110
- root.append(launcher, panel);
231
+ applyAccentTheme([connectBtn], theme);
232
+ panel.append(greeting, status, micWarning, playbackWarning, log, input, connectBtn);
233
+ root.append(launcher, panel, inboundAudio);
111
234
  mount.append(root);
112
235
  let session = null;
113
236
  const renderLog = () => {
114
237
  log.textContent = debug.exportText();
115
238
  };
116
239
  const debug = createDebugConsole(() => renderLog());
240
+ micRequestBtn.onclick = () => {
241
+ void (async () => {
242
+ if (!session)
243
+ return;
244
+ await session.requestAudioInputAccess();
245
+ refreshMicNotice();
246
+ renderLog();
247
+ })();
248
+ };
249
+ playbackEnableBtn.onclick = () => {
250
+ void (async () => {
251
+ if (!session)
252
+ return;
253
+ const ok = await session.unlockAudioPlayback();
254
+ if (ok) {
255
+ playbackWarning.style.display = "none";
256
+ }
257
+ renderLog();
258
+ })();
259
+ };
117
260
  connectBtn.onclick = () => {
261
+ void unlockAudioPlayback(inboundAudio);
118
262
  void (async () => {
119
263
  if (session) {
120
264
  session.disconnect();
121
265
  session = null;
266
+ hideSessionNotices();
122
267
  setStatusDisplay("Disconnected");
123
268
  connectBtn.textContent = "Connect";
269
+ connectBtn.title = "";
124
270
  return;
125
271
  }
126
272
  setStatusDisplay("Connecting…", true);
@@ -147,6 +293,7 @@ export function createVoiceThereWidget(options) {
147
293
  session = await connectBrowserSession({
148
294
  mode,
149
295
  credentials: started.credentials,
296
+ audioElement: inboundAudio,
150
297
  onDebugEvent: debug,
151
298
  onConnectionStatus: (connectionStatus) => {
152
299
  setStatusDisplay(formatWebRtcStatus(connectionStatus));
@@ -154,9 +301,14 @@ export function createVoiceThereWidget(options) {
154
301
  onReconnecting: (attempt) => {
155
302
  setStatusDisplay(`Reconnecting (${attempt})…`, true);
156
303
  },
304
+ onAudioPlayback: (playbackState) => {
305
+ playbackWarning.style.display =
306
+ playbackState === "blocked" ? "block" : "none";
307
+ },
157
308
  });
158
309
  await session.waitForConnected();
159
310
  setStatusDisplay(formatWebRtcStatus(session.getConnectionStatus()));
311
+ refreshMicNotice();
160
312
  connectBtn.textContent = "Disconnect";
161
313
  connectBtn.title =
162
314
  "Disconnect this session. Connect again to start a new orchestrator session.";
@@ -185,6 +337,7 @@ export function createVoiceThereWidget(options) {
185
337
  },
186
338
  destroy: () => {
187
339
  session?.disconnect();
340
+ inboundAudio.remove();
188
341
  root.remove();
189
342
  },
190
343
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { VoiceThereWidgetTheme, WidgetPresetId } from "./config.js";
2
+ export type WidgetPresetLayout = {
3
+ launcherBorderRadius: string;
4
+ launcherPadding: string;
5
+ launcherMinWidth: string;
6
+ launcherMinHeight: string;
7
+ panelBorderRadius: string;
8
+ panelPadding: string;
9
+ panelWidth: string;
10
+ panelHeight: string;
11
+ panelBorder: string;
12
+ panelBoxShadow: string;
13
+ defaultTheme: Required<VoiceThereWidgetTheme>;
14
+ /** Distinct marker for tests — preset-specific layout token. */
15
+ layoutToken: string;
16
+ };
17
+ export declare function getWidgetPreset(id: WidgetPresetId): WidgetPresetLayout;
18
+ export type ApplyPresetTarget = {
19
+ root: HTMLElement;
20
+ launcher: HTMLButtonElement;
21
+ panel: HTMLDivElement;
22
+ };
23
+ export type ResolvedWidgetTheme = Required<VoiceThereWidgetTheme>;
24
+ export declare function resolveWidgetTheme(presetId: WidgetPresetId, themeOverride?: VoiceThereWidgetTheme): ResolvedWidgetTheme;
25
+ export declare function applyPreset(target: ApplyPresetTarget, presetId: WidgetPresetId, themeOverride?: VoiceThereWidgetTheme): ResolvedWidgetTheme;
26
+ export declare function applyWidgetPosition(root: HTMLElement, position: "bottom-right" | "bottom-left", presetId: WidgetPresetId): void;
27
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/embed/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC9C,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA+FF,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,kBAAkB,CAEtE;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAElE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,qBAAqB,GACpC,mBAAmB,CAOrB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,qBAAqB,GACpC,mBAAmB,CAgCrB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,GAAG,aAAa,EACxC,QAAQ,EAAE,cAAc,GACvB,IAAI,CAkBN"}
@@ -0,0 +1,151 @@
1
+ const PRESETS = {
2
+ "pill-dark": {
3
+ launcherBorderRadius: "999px",
4
+ launcherPadding: "12px 16px",
5
+ launcherMinWidth: "",
6
+ launcherMinHeight: "",
7
+ panelBorderRadius: "12px",
8
+ panelPadding: "12px",
9
+ panelWidth: "320px",
10
+ panelHeight: "420px",
11
+ panelBorder: "1px solid rgba(255,255,255,0.1)",
12
+ panelBoxShadow: "0 8px 30px rgba(0,0,0,0.35)",
13
+ defaultTheme: {
14
+ primary: "#06b6d4",
15
+ background: "#0b1220",
16
+ text: "#e2e8f0",
17
+ },
18
+ layoutToken: "pill-dark",
19
+ },
20
+ "pill-light": {
21
+ launcherBorderRadius: "999px",
22
+ launcherPadding: "12px 16px",
23
+ launcherMinWidth: "",
24
+ launcherMinHeight: "",
25
+ panelBorderRadius: "12px",
26
+ panelPadding: "12px",
27
+ panelWidth: "320px",
28
+ panelHeight: "420px",
29
+ panelBorder: "1px solid rgba(15,23,42,0.12)",
30
+ panelBoxShadow: "0 8px 24px rgba(15,23,42,0.12)",
31
+ defaultTheme: {
32
+ primary: "#0891b2",
33
+ background: "#f8fafc",
34
+ text: "#0f172a",
35
+ },
36
+ layoutToken: "pill-light",
37
+ },
38
+ "rounded-card": {
39
+ launcherBorderRadius: "20px",
40
+ launcherPadding: "14px 20px",
41
+ launcherMinWidth: "",
42
+ launcherMinHeight: "",
43
+ panelBorderRadius: "20px",
44
+ panelPadding: "16px",
45
+ panelWidth: "340px",
46
+ panelHeight: "440px",
47
+ panelBorder: "1px solid rgba(255,255,255,0.12)",
48
+ panelBoxShadow: "0 12px 40px rgba(0,0,0,0.4)",
49
+ defaultTheme: {
50
+ primary: "#06b6d4",
51
+ background: "#0b1220",
52
+ text: "#e2e8f0",
53
+ },
54
+ layoutToken: "rounded-card",
55
+ },
56
+ "minimal-bar": {
57
+ launcherBorderRadius: "8px",
58
+ launcherPadding: "10px 14px",
59
+ launcherMinWidth: "100%",
60
+ launcherMinHeight: "",
61
+ panelBorderRadius: "0",
62
+ panelPadding: "12px 16px",
63
+ panelWidth: "100%",
64
+ panelHeight: "360px",
65
+ panelBorder: "1px solid rgba(255,255,255,0.08)",
66
+ panelBoxShadow: "0 -4px 24px rgba(0,0,0,0.25)",
67
+ defaultTheme: {
68
+ primary: "#06b6d4",
69
+ background: "#0b1220",
70
+ text: "#e2e8f0",
71
+ },
72
+ layoutToken: "minimal-bar",
73
+ },
74
+ "voice-orb": {
75
+ launcherBorderRadius: "50%",
76
+ launcherPadding: "0",
77
+ launcherMinWidth: "56px",
78
+ launcherMinHeight: "56px",
79
+ panelBorderRadius: "16px",
80
+ panelPadding: "12px",
81
+ panelWidth: "320px",
82
+ panelHeight: "420px",
83
+ panelBorder: "1px solid rgba(255,255,255,0.1)",
84
+ panelBoxShadow: "0 8px 30px rgba(0,0,0,0.35)",
85
+ defaultTheme: {
86
+ primary: "#06b6d4",
87
+ background: "#0b1220",
88
+ text: "#e2e8f0",
89
+ },
90
+ layoutToken: "voice-orb",
91
+ },
92
+ };
93
+ export function getWidgetPreset(id) {
94
+ return PRESETS[id];
95
+ }
96
+ export function resolveWidgetTheme(presetId, themeOverride) {
97
+ const preset = getWidgetPreset(presetId);
98
+ return {
99
+ primary: themeOverride?.primary ?? preset.defaultTheme.primary,
100
+ background: themeOverride?.background ?? preset.defaultTheme.background,
101
+ text: themeOverride?.text ?? preset.defaultTheme.text,
102
+ };
103
+ }
104
+ export function applyPreset(target, presetId, themeOverride) {
105
+ const preset = getWidgetPreset(presetId);
106
+ const theme = resolveWidgetTheme(presetId, themeOverride);
107
+ const { root, launcher, panel } = target;
108
+ root.dataset.voicetherePreset = preset.layoutToken;
109
+ launcher.style.borderRadius = preset.launcherBorderRadius;
110
+ launcher.style.padding = preset.launcherPadding;
111
+ launcher.style.minWidth = preset.launcherMinWidth;
112
+ launcher.style.minHeight = preset.launcherMinHeight;
113
+ launcher.style.background = theme.primary;
114
+ launcher.style.color = theme.text;
115
+ panel.style.borderRadius = preset.panelBorderRadius;
116
+ panel.style.padding = preset.panelPadding;
117
+ panel.style.width = preset.panelWidth;
118
+ panel.style.height = preset.panelHeight;
119
+ panel.style.border = preset.panelBorder;
120
+ panel.style.boxShadow = preset.panelBoxShadow;
121
+ panel.style.background = theme.background;
122
+ panel.style.color = theme.text;
123
+ if (presetId === "minimal-bar") {
124
+ root.style.left = "0";
125
+ root.style.right = "0";
126
+ root.style.width = "100%";
127
+ }
128
+ else {
129
+ root.style.width = "";
130
+ }
131
+ return theme;
132
+ }
133
+ export function applyWidgetPosition(root, position, presetId) {
134
+ root.style.bottom = "16px";
135
+ root.dataset.voicetherePosition = position;
136
+ if (presetId === "minimal-bar") {
137
+ root.style.left = "0";
138
+ root.style.right = "0";
139
+ root.style.bottom = "0";
140
+ return;
141
+ }
142
+ if (position === "bottom-left") {
143
+ root.style.left = "16px";
144
+ root.style.right = "";
145
+ }
146
+ else {
147
+ root.style.right = "16px";
148
+ root.style.left = "";
149
+ }
150
+ }
151
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/embed/presets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voicethere/client",
3
- "version": "0.7.28",
3
+ "version": "0.8.0",
4
4
  "description": "VoiceThere browser/Node client — cloud gateway, browser voice/chat, embed widget",
5
5
  "type": "module",
6
6
  "exports": {
@@ -50,8 +50,8 @@
50
50
  },
51
51
  "keywords": [
52
52
  "voicethere",
53
- "webrtc",
54
53
  "voice-agent",
54
+ "webrtc",
55
55
  "signaling"
56
56
  ],
57
57
  "engines": {
@@ -59,17 +59,17 @@
59
59
  },
60
60
  "license": "MIT",
61
61
  "dependencies": {
62
- "@node-webrtc-rust/signaling": "0.7.0"
62
+ "@node-webrtc-rust/signaling": "0.7.4"
63
63
  },
64
64
  "devDependencies": {
65
- "@node-webrtc-rust/sdk": "0.7.0",
66
- "@types/node": "^22.10.0",
67
- "@types/ws": "^8.5.14",
68
- "tsx": "^4.19.2",
69
- "typescript": "^5.7.0",
70
- "vite": "^6.0.3",
71
- "vitest": "^2.1.8",
72
- "ws": "^8.18.0"
65
+ "@node-webrtc-rust/sdk": "0.7.4",
66
+ "@types/node": "22.20.1",
67
+ "@types/ws": "8.5.14",
68
+ "tsx": "4.19.2",
69
+ "typescript": "5.9.3",
70
+ "vite": "6.4.3",
71
+ "vitest": "3.2.7",
72
+ "ws": "8.18.0"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@node-webrtc-rust/sdk": ">=0.6.5",