@dxos/plugin-transcription 0.8.2-main.12df754 → 0.8.2-main.30e4dbb
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/lib/browser/{TranscriptContainer-4D4BHE7G.mjs → TranscriptContainer-3LU3XBEB.mjs} +3 -3
- package/dist/lib/browser/app-graph-builder-YXELPN6F.mjs +349 -0
- package/dist/lib/browser/app-graph-builder-YXELPN6F.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DR3NBV6Q.mjs → chunk-GWY2Q2NE.mjs} +105 -78
- package/dist/lib/browser/chunk-GWY2Q2NE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RHHJZQPM.mjs → chunk-HNIKXVCG.mjs} +135 -117
- package/dist/lib/browser/chunk-HNIKXVCG.mjs.map +7 -0
- package/dist/lib/browser/chunk-HRDAILQX.mjs +27 -0
- package/dist/lib/browser/chunk-HRDAILQX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5BE6RTNC.mjs → chunk-LTIQFX4W.mjs} +1 -1
- package/dist/lib/browser/{chunk-5BE6RTNC.mjs.map → chunk-LTIQFX4W.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-5Q3R53U3.mjs → chunk-TGOKX32G.mjs} +21 -31
- package/dist/lib/browser/chunk-TGOKX32G.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +29 -17
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-ZQQEH27F.mjs → intent-resolver-BBB3DWV4.mjs} +4 -4
- package/dist/lib/browser/{intent-resolver-ZQQEH27F.mjs.map → intent-resolver-BBB3DWV4.mjs.map} +2 -2
- package/dist/lib/browser/{meeting-transcription-state-5D52VTHU.mjs → meeting-transcription-state-MNA2XROE.mjs} +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-HETJ5XY6.mjs → react-surface-R277DACJ.mjs} +18 -7
- package/dist/lib/browser/react-surface-R277DACJ.mjs.map +7 -0
- package/dist/lib/browser/settings-I226DZ27.mjs +24 -0
- package/dist/lib/browser/settings-I226DZ27.mjs.map +7 -0
- package/dist/lib/browser/{transcriber-SMRLU2KY.mjs → transcriber-QRSS6X6S.mjs} +4 -4
- package/dist/lib/browser/types/index.mjs +3 -3
- package/dist/lib/node/{TranscriptContainer-ZWP6UKY6.cjs → TranscriptContainer-DICOMZLM.cjs} +8 -8
- package/dist/lib/node/{TranscriptContainer-ZWP6UKY6.cjs.map → TranscriptContainer-DICOMZLM.cjs.map} +2 -2
- package/dist/lib/node/app-graph-builder-I6LYVIYY.cjs +350 -0
- package/dist/lib/node/app-graph-builder-I6LYVIYY.cjs.map +7 -0
- package/dist/lib/node/{chunk-3QEJ5EBO.cjs → chunk-34WFY7M7.cjs} +22 -32
- package/dist/lib/node/chunk-34WFY7M7.cjs.map +7 -0
- package/dist/lib/node/{chunk-KO6MKCED.cjs → chunk-4JOJCZPJ.cjs} +138 -119
- package/dist/lib/node/chunk-4JOJCZPJ.cjs.map +7 -0
- package/dist/lib/node/{chunk-HYGDHS6X.cjs → chunk-JUGOXWES.cjs} +4 -4
- package/dist/lib/node/{chunk-HYGDHS6X.cjs.map → chunk-JUGOXWES.cjs.map} +1 -1
- package/dist/lib/node/{chunk-WXG4Z2EZ.cjs → chunk-K553L7CZ.cjs} +23 -8
- package/dist/lib/node/chunk-K553L7CZ.cjs.map +7 -0
- package/dist/lib/node/{chunk-LA73IHCB.cjs → chunk-RK4BEN5E.cjs} +108 -80
- package/dist/lib/node/chunk-RK4BEN5E.cjs.map +7 -0
- package/dist/lib/node/index.cjs +46 -34
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-VY3XWYAA.cjs → intent-resolver-7XY3WITN.cjs} +8 -8
- package/dist/lib/node/{intent-resolver-VY3XWYAA.cjs.map → intent-resolver-7XY3WITN.cjs.map} +2 -2
- package/dist/lib/node/{meeting-transcription-state-OYWCY5XE.cjs → meeting-transcription-state-5XLTMWPA.cjs} +6 -6
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-M2JQIIDY.cjs → react-surface-HUSWAORU.cjs} +20 -11
- package/dist/lib/node/react-surface-HUSWAORU.cjs.map +7 -0
- package/dist/lib/node/settings-NDMU3EWQ.cjs +38 -0
- package/dist/lib/node/settings-NDMU3EWQ.cjs.map +7 -0
- package/dist/lib/node/{transcriber-E6AAB4SU.cjs → transcriber-UZJMG44C.cjs} +10 -10
- package/dist/lib/node/types/index.cjs +8 -8
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{TranscriptContainer-3HJ752CP.mjs → TranscriptContainer-K4E4P5T6.mjs} +3 -3
- package/dist/lib/node-esm/app-graph-builder-6FY2UQOH.mjs +350 -0
- package/dist/lib/node-esm/app-graph-builder-6FY2UQOH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3I7AC3D3.mjs +28 -0
- package/dist/lib/node-esm/chunk-3I7AC3D3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YXZOLOFT.mjs → chunk-5E2MR5XK.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-YXZOLOFT.mjs.map → chunk-5E2MR5XK.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-SDMGJZLN.mjs → chunk-6C34FO4C.mjs} +135 -117
- package/dist/lib/node-esm/chunk-6C34FO4C.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-K3R3YK3S.mjs → chunk-CKANLRS4.mjs} +105 -78
- package/dist/lib/node-esm/chunk-CKANLRS4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-54HDN33F.mjs → chunk-KUQ3ZTRX.mjs} +21 -31
- package/dist/lib/node-esm/chunk-KUQ3ZTRX.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +29 -17
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-FCTNJPWY.mjs → intent-resolver-ACGAPLDZ.mjs} +4 -4
- package/dist/lib/node-esm/{intent-resolver-FCTNJPWY.mjs.map → intent-resolver-ACGAPLDZ.mjs.map} +2 -2
- package/dist/lib/node-esm/{meeting-transcription-state-XMZJ45P4.mjs → meeting-transcription-state-3WOZ52BQ.mjs} +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-PXFSIM6V.mjs → react-surface-G2OY4MWL.mjs} +18 -7
- package/dist/lib/node-esm/react-surface-G2OY4MWL.mjs.map +7 -0
- package/dist/lib/node-esm/settings-O7X2UQQG.mjs +25 -0
- package/dist/lib/node-esm/settings-O7X2UQQG.mjs.map +7 -0
- package/dist/lib/node-esm/{transcriber-REAGRCPY.mjs → transcriber-NVVFH7IF.mjs} +4 -4
- package/dist/lib/node-esm/types/index.mjs +3 -3
- package/dist/types/src/TranscriptionPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +4 -0
- package/dist/types/src/capabilities/settings.d.ts.map +1 -0
- package/dist/types/src/components/Transcript/Transcript.d.ts +6 -4
- package/dist/types/src/components/Transcript/Transcript.d.ts.map +1 -1
- package/dist/types/src/components/Transcript/Transcript.stories.d.ts +8 -4
- package/dist/types/src/components/Transcript/Transcript.stories.d.ts.map +1 -1
- package/dist/types/src/components/Transcript/deprecated/OldTranscript.d.ts +27 -0
- package/dist/types/src/components/Transcript/deprecated/OldTranscript.d.ts.map +1 -0
- package/dist/types/src/components/Transcript/transcript-extension.d.ts +4 -4
- package/dist/types/src/components/Transcript/transcript-extension.d.ts.map +1 -1
- package/dist/types/src/components/TranscriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/TranscriptionSettings/TranscriptionSettings.d.ts +6 -0
- package/dist/types/src/components/TranscriptionSettings/TranscriptionSettings.d.ts.map +1 -0
- package/dist/types/src/components/TranscriptionSettings/index.d.ts +2 -0
- package/dist/types/src/components/TranscriptionSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/transcription.stories.d.ts +6 -3
- package/dist/types/src/components/transcription.stories.d.ts.map +1 -1
- package/dist/types/src/entity-extraction/entity-extraction.d.ts +33 -7
- package/dist/types/src/entity-extraction/entity-extraction.d.ts.map +1 -1
- package/dist/types/src/hooks/useAudioFile.d.ts.map +1 -1
- package/dist/types/src/hooks/useAudioTrack.d.ts.map +1 -1
- package/dist/types/src/hooks/useQueueModelAdapter.d.ts +2 -2
- package/dist/types/src/hooks/useQueueModelAdapter.d.ts.map +1 -1
- package/dist/types/src/hooks/useTranscriber.d.ts.map +1 -1
- package/dist/types/src/hooks/useVoiceInput.d.ts.map +1 -1
- package/dist/types/src/model/model.d.ts +23 -23
- package/dist/types/src/model/model.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/testing.d.ts +40 -0
- package/dist/types/src/testing/testing.d.ts.map +1 -0
- package/dist/types/src/transcriber/transcriber.d.ts +2 -2
- package/dist/types/src/transcriber/transcriber.d.ts.map +1 -1
- package/dist/types/src/transcriber/transcription-manager.d.ts +17 -15
- package/dist/types/src/transcriber/transcription-manager.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +3 -18
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +26 -40
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +11 -7
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util/array.d.ts.map +1 -1
- package/dist/types/src/util/get-time-str.d.ts.map +1 -1
- package/dist/types/src/util/monitor-audio-level.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +51 -46
- package/src/TranscriptionPlugin.tsx +29 -12
- package/src/capabilities/app-graph-builder.ts +99 -29
- package/src/capabilities/capabilities.ts +1 -1
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +2 -2
- package/src/capabilities/react-surface.tsx +12 -4
- package/src/capabilities/settings.ts +20 -0
- package/src/components/Transcript/Transcript.stories.tsx +72 -36
- package/src/components/Transcript/Transcript.tsx +37 -30
- package/src/components/Transcript/deprecated/{Transcript.tsx → OldTranscript.tsx} +30 -1
- package/src/components/Transcript/transcript-extension.ts +20 -17
- package/src/components/TranscriptContainer.tsx +6 -4
- package/src/components/TranscriptionSettings/TranscriptionSettings.tsx +26 -0
- package/src/components/TranscriptionSettings/index.ts +5 -0
- package/src/components/index.ts +1 -0
- package/src/components/transcription.stories.tsx +84 -34
- package/src/entity-extraction/entity-extraction.test.ts +75 -10
- package/src/entity-extraction/entity-extraction.ts +110 -55
- package/src/entity-extraction/system-prompt.tpl +38 -9
- package/src/hooks/useQueueModelAdapter.ts +44 -11
- package/src/model/model.test.ts +90 -44
- package/src/model/model.ts +59 -59
- package/src/testing/index.ts +5 -0
- package/src/testing/testing.ts +221 -0
- package/src/transcriber/transcriber.browser.test.ts +3 -3
- package/src/transcriber/transcriber.ts +19 -10
- package/src/transcriber/transcription-manager.ts +66 -57
- package/src/translations.ts +2 -0
- package/src/types/schema.ts +10 -31
- package/src/types/types.ts +17 -7
- package/dist/lib/browser/app-graph-builder-I4SSIQMW.mjs +0 -168
- package/dist/lib/browser/app-graph-builder-I4SSIQMW.mjs.map +0 -7
- package/dist/lib/browser/chunk-5Q3R53U3.mjs.map +0 -7
- package/dist/lib/browser/chunk-DR3NBV6Q.mjs.map +0 -7
- package/dist/lib/browser/chunk-GI5LZ4SV.mjs +0 -8
- package/dist/lib/browser/chunk-GI5LZ4SV.mjs.map +0 -7
- package/dist/lib/browser/chunk-RHHJZQPM.mjs.map +0 -7
- package/dist/lib/browser/react-surface-HETJ5XY6.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-WWC4WNTG.cjs +0 -177
- package/dist/lib/node/app-graph-builder-WWC4WNTG.cjs.map +0 -7
- package/dist/lib/node/chunk-3QEJ5EBO.cjs.map +0 -7
- package/dist/lib/node/chunk-KO6MKCED.cjs.map +0 -7
- package/dist/lib/node/chunk-LA73IHCB.cjs.map +0 -7
- package/dist/lib/node/chunk-WXG4Z2EZ.cjs.map +0 -7
- package/dist/lib/node/react-surface-M2JQIIDY.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-PPJQAFSI.mjs +0 -169
- package/dist/lib/node-esm/app-graph-builder-PPJQAFSI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-54HDN33F.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K3R3YK3S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SDMGJZLN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XY22OP6H.mjs +0 -10
- package/dist/lib/node-esm/chunk-XY22OP6H.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-PXFSIM6V.mjs.map +0 -7
- package/dist/types/src/components/Transcript/deprecated/Transcript.d.ts +0 -13
- package/dist/types/src/components/Transcript/deprecated/Transcript.d.ts.map +0 -1
- package/dist/types/src/components/Transcript/testings.d.ts +0 -51
- package/dist/types/src/components/Transcript/testings.d.ts.map +0 -1
- package/dist/types/src/testing/test-data.d.ts +0 -73
- package/dist/types/src/testing/test-data.d.ts.map +0 -1
- package/src/components/Transcript/testings.ts +0 -182
- package/src/testing/test-data.ts +0 -314
- /package/dist/lib/browser/{TranscriptContainer-4D4BHE7G.mjs.map → TranscriptContainer-3LU3XBEB.mjs.map} +0 -0
- /package/dist/lib/browser/{meeting-transcription-state-5D52VTHU.mjs.map → meeting-transcription-state-MNA2XROE.mjs.map} +0 -0
- /package/dist/lib/browser/{transcriber-SMRLU2KY.mjs.map → transcriber-QRSS6X6S.mjs.map} +0 -0
- /package/dist/lib/node/{meeting-transcription-state-OYWCY5XE.cjs.map → meeting-transcription-state-5XLTMWPA.cjs.map} +0 -0
- /package/dist/lib/node/{transcriber-E6AAB4SU.cjs.map → transcriber-UZJMG44C.cjs.map} +0 -0
- /package/dist/lib/node-esm/{TranscriptContainer-3HJ752CP.mjs.map → TranscriptContainer-K4E4P5T6.mjs.map} +0 -0
- /package/dist/lib/node-esm/{meeting-transcription-state-XMZJ45P4.mjs.map → meeting-transcription-state-3WOZ52BQ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{transcriber-REAGRCPY.mjs.map → transcriber-NVVFH7IF.mjs.map} +0 -0
|
@@ -26,12 +26,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_4JOJCZPJ_exports = {};
|
|
30
|
+
__export(chunk_4JOJCZPJ_exports, {
|
|
31
31
|
AppGraphBuilder: () => AppGraphBuilder,
|
|
32
32
|
IntentResolver: () => IntentResolver,
|
|
33
33
|
MeetingTranscriptionState: () => MeetingTranscriptionState,
|
|
34
34
|
ReactSurface: () => ReactSurface,
|
|
35
|
+
Settings: () => Settings,
|
|
35
36
|
Transcriber: () => Transcriber,
|
|
36
37
|
Transcript: () => Transcript,
|
|
37
38
|
TranscriptContainer_default: () => TranscriptContainer_default,
|
|
@@ -43,16 +44,13 @@ __export(chunk_KO6MKCED_exports, {
|
|
|
43
44
|
useTranscriber: () => useTranscriber,
|
|
44
45
|
useVoiceInput: () => useVoiceInput
|
|
45
46
|
});
|
|
46
|
-
module.exports = __toCommonJS(
|
|
47
|
-
var
|
|
47
|
+
module.exports = __toCommonJS(chunk_4JOJCZPJ_exports);
|
|
48
|
+
var import_chunk_JUGOXWES = require("./chunk-JUGOXWES.cjs");
|
|
48
49
|
var import_react = __toESM(require("react"));
|
|
49
50
|
var import_echo = require("@dxos/client/echo");
|
|
50
51
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
51
52
|
var import_react_ui_stack = require("@dxos/react-ui-stack");
|
|
52
53
|
var import_react2 = __toESM(require("react"));
|
|
53
|
-
var import_keys = require("@dxos/keys");
|
|
54
|
-
var import_log = require("@dxos/log");
|
|
55
|
-
var import_react_client = require("@dxos/react-client");
|
|
56
54
|
var import_react_ui = require("@dxos/react-ui");
|
|
57
55
|
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
58
56
|
var import_react_ui_theme = require("@dxos/react-ui-theme");
|
|
@@ -65,9 +63,9 @@ var import_async = require("@dxos/async");
|
|
|
65
63
|
var import_state2 = require("@codemirror/state");
|
|
66
64
|
var import_async2 = require("@dxos/async");
|
|
67
65
|
var import_invariant = require("@dxos/invariant");
|
|
68
|
-
var
|
|
66
|
+
var import_log = require("@dxos/log");
|
|
69
67
|
var import_react3 = require("react");
|
|
70
|
-
var
|
|
68
|
+
var import_log2 = require("@dxos/log");
|
|
71
69
|
var import_react4 = require("react");
|
|
72
70
|
var import_react5 = require("react");
|
|
73
71
|
var import_react6 = require("react");
|
|
@@ -76,7 +74,7 @@ var import_app_framework2 = require("@dxos/app-framework");
|
|
|
76
74
|
var import_react7 = require("react");
|
|
77
75
|
var import_async3 = require("@dxos/async");
|
|
78
76
|
var import_context = require("@dxos/context");
|
|
79
|
-
var
|
|
77
|
+
var import_log3 = require("@dxos/log");
|
|
80
78
|
var import_react_ui_sfx = require("@dxos/react-ui-sfx");
|
|
81
79
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-transcription/src/model/model.ts";
|
|
82
80
|
var DocumentAdapter = class {
|
|
@@ -88,7 +86,7 @@ var DocumentAdapter = class {
|
|
|
88
86
|
return this._view.state.doc.lines - 1;
|
|
89
87
|
}
|
|
90
88
|
replaceLines(from, remove, insert) {
|
|
91
|
-
(0,
|
|
89
|
+
(0, import_log.log)("replaceLines", {
|
|
92
90
|
count: this._view.state.doc.lines,
|
|
93
91
|
from,
|
|
94
92
|
remove,
|
|
@@ -115,59 +113,59 @@ var DocumentAdapter = class {
|
|
|
115
113
|
});
|
|
116
114
|
}
|
|
117
115
|
};
|
|
118
|
-
var
|
|
119
|
-
constructor(_renderer,
|
|
116
|
+
var SerializationModel = class {
|
|
117
|
+
constructor(_renderer, initialChunks = []) {
|
|
120
118
|
this._renderer = _renderer;
|
|
121
|
-
this.
|
|
122
|
-
this.
|
|
123
|
-
this.
|
|
119
|
+
this._chunks = [];
|
|
120
|
+
this._chunkLineCounts = /* @__PURE__ */ new Map();
|
|
121
|
+
this._lineToChunk = /* @__PURE__ */ new Map();
|
|
124
122
|
this._changes = [];
|
|
125
123
|
this.update = new import_async2.Event();
|
|
126
|
-
|
|
127
|
-
this.
|
|
124
|
+
initialChunks.forEach((chunk) => {
|
|
125
|
+
this.appendChunk(chunk);
|
|
128
126
|
});
|
|
129
127
|
}
|
|
130
128
|
toJSON() {
|
|
131
129
|
return {
|
|
132
|
-
|
|
130
|
+
chunks: this._chunks.length,
|
|
133
131
|
changes: this._changes.length
|
|
134
132
|
};
|
|
135
133
|
}
|
|
136
134
|
get doc() {
|
|
137
135
|
return import_state2.Text.of([
|
|
138
|
-
...this.
|
|
136
|
+
...this._chunks.flatMap((chunk, index) => this._renderer(chunk, index)),
|
|
139
137
|
""
|
|
140
138
|
]);
|
|
141
139
|
}
|
|
142
|
-
get
|
|
143
|
-
return this.
|
|
140
|
+
get chunks() {
|
|
141
|
+
return this._chunks;
|
|
144
142
|
}
|
|
145
143
|
/**
|
|
146
144
|
* Get the block ID at the given line number.
|
|
147
145
|
*/
|
|
148
|
-
|
|
149
|
-
return this.
|
|
146
|
+
getChunkAtLine(line) {
|
|
147
|
+
return this._lineToChunk.get(line);
|
|
150
148
|
}
|
|
151
149
|
reset() {
|
|
152
|
-
this.
|
|
153
|
-
this.
|
|
154
|
-
this.
|
|
150
|
+
this._chunks.length = 0;
|
|
151
|
+
this._chunkLineCounts.clear();
|
|
152
|
+
this._lineToChunk.clear();
|
|
155
153
|
this.update.emit();
|
|
156
154
|
return this;
|
|
157
155
|
}
|
|
158
|
-
|
|
159
|
-
const index = this.
|
|
160
|
-
this.
|
|
156
|
+
appendChunk(chunk) {
|
|
157
|
+
const index = this._chunks.length;
|
|
158
|
+
this._chunks.push(chunk);
|
|
161
159
|
this._changes.push({
|
|
162
160
|
type: "append",
|
|
163
161
|
index,
|
|
164
|
-
|
|
162
|
+
chunk
|
|
165
163
|
});
|
|
166
164
|
this.update.emit();
|
|
167
165
|
return this;
|
|
168
166
|
}
|
|
169
|
-
|
|
170
|
-
const index = this.
|
|
167
|
+
updateChunk(chunk) {
|
|
168
|
+
const index = this._chunks.findIndex((c) => c.id === chunk.id);
|
|
171
169
|
(0, import_invariant.invariant)(index !== -1, void 0, {
|
|
172
170
|
F: __dxlog_file,
|
|
173
171
|
L: 147,
|
|
@@ -177,17 +175,17 @@ var BlockModel = class {
|
|
|
177
175
|
""
|
|
178
176
|
]
|
|
179
177
|
});
|
|
180
|
-
this.
|
|
178
|
+
this._chunks[index] = chunk;
|
|
181
179
|
this._changes.push({
|
|
182
180
|
type: "update",
|
|
183
181
|
index,
|
|
184
|
-
|
|
182
|
+
chunk
|
|
185
183
|
});
|
|
186
184
|
this.update.emit();
|
|
187
185
|
return this;
|
|
188
186
|
}
|
|
189
187
|
deleteBlock(id) {
|
|
190
|
-
const index = this.
|
|
188
|
+
const index = this._chunks.findIndex((c) => c.id === id);
|
|
191
189
|
(0, import_invariant.invariant)(index !== -1, void 0, {
|
|
192
190
|
F: __dxlog_file,
|
|
193
191
|
L: 156,
|
|
@@ -197,7 +195,7 @@ var BlockModel = class {
|
|
|
197
195
|
""
|
|
198
196
|
]
|
|
199
197
|
});
|
|
200
|
-
this.
|
|
198
|
+
this._chunks.splice(index, 1);
|
|
201
199
|
this._changes.push({
|
|
202
200
|
type: "delete",
|
|
203
201
|
index,
|
|
@@ -207,10 +205,10 @@ var BlockModel = class {
|
|
|
207
205
|
return this;
|
|
208
206
|
}
|
|
209
207
|
/**
|
|
210
|
-
* Syncs the tracked changes with the
|
|
208
|
+
* Syncs the tracked changes with the ChunkDocument.
|
|
211
209
|
*/
|
|
212
210
|
sync(document2) {
|
|
213
|
-
(0,
|
|
211
|
+
(0, import_log.log)("sync", {
|
|
214
212
|
changes: this._changes
|
|
215
213
|
}, {
|
|
216
214
|
F: __dxlog_file,
|
|
@@ -221,7 +219,7 @@ var BlockModel = class {
|
|
|
221
219
|
for (const change of this._changes) {
|
|
222
220
|
switch (change.type) {
|
|
223
221
|
case "append": {
|
|
224
|
-
const lines = this._renderer(change.
|
|
222
|
+
const lines = this._renderer(change.chunk, change.index);
|
|
225
223
|
const lastLine = document2.lineCount();
|
|
226
224
|
document2.replaceLines(lastLine + 1, 0, lines);
|
|
227
225
|
break;
|
|
@@ -229,36 +227,36 @@ var BlockModel = class {
|
|
|
229
227
|
case "update": {
|
|
230
228
|
let lineStart = 1;
|
|
231
229
|
for (let i = 0; i < change.index; i++) {
|
|
232
|
-
lineStart += this.
|
|
230
|
+
lineStart += this._chunkLineCounts.get(this._chunks[i].id);
|
|
233
231
|
}
|
|
234
|
-
const previousLineCount = this.
|
|
235
|
-
const newLines = this._renderer(change.
|
|
232
|
+
const previousLineCount = this._chunkLineCounts.get(change.chunk.id);
|
|
233
|
+
const newLines = this._renderer(change.chunk, change.index);
|
|
236
234
|
document2.replaceLines(lineStart, previousLineCount, newLines);
|
|
237
235
|
break;
|
|
238
236
|
}
|
|
239
237
|
case "delete": {
|
|
240
238
|
let lineStart = 1;
|
|
241
239
|
for (let i = 0; i < change.index; i++) {
|
|
242
|
-
lineStart += this.
|
|
240
|
+
lineStart += this._chunkLineCounts.get(this._chunks[i].id);
|
|
243
241
|
}
|
|
244
|
-
const previousLineCount = this.
|
|
242
|
+
const previousLineCount = this._chunkLineCounts.get(change.id);
|
|
245
243
|
document2.replaceLines(lineStart, previousLineCount, []);
|
|
246
244
|
break;
|
|
247
245
|
}
|
|
248
246
|
}
|
|
249
247
|
}
|
|
250
|
-
this.
|
|
248
|
+
this._lineToChunk.clear();
|
|
251
249
|
let currentLine = 1;
|
|
252
|
-
for (const
|
|
253
|
-
const lineCount = this._renderer(
|
|
254
|
-
this.
|
|
255
|
-
this.
|
|
250
|
+
for (const [index, chunk] of this._chunks.entries()) {
|
|
251
|
+
const lineCount = this._renderer(chunk, index).length;
|
|
252
|
+
this._chunkLineCounts.set(chunk.id, lineCount);
|
|
253
|
+
this._lineToChunk.set(currentLine, chunk);
|
|
256
254
|
currentLine += lineCount;
|
|
257
255
|
}
|
|
258
|
-
const
|
|
259
|
-
for (const id of this.
|
|
260
|
-
if (!
|
|
261
|
-
this.
|
|
256
|
+
const chunkIds = new Set(this._chunks.map((chunk) => chunk.id));
|
|
257
|
+
for (const id of this._chunkLineCounts.keys()) {
|
|
258
|
+
if (!chunkIds.has(id)) {
|
|
259
|
+
this._chunkLineCounts.delete(id);
|
|
262
260
|
}
|
|
263
261
|
}
|
|
264
262
|
this._changes.length = 0;
|
|
@@ -272,12 +270,13 @@ var transcript = ({ model, started, renderButton }) => {
|
|
|
272
270
|
class: "cm-timestamp-gutter",
|
|
273
271
|
lineMarkerChange: (update) => update.docChanged || update.viewportChanged,
|
|
274
272
|
markers: (view) => {
|
|
275
|
-
const start = getStartTime(started, model.
|
|
273
|
+
const start = getStartTime(started, model.chunks[0]);
|
|
276
274
|
const builder = new import_state.RangeSetBuilder();
|
|
277
275
|
for (const { from, to } of view.visibleRanges) {
|
|
278
276
|
let line = view.state.doc.lineAt(from);
|
|
279
277
|
while (line.from <= to) {
|
|
280
|
-
const
|
|
278
|
+
const block = model.getChunkAtLine(line.number)?.blocks[0];
|
|
279
|
+
const timestamp = block?.type === "transcription" && block.started;
|
|
281
280
|
if (timestamp) {
|
|
282
281
|
builder.add(line.from, line.from, new TimestampMarker(line.number, new Date(timestamp), start));
|
|
283
282
|
}
|
|
@@ -298,11 +297,13 @@ var transcript = ({ model, started, renderButton }) => {
|
|
|
298
297
|
const scroller = view.scrollDOM;
|
|
299
298
|
let isAutoScrolling = false;
|
|
300
299
|
let hasScrolled = false;
|
|
301
|
-
|
|
302
|
-
|
|
300
|
+
let timeout;
|
|
301
|
+
const scrollToBottom = (smooth = false) => {
|
|
302
|
+
scroller.style.scrollBehavior = smooth ? "smooth" : "";
|
|
303
303
|
scroller.classList.add("cm-hide-scrollbar");
|
|
304
304
|
isAutoScrolling = true;
|
|
305
|
-
|
|
305
|
+
clearTimeout(timeout);
|
|
306
|
+
timeout = setTimeout(() => {
|
|
306
307
|
this._controls?.classList.add("opacity-0");
|
|
307
308
|
scroller.classList.remove("cm-hide-scrollbar");
|
|
308
309
|
isAutoScrolling = false;
|
|
@@ -319,7 +320,7 @@ var transcript = ({ model, started, renderButton }) => {
|
|
|
319
320
|
view.dom.appendChild(this._controls);
|
|
320
321
|
renderButton(this._controls, {
|
|
321
322
|
onClick: () => {
|
|
322
|
-
scrollToBottom();
|
|
323
|
+
scrollToBottom(false);
|
|
323
324
|
}
|
|
324
325
|
}, view);
|
|
325
326
|
}
|
|
@@ -332,7 +333,7 @@ var transcript = ({ model, started, renderButton }) => {
|
|
|
332
333
|
const autoScroll = scroller.scrollHeight - scroller.scrollTop - scroller.clientHeight === 0 || !hasScrolled;
|
|
333
334
|
model.sync(this._adapter);
|
|
334
335
|
if (autoScroll) {
|
|
335
|
-
scrollToBottom();
|
|
336
|
+
scrollToBottom(true);
|
|
336
337
|
}
|
|
337
338
|
}));
|
|
338
339
|
}
|
|
@@ -406,37 +407,44 @@ var TimestampMarker = class extends import_view.GutterMarker {
|
|
|
406
407
|
return el;
|
|
407
408
|
}
|
|
408
409
|
};
|
|
409
|
-
var getStartTime = (started,
|
|
410
|
+
var getStartTime = (started, message) => {
|
|
410
411
|
if (started) {
|
|
411
412
|
return started;
|
|
412
413
|
}
|
|
413
|
-
if (
|
|
414
|
-
return new Date(
|
|
414
|
+
if (message?.blocks[0]?.type === "transcription" && message.blocks[0].started) {
|
|
415
|
+
return new Date(message.blocks[0].started);
|
|
415
416
|
}
|
|
416
417
|
return void 0;
|
|
417
418
|
};
|
|
418
419
|
var formatTimestamp = (timestamp, relative) => {
|
|
419
|
-
if (
|
|
420
|
-
return (0, import_format.format)(timestamp, "HH:mm:ss");
|
|
421
|
-
} else {
|
|
420
|
+
if (relative) {
|
|
422
421
|
const pad = (n = 0) => String(n).padStart(2, "0");
|
|
423
422
|
const { hours, minutes, seconds } = (0, import_intervalToDuration.intervalToDuration)({
|
|
424
423
|
start: relative,
|
|
425
424
|
end: timestamp
|
|
426
425
|
});
|
|
427
426
|
return `${pad(hours)}:${pad(minutes)}:${pad(seconds)}`;
|
|
427
|
+
} else {
|
|
428
|
+
return (0, import_format.format)(timestamp, "HH:mm:ss");
|
|
428
429
|
}
|
|
429
430
|
};
|
|
430
|
-
var
|
|
431
|
-
|
|
431
|
+
var renderMarkdown = (identities) => (message, index, debug = false) => {
|
|
432
|
+
if (message.sender.role === "assistant") {
|
|
433
|
+
return [
|
|
434
|
+
message.blocks.find((block) => block.type === "transcription")?.text ?? "",
|
|
435
|
+
""
|
|
436
|
+
];
|
|
437
|
+
}
|
|
438
|
+
const identity = identities.find((identity2) => identity2.did === message.sender.identityDid);
|
|
439
|
+
const name = identity?.profile?.displayName ?? message.sender.contact?.target?.fullName ?? message.sender.name ?? message.sender.email ?? message.sender.identityDid;
|
|
440
|
+
const blocks = message.blocks.filter((block) => block.type === "transcription");
|
|
432
441
|
return [
|
|
433
|
-
`###### ${
|
|
434
|
-
|
|
442
|
+
`###### ${name}` + (debug ? ` [${index}]:${message.id}` : ""),
|
|
443
|
+
blocks.map((block) => block.text.trim()).join(" "),
|
|
435
444
|
""
|
|
436
445
|
];
|
|
437
446
|
};
|
|
438
447
|
var Transcript = ({ classNames, transcript: object, space, model, attendableId, ignoreAttention }) => {
|
|
439
|
-
const client = (0, import_react_client.useClient)();
|
|
440
448
|
const { themeMode } = (0, import_react_ui.useThemeContext)();
|
|
441
449
|
const { parentRef } = (0, import_react_ui_editor.useTextEditor)(() => {
|
|
442
450
|
return {
|
|
@@ -452,28 +460,7 @@ var Transcript = ({ classNames, transcript: object, space, model, attendableId,
|
|
|
452
460
|
themeMode
|
|
453
461
|
}),
|
|
454
462
|
(0, import_react_ui_editor.decorateMarkdown)(),
|
|
455
|
-
space && (0, import_react_ui_editor.preview)(
|
|
456
|
-
onLookup: async ({ label, ref }) => {
|
|
457
|
-
import_log.log.info("onLookup", {
|
|
458
|
-
label,
|
|
459
|
-
ref
|
|
460
|
-
}, {
|
|
461
|
-
F: __dxlog_file2,
|
|
462
|
-
L: 71,
|
|
463
|
-
S: void 0,
|
|
464
|
-
C: (f, a) => f(...a)
|
|
465
|
-
});
|
|
466
|
-
const dxn = import_keys.DXN.parse(ref);
|
|
467
|
-
if (!dxn) {
|
|
468
|
-
return null;
|
|
469
|
-
}
|
|
470
|
-
const object2 = await (0, import_react_client.resolveRef)(client, dxn, space);
|
|
471
|
-
return {
|
|
472
|
-
label,
|
|
473
|
-
object: object2
|
|
474
|
-
};
|
|
475
|
-
}
|
|
476
|
-
}),
|
|
463
|
+
space && (0, import_react_ui_editor.preview)(),
|
|
477
464
|
transcript({
|
|
478
465
|
model,
|
|
479
466
|
started: object?.started ? new Date(object.started) : void 0,
|
|
@@ -492,10 +479,11 @@ var Transcript = ({ classNames, transcript: object, space, model, attendableId,
|
|
|
492
479
|
]);
|
|
493
480
|
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
494
481
|
ref: parentRef,
|
|
495
|
-
className: (0, import_react_ui_theme.mx)("flex grow overflow-hidden", import_react_ui_editor.editorWidth, classNames)
|
|
482
|
+
className: (0, import_react_ui_theme.mx)("flex grow overflow-hidden", import_react_ui_editor.editorWidth, classNames),
|
|
483
|
+
"data-popover-collision-boundary": true
|
|
496
484
|
});
|
|
497
485
|
};
|
|
498
|
-
var
|
|
486
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts";
|
|
499
487
|
var useAudioFile = (audioUrl) => {
|
|
500
488
|
const [{ audio, stream, track }, setStream] = (0, import_react3.useState)({});
|
|
501
489
|
(0, import_react3.useEffect)(() => {
|
|
@@ -506,10 +494,10 @@ var useAudioFile = (audioUrl) => {
|
|
|
506
494
|
audio2.src = URL.createObjectURL(blob);
|
|
507
495
|
await new Promise((resolve, reject) => {
|
|
508
496
|
audio2.addEventListener("error", (err) => {
|
|
509
|
-
|
|
497
|
+
import_log2.log.error("error", {
|
|
510
498
|
err
|
|
511
499
|
}, {
|
|
512
|
-
F:
|
|
500
|
+
F: __dxlog_file2,
|
|
513
501
|
L: 27,
|
|
514
502
|
S: void 0,
|
|
515
503
|
C: (f, a) => f(...a)
|
|
@@ -519,8 +507,8 @@ var useAudioFile = (audioUrl) => {
|
|
|
519
507
|
once: true
|
|
520
508
|
});
|
|
521
509
|
audio2.addEventListener("canplay", () => {
|
|
522
|
-
|
|
523
|
-
F:
|
|
510
|
+
import_log2.log.info("starting...", void 0, {
|
|
511
|
+
F: __dxlog_file2,
|
|
524
512
|
L: 35,
|
|
525
513
|
S: void 0,
|
|
526
514
|
C: (f, a) => f(...a)
|
|
@@ -578,29 +566,58 @@ var useAudioTrack = (active) => {
|
|
|
578
566
|
]);
|
|
579
567
|
return track;
|
|
580
568
|
};
|
|
581
|
-
var useQueueModelAdapter = (renderer, queue,
|
|
582
|
-
const model = (0, import_react5.useMemo)(() => new
|
|
569
|
+
var useQueueModelAdapter = (renderer, queue, initialChunks = []) => {
|
|
570
|
+
const model = (0, import_react5.useMemo)(() => new SerializationModel(renderer, initialChunks), [
|
|
571
|
+
queue
|
|
572
|
+
]);
|
|
573
|
+
const [loaded, setLoaded] = (0, import_react5.useState)(false);
|
|
574
|
+
(0, import_react5.useEffect)(() => {
|
|
575
|
+
if (!queue) {
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
const update = () => {
|
|
579
|
+
for (const block of queue?.items ?? []) {
|
|
580
|
+
model.appendChunk(block);
|
|
581
|
+
}
|
|
582
|
+
setLoaded(true);
|
|
583
|
+
};
|
|
584
|
+
let i;
|
|
585
|
+
if (queue.isLoading) {
|
|
586
|
+
i = setInterval(() => {
|
|
587
|
+
if (!queue?.isLoading) {
|
|
588
|
+
clearInterval(i);
|
|
589
|
+
update();
|
|
590
|
+
}
|
|
591
|
+
}, 1e3);
|
|
592
|
+
} else {
|
|
593
|
+
update();
|
|
594
|
+
}
|
|
595
|
+
return () => clearTimeout(i);
|
|
596
|
+
}, [
|
|
597
|
+
model,
|
|
583
598
|
queue
|
|
584
599
|
]);
|
|
585
600
|
(0, import_react5.useEffect)(() => {
|
|
586
|
-
if (!queue
|
|
601
|
+
if (!loaded || !queue || model.chunks.length === queue.items.length) {
|
|
587
602
|
return;
|
|
588
603
|
}
|
|
589
|
-
const
|
|
590
|
-
model.
|
|
604
|
+
const chunk = queue.items[queue.items.length - 1];
|
|
605
|
+
model.appendChunk(chunk);
|
|
591
606
|
}, [
|
|
592
607
|
model,
|
|
608
|
+
loaded,
|
|
593
609
|
queue?.items.length
|
|
594
610
|
]);
|
|
595
611
|
return model;
|
|
596
612
|
};
|
|
597
|
-
var AppGraphBuilder = (0, import_app_framework2.lazy)(() => import("./app-graph-builder-
|
|
598
|
-
var IntentResolver = (0, import_app_framework2.lazy)(() => import("./intent-resolver-
|
|
599
|
-
var MeetingTranscriptionState = (0, import_app_framework2.lazy)(() => import("./meeting-transcription-state-
|
|
600
|
-
var ReactSurface = (0, import_app_framework2.lazy)(() => import("./react-surface-
|
|
601
|
-
var Transcriber = (0, import_app_framework2.lazy)(() => import("./transcriber-
|
|
613
|
+
var AppGraphBuilder = (0, import_app_framework2.lazy)(() => import("./app-graph-builder-I6LYVIYY.cjs"));
|
|
614
|
+
var IntentResolver = (0, import_app_framework2.lazy)(() => import("./intent-resolver-7XY3WITN.cjs"));
|
|
615
|
+
var MeetingTranscriptionState = (0, import_app_framework2.lazy)(() => import("./meeting-transcription-state-5XLTMWPA.cjs"));
|
|
616
|
+
var ReactSurface = (0, import_app_framework2.lazy)(() => import("./react-surface-HUSWAORU.cjs"));
|
|
617
|
+
var Transcriber = (0, import_app_framework2.lazy)(() => import("./transcriber-UZJMG44C.cjs"));
|
|
618
|
+
var Settings = (0, import_app_framework2.lazy)(() => import("./settings-NDMU3EWQ.cjs"));
|
|
602
619
|
var useTranscriber = ({ audioStreamTrack, onSegments, config }) => {
|
|
603
|
-
const [getTranscriber] = (0, import_app_framework.useCapabilities)(
|
|
620
|
+
const [getTranscriber] = (0, import_app_framework.useCapabilities)(import_chunk_JUGOXWES.TranscriptionCapabilities.Transcriber);
|
|
604
621
|
const transcriber = (0, import_react6.useMemo)(() => {
|
|
605
622
|
if (!onSegments || !audioStreamTrack || !getTranscriber) {
|
|
606
623
|
return void 0;
|
|
@@ -625,7 +642,7 @@ var useTranscriber = ({ audioStreamTrack, onSegments, config }) => {
|
|
|
625
642
|
]);
|
|
626
643
|
return transcriber;
|
|
627
644
|
};
|
|
628
|
-
var
|
|
645
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts";
|
|
629
646
|
var useVoiceInput = ({ active, onUpdate }) => {
|
|
630
647
|
const soundStart = (0, import_react_ui_sfx.useSoundEffect)("StartRecording");
|
|
631
648
|
const soundStop = (0, import_react_ui_sfx.useSoundEffect)("StopRecording");
|
|
@@ -641,14 +658,14 @@ var useVoiceInput = ({ active, onUpdate }) => {
|
|
|
641
658
|
});
|
|
642
659
|
(0, import_react7.useEffect)(() => {
|
|
643
660
|
const ctx = new import_context.Context(void 0, {
|
|
644
|
-
F:
|
|
661
|
+
F: __dxlog_file3,
|
|
645
662
|
L: 43
|
|
646
663
|
});
|
|
647
664
|
(0, import_async3.scheduleMicroTask)(ctx, async () => {
|
|
648
665
|
if (active && transcriber) {
|
|
649
666
|
await transcriber.open();
|
|
650
|
-
|
|
651
|
-
F:
|
|
667
|
+
import_log3.log.info("starting...", void 0, {
|
|
668
|
+
F: __dxlog_file3,
|
|
652
669
|
L: 47,
|
|
653
670
|
S: void 0,
|
|
654
671
|
C: (f, a) => f(...a)
|
|
@@ -659,8 +676,8 @@ var useVoiceInput = ({ active, onUpdate }) => {
|
|
|
659
676
|
} else if (!active && transcriber?.isOpen) {
|
|
660
677
|
transcriber?.stopChunksRecording();
|
|
661
678
|
await transcriber?.close();
|
|
662
|
-
|
|
663
|
-
F:
|
|
679
|
+
import_log3.log.info("stopped", void 0, {
|
|
680
|
+
F: __dxlog_file3,
|
|
664
681
|
L: 54,
|
|
665
682
|
S: void 0,
|
|
666
683
|
C: (f, a) => f(...a)
|
|
@@ -683,10 +700,11 @@ var useVoiceInput = ({ active, onUpdate }) => {
|
|
|
683
700
|
var TranscriptionContainer = ({ role, transcript: transcript2 }) => {
|
|
684
701
|
const attendableId = (0, import_echo.fullyQualifiedId)(transcript2);
|
|
685
702
|
const space = (0, import_echo.getSpace)(transcript2);
|
|
703
|
+
const members = (0, import_echo2.useMembers)(space?.key).map((member) => member.identity);
|
|
686
704
|
const queue = (0, import_echo2.useQueue)(transcript2.queue.dxn, {
|
|
687
705
|
pollInterval: 1e3
|
|
688
706
|
});
|
|
689
|
-
const model = useQueueModelAdapter(renderMarkdown, queue);
|
|
707
|
+
const model = useQueueModelAdapter(renderMarkdown(members), queue);
|
|
690
708
|
return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
|
|
691
709
|
role,
|
|
692
710
|
classNames: "container-max-width pli-2"
|
|
@@ -704,6 +722,7 @@ var TranscriptContainer_default = TranscriptionContainer;
|
|
|
704
722
|
IntentResolver,
|
|
705
723
|
MeetingTranscriptionState,
|
|
706
724
|
ReactSurface,
|
|
725
|
+
Settings,
|
|
707
726
|
Transcriber,
|
|
708
727
|
Transcript,
|
|
709
728
|
TranscriptContainer_default,
|
|
@@ -715,4 +734,4 @@ var TranscriptContainer_default = TranscriptionContainer;
|
|
|
715
734
|
useTranscriber,
|
|
716
735
|
useVoiceInput
|
|
717
736
|
});
|
|
718
|
-
//# sourceMappingURL=chunk-
|
|
737
|
+
//# sourceMappingURL=chunk-4JOJCZPJ.cjs.map
|