@dxos/plugin-transcription 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1
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-N4KQHMY4.mjs → TranscriptContainer-JQ3HFHLQ.mjs} +3 -3
- package/dist/lib/browser/app-graph-builder-VDQOVX7P.mjs +191 -0
- package/dist/lib/browser/app-graph-builder-VDQOVX7P.mjs.map +7 -0
- package/dist/lib/browser/chunk-6ZR5MDK3.mjs +19 -0
- package/dist/lib/browser/chunk-6ZR5MDK3.mjs.map +7 -0
- package/dist/lib/browser/chunk-G4B6CPC2.mjs +253 -0
- package/dist/lib/browser/chunk-G4B6CPC2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GHTRJTEB.mjs → chunk-GU2BNYKZ.mjs} +6 -6
- package/dist/lib/browser/chunk-GU2BNYKZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-K7FOYAXO.mjs +8 -0
- package/dist/lib/browser/{chunk-QIHUPVQD.mjs → chunk-OGNXNGJB.mjs} +21 -28
- package/dist/lib/browser/chunk-OGNXNGJB.mjs.map +7 -0
- package/dist/lib/browser/chunk-YCZISX63.mjs +464 -0
- package/dist/lib/browser/chunk-YCZISX63.mjs.map +7 -0
- package/dist/lib/browser/chunk-YEPT334A.mjs +16 -0
- package/dist/lib/browser/chunk-YEPT334A.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +69 -512
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{intent-resolver-RW6DEJC2.mjs → intent-resolver-4R66ZCKT.mjs} +8 -7
- package/dist/lib/browser/intent-resolver-4R66ZCKT.mjs.map +7 -0
- package/dist/lib/browser/meeting-transcription-state-DLFHQK72.mjs +18 -0
- package/dist/lib/browser/meeting-transcription-state-DLFHQK72.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-UPTZBHVB.mjs → react-surface-FQUHU5G7.mjs} +15 -9
- package/dist/lib/{node-esm/react-surface-2WJQ67LB.mjs.map → browser/react-surface-FQUHU5G7.mjs.map} +2 -2
- package/dist/lib/browser/transcriber-LGMIWDYI.mjs +36 -0
- package/dist/lib/browser/transcriber-LGMIWDYI.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -1
- package/dist/lib/node/{TranscriptContainer-4BWXOVML.cjs → TranscriptContainer-QEYTTT2V.cjs} +8 -8
- package/dist/lib/node/{TranscriptContainer-4BWXOVML.cjs.map → TranscriptContainer-QEYTTT2V.cjs.map} +2 -2
- package/dist/lib/node/app-graph-builder-IFSIVNUR.cjs +200 -0
- package/dist/lib/node/app-graph-builder-IFSIVNUR.cjs.map +7 -0
- package/dist/lib/node/{chunk-HDRXDMK2.cjs → chunk-3KHUSQNW.cjs} +6 -6
- package/dist/lib/node/chunk-3KHUSQNW.cjs.map +7 -0
- package/dist/lib/node/chunk-CZMLKKWT.cjs +35 -0
- package/dist/lib/node/chunk-CZMLKKWT.cjs.map +7 -0
- package/dist/lib/node/chunk-FCCJALOT.cjs +488 -0
- package/dist/lib/node/chunk-FCCJALOT.cjs.map +7 -0
- package/dist/lib/node/{chunk-I35KHI2G.cjs → chunk-LP4FG423.cjs} +5 -5
- package/dist/lib/node/chunk-NVZWGFJL.cjs +42 -0
- package/dist/lib/node/chunk-NVZWGFJL.cjs.map +7 -0
- package/dist/lib/node/{chunk-UIHEGU6Q.cjs → chunk-P4VVD6ZO.cjs} +21 -29
- package/dist/lib/node/chunk-P4VVD6ZO.cjs.map +7 -0
- package/dist/lib/node/chunk-UOFHT4GZ.cjs +280 -0
- package/dist/lib/node/chunk-UOFHT4GZ.cjs.map +7 -0
- package/dist/lib/node/index.cjs +75 -513
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/{intent-resolver-KLBZ25XJ.cjs → intent-resolver-WMMCOUEH.cjs} +12 -11
- package/dist/lib/node/intent-resolver-WMMCOUEH.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-YFBX3OTP.cjs → meeting-transcription-state-URIYILEQ.cjs} +14 -6
- package/dist/lib/node/meeting-transcription-state-URIYILEQ.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-NCKXB7EQ.cjs → react-surface-WI2MGWCC.cjs} +17 -12
- package/dist/lib/node/{react-surface-NCKXB7EQ.cjs.map → react-surface-WI2MGWCC.cjs.map} +2 -2
- package/dist/lib/node/transcriber-QG5WPKX4.cjs +49 -0
- package/dist/lib/node/transcriber-QG5WPKX4.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +8 -7
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{TranscriptContainer-6IKRASR6.mjs → TranscriptContainer-ZXUCOWGY.mjs} +3 -3
- package/dist/lib/node-esm/app-graph-builder-UL6XLIZY.mjs +192 -0
- package/dist/lib/node-esm/app-graph-builder-UL6XLIZY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6X7X2UZF.mjs +254 -0
- package/dist/lib/node-esm/chunk-6X7X2UZF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-KEG3ME4O.mjs → chunk-GIO6J6FE.mjs} +20 -28
- package/dist/lib/node-esm/chunk-GIO6J6FE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LORUIVS4.mjs → chunk-HKATMD34.mjs} +6 -6
- package/dist/lib/node-esm/chunk-HKATMD34.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2CPKXRN6.mjs → chunk-J4D2RBBH.mjs} +3 -3
- package/dist/lib/node-esm/chunk-PTZHDZ36.mjs +17 -0
- package/dist/lib/node-esm/chunk-PTZHDZ36.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-X4DDJIVL.mjs +21 -0
- package/dist/lib/node-esm/chunk-X4DDJIVL.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YQYBLFNI.mjs +465 -0
- package/dist/lib/node-esm/chunk-YQYBLFNI.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +69 -512
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{intent-resolver-4FMISUPW.mjs → intent-resolver-QN2LO5TX.mjs} +8 -7
- package/dist/lib/node-esm/intent-resolver-QN2LO5TX.mjs.map +7 -0
- package/dist/lib/node-esm/meeting-transcription-state-ZYVRAW6Y.mjs +19 -0
- package/dist/lib/node-esm/meeting-transcription-state-ZYVRAW6Y.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-2WJQ67LB.mjs → react-surface-PCH6NTVB.mjs} +15 -9
- package/dist/lib/{browser/react-surface-UPTZBHVB.mjs.map → node-esm/react-surface-PCH6NTVB.mjs.map} +2 -2
- package/dist/lib/node-esm/transcriber-TMPYZ5L4.mjs +37 -0
- package/dist/lib/node-esm/transcriber-TMPYZ5L4.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -1
- package/dist/types/src/TranscriptionPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +16 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +5 -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/meeting-transcription-state.d.ts +6 -0
- package/dist/types/src/capabilities/meeting-transcription-state.d.ts.map +1 -0
- package/dist/types/src/capabilities/transcriber.d.ts +7 -0
- package/dist/types/src/capabilities/transcriber.d.ts.map +1 -0
- package/dist/types/src/components/Transcript/Transcript.d.ts +5 -2
- package/dist/types/src/components/Transcript/Transcript.d.ts.map +1 -1
- package/dist/types/src/components/Transcript/Transcript.stories.d.ts.map +1 -1
- package/dist/types/src/components/TranscriptContainer.d.ts +1 -0
- package/dist/types/src/components/TranscriptContainer.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/src/components/transcription.stories.d.ts.map +1 -1
- package/dist/types/src/hooks/useTranscriber.d.ts +3 -6
- package/dist/types/src/hooks/useTranscriber.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -9
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/transcriber/index.d.ts +1 -0
- package/dist/types/src/transcriber/index.d.ts.map +1 -1
- package/dist/types/src/{transcription-manager.d.ts → transcriber/transcription-manager.d.ts} +5 -2
- package/dist/types/src/transcriber/transcription-manager.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +14 -18
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +13 -19
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +2 -6
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util/random-queue-dxn.d.ts +2 -2
- package/dist/types/src/util/random-queue-dxn.d.ts.map +1 -1
- package/package.json +40 -36
- package/src/TranscriptionPlugin.tsx +24 -7
- package/src/capabilities/app-graph-builder.ts +147 -2
- package/src/capabilities/capabilities.ts +16 -2
- package/src/capabilities/index.ts +2 -0
- package/src/capabilities/intent-resolver.ts +4 -3
- package/src/capabilities/meeting-transcription-state.ts +16 -0
- package/src/capabilities/react-surface.tsx +3 -3
- package/src/capabilities/transcriber.ts +48 -0
- package/src/components/Transcript/Transcript.stories.tsx +46 -27
- package/src/components/Transcript/Transcript.tsx +206 -50
- package/src/components/TranscriptContainer.tsx +9 -147
- package/src/components/transcription.stories.tsx +11 -13
- package/src/hooks/useTranscriber.ts +12 -37
- package/src/index.ts +2 -2
- package/src/meta.ts +2 -2
- package/src/transcriber/index.ts +1 -0
- package/src/{transcription-manager.ts → transcriber/transcription-manager.ts} +16 -5
- package/src/translations.ts +6 -6
- package/src/types/schema.ts +7 -5
- package/src/types/types.ts +4 -2
- package/src/util/random-queue-dxn.ts +2 -2
- package/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs +0 -7
- package/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs.map +0 -7
- package/dist/lib/browser/chunk-BDVUIRBP.mjs +0 -8
- package/dist/lib/browser/chunk-GHTRJTEB.mjs.map +0 -7
- package/dist/lib/browser/chunk-QIHUPVQD.mjs.map +0 -7
- package/dist/lib/browser/chunk-YX447BJ4.mjs +0 -241
- package/dist/lib/browser/chunk-YX447BJ4.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-RW6DEJC2.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-YFBX3OTP.cjs.map +0 -7
- package/dist/lib/node/chunk-ANSWGFMS.cjs +0 -267
- package/dist/lib/node/chunk-ANSWGFMS.cjs.map +0 -7
- package/dist/lib/node/chunk-HDRXDMK2.cjs.map +0 -7
- package/dist/lib/node/chunk-UIHEGU6Q.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-KLBZ25XJ.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-77GQG6UF.mjs +0 -9
- package/dist/lib/node-esm/app-graph-builder-77GQG6UF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KEG3ME4O.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LORUIVS4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZMK2QLW2.mjs +0 -242
- package/dist/lib/node-esm/chunk-ZMK2QLW2.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-4FMISUPW.mjs.map +0 -7
- package/dist/types/src/transcription-manager.d.ts.map +0 -1
- /package/dist/lib/browser/{TranscriptContainer-N4KQHMY4.mjs.map → TranscriptContainer-JQ3HFHLQ.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-BDVUIRBP.mjs.map → chunk-K7FOYAXO.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-I35KHI2G.cjs.map → chunk-LP4FG423.cjs.map} +0 -0
- /package/dist/lib/node-esm/{TranscriptContainer-6IKRASR6.mjs.map → TranscriptContainer-ZXUCOWGY.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-2CPKXRN6.mjs.map → chunk-J4D2RBBH.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/transcriber.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\n\nimport { TranscriptionCapabilities } from './capabilities';\nimport { MediaStreamRecorder, Transcriber } from '../transcriber';\n\n// TODO(burdon): Move to config?\n\n/**\n * Length of the chunk in ms.\n */\nconst RECORD_INTERVAL = 200;\n\n/**\n * Number of chunks to save before the user starts speaking.\n */\nconst PREFIXED_CHUNKS_AMOUNT = 10;\n\n/**\n * Number of chunks to transcribe automatically after.\n * Combined should be mess than 25MB or whisper would fail.\n */\nconst TRANSCRIBE_AFTER_CHUNKS_AMOUNT = 50;\n\n/**\n * Records audio while user is speaking and transcribes it after user is done speaking.\n */\nexport default () => {\n const getTranscriber: TranscriptionCapabilities.GetTranscriber = ({ audioStreamTrack, onSegments }) => {\n // Initialize audio transcription.\n return new Transcriber({\n config: {\n transcribeAfterChunksAmount: TRANSCRIBE_AFTER_CHUNKS_AMOUNT,\n prefixBufferChunksAmount: PREFIXED_CHUNKS_AMOUNT,\n },\n recorder: new MediaStreamRecorder({\n mediaStreamTrack: audioStreamTrack,\n interval: RECORD_INTERVAL,\n }),\n onSegments,\n });\n };\n\n return contributes(TranscriptionCapabilities.Transcriber, getTranscriber);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAIA,SAASA,mBAAmB;AAU5B,IAAMC,kBAAkB;AAKxB,IAAMC,yBAAyB;AAM/B,IAAMC,iCAAiC;AAKvC,IAAA,sBAAe,MAAA;AACb,QAAMC,iBAA2D,CAAC,EAAEC,kBAAkBC,WAAU,MAAE;AAEhG,WAAO,IAAIC,YAAY;MACrBC,QAAQ;QACNC,6BAA6BN;QAC7BO,0BAA0BR;MAC5B;MACAS,UAAU,IAAIC,oBAAoB;QAChCC,kBAAkBR;QAClBS,UAAUb;MACZ,CAAA;MACAK;IACF,CAAA;EACF;AAEA,SAAOS,YAAYC,0BAA0BT,aAAaH,cAAAA;AAC5D;",
|
|
6
|
+
"names": ["contributes", "RECORD_INTERVAL", "PREFIXED_CHUNKS_AMOUNT", "TRANSCRIBE_AFTER_CHUNKS_AMOUNT", "getTranscriber", "audioStreamTrack", "onSegments", "Transcriber", "config", "transcribeAfterChunksAmount", "prefixBufferChunksAmount", "recorder", "MediaStreamRecorder", "mediaStreamTrack", "interval", "contributes", "TranscriptionCapabilities"]
|
|
7
|
+
}
|
|
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
TranscriptionContainer: () =>
|
|
22
|
-
default: () =>
|
|
19
|
+
var TranscriptContainer_QEYTTT2V_exports = {};
|
|
20
|
+
__export(TranscriptContainer_QEYTTT2V_exports, {
|
|
21
|
+
TranscriptionContainer: () => import_chunk_UOFHT4GZ.TranscriptionContainer,
|
|
22
|
+
default: () => import_chunk_UOFHT4GZ.TranscriptContainer_default
|
|
23
23
|
});
|
|
24
|
-
module.exports = __toCommonJS(
|
|
25
|
-
var
|
|
26
|
-
var
|
|
24
|
+
module.exports = __toCommonJS(TranscriptContainer_QEYTTT2V_exports);
|
|
25
|
+
var import_chunk_UOFHT4GZ = require("./chunk-UOFHT4GZ.cjs");
|
|
26
|
+
var import_chunk_NVZWGFJL = require("./chunk-NVZWGFJL.cjs");
|
|
27
27
|
// Annotate the CommonJS export names for ESM import in node:
|
|
28
28
|
0 && (module.exports = {
|
|
29
29
|
TranscriptionContainer
|
|
30
30
|
});
|
|
31
|
-
//# sourceMappingURL=TranscriptContainer-
|
|
31
|
+
//# sourceMappingURL=TranscriptContainer-QEYTTT2V.cjs.map
|
package/dist/lib/node/{TranscriptContainer-4BWXOVML.cjs.map → TranscriptContainer-QEYTTT2V.cjs.map}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["TranscriptContainer-
|
|
4
|
-
"sourcesContent": ["import {\n TranscriptContainer_default,\n TranscriptionContainer\n} from \"./chunk-
|
|
3
|
+
"sources": ["TranscriptContainer-QEYTTT2V.cjs"],
|
|
4
|
+
"sourcesContent": ["import {\n TranscriptContainer_default,\n TranscriptionContainer\n} from \"./chunk-UOFHT4GZ.cjs\";\nimport \"./chunk-NVZWGFJL.cjs\";\nexport {\n TranscriptionContainer,\n TranscriptContainer_default as default\n};\n//# sourceMappingURL=TranscriptContainer-QEYTTT2V.cjs.map\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;AACP,4BAAO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var app_graph_builder_IFSIVNUR_exports = {};
|
|
20
|
+
__export(app_graph_builder_IFSIVNUR_exports, {
|
|
21
|
+
default: () => app_graph_builder_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(app_graph_builder_IFSIVNUR_exports);
|
|
24
|
+
var import_chunk_FCCJALOT = require("./chunk-FCCJALOT.cjs");
|
|
25
|
+
var import_chunk_3KHUSQNW = require("./chunk-3KHUSQNW.cjs");
|
|
26
|
+
var import_chunk_CZMLKKWT = require("./chunk-CZMLKKWT.cjs");
|
|
27
|
+
var import_chunk_P4VVD6ZO = require("./chunk-P4VVD6ZO.cjs");
|
|
28
|
+
var import_chunk_NVZWGFJL = require("./chunk-NVZWGFJL.cjs");
|
|
29
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
30
|
+
var import_echo = require("@dxos/client/echo");
|
|
31
|
+
var import_display_name = require("@dxos/display-name");
|
|
32
|
+
var import_echo_schema = require("@dxos/echo-schema");
|
|
33
|
+
var import_invariant = require("@dxos/invariant");
|
|
34
|
+
var import_plugin_client = require("@dxos/plugin-client");
|
|
35
|
+
var import_types = require("@dxos/plugin-deck/types");
|
|
36
|
+
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
37
|
+
var import_plugin_meeting = require("@dxos/plugin-meeting");
|
|
38
|
+
var import_types2 = require("@dxos/plugin-meeting/types");
|
|
39
|
+
var import_buf = require("@dxos/protocols/buf");
|
|
40
|
+
var import_calls_pb = require("@dxos/protocols/buf/dxos/edge/calls_pb");
|
|
41
|
+
var import_util = require("@dxos/util");
|
|
42
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts";
|
|
43
|
+
var codec = {
|
|
44
|
+
encode: (message) => {
|
|
45
|
+
return import_buf.buf.toBinary(import_calls_pb.TranscriptionPayloadSchema, import_buf.buf.create(import_calls_pb.TranscriptionPayloadSchema, message));
|
|
46
|
+
},
|
|
47
|
+
decode: (message) => {
|
|
48
|
+
return import_buf.buf.fromBinary(import_calls_pb.TranscriptionPayloadSchema, message);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var getMeetingTranscript = async (context, meeting) => {
|
|
52
|
+
const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
53
|
+
const typename = (0, import_echo_schema.getSchemaTypename)(import_chunk_P4VVD6ZO.TranscriptType);
|
|
54
|
+
const existing = await meeting.artifacts[typename]?.load();
|
|
55
|
+
if (existing instanceof import_chunk_P4VVD6ZO.TranscriptType) {
|
|
56
|
+
return existing;
|
|
57
|
+
}
|
|
58
|
+
const space = (0, import_echo.getSpace)(meeting);
|
|
59
|
+
(0, import_invariant.invariant)(space, void 0, {
|
|
60
|
+
F: __dxlog_file,
|
|
61
|
+
L: 52,
|
|
62
|
+
S: void 0,
|
|
63
|
+
A: [
|
|
64
|
+
"space",
|
|
65
|
+
""
|
|
66
|
+
]
|
|
67
|
+
});
|
|
68
|
+
const { data } = await dispatch((0, import_app_framework.createIntent)(import_chunk_P4VVD6ZO.TranscriptionAction.Create, {
|
|
69
|
+
spaceId: space.id
|
|
70
|
+
}));
|
|
71
|
+
meeting.artifacts[typename] = (0, import_echo.makeRef)(data.object);
|
|
72
|
+
return data?.object;
|
|
73
|
+
};
|
|
74
|
+
var app_graph_builder_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
|
|
75
|
+
(0, import_plugin_graph.createExtension)({
|
|
76
|
+
id: `${import_chunk_NVZWGFJL.TRANSCRIPTION_PLUGIN}/meeting-transcript`,
|
|
77
|
+
filter: (node) => (0, import_echo_schema.isInstanceOf)(import_types2.MeetingType, node.data) && node.type !== import_types.PLANK_COMPANION_TYPE,
|
|
78
|
+
actions: ({ node }) => {
|
|
79
|
+
const meeting = node.data;
|
|
80
|
+
const state = context.requestCapability(import_chunk_CZMLKKWT.TranscriptionCapabilities.MeetingTranscriptionState);
|
|
81
|
+
return [
|
|
82
|
+
{
|
|
83
|
+
id: `${(0, import_echo.fullyQualifiedId)(meeting)}/action/start-stop-transcription`,
|
|
84
|
+
data: async () => {
|
|
85
|
+
const call = context.requestCapability(import_plugin_meeting.MeetingCapabilities.CallManager);
|
|
86
|
+
(0, import_invariant.invariant)(state.transcriptionManager, void 0, {
|
|
87
|
+
F: __dxlog_file,
|
|
88
|
+
L: 73,
|
|
89
|
+
S: void 0,
|
|
90
|
+
A: [
|
|
91
|
+
"state.transcriptionManager",
|
|
92
|
+
""
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
|
+
state.enabled = !state.enabled;
|
|
96
|
+
void state.transcriptionManager.setEnabled(state.enabled);
|
|
97
|
+
const transcript = await getMeetingTranscript(context, meeting);
|
|
98
|
+
(0, import_invariant.invariant)(transcript, "Failed to create transcript", {
|
|
99
|
+
F: __dxlog_file,
|
|
100
|
+
L: 77,
|
|
101
|
+
S: void 0,
|
|
102
|
+
A: [
|
|
103
|
+
"transcript",
|
|
104
|
+
"'Failed to create transcript'"
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
call.setActivity((0, import_echo_schema.getSchemaTypename)(import_chunk_P4VVD6ZO.TranscriptType), {
|
|
108
|
+
value: codec.encode({
|
|
109
|
+
enabled: state.enabled,
|
|
110
|
+
queueDxn: transcript.queue.dxn.toString()
|
|
111
|
+
})
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
properties: {
|
|
115
|
+
label: state.enabled ? [
|
|
116
|
+
"stop transcription label",
|
|
117
|
+
{
|
|
118
|
+
ns: import_chunk_NVZWGFJL.TRANSCRIPTION_PLUGIN
|
|
119
|
+
}
|
|
120
|
+
] : [
|
|
121
|
+
"start transcription label",
|
|
122
|
+
{
|
|
123
|
+
ns: import_chunk_NVZWGFJL.TRANSCRIPTION_PLUGIN
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
icon: "ph--record--regular",
|
|
127
|
+
disposition: "toolbar",
|
|
128
|
+
classNames: state.enabled ? "text-activeInCall" : ""
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
];
|
|
132
|
+
},
|
|
133
|
+
connector: ({ node }) => {
|
|
134
|
+
const meeting = node.data;
|
|
135
|
+
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
136
|
+
const state = context.requestCapability(import_chunk_CZMLKKWT.TranscriptionCapabilities.MeetingTranscriptionState);
|
|
137
|
+
return [
|
|
138
|
+
{
|
|
139
|
+
id: `${(0, import_echo.fullyQualifiedId)(meeting)}${import_types.ATTENDABLE_PATH_SEPARATOR}${(0, import_echo_schema.getSchemaTypename)(import_chunk_P4VVD6ZO.TranscriptType)}`,
|
|
140
|
+
type: import_types.PLANK_COMPANION_TYPE,
|
|
141
|
+
data: meeting.artifacts[(0, import_echo_schema.getSchemaTypename)(import_chunk_P4VVD6ZO.TranscriptType)]?.target,
|
|
142
|
+
properties: {
|
|
143
|
+
label: [
|
|
144
|
+
"transcript companion label",
|
|
145
|
+
{
|
|
146
|
+
ns: import_chunk_NVZWGFJL.TRANSCRIPTION_PLUGIN
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
icon: "ph--subtitles--regular",
|
|
150
|
+
disposition: "hidden",
|
|
151
|
+
schema: import_chunk_P4VVD6ZO.TranscriptType,
|
|
152
|
+
getIntent: ({ space }) => (0, import_app_framework.createIntent)(import_chunk_P4VVD6ZO.TranscriptionAction.Create, {
|
|
153
|
+
spaceId: space.id
|
|
154
|
+
}),
|
|
155
|
+
onJoin: () => {
|
|
156
|
+
const transcriptionManager = new import_chunk_FCCJALOT.TranscriptionManager(client.edge);
|
|
157
|
+
const identity = client.halo.identity.get();
|
|
158
|
+
(0, import_invariant.invariant)(identity, void 0, {
|
|
159
|
+
F: __dxlog_file,
|
|
160
|
+
L: 116,
|
|
161
|
+
S: void 0,
|
|
162
|
+
A: [
|
|
163
|
+
"identity",
|
|
164
|
+
""
|
|
165
|
+
]
|
|
166
|
+
});
|
|
167
|
+
transcriptionManager.setName(identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex()));
|
|
168
|
+
const fallbackValue = (0, import_util.keyToFallback)(identity.identityKey);
|
|
169
|
+
const userHue = identity.profile?.data?.hue || fallbackValue.hue;
|
|
170
|
+
transcriptionManager.setHue(userHue);
|
|
171
|
+
void transcriptionManager.open();
|
|
172
|
+
state.transcriptionManager = transcriptionManager;
|
|
173
|
+
},
|
|
174
|
+
onLeave: () => {
|
|
175
|
+
void state.transcriptionManager?.close();
|
|
176
|
+
state.transcriptionManager = void 0;
|
|
177
|
+
state.enabled = false;
|
|
178
|
+
},
|
|
179
|
+
onCallStateUpdated: (callState) => {
|
|
180
|
+
const typename = (0, import_echo_schema.getSchemaTypename)(import_chunk_P4VVD6ZO.TranscriptType);
|
|
181
|
+
const transcription = typename ? callState.activities?.[typename] : void 0;
|
|
182
|
+
if (!transcription?.payload?.value) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const payload = codec.decode(transcription.payload.value);
|
|
186
|
+
state.enabled = payload.enabled;
|
|
187
|
+
void state.transcriptionManager?.setEnabled(payload.enabled);
|
|
188
|
+
void state.transcriptionManager?.setQueue(payload.queueDxn);
|
|
189
|
+
},
|
|
190
|
+
onMediaStateUpdated: ([mediaState, isSpeaking]) => {
|
|
191
|
+
void state.transcriptionManager?.setAudioTrack(mediaState.audioTrack);
|
|
192
|
+
void state.transcriptionManager?.setRecording(isSpeaking);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
];
|
|
197
|
+
}
|
|
198
|
+
})
|
|
199
|
+
]);
|
|
200
|
+
//# sourceMappingURL=app-graph-builder-IFSIVNUR.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport { fullyQualifiedId, getSpace, makeRef, type Space } from '@dxos/client/echo';\nimport { generateName } from '@dxos/display-name';\nimport { getSchemaTypename, isInstanceOf } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\nimport { MeetingCapabilities, type CallState, type MediaState } from '@dxos/plugin-meeting';\nimport { MeetingType } from '@dxos/plugin-meeting/types';\nimport { buf } from '@dxos/protocols/buf';\nimport {\n TranscriptionPayloadSchema,\n type TranscriptionPayload as TranscriptionPayloadProto,\n} from '@dxos/protocols/buf/dxos/edge/calls_pb';\nimport { keyToFallback } from '@dxos/util';\n\nimport { TranscriptionCapabilities } from './capabilities';\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\nimport { TranscriptionManager } from '../transcriber';\nimport { TranscriptionAction, TranscriptType } from '../types';\n\n// TODO(wittjosiah): Factor out.\n// TODO(wittjosiah): Can we stop using protobuf for this?\ntype TranscriptionPayload = buf.MessageInitShape<typeof TranscriptionPayloadSchema>;\nconst codec = {\n encode: (message: TranscriptionPayload): Uint8Array => {\n return buf.toBinary(TranscriptionPayloadSchema, buf.create(TranscriptionPayloadSchema, message));\n },\n decode: (message: Uint8Array): TranscriptionPayloadProto => {\n return buf.fromBinary(TranscriptionPayloadSchema, message);\n },\n};\n\nconst getMeetingTranscript = async (\n context: PluginsContext,\n meeting: MeetingType,\n): Promise<TranscriptType | undefined> => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n\n const typename = getSchemaTypename(TranscriptType)!;\n const existing = await meeting.artifacts[typename]?.load();\n if (existing instanceof TranscriptType) {\n return existing;\n }\n\n const space = getSpace(meeting);\n invariant(space);\n const { data } = await dispatch(createIntent(TranscriptionAction.Create, { spaceId: space.id }));\n meeting.artifacts[typename] = makeRef(data!.object);\n return data?.object;\n};\n\n// TODO(wittjosiah): Introduce a sound that plays when transcription is activated/deactivated.\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${TRANSCRIPTION_PLUGIN}/meeting-transcript`,\n filter: (node): node is Node<MeetingType> =>\n isInstanceOf(MeetingType, node.data) && node.type !== PLANK_COMPANION_TYPE,\n actions: ({ node }) => {\n const meeting = node.data;\n const state = context.requestCapability(TranscriptionCapabilities.MeetingTranscriptionState);\n return [\n {\n id: `${fullyQualifiedId(meeting)}/action/start-stop-transcription`,\n data: async () => {\n const call = context.requestCapability(MeetingCapabilities.CallManager);\n invariant(state.transcriptionManager);\n state.enabled = !state.enabled;\n void state.transcriptionManager.setEnabled(state.enabled);\n const transcript = await getMeetingTranscript(context, meeting);\n invariant(transcript, 'Failed to create transcript');\n call.setActivity(getSchemaTypename(TranscriptType)!, {\n value: codec.encode({\n enabled: state.enabled,\n queueDxn: transcript.queue.dxn.toString(),\n }),\n });\n },\n properties: {\n label: state.enabled\n ? ['stop transcription label', { ns: TRANSCRIPTION_PLUGIN }]\n : ['start transcription label', { ns: TRANSCRIPTION_PLUGIN }],\n icon: 'ph--record--regular',\n disposition: 'toolbar',\n classNames: state.enabled ? 'text-activeInCall' : '',\n },\n },\n ];\n },\n connector: ({ node }) => {\n const meeting = node.data;\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(TranscriptionCapabilities.MeetingTranscriptionState);\n\n return [\n {\n id: `${fullyQualifiedId(meeting)}${ATTENDABLE_PATH_SEPARATOR}${getSchemaTypename(TranscriptType)}`,\n type: PLANK_COMPANION_TYPE,\n data: meeting.artifacts[getSchemaTypename(TranscriptType)!]?.target,\n properties: {\n label: ['transcript companion label', { ns: TRANSCRIPTION_PLUGIN }],\n icon: 'ph--subtitles--regular',\n disposition: 'hidden',\n schema: TranscriptType,\n getIntent: ({ space }: { space: Space }) =>\n createIntent(TranscriptionAction.Create, { spaceId: space.id }),\n onJoin: () => {\n const transcriptionManager = new TranscriptionManager(client.edge);\n const identity = client.halo.identity.get();\n invariant(identity);\n transcriptionManager.setName(\n identity.profile?.displayName ?? generateName(identity.identityKey.toHex()),\n );\n const fallbackValue = keyToFallback(identity!.identityKey);\n const userHue = identity!.profile?.data?.hue || fallbackValue.hue;\n transcriptionManager.setHue(userHue);\n void transcriptionManager.open();\n state.transcriptionManager = transcriptionManager;\n },\n onLeave: () => {\n void state.transcriptionManager?.close();\n state.transcriptionManager = undefined;\n state.enabled = false;\n },\n onCallStateUpdated: (callState: CallState) => {\n const typename = getSchemaTypename(TranscriptType);\n const transcription = typename ? callState.activities?.[typename] : undefined;\n if (!transcription?.payload?.value) {\n return;\n }\n\n const payload = codec.decode(transcription.payload.value);\n state.enabled = payload.enabled;\n void state.transcriptionManager?.setEnabled(payload.enabled);\n void state.transcriptionManager?.setQueue(payload.queueDxn);\n },\n onMediaStateUpdated: ([mediaState, isSpeaking]: [MediaState, boolean]) => {\n void state.transcriptionManager?.setAudioTrack(mediaState.audioTrack);\n void state.transcriptionManager?.setRecording(isSpeaking);\n },\n },\n },\n ];\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_types", "codec", "encode", "message", "buf", "toBinary", "TranscriptionPayloadSchema", "create", "decode", "fromBinary", "getMeetingTranscript", "context", "meeting", "dispatchPromise", "dispatch", "requestCapability", "Capabilities", "IntentDispatcher", "typename", "getSchemaTypename", "TranscriptType", "existing", "artifacts", "load", "space", "getSpace", "invariant", "data", "createIntent", "TranscriptionAction", "Create", "spaceId", "id", "makeRef", "object", "contributes", "AppGraphBuilder", "createExtension", "TRANSCRIPTION_PLUGIN", "filter", "node", "isInstanceOf", "MeetingType", "type", "PLANK_COMPANION_TYPE", "actions", "state", "TranscriptionCapabilities", "MeetingTranscriptionState", "fullyQualifiedId", "call", "MeetingCapabilities", "CallManager", "transcriptionManager", "enabled", "setEnabled", "transcript", "setActivity", "value", "queueDxn", "queue", "dxn", "toString", "properties", "label", "ns", "icon", "disposition", "classNames", "connector", "client", "ClientCapabilities", "Client", "ATTENDABLE_PATH_SEPARATOR", "target", "schema", "getIntent", "onJoin", "TranscriptionManager", "edge", "identity", "halo", "get", "setName", "profile", "displayName", "generateName", "identityKey", "toHex", "fallbackValue", "keyToFallback", "userHue", "hue", "setHue", "open", "onLeave", "close", "undefined", "onCallStateUpdated", "callState", "transcription", "activities", "payload", "setQueue", "onMediaStateUpdated", "mediaState", "isSpeaking", "setAudioTrack", "audioTrack", "setRecording"]
|
|
7
|
+
}
|
|
@@ -16,13 +16,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_3KHUSQNW_exports = {};
|
|
20
|
+
__export(chunk_3KHUSQNW_exports, {
|
|
21
21
|
getTimeStr: () => getTimeStr,
|
|
22
22
|
mergeFloat64Arrays: () => mergeFloat64Arrays,
|
|
23
23
|
randomQueueDxn: () => randomQueueDxn
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
25
|
+
module.exports = __toCommonJS(chunk_3KHUSQNW_exports);
|
|
26
26
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
27
27
|
var import_keys = require("@dxos/keys");
|
|
28
28
|
var getTimeStr = (timestamp) => new Date(timestamp ?? Date.now()).toLocaleTimeString("en-US", {
|
|
@@ -32,9 +32,9 @@ var getTimeStr = (timestamp) => new Date(timestamp ?? Date.now()).toLocaleTimeSt
|
|
|
32
32
|
minute: "2-digit",
|
|
33
33
|
second: "2-digit"
|
|
34
34
|
});
|
|
35
|
-
var randomQueueDxn = () => new import_keys.DXN(import_keys.DXN.kind.QUEUE, [
|
|
35
|
+
var randomQueueDxn = (spaceId) => new import_keys.DXN(import_keys.DXN.kind.QUEUE, [
|
|
36
36
|
import_keys.QueueSubspaceTags.DATA,
|
|
37
|
-
import_keys.SpaceId.random(),
|
|
37
|
+
spaceId ?? import_keys.SpaceId.random(),
|
|
38
38
|
import_echo_schema.ObjectId.random()
|
|
39
39
|
]);
|
|
40
40
|
var mergeFloat64Arrays = (arrays) => {
|
|
@@ -52,4 +52,4 @@ var mergeFloat64Arrays = (arrays) => {
|
|
|
52
52
|
mergeFloat64Arrays,
|
|
53
53
|
randomQueueDxn
|
|
54
54
|
});
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-3KHUSQNW.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/get-time-str.ts", "../../../src/util/random-queue-dxn.ts", "../../../src/util/array.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const getTimeStr = (timestamp?: number) =>\n new Date(timestamp ?? Date.now()).toLocaleTimeString('en-US', {\n timeZone: 'UTC',\n hour12: true,\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit',\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ObjectId } from '@dxos/echo-schema';\nimport { DXN, QueueSubspaceTags, SpaceId } from '@dxos/keys';\n\nexport const randomQueueDxn = (spaceId?: SpaceId) =>\n new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId ?? SpaceId.random(), ObjectId.random()]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const mergeFloat64Arrays = (arrays: Float64Array[]) => {\n const newArray = new Float64Array(arrays.reduce((acc, array) => array.length + acc, 0));\n let offset = 0;\n for (const array of arrays) {\n newArray.set(array, offset);\n offset += array.length;\n }\n\n return newArray;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;ACIA,yBAAyB;AACzB,kBAAgD;ADDzC,IAAMA,aAAa,CAACC,cACzB,IAAIC,KAAKD,aAAaC,KAAKC,IAAG,CAAA,EAAIC,mBAAmB,SAAS;EAC5DC,UAAU;EACVC,QAAQ;EACRC,MAAM;EACNC,QAAQ;EACRC,QAAQ;AACV,CAAA;ACJK,IAAMC,iBAAiB,CAACC,YAC7B,IAAIC,gBAAIA,gBAAIC,KAAKC,OAAO;EAACC,8BAAkBC;EAAML,WAAWM,oBAAQC,OAAM;EAAIC,4BAASD,OAAM;CAAG;ACJ3F,IAAME,qBAAqB,CAACC,WAAAA;AACjC,QAAMC,WAAW,IAAIC,aAAaF,OAAOG,OAAO,CAACC,KAAKC,UAAUA,MAAMC,SAASF,KAAK,CAAA,CAAA;AACpF,MAAIG,SAAS;AACb,aAAWF,SAASL,QAAQ;AAC1BC,aAASO,IAAIH,OAAOE,MAAAA;AACpBA,cAAUF,MAAMC;EAClB;AAEA,SAAOL;AACT;",
|
|
6
|
+
"names": ["getTimeStr", "timestamp", "Date", "now", "toLocaleTimeString", "timeZone", "hour12", "hour", "minute", "second", "randomQueueDxn", "spaceId", "DXN", "kind", "QUEUE", "QueueSubspaceTags", "DATA", "SpaceId", "random", "ObjectId", "mergeFloat64Arrays", "arrays", "newArray", "Float64Array", "reduce", "acc", "array", "length", "offset", "set"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chunk_CZMLKKWT_exports = {};
|
|
20
|
+
__export(chunk_CZMLKKWT_exports, {
|
|
21
|
+
TranscriptionCapabilities: () => TranscriptionCapabilities
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chunk_CZMLKKWT_exports);
|
|
24
|
+
var import_chunk_NVZWGFJL = require("./chunk-NVZWGFJL.cjs");
|
|
25
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
26
|
+
var TranscriptionCapabilities;
|
|
27
|
+
(function(TranscriptionCapabilities2) {
|
|
28
|
+
TranscriptionCapabilities2.Transcriber = (0, import_app_framework.defineCapability)(`${import_chunk_NVZWGFJL.TRANSCRIPTION_PLUGIN}/capability/transcriber`);
|
|
29
|
+
TranscriptionCapabilities2.MeetingTranscriptionState = (0, import_app_framework.defineCapability)(`${import_chunk_NVZWGFJL.TRANSCRIPTION_PLUGIN}/capability/meeting-transcription-state`);
|
|
30
|
+
})(TranscriptionCapabilities || (TranscriptionCapabilities = {}));
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
TranscriptionCapabilities
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=chunk-CZMLKKWT.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type ReactiveObject } from '@dxos/live-object';\n\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\nimport { type TranscriberParams, type Transcriber, type TranscriptionManager } from '../transcriber';\n\nexport namespace TranscriptionCapabilities {\n export type GetTranscriberProps = {\n audioStreamTrack: MediaStreamTrack;\n onSegments: TranscriberParams['onSegments'];\n };\n export type GetTranscriber = (props: GetTranscriberProps) => Transcriber;\n export const Transcriber = defineCapability<GetTranscriber>(`${TRANSCRIPTION_PLUGIN}/capability/transcriber`);\n\n export type MeetingTranscriptionState = ReactiveObject<{\n enabled: boolean;\n transcriptionManager?: TranscriptionManager;\n }>;\n export const MeetingTranscriptionState = defineCapability<MeetingTranscriptionState>(\n `${TRANSCRIPTION_PLUGIN}/capability/meeting-transcription-state`,\n );\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;;UAMhBA,4BAAAA;6BAMFC,kBAAcC,uCAAiC,GAAGC,0CAAAA,yBAA6C;6BAM/FC,gCAA4BF,uCACvC,GAAGC,0CAAAA,yCAA6D;AAEpE,GAfiBH,8BAAAA,4BAAAA,CAAAA,EAAAA;",
|
|
6
|
+
"names": ["TranscriptionCapabilities", "Transcriber", "defineCapability", "TRANSCRIPTION_PLUGIN", "MeetingTranscriptionState"]
|
|
7
|
+
}
|