@dxos/plugin-transcription 0.8.2-main.f11618f → 0.8.2-main.fbd8ed0

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.
Files changed (145) hide show
  1. package/dist/lib/browser/{TranscriptContainer-D3EH2SLO.mjs → TranscriptContainer-CXA4ZBHW.mjs} +2 -2
  2. package/dist/lib/browser/{app-graph-builder-7HN3M24G.mjs → app-graph-builder-REQZ5SC5.mjs} +37 -35
  3. package/dist/lib/browser/app-graph-builder-REQZ5SC5.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-KSUYWWIU.mjs → chunk-3TKXI6TQ.mjs} +6 -6
  5. package/dist/lib/browser/chunk-3TKXI6TQ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-YRWBY6UK.mjs → chunk-JHWEZRWC.mjs} +19 -17
  7. package/dist/lib/browser/chunk-JHWEZRWC.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-BSZSM6KA.mjs → chunk-K2LS2QOM.mjs} +6 -6
  9. package/dist/lib/browser/chunk-K2LS2QOM.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-IWZ7C3OA.mjs → chunk-LCTMCTYY.mjs} +2 -2
  11. package/dist/lib/browser/index.mjs +7 -7
  12. package/dist/lib/browser/index.mjs.map +3 -3
  13. package/dist/lib/browser/{intent-resolver-ZWKYRFE7.mjs → intent-resolver-DZ62CJPC.mjs} +3 -3
  14. package/dist/lib/browser/intent-resolver-DZ62CJPC.mjs.map +7 -0
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-surface-F7DBDGHS.mjs → react-surface-PUXZNAZL.mjs} +4 -4
  17. package/dist/lib/browser/{settings-6YAHKVKX.mjs → settings-JWDS4J3F.mjs} +2 -2
  18. package/dist/lib/browser/{transcriber-MSBS4VBI.mjs → transcriber-YWWIV6KP.mjs} +3 -3
  19. package/dist/lib/browser/types/index.mjs +1 -1
  20. package/dist/lib/node/{TranscriptContainer-WCBZMA5K.cjs → TranscriptContainer-SSJVLRM6.cjs} +7 -7
  21. package/dist/lib/node/{TranscriptContainer-WCBZMA5K.cjs.map → TranscriptContainer-SSJVLRM6.cjs.map} +2 -2
  22. package/dist/lib/node/{app-graph-builder-BVWYUGUO.cjs → app-graph-builder-OAPU4GDH.cjs} +50 -48
  23. package/dist/lib/node/app-graph-builder-OAPU4GDH.cjs.map +7 -0
  24. package/dist/lib/node/{chunk-IXU57SCA.cjs → chunk-EJWB53WK.cjs} +19 -17
  25. package/dist/lib/node/chunk-EJWB53WK.cjs.map +7 -0
  26. package/dist/lib/node/{chunk-JSCC2AQW.cjs → chunk-EVE3H46F.cjs} +9 -9
  27. package/dist/lib/node/chunk-EVE3H46F.cjs.map +7 -0
  28. package/dist/lib/node/{chunk-OCHTKDL7.cjs → chunk-L27AK6FQ.cjs} +5 -5
  29. package/dist/lib/node/{chunk-7XIIUVN3.cjs → chunk-WKZLGVEJ.cjs} +9 -9
  30. package/dist/lib/node/chunk-WKZLGVEJ.cjs.map +7 -0
  31. package/dist/lib/node/index.cjs +28 -28
  32. package/dist/lib/node/index.cjs.map +3 -3
  33. package/dist/lib/node/{intent-resolver-RM4JOCDV.cjs → intent-resolver-TRBKI24D.cjs} +9 -9
  34. package/dist/lib/node/intent-resolver-TRBKI24D.cjs.map +7 -0
  35. package/dist/lib/node/meta.json +1 -1
  36. package/dist/lib/node/{react-surface-7F37EYZA.cjs → react-surface-SZAMHCX7.cjs} +10 -10
  37. package/dist/lib/node/{settings-ZMB4XRWS.cjs → settings-AWWMOSCV.cjs} +7 -7
  38. package/dist/lib/node/{transcriber-55OE4X6I.cjs → transcriber-AFUXFHCR.cjs} +8 -8
  39. package/dist/lib/node/types/index.cjs +7 -7
  40. package/dist/lib/node/types/index.cjs.map +1 -1
  41. package/dist/lib/node-esm/{TranscriptContainer-GBPY6KKA.mjs → TranscriptContainer-M53LI2TX.mjs} +2 -2
  42. package/dist/lib/node-esm/{app-graph-builder-QK25O5K5.mjs → app-graph-builder-UBP6EOBR.mjs} +37 -35
  43. package/dist/lib/node-esm/app-graph-builder-UBP6EOBR.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-B2BD7S4X.mjs → chunk-4KC3E5T4.mjs} +6 -6
  45. package/dist/lib/node-esm/chunk-4KC3E5T4.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-DXJN2JWV.mjs → chunk-MHQP2PAF.mjs} +2 -2
  47. package/dist/lib/node-esm/{chunk-OS2ITZUL.mjs → chunk-QYG2FOXA.mjs} +19 -17
  48. package/dist/lib/node-esm/chunk-QYG2FOXA.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-UWF6LM27.mjs → chunk-V5IWBPYO.mjs} +6 -6
  50. package/dist/lib/node-esm/chunk-V5IWBPYO.mjs.map +7 -0
  51. package/dist/lib/node-esm/index.mjs +7 -7
  52. package/dist/lib/node-esm/index.mjs.map +3 -3
  53. package/dist/lib/node-esm/{intent-resolver-HDRFXMKP.mjs → intent-resolver-HFVAL274.mjs} +3 -3
  54. package/dist/lib/node-esm/intent-resolver-HFVAL274.mjs.map +7 -0
  55. package/dist/lib/node-esm/meta.json +1 -1
  56. package/dist/lib/node-esm/{react-surface-D3L6VBEV.mjs → react-surface-UEJELL7I.mjs} +4 -4
  57. package/dist/lib/node-esm/{settings-I35TVDUG.mjs → settings-QFNFGFJ5.mjs} +2 -2
  58. package/dist/lib/node-esm/{transcriber-HH7EMCGH.mjs → transcriber-7RJEFPDI.mjs} +3 -3
  59. package/dist/lib/node-esm/types/index.mjs +1 -1
  60. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  61. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/index.d.ts +2 -178
  63. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  65. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  66. package/dist/types/src/components/Transcript/Transcript.d.ts +3 -3
  67. package/dist/types/src/components/Transcript/Transcript.d.ts.map +1 -1
  68. package/dist/types/src/components/Transcript/Transcript.stories.d.ts +2 -2
  69. package/dist/types/src/components/Transcript/Transcript.stories.d.ts.map +1 -1
  70. package/dist/types/src/components/Transcript/deprecated/OldTranscript.d.ts +10 -10
  71. package/dist/types/src/components/Transcript/deprecated/OldTranscript.d.ts.map +1 -1
  72. package/dist/types/src/components/Transcript/transcript-extension.d.ts +2 -2
  73. package/dist/types/src/components/Transcript/transcript-extension.d.ts.map +1 -1
  74. package/dist/types/src/components/TranscriptionSettings/TranscriptionSettings.d.ts.map +1 -1
  75. package/dist/types/src/components/transcription.stories.d.ts.map +1 -1
  76. package/dist/types/src/entity-extraction/entity-extraction.d.ts +3 -3
  77. package/dist/types/src/entity-extraction/entity-extraction.d.ts.map +1 -1
  78. package/dist/types/src/hooks/useAudioFile.d.ts.map +1 -1
  79. package/dist/types/src/hooks/useAudioTrack.d.ts.map +1 -1
  80. package/dist/types/src/hooks/useQueueModelAdapter.d.ts.map +1 -1
  81. package/dist/types/src/hooks/useTranscriber.d.ts.map +1 -1
  82. package/dist/types/src/hooks/useVoiceInput.d.ts.map +1 -1
  83. package/dist/types/src/testing/testing.d.ts +11 -10
  84. package/dist/types/src/testing/testing.d.ts.map +1 -1
  85. package/dist/types/src/transcriber/transcriber.d.ts +2 -2
  86. package/dist/types/src/transcriber/transcriber.d.ts.map +1 -1
  87. package/dist/types/src/transcriber/transcription-manager.d.ts +2 -2
  88. package/dist/types/src/transcriber/transcription-manager.d.ts.map +1 -1
  89. package/dist/types/src/translations.d.ts +2 -20
  90. package/dist/types/src/translations.d.ts.map +1 -1
  91. package/dist/types/src/types/schema.d.ts +26 -19
  92. package/dist/types/src/types/schema.d.ts.map +1 -1
  93. package/dist/types/src/types/types.d.ts +17 -10
  94. package/dist/types/src/types/types.d.ts.map +1 -1
  95. package/dist/types/src/util/array.d.ts.map +1 -1
  96. package/dist/types/src/util/get-time-str.d.ts.map +1 -1
  97. package/dist/types/src/util/monitor-audio-level.d.ts.map +1 -1
  98. package/dist/types/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +55 -49
  100. package/src/TranscriptionPlugin.tsx +3 -3
  101. package/src/capabilities/app-graph-builder.ts +145 -123
  102. package/src/capabilities/intent-resolver.ts +4 -3
  103. package/src/components/Transcript/Transcript.stories.tsx +6 -6
  104. package/src/components/Transcript/Transcript.tsx +3 -3
  105. package/src/components/Transcript/deprecated/OldTranscript.tsx +19 -13
  106. package/src/components/Transcript/transcript-extension.ts +3 -3
  107. package/src/components/TranscriptContainer.tsx +2 -2
  108. package/src/components/transcription.stories.tsx +17 -15
  109. package/src/entity-extraction/entity-extraction.ts +4 -4
  110. package/src/model/model.test.ts +14 -10
  111. package/src/testing/testing.ts +31 -23
  112. package/src/transcriber/transcriber.browser.test.ts +3 -3
  113. package/src/transcriber/transcriber.ts +6 -3
  114. package/src/transcriber/transcription-manager.ts +8 -8
  115. package/src/types/schema.ts +10 -8
  116. package/src/types/types.ts +14 -12
  117. package/dist/lib/browser/app-graph-builder-7HN3M24G.mjs.map +0 -7
  118. package/dist/lib/browser/chunk-BSZSM6KA.mjs.map +0 -7
  119. package/dist/lib/browser/chunk-KSUYWWIU.mjs.map +0 -7
  120. package/dist/lib/browser/chunk-YRWBY6UK.mjs.map +0 -7
  121. package/dist/lib/browser/intent-resolver-ZWKYRFE7.mjs.map +0 -7
  122. package/dist/lib/node/app-graph-builder-BVWYUGUO.cjs.map +0 -7
  123. package/dist/lib/node/chunk-7XIIUVN3.cjs.map +0 -7
  124. package/dist/lib/node/chunk-IXU57SCA.cjs.map +0 -7
  125. package/dist/lib/node/chunk-JSCC2AQW.cjs.map +0 -7
  126. package/dist/lib/node/intent-resolver-RM4JOCDV.cjs.map +0 -7
  127. package/dist/lib/node-esm/app-graph-builder-QK25O5K5.mjs.map +0 -7
  128. package/dist/lib/node-esm/chunk-B2BD7S4X.mjs.map +0 -7
  129. package/dist/lib/node-esm/chunk-OS2ITZUL.mjs.map +0 -7
  130. package/dist/lib/node-esm/chunk-UWF6LM27.mjs.map +0 -7
  131. package/dist/lib/node-esm/intent-resolver-HDRFXMKP.mjs.map +0 -7
  132. /package/dist/lib/browser/{TranscriptContainer-D3EH2SLO.mjs.map → TranscriptContainer-CXA4ZBHW.mjs.map} +0 -0
  133. /package/dist/lib/browser/{chunk-IWZ7C3OA.mjs.map → chunk-LCTMCTYY.mjs.map} +0 -0
  134. /package/dist/lib/browser/{react-surface-F7DBDGHS.mjs.map → react-surface-PUXZNAZL.mjs.map} +0 -0
  135. /package/dist/lib/browser/{settings-6YAHKVKX.mjs.map → settings-JWDS4J3F.mjs.map} +0 -0
  136. /package/dist/lib/browser/{transcriber-MSBS4VBI.mjs.map → transcriber-YWWIV6KP.mjs.map} +0 -0
  137. /package/dist/lib/node/{chunk-OCHTKDL7.cjs.map → chunk-L27AK6FQ.cjs.map} +0 -0
  138. /package/dist/lib/node/{react-surface-7F37EYZA.cjs.map → react-surface-SZAMHCX7.cjs.map} +0 -0
  139. /package/dist/lib/node/{settings-ZMB4XRWS.cjs.map → settings-AWWMOSCV.cjs.map} +0 -0
  140. /package/dist/lib/node/{transcriber-55OE4X6I.cjs.map → transcriber-AFUXFHCR.cjs.map} +0 -0
  141. /package/dist/lib/node-esm/{TranscriptContainer-GBPY6KKA.mjs.map → TranscriptContainer-M53LI2TX.mjs.map} +0 -0
  142. /package/dist/lib/node-esm/{chunk-DXJN2JWV.mjs.map → chunk-MHQP2PAF.mjs.map} +0 -0
  143. /package/dist/lib/node-esm/{react-surface-D3L6VBEV.mjs.map → react-surface-UEJELL7I.mjs.map} +0 -0
  144. /package/dist/lib/node-esm/{settings-I35TVDUG.mjs.map → settings-QFNFGFJ5.mjs.map} +0 -0
  145. /package/dist/lib/node-esm/{transcriber-HH7EMCGH.mjs.map → transcriber-7RJEFPDI.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/transcriber/media-stream-recorder.ts", "../../../src/transcriber/transcriber.ts", "../../../src/transcriber/transcription-manager.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type IBlobEvent, type IMediaRecorder, MediaRecorder, register } from 'extendable-media-recorder';\nimport { WaveFile } from 'wavefile';\n\nimport { synchronized } from '@dxos/async';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { trace } from '@dxos/tracing';\n\nimport { type WavConfig, type AudioChunk, type AudioRecorder } from './audio-recorder';\n\nlet initializingPromise: Promise<void> | undefined;\n\nconst initializeExtendableMediaRecorder = async () => {\n const { connect } = await import('extendable-media-recorder-wav-encoder');\n await register(await connect());\n};\n\n/**\n * Recorder that uses the MediaContext API and AudioNode API to record audio.\n *\n * It records MediaStream using https://www.npmjs.com/package/extendable-media-recorder.\n */\n@trace.resource()\nexport class MediaStreamRecorder implements AudioRecorder {\n private readonly _mediaStreamTrack: MediaStreamTrack;\n /**\n * Default MediaRecorder implementation do not support wav encoding.\n */\n private readonly _interval: number;\n private _mediaRecorder?: IMediaRecorder = undefined;\n private _header?: Uint8Array = undefined;\n private _onChunk?: (chunk: AudioChunk) => void;\n\n constructor({ mediaStreamTrack, interval }: { mediaStreamTrack: MediaStreamTrack; interval: number }) {\n this._mediaStreamTrack = mediaStreamTrack;\n this._interval = interval;\n }\n\n get wavConfig(): WavConfig {\n const settings = this._mediaStreamTrack.getSettings();\n return {\n channels: settings.channelCount ?? 1,\n sampleRate: settings.sampleRate ?? 16000,\n bitDepthCode: settings.sampleSize ? String(settings.sampleSize) : '16',\n };\n }\n\n get mediaStreamTrack() {\n return this._mediaStreamTrack;\n }\n\n setOnChunk(onChunk: (chunk: AudioChunk) => void): void {\n this._onChunk = onChunk;\n }\n\n async start() {\n await (initializingPromise ??= initializeExtendableMediaRecorder()).catch((err) =>\n log.info('initializeExtendableMediaRecorder', { err }),\n );\n\n if (!this._mediaRecorder) {\n const stream = new MediaStream([this._mediaStreamTrack]);\n this._mediaRecorder = new MediaRecorder(stream, { mimeType: 'audio/wav' });\n }\n\n if (this._mediaRecorder.state === 'recording') {\n return;\n }\n invariant(this._onChunk, 'MediaStreamRecorder: onChunk is not set');\n this._mediaRecorder.ondataavailable = (event) => this._ondataavailable(event);\n this._mediaRecorder.start(this._interval);\n }\n\n async stop() {\n if (this._mediaRecorder?.state !== 'recording') {\n return;\n }\n this._mediaRecorder.stop();\n }\n\n @synchronized\n private async _ondataavailable(event: IBlobEvent) {\n const blob = event.data;\n const uint8Array = new Uint8Array(await blob.arrayBuffer());\n\n // First chunk from the MediaRecorder has a header.\n const isHeader =\n uint8Array[0] === 0x52 && // R\n uint8Array[1] === 0x49 && // I\n uint8Array[2] === 0x46 && // F\n uint8Array[3] === 0x46; // F\n let wav: WaveFile;\n\n if (isHeader) {\n wav = new WaveFile(uint8Array);\n this._header = uint8Array.slice(0, 44);\n } else if (this._header) {\n wav = new WaveFile(new Uint8Array([...this._header, ...uint8Array]));\n } else {\n log.warn('MediaStreamRecorder: no header');\n return;\n }\n\n this._onChunk!({\n timestamp: Date.now(),\n data: wav.getSamples(),\n });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { WaveFile } from 'wavefile';\n\nimport { DeferredTask, Trigger } from '@dxos/async';\nimport { type Context, LifecycleState, Resource } from '@dxos/context';\nimport { log } from '@dxos/log';\nimport { type DataType } from '@dxos/schema';\nimport { trace } from '@dxos/tracing';\n\nimport { type AudioRecorder, type AudioChunk } from './audio-recorder';\nimport { TRANSCRIPTION_URL } from '../types';\nimport { mergeFloat64Arrays } from '../util';\n\ntype WhisperWord = {\n word: string;\n\n /**\n * Time in seconds from the start of the audio.\n */\n start: number;\n\n /**\n * Time in seconds from the start of the audio.\n */\n end: number;\n};\n\ntype WhisperSegment = {\n text: string;\n\n /**\n * Time in seconds from the start of the audio.\n */\n start: number;\n\n /**\n * Time in seconds from the start of the audio.\n */\n end: number;\n\n /**\n * Probability of no speech in the segment.\n */\n no_speech_prob: number;\n\n words: WhisperWord[];\n};\n\nexport type TranscribeConfig = {\n /**\n * Number of chunks to transcribe automatically after.\n */\n transcribeAfterChunksAmount: number;\n\n /**\n * Number of chunks to save before the user starts speaking.\n * This is needed to catch the beginning of the user's speech.\n */\n prefixBufferChunksAmount: number;\n};\n\nexport type TranscriberParams = {\n config: TranscribeConfig;\n recorder: AudioRecorder;\n onSegments: (segments: DataType.MessageBlock.Transcription[]) => Promise<void>;\n};\n\n/**\n * Handles transcription of audio chunks.\n * If user is not speaking, the last `minChunksAmount` chunks are saved and transcribed.\n * If user is speaking, the chunks are added to the buffer until the user is done talking.\n */\nexport class Transcriber extends Resource {\n private _audioChunks: AudioChunk[] = [];\n private _lastUsedTimestamp = 0;\n\n private readonly _openTrigger = new Trigger({ autoReset: true });\n\n private readonly _config: TranscribeConfig;\n private readonly _recorder: AudioRecorder;\n private readonly _onSegments: TranscriberParams['onSegments'];\n\n private _recording = false;\n private _transcribeTask?: DeferredTask = undefined;\n\n constructor({ config, recorder, onSegments }: TranscriberParams) {\n super();\n this._config = config;\n this._recorder = recorder;\n this._onSegments = onSegments;\n }\n\n protected override async _open(ctx: Context) {\n log.info('opening');\n this._recorder.setOnChunk((chunk) => this._saveAudioChunk(chunk));\n await this._recorder.start();\n this._transcribeTask = new DeferredTask(ctx, async () => this._transcribe());\n this._openTrigger.wake();\n }\n\n protected override async _close() {\n log.info('closing');\n this._recording = false;\n this._transcribeTask = undefined;\n await this._recorder.stop();\n }\n\n startChunksRecording() {\n log.info('starting');\n if (this._lifecycleState !== LifecycleState.OPEN) {\n return;\n }\n\n this._recording = true;\n }\n\n stopChunksRecording() {\n if (this._lifecycleState !== LifecycleState.OPEN || !this._recording) {\n return;\n }\n\n this._recording = false;\n this._transcribeTask?.schedule();\n log.info('stopped');\n }\n\n private _saveAudioChunk(chunk: AudioChunk) {\n log('saving audio chunk', { chunk });\n this._audioChunks.push(chunk);\n\n // Clean the buffer if the user is not speaking and the transcription task is not scheduled.\n if (\n !this._recording &&\n (!this._transcribeTask || !this._transcribeTask.scheduled) &&\n this._audioChunks.length >= this._config.prefixBufferChunksAmount\n ) {\n this._audioChunks = this._dropOldChunks();\n } else if (this._audioChunks.length >= this._config.transcribeAfterChunksAmount && this._recording) {\n this._transcribeTask?.schedule();\n }\n }\n\n private async _transcribe() {\n log('transcribing', { chunks: this._audioChunks.length });\n const chunks = this._audioChunks;\n this._audioChunks = this._dropOldChunks();\n if (chunks.length === 0) {\n return;\n }\n\n const audio = await this._mergeAudioChunks(chunks);\n const segments = await this._fetchTranscription(audio);\n if (!Array.isArray(segments) || segments.length === 0) {\n return;\n }\n\n const alignedSegments = this._alignSegments(segments, chunks);\n if (alignedSegments.length > 0) {\n await this._onSegments(alignedSegments);\n }\n }\n\n private _dropOldChunks() {\n return this._config.prefixBufferChunksAmount > 0\n ? this._audioChunks.slice(-this._config.prefixBufferChunksAmount)\n : [];\n }\n\n @trace.span({ showInBrowserTimeline: true })\n private async _mergeAudioChunks(chunks: AudioChunk[]) {\n const file = new WaveFile();\n const wavConfig = this._recorder.wavConfig;\n\n file.fromScratch(\n wavConfig.channels,\n wavConfig.sampleRate,\n wavConfig.bitDepthCode,\n mergeFloat64Arrays(chunks.map(({ data }) => data)),\n );\n\n return file.toBase64();\n }\n\n @trace.span({ showInBrowserTimeline: true })\n private async _fetchTranscription(audio: string) {\n if (audio.length === 0) {\n this._audioChunks = [];\n throw new Error('No audio to send for transcribing');\n }\n\n const response = await fetch(`${TRANSCRIPTION_URL}/transcribe`, {\n method: 'POST',\n body: JSON.stringify({ audio }),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n this._audioChunks = [];\n throw new Error(`Transcription failed: ${response.statusText}`);\n }\n\n const { segments } = (await response.json()) as {\n segments: WhisperSegment[];\n };\n\n log.info('transcription response', {\n segments: segments.length,\n string: segments.map((segments) => segments.text).join(' '),\n });\n\n return segments;\n }\n\n private _alignSegments(\n segments: WhisperSegment[],\n originalChunks: AudioChunk[],\n ): DataType.MessageBlock.Transcription[] {\n // Absolute zero for all relative timestamps in the segments.\n const zeroTimestamp = originalChunks.at(0)!.timestamp;\n\n const filteredSegments = segments\n // Use segments that end after the last used timestamp.\n // Segments could overlap, so we need to filter words that starts after the last used timestamp.\n .filter((segment) => zeroTimestamp + segment.end * 1_000 >= this._lastUsedTimestamp)\n // Use words that starts after the last used timestamp.\n .map((segment) => {\n const words = segment.words.filter((word) => zeroTimestamp + word.start * 1_000 >= this._lastUsedTimestamp);\n return {\n ...segment,\n words,\n text: words.map((word) => word.word).join(''),\n start: words.at(0)?.start ?? segment.end,\n };\n })\n .filter((segment) => segment.words.length > 0);\n\n if (filteredSegments.length === 0) {\n return [];\n }\n\n // Update last timestamp.\n this._lastUsedTimestamp = zeroTimestamp + filteredSegments.at(-1)!.end * 1_000;\n\n // Add absolute timestamp to each segment.\n return filteredSegments.map((segment) => ({\n type: 'transcription',\n started: new Date(zeroTimestamp + segment.start * 1_000).toISOString(),\n text: segment.text.trim(),\n }));\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { synchronized } from '@dxos/async';\nimport { Resource } from '@dxos/context';\nimport { QueueImpl, type Queue } from '@dxos/echo-db';\nimport { create } from '@dxos/echo-schema';\nimport { type DXN } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type EdgeHttpClient } from '@dxos/react-edge-client';\nimport { DataType } from '@dxos/schema';\n\nimport { MediaStreamRecorder } from './media-stream-recorder';\nimport { Transcriber } from './transcriber';\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\nexport type TranscriptMessageEnricher = (message: DataType.Message) => Promise<DataType.Message>;\n\nexport type TranscriptionManagerOptions = {\n edgeClient: EdgeHttpClient;\n\n /**\n * Enrich the message before it is written to the transcription queue.\n */\n messageEnricher?: TranscriptMessageEnricher;\n};\n\n/**\n * Manages transcription state for a meeting.\n */\nexport class TranscriptionManager extends Resource {\n private readonly _edgeClient: EdgeHttpClient;\n private readonly _messageEnricher?: TranscriptMessageEnricher;\n private _audioStreamTrack?: MediaStreamTrack = undefined;\n private _identityDid?: string = undefined;\n private _mediaRecorder?: MediaStreamRecorder = undefined;\n private _transcriber?: Transcriber = undefined;\n private _queue?: Queue<DataType.Message> = undefined;\n private _enabled = false;\n\n constructor(options: TranscriptionManagerOptions) {\n super();\n this._edgeClient = options.edgeClient;\n this._messageEnricher = options.messageEnricher;\n }\n\n protected override async _open() {\n await this._toggleTranscriber();\n }\n\n protected override async _close() {\n void this._transcriber?.close();\n }\n\n setQueue(queueDxn: DXN): TranscriptionManager {\n if (this._queue?.dxn.toString() !== queueDxn.toString()) {\n log.info('setQueue', { queueDxn: queueDxn.toString() });\n this._queue = new QueueImpl<DataType.Message>(this._edgeClient, queueDxn);\n }\n return this;\n }\n\n setIdentityDid(did: string): TranscriptionManager {\n if (this._identityDid !== did) {\n this._identityDid = did;\n }\n return this;\n }\n\n setRecording(recording?: boolean): TranscriptionManager {\n if (!this.isOpen || !this._enabled) {\n return this;\n }\n\n if (recording) {\n this._transcriber?.startChunksRecording();\n } else {\n this._transcriber?.stopChunksRecording();\n }\n return this;\n }\n\n /**\n * Enable or disable transcription.\n * @param enabled - Whether to enable transcription.\n */\n @synchronized\n async setEnabled(enabled?: boolean) {\n if (this._enabled === enabled) {\n return;\n }\n\n this._enabled = enabled ?? false;\n // TODO(burdon): Why is toggle called here?\n this.isOpen && (await this._toggleTranscriber());\n }\n\n @synchronized\n async setAudioTrack(track?: MediaStreamTrack) {\n if (this._audioStreamTrack === track) {\n return;\n }\n\n this._audioStreamTrack = track;\n this.isOpen && (await this._toggleTranscriber());\n }\n\n // TODO(burdon): Change this to setEnables (explicit), not toggle.\n private async _toggleTranscriber() {\n await this._maybeReinitTranscriber();\n\n // Open or close transcriber if transcription is enabled or disabled.\n if (this._enabled) {\n await this._transcriber?.open();\n // TODO(burdon): Started and stopped blocks appear twice.\n const block = create(DataType.Message, {\n created: new Date().toISOString(),\n blocks: [{ type: 'transcription', text: 'Started', started: new Date().toISOString() }],\n sender: { role: 'assistant' },\n });\n this._queue?.append([block]);\n } else {\n await this._transcriber?.close();\n const block = create(DataType.Message, {\n created: new Date().toISOString(),\n blocks: [{ type: 'transcription', text: 'Stopped', started: new Date().toISOString() }],\n sender: { role: 'assistant' },\n });\n this._queue?.append([block]);\n }\n }\n\n private async _maybeReinitTranscriber() {\n if (!this._audioStreamTrack || !this._enabled) {\n return;\n }\n\n // Reinitialize transcriber if queue or media stream track has changed.\n let needReinit = false;\n if (this._audioStreamTrack !== this._mediaRecorder?.mediaStreamTrack) {\n this._mediaRecorder = new MediaStreamRecorder({\n mediaStreamTrack: this._audioStreamTrack,\n interval: RECORD_INTERVAL,\n });\n needReinit = true;\n }\n if (needReinit) {\n await this._transcriber?.close();\n this._transcriber = new Transcriber({\n config: {\n transcribeAfterChunksAmount: TRANSCRIBE_AFTER_CHUNKS_AMOUNT,\n prefixBufferChunksAmount: PREFIXED_CHUNKS_AMOUNT,\n },\n recorder: this._mediaRecorder,\n onSegments: (segments) => this._onSegments(segments),\n });\n }\n }\n\n private async _onSegments(segments: DataType.MessageBlock.Transcription[]) {\n if (!this.isOpen || !this._queue) {\n return;\n }\n\n let block = create(DataType.Message, {\n created: new Date().toISOString(),\n blocks: segments,\n sender: { identityDid: this._identityDid },\n });\n\n if (this._messageEnricher) {\n block = await this._messageEnricher(block);\n }\n\n this._queue.append([block]);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["MediaRecorder", "register", "WaveFile", "synchronized", "invariant", "log", "trace", "initializingPromise", "initializeExtendableMediaRecorder", "connect", "MediaStreamRecorder", "constructor", "mediaStreamTrack", "interval", "_mediaRecorder", "undefined", "_header", "_mediaStreamTrack", "_interval", "wavConfig", "settings", "getSettings", "channels", "channelCount", "sampleRate", "bitDepthCode", "sampleSize", "String", "setOnChunk", "onChunk", "_onChunk", "start", "catch", "err", "info", "stream", "MediaStream", "mimeType", "state", "ondataavailable", "event", "_ondataavailable", "stop", "blob", "data", "uint8Array", "Uint8Array", "arrayBuffer", "isHeader", "wav", "slice", "warn", "timestamp", "Date", "now", "getSamples", "resource", "WaveFile", "DeferredTask", "Trigger", "LifecycleState", "Resource", "log", "trace", "Transcriber", "Resource", "constructor", "config", "recorder", "onSegments", "_audioChunks", "_lastUsedTimestamp", "_openTrigger", "Trigger", "autoReset", "_recording", "_transcribeTask", "undefined", "_config", "_recorder", "_onSegments", "_open", "ctx", "log", "info", "setOnChunk", "chunk", "_saveAudioChunk", "start", "DeferredTask", "_transcribe", "wake", "_close", "stop", "startChunksRecording", "_lifecycleState", "LifecycleState", "OPEN", "stopChunksRecording", "schedule", "push", "scheduled", "length", "prefixBufferChunksAmount", "_dropOldChunks", "transcribeAfterChunksAmount", "chunks", "audio", "_mergeAudioChunks", "segments", "_fetchTranscription", "Array", "isArray", "alignedSegments", "_alignSegments", "slice", "file", "WaveFile", "wavConfig", "fromScratch", "channels", "sampleRate", "bitDepthCode", "mergeFloat64Arrays", "map", "data", "toBase64", "Error", "response", "fetch", "TRANSCRIPTION_URL", "method", "body", "JSON", "stringify", "headers", "ok", "statusText", "json", "string", "text", "join", "originalChunks", "zeroTimestamp", "at", "timestamp", "filteredSegments", "filter", "segment", "end", "words", "word", "type", "started", "Date", "toISOString", "trim", "trace", "span", "showInBrowserTimeline", "synchronized", "Resource", "QueueImpl", "create", "log", "DataType", "RECORD_INTERVAL", "PREFIXED_CHUNKS_AMOUNT", "TRANSCRIBE_AFTER_CHUNKS_AMOUNT", "TranscriptionManager", "Resource", "constructor", "options", "_audioStreamTrack", "undefined", "_identityDid", "_mediaRecorder", "_transcriber", "_queue", "_enabled", "_edgeClient", "edgeClient", "_messageEnricher", "messageEnricher", "_open", "_toggleTranscriber", "_close", "close", "setQueue", "queueDxn", "dxn", "toString", "log", "info", "QueueImpl", "setIdentityDid", "did", "setRecording", "recording", "isOpen", "startChunksRecording", "stopChunksRecording", "setEnabled", "enabled", "setAudioTrack", "track", "_maybeReinitTranscriber", "open", "block", "create", "DataType", "Message", "created", "Date", "toISOString", "blocks", "type", "text", "started", "sender", "role", "append", "needReinit", "mediaStreamTrack", "MediaStreamRecorder", "interval", "Transcriber", "config", "transcribeAfterChunksAmount", "prefixBufferChunksAmount", "recorder", "onSegments", "segments", "_onSegments", "identityDid", "synchronized"]
7
+ }
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  TranscriptContainer,
4
4
  TranscriptionSettings
5
- } from "./chunk-DXJN2JWV.mjs";
5
+ } from "./chunk-MHQP2PAF.mjs";
6
6
  import {
7
7
  AppGraphBuilder,
8
8
  IntentResolver,
@@ -18,16 +18,16 @@ import {
18
18
  useQueueModelAdapter,
19
19
  useTranscriber,
20
20
  useVoiceInput
21
- } from "./chunk-B2BD7S4X.mjs";
21
+ } from "./chunk-4KC3E5T4.mjs";
22
22
  import {
23
23
  MediaStreamRecorder,
24
24
  Transcriber,
25
25
  TranscriptionManager
26
- } from "./chunk-UWF6LM27.mjs";
26
+ } from "./chunk-V5IWBPYO.mjs";
27
27
  import "./chunk-QMHMEKB3.mjs";
