@mieweb/ui 0.11.0-dev.7 → 0.11.0-dev.9
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/brands/index.cjs +12 -12
- package/dist/brands/index.js +3 -3
- package/dist/{chunk-WGXJNCRG.cjs → chunk-2GBVJHWN.cjs} +47 -28
- package/dist/{chunk-WGXJNCRG.cjs.map → chunk-2GBVJHWN.cjs.map} +1 -1
- package/dist/chunk-3TUULOTW.cjs +333 -0
- package/dist/chunk-3TUULOTW.cjs.map +1 -0
- package/dist/{chunk-OODVC2UD.cjs → chunk-AWSSWNJY.cjs} +2 -2
- package/dist/{chunk-OODVC2UD.cjs.map → chunk-AWSSWNJY.cjs.map} +1 -1
- package/dist/{chunk-GJPCWR4C.js → chunk-DAAJ3B2T.js} +47 -29
- package/dist/chunk-DAAJ3B2T.js.map +1 -0
- package/dist/{chunk-QJ2L5RU6.js → chunk-DSQCYX7L.js} +2 -2
- package/dist/{chunk-QJ2L5RU6.js.map → chunk-DSQCYX7L.js.map} +1 -1
- package/dist/{chunk-JTSKPDPH.cjs → chunk-HIYQ3M5V.cjs} +4 -3
- package/dist/chunk-HIYQ3M5V.cjs.map +1 -0
- package/dist/chunk-IZY4CMOO.js +715 -0
- package/dist/chunk-IZY4CMOO.js.map +1 -0
- package/dist/{chunk-753ENNB6.js → chunk-J3QEMZCH.js} +2 -2
- package/dist/{chunk-753ENNB6.js.map → chunk-J3QEMZCH.js.map} +1 -1
- package/dist/{chunk-VNWJTCBQ.js → chunk-MQOYDQTF.js} +4 -3
- package/dist/chunk-MQOYDQTF.js.map +1 -0
- package/dist/{chunk-NKG2UNXE.js → chunk-OZKJYLN6.js} +3 -3
- package/dist/{chunk-NKG2UNXE.js.map → chunk-OZKJYLN6.js.map} +1 -1
- package/dist/{chunk-C66JR43M.cjs → chunk-Q6QLGCL7.cjs} +9 -9
- package/dist/{chunk-C66JR43M.cjs.map → chunk-Q6QLGCL7.cjs.map} +1 -1
- package/dist/{chunk-NAH65KPK.cjs → chunk-TOJ56HKQ.cjs} +2 -2
- package/dist/{chunk-NAH65KPK.cjs.map → chunk-TOJ56HKQ.cjs.map} +1 -1
- package/dist/chunk-TRZLN32I.cjs +740 -0
- package/dist/chunk-TRZLN32I.cjs.map +1 -0
- package/dist/chunk-XQIQX5OB.js +309 -0
- package/dist/chunk-XQIQX5OB.js.map +1 -0
- package/dist/components/DictationButton/index.cjs +23 -0
- package/dist/components/DictationButton/index.cjs.map +1 -0
- package/dist/components/DictationButton/index.d.cts +67 -0
- package/dist/components/DictationButton/index.d.ts +67 -0
- package/dist/components/DictationButton/index.js +6 -0
- package/dist/components/DictationButton/index.js.map +1 -0
- package/dist/components/Markdown/index.cjs +10 -10
- package/dist/components/Markdown/index.js +2 -2
- package/dist/components/RecordButton/index.cjs +4 -4
- package/dist/components/RecordButton/index.js +1 -1
- package/dist/components/SuperChat/index.cjs +3 -3
- package/dist/components/SuperChat/index.d.cts +2 -2
- package/dist/components/SuperChat/index.d.ts +2 -2
- package/dist/components/SuperChat/index.js +1 -1
- package/dist/components/SuperChat/plugins/index.cjs +3 -3
- package/dist/components/SuperChat/plugins/index.d.cts +2 -2
- package/dist/components/SuperChat/plugins/index.d.ts +2 -2
- package/dist/components/SuperChat/plugins/index.js +2 -2
- package/dist/index.cjs +363 -899
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +102 -1
- package/dist/index.d.ts +102 -1
- package/dist/index.js +124 -730
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-Cx1FHLq2.d.cts → types-DSWbrVkM.d.cts} +1 -1
- package/dist/{types-Cx1FHLq2.d.ts → types-DSWbrVkM.d.ts} +1 -1
- package/dist/whisperTranscribe-AV752TZI.cjs +81 -0
- package/dist/whisperTranscribe-AV752TZI.cjs.map +1 -0
- package/dist/whisperTranscribe-UBNUWXUQ.js +4 -0
- package/dist/whisperTranscribe-UBNUWXUQ.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-GJPCWR4C.js.map +0 -1
- package/dist/chunk-JTSKPDPH.cjs.map +0 -1
- package/dist/chunk-VNWJTCBQ.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkUVSODK6V_cjs = require('./chunk-UVSODK6V.cjs');
|
|
4
|
+
var chunkTRZLN32I_cjs = require('./chunk-TRZLN32I.cjs');
|
|
4
5
|
var chunkOGNADPM4_cjs = require('./chunk-OGNADPM4.cjs');
|
|
6
|
+
var chunkXNPDZANN_cjs = require('./chunk-XNPDZANN.cjs');
|
|
5
7
|
var chunkIEZXJWHJ_cjs = require('./chunk-IEZXJWHJ.cjs');
|
|
6
8
|
var chunkPWXDRFJL_cjs = require('./chunk-PWXDRFJL.cjs');
|
|
7
9
|
var chunkFSWHZY3T_cjs = require('./chunk-FSWHZY3T.cjs');
|
|
8
10
|
var chunkOIF34LEN_cjs = require('./chunk-OIF34LEN.cjs');
|
|
9
|
-
var
|
|
11
|
+
var chunkAWSSWNJY_cjs = require('./chunk-AWSSWNJY.cjs');
|
|
12
|
+
var chunkX7S76WB7_cjs = require('./chunk-X7S76WB7.cjs');
|
|
10
13
|
var chunkNM7O7RY5_cjs = require('./chunk-NM7O7RY5.cjs');
|
|
11
14
|
var chunkLCQGAOAZ_cjs = require('./chunk-LCQGAOAZ.cjs');
|
|
12
15
|
var chunkZ5J4NTPL_cjs = require('./chunk-Z5J4NTPL.cjs');
|
|
13
16
|
var chunkU7VQUOLS_cjs = require('./chunk-U7VQUOLS.cjs');
|
|
17
|
+
var chunkUCGUA3QV_cjs = require('./chunk-UCGUA3QV.cjs');
|
|
14
18
|
var chunkRR2MJBGV_cjs = require('./chunk-RR2MJBGV.cjs');
|
|
15
|
-
var chunkX7S76WB7_cjs = require('./chunk-X7S76WB7.cjs');
|
|
16
19
|
var chunkNGQRS7AW_cjs = require('./chunk-NGQRS7AW.cjs');
|
|
17
20
|
var chunk3ZWCIPFT_cjs = require('./chunk-3ZWCIPFT.cjs');
|
|
18
|
-
|
|
21
|
+
require('./chunk-6TTCZY3P.cjs');
|
|
19
22
|
var chunkA4W5CSK7_cjs = require('./chunk-A4W5CSK7.cjs');
|
|
20
23
|
var chunkARIJ5OHW_cjs = require('./chunk-ARIJ5OHW.cjs');
|
|
21
24
|
var chunkBJ6ABRSQ_cjs = require('./chunk-BJ6ABRSQ.cjs');
|
|
@@ -23,7 +26,7 @@ var chunkFSGJXCBG_cjs = require('./chunk-FSGJXCBG.cjs');
|
|
|
23
26
|
var chunkHNFFFFYH_cjs = require('./chunk-HNFFFFYH.cjs');
|
|
24
27
|
var chunkDO2YN46R_cjs = require('./chunk-DO2YN46R.cjs');
|
|
25
28
|
var chunk4ZB7RSMY_cjs = require('./chunk-4ZB7RSMY.cjs');
|
|
26
|
-
var
|
|
29
|
+
var chunkGYXSF6BJ_cjs = require('./chunk-GYXSF6BJ.cjs');
|
|
27
30
|
var chunkFYAKUU2A_cjs = require('./chunk-FYAKUU2A.cjs');
|
|
28
31
|
var chunkHCIXGFWR_cjs = require('./chunk-HCIXGFWR.cjs');
|
|
29
32
|
var chunkZJCPW6MS_cjs = require('./chunk-ZJCPW6MS.cjs');
|
|
@@ -34,28 +37,27 @@ require('./chunk-47P5QLX4.cjs');
|
|
|
34
37
|
var chunkCLQW724U_cjs = require('./chunk-CLQW724U.cjs');
|
|
35
38
|
require('./chunk-IWRBJHO3.cjs');
|
|
36
39
|
require('./chunk-7IRTD4JT.cjs');
|
|
37
|
-
require('./chunk-
|
|
40
|
+
var chunk3AD4HFYI_cjs = require('./chunk-3AD4HFYI.cjs');
|
|
38
41
|
var chunk3IAA3KCE_cjs = require('./chunk-3IAA3KCE.cjs');
|
|
39
42
|
var chunkKY67AMQ5_cjs = require('./chunk-KY67AMQ5.cjs');
|
|
40
43
|
var chunkVTKXM7IE_cjs = require('./chunk-VTKXM7IE.cjs');
|
|
41
|
-
var chunkGYXSF6BJ_cjs = require('./chunk-GYXSF6BJ.cjs');
|
|
42
44
|
var chunkXPWFIDZM_cjs = require('./chunk-XPWFIDZM.cjs');
|
|
45
|
+
var chunkYGA35Z2P_cjs = require('./chunk-YGA35Z2P.cjs');
|
|
43
46
|
var chunkAHHFFXJR_cjs = require('./chunk-AHHFFXJR.cjs');
|
|
44
47
|
var chunk7RV6CAP6_cjs = require('./chunk-7RV6CAP6.cjs');
|
|
45
48
|
var chunkQKW2QCGI_cjs = require('./chunk-QKW2QCGI.cjs');
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var chunk3AD4HFYI_cjs = require('./chunk-3AD4HFYI.cjs');
|
|
49
|
+
var chunkQ6QLGCL7_cjs = require('./chunk-Q6QLGCL7.cjs');
|
|
50
|
+
var chunk2GBVJHWN_cjs = require('./chunk-2GBVJHWN.cjs');
|
|
49
51
|
var chunk3SZQRMHM_cjs = require('./chunk-3SZQRMHM.cjs');
|
|
50
52
|
var chunkOZOSWBSI_cjs = require('./chunk-OZOSWBSI.cjs');
|
|
51
53
|
var chunkKDW6BD4O_cjs = require('./chunk-KDW6BD4O.cjs');
|
|
52
54
|
var chunk2S76TRBJ_cjs = require('./chunk-2S76TRBJ.cjs');
|
|
53
|
-
var chunkYGA35Z2P_cjs = require('./chunk-YGA35Z2P.cjs');
|
|
54
55
|
var chunkMGFRGPWI_cjs = require('./chunk-MGFRGPWI.cjs');
|
|
55
56
|
var chunk2I4IRQQG_cjs = require('./chunk-2I4IRQQG.cjs');
|
|
56
57
|
var chunkXWZEECEX_cjs = require('./chunk-XWZEECEX.cjs');
|
|
57
58
|
var chunk5MXO6PEV_cjs = require('./chunk-5MXO6PEV.cjs');
|
|
58
|
-
var
|
|
59
|
+
var chunk3TUULOTW_cjs = require('./chunk-3TUULOTW.cjs');
|
|
60
|
+
var chunkHIYQ3M5V_cjs = require('./chunk-HIYQ3M5V.cjs');
|
|
59
61
|
var chunkXZNHS7YQ_cjs = require('./chunk-XZNHS7YQ.cjs');
|
|
60
62
|
var chunkGDKOYVX3_cjs = require('./chunk-GDKOYVX3.cjs');
|
|
61
63
|
var chunkAJPFQF3H_cjs = require('./chunk-AJPFQF3H.cjs');
|
|
@@ -70,11 +72,11 @@ var chunkVINZZQBD_cjs = require('./chunk-VINZZQBD.cjs');
|
|
|
70
72
|
var chunkUEDTZYGI_cjs = require('./chunk-UEDTZYGI.cjs');
|
|
71
73
|
var chunkVV2U36T6_cjs = require('./chunk-VV2U36T6.cjs');
|
|
72
74
|
var chunkPYI2IWNX_cjs = require('./chunk-PYI2IWNX.cjs');
|
|
73
|
-
var
|
|
75
|
+
var chunkTOJ56HKQ_cjs = require('./chunk-TOJ56HKQ.cjs');
|
|
76
|
+
var chunkIGDO62KR_cjs = require('./chunk-IGDO62KR.cjs');
|
|
74
77
|
var chunkSW2E7XKY_cjs = require('./chunk-SW2E7XKY.cjs');
|
|
75
78
|
var chunkERACGSDY_cjs = require('./chunk-ERACGSDY.cjs');
|
|
76
79
|
var chunk32ZCJOSR_cjs = require('./chunk-32ZCJOSR.cjs');
|
|
77
|
-
var chunkIGDO62KR_cjs = require('./chunk-IGDO62KR.cjs');
|
|
78
80
|
var chunkRIUQP2QS_cjs = require('./chunk-RIUQP2QS.cjs');
|
|
79
81
|
var chunkNGSDBWKA_cjs = require('./chunk-NGSDBWKA.cjs');
|
|
80
82
|
var chunk56C7K4MV_cjs = require('./chunk-56C7K4MV.cjs');
|
|
@@ -160,8 +162,8 @@ require('./chunk-EUAMEVVI.cjs');
|
|
|
160
162
|
var React13 = require('react');
|
|
161
163
|
var jsxRuntime = require('react/jsx-runtime');
|
|
162
164
|
var classVarianceAuthority = require('class-variance-authority');
|
|
163
|
-
var ReactDOM = require('react-dom');
|
|
164
165
|
var lucideReact = require('lucide-react');
|
|
166
|
+
var ReactDOM = require('react-dom');
|
|
165
167
|
|
|
166
168
|
function _interopNamespace(e) {
|
|
167
169
|
if (e && e.__esModule) return e;
|
|
@@ -1462,7 +1464,7 @@ function AIEmptyState({
|
|
|
1462
1464
|
/* @__PURE__ */ jsxRuntime.jsx(SuggestedActions, { actions: suggestions, onSelect: onSuggestionSelect })
|
|
1463
1465
|
] }) : void 0;
|
|
1464
1466
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1465
|
-
|
|
1467
|
+
chunkQ6QLGCL7_cjs.EmptyState,
|
|
1466
1468
|
{
|
|
1467
1469
|
title,
|
|
1468
1470
|
description,
|
|
@@ -1523,7 +1525,7 @@ function AIChat({
|
|
|
1523
1525
|
renderMessageFooter
|
|
1524
1526
|
}) {
|
|
1525
1527
|
React13__namespace.useEffect(() => {
|
|
1526
|
-
|
|
1528
|
+
chunk2GBVJHWN_cjs.notifyComposerMigrationOnce("AIChat");
|
|
1527
1529
|
}, []);
|
|
1528
1530
|
const messages = React13__namespace.useMemo(
|
|
1529
1531
|
() => session?.messages || messagesProp || [],
|
|
@@ -1659,7 +1661,7 @@ function AIChat({
|
|
|
1659
1661
|
},
|
|
1660
1662
|
[isHostControlled, hostOnValueChange]
|
|
1661
1663
|
);
|
|
1662
|
-
const { stopTyping } =
|
|
1664
|
+
const { stopTyping } = chunkQ6QLGCL7_cjs.useTypingEmulation({
|
|
1663
1665
|
value: composerValue,
|
|
1664
1666
|
onTypingStart,
|
|
1665
1667
|
onTypingStop
|
|
@@ -1826,14 +1828,14 @@ function AIChat({
|
|
|
1826
1828
|
}
|
|
1827
1829
|
) }),
|
|
1828
1830
|
/* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "ai-chat-composer", className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1829
|
-
|
|
1831
|
+
chunk2GBVJHWN_cjs.ChatComposer,
|
|
1830
1832
|
{
|
|
1831
1833
|
onSend: hostOnSend ? (message) => sendWithRestore(message, hostOnSend) : handleSend,
|
|
1832
1834
|
placeholder: inputPlaceholder,
|
|
1833
1835
|
disabled: isGenerating,
|
|
1834
1836
|
isSending: isGenerating,
|
|
1835
1837
|
micSlot: hostMicSlot !== void 0 ? hostMicSlot : hasInputTrailing ? normalizeLegacySlot(inputTrailing) : talkToText ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1836
|
-
|
|
1838
|
+
chunkHIYQ3M5V_cjs.RecordButton,
|
|
1837
1839
|
{
|
|
1838
1840
|
variant: "ghost",
|
|
1839
1841
|
size: "sm",
|
|
@@ -1848,8 +1850,8 @@ function AIChat({
|
|
|
1848
1850
|
allowAttachments: composerRest.allowAttachments ?? legacyAttachments,
|
|
1849
1851
|
maxLength: composerRest.maxLength ?? 1600,
|
|
1850
1852
|
inputLabel: composerRest.inputLabel ?? "Message",
|
|
1851
|
-
acceptedFileTypes: composerRest.acceptedFileTypes ?? (legacyAttachments ?
|
|
1852
|
-
maxFileSize: composerRest.maxFileSize ?? (legacyAttachments ?
|
|
1853
|
+
acceptedFileTypes: composerRest.acceptedFileTypes ?? (legacyAttachments ? chunk2GBVJHWN_cjs.DEFAULT_ACCEPTED_FILE_TYPES : void 0),
|
|
1854
|
+
maxFileSize: composerRest.maxFileSize ?? (legacyAttachments ? chunk2GBVJHWN_cjs.DEFAULT_MAX_FILE_SIZE : void 0),
|
|
1853
1855
|
value: composerValue,
|
|
1854
1856
|
onValueChange: handleComposerValueChange
|
|
1855
1857
|
}
|
|
@@ -2889,6 +2891,91 @@ function HeyOzwellToggle({
|
|
|
2889
2891
|
}
|
|
2890
2892
|
);
|
|
2891
2893
|
}
|
|
2894
|
+
var defaultHeyOzwellSelectorLabels = {
|
|
2895
|
+
name: "Hey Ozwell",
|
|
2896
|
+
activate: "Activate",
|
|
2897
|
+
activateDescription: 'Listen for "Hey Ozwell"',
|
|
2898
|
+
disable: "Disable",
|
|
2899
|
+
disableDescription: "Wake word off",
|
|
2900
|
+
settings: "Voice settings\u2026",
|
|
2901
|
+
off: "Hey Ozwell is off",
|
|
2902
|
+
loading: "Hey Ozwell is starting",
|
|
2903
|
+
listening: 'Listening for "Hey Ozwell"',
|
|
2904
|
+
error: "Hey Ozwell could not start"
|
|
2905
|
+
};
|
|
2906
|
+
var iconClasses = "h-3.5 w-3.5 shrink-0";
|
|
2907
|
+
var phaseIcons = {
|
|
2908
|
+
off: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AudioWaveform, { className: iconClasses, "aria-hidden": "true" }),
|
|
2909
|
+
loading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2910
|
+
chunkL7L5S2HO_cjs.Loader2,
|
|
2911
|
+
{
|
|
2912
|
+
className: chunkS5RVSXDV_cjs.cn(iconClasses, "animate-spin"),
|
|
2913
|
+
"aria-hidden": "true"
|
|
2914
|
+
}
|
|
2915
|
+
),
|
|
2916
|
+
listening: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2917
|
+
lucideReact.AudioWaveform,
|
|
2918
|
+
{
|
|
2919
|
+
className: chunkS5RVSXDV_cjs.cn(iconClasses, "text-success"),
|
|
2920
|
+
"aria-hidden": "true"
|
|
2921
|
+
}
|
|
2922
|
+
),
|
|
2923
|
+
error: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2924
|
+
chunkL7L5S2HO_cjs.AlertTriangle,
|
|
2925
|
+
{
|
|
2926
|
+
className: chunkS5RVSXDV_cjs.cn(iconClasses, "text-destructive"),
|
|
2927
|
+
"aria-hidden": "true"
|
|
2928
|
+
}
|
|
2929
|
+
)
|
|
2930
|
+
};
|
|
2931
|
+
function HeyOzwellSelector({
|
|
2932
|
+
phase,
|
|
2933
|
+
onChange,
|
|
2934
|
+
onOpenSettings,
|
|
2935
|
+
error,
|
|
2936
|
+
disabled,
|
|
2937
|
+
labels: labelOverrides
|
|
2938
|
+
}) {
|
|
2939
|
+
const labels = { ...defaultHeyOzwellSelectorLabels, ...labelOverrides };
|
|
2940
|
+
const active = phase !== "off";
|
|
2941
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2942
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2943
|
+
chunk2GBVJHWN_cjs.ComposerSelector,
|
|
2944
|
+
{
|
|
2945
|
+
options: [
|
|
2946
|
+
{
|
|
2947
|
+
id: "on",
|
|
2948
|
+
label: labels.activate,
|
|
2949
|
+
description: phase === "error" ? error ?? labels.error : labels.activateDescription
|
|
2950
|
+
},
|
|
2951
|
+
{
|
|
2952
|
+
id: "off",
|
|
2953
|
+
label: labels.disable,
|
|
2954
|
+
description: labels.disableDescription
|
|
2955
|
+
}
|
|
2956
|
+
],
|
|
2957
|
+
value: active ? "on" : "off",
|
|
2958
|
+
onChange: (id) => {
|
|
2959
|
+
const next = id === "on";
|
|
2960
|
+
if (next !== active || phase === "error") onChange(next);
|
|
2961
|
+
},
|
|
2962
|
+
actions: onOpenSettings && [
|
|
2963
|
+
{
|
|
2964
|
+
id: "settings",
|
|
2965
|
+
label: labels.settings,
|
|
2966
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Settings, { className: "h-4 w-4", "aria-hidden": "true" }),
|
|
2967
|
+
onSelect: onOpenSettings
|
|
2968
|
+
}
|
|
2969
|
+
],
|
|
2970
|
+
label: labels.name,
|
|
2971
|
+
triggerLabel: labels.name,
|
|
2972
|
+
icon: phaseIcons[phase],
|
|
2973
|
+
disabled
|
|
2974
|
+
}
|
|
2975
|
+
),
|
|
2976
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { role: "status", className: "sr-only", children: labels[phase] })
|
|
2977
|
+
] });
|
|
2978
|
+
}
|
|
2892
2979
|
|
|
2893
2980
|
// src/components/AI/HeyOzwell/modelManifest.ts
|
|
2894
2981
|
var MODEL_MANIFEST = [
|
|
@@ -3100,27 +3187,6 @@ function OzwellSettingsMenu({
|
|
|
3100
3187
|
}
|
|
3101
3188
|
);
|
|
3102
3189
|
}
|
|
3103
|
-
|
|
3104
|
-
// src/components/AI/modelCache.ts
|
|
3105
|
-
var registered = /* @__PURE__ */ new Set();
|
|
3106
|
-
function registerModelServiceWorker(swUrl = "/ozwell-model-sw.js") {
|
|
3107
|
-
if (typeof navigator === "undefined" || !("serviceWorker" in navigator))
|
|
3108
|
-
return;
|
|
3109
|
-
if (registered.has(swUrl)) return;
|
|
3110
|
-
registered.add(swUrl);
|
|
3111
|
-
navigator.serviceWorker.register(swUrl).then(
|
|
3112
|
-
() => console.log("[modelCache] model service worker registered"),
|
|
3113
|
-
(e) => {
|
|
3114
|
-
registered.delete(swUrl);
|
|
3115
|
-
console.warn(
|
|
3116
|
-
"[modelCache] SW registration failed (models will still load, just not cached):",
|
|
3117
|
-
e
|
|
3118
|
-
);
|
|
3119
|
-
}
|
|
3120
|
-
);
|
|
3121
|
-
}
|
|
3122
|
-
|
|
3123
|
-
// src/components/AI/HeyOzwell/WakeWord/useWakeWord.ts
|
|
3124
3190
|
var DEFAULT_ASSET_BASE = "https://huggingface.co/jlocala/ozwell-voice-assets/resolve/main";
|
|
3125
3191
|
var DEFAULT_ASSET = `${DEFAULT_ASSET_BASE}/wakeword`;
|
|
3126
3192
|
var PHRASES = ["hey-ozwell", "ozwell-i'm-done"];
|
|
@@ -3248,7 +3314,7 @@ function useWakeWord(opts = {}) {
|
|
|
3248
3314
|
);
|
|
3249
3315
|
return;
|
|
3250
3316
|
}
|
|
3251
|
-
if (registerServiceWorker) registerModelServiceWorker();
|
|
3317
|
+
if (registerServiceWorker) chunkTRZLN32I_cjs.registerModelServiceWorker();
|
|
3252
3318
|
let cancelled = false;
|
|
3253
3319
|
(async () => {
|
|
3254
3320
|
try {
|
|
@@ -3399,679 +3465,6 @@ function useWakeWord(opts = {}) {
|
|
|
3399
3465
|
}
|
|
3400
3466
|
};
|
|
3401
3467
|
}
|
|
3402
|
-
|
|
3403
|
-
// src/components/AI/ozwellChat.ts
|
|
3404
|
-
var DEFAULT_BASE = "https://api.ozwell.ai";
|
|
3405
|
-
var OLLAMA_BASE = "http://localhost:11434";
|
|
3406
|
-
var DEFAULTS = {
|
|
3407
|
-
model: "gpt-4o-mini",
|
|
3408
|
-
system: "You are Ozwell, a concise and helpful clinical assistant. Answer briefly and clearly.",
|
|
3409
|
-
temperature: 0.7
|
|
3410
|
-
};
|
|
3411
|
-
function readWindowGlobal() {
|
|
3412
|
-
if (typeof window === "undefined") return {};
|
|
3413
|
-
const get = (w) => {
|
|
3414
|
-
try {
|
|
3415
|
-
return w?.__ozwell;
|
|
3416
|
-
} catch {
|
|
3417
|
-
return void 0;
|
|
3418
|
-
}
|
|
3419
|
-
};
|
|
3420
|
-
return get(window) || get(window.parent) || get(window.top) || {};
|
|
3421
|
-
}
|
|
3422
|
-
function sanitizeConfig(o) {
|
|
3423
|
-
if (!o || typeof o !== "object") return {};
|
|
3424
|
-
const out = {};
|
|
3425
|
-
for (const k of Object.keys(o)) {
|
|
3426
|
-
if (k === "__proto__" || k === "constructor" || k === "prototype") continue;
|
|
3427
|
-
out[k] = o[k];
|
|
3428
|
-
}
|
|
3429
|
-
return out;
|
|
3430
|
-
}
|
|
3431
|
-
function readRaw() {
|
|
3432
|
-
let stored = {};
|
|
3433
|
-
try {
|
|
3434
|
-
stored = sanitizeConfig(
|
|
3435
|
-
JSON.parse(localStorage.getItem("ozwellConfig") || "{}")
|
|
3436
|
-
);
|
|
3437
|
-
} catch {
|
|
3438
|
-
}
|
|
3439
|
-
return { ...stored, ...sanitizeConfig(readWindowGlobal()) };
|
|
3440
|
-
}
|
|
3441
|
-
function getOzwellConfig() {
|
|
3442
|
-
const c = readRaw();
|
|
3443
|
-
const apiKey = c.apiKey || "";
|
|
3444
|
-
const baseURL = c.baseURL || (apiKey === "ollama" ? OLLAMA_BASE : DEFAULT_BASE);
|
|
3445
|
-
return {
|
|
3446
|
-
baseURL,
|
|
3447
|
-
apiKey,
|
|
3448
|
-
model: c.model || DEFAULTS.model,
|
|
3449
|
-
system: c.system ?? DEFAULTS.system,
|
|
3450
|
-
// Coerce: temperature set via console/localStorage often arrives as a string; a string in the request
|
|
3451
|
-
// body can be rejected by OpenAI-compatible servers. Fall back to the default if it's not a real number —
|
|
3452
|
-
// and guard the empty/whitespace string explicitly, since Number('') is 0 (a valid-looking temperature)
|
|
3453
|
-
// and would silently pin sampling to 0 instead of using the default.
|
|
3454
|
-
temperature: c.temperature != null && String(c.temperature).trim() !== "" && Number.isFinite(Number(c.temperature)) ? Number(c.temperature) : DEFAULTS.temperature
|
|
3455
|
-
};
|
|
3456
|
-
}
|
|
3457
|
-
function isOzwellConfigured() {
|
|
3458
|
-
return !!getOzwellConfig().apiKey;
|
|
3459
|
-
}
|
|
3460
|
-
function toOzwellMessages(msgs) {
|
|
3461
|
-
const out = [];
|
|
3462
|
-
for (const m of msgs) {
|
|
3463
|
-
if (m.role !== "user" && m.role !== "assistant") continue;
|
|
3464
|
-
const text = (m.content || []).map((c) => c.text || "").join(" ").trim();
|
|
3465
|
-
if (text) out.push({ role: m.role, content: text });
|
|
3466
|
-
}
|
|
3467
|
-
return out;
|
|
3468
|
-
}
|
|
3469
|
-
function withSystem(messages, system) {
|
|
3470
|
-
if (!system || messages.some((m) => m.role === "system")) return messages;
|
|
3471
|
-
return [{ role: "system", content: system }, ...messages];
|
|
3472
|
-
}
|
|
3473
|
-
function buildRequest(messages, cfg, stream) {
|
|
3474
|
-
const msgs = typeof messages === "string" ? [{ role: "user", content: messages }] : messages;
|
|
3475
|
-
return {
|
|
3476
|
-
url: `${cfg.baseURL.replace(/\/$/, "")}/v1/chat/completions`,
|
|
3477
|
-
headers: {
|
|
3478
|
-
"Content-Type": "application/json",
|
|
3479
|
-
// 'ollama' is a sentinel that points baseURL at the local Ollama server, not a real credential —
|
|
3480
|
-
// don't send it as a Bearer token (some local OpenAI-compatible servers reject unexpected auth).
|
|
3481
|
-
...cfg.apiKey && cfg.apiKey !== "ollama" ? { Authorization: `Bearer ${cfg.apiKey}` } : {}
|
|
3482
|
-
},
|
|
3483
|
-
body: JSON.stringify({
|
|
3484
|
-
model: cfg.model,
|
|
3485
|
-
messages: withSystem(msgs, cfg.system),
|
|
3486
|
-
temperature: cfg.temperature,
|
|
3487
|
-
stream
|
|
3488
|
-
})
|
|
3489
|
-
};
|
|
3490
|
-
}
|
|
3491
|
-
function resolveConfig(opts) {
|
|
3492
|
-
const cfg = { ...getOzwellConfig(), ...opts };
|
|
3493
|
-
if (opts.apiKey && !opts.baseURL && !readRaw().baseURL) {
|
|
3494
|
-
cfg.baseURL = cfg.apiKey === "ollama" ? OLLAMA_BASE : DEFAULT_BASE;
|
|
3495
|
-
}
|
|
3496
|
-
return cfg;
|
|
3497
|
-
}
|
|
3498
|
-
async function askOzwell(messages, opts = {}) {
|
|
3499
|
-
const cfg = resolveConfig(opts);
|
|
3500
|
-
const req = buildRequest(messages, cfg, false);
|
|
3501
|
-
const res = await fetch(req.url, {
|
|
3502
|
-
method: "POST",
|
|
3503
|
-
headers: req.headers,
|
|
3504
|
-
body: req.body,
|
|
3505
|
-
signal: opts.signal
|
|
3506
|
-
});
|
|
3507
|
-
if (!res.ok) throw new Error(`Ozwell API ${res.status}: ${res.statusText}`);
|
|
3508
|
-
const data = await res.json();
|
|
3509
|
-
return (data?.choices?.[0]?.message?.content ?? "").trim();
|
|
3510
|
-
}
|
|
3511
|
-
async function askOzwellStream(messages, onToken, opts = {}) {
|
|
3512
|
-
const cfg = resolveConfig(opts);
|
|
3513
|
-
const req = buildRequest(messages, cfg, true);
|
|
3514
|
-
const res = await fetch(req.url, {
|
|
3515
|
-
method: "POST",
|
|
3516
|
-
headers: req.headers,
|
|
3517
|
-
body: req.body,
|
|
3518
|
-
signal: opts.signal
|
|
3519
|
-
});
|
|
3520
|
-
if (!res.ok || !res.body)
|
|
3521
|
-
throw new Error(`Ozwell API ${res.status}: ${res.statusText}`);
|
|
3522
|
-
const reader = res.body.getReader();
|
|
3523
|
-
const decoder = new TextDecoder();
|
|
3524
|
-
let buf = "";
|
|
3525
|
-
let full = "";
|
|
3526
|
-
const processEvent = (ev) => {
|
|
3527
|
-
for (const line of ev.split(/\r?\n/)) {
|
|
3528
|
-
if (!line.startsWith("data:")) continue;
|
|
3529
|
-
const payload = line.slice(5).trim();
|
|
3530
|
-
if (payload === "[DONE]") return true;
|
|
3531
|
-
try {
|
|
3532
|
-
const json = JSON.parse(payload);
|
|
3533
|
-
const delta = json?.choices?.[0]?.delta?.content || "";
|
|
3534
|
-
if (delta) {
|
|
3535
|
-
full += delta;
|
|
3536
|
-
onToken(delta, full);
|
|
3537
|
-
}
|
|
3538
|
-
} catch {
|
|
3539
|
-
}
|
|
3540
|
-
}
|
|
3541
|
-
return false;
|
|
3542
|
-
};
|
|
3543
|
-
try {
|
|
3544
|
-
for (; ; ) {
|
|
3545
|
-
const { done, value } = await reader.read();
|
|
3546
|
-
if (done) break;
|
|
3547
|
-
buf += decoder.decode(value, { stream: true });
|
|
3548
|
-
const events = buf.split(/\r?\n\r?\n/);
|
|
3549
|
-
buf = events.pop() || "";
|
|
3550
|
-
for (const ev of events) if (processEvent(ev)) return full;
|
|
3551
|
-
}
|
|
3552
|
-
buf += decoder.decode();
|
|
3553
|
-
if (buf.trim()) processEvent(buf);
|
|
3554
|
-
} finally {
|
|
3555
|
-
try {
|
|
3556
|
-
await reader.cancel();
|
|
3557
|
-
} catch {
|
|
3558
|
-
}
|
|
3559
|
-
}
|
|
3560
|
-
return full;
|
|
3561
|
-
}
|
|
3562
|
-
|
|
3563
|
-
// src/components/AI/whisperTranscribe.ts
|
|
3564
|
-
var HF_HOST = "https://huggingface.co";
|
|
3565
|
-
var HF_PATH = "{model}/resolve/{revision}/";
|
|
3566
|
-
var R2_HOST = "https://pub-64db68afc2cb4e108ff06e7e583f09d1.r2.dev";
|
|
3567
|
-
function whisperHost() {
|
|
3568
|
-
if (typeof window === "undefined") return R2_HOST;
|
|
3569
|
-
const fromWin = (w) => {
|
|
3570
|
-
try {
|
|
3571
|
-
return w?.__ozwellWhisperHost;
|
|
3572
|
-
} catch {
|
|
3573
|
-
return void 0;
|
|
3574
|
-
}
|
|
3575
|
-
};
|
|
3576
|
-
const win = fromWin(window) || fromWin(window.parent) || fromWin(window.top);
|
|
3577
|
-
if (win) return win.replace(/\/$/, "");
|
|
3578
|
-
try {
|
|
3579
|
-
const h = JSON.parse(
|
|
3580
|
-
localStorage.getItem("ozwellConfig") || "{}"
|
|
3581
|
-
).whisperHost;
|
|
3582
|
-
if (h) return String(h).replace(/\/$/, "");
|
|
3583
|
-
} catch {
|
|
3584
|
-
}
|
|
3585
|
-
return R2_HOST;
|
|
3586
|
-
}
|
|
3587
|
-
var SMALL_MODELS = {
|
|
3588
|
-
tiny: "Xenova/whisper-tiny.en",
|
|
3589
|
-
"tiny.en": "Xenova/whisper-tiny.en",
|
|
3590
|
-
base: "Xenova/whisper-base.en",
|
|
3591
|
-
"base.en": "Xenova/whisper-base.en",
|
|
3592
|
-
small: "Xenova/whisper-small.en",
|
|
3593
|
-
"small.en": "Xenova/whisper-small.en"
|
|
3594
|
-
};
|
|
3595
|
-
var GATE_MODEL = "Xenova/whisper-base.en";
|
|
3596
|
-
function whisperPref() {
|
|
3597
|
-
if (typeof window === "undefined") return null;
|
|
3598
|
-
const fromWin = (w) => {
|
|
3599
|
-
try {
|
|
3600
|
-
return w?.__ozwell?.whisper;
|
|
3601
|
-
} catch {
|
|
3602
|
-
return void 0;
|
|
3603
|
-
}
|
|
3604
|
-
};
|
|
3605
|
-
const win = fromWin(window) || fromWin(window.parent) || fromWin(window.top);
|
|
3606
|
-
if (win) return win;
|
|
3607
|
-
try {
|
|
3608
|
-
return JSON.parse(localStorage.getItem("ozwellConfig") || "{}").whisper || null;
|
|
3609
|
-
} catch {
|
|
3610
|
-
return null;
|
|
3611
|
-
}
|
|
3612
|
-
}
|
|
3613
|
-
function whisperDevice() {
|
|
3614
|
-
if (typeof window === "undefined") return null;
|
|
3615
|
-
const fromWin = (w) => {
|
|
3616
|
-
try {
|
|
3617
|
-
return w?.__ozwell?.whisperDevice;
|
|
3618
|
-
} catch {
|
|
3619
|
-
return void 0;
|
|
3620
|
-
}
|
|
3621
|
-
};
|
|
3622
|
-
const win = fromWin(window) || fromWin(window.parent) || fromWin(window.top);
|
|
3623
|
-
if (win) return win;
|
|
3624
|
-
try {
|
|
3625
|
-
return JSON.parse(localStorage.getItem("ozwellConfig") || "{}").whisperDevice || null;
|
|
3626
|
-
} catch {
|
|
3627
|
-
return null;
|
|
3628
|
-
}
|
|
3629
|
-
}
|
|
3630
|
-
function whisperDtype() {
|
|
3631
|
-
if (typeof window === "undefined") return null;
|
|
3632
|
-
const fromWin = (w) => {
|
|
3633
|
-
try {
|
|
3634
|
-
return w?.__ozwell?.whisperDtype;
|
|
3635
|
-
} catch {
|
|
3636
|
-
return void 0;
|
|
3637
|
-
}
|
|
3638
|
-
};
|
|
3639
|
-
const win = fromWin(window) || fromWin(window.parent) || fromWin(window.top);
|
|
3640
|
-
if (win) return win;
|
|
3641
|
-
try {
|
|
3642
|
-
return JSON.parse(localStorage.getItem("ozwellConfig") || "{}").whisperDtype || null;
|
|
3643
|
-
} catch {
|
|
3644
|
-
return null;
|
|
3645
|
-
}
|
|
3646
|
-
}
|
|
3647
|
-
var DEFAULT_TRANSFORMERS_URL = "https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.8.1";
|
|
3648
|
-
function transformersUrl() {
|
|
3649
|
-
try {
|
|
3650
|
-
const w = window.__ozwellTransformersUrl;
|
|
3651
|
-
if (w) return w;
|
|
3652
|
-
const ls = localStorage.getItem("ozwellTransformersUrl");
|
|
3653
|
-
if (ls) return ls;
|
|
3654
|
-
} catch {
|
|
3655
|
-
}
|
|
3656
|
-
return DEFAULT_TRANSFORMERS_URL;
|
|
3657
|
-
}
|
|
3658
|
-
var dictationLoad = {
|
|
3659
|
-
active: false,
|
|
3660
|
-
progress: 0,
|
|
3661
|
-
done: false
|
|
3662
|
-
};
|
|
3663
|
-
var loadListeners = /* @__PURE__ */ new Set();
|
|
3664
|
-
function setDictationLoad(patch) {
|
|
3665
|
-
dictationLoad = { ...dictationLoad, ...patch };
|
|
3666
|
-
loadListeners.forEach((l) => l());
|
|
3667
|
-
}
|
|
3668
|
-
function getDictationLoad() {
|
|
3669
|
-
return dictationLoad;
|
|
3670
|
-
}
|
|
3671
|
-
function subscribeDictationLoad(cb) {
|
|
3672
|
-
loadListeners.add(cb);
|
|
3673
|
-
return () => {
|
|
3674
|
-
loadListeners.delete(cb);
|
|
3675
|
-
};
|
|
3676
|
-
}
|
|
3677
|
-
var WORKER_SRC = `
|
|
3678
|
-
let cfg = null, modP = null, pipeP = null, gateP = null, isMulti = false;
|
|
3679
|
-
let chain = Promise.resolve();
|
|
3680
|
-
const serialize = (fn) => { const r = chain.then(fn, fn); chain = r.then(() => {}, () => {}); return r; };
|
|
3681
|
-
|
|
3682
|
-
function getMod() {
|
|
3683
|
-
if (modP) return modP;
|
|
3684
|
-
modP = (async () => {
|
|
3685
|
-
const mod = await import(cfg.transformersUrl);
|
|
3686
|
-
mod.env.allowLocalModels = false;
|
|
3687
|
-
// transformers.js's OWN cache STREAMS the model straight to the Cache API (how whisper-web caches this
|
|
3688
|
-
// 1.2GB turbo model). A hand-rolled SW that buffers the whole file chokes (QuotaExceeded).
|
|
3689
|
-
mod.env.useBrowserCache = true;
|
|
3690
|
-
mod.env.backends.onnx.wasm.numThreads = 1;
|
|
3691
|
-
try { if (navigator.storage && navigator.storage.persist) await navigator.storage.persist(); } catch (e) {}
|
|
3692
|
-
return mod;
|
|
3693
|
-
})();
|
|
3694
|
-
return modP;
|
|
3695
|
-
}
|
|
3696
|
-
|
|
3697
|
-
function progressCb() {
|
|
3698
|
-
const frac = {};
|
|
3699
|
-
const report = () => {
|
|
3700
|
-
const v = Object.values(frac);
|
|
3701
|
-
self.postMessage({ type: 'progress', frac: v.length ? v.reduce((a, b) => a + b, 0) / v.length : 0 });
|
|
3702
|
-
};
|
|
3703
|
-
return (p) => {
|
|
3704
|
-
if (!p || !p.file) return;
|
|
3705
|
-
if (p.status === 'initiate') { frac[p.file] = frac[p.file] || 0; report(); }
|
|
3706
|
-
else if (p.status === 'done') { frac[p.file] = 1; report(); }
|
|
3707
|
-
else if (p.status === 'progress' && typeof p.progress === 'number') { frac[p.file] = p.progress / 100; report(); }
|
|
3708
|
-
};
|
|
3709
|
-
}
|
|
3710
|
-
|
|
3711
|
-
async function buildEnglish(modelId) {
|
|
3712
|
-
const mod = await getMod();
|
|
3713
|
-
mod.env.remoteHost = cfg.hfHost;
|
|
3714
|
-
mod.env.remotePathTemplate = cfg.hfPath;
|
|
3715
|
-
if ((cfg.whisperDevice || '').toLowerCase() !== 'wasm') {
|
|
3716
|
-
try {
|
|
3717
|
-
const gpuDtype = cfg.whisperDtype || 'q8';
|
|
3718
|
-
const pipe = await mod.pipeline('automatic-speech-recognition', modelId, { device: 'webgpu', dtype: gpuDtype, progress_callback: progressCb() });
|
|
3719
|
-
console.log('[whisper] ready (' + modelId + ' / WebGPU ' + gpuDtype + ', worker)');
|
|
3720
|
-
return pipe;
|
|
3721
|
-
} catch (e) { /* fall through to wasm */ }
|
|
3722
|
-
}
|
|
3723
|
-
const pipe = await mod.pipeline('automatic-speech-recognition', modelId, { dtype: 'q8', progress_callback: progressCb() });
|
|
3724
|
-
console.log('[whisper] ready (' + modelId + ' / wasm, worker)');
|
|
3725
|
-
return pipe;
|
|
3726
|
-
}
|
|
3727
|
-
|
|
3728
|
-
async function buildTurbo() {
|
|
3729
|
-
const mod = await getMod();
|
|
3730
|
-
mod.env.remoteHost = cfg.whisperHost;
|
|
3731
|
-
mod.env.remotePathTemplate = '{model}/';
|
|
3732
|
-
const pipe = await mod.pipeline('automatic-speech-recognition', 'whisper-turbo', {
|
|
3733
|
-
device: 'webgpu',
|
|
3734
|
-
dtype: { encoder_model: 'fp16', decoder_model_merged: 'q4' },
|
|
3735
|
-
progress_callback: progressCb(),
|
|
3736
|
-
});
|
|
3737
|
-
isMulti = true;
|
|
3738
|
-
console.log('[whisper] ready (turbo / worker)');
|
|
3739
|
-
return pipe;
|
|
3740
|
-
}
|
|
3741
|
-
|
|
3742
|
-
function loadWhisper() {
|
|
3743
|
-
if (pipeP) return pipeP;
|
|
3744
|
-
self.postMessage({ type: 'loadState', patch: { active: true, progress: 0, done: false } });
|
|
3745
|
-
pipeP = (async () => {
|
|
3746
|
-
const pref = (cfg.whisperPref || '').toLowerCase();
|
|
3747
|
-
if (pref && pref !== 'turbo' && cfg.smallModels[pref]) {
|
|
3748
|
-
console.log('[whisper] loading ' + pref + ' (forced via ozwellConfig.whisper)\u2026');
|
|
3749
|
-
return serialize(() => buildEnglish(cfg.smallModels[pref]));
|
|
3750
|
-
}
|
|
3751
|
-
console.log('[whisper] loading turbo\u2026');
|
|
3752
|
-
try { return await serialize(() => buildTurbo()); }
|
|
3753
|
-
catch (e) {
|
|
3754
|
-
console.log('[whisper] turbo unavailable (' + (e && e.message ? e.message : e) + ') \u2192 base.en fallback');
|
|
3755
|
-
return serialize(() => buildEnglish(cfg.gateModel));
|
|
3756
|
-
}
|
|
3757
|
-
})();
|
|
3758
|
-
pipeP.then(
|
|
3759
|
-
() => self.postMessage({ type: 'loadState', patch: { active: false, progress: 1, done: true } }),
|
|
3760
|
-
() => { pipeP = null; self.postMessage({ type: 'loadState', patch: { active: false } }); }
|
|
3761
|
-
);
|
|
3762
|
-
return pipeP;
|
|
3763
|
-
}
|
|
3764
|
-
|
|
3765
|
-
function loadGate() {
|
|
3766
|
-
if (gateP) return gateP;
|
|
3767
|
-
console.log('[whisper] loading stop-confirm gate (base.en)\u2026');
|
|
3768
|
-
gateP = serialize(() => buildEnglish(cfg.gateModel));
|
|
3769
|
-
gateP.catch(() => { gateP = null; });
|
|
3770
|
-
return gateP;
|
|
3771
|
-
}
|
|
3772
|
-
|
|
3773
|
-
self.onmessage = async (e) => {
|
|
3774
|
-
const m = e.data;
|
|
3775
|
-
if (!m) return;
|
|
3776
|
-
if (m.type === 'init') { cfg = m.cfg; return; }
|
|
3777
|
-
if (m.type === 'warm') { loadWhisper().catch(() => {}); return; }
|
|
3778
|
-
if (m.type === 'warmGate') { loadGate().catch(() => {}); return; }
|
|
3779
|
-
if (m.type === 'transcribe') {
|
|
3780
|
-
try {
|
|
3781
|
-
let pipe, opts;
|
|
3782
|
-
if (m.want === 'gate') { pipe = await loadGate(); opts = { chunk_length_s: 30 }; }
|
|
3783
|
-
else {
|
|
3784
|
-
pipe = await loadWhisper();
|
|
3785
|
-
if (m.want === 'segments' || m.want === 'words') opts = Object.assign({ chunk_length_s: 30, return_timestamps: m.want === 'words' ? 'word' : true }, isMulti ? { language: 'english', task: 'transcribe' } : {});
|
|
3786
|
-
else opts = isMulti ? { chunk_length_s: 30, language: 'english', task: 'transcribe' } : { chunk_length_s: 30 };
|
|
3787
|
-
}
|
|
3788
|
-
const out = await pipe(m.samples, opts);
|
|
3789
|
-
self.postMessage({ type: 'result', id: m.id, text: (out && out.text ? out.text : '').trim(), chunks: (out && out.chunks) || null });
|
|
3790
|
-
} catch (err) {
|
|
3791
|
-
self.postMessage({ type: 'error', id: m.id, message: err && err.message ? err.message : String(err) });
|
|
3792
|
-
}
|
|
3793
|
-
}
|
|
3794
|
-
};
|
|
3795
|
-
`;
|
|
3796
|
-
var worker = null;
|
|
3797
|
-
var reqId = 0;
|
|
3798
|
-
var pending = /* @__PURE__ */ new Map();
|
|
3799
|
-
function buildWorkerCfg() {
|
|
3800
|
-
return {
|
|
3801
|
-
transformersUrl: transformersUrl(),
|
|
3802
|
-
whisperHost: whisperHost(),
|
|
3803
|
-
whisperPref: whisperPref(),
|
|
3804
|
-
whisperDevice: whisperDevice(),
|
|
3805
|
-
whisperDtype: whisperDtype(),
|
|
3806
|
-
hfHost: HF_HOST,
|
|
3807
|
-
hfPath: HF_PATH,
|
|
3808
|
-
smallModels: SMALL_MODELS,
|
|
3809
|
-
gateModel: GATE_MODEL
|
|
3810
|
-
};
|
|
3811
|
-
}
|
|
3812
|
-
function getWorker() {
|
|
3813
|
-
if (worker) return worker;
|
|
3814
|
-
registerModelServiceWorker();
|
|
3815
|
-
const url = URL.createObjectURL(
|
|
3816
|
-
new Blob([WORKER_SRC], { type: "application/javascript" })
|
|
3817
|
-
);
|
|
3818
|
-
const w = new Worker(url, { type: "module" });
|
|
3819
|
-
w.onmessage = (e) => {
|
|
3820
|
-
const m = e.data;
|
|
3821
|
-
if (!m) return;
|
|
3822
|
-
if (m.type === "loadState") {
|
|
3823
|
-
setDictationLoad(m.patch);
|
|
3824
|
-
return;
|
|
3825
|
-
}
|
|
3826
|
-
if (m.type === "progress") {
|
|
3827
|
-
setDictationLoad({ progress: m.frac });
|
|
3828
|
-
return;
|
|
3829
|
-
}
|
|
3830
|
-
if (m.type === "result") {
|
|
3831
|
-
const p = pending.get(m.id);
|
|
3832
|
-
if (p) {
|
|
3833
|
-
pending.delete(m.id);
|
|
3834
|
-
p.resolve({ text: m.text, chunks: m.chunks });
|
|
3835
|
-
}
|
|
3836
|
-
return;
|
|
3837
|
-
}
|
|
3838
|
-
if (m.type === "error") {
|
|
3839
|
-
const p = pending.get(m.id);
|
|
3840
|
-
if (p) {
|
|
3841
|
-
pending.delete(m.id);
|
|
3842
|
-
p.reject(new Error(m.message));
|
|
3843
|
-
}
|
|
3844
|
-
return;
|
|
3845
|
-
}
|
|
3846
|
-
};
|
|
3847
|
-
w.onerror = (e) => {
|
|
3848
|
-
const err = new Error(
|
|
3849
|
-
`whisper worker error: ${e.message || "failed to load"}`
|
|
3850
|
-
);
|
|
3851
|
-
pending.forEach((p) => p.reject(err));
|
|
3852
|
-
pending.clear();
|
|
3853
|
-
setDictationLoad({ active: false });
|
|
3854
|
-
};
|
|
3855
|
-
w.postMessage({ type: "init", cfg: buildWorkerCfg() });
|
|
3856
|
-
worker = w;
|
|
3857
|
-
return worker;
|
|
3858
|
-
}
|
|
3859
|
-
function callWorker(want, samples) {
|
|
3860
|
-
const w = getWorker();
|
|
3861
|
-
const id = ++reqId;
|
|
3862
|
-
return new Promise((resolve, reject) => {
|
|
3863
|
-
pending.set(id, { resolve, reject });
|
|
3864
|
-
w.postMessage({ type: "transcribe", id, want, samples }, [samples.buffer]);
|
|
3865
|
-
});
|
|
3866
|
-
}
|
|
3867
|
-
function isWhisperLoaded() {
|
|
3868
|
-
return getDictationLoad().done;
|
|
3869
|
-
}
|
|
3870
|
-
function warmWhisper() {
|
|
3871
|
-
getWorker().postMessage({ type: "warm" });
|
|
3872
|
-
}
|
|
3873
|
-
function warmStopGate() {
|
|
3874
|
-
getWorker().postMessage({ type: "warmGate" });
|
|
3875
|
-
}
|
|
3876
|
-
function downmixToMono(audio) {
|
|
3877
|
-
if (audio.numberOfChannels <= 1) return audio.getChannelData(0);
|
|
3878
|
-
const n = audio.length;
|
|
3879
|
-
const out = new Float32Array(n);
|
|
3880
|
-
for (let ch = 0; ch < audio.numberOfChannels; ch++) {
|
|
3881
|
-
const data = audio.getChannelData(ch);
|
|
3882
|
-
for (let i = 0; i < n; i++) out[i] += data[i];
|
|
3883
|
-
}
|
|
3884
|
-
for (let i = 0; i < n; i++) out[i] /= audio.numberOfChannels;
|
|
3885
|
-
return out;
|
|
3886
|
-
}
|
|
3887
|
-
function resampleTo16kMono(src, sampleRate) {
|
|
3888
|
-
const ratio = 16e3 / sampleRate;
|
|
3889
|
-
const n = Math.round(src.length * ratio);
|
|
3890
|
-
const out = new Float32Array(n);
|
|
3891
|
-
for (let i = 0; i < n; i++) {
|
|
3892
|
-
const t = i / ratio;
|
|
3893
|
-
const i0 = Math.floor(t);
|
|
3894
|
-
const i1 = Math.min(i0 + 1, src.length - 1);
|
|
3895
|
-
out[i] = src[i0] + (src[i1] - src[i0]) * (t - i0);
|
|
3896
|
-
}
|
|
3897
|
-
return out;
|
|
3898
|
-
}
|
|
3899
|
-
async function decodeTo16kMono(blob) {
|
|
3900
|
-
const Ctx = window.AudioContext || window.webkitAudioContext;
|
|
3901
|
-
const ctx = new Ctx();
|
|
3902
|
-
try {
|
|
3903
|
-
const audio = await ctx.decodeAudioData(await blob.arrayBuffer());
|
|
3904
|
-
return resampleTo16kMono(downmixToMono(audio), audio.sampleRate);
|
|
3905
|
-
} finally {
|
|
3906
|
-
void ctx.close();
|
|
3907
|
-
}
|
|
3908
|
-
}
|
|
3909
|
-
function encodeWav16kMono(samples) {
|
|
3910
|
-
const sr = 16e3;
|
|
3911
|
-
const buf = new ArrayBuffer(44 + samples.length * 2);
|
|
3912
|
-
const view = new DataView(buf);
|
|
3913
|
-
const str = (o2, s) => {
|
|
3914
|
-
for (let i = 0; i < s.length; i++) view.setUint8(o2 + i, s.charCodeAt(i));
|
|
3915
|
-
};
|
|
3916
|
-
str(0, "RIFF");
|
|
3917
|
-
view.setUint32(4, 36 + samples.length * 2, true);
|
|
3918
|
-
str(8, "WAVE");
|
|
3919
|
-
str(12, "fmt ");
|
|
3920
|
-
view.setUint32(16, 16, true);
|
|
3921
|
-
view.setUint16(20, 1, true);
|
|
3922
|
-
view.setUint16(22, 1, true);
|
|
3923
|
-
view.setUint32(24, sr, true);
|
|
3924
|
-
view.setUint32(28, sr * 2, true);
|
|
3925
|
-
view.setUint16(32, 2, true);
|
|
3926
|
-
view.setUint16(34, 16, true);
|
|
3927
|
-
str(36, "data");
|
|
3928
|
-
view.setUint32(40, samples.length * 2, true);
|
|
3929
|
-
let o = 44;
|
|
3930
|
-
for (let i = 0; i < samples.length; i++) {
|
|
3931
|
-
const s = Math.max(-1, Math.min(1, samples[i]));
|
|
3932
|
-
view.setInt16(o, s < 0 ? s * 32768 : s * 32767, true);
|
|
3933
|
-
o += 2;
|
|
3934
|
-
}
|
|
3935
|
-
return new Blob([buf], { type: "audio/wav" });
|
|
3936
|
-
}
|
|
3937
|
-
async function trimTrailingStopPhrase(blob, phraseHintSec = 0) {
|
|
3938
|
-
let samples;
|
|
3939
|
-
try {
|
|
3940
|
-
samples = await decodeTo16kMono(blob);
|
|
3941
|
-
} catch {
|
|
3942
|
-
return blob;
|
|
3943
|
-
}
|
|
3944
|
-
const SR2 = 16e3;
|
|
3945
|
-
const n = samples.length;
|
|
3946
|
-
if (n < SR2 * 0.8) return blob;
|
|
3947
|
-
const fr = Math.round(SR2 * 0.03);
|
|
3948
|
-
const nf = Math.ceil(n / fr);
|
|
3949
|
-
const e = new Float32Array(nf);
|
|
3950
|
-
let peak = 0;
|
|
3951
|
-
for (let f = 0; f < nf; f++) {
|
|
3952
|
-
const a = f * fr, b = Math.min(n, a + fr);
|
|
3953
|
-
let s = 0;
|
|
3954
|
-
for (let i = a; i < b; i++) s += samples[i] * samples[i];
|
|
3955
|
-
e[f] = Math.sqrt(s / (b - a));
|
|
3956
|
-
if (e[f] > peak) peak = e[f];
|
|
3957
|
-
}
|
|
3958
|
-
const sil = Math.max(8e-3, peak * 0.15);
|
|
3959
|
-
const minGap = Math.max(1, Math.round(0.15 * SR2 / fr));
|
|
3960
|
-
const maxTrimFrames = Math.round(2.2 * SR2 / fr);
|
|
3961
|
-
const floor = Math.max(0, nf - maxTrimFrames);
|
|
3962
|
-
let cutFrame;
|
|
3963
|
-
if (phraseHintSec > 0.2) {
|
|
3964
|
-
const anchor = Math.max(0, nf - Math.round(phraseHintSec * SR2 / fr));
|
|
3965
|
-
const win = Math.round(0.35 * SR2 / fr);
|
|
3966
|
-
let best = -1, bestDist = Infinity;
|
|
3967
|
-
for (let f = Math.max(0, anchor - win); f <= Math.min(nf - 1, anchor + win); f++) {
|
|
3968
|
-
if (e[f] < sil) {
|
|
3969
|
-
const dist = Math.abs(f - anchor);
|
|
3970
|
-
if (dist < bestDist) {
|
|
3971
|
-
bestDist = dist;
|
|
3972
|
-
best = f;
|
|
3973
|
-
}
|
|
3974
|
-
}
|
|
3975
|
-
}
|
|
3976
|
-
cutFrame = best >= 0 ? best : anchor;
|
|
3977
|
-
} else {
|
|
3978
|
-
let k = nf - 1;
|
|
3979
|
-
while (k >= floor && e[k] < sil) k--;
|
|
3980
|
-
cutFrame = -1;
|
|
3981
|
-
while (k >= floor) {
|
|
3982
|
-
if (e[k] < sil) {
|
|
3983
|
-
let m = k;
|
|
3984
|
-
while (m >= floor && e[m] < sil) m--;
|
|
3985
|
-
if (k - m >= minGap) {
|
|
3986
|
-
cutFrame = k + 1;
|
|
3987
|
-
break;
|
|
3988
|
-
}
|
|
3989
|
-
k = m;
|
|
3990
|
-
} else k--;
|
|
3991
|
-
}
|
|
3992
|
-
if (cutFrame < 0) cutFrame = Math.max(0, nf - Math.round(1.1 * SR2 / fr));
|
|
3993
|
-
}
|
|
3994
|
-
cutFrame = Math.max(cutFrame, floor);
|
|
3995
|
-
const cutSample = Math.min(n, cutFrame * fr);
|
|
3996
|
-
if (cutSample < SR2 * 0.2) return blob;
|
|
3997
|
-
return encodeWav16kMono(samples.subarray(0, cutSample));
|
|
3998
|
-
}
|
|
3999
|
-
async function transcribeBlob(blob, trimEndSeconds = 0) {
|
|
4000
|
-
let samples = await decodeTo16kMono(blob);
|
|
4001
|
-
if (trimEndSeconds > 0) {
|
|
4002
|
-
const cut = Math.round(trimEndSeconds * 16e3);
|
|
4003
|
-
if (samples.length > cut + 16e3)
|
|
4004
|
-
samples = samples.slice(0, samples.length - cut);
|
|
4005
|
-
}
|
|
4006
|
-
const out = await callWorker("text", samples);
|
|
4007
|
-
return (out.text ?? "").trim();
|
|
4008
|
-
}
|
|
4009
|
-
async function transcribeSamples(samples, sampleRate) {
|
|
4010
|
-
const out = await callWorker("text", resampleTo16kMono(samples, sampleRate));
|
|
4011
|
-
return (out.text ?? "").trim();
|
|
4012
|
-
}
|
|
4013
|
-
function chunksToSegments(chunks) {
|
|
4014
|
-
return (chunks ?? []).map((c) => ({
|
|
4015
|
-
start: c.timestamp?.[0] ?? 0,
|
|
4016
|
-
end: c.timestamp?.[1] ?? c.timestamp?.[0] ?? 0,
|
|
4017
|
-
text: (c.text ?? "").trim()
|
|
4018
|
-
})).filter((s) => s.text);
|
|
4019
|
-
}
|
|
4020
|
-
async function transcribeSegments(blob) {
|
|
4021
|
-
const samples = await decodeTo16kMono(blob);
|
|
4022
|
-
const out = await callWorker("segments", samples);
|
|
4023
|
-
return chunksToSegments(out.chunks);
|
|
4024
|
-
}
|
|
4025
|
-
function serverAsrModel() {
|
|
4026
|
-
try {
|
|
4027
|
-
return JSON.parse(localStorage.getItem("ozwellConfig") || "{}").serverWhisper || "whisper-1";
|
|
4028
|
-
} catch {
|
|
4029
|
-
return "whisper-1";
|
|
4030
|
-
}
|
|
4031
|
-
}
|
|
4032
|
-
async function transcribeServer(blob) {
|
|
4033
|
-
const cfg = getOzwellConfig();
|
|
4034
|
-
const form = new FormData();
|
|
4035
|
-
form.append("file", blob, "audio.webm");
|
|
4036
|
-
form.append("model", serverAsrModel());
|
|
4037
|
-
const url = `${cfg.baseURL.replace(/\/$/, "")}/v1/audio/transcriptions`;
|
|
4038
|
-
const headers = {};
|
|
4039
|
-
if (cfg.apiKey && cfg.apiKey !== "ollama")
|
|
4040
|
-
headers.Authorization = `Bearer ${cfg.apiKey}`;
|
|
4041
|
-
const res = await fetch(url, { method: "POST", headers, body: form });
|
|
4042
|
-
if (!res.ok) {
|
|
4043
|
-
const body = await res.text().catch(() => "");
|
|
4044
|
-
throw new Error(
|
|
4045
|
-
`Server ASR ${res.status}: ${res.statusText || body.slice(0, 200) || "request failed"}`
|
|
4046
|
-
);
|
|
4047
|
-
}
|
|
4048
|
-
const data = await res.json();
|
|
4049
|
-
return (typeof data?.text === "string" ? data.text : "").trim();
|
|
4050
|
-
}
|
|
4051
|
-
async function transcribeGate(samples, sampleRate) {
|
|
4052
|
-
const out = await callWorker("gate", resampleTo16kMono(samples, sampleRate));
|
|
4053
|
-
return (out.text ?? "").trim();
|
|
4054
|
-
}
|
|
4055
|
-
function stripStopPhrase(text) {
|
|
4056
|
-
const tail = /(?:\b(?:oz\s{0,4}well|all(?:['’]?s|\s{1,4}was)?\s{0,4}well|as\s{0,4}well|also|oswald)\b[\s,]{0,6}i(?:['’]?m|\s{1,4}am)\s{1,4}done\b|\b(?:oz\s{0,4}well|all(?:['’]?s|\s{1,4}was)?\s{0,4}well|oswald)\b|\bi(?:['’]?m|\s{1,4}am)\s{1,4}done\b|\b(?:that\s{1,4}was\s{1,4}|was\s{1,4})?well\s{1,4}done\b|\bthat['’]?s?\s{1,4}(?:was\s{1,4})?all\b|\bthank(?:s|\s{1,4}you)(?:\s{1,4}for\s{1,4}watching)?\b|\bbye\b)[\s.,!?-]{0,24}$/i;
|
|
4057
|
-
let prev = null;
|
|
4058
|
-
let t = text;
|
|
4059
|
-
while (t !== prev && t) {
|
|
4060
|
-
prev = t;
|
|
4061
|
-
t = trimTrailingPunct(t.replace(tail, ""));
|
|
4062
|
-
}
|
|
4063
|
-
return t.trim();
|
|
4064
|
-
}
|
|
4065
|
-
function trimTrailingPunct(s) {
|
|
4066
|
-
let end = s.length;
|
|
4067
|
-
while (end > 0 && /[\s.,!?-]/.test(s[end - 1])) end--;
|
|
4068
|
-
return end === s.length ? s : s.slice(0, end);
|
|
4069
|
-
}
|
|
4070
|
-
function endsWithDone(text) {
|
|
4071
|
-
return /\b(?:i(?:['’]?m|\s{1,4}am)\s{1,4}|all\s{1,4}|well\s{1,4})?done\b[\s.,!?-]{0,24}$/i.test(
|
|
4072
|
-
text
|
|
4073
|
-
);
|
|
4074
|
-
}
|
|
4075
3468
|
function useSpeakerVerify(opts = {}) {
|
|
4076
3469
|
const { enabled = true, voiceprintNamespace } = opts;
|
|
4077
3470
|
const [ready, setReady] = React13__namespace.useState(false);
|
|
@@ -4313,7 +3706,7 @@ function useDiarization(options = {}) {
|
|
|
4313
3706
|
const [error, setError] = React13__namespace.useState(null);
|
|
4314
3707
|
const [result, setResult] = React13__namespace.useState(null);
|
|
4315
3708
|
React13__namespace.useEffect(() => {
|
|
4316
|
-
if (enabled) warmWhisper();
|
|
3709
|
+
if (enabled) chunkTRZLN32I_cjs.warmWhisper();
|
|
4317
3710
|
}, [enabled]);
|
|
4318
3711
|
const diarize = React13__namespace.useCallback(
|
|
4319
3712
|
async (blob) => {
|
|
@@ -4327,8 +3720,8 @@ function useDiarization(options = {}) {
|
|
|
4327
3720
|
throw new Error("voiceprint namespace changed during diarization");
|
|
4328
3721
|
};
|
|
4329
3722
|
const [segments, samples] = await Promise.all([
|
|
4330
|
-
transcribeSegments(blob),
|
|
4331
|
-
decodeTo16kMono(blob)
|
|
3723
|
+
chunkTRZLN32I_cjs.transcribeSegments(blob),
|
|
3724
|
+
chunkTRZLN32I_cjs.decodeTo16kMono(blob)
|
|
4332
3725
|
]);
|
|
4333
3726
|
assertNamespace();
|
|
4334
3727
|
if (!segments.length) {
|
|
@@ -4378,9 +3771,9 @@ function useDiarization(options = {}) {
|
|
|
4378
3771
|
}
|
|
4379
3772
|
const labels = labelClusters(segCluster, names);
|
|
4380
3773
|
let out = attributeSegments(segments, segCluster, labels);
|
|
4381
|
-
if (inferRoles && isOzwellConfigured()) {
|
|
3774
|
+
if (inferRoles && chunkTRZLN32I_cjs.isOzwellConfigured()) {
|
|
4382
3775
|
try {
|
|
4383
|
-
out = await inferSpeakerRoles(out, (p) => askOzwell(p));
|
|
3776
|
+
out = await inferSpeakerRoles(out, (p) => chunkTRZLN32I_cjs.askOzwell(p));
|
|
4384
3777
|
} catch {
|
|
4385
3778
|
}
|
|
4386
3779
|
}
|
|
@@ -4596,8 +3989,8 @@ function useHeyOzwell(options = {}) {
|
|
|
4596
3989
|
const [phase, setPhase] = React13__namespace.useState("listening");
|
|
4597
3990
|
const [typed, setTyped] = React13__namespace.useState("");
|
|
4598
3991
|
const dictLoad = React13__namespace.useSyncExternalStore(
|
|
4599
|
-
subscribeDictationLoad,
|
|
4600
|
-
getDictationLoad
|
|
3992
|
+
chunkTRZLN32I_cjs.subscribeDictationLoad,
|
|
3993
|
+
chunkTRZLN32I_cjs.getDictationLoad
|
|
4601
3994
|
);
|
|
4602
3995
|
const wakeWarm2 = React13__namespace.useSyncExternalStore(subscribeWakeWarm, getWakeWarm);
|
|
4603
3996
|
const counterRef = React13__namespace.useRef(0);
|
|
@@ -4681,7 +4074,7 @@ function useHeyOzwell(options = {}) {
|
|
|
4681
4074
|
onSendRef.current(t);
|
|
4682
4075
|
return;
|
|
4683
4076
|
}
|
|
4684
|
-
if (!isOzwellConfigured()) {
|
|
4077
|
+
if (!chunkTRZLN32I_cjs.isOzwellConfigured()) {
|
|
4685
4078
|
window.setTimeout(
|
|
4686
4079
|
() => setMessages((m) => [
|
|
4687
4080
|
...m,
|
|
@@ -4695,7 +4088,7 @@ function useHeyOzwell(options = {}) {
|
|
|
4695
4088
|
return;
|
|
4696
4089
|
}
|
|
4697
4090
|
const history = [
|
|
4698
|
-
...toOzwellMessages(messagesRef.current),
|
|
4091
|
+
...chunkTRZLN32I_cjs.toOzwellMessages(messagesRef.current),
|
|
4699
4092
|
{ role: "user", content: t }
|
|
4700
4093
|
];
|
|
4701
4094
|
const id = `assistant-${++counterRef.current}`;
|
|
@@ -4718,7 +4111,7 @@ function useHeyOzwell(options = {}) {
|
|
|
4718
4111
|
streamAbortRef.current?.abort();
|
|
4719
4112
|
const ac = new AbortController();
|
|
4720
4113
|
streamAbortRef.current = ac;
|
|
4721
|
-
askOzwellStream(history, (_d, full) => patch(full, "streaming"), {
|
|
4114
|
+
chunkTRZLN32I_cjs.askOzwellStream(history, (_d, full) => patch(full, "streaming"), {
|
|
4722
4115
|
signal: ac.signal
|
|
4723
4116
|
}).then((full) => patch(full || "(no response)", "complete")).catch((e) => {
|
|
4724
4117
|
if (e?.name === "AbortError") return;
|
|
@@ -4759,7 +4152,7 @@ function useHeyOzwell(options = {}) {
|
|
|
4759
4152
|
const tail = acc.snapshotFrom(liveCursorRef.current);
|
|
4760
4153
|
liveBusyRef.current = true;
|
|
4761
4154
|
try {
|
|
4762
|
-
const t = (await transcribeSamples(tail, acc.sampleRate)).trim();
|
|
4155
|
+
const t = (await chunkTRZLN32I_cjs.transcribeSamples(tail, acc.sampleRate)).trim();
|
|
4763
4156
|
if (!liveRecRef.current) return;
|
|
4764
4157
|
const committed = liveCommittedRef.current;
|
|
4765
4158
|
setLiveText(committed ? t ? `${committed} ${t}` : committed : t);
|
|
@@ -4791,7 +4184,7 @@ function useHeyOzwell(options = {}) {
|
|
|
4791
4184
|
const dur = wakeRef.current?.getLastWakeDuration() ?? 0;
|
|
4792
4185
|
const hint = dur > 0 ? dur + stopTrimLeadIn() : 0;
|
|
4793
4186
|
try {
|
|
4794
|
-
blob = await trimTrailingStopPhrase(blob, hint);
|
|
4187
|
+
blob = await chunkTRZLN32I_cjs.trimTrailingStopPhrase(blob, hint);
|
|
4795
4188
|
} catch {
|
|
4796
4189
|
}
|
|
4797
4190
|
}
|
|
@@ -4799,21 +4192,21 @@ function useHeyOzwell(options = {}) {
|
|
|
4799
4192
|
if (conversationMode && diarRef.current.ready) {
|
|
4800
4193
|
const turns = await diarRef.current.diarize(blob);
|
|
4801
4194
|
const joined = turns.map((t) => `${t.speaker}: ${t.text}`).join("\n");
|
|
4802
|
-
text = stripStopPhrase(joined) || stripStopPhrase(await transcribeBlob(blob));
|
|
4195
|
+
text = chunkTRZLN32I_cjs.stripStopPhrase(joined) || chunkTRZLN32I_cjs.stripStopPhrase(await chunkTRZLN32I_cjs.transcribeBlob(blob));
|
|
4803
4196
|
} else if (transcription === "server") {
|
|
4804
4197
|
let raw;
|
|
4805
4198
|
try {
|
|
4806
|
-
raw = await transcribeServer(blob);
|
|
4199
|
+
raw = await chunkTRZLN32I_cjs.transcribeServer(blob);
|
|
4807
4200
|
} catch (e) {
|
|
4808
4201
|
console.warn(
|
|
4809
4202
|
"[hey-ozwell] server ASR failed \u2192 on-device fallback",
|
|
4810
4203
|
e
|
|
4811
4204
|
);
|
|
4812
|
-
raw = await transcribeBlob(blob);
|
|
4205
|
+
raw = await chunkTRZLN32I_cjs.transcribeBlob(blob);
|
|
4813
4206
|
}
|
|
4814
|
-
text = stripStopPhrase(raw);
|
|
4207
|
+
text = chunkTRZLN32I_cjs.stripStopPhrase(raw);
|
|
4815
4208
|
} else {
|
|
4816
|
-
text = stripStopPhrase(await transcribeBlob(blob));
|
|
4209
|
+
text = chunkTRZLN32I_cjs.stripStopPhrase(await chunkTRZLN32I_cjs.transcribeBlob(blob));
|
|
4817
4210
|
}
|
|
4818
4211
|
if (text) {
|
|
4819
4212
|
if (reviewBeforeSend) setTyped(text);
|
|
@@ -4900,7 +4293,7 @@ function useHeyOzwell(options = {}) {
|
|
|
4900
4293
|
void warmWakeModels(assetBase);
|
|
4901
4294
|
}, [assetBase]);
|
|
4902
4295
|
React13__namespace.useEffect(() => {
|
|
4903
|
-
if (active) warmWhisper();
|
|
4296
|
+
if (active) chunkTRZLN32I_cjs.warmWhisper();
|
|
4904
4297
|
}, [active]);
|
|
4905
4298
|
const toggle = React13__namespace.useCallback(
|
|
4906
4299
|
(next) => {
|
|
@@ -5194,7 +4587,7 @@ function useVoiceSetup(options = {}) {
|
|
|
5194
4587
|
const [adding, setAdding] = React13__namespace.useState(startAdding);
|
|
5195
4588
|
const total = PHRASES2.length * REPS;
|
|
5196
4589
|
React13__namespace.useEffect(() => {
|
|
5197
|
-
warmWhisper();
|
|
4590
|
+
chunkTRZLN32I_cjs.warmWhisper();
|
|
5198
4591
|
let cancelled = false;
|
|
5199
4592
|
whatRef.current = {};
|
|
5200
4593
|
void chunkOGNADPM4_cjs.loadWhatPrints(voiceprintNamespace).then((w) => {
|
|
@@ -5862,7 +5255,7 @@ function HandsFreeChat({
|
|
|
5862
5255
|
style: { display: "inline-flex" },
|
|
5863
5256
|
title: "Dictate \u2014 or just say \u201Chey ozwell\u201D",
|
|
5864
5257
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5865
|
-
|
|
5258
|
+
chunkHIYQ3M5V_cjs.RecordButton,
|
|
5866
5259
|
{
|
|
5867
5260
|
variant: "ghost",
|
|
5868
5261
|
size: "sm",
|
|
@@ -6010,7 +5403,7 @@ function useVisitScribe(options = {}) {
|
|
|
6010
5403
|
acc.discardBefore(liveCursorRef.current);
|
|
6011
5404
|
liveBusyRef.current = true;
|
|
6012
5405
|
try {
|
|
6013
|
-
const text = (await transcribeSamples(window2, acc.sampleRate)).trim();
|
|
5406
|
+
const text = (await chunkTRZLN32I_cjs.transcribeSamples(window2, acc.sampleRate)).trim();
|
|
6014
5407
|
if (text && liveRecRef.current)
|
|
6015
5408
|
setLiveText((prev) => prev ? `${prev} ${text}` : text);
|
|
6016
5409
|
} catch {
|
|
@@ -12901,7 +12294,7 @@ function CheckrIntegration({
|
|
|
12901
12294
|
viewReports = "View Reports",
|
|
12902
12295
|
noReports = "No background checks yet",
|
|
12903
12296
|
refresh = "Refresh",
|
|
12904
|
-
pending
|
|
12297
|
+
pending = "Pending",
|
|
12905
12298
|
running = "Running",
|
|
12906
12299
|
complete = "Complete",
|
|
12907
12300
|
failed = "Failed",
|
|
@@ -12933,7 +12326,7 @@ function CheckrIntegration({
|
|
|
12933
12326
|
setSelectedReports((prev) => prev.size > 0 ? /* @__PURE__ */ new Set() : prev);
|
|
12934
12327
|
}, [reports, connected]);
|
|
12935
12328
|
const statusLabels = {
|
|
12936
|
-
pending
|
|
12329
|
+
pending,
|
|
12937
12330
|
running,
|
|
12938
12331
|
complete,
|
|
12939
12332
|
failed,
|
|
@@ -22760,21 +22153,21 @@ function ActionButton({ label, onClick, href, variant }) {
|
|
|
22760
22153
|
);
|
|
22761
22154
|
}
|
|
22762
22155
|
function DefaultIllustration({ type }) {
|
|
22763
|
-
const
|
|
22156
|
+
const iconClasses2 = "h-24 w-24 text-muted-foreground";
|
|
22764
22157
|
switch (type) {
|
|
22765
22158
|
case "404":
|
|
22766
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Search404Icon, { className:
|
|
22159
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Search404Icon, { className: iconClasses2 });
|
|
22767
22160
|
case "500":
|
|
22768
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ServerErrorIcon, { className:
|
|
22161
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ServerErrorIcon, { className: iconClasses2 });
|
|
22769
22162
|
case "403":
|
|
22770
22163
|
case "401":
|
|
22771
|
-
return /* @__PURE__ */ jsxRuntime.jsx(LockIcon, { className:
|
|
22164
|
+
return /* @__PURE__ */ jsxRuntime.jsx(LockIcon, { className: iconClasses2 });
|
|
22772
22165
|
case "offline":
|
|
22773
|
-
return /* @__PURE__ */ jsxRuntime.jsx(WifiOffIcon, { className:
|
|
22166
|
+
return /* @__PURE__ */ jsxRuntime.jsx(WifiOffIcon, { className: iconClasses2 });
|
|
22774
22167
|
case "maintenance":
|
|
22775
|
-
return /* @__PURE__ */ jsxRuntime.jsx(WrenchIcon, { className:
|
|
22168
|
+
return /* @__PURE__ */ jsxRuntime.jsx(WrenchIcon, { className: iconClasses2 });
|
|
22776
22169
|
default:
|
|
22777
|
-
return /* @__PURE__ */ jsxRuntime.jsx(AlertIcon, { className:
|
|
22170
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertIcon, { className: iconClasses2 });
|
|
22778
22171
|
}
|
|
22779
22172
|
}
|
|
22780
22173
|
function Search404Icon({ className }) {
|
|
@@ -39723,13 +39116,13 @@ var DEFAULT_SERVICE_PRICING_MANAGER_LABELS = {
|
|
|
39723
39116
|
function ServiceNote({ service, onNoteChange, labels }) {
|
|
39724
39117
|
const [editing, setEditing] = React13__namespace.useState(false);
|
|
39725
39118
|
const [draft, setDraft] = React13__namespace.useState("");
|
|
39726
|
-
const [
|
|
39119
|
+
const [pending, setPending] = React13__namespace.useState(null);
|
|
39727
39120
|
const [failed, setFailed] = React13__namespace.useState(false);
|
|
39728
39121
|
const inputRef = React13__namespace.useRef(null);
|
|
39729
39122
|
const buttonRef = React13__namespace.useRef(null);
|
|
39730
39123
|
const cancelRef = React13__namespace.useRef(false);
|
|
39731
39124
|
const refocusRef = React13__namespace.useRef(false);
|
|
39732
|
-
const note =
|
|
39125
|
+
const note = pending ?? service.note ?? "";
|
|
39733
39126
|
React13__namespace.useEffect(() => {
|
|
39734
39127
|
if (editing) inputRef.current?.focus();
|
|
39735
39128
|
else if (refocusRef.current) {
|
|
@@ -39783,12 +39176,12 @@ function ServiceNote({ service, onNoteChange, labels }) {
|
|
|
39783
39176
|
ref: buttonRef,
|
|
39784
39177
|
type: "button",
|
|
39785
39178
|
onClick: () => {
|
|
39786
|
-
if (
|
|
39179
|
+
if (pending !== null) return;
|
|
39787
39180
|
setDraft(note);
|
|
39788
39181
|
setEditing(true);
|
|
39789
39182
|
},
|
|
39790
|
-
"aria-disabled":
|
|
39791
|
-
"aria-busy":
|
|
39183
|
+
"aria-disabled": pending !== null,
|
|
39184
|
+
"aria-busy": pending !== null,
|
|
39792
39185
|
"aria-label": `${labels.noteLabel(service.serviceName)}: ${note || labels.addNote}`,
|
|
39793
39186
|
className: chunkS5RVSXDV_cjs.cn(
|
|
39794
39187
|
"w-full truncate rounded text-start text-sm",
|
|
@@ -44828,6 +44221,82 @@ function WebsiteInputGroup({
|
|
|
44828
44221
|
}
|
|
44829
44222
|
WebsiteInputGroup.displayName = "WebsiteInputGroup";
|
|
44830
44223
|
|
|
44224
|
+
Object.defineProperty(exports, "askOzwell", {
|
|
44225
|
+
enumerable: true,
|
|
44226
|
+
get: function () { return chunkTRZLN32I_cjs.askOzwell; }
|
|
44227
|
+
});
|
|
44228
|
+
Object.defineProperty(exports, "askOzwellStream", {
|
|
44229
|
+
enumerable: true,
|
|
44230
|
+
get: function () { return chunkTRZLN32I_cjs.askOzwellStream; }
|
|
44231
|
+
});
|
|
44232
|
+
Object.defineProperty(exports, "decodeTo16kMono", {
|
|
44233
|
+
enumerable: true,
|
|
44234
|
+
get: function () { return chunkTRZLN32I_cjs.decodeTo16kMono; }
|
|
44235
|
+
});
|
|
44236
|
+
Object.defineProperty(exports, "endsWithDone", {
|
|
44237
|
+
enumerable: true,
|
|
44238
|
+
get: function () { return chunkTRZLN32I_cjs.endsWithDone; }
|
|
44239
|
+
});
|
|
44240
|
+
Object.defineProperty(exports, "getDictationLoad", {
|
|
44241
|
+
enumerable: true,
|
|
44242
|
+
get: function () { return chunkTRZLN32I_cjs.getDictationLoad; }
|
|
44243
|
+
});
|
|
44244
|
+
Object.defineProperty(exports, "getOzwellConfig", {
|
|
44245
|
+
enumerable: true,
|
|
44246
|
+
get: function () { return chunkTRZLN32I_cjs.getOzwellConfig; }
|
|
44247
|
+
});
|
|
44248
|
+
Object.defineProperty(exports, "isOzwellConfigured", {
|
|
44249
|
+
enumerable: true,
|
|
44250
|
+
get: function () { return chunkTRZLN32I_cjs.isOzwellConfigured; }
|
|
44251
|
+
});
|
|
44252
|
+
Object.defineProperty(exports, "isWhisperLoaded", {
|
|
44253
|
+
enumerable: true,
|
|
44254
|
+
get: function () { return chunkTRZLN32I_cjs.isWhisperLoaded; }
|
|
44255
|
+
});
|
|
44256
|
+
Object.defineProperty(exports, "stripStopPhrase", {
|
|
44257
|
+
enumerable: true,
|
|
44258
|
+
get: function () { return chunkTRZLN32I_cjs.stripStopPhrase; }
|
|
44259
|
+
});
|
|
44260
|
+
Object.defineProperty(exports, "subscribeDictationLoad", {
|
|
44261
|
+
enumerable: true,
|
|
44262
|
+
get: function () { return chunkTRZLN32I_cjs.subscribeDictationLoad; }
|
|
44263
|
+
});
|
|
44264
|
+
Object.defineProperty(exports, "toOzwellMessages", {
|
|
44265
|
+
enumerable: true,
|
|
44266
|
+
get: function () { return chunkTRZLN32I_cjs.toOzwellMessages; }
|
|
44267
|
+
});
|
|
44268
|
+
Object.defineProperty(exports, "transcribeBlob", {
|
|
44269
|
+
enumerable: true,
|
|
44270
|
+
get: function () { return chunkTRZLN32I_cjs.transcribeBlob; }
|
|
44271
|
+
});
|
|
44272
|
+
Object.defineProperty(exports, "transcribeGate", {
|
|
44273
|
+
enumerable: true,
|
|
44274
|
+
get: function () { return chunkTRZLN32I_cjs.transcribeGate; }
|
|
44275
|
+
});
|
|
44276
|
+
Object.defineProperty(exports, "transcribeSamples", {
|
|
44277
|
+
enumerable: true,
|
|
44278
|
+
get: function () { return chunkTRZLN32I_cjs.transcribeSamples; }
|
|
44279
|
+
});
|
|
44280
|
+
Object.defineProperty(exports, "transcribeSegments", {
|
|
44281
|
+
enumerable: true,
|
|
44282
|
+
get: function () { return chunkTRZLN32I_cjs.transcribeSegments; }
|
|
44283
|
+
});
|
|
44284
|
+
Object.defineProperty(exports, "transcribeServer", {
|
|
44285
|
+
enumerable: true,
|
|
44286
|
+
get: function () { return chunkTRZLN32I_cjs.transcribeServer; }
|
|
44287
|
+
});
|
|
44288
|
+
Object.defineProperty(exports, "trimTrailingStopPhrase", {
|
|
44289
|
+
enumerable: true,
|
|
44290
|
+
get: function () { return chunkTRZLN32I_cjs.trimTrailingStopPhrase; }
|
|
44291
|
+
});
|
|
44292
|
+
Object.defineProperty(exports, "warmStopGate", {
|
|
44293
|
+
enumerable: true,
|
|
44294
|
+
get: function () { return chunkTRZLN32I_cjs.warmStopGate; }
|
|
44295
|
+
});
|
|
44296
|
+
Object.defineProperty(exports, "warmWhisper", {
|
|
44297
|
+
enumerable: true,
|
|
44298
|
+
get: function () { return chunkTRZLN32I_cjs.warmWhisper; }
|
|
44299
|
+
});
|
|
44831
44300
|
Object.defineProperty(exports, "clearVoiceprints", {
|
|
44832
44301
|
enumerable: true,
|
|
44833
44302
|
get: function () { return chunkOGNADPM4_cjs.clearVoiceprints; }
|
|
@@ -44852,6 +44321,22 @@ Object.defineProperty(exports, "setVoiceprints", {
|
|
|
44852
44321
|
enumerable: true,
|
|
44853
44322
|
get: function () { return chunkOGNADPM4_cjs.setVoiceprints; }
|
|
44854
44323
|
});
|
|
44324
|
+
Object.defineProperty(exports, "Rating", {
|
|
44325
|
+
enumerable: true,
|
|
44326
|
+
get: function () { return chunkXNPDZANN_cjs.Rating; }
|
|
44327
|
+
});
|
|
44328
|
+
Object.defineProperty(exports, "ReviewCard", {
|
|
44329
|
+
enumerable: true,
|
|
44330
|
+
get: function () { return chunkXNPDZANN_cjs.ReviewCard; }
|
|
44331
|
+
});
|
|
44332
|
+
Object.defineProperty(exports, "defaultRatingLabels", {
|
|
44333
|
+
enumerable: true,
|
|
44334
|
+
get: function () { return chunkXNPDZANN_cjs.defaultRatingLabels; }
|
|
44335
|
+
});
|
|
44336
|
+
Object.defineProperty(exports, "defaultReviewCardLabels", {
|
|
44337
|
+
enumerable: true,
|
|
44338
|
+
get: function () { return chunkXNPDZANN_cjs.defaultReviewCardLabels; }
|
|
44339
|
+
});
|
|
44855
44340
|
Object.defineProperty(exports, "RecordHeader", {
|
|
44856
44341
|
enumerable: true,
|
|
44857
44342
|
get: function () { return chunkIEZXJWHJ_cjs.RecordHeader; }
|
|
@@ -44886,7 +44371,11 @@ Object.defineProperty(exports, "defaultUserPickerLabels", {
|
|
|
44886
44371
|
});
|
|
44887
44372
|
Object.defineProperty(exports, "brands", {
|
|
44888
44373
|
enumerable: true,
|
|
44889
|
-
get: function () { return
|
|
44374
|
+
get: function () { return chunkAWSSWNJY_cjs.brands; }
|
|
44375
|
+
});
|
|
44376
|
+
Object.defineProperty(exports, "defaultBrand", {
|
|
44377
|
+
enumerable: true,
|
|
44378
|
+
get: function () { return chunkX7S76WB7_cjs.defaultBrand; }
|
|
44890
44379
|
});
|
|
44891
44380
|
Object.defineProperty(exports, "enterpriseHealthBrand", {
|
|
44892
44381
|
enumerable: true,
|
|
@@ -44904,13 +44393,13 @@ Object.defineProperty(exports, "webchartBrand", {
|
|
|
44904
44393
|
enumerable: true,
|
|
44905
44394
|
get: function () { return chunkU7VQUOLS_cjs.webchartBrand; }
|
|
44906
44395
|
});
|
|
44907
|
-
Object.defineProperty(exports, "
|
|
44396
|
+
Object.defineProperty(exports, "ccmeBrand", {
|
|
44908
44397
|
enumerable: true,
|
|
44909
|
-
get: function () { return
|
|
44398
|
+
get: function () { return chunkUCGUA3QV_cjs.ccmeBrand; }
|
|
44910
44399
|
});
|
|
44911
|
-
Object.defineProperty(exports, "
|
|
44400
|
+
Object.defineProperty(exports, "ozwellBrand", {
|
|
44912
44401
|
enumerable: true,
|
|
44913
|
-
get: function () { return
|
|
44402
|
+
get: function () { return chunkRR2MJBGV_cjs.ozwellBrand; }
|
|
44914
44403
|
});
|
|
44915
44404
|
Object.defineProperty(exports, "createBrandPreset", {
|
|
44916
44405
|
enumerable: true,
|
|
@@ -44928,10 +44417,6 @@ Object.defineProperty(exports, "bluehiveBrand", {
|
|
|
44928
44417
|
enumerable: true,
|
|
44929
44418
|
get: function () { return chunk3ZWCIPFT_cjs.bluehiveBrand; }
|
|
44930
44419
|
});
|
|
44931
|
-
Object.defineProperty(exports, "ccmeBrand", {
|
|
44932
|
-
enumerable: true,
|
|
44933
|
-
get: function () { return chunkUCGUA3QV_cjs.ccmeBrand; }
|
|
44934
|
-
});
|
|
44935
44420
|
Object.defineProperty(exports, "CalendarHeatmap", {
|
|
44936
44421
|
enumerable: true,
|
|
44937
44422
|
get: function () { return chunkA4W5CSK7_cjs.CalendarHeatmap; }
|
|
@@ -44992,21 +44477,9 @@ Object.defineProperty(exports, "defaultInlineEditLabels", {
|
|
|
44992
44477
|
enumerable: true,
|
|
44993
44478
|
get: function () { return chunk4ZB7RSMY_cjs.defaultInlineEditLabels; }
|
|
44994
44479
|
});
|
|
44995
|
-
Object.defineProperty(exports, "
|
|
44996
|
-
enumerable: true,
|
|
44997
|
-
get: function () { return chunkXNPDZANN_cjs.Rating; }
|
|
44998
|
-
});
|
|
44999
|
-
Object.defineProperty(exports, "ReviewCard", {
|
|
45000
|
-
enumerable: true,
|
|
45001
|
-
get: function () { return chunkXNPDZANN_cjs.ReviewCard; }
|
|
45002
|
-
});
|
|
45003
|
-
Object.defineProperty(exports, "defaultRatingLabels", {
|
|
45004
|
-
enumerable: true,
|
|
45005
|
-
get: function () { return chunkXNPDZANN_cjs.defaultRatingLabels; }
|
|
45006
|
-
});
|
|
45007
|
-
Object.defineProperty(exports, "defaultReviewCardLabels", {
|
|
44480
|
+
Object.defineProperty(exports, "ViewSet", {
|
|
45008
44481
|
enumerable: true,
|
|
45009
|
-
get: function () { return
|
|
44482
|
+
get: function () { return chunkGYXSF6BJ_cjs.ViewSet; }
|
|
45010
44483
|
});
|
|
45011
44484
|
Object.defineProperty(exports, "TranscriptView", {
|
|
45012
44485
|
enumerable: true,
|
|
@@ -45068,6 +44541,38 @@ Object.defineProperty(exports, "defaultAssociationListLabels", {
|
|
|
45068
44541
|
enumerable: true,
|
|
45069
44542
|
get: function () { return chunkCLQW724U_cjs.defaultAssociationListLabels; }
|
|
45070
44543
|
});
|
|
44544
|
+
Object.defineProperty(exports, "Table", {
|
|
44545
|
+
enumerable: true,
|
|
44546
|
+
get: function () { return chunk3AD4HFYI_cjs.Table; }
|
|
44547
|
+
});
|
|
44548
|
+
Object.defineProperty(exports, "TableBody", {
|
|
44549
|
+
enumerable: true,
|
|
44550
|
+
get: function () { return chunk3AD4HFYI_cjs.TableBody; }
|
|
44551
|
+
});
|
|
44552
|
+
Object.defineProperty(exports, "TableCaption", {
|
|
44553
|
+
enumerable: true,
|
|
44554
|
+
get: function () { return chunk3AD4HFYI_cjs.TableCaption; }
|
|
44555
|
+
});
|
|
44556
|
+
Object.defineProperty(exports, "TableCell", {
|
|
44557
|
+
enumerable: true,
|
|
44558
|
+
get: function () { return chunk3AD4HFYI_cjs.TableCell; }
|
|
44559
|
+
});
|
|
44560
|
+
Object.defineProperty(exports, "TableFooter", {
|
|
44561
|
+
enumerable: true,
|
|
44562
|
+
get: function () { return chunk3AD4HFYI_cjs.TableFooter; }
|
|
44563
|
+
});
|
|
44564
|
+
Object.defineProperty(exports, "TableHead", {
|
|
44565
|
+
enumerable: true,
|
|
44566
|
+
get: function () { return chunk3AD4HFYI_cjs.TableHead; }
|
|
44567
|
+
});
|
|
44568
|
+
Object.defineProperty(exports, "TableHeader", {
|
|
44569
|
+
enumerable: true,
|
|
44570
|
+
get: function () { return chunk3AD4HFYI_cjs.TableHeader; }
|
|
44571
|
+
});
|
|
44572
|
+
Object.defineProperty(exports, "TableRow", {
|
|
44573
|
+
enumerable: true,
|
|
44574
|
+
get: function () { return chunk3AD4HFYI_cjs.TableRow; }
|
|
44575
|
+
});
|
|
45071
44576
|
Object.defineProperty(exports, "SmallMuted", {
|
|
45072
44577
|
enumerable: true,
|
|
45073
44578
|
get: function () { return chunk3IAA3KCE_cjs.SmallMuted; }
|
|
@@ -45112,10 +44617,6 @@ Object.defineProperty(exports, "toggleVariants", {
|
|
|
45112
44617
|
enumerable: true,
|
|
45113
44618
|
get: function () { return chunkVTKXM7IE_cjs.toggleVariants; }
|
|
45114
44619
|
});
|
|
45115
|
-
Object.defineProperty(exports, "ViewSet", {
|
|
45116
|
-
enumerable: true,
|
|
45117
|
-
get: function () { return chunkGYXSF6BJ_cjs.ViewSet; }
|
|
45118
|
-
});
|
|
45119
44620
|
Object.defineProperty(exports, "ViewSwitcher", {
|
|
45120
44621
|
enumerable: true,
|
|
45121
44622
|
get: function () { return chunkXPWFIDZM_cjs.ViewSwitcher; }
|
|
@@ -45124,6 +44625,26 @@ Object.defineProperty(exports, "viewSwitcherVariants", {
|
|
|
45124
44625
|
enumerable: true,
|
|
45125
44626
|
get: function () { return chunkXPWFIDZM_cjs.viewSwitcherVariants; }
|
|
45126
44627
|
});
|
|
44628
|
+
Object.defineProperty(exports, "Skeleton", {
|
|
44629
|
+
enumerable: true,
|
|
44630
|
+
get: function () { return chunkYGA35Z2P_cjs.Skeleton; }
|
|
44631
|
+
});
|
|
44632
|
+
Object.defineProperty(exports, "SkeletonCard", {
|
|
44633
|
+
enumerable: true,
|
|
44634
|
+
get: function () { return chunkYGA35Z2P_cjs.SkeletonCard; }
|
|
44635
|
+
});
|
|
44636
|
+
Object.defineProperty(exports, "SkeletonTable", {
|
|
44637
|
+
enumerable: true,
|
|
44638
|
+
get: function () { return chunkYGA35Z2P_cjs.SkeletonTable; }
|
|
44639
|
+
});
|
|
44640
|
+
Object.defineProperty(exports, "SkeletonText", {
|
|
44641
|
+
enumerable: true,
|
|
44642
|
+
get: function () { return chunkYGA35Z2P_cjs.SkeletonText; }
|
|
44643
|
+
});
|
|
44644
|
+
Object.defineProperty(exports, "skeletonVariants", {
|
|
44645
|
+
enumerable: true,
|
|
44646
|
+
get: function () { return chunkYGA35Z2P_cjs.skeletonVariants; }
|
|
44647
|
+
});
|
|
45127
44648
|
Object.defineProperty(exports, "SourceTip", {
|
|
45128
44649
|
enumerable: true,
|
|
45129
44650
|
get: function () { return chunkAHHFFXJR_cjs.SourceTip; }
|
|
@@ -45202,191 +44723,159 @@ Object.defineProperty(exports, "getToolIcon", {
|
|
|
45202
44723
|
});
|
|
45203
44724
|
Object.defineProperty(exports, "AttachmentPreview", {
|
|
45204
44725
|
enumerable: true,
|
|
45205
|
-
get: function () { return
|
|
44726
|
+
get: function () { return chunkQ6QLGCL7_cjs.AttachmentPreview; }
|
|
45206
44727
|
});
|
|
45207
44728
|
Object.defineProperty(exports, "ConversationHeader", {
|
|
45208
44729
|
enumerable: true,
|
|
45209
|
-
get: function () { return
|
|
44730
|
+
get: function () { return chunkQ6QLGCL7_cjs.ConversationHeader; }
|
|
45210
44731
|
});
|
|
45211
44732
|
Object.defineProperty(exports, "ConversationListItem", {
|
|
45212
44733
|
enumerable: true,
|
|
45213
|
-
get: function () { return
|
|
44734
|
+
get: function () { return chunkQ6QLGCL7_cjs.ConversationListItem; }
|
|
45214
44735
|
});
|
|
45215
44736
|
Object.defineProperty(exports, "ConversationListSkeleton", {
|
|
45216
44737
|
enumerable: true,
|
|
45217
|
-
get: function () { return
|
|
44738
|
+
get: function () { return chunkQ6QLGCL7_cjs.ConversationListSkeleton; }
|
|
45218
44739
|
});
|
|
45219
44740
|
Object.defineProperty(exports, "DateSeparator", {
|
|
45220
44741
|
enumerable: true,
|
|
45221
|
-
get: function () { return
|
|
44742
|
+
get: function () { return chunkQ6QLGCL7_cjs.DateSeparator; }
|
|
45222
44743
|
});
|
|
45223
44744
|
Object.defineProperty(exports, "EmptyState", {
|
|
45224
44745
|
enumerable: true,
|
|
45225
|
-
get: function () { return
|
|
44746
|
+
get: function () { return chunkQ6QLGCL7_cjs.EmptyState; }
|
|
45226
44747
|
});
|
|
45227
44748
|
Object.defineProperty(exports, "LightboxModal", {
|
|
45228
44749
|
enumerable: true,
|
|
45229
|
-
get: function () { return
|
|
44750
|
+
get: function () { return chunkQ6QLGCL7_cjs.LightboxModal; }
|
|
45230
44751
|
});
|
|
45231
44752
|
Object.defineProperty(exports, "LoadMoreButton", {
|
|
45232
44753
|
enumerable: true,
|
|
45233
|
-
get: function () { return
|
|
44754
|
+
get: function () { return chunkQ6QLGCL7_cjs.LoadMoreButton; }
|
|
45234
44755
|
});
|
|
45235
44756
|
Object.defineProperty(exports, "MessageBubble", {
|
|
45236
44757
|
enumerable: true,
|
|
45237
|
-
get: function () { return
|
|
44758
|
+
get: function () { return chunkQ6QLGCL7_cjs.MessageBubble; }
|
|
45238
44759
|
});
|
|
45239
44760
|
Object.defineProperty(exports, "MessageList", {
|
|
45240
44761
|
enumerable: true,
|
|
45241
|
-
get: function () { return
|
|
44762
|
+
get: function () { return chunkQ6QLGCL7_cjs.MessageList; }
|
|
45242
44763
|
});
|
|
45243
44764
|
Object.defineProperty(exports, "MessageStatusIcon", {
|
|
45244
44765
|
enumerable: true,
|
|
45245
|
-
get: function () { return
|
|
44766
|
+
get: function () { return chunkQ6QLGCL7_cjs.MessageStatusIcon; }
|
|
45246
44767
|
});
|
|
45247
44768
|
Object.defineProperty(exports, "MessageThread", {
|
|
45248
44769
|
enumerable: true,
|
|
45249
|
-
get: function () { return
|
|
44770
|
+
get: function () { return chunkQ6QLGCL7_cjs.MessageThread; }
|
|
45250
44771
|
});
|
|
45251
44772
|
Object.defineProperty(exports, "MessagingSplitView", {
|
|
45252
44773
|
enumerable: true,
|
|
45253
|
-
get: function () { return
|
|
44774
|
+
get: function () { return chunkQ6QLGCL7_cjs.MessagingSplitView; }
|
|
45254
44775
|
});
|
|
45255
44776
|
Object.defineProperty(exports, "ReadReceiptIndicator", {
|
|
45256
44777
|
enumerable: true,
|
|
45257
|
-
get: function () { return
|
|
44778
|
+
get: function () { return chunkQ6QLGCL7_cjs.ReadReceiptIndicator; }
|
|
45258
44779
|
});
|
|
45259
44780
|
Object.defineProperty(exports, "SkeletonMessage", {
|
|
45260
44781
|
enumerable: true,
|
|
45261
|
-
get: function () { return
|
|
44782
|
+
get: function () { return chunkQ6QLGCL7_cjs.SkeletonMessage; }
|
|
45262
44783
|
});
|
|
45263
44784
|
Object.defineProperty(exports, "TypingIndicator", {
|
|
45264
44785
|
enumerable: true,
|
|
45265
|
-
get: function () { return
|
|
44786
|
+
get: function () { return chunkQ6QLGCL7_cjs.TypingIndicator; }
|
|
45266
44787
|
});
|
|
45267
44788
|
Object.defineProperty(exports, "bubbleVariants", {
|
|
45268
44789
|
enumerable: true,
|
|
45269
|
-
get: function () { return
|
|
44790
|
+
get: function () { return chunkQ6QLGCL7_cjs.bubbleVariants; }
|
|
45270
44791
|
});
|
|
45271
44792
|
Object.defineProperty(exports, "formatDateLabel", {
|
|
45272
44793
|
enumerable: true,
|
|
45273
|
-
get: function () { return
|
|
44794
|
+
get: function () { return chunkQ6QLGCL7_cjs.formatDateLabel; }
|
|
45274
44795
|
});
|
|
45275
44796
|
Object.defineProperty(exports, "formatFileSize", {
|
|
45276
44797
|
enumerable: true,
|
|
45277
|
-
get: function () { return
|
|
44798
|
+
get: function () { return chunkQ6QLGCL7_cjs.formatFileSize; }
|
|
45278
44799
|
});
|
|
45279
44800
|
Object.defineProperty(exports, "formatLastSeen", {
|
|
45280
44801
|
enumerable: true,
|
|
45281
|
-
get: function () { return
|
|
44802
|
+
get: function () { return chunkQ6QLGCL7_cjs.formatLastSeen; }
|
|
45282
44803
|
});
|
|
45283
44804
|
Object.defineProperty(exports, "getConversationSubtitle", {
|
|
45284
44805
|
enumerable: true,
|
|
45285
|
-
get: function () { return
|
|
44806
|
+
get: function () { return chunkQ6QLGCL7_cjs.getConversationSubtitle; }
|
|
45286
44807
|
});
|
|
45287
44808
|
Object.defineProperty(exports, "getConversationTitle", {
|
|
45288
44809
|
enumerable: true,
|
|
45289
|
-
get: function () { return
|
|
44810
|
+
get: function () { return chunkQ6QLGCL7_cjs.getConversationTitle; }
|
|
45290
44811
|
});
|
|
45291
44812
|
Object.defineProperty(exports, "groupMessagesByDate", {
|
|
45292
44813
|
enumerable: true,
|
|
45293
|
-
get: function () { return
|
|
44814
|
+
get: function () { return chunkQ6QLGCL7_cjs.groupMessagesByDate; }
|
|
45294
44815
|
});
|
|
45295
44816
|
Object.defineProperty(exports, "headerVariants", {
|
|
45296
44817
|
enumerable: true,
|
|
45297
|
-
get: function () { return
|
|
44818
|
+
get: function () { return chunkQ6QLGCL7_cjs.headerVariants; }
|
|
45298
44819
|
});
|
|
45299
44820
|
Object.defineProperty(exports, "isSameSenderGroup", {
|
|
45300
44821
|
enumerable: true,
|
|
45301
|
-
get: function () { return
|
|
44822
|
+
get: function () { return chunkQ6QLGCL7_cjs.isSameSenderGroup; }
|
|
45302
44823
|
});
|
|
45303
44824
|
Object.defineProperty(exports, "useMessageScroll", {
|
|
45304
44825
|
enumerable: true,
|
|
45305
|
-
get: function () { return
|
|
44826
|
+
get: function () { return chunkQ6QLGCL7_cjs.useMessageScroll; }
|
|
45306
44827
|
});
|
|
45307
44828
|
Object.defineProperty(exports, "useMessages", {
|
|
45308
44829
|
enumerable: true,
|
|
45309
|
-
get: function () { return
|
|
44830
|
+
get: function () { return chunkQ6QLGCL7_cjs.useMessages; }
|
|
45310
44831
|
});
|
|
45311
44832
|
Object.defineProperty(exports, "useReadReceipts", {
|
|
45312
44833
|
enumerable: true,
|
|
45313
|
-
get: function () { return
|
|
44834
|
+
get: function () { return chunkQ6QLGCL7_cjs.useReadReceipts; }
|
|
45314
44835
|
});
|
|
45315
44836
|
Object.defineProperty(exports, "useTypingEmulation", {
|
|
45316
44837
|
enumerable: true,
|
|
45317
|
-
get: function () { return
|
|
44838
|
+
get: function () { return chunkQ6QLGCL7_cjs.useTypingEmulation; }
|
|
45318
44839
|
});
|
|
45319
44840
|
Object.defineProperty(exports, "useTypingIndicator", {
|
|
45320
44841
|
enumerable: true,
|
|
45321
|
-
get: function () { return
|
|
44842
|
+
get: function () { return chunkQ6QLGCL7_cjs.useTypingIndicator; }
|
|
45322
44843
|
});
|
|
45323
44844
|
Object.defineProperty(exports, "AttachmentPicker", {
|
|
45324
44845
|
enumerable: true,
|
|
45325
|
-
get: function () { return
|
|
44846
|
+
get: function () { return chunk2GBVJHWN_cjs.AttachmentPicker; }
|
|
45326
44847
|
});
|
|
45327
44848
|
Object.defineProperty(exports, "AttachmentPreviewItem", {
|
|
45328
44849
|
enumerable: true,
|
|
45329
|
-
get: function () { return
|
|
44850
|
+
get: function () { return chunk2GBVJHWN_cjs.AttachmentPreviewItem; }
|
|
45330
44851
|
});
|
|
45331
44852
|
Object.defineProperty(exports, "CameraButton", {
|
|
45332
44853
|
enumerable: true,
|
|
45333
|
-
get: function () { return
|
|
44854
|
+
get: function () { return chunk2GBVJHWN_cjs.CameraButton; }
|
|
45334
44855
|
});
|
|
45335
44856
|
Object.defineProperty(exports, "ChatComposer", {
|
|
45336
44857
|
enumerable: true,
|
|
45337
|
-
get: function () { return
|
|
44858
|
+
get: function () { return chunk2GBVJHWN_cjs.ChatComposer; }
|
|
45338
44859
|
});
|
|
45339
44860
|
Object.defineProperty(exports, "ComposerModelSelector", {
|
|
45340
44861
|
enumerable: true,
|
|
45341
|
-
get: function () { return
|
|
44862
|
+
get: function () { return chunk2GBVJHWN_cjs.ComposerModelSelector; }
|
|
45342
44863
|
});
|
|
45343
44864
|
Object.defineProperty(exports, "DragDropZone", {
|
|
45344
44865
|
enumerable: true,
|
|
45345
|
-
get: function () { return
|
|
44866
|
+
get: function () { return chunk2GBVJHWN_cjs.DragDropZone; }
|
|
45346
44867
|
});
|
|
45347
44868
|
Object.defineProperty(exports, "generateAttachmentId", {
|
|
45348
44869
|
enumerable: true,
|
|
45349
|
-
get: function () { return
|
|
44870
|
+
get: function () { return chunk2GBVJHWN_cjs.generateAttachmentId; }
|
|
45350
44871
|
});
|
|
45351
44872
|
Object.defineProperty(exports, "getFileType", {
|
|
45352
44873
|
enumerable: true,
|
|
45353
|
-
get: function () { return
|
|
44874
|
+
get: function () { return chunk2GBVJHWN_cjs.getFileType; }
|
|
45354
44875
|
});
|
|
45355
44876
|
Object.defineProperty(exports, "validateFile", {
|
|
45356
44877
|
enumerable: true,
|
|
45357
|
-
get: function () { return
|
|
45358
|
-
});
|
|
45359
|
-
Object.defineProperty(exports, "Table", {
|
|
45360
|
-
enumerable: true,
|
|
45361
|
-
get: function () { return chunk3AD4HFYI_cjs.Table; }
|
|
45362
|
-
});
|
|
45363
|
-
Object.defineProperty(exports, "TableBody", {
|
|
45364
|
-
enumerable: true,
|
|
45365
|
-
get: function () { return chunk3AD4HFYI_cjs.TableBody; }
|
|
45366
|
-
});
|
|
45367
|
-
Object.defineProperty(exports, "TableCaption", {
|
|
45368
|
-
enumerable: true,
|
|
45369
|
-
get: function () { return chunk3AD4HFYI_cjs.TableCaption; }
|
|
45370
|
-
});
|
|
45371
|
-
Object.defineProperty(exports, "TableCell", {
|
|
45372
|
-
enumerable: true,
|
|
45373
|
-
get: function () { return chunk3AD4HFYI_cjs.TableCell; }
|
|
45374
|
-
});
|
|
45375
|
-
Object.defineProperty(exports, "TableFooter", {
|
|
45376
|
-
enumerable: true,
|
|
45377
|
-
get: function () { return chunk3AD4HFYI_cjs.TableFooter; }
|
|
45378
|
-
});
|
|
45379
|
-
Object.defineProperty(exports, "TableHead", {
|
|
45380
|
-
enumerable: true,
|
|
45381
|
-
get: function () { return chunk3AD4HFYI_cjs.TableHead; }
|
|
45382
|
-
});
|
|
45383
|
-
Object.defineProperty(exports, "TableHeader", {
|
|
45384
|
-
enumerable: true,
|
|
45385
|
-
get: function () { return chunk3AD4HFYI_cjs.TableHeader; }
|
|
45386
|
-
});
|
|
45387
|
-
Object.defineProperty(exports, "TableRow", {
|
|
45388
|
-
enumerable: true,
|
|
45389
|
-
get: function () { return chunk3AD4HFYI_cjs.TableRow; }
|
|
44878
|
+
get: function () { return chunk2GBVJHWN_cjs.validateFile; }
|
|
45390
44879
|
});
|
|
45391
44880
|
Object.defineProperty(exports, "DateButton", {
|
|
45392
44881
|
enumerable: true,
|
|
@@ -45444,26 +44933,6 @@ Object.defineProperty(exports, "SliderCalculator", {
|
|
|
45444
44933
|
enumerable: true,
|
|
45445
44934
|
get: function () { return chunk2S76TRBJ_cjs.SliderCalculator; }
|
|
45446
44935
|
});
|
|
45447
|
-
Object.defineProperty(exports, "Skeleton", {
|
|
45448
|
-
enumerable: true,
|
|
45449
|
-
get: function () { return chunkYGA35Z2P_cjs.Skeleton; }
|
|
45450
|
-
});
|
|
45451
|
-
Object.defineProperty(exports, "SkeletonCard", {
|
|
45452
|
-
enumerable: true,
|
|
45453
|
-
get: function () { return chunkYGA35Z2P_cjs.SkeletonCard; }
|
|
45454
|
-
});
|
|
45455
|
-
Object.defineProperty(exports, "SkeletonTable", {
|
|
45456
|
-
enumerable: true,
|
|
45457
|
-
get: function () { return chunkYGA35Z2P_cjs.SkeletonTable; }
|
|
45458
|
-
});
|
|
45459
|
-
Object.defineProperty(exports, "SkeletonText", {
|
|
45460
|
-
enumerable: true,
|
|
45461
|
-
get: function () { return chunkYGA35Z2P_cjs.SkeletonText; }
|
|
45462
|
-
});
|
|
45463
|
-
Object.defineProperty(exports, "skeletonVariants", {
|
|
45464
|
-
enumerable: true,
|
|
45465
|
-
get: function () { return chunkYGA35Z2P_cjs.skeletonVariants; }
|
|
45466
|
-
});
|
|
45467
44936
|
Object.defineProperty(exports, "PhoneInput", {
|
|
45468
44937
|
enumerable: true,
|
|
45469
44938
|
get: function () { return chunkMGFRGPWI_cjs.PhoneInput; }
|
|
@@ -45516,17 +44985,29 @@ Object.defineProperty(exports, "ReadingProgressBar", {
|
|
|
45516
44985
|
enumerable: true,
|
|
45517
44986
|
get: function () { return chunk5MXO6PEV_cjs.ReadingProgressBar; }
|
|
45518
44987
|
});
|
|
44988
|
+
Object.defineProperty(exports, "DictationButton", {
|
|
44989
|
+
enumerable: true,
|
|
44990
|
+
get: function () { return chunk3TUULOTW_cjs.DictationButton; }
|
|
44991
|
+
});
|
|
44992
|
+
Object.defineProperty(exports, "defaultDictationLabels", {
|
|
44993
|
+
enumerable: true,
|
|
44994
|
+
get: function () { return chunk3TUULOTW_cjs.defaultDictationLabels; }
|
|
44995
|
+
});
|
|
44996
|
+
Object.defineProperty(exports, "useDictation", {
|
|
44997
|
+
enumerable: true,
|
|
44998
|
+
get: function () { return chunk3TUULOTW_cjs.useDictation; }
|
|
44999
|
+
});
|
|
45519
45000
|
Object.defineProperty(exports, "RecordButton", {
|
|
45520
45001
|
enumerable: true,
|
|
45521
|
-
get: function () { return
|
|
45002
|
+
get: function () { return chunkHIYQ3M5V_cjs.RecordButton; }
|
|
45522
45003
|
});
|
|
45523
45004
|
Object.defineProperty(exports, "formatDuration", {
|
|
45524
45005
|
enumerable: true,
|
|
45525
|
-
get: function () { return
|
|
45006
|
+
get: function () { return chunkHIYQ3M5V_cjs.formatDuration; }
|
|
45526
45007
|
});
|
|
45527
45008
|
Object.defineProperty(exports, "recordButtonVariants", {
|
|
45528
45009
|
enumerable: true,
|
|
45529
|
-
get: function () { return
|
|
45010
|
+
get: function () { return chunkHIYQ3M5V_cjs.recordButtonVariants; }
|
|
45530
45011
|
});
|
|
45531
45012
|
Object.defineProperty(exports, "FillerWordsModal", {
|
|
45532
45013
|
enumerable: true,
|
|
@@ -45658,19 +45139,23 @@ Object.defineProperty(exports, "listViewItemVariants", {
|
|
|
45658
45139
|
});
|
|
45659
45140
|
Object.defineProperty(exports, "CodeBlock", {
|
|
45660
45141
|
enumerable: true,
|
|
45661
|
-
get: function () { return
|
|
45142
|
+
get: function () { return chunkTOJ56HKQ_cjs.CodeBlock; }
|
|
45662
45143
|
});
|
|
45663
45144
|
Object.defineProperty(exports, "MarkdownRenderer", {
|
|
45664
45145
|
enumerable: true,
|
|
45665
|
-
get: function () { return
|
|
45146
|
+
get: function () { return chunkTOJ56HKQ_cjs.MarkdownRenderer; }
|
|
45666
45147
|
});
|
|
45667
45148
|
Object.defineProperty(exports, "highlightCode", {
|
|
45668
45149
|
enumerable: true,
|
|
45669
|
-
get: function () { return
|
|
45150
|
+
get: function () { return chunkTOJ56HKQ_cjs.highlightCode; }
|
|
45670
45151
|
});
|
|
45671
45152
|
Object.defineProperty(exports, "useMarkdown", {
|
|
45672
45153
|
enumerable: true,
|
|
45673
|
-
get: function () { return
|
|
45154
|
+
get: function () { return chunkTOJ56HKQ_cjs.useMarkdown; }
|
|
45155
|
+
});
|
|
45156
|
+
Object.defineProperty(exports, "SurveyBlock", {
|
|
45157
|
+
enumerable: true,
|
|
45158
|
+
get: function () { return chunkIGDO62KR_cjs.SurveyBlock; }
|
|
45674
45159
|
});
|
|
45675
45160
|
Object.defineProperty(exports, "CsvBlock", {
|
|
45676
45161
|
enumerable: true,
|
|
@@ -45684,10 +45169,6 @@ Object.defineProperty(exports, "MermaidBlock", {
|
|
|
45684
45169
|
enumerable: true,
|
|
45685
45170
|
get: function () { return chunk32ZCJOSR_cjs.MermaidBlock; }
|
|
45686
45171
|
});
|
|
45687
|
-
Object.defineProperty(exports, "SurveyBlock", {
|
|
45688
|
-
enumerable: true,
|
|
45689
|
-
get: function () { return chunkIGDO62KR_cjs.SurveyBlock; }
|
|
45690
|
-
});
|
|
45691
45172
|
Object.defineProperty(exports, "FenceBlock", {
|
|
45692
45173
|
enumerable: true,
|
|
45693
45174
|
get: function () { return chunkRIUQP2QS_cjs.FenceBlock; }
|
|
@@ -47646,6 +47127,7 @@ exports.HealthSurveillance = HealthSurveillance;
|
|
|
47646
47127
|
exports.HelpSupportPanel = HelpSupportPanel;
|
|
47647
47128
|
exports.HeroSearchBar = HeroSearchBar;
|
|
47648
47129
|
exports.HeyOzwell = HeyOzwell;
|
|
47130
|
+
exports.HeyOzwellSelector = HeyOzwellSelector;
|
|
47649
47131
|
exports.HeyOzwellToggle = HeyOzwellToggle;
|
|
47650
47132
|
exports.HoursSummary = HoursSummary;
|
|
47651
47133
|
exports.ImagingOrderEditor = ImagingOrderEditor;
|
|
@@ -47796,8 +47278,6 @@ exports.WebChartReportViewer = WebChartReportViewer;
|
|
|
47796
47278
|
exports.WebcamModal = WebcamModal;
|
|
47797
47279
|
exports.WebsiteInput = WebsiteInput;
|
|
47798
47280
|
exports.WebsiteInputGroup = WebsiteInputGroup;
|
|
47799
|
-
exports.askOzwell = askOzwell;
|
|
47800
|
-
exports.askOzwellStream = askOzwellStream;
|
|
47801
47281
|
exports.attributeSegments = attributeSegments;
|
|
47802
47282
|
exports.calculateDateRange = calculateDateRange;
|
|
47803
47283
|
exports.centroid = centroid;
|
|
@@ -47812,28 +47292,23 @@ exports.create24HourSchedule = create24HourSchedule;
|
|
|
47812
47292
|
exports.createDefaultSchedule = createDefaultSchedule;
|
|
47813
47293
|
exports.createWeekdaySchedule = createWeekdaySchedule;
|
|
47814
47294
|
exports.currentAssertion = currentAssertion;
|
|
47815
|
-
exports.decodeTo16kMono = decodeTo16kMono;
|
|
47816
47295
|
exports.defaultCaseManagementHeaderLabels = defaultCaseManagementHeaderLabels;
|
|
47296
|
+
exports.defaultHeyOzwellSelectorLabels = defaultHeyOzwellSelectorLabels;
|
|
47817
47297
|
exports.defaultOrderTabs = defaultOrderTabs;
|
|
47818
47298
|
exports.defaultReconciliationIsEqual = defaultReconciliationIsEqual;
|
|
47819
|
-
exports.endsWithDone = endsWithDone;
|
|
47820
47299
|
exports.formatAddressLines = formatAddressLines;
|
|
47821
47300
|
exports.formatAddressSingleLine = formatAddressSingleLine;
|
|
47822
47301
|
exports.formatCityState = formatCityState;
|
|
47823
47302
|
exports.formatCityStateZip = formatCityStateZip;
|
|
47824
47303
|
exports.generateId = generateId;
|
|
47825
47304
|
exports.getDefaultPresets = getDefaultPresets;
|
|
47826
|
-
exports.getDictationLoad = getDictationLoad;
|
|
47827
47305
|
exports.getExtendedPresets = getExtendedPresets;
|
|
47828
47306
|
exports.getGoogleMapsSearchUrl = getGoogleMapsSearchUrl;
|
|
47829
47307
|
exports.getGoogleMapsUrl = getGoogleMapsUrl;
|
|
47830
|
-
exports.getOzwellConfig = getOzwellConfig;
|
|
47831
47308
|
exports.getWakeWarm = getWakeWarm;
|
|
47832
47309
|
exports.inferSpeakerRoles = inferSpeakerRoles;
|
|
47833
47310
|
exports.isConditionCodetype = isConditionCodetype;
|
|
47834
|
-
exports.isOzwellConfigured = isOzwellConfigured;
|
|
47835
47311
|
exports.isValidUrl = isValidUrl;
|
|
47836
|
-
exports.isWhisperLoaded = isWhisperLoaded;
|
|
47837
47312
|
exports.labelClusters = labelClusters;
|
|
47838
47313
|
exports.medicationToOrder = medicationToOrder;
|
|
47839
47314
|
exports.mergeTurns = mergeTurns;
|
|
@@ -47844,16 +47319,7 @@ exports.orderToMedication = orderToMedication;
|
|
|
47844
47319
|
exports.orderTypeForCodetype = orderTypeForCodetype;
|
|
47845
47320
|
exports.parseTimeInput = parseTimeInput;
|
|
47846
47321
|
exports.reconciliationPanelVariants = panelVariants;
|
|
47847
|
-
exports.stripStopPhrase = stripStopPhrase;
|
|
47848
|
-
exports.subscribeDictationLoad = subscribeDictationLoad;
|
|
47849
47322
|
exports.subscribeWakeWarm = subscribeWakeWarm;
|
|
47850
|
-
exports.toOzwellMessages = toOzwellMessages;
|
|
47851
|
-
exports.transcribeBlob = transcribeBlob;
|
|
47852
|
-
exports.transcribeGate = transcribeGate;
|
|
47853
|
-
exports.transcribeSamples = transcribeSamples;
|
|
47854
|
-
exports.transcribeSegments = transcribeSegments;
|
|
47855
|
-
exports.transcribeServer = transcribeServer;
|
|
47856
|
-
exports.trimTrailingStopPhrase = trimTrailingStopPhrase;
|
|
47857
47323
|
exports.useCamera = useCamera;
|
|
47858
47324
|
exports.useCommandPalette = useCommandPalette;
|
|
47859
47325
|
exports.useConnectionStatus = useConnectionStatus;
|
|
@@ -47870,9 +47336,7 @@ exports.useToast = useToast;
|
|
|
47870
47336
|
exports.useVisitScribe = useVisitScribe;
|
|
47871
47337
|
exports.useVoiceSetup = useVoiceSetup;
|
|
47872
47338
|
exports.useWakeWord = useWakeWord;
|
|
47873
|
-
exports.warmStopGate = warmStopGate;
|
|
47874
47339
|
exports.warmWakeModels = warmWakeModels;
|
|
47875
|
-
exports.warmWhisper = warmWhisper;
|
|
47876
47340
|
exports.widgetVariants = widgetVariants;
|
|
47877
47341
|
//# sourceMappingURL=index.cjs.map
|
|
47878
47342
|
//# sourceMappingURL=index.cjs.map
|