28
28
  import {
29
29
  TranscriptType
30
- } from "./chunk-OS2ITZUL.mjs";
30
+ } from "./chunk-QYG2FOXA.mjs";
31
31
  import {
32
32
  TranscriptionCapabilities
33
33
  } from "./chunk-5E2MR5XK.mjs";
@@ -42,7 +42,7 @@ import { QueueImpl } from "@dxos/echo-db";
42
42
  import { isInstanceOf } from "@dxos/echo-schema";
43
43
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
44
44
  import { getSpace } from "@dxos/react-client/echo";
45
- import { MessageType } from "@dxos/schema";
45
+ import { DataType } from "@dxos/schema";
46
46
 
47
47
  // packages/plugins/plugin-transcription/src/translations.ts
48
48
  var translations_default = [
@@ -87,12 +87,12 @@ var TranscriptionPlugin = () => definePlugin(meta, [
87
87
  icon: "ph--subtitles--regular",
88
88
  // TODO(wittjosiah): Factor out. Artifact? Separate capability?
89
89
  getTextContent: async (transcript) => {
90
- const client = context.requestCapability(ClientCapabilities.Client);
90
+ const client = context.getCapability(ClientCapabilities.Client);
91
91
  const space = getSpace(transcript);
92
92
  const members = space?.members.get().map((member) => member.identity) ?? [];
93
93
  const queue = new QueueImpl(client.edge, transcript.queue.dxn);
94
94
  await queue.refresh();
95
- const content = queue.items.filter((message) => isInstanceOf(MessageType, message)).flatMap((message, index) => renderMarkdown(members)(message, index)).join("\n\n");
95
+ const content = queue.items.filter((message) => isInstanceOf(DataType.Message, message)).flatMap((message, index) => renderMarkdown(members)(message, index)).join("\n\n");
96
96
  return content;
97
97
  }
98
98
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/TranscriptionPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\nimport { QueueImpl } from '@dxos/echo-db';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { MessageType } from '@dxos/schema';\n\nimport {\n AppGraphBuilder,\n IntentResolver,\n MeetingTranscriptionState,\n ReactSurface,\n Transcriber,\n Settings,\n} from './capabilities';\nimport { renderMarkdown } from './components';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { TranscriptType } from './types';\n\nexport const TranscriptionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: Settings,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: (context) =>\n contributes(Capabilities.Metadata, {\n id: TranscriptType.typename,\n metadata: {\n icon: 'ph--subtitles--regular',\n // TODO(wittjosiah): Factor out. Artifact? Separate capability?\n getTextContent: async (transcript: TranscriptType) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = getSpace(transcript);\n const members = space?.members.get().map((member) => member.identity) ?? [];\n const queue = new QueueImpl(client.edge, transcript.queue.dxn);\n await queue.refresh();\n const content = queue.items\n .filter((message) => isInstanceOf(MessageType, message))\n .flatMap((message, index) => renderMarkdown(members)(message, index))\n .join('\\n\\n');\n return content;\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [contributes(ClientCapabilities.Schema, [TranscriptType])],\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/transcription`,\n activatesOn: Events.SetupAppGraph,\n activate: Transcriber,\n }),\n defineModule({\n id: `${meta.id}/module/meeting-transcription-state`,\n activatesOn: Events.SetupAppGraph,\n activate: MeetingTranscriptionState,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { TRANSCRIPTION_PLUGIN } from './meta';\nimport { TranscriptType } from './types';\n\nexport default [\n {\n 'en-US': {\n [TranscriptType.typename]: {\n 'typename label': 'Transcript',\n 'object name placeholder': 'New transcript',\n },\n [TRANSCRIPTION_PLUGIN]: {\n 'plugin name': 'Transcription',\n 'transcript companion label': 'Transcript',\n\n 'start transcription label': 'Start transcription',\n 'stop transcription label': 'Stop transcription',\n\n 'delete button': 'Delete',\n 'bookmark button': 'Bookmark',\n 'scroll to end label': 'Scroll to latest',\n\n 'settings entity extraction label': 'Entity extraction',\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;AAC9E,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;;;ACF5B,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,eAAeC,QAAQ,GAAG;QACzB,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,oBAAAA,GAAuB;QACtB,eAAe;QACf,8BAA8B;QAE9B,6BAA6B;QAC7B,4BAA4B;QAE5B,iBAAiB;QACjB,mBAAmB;QACnB,uBAAuB;QAEvB,oCAAoC;MACtC;IACF;EACF;;;;ADJK,IAAMC,sBAAsB,MACjCC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAUM;EACZ,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOS;IACpBP,UAAU,CAACQ,YACTP,YAAYC,aAAaO,UAAU;MACjCb,IAAIc,eAAeC;MACnBC,UAAU;QACRC,MAAM;;QAENC,gBAAgB,OAAOC,eAAAA;AACrB,gBAAMC,SAASR,QAAQS,kBAAkBC,mBAAmBC,MAAM;AAClE,gBAAMC,QAAQC,SAASN,UAAAA;AACvB,gBAAMO,UAAUF,OAAOE,QAAQC,IAAAA,EAAMC,IAAI,CAACC,WAAWA,OAAOC,QAAQ,KAAK,CAAA;AACzE,gBAAMC,QAAQ,IAAIC,UAAUZ,OAAOa,MAAMd,WAAWY,MAAMG,GAAG;AAC7D,gBAAMH,MAAMI,QAAO;AACnB,gBAAMC,UAAUL,MAAMM,MACnBC,OAAO,CAACC,YAAYC,aAAaC,aAAaF,OAAAA,CAAAA,EAC9CG,QAAQ,CAACH,SAASI,UAAUC,eAAelB,OAAAA,EAASa,SAASI,KAAAA,CAAAA,EAC7DE,KAAK,MAAA;AACR,iBAAOT;QACT;MACF;IACF,CAAA;EACJ,CAAA;EACArC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa6C,aAAaC;IAC1B3C,UAAU,MAAM;MAACC,YAAYiB,mBAAmB0B,QAAQ;QAAClC;OAAe;;EAC1E,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO+C;IACpB7C,UAAU8C;EACZ,CAAA;EACAnD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOiD;IACpB/C,UAAUgD;EACZ,CAAA;EACArD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOmD;IACpBjD,UAAUkD;EACZ,CAAA;EACAvD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOmD;IACpBjD,UAAUmD;EACZ,CAAA;EACAxD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOmD;IACpBjD,UAAUoD;EACZ,CAAA;CACD;",
6
- "names": ["Capabilities", "Events", "contributes", "defineModule", "definePlugin", "QueueImpl", "isInstanceOf", "ClientCapabilities", "ClientEvents", "getSpace", "MessageType", "TranscriptType", "typename", "TRANSCRIPTION_PLUGIN", "TranscriptionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupSettings", "Settings", "SetupMetadata", "context", "Metadata", "TranscriptType", "typename", "metadata", "icon", "getTextContent", "transcript", "client", "requestCapability", "ClientCapabilities", "Client", "space", "getSpace", "members", "get", "map", "member", "identity", "queue", "QueueImpl", "edge", "dxn", "refresh", "content", "items", "filter", "message", "isInstanceOf", "MessageType", "flatMap", "index", "renderMarkdown", "join", "ClientEvents", "SetupSchema", "Schema", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder", "Transcriber", "MeetingTranscriptionState"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\nimport { QueueImpl } from '@dxos/echo-db';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AppGraphBuilder,\n IntentResolver,\n MeetingTranscriptionState,\n ReactSurface,\n Transcriber,\n Settings,\n} from './capabilities';\nimport { renderMarkdown } from './components';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { TranscriptType } from './types';\n\nexport const TranscriptionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: Settings,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: (context) =>\n contributes(Capabilities.Metadata, {\n id: TranscriptType.typename,\n metadata: {\n icon: 'ph--subtitles--regular',\n // TODO(wittjosiah): Factor out. Artifact? Separate capability?\n getTextContent: async (transcript: TranscriptType) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getSpace(transcript);\n const members = space?.members.get().map((member) => member.identity) ?? [];\n const queue = new QueueImpl(client.edge, transcript.queue.dxn);\n await queue.refresh();\n const content = queue.items\n .filter((message) => isInstanceOf(DataType.Message, message))\n .flatMap((message, index) => renderMarkdown(members)(message, index))\n .join('\\n\\n');\n return content;\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [contributes(ClientCapabilities.Schema, [TranscriptType])],\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/transcription`,\n activatesOn: Events.SetupAppGraph,\n activate: Transcriber,\n }),\n defineModule({\n id: `${meta.id}/module/meeting-transcription-state`,\n activatesOn: Events.SetupAppGraph,\n activate: MeetingTranscriptionState,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { TRANSCRIPTION_PLUGIN } from './meta';\nimport { TranscriptType } from './types';\n\nexport default [\n {\n 'en-US': {\n [TranscriptType.typename]: {\n 'typename label': 'Transcript',\n 'object name placeholder': 'New transcript',\n },\n [TRANSCRIPTION_PLUGIN]: {\n 'plugin name': 'Transcription',\n 'transcript companion label': 'Transcript',\n\n 'start transcription label': 'Start transcription',\n 'stop transcription label': 'Stop transcription',\n\n 'delete button': 'Delete',\n 'bookmark button': 'Bookmark',\n 'scroll to end label': 'Scroll to latest',\n\n 'settings entity extraction label': 'Entity extraction',\n },\n },\n },\n];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;AAC9E,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;;;ACFzB,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,eAAeC,QAAQ,GAAG;QACzB,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,oBAAAA,GAAuB;QACtB,eAAe;QACf,8BAA8B;QAE9B,6BAA6B;QAC7B,4BAA4B;QAE5B,iBAAiB;QACjB,mBAAmB;QACnB,uBAAuB;QAEvB,oCAAoC;MACtC;IACF;EACF;;;;ADJK,IAAMC,sBAAsB,MACjCC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAUM;EACZ,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOS;IACpBP,UAAU,CAACQ,YACTP,YAAYC,aAAaO,UAAU;MACjCb,IAAIc,eAAeC;MACnBC,UAAU;QACRC,MAAM;;QAENC,gBAAgB,OAAOC,eAAAA;AACrB,gBAAMC,SAASR,QAAQS,cAAcC,mBAAmBC,MAAM;AAC9D,gBAAMC,QAAQC,SAASN,UAAAA;AACvB,gBAAMO,UAAUF,OAAOE,QAAQC,IAAAA,EAAMC,IAAI,CAACC,WAAWA,OAAOC,QAAQ,KAAK,CAAA;AACzE,gBAAMC,QAAQ,IAAIC,UAAUZ,OAAOa,MAAMd,WAAWY,MAAMG,GAAG;AAC7D,gBAAMH,MAAMI,QAAO;AACnB,gBAAMC,UAAUL,MAAMM,MACnBC,OAAO,CAACC,YAAYC,aAAaC,SAASC,SAASH,OAAAA,CAAAA,EACnDI,QAAQ,CAACJ,SAASK,UAAUC,eAAenB,OAAAA,EAASa,SAASK,KAAAA,CAAAA,EAC7DE,KAAK,MAAA;AACR,iBAAOV;QACT;MACF;IACF,CAAA;EACJ,CAAA;EACArC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa8C,aAAaC;IAC1B5C,UAAU,MAAM;MAACC,YAAYiB,mBAAmB2B,QAAQ;QAACnC;OAAe;;EAC1E,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOgD;IACpB9C,UAAU+C;EACZ,CAAA;EACApD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOkD;IACpBhD,UAAUiD;EACZ,CAAA;EACAtD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOoD;IACpBlD,UAAUmD;EACZ,CAAA;EACAxD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOoD;IACpBlD,UAAUoD;EACZ,CAAA;EACAzD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOoD;IACpBlD,UAAUqD;EACZ,CAAA;CACD;",
6
+ "names": ["Capabilities", "Events", "contributes", "defineModule", "definePlugin", "QueueImpl", "isInstanceOf", "ClientCapabilities", "ClientEvents", "getSpace", "DataType", "TranscriptType", "typename", "TRANSCRIPTION_PLUGIN", "TranscriptionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupSettings", "Settings", "SetupMetadata", "context", "Metadata", "TranscriptType", "typename", "metadata", "icon", "getTextContent", "transcript", "client", "getCapability", "ClientCapabilities", "Client", "space", "getSpace", "members", "get", "map", "member", "identity", "queue", "QueueImpl", "edge", "dxn", "refresh", "content", "items", "filter", "message", "isInstanceOf", "DataType", "Message", "flatMap", "index", "renderMarkdown", "join", "ClientEvents", "SetupSchema", "Schema", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder", "Transcriber", "MeetingTranscriptionState"]
7
7
  }
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  TranscriptType,
7
7
  TranscriptionAction
8
- } from "./chunk-OS2ITZUL.mjs";
8
+ } from "./chunk-QYG2FOXA.mjs";
9
9
  import "./chunk-X4DDJIVL.mjs";
10
10
 
11
11
  // packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts
12
12
  import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
13
+ import { createQueueDxn } from "@dxos/echo-schema";
13
14
  import { live, refFromDXN } from "@dxos/live-object";
14
- import { createQueueDxn } from "@dxos/react-client/echo";
15
15
  var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
16
16
  createResolver({
17
17
  intent: TranscriptionAction.Create,
@@ -31,4 +31,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
31
31
  export {
32
32
  intent_resolver_default as default
33
33
  };
34
- //# sourceMappingURL=intent-resolver-HDRFXMKP.mjs.map
34
+ //# sourceMappingURL=intent-resolver-HFVAL274.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver, type PluginContext } from '@dxos/app-framework';\nimport { createQueueDxn } from '@dxos/echo-schema';\nimport { type SpaceId } from '@dxos/keys';\nimport { live, refFromDXN } from '@dxos/live-object';\n\nimport { TranscriptionAction, TranscriptType } from '../types';\nimport { getTimeStr } from '../util';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: TranscriptionAction.Create,\n resolve: ({ name, spaceId }) => {\n const transcript = live(TranscriptType, {\n queue: refFromDXN(createQueueDxn(spaceId as SpaceId)),\n name: name ?? `Transcript ${getTimeStr(Date.now())}`,\n });\n\n return { data: { object: transcript } };\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAA0C;AAC9E,SAASC,sBAAsB;AAE/B,SAASC,MAAMC,kBAAkB;AAKjC,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,oBAAoBC;IAC5BC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,aAAaC,KAAKC,gBAAgB;QACtCC,OAAOC,WAAWC,eAAeN,OAAAA,CAAAA;QACjCD,MAAMA,QAAQ,cAAcQ,WAAWC,KAAKC,IAAG,CAAA,CAAA;MACjD,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQV;QAAW;MAAE;IACxC;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "contributes", "createResolver", "createQueueDxn", "live", "refFromDXN", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TranscriptionAction", "Create", "resolve", "name", "spaceId", "transcript", "live", "TranscriptType", "queue", "refFromDXN", "createQueueDxn", "getTimeStr", "Date", "now", "data", "object"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-transcription/src/meta.ts":{"bytes":1768,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts":{"bytes":2743,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"raw-loader:./system-prompt.tpl?raw":{"bytes":1506,"imports":[]},"packages/plugins/plugin-transcription/src/entity-extraction/entity-extraction.ts":{"bytes":14923,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"raw-loader:./system-prompt.tpl?raw","kind":"import-statement","original":"./system-prompt.tpl?raw"}],"format":"esm"},"packages/plugins/plugin-transcription/src/entity-extraction/index.ts":{"bytes":552,"imports":[{"path":"packages/plugins/plugin-transcription/src/entity-extraction/entity-extraction.ts","kind":"import-statement","original":"./entity-extraction"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/audio-recorder.ts":{"bytes":3239,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytes":13350,"imports":[{"path":"extendable-media-recorder","kind":"import-statement","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"extendable-media-recorder-wav-encoder","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/types/schema.ts":{"bytes":3394,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/types/types.ts":{"bytes":5004,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-transcription/src/types/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-transcription/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/util/array.ts":{"bytes":1587,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/util/get-time-str.ts":{"bytes":1341,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/util/monitor-audio-level.ts":{"bytes":5982,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/util/index.ts":{"bytes":726,"imports":[{"path":"packages/plugins/plugin-transcription/src/util/array.ts","kind":"import-statement","original":"./array"},{"path":"packages/plugins/plugin-transcription/src/util/get-time-str.ts","kind":"import-statement","original":"./get-time-str"},{"path":"packages/plugins/plugin-transcription/src/util/monitor-audio-level.ts","kind":"import-statement","original":"./monitor-audio-level"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts":{"bytes":25525,"imports":[{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/transcription-manager.ts":{"bytes":20376,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/index.ts":{"bytes":880,"imports":[{"path":"packages/plugins/plugin-transcription/src/transcriber/audio-recorder.ts","kind":"import-statement","original":"./audio-recorder"},{"path":"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"},{"path":"packages/plugins/plugin-transcription/src/transcriber/transcription-manager.ts","kind":"import-statement","original":"./transcription-manager"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytes":34336,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/assistant/testing","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/entity-extraction/index.ts","kind":"import-statement","original":"../entity-extraction"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytes":3468,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts":{"bytes":1711,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-transcription/src/model/model.ts":{"bytes":24036,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/model/index.ts":{"bytes":508,"imports":[{"path":"packages/plugins/plugin-transcription/src/model/model.ts","kind":"import-statement","original":"./model"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/Transcript/transcript-extension.ts":{"bytes":24861,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"date-fns/format","kind":"import-statement","external":true},{"path":"date-fns/intervalToDuration","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytes":10910,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/Transcript/transcript-extension.ts","kind":"import-statement","original":"./transcript-extension"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/Transcript/index.ts":{"bytes":537,"imports":[{"path":"packages/plugins/plugin-transcription/src/components/Transcript/Transcript.tsx","kind":"import-statement","original":"./Transcript"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts":{"bytes":6333,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytes":3149,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useQueueModelAdapter.ts":{"bytes":5551,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts":{"bytes":3747,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"../capabilities"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytes":7267,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/index.ts":{"bytes":959,"imports":[{"path":"packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts","kind":"import-statement","original":"./useAudioFile"},{"path":"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/plugin-transcription/src/hooks/useQueueModelAdapter.ts","kind":"import-statement","original":"./useQueueModelAdapter"},{"path":"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"},{"path":"packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts","kind":"import-statement","original":"./useVoiceInput"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytes":4324,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/plugin-transcription/src/hooks/index.ts","kind":"import-statement","original":"../hooks"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/TranscriptionSettings.tsx":{"bytes":3074,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/index.ts":{"bytes":575,"imports":[{"path":"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/TranscriptionSettings.tsx","kind":"import-statement","original":"./TranscriptionSettings"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/index.ts":{"bytes":1174,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"import-statement","original":"./TranscriptContainer"},{"path":"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/index.ts","kind":"import-statement","original":"./TranscriptionSettings"},{"path":"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"dynamic-import","original":"./TranscriptContainer"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx":{"bytes":4501,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts":{"bytes":4660,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/settings.ts":{"bytes":2389,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/index.ts":{"bytes":2238,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts","kind":"dynamic-import","original":"./meeting-transcription-state"},{"path":"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts","kind":"dynamic-import","original":"./transcriber"},{"path":"packages/plugins/plugin-transcription/src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"packages/plugins/plugin-transcription/src/translations.ts":{"bytes":2765,"imports":[{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytes":12076,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-transcription/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/index.ts":{"bytes":1118,"imports":[{"path":"packages/plugins/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-transcription/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"./transcriber"},{"path":"packages/plugins/plugin-transcription/src/TranscriptionPlugin.tsx","kind":"import-statement","original":"./TranscriptionPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-transcription/dist/lib/node-esm/settings-I35TVDUG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1146},"packages/plugins/plugin-transcription/dist/lib/node-esm/settings-I35TVDUG.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/settings.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/settings.ts":{"bytesInOutput":376}},"bytes":761},"packages/plugins/plugin-transcription/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7037},"packages/plugins/plugin-transcription/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-DXJN2JWV.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-B2BD7S4X.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-UWF6LM27.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MediaStreamRecorder","TRANSCRIPTION_PLUGIN","Transcriber","Transcript","TranscriptContainer","TranscriptionCapabilities","TranscriptionContainer","TranscriptionManager","TranscriptionPlugin","TranscriptionSettings","meta","renderMarkdown","useAudioFile","useAudioTrack","useQueueModelAdapter","useTranscriber","useVoiceInput"],"entryPoint":"packages/plugins/plugin-transcription/src/index.ts","inputs":{"packages/plugins/plugin-transcription/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytesInOutput":2571},"packages/plugins/plugin-transcription/src/translations.ts":{"bytesInOutput":636}},"bytes":4620},"packages/plugins/plugin-transcription/dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-transcription/dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"}],"exports":["TRANSCRIPTION_URL","TranscriptSchema","TranscriptType","TranscriptionAction","TranscriptionSettingsSchema","isTranscript"],"entryPoint":"packages/plugins/plugin-transcription/src/types/index.ts","inputs":{},"bytes":468},"packages/plugins/plugin-transcription/dist/lib/node-esm/app-graph-builder-QK25O5K5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":25227},"packages/plugins/plugin-transcription/dist/lib/node-esm/app-graph-builder-QK25O5K5.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-UWF6LM27.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/assistant/testing","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytesInOutput":8287},"packages/plugins/plugin-transcription/src/entity-extraction/entity-extraction.ts":{"bytesInOutput":3371},"raw-loader:./system-prompt.tpl?raw":{"bytesInOutput":1575},"packages/plugins/plugin-transcription/src/entity-extraction/index.ts":{"bytesInOutput":0}},"bytes":14106},"packages/plugins/plugin-transcription/dist/lib/node-esm/intent-resolver-HDRFXMKP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1753},"packages/plugins/plugin-transcription/dist/lib/node-esm/intent-resolver-HDRFXMKP.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytesInOutput":641}},"bytes":1078},"packages/plugins/plugin-transcription/dist/lib/node-esm/meeting-transcription-state-3WOZ52BQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":845},"packages/plugins/plugin-transcription/dist/lib/node-esm/meeting-transcription-state-3WOZ52BQ.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts":{"bytesInOutput":276}},"bytes":684},"packages/plugins/plugin-transcription/dist/lib/node-esm/TranscriptContainer-GBPY6KKA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-transcription/dist/lib/node-esm/TranscriptContainer-GBPY6KKA.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-B2BD7S4X.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"}],"exports":["TranscriptionContainer","default"],"entryPoint":"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx","inputs":{},"bytes":387},"packages/plugins/plugin-transcription/dist/lib/node-esm/react-surface-D3L6VBEV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2171},"packages/plugins/plugin-transcription/dist/lib/node-esm/react-surface-D3L6VBEV.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-DXJN2JWV.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-B2BD7S4X.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx":{"bytesInOutput":871}},"bytes":1401},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-DXJN2JWV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2053},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-DXJN2JWV.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/TranscriptContainer-GBPY6KKA.mjs","kind":"dynamic-import"}],"exports":["TranscriptContainer","TranscriptionSettings"],"inputs":{"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/TranscriptionSettings.tsx":{"bytesInOutput":633},"packages/plugins/plugin-transcription/src/components/index.ts":{"bytesInOutput":114},"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/index.ts":{"bytesInOutput":0}},"bytes":1177},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-B2BD7S4X.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":45110},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-B2BD7S4X.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"date-fns/format","kind":"import-statement","external":true},{"path":"date-fns/intervalToDuration","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/app-graph-builder-QK25O5K5.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/intent-resolver-HDRFXMKP.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/meeting-transcription-state-3WOZ52BQ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/react-surface-D3L6VBEV.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/transcriber-HH7EMCGH.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/settings-I35TVDUG.mjs","kind":"dynamic-import"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true}],"exports":["AppGraphBuilder","IntentResolver","MeetingTranscriptionState","ReactSurface","Settings","Transcriber","Transcript","TranscriptContainer_default","TranscriptionContainer","renderMarkdown","useAudioFile","useAudioTrack","useQueueModelAdapter","useTranscriber","useVoiceInput"],"inputs":{"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytesInOutput":905},"packages/plugins/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytesInOutput":2245},"packages/plugins/plugin-transcription/src/components/Transcript/transcript-extension.ts":{"bytesInOutput":5464},"packages/plugins/plugin-transcription/src/model/model.ts":{"bytesInOutput":5036},"packages/plugins/plugin-transcription/src/model/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/components/Transcript/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts":{"bytesInOutput":1681},"packages/plugins/plugin-transcription/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytesInOutput":628},"packages/plugins/plugin-transcription/src/hooks/useQueueModelAdapter.ts":{"bytesInOutput":1059},"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts":{"bytesInOutput":713},"packages/plugins/plugin-transcription/src/capabilities/index.ts":{"bytesInOutput":496},"packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytesInOutput":1869}},"bytes":21665},"packages/plugins/plugin-transcription/dist/lib/node-esm/transcriber-HH7EMCGH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2198},"packages/plugins/plugin-transcription/dist/lib/node-esm/transcriber-HH7EMCGH.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-UWF6LM27.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts":{"bytesInOutput":698}},"bytes":1197},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-UWF6LM27.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":28219},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-UWF6LM27.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs","kind":"import-statement"},{"path":"extendable-media-recorder","kind":"import-statement","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"extendable-media-recorder-wav-encoder","kind":"dynamic-import","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MediaStreamRecorder","Transcriber","TranscriptionManager"],"inputs":{"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytesInOutput":3746},"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts":{"bytesInOutput":6163},"packages/plugins/plugin-transcription/src/transcriber/transcription-manager.ts":{"bytesInOutput":5195},"packages/plugins/plugin-transcription/src/transcriber/index.ts":{"bytesInOutput":0}},"bytes":15674},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1381},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs":{"imports":[],"exports":["getTimeStr","mergeFloat64Arrays"],"inputs":{"packages/plugins/plugin-transcription/src/util/get-time-str.ts":{"bytesInOutput":195},"packages/plugins/plugin-transcription/src/util/array.ts":{"bytesInOutput":267},"packages/plugins/plugin-transcription/src/util/index.ts":{"bytesInOutput":0}},"bytes":773},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4140},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-OS2ITZUL.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["TRANSCRIPTION_URL","TranscriptSchema","TranscriptType","TranscriptionAction","TranscriptionSettingsSchema","isTranscript"],"inputs":{"packages/plugins/plugin-transcription/src/types/schema.ts":{"bytesInOutput":566},"packages/plugins/plugin-transcription/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/types/types.ts":{"bytesInOutput":915}},"bytes":1944},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1506},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["TranscriptionCapabilities"],"inputs":{"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts":{"bytesInOutput":446}},"bytes":761},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":840},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs":{"imports":[],"exports":["TRANSCRIPTION_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-transcription/src/meta.ts":{"bytesInOutput":358}},"bytes":592}}}
1
+ {"inputs":{"packages/plugins/plugin-transcription/src/meta.ts":{"bytes":1768,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts":{"bytes":2743,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"raw-loader:./system-prompt.tpl?raw":{"bytes":1506,"imports":[]},"packages/plugins/plugin-transcription/src/entity-extraction/entity-extraction.ts":{"bytes":14953,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"raw-loader:./system-prompt.tpl?raw","kind":"import-statement","original":"./system-prompt.tpl?raw"}],"format":"esm"},"packages/plugins/plugin-transcription/src/entity-extraction/index.ts":{"bytes":552,"imports":[{"path":"packages/plugins/plugin-transcription/src/entity-extraction/entity-extraction.ts","kind":"import-statement","original":"./entity-extraction"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/audio-recorder.ts":{"bytes":3239,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytes":13350,"imports":[{"path":"extendable-media-recorder","kind":"import-statement","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"extendable-media-recorder-wav-encoder","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/types/schema.ts":{"bytes":3609,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/types/types.ts":{"bytes":5209,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-transcription/src/types/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-transcription/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/util/array.ts":{"bytes":1587,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/util/get-time-str.ts":{"bytes":1341,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/util/monitor-audio-level.ts":{"bytes":5982,"imports":[],"format":"esm"},"packages/plugins/plugin-transcription/src/util/index.ts":{"bytes":726,"imports":[{"path":"packages/plugins/plugin-transcription/src/util/array.ts","kind":"import-statement","original":"./array"},{"path":"packages/plugins/plugin-transcription/src/util/get-time-str.ts","kind":"import-statement","original":"./get-time-str"},{"path":"packages/plugins/plugin-transcription/src/util/monitor-audio-level.ts","kind":"import-statement","original":"./monitor-audio-level"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts":{"bytes":25553,"imports":[{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/transcription-manager.ts":{"bytes":20452,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"}],"format":"esm"},"packages/plugins/plugin-transcription/src/transcriber/index.ts":{"bytes":880,"imports":[{"path":"packages/plugins/plugin-transcription/src/transcriber/audio-recorder.ts","kind":"import-statement","original":"./audio-recorder"},{"path":"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"},{"path":"packages/plugins/plugin-transcription/src/transcriber/transcription-manager.ts","kind":"import-statement","original":"./transcription-manager"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytes":38795,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/assistant/testing","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/entity-extraction/index.ts","kind":"import-statement","original":"../entity-extraction"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytes":3490,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts":{"bytes":1711,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-transcription/src/model/model.ts":{"bytes":24036,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/model/index.ts":{"bytes":508,"imports":[{"path":"packages/plugins/plugin-transcription/src/model/model.ts","kind":"import-statement","original":"./model"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/Transcript/transcript-extension.ts":{"bytes":24869,"imports":[{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"date-fns/format","kind":"import-statement","external":true},{"path":"date-fns/intervalToDuration","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytes":10922,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/Transcript/transcript-extension.ts","kind":"import-statement","original":"./transcript-extension"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/Transcript/index.ts":{"bytes":537,"imports":[{"path":"packages/plugins/plugin-transcription/src/components/Transcript/Transcript.tsx","kind":"import-statement","original":"./Transcript"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts":{"bytes":6333,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytes":3149,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useQueueModelAdapter.ts":{"bytes":5551,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts":{"bytes":3747,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"../capabilities"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytes":7267,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"}],"format":"esm"},"packages/plugins/plugin-transcription/src/hooks/index.ts":{"bytes":959,"imports":[{"path":"packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts","kind":"import-statement","original":"./useAudioFile"},{"path":"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/plugin-transcription/src/hooks/useQueueModelAdapter.ts","kind":"import-statement","original":"./useQueueModelAdapter"},{"path":"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"},{"path":"packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts","kind":"import-statement","original":"./useVoiceInput"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytes":4328,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/plugin-transcription/src/hooks/index.ts","kind":"import-statement","original":"../hooks"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/TranscriptionSettings.tsx":{"bytes":3074,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/index.ts":{"bytes":575,"imports":[{"path":"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/TranscriptionSettings.tsx","kind":"import-statement","original":"./TranscriptionSettings"}],"format":"esm"},"packages/plugins/plugin-transcription/src/components/index.ts":{"bytes":1174,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"import-statement","original":"./TranscriptContainer"},{"path":"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/index.ts","kind":"import-statement","original":"./TranscriptionSettings"},{"path":"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"dynamic-import","original":"./TranscriptContainer"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx":{"bytes":4501,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts":{"bytes":4660,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/settings.ts":{"bytes":2389,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/capabilities/index.ts":{"bytes":2238,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts","kind":"dynamic-import","original":"./meeting-transcription-state"},{"path":"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts","kind":"dynamic-import","original":"./transcriber"},{"path":"packages/plugins/plugin-transcription/src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"}],"format":"esm"},"packages/plugins/plugin-transcription/src/translations.ts":{"bytes":2765,"imports":[{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytes":12086,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-transcription/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-transcription/src/index.ts":{"bytes":1118,"imports":[{"path":"packages/plugins/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-transcription/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/plugins/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"./transcriber"},{"path":"packages/plugins/plugin-transcription/src/TranscriptionPlugin.tsx","kind":"import-statement","original":"./TranscriptionPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-transcription/dist/lib/node-esm/settings-QFNFGFJ5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1146},"packages/plugins/plugin-transcription/dist/lib/node-esm/settings-QFNFGFJ5.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/settings.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/settings.ts":{"bytesInOutput":376}},"bytes":761},"packages/plugins/plugin-transcription/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7040},"packages/plugins/plugin-transcription/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-MHQP2PAF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-4KC3E5T4.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-V5IWBPYO.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MediaStreamRecorder","TRANSCRIPTION_PLUGIN","Transcriber","Transcript","TranscriptContainer","TranscriptionCapabilities","TranscriptionContainer","TranscriptionManager","TranscriptionPlugin","TranscriptionSettings","meta","renderMarkdown","useAudioFile","useAudioTrack","useQueueModelAdapter","useTranscriber","useVoiceInput"],"entryPoint":"packages/plugins/plugin-transcription/src/index.ts","inputs":{"packages/plugins/plugin-transcription/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytesInOutput":2569},"packages/plugins/plugin-transcription/src/translations.ts":{"bytesInOutput":636}},"bytes":4618},"packages/plugins/plugin-transcription/dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-transcription/dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"}],"exports":["TRANSCRIPTION_URL","TranscriptSchema","TranscriptType","TranscriptionAction","TranscriptionSettingsSchema","isTranscript"],"entryPoint":"packages/plugins/plugin-transcription/src/types/index.ts","inputs":{},"bytes":468},"packages/plugins/plugin-transcription/dist/lib/node-esm/app-graph-builder-UBP6EOBR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":27361},"packages/plugins/plugin-transcription/dist/lib/node-esm/app-graph-builder-UBP6EOBR.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-V5IWBPYO.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/assistant/testing","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting","kind":"import-statement","external":true},{"path":"@dxos/plugin-meeting/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytesInOutput":8851},"packages/plugins/plugin-transcription/src/entity-extraction/entity-extraction.ts":{"bytesInOutput":3373},"raw-loader:./system-prompt.tpl?raw":{"bytesInOutput":1575},"packages/plugins/plugin-transcription/src/entity-extraction/index.ts":{"bytesInOutput":0}},"bytes":14672},"packages/plugins/plugin-transcription/dist/lib/node-esm/intent-resolver-HFVAL274.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1774},"packages/plugins/plugin-transcription/dist/lib/node-esm/intent-resolver-HFVAL274.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytesInOutput":635}},"bytes":1072},"packages/plugins/plugin-transcription/dist/lib/node-esm/meeting-transcription-state-3WOZ52BQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":845},"packages/plugins/plugin-transcription/dist/lib/node-esm/meeting-transcription-state-3WOZ52BQ.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/meeting-transcription-state.ts":{"bytesInOutput":276}},"bytes":684},"packages/plugins/plugin-transcription/dist/lib/node-esm/TranscriptContainer-M53LI2TX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-transcription/dist/lib/node-esm/TranscriptContainer-M53LI2TX.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-4KC3E5T4.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"}],"exports":["TranscriptionContainer","default"],"entryPoint":"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx","inputs":{},"bytes":387},"packages/plugins/plugin-transcription/dist/lib/node-esm/react-surface-UEJELL7I.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2171},"packages/plugins/plugin-transcription/dist/lib/node-esm/react-surface-UEJELL7I.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-MHQP2PAF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-4KC3E5T4.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-transcription/src/capabilities/react-surface.tsx":{"bytesInOutput":871}},"bytes":1401},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-MHQP2PAF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2053},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-MHQP2PAF.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/TranscriptContainer-M53LI2TX.mjs","kind":"dynamic-import"}],"exports":["TranscriptContainer","TranscriptionSettings"],"inputs":{"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/TranscriptionSettings.tsx":{"bytesInOutput":633},"packages/plugins/plugin-transcription/src/components/index.ts":{"bytesInOutput":114},"packages/plugins/plugin-transcription/src/components/TranscriptionSettings/index.ts":{"bytesInOutput":0}},"bytes":1177},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-4KC3E5T4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":45126},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-4KC3E5T4.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"date-fns/format","kind":"import-statement","external":true},{"path":"date-fns/intervalToDuration","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/app-graph-builder-UBP6EOBR.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/intent-resolver-HFVAL274.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/meeting-transcription-state-3WOZ52BQ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/react-surface-UEJELL7I.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/transcriber-7RJEFPDI.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/settings-QFNFGFJ5.mjs","kind":"dynamic-import"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true}],"exports":["AppGraphBuilder","IntentResolver","MeetingTranscriptionState","ReactSurface","Settings","Transcriber","Transcript","TranscriptContainer_default","TranscriptionContainer","renderMarkdown","useAudioFile","useAudioTrack","useQueueModelAdapter","useTranscriber","useVoiceInput"],"inputs":{"packages/plugins/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytesInOutput":905},"packages/plugins/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytesInOutput":2245},"packages/plugins/plugin-transcription/src/components/Transcript/transcript-extension.ts":{"bytesInOutput":5464},"packages/plugins/plugin-transcription/src/model/model.ts":{"bytesInOutput":5036},"packages/plugins/plugin-transcription/src/model/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/components/Transcript/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/hooks/useAudioFile.ts":{"bytesInOutput":1681},"packages/plugins/plugin-transcription/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytesInOutput":628},"packages/plugins/plugin-transcription/src/hooks/useQueueModelAdapter.ts":{"bytesInOutput":1059},"packages/plugins/plugin-transcription/src/hooks/useTranscriber.ts":{"bytesInOutput":713},"packages/plugins/plugin-transcription/src/capabilities/index.ts":{"bytesInOutput":496},"packages/plugins/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytesInOutput":1869}},"bytes":21665},"packages/plugins/plugin-transcription/dist/lib/node-esm/transcriber-7RJEFPDI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2198},"packages/plugins/plugin-transcription/dist/lib/node-esm/transcriber-7RJEFPDI.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-V5IWBPYO.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts","inputs":{"packages/plugins/plugin-transcription/src/capabilities/transcriber.ts":{"bytesInOutput":698}},"bytes":1197},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-V5IWBPYO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":28270},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-V5IWBPYO.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs","kind":"import-statement"},{"path":"extendable-media-recorder","kind":"import-statement","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"extendable-media-recorder-wav-encoder","kind":"dynamic-import","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MediaStreamRecorder","Transcriber","TranscriptionManager"],"inputs":{"packages/plugins/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytesInOutput":3746},"packages/plugins/plugin-transcription/src/transcriber/transcriber.ts":{"bytesInOutput":6163},"packages/plugins/plugin-transcription/src/transcriber/transcription-manager.ts":{"bytesInOutput":5207},"packages/plugins/plugin-transcription/src/transcriber/index.ts":{"bytesInOutput":0}},"bytes":15686},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1381},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QMHMEKB3.mjs":{"imports":[],"exports":["getTimeStr","mergeFloat64Arrays"],"inputs":{"packages/plugins/plugin-transcription/src/util/get-time-str.ts":{"bytesInOutput":195},"packages/plugins/plugin-transcription/src/util/array.ts":{"bytesInOutput":267},"packages/plugins/plugin-transcription/src/util/index.ts":{"bytesInOutput":0}},"bytes":773},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4334},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-QYG2FOXA.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["TRANSCRIPTION_URL","TranscriptSchema","TranscriptType","TranscriptionAction","TranscriptionSettingsSchema","isTranscript"],"inputs":{"packages/plugins/plugin-transcription/src/types/schema.ts":{"bytesInOutput":641},"packages/plugins/plugin-transcription/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-transcription/src/types/types.ts":{"bytesInOutput":988}},"bytes":2092},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1506},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-5E2MR5XK.mjs":{"imports":[{"path":"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["TranscriptionCapabilities"],"inputs":{"packages/plugins/plugin-transcription/src/capabilities/capabilities.ts":{"bytesInOutput":446}},"bytes":761},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":840},"packages/plugins/plugin-transcription/dist/lib/node-esm/chunk-X4DDJIVL.mjs":{"imports":[],"exports":["TRANSCRIPTION_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-transcription/src/meta.ts":{"bytesInOutput":358}},"bytes":592}}}
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  TranscriptionSettings
4
- } from "./chunk-DXJN2JWV.mjs";
4
+ } from "./chunk-MHQP2PAF.mjs";
5
5
  import {
6
6
  TranscriptionContainer
7
- } from "./chunk-B2BD7S4X.mjs";
7
+ } from "./chunk-4KC3E5T4.mjs";
8
8
  import {
9
9
  isTranscript
10
- } from "./chunk-OS2ITZUL.mjs";
10
+ } from "./chunk-QYG2FOXA.mjs";
11
11
  import "./chunk-5E2MR5XK.mjs";
12
12
  import {
13
13
  meta
@@ -42,4 +42,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
42
42
  export {
43
43
  react_surface_default as default
44
44
  };
45
- //# sourceMappingURL=react-surface-D3L6VBEV.mjs.map
45
+ //# sourceMappingURL=react-surface-UEJELL7I.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  TranscriptionSettingsSchema
4
- } from "./chunk-OS2ITZUL.mjs";
4
+ } from "./chunk-QYG2FOXA.mjs";
5
5
  import {
6
6
  TRANSCRIPTION_PLUGIN
7
7
  } from "./chunk-X4DDJIVL.mjs";
@@ -22,4 +22,4 @@ var settings_default = () => {
22
22
  export {
23
23
  settings_default as default
24
24
  };
25
- //# sourceMappingURL=settings-I35TVDUG.mjs.map
25
+ //# sourceMappingURL=settings-QFNFGFJ5.mjs.map