@dxos/plugin-transcription 0.8.4-main.abd8ff62ef → 0.8.4-main.bc2380dfbc

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 (262) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/TranscriptionArticle-L6XANBH5.mjs +54 -0
  4. package/dist/lib/neutral/TranscriptionArticle-L6XANBH5.mjs.map +7 -0
  5. package/dist/lib/neutral/TranscriptionPlugin.mjs +34 -0
  6. package/dist/lib/neutral/TranscriptionPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/TranscriptionPlugin.node.mjs +25 -0
  8. package/dist/lib/neutral/TranscriptionPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/TranscriptionPlugin.workerd.mjs +21 -0
  10. package/dist/lib/neutral/TranscriptionPlugin.workerd.mjs.map +7 -0
  11. package/dist/lib/neutral/blueprint-definition-HOXDG5QP.mjs +15 -0
  12. package/dist/lib/neutral/blueprint-definition-HOXDG5QP.mjs.map +7 -0
  13. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  14. package/dist/lib/neutral/capabilities/index.mjs +17 -0
  15. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  16. package/dist/lib/{browser/chunk-NQQK7UZQ.mjs → neutral/chunk-2O3ONPRZ.mjs} +94 -40
  17. package/dist/lib/neutral/chunk-2O3ONPRZ.mjs.map +7 -0
  18. package/dist/lib/{browser/chunk-L4HW35L6.mjs → neutral/chunk-5FXU36PN.mjs} +19 -10
  19. package/dist/lib/neutral/chunk-5FXU36PN.mjs.map +7 -0
  20. package/dist/lib/neutral/chunk-GL4RS533.mjs +22 -0
  21. package/dist/lib/neutral/chunk-GL4RS533.mjs.map +7 -0
  22. package/dist/lib/{browser/index.mjs → neutral/chunk-ILSA3DU7.mjs} +32 -70
  23. package/dist/lib/neutral/chunk-ILSA3DU7.mjs.map +7 -0
  24. package/dist/lib/neutral/chunk-Y5EQAFFR.mjs +8 -0
  25. package/dist/lib/neutral/chunk-Y5EQAFFR.mjs.map +7 -0
  26. package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-ZR4BH4QQ.mjs} +4 -5
  27. package/dist/lib/neutral/chunk-ZR4BH4QQ.mjs.map +7 -0
  28. package/dist/lib/{browser → neutral}/components/index.mjs +83 -18
  29. package/dist/lib/neutral/components/index.mjs.map +7 -0
  30. package/dist/lib/neutral/containers/index.mjs +9 -0
  31. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  32. package/dist/lib/{browser/create-ULR5DPJZ.mjs → neutral/create-RRWRIUSR.mjs} +4 -4
  33. package/dist/lib/neutral/create-RRWRIUSR.mjs.map +7 -0
  34. package/dist/lib/{browser → neutral}/hooks/index.mjs +5 -3
  35. package/dist/lib/neutral/index.mjs +44 -0
  36. package/dist/lib/neutral/meta.json +1 -0
  37. package/dist/lib/neutral/meta.mjs +8 -0
  38. package/dist/lib/{browser/open-SFMPLZVW.mjs → neutral/open-CVMX5KXZ.mjs} +5 -5
  39. package/dist/lib/neutral/open-CVMX5KXZ.mjs.map +7 -0
  40. package/dist/lib/neutral/operation-handler-NXMOAXFP.mjs +13 -0
  41. package/dist/lib/neutral/operation-handler-NXMOAXFP.mjs.map +7 -0
  42. package/dist/lib/neutral/operations/index.mjs +8 -0
  43. package/dist/lib/neutral/plugin.mjs +16 -0
  44. package/dist/lib/neutral/plugin.mjs.map +7 -0
  45. package/dist/lib/neutral/react-surface-YMZRO242.mjs +26 -0
  46. package/dist/lib/neutral/react-surface-YMZRO242.mjs.map +7 -0
  47. package/dist/lib/{browser/summarize-BDFX4APN.mjs → neutral/summarize-LA7TRW7A.mjs} +5 -5
  48. package/dist/lib/neutral/summarize-LA7TRW7A.mjs.map +7 -0
  49. package/dist/lib/neutral/text-content-F4ASMITB.mjs +30 -0
  50. package/dist/lib/neutral/text-content-F4ASMITB.mjs.map +7 -0
  51. package/dist/lib/neutral/transcriber-ABHATBVH.mjs +59 -0
  52. package/dist/lib/neutral/transcriber-ABHATBVH.mjs.map +7 -0
  53. package/dist/lib/neutral/translations.mjs +24 -0
  54. package/dist/lib/neutral/translations.mjs.map +7 -0
  55. package/dist/lib/neutral/types/index.mjs +10 -0
  56. package/dist/lib/neutral/types/index.mjs.map +7 -0
  57. package/dist/types/src/TranscriptionPlugin.d.ts.map +1 -1
  58. package/dist/types/src/TranscriptionPlugin.node.d.ts.map +1 -1
  59. package/dist/types/src/TranscriptionPlugin.workerd.d.ts +4 -0
  60. package/dist/types/src/TranscriptionPlugin.workerd.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/index.d.ts +5 -1
  62. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/text-content.d.ts +8 -0
  64. package/dist/types/src/capabilities/text-content.d.ts.map +1 -0
  65. package/dist/types/src/components/Oracle/Oracle.d.ts +24 -0
  66. package/dist/types/src/components/Oracle/Oracle.d.ts.map +1 -0
  67. package/dist/types/src/components/Oracle/Oracle.stories.d.ts +32 -0
  68. package/dist/types/src/components/Oracle/Oracle.stories.d.ts.map +1 -0
  69. package/dist/types/src/components/Oracle/index.d.ts +2 -0
  70. package/dist/types/src/components/Oracle/index.d.ts.map +1 -0
  71. package/dist/types/src/components/Transcription/Transcription.d.ts +0 -5
  72. package/dist/types/src/components/Transcription/Transcription.d.ts.map +1 -1
  73. package/dist/types/src/components/Transcription/Transcription.stories.d.ts +13 -16
  74. package/dist/types/src/components/Transcription/Transcription.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/index.d.ts +1 -0
  76. package/dist/types/src/components/index.d.ts.map +1 -1
  77. package/dist/types/src/containers/TranscriptionArticle/TranscriptionArticle.d.ts +6 -0
  78. package/dist/types/src/containers/TranscriptionArticle/TranscriptionArticle.d.ts.map +1 -0
  79. package/dist/types/src/containers/TranscriptionArticle/TranscriptionArticle.stories.d.ts +28 -0
  80. package/dist/types/src/containers/TranscriptionArticle/TranscriptionArticle.stories.d.ts.map +1 -0
  81. package/dist/types/src/containers/TranscriptionArticle/index.d.ts +2 -0
  82. package/dist/types/src/containers/TranscriptionArticle/index.d.ts.map +1 -0
  83. package/dist/types/src/containers/index.d.ts +1 -1
  84. package/dist/types/src/containers/index.d.ts.map +1 -1
  85. package/dist/types/src/enrichment/conversation.test.d.ts +2 -0
  86. package/dist/types/src/enrichment/conversation.test.d.ts.map +1 -0
  87. package/dist/types/src/enrichment/operations.d.ts +200 -0
  88. package/dist/types/src/enrichment/operations.d.ts.map +1 -0
  89. package/dist/types/src/enrichment/parser.d.ts +26 -0
  90. package/dist/types/src/enrichment/parser.d.ts.map +1 -0
  91. package/dist/types/src/enrichment/stream-simulator.d.ts +38 -0
  92. package/dist/types/src/enrichment/stream-simulator.d.ts.map +1 -0
  93. package/dist/types/src/hooks/index.d.ts +2 -1
  94. package/dist/types/src/hooks/index.d.ts.map +1 -1
  95. package/dist/types/src/hooks/useFeedModelAdapter.d.ts +12 -0
  96. package/dist/types/src/hooks/useFeedModelAdapter.d.ts.map +1 -0
  97. package/dist/types/src/hooks/useTranscriptionRecording.d.ts +12 -0
  98. package/dist/types/src/hooks/useTranscriptionRecording.d.ts.map +1 -0
  99. package/dist/types/src/index.d.ts +3 -4
  100. package/dist/types/src/index.d.ts.map +1 -1
  101. package/dist/types/src/normalization/message-normalizer.d.ts +7 -5
  102. package/dist/types/src/normalization/message-normalizer.d.ts.map +1 -1
  103. package/dist/types/src/normalization/normalization.d.ts +180 -1
  104. package/dist/types/src/normalization/normalization.d.ts.map +1 -1
  105. package/dist/types/src/operations/create.d.ts +2 -2
  106. package/dist/types/src/operations/create.d.ts.map +1 -1
  107. package/dist/types/src/operations/index.d.ts +0 -1
  108. package/dist/types/src/operations/index.d.ts.map +1 -1
  109. package/dist/types/src/operations/open.d.ts +2 -2
  110. package/dist/types/src/operations/open.d.ts.map +1 -1
  111. package/dist/types/src/operations/summarize.d.ts +2 -2
  112. package/dist/types/src/operations/summarize.d.ts.map +1 -1
  113. package/dist/types/src/plugin.d.ts +4 -0
  114. package/dist/types/src/plugin.d.ts.map +1 -0
  115. package/dist/types/src/stories/FileTranscription.stories.d.ts +5 -3
  116. package/dist/types/src/stories/FileTranscription.stories.d.ts.map +1 -1
  117. package/dist/types/src/stories/KeyWordRecognition.stories.d.ts.map +1 -1
  118. package/dist/types/src/stories/{MicrophoneTranscription.stories.d.ts → LiveTranscription.stories.d.ts} +4 -4
  119. package/dist/types/src/stories/LiveTranscription.stories.d.ts.map +1 -0
  120. package/dist/types/src/stories/TranscriptionStory.d.ts +11 -13
  121. package/dist/types/src/stories/TranscriptionStory.d.ts.map +1 -1
  122. package/dist/types/src/stories/common.d.ts +46 -0
  123. package/dist/types/src/stories/common.d.ts.map +1 -0
  124. package/dist/types/src/testing/testing.d.ts +5 -6
  125. package/dist/types/src/testing/testing.d.ts.map +1 -1
  126. package/dist/types/src/transcriber/transcriber.d.ts +4 -4
  127. package/dist/types/src/transcriber/transcriber.d.ts.map +1 -1
  128. package/dist/types/src/transcriber/transcription-manager.d.ts +6 -4
  129. package/dist/types/src/transcriber/transcription-manager.d.ts.map +1 -1
  130. package/dist/types/src/translations.d.ts +2 -0
  131. package/dist/types/src/translations.d.ts.map +1 -1
  132. package/dist/types/src/{operations/definitions.d.ts → types/TranscriptOperation.d.ts} +1 -1
  133. package/dist/types/src/types/TranscriptOperation.d.ts.map +1 -0
  134. package/dist/types/src/types/TranscriptionCapabilities.d.ts +17 -0
  135. package/dist/types/src/types/TranscriptionCapabilities.d.ts.map +1 -0
  136. package/dist/types/src/types/index.d.ts +2 -2
  137. package/dist/types/src/types/index.d.ts.map +1 -1
  138. package/dist/types/tsconfig.tsbuildinfo +1 -1
  139. package/package.json +125 -94
  140. package/src/TranscriptionPlugin.node.ts +3 -31
  141. package/src/TranscriptionPlugin.test.ts +3 -3
  142. package/src/TranscriptionPlugin.tsx +3 -31
  143. package/src/TranscriptionPlugin.workerd.ts +18 -0
  144. package/src/blueprints/transcription-blueprint.ts +1 -1
  145. package/src/capabilities/index.ts +1 -0
  146. package/src/capabilities/react-surface.tsx +2 -2
  147. package/src/capabilities/text-content.ts +33 -0
  148. package/src/capabilities/transcriber.ts +1 -1
  149. package/src/components/Oracle/Oracle.stories.tsx +147 -0
  150. package/src/components/Oracle/Oracle.tsx +141 -0
  151. package/src/components/Oracle/index.ts +5 -0
  152. package/src/components/Transcription/Transcription.stories.tsx +116 -150
  153. package/src/components/Transcription/Transcription.tsx +7 -13
  154. package/src/components/index.ts +1 -0
  155. package/src/containers/TranscriptionArticle/TranscriptionArticle.stories.tsx +61 -0
  156. package/src/containers/TranscriptionArticle/TranscriptionArticle.tsx +62 -0
  157. package/src/containers/TranscriptionArticle/index.ts +5 -0
  158. package/src/containers/index.ts +1 -1
  159. package/src/enrichment/conversation.test.ts +162 -0
  160. package/src/enrichment/conversation.txt +23 -0
  161. package/src/enrichment/operations.ts +268 -0
  162. package/src/enrichment/parser.ts +101 -0
  163. package/src/enrichment/stream-simulator.ts +125 -0
  164. package/src/hooks/index.ts +2 -1
  165. package/src/hooks/useFeedModelAdapter.ts +46 -0
  166. package/src/hooks/useTranscriptionRecording.ts +87 -0
  167. package/src/index.ts +3 -9
  168. package/src/normalization/message-normalizer.ts +25 -13
  169. package/src/normalization/normalization.test.ts +3 -37
  170. package/src/normalization/normalization.ts +6 -7
  171. package/src/operations/create.ts +2 -2
  172. package/src/operations/index.ts +0 -2
  173. package/src/operations/open.ts +2 -2
  174. package/src/operations/summarize.ts +3 -3
  175. package/src/plugin.ts +11 -0
  176. package/src/stories/FileTranscription.stories.tsx +49 -175
  177. package/src/stories/KeyWordRecognition.stories.tsx +7 -9
  178. package/src/stories/LiveTranscription.stories.tsx +153 -0
  179. package/src/stories/TranscriptionStory.tsx +32 -24
  180. package/src/stories/common.ts +233 -0
  181. package/src/testing/testing.ts +20 -27
  182. package/src/transcriber/transcriber.test.ts +9 -9
  183. package/src/transcriber/transcriber.ts +18 -14
  184. package/src/transcriber/transcription-manager.ts +14 -9
  185. package/src/translations.ts +3 -0
  186. package/src/{operations/definitions.ts → types/TranscriptOperation.ts} +2 -0
  187. package/src/types/TranscriptionCapabilities.ts +39 -0
  188. package/src/types/index.ts +2 -2
  189. package/dist/lib/browser/blueprints/index.mjs.map +0 -7
  190. package/dist/lib/browser/chunk-3L623EVL.mjs +0 -17
  191. package/dist/lib/browser/chunk-3L623EVL.mjs.map +0 -7
  192. package/dist/lib/browser/chunk-L4HW35L6.mjs.map +0 -7
  193. package/dist/lib/browser/chunk-NQQK7UZQ.mjs.map +0 -7
  194. package/dist/lib/browser/components/index.mjs.map +0 -7
  195. package/dist/lib/browser/create-ULR5DPJZ.mjs.map +0 -7
  196. package/dist/lib/browser/index.mjs.map +0 -7
  197. package/dist/lib/browser/meta.json +0 -1
  198. package/dist/lib/browser/open-SFMPLZVW.mjs.map +0 -7
  199. package/dist/lib/browser/operations/index.mjs +0 -13
  200. package/dist/lib/browser/operations/index.mjs.map +0 -7
  201. package/dist/lib/browser/summarize-BDFX4APN.mjs.map +0 -7
  202. package/dist/lib/browser/types/index.mjs +0 -10
  203. package/dist/lib/node-esm/blueprints/index.mjs +0 -32
  204. package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
  205. package/dist/lib/node-esm/chunk-7UIZWCD4.mjs +0 -112
  206. package/dist/lib/node-esm/chunk-7UIZWCD4.mjs.map +0 -7
  207. package/dist/lib/node-esm/chunk-C3AE2NYJ.mjs +0 -181
  208. package/dist/lib/node-esm/chunk-C3AE2NYJ.mjs.map +0 -7
  209. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  210. package/dist/lib/node-esm/chunk-KO3IOD2O.mjs +0 -19
  211. package/dist/lib/node-esm/chunk-KO3IOD2O.mjs.map +0 -7
  212. package/dist/lib/node-esm/chunk-MQK4R6GT.mjs +0 -245
  213. package/dist/lib/node-esm/chunk-MQK4R6GT.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-O533NBMK.mjs +0 -37
  215. package/dist/lib/node-esm/chunk-O533NBMK.mjs.map +0 -7
  216. package/dist/lib/node-esm/components/index.mjs +0 -208
  217. package/dist/lib/node-esm/components/index.mjs.map +0 -7
  218. package/dist/lib/node-esm/create-A5QHNWRF.mjs +0 -22
  219. package/dist/lib/node-esm/create-A5QHNWRF.mjs.map +0 -7
  220. package/dist/lib/node-esm/hooks/index.mjs +0 -18
  221. package/dist/lib/node-esm/index.mjs +0 -474
  222. package/dist/lib/node-esm/index.mjs.map +0 -7
  223. package/dist/lib/node-esm/meta.json +0 -1
  224. package/dist/lib/node-esm/open-OI24QNTO.mjs +0 -28
  225. package/dist/lib/node-esm/open-OI24QNTO.mjs.map +0 -7
  226. package/dist/lib/node-esm/operations/index.mjs +0 -14
  227. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  228. package/dist/lib/node-esm/summarize-3UNN24I2.mjs +0 -79
  229. package/dist/lib/node-esm/summarize-3UNN24I2.mjs.map +0 -7
  230. package/dist/lib/node-esm/types/index.mjs +0 -11
  231. package/dist/types/src/containers/TranscriptionContainer/TranscriptionContainer.d.ts +0 -6
  232. package/dist/types/src/containers/TranscriptionContainer/TranscriptionContainer.d.ts.map +0 -1
  233. package/dist/types/src/containers/TranscriptionContainer/index.d.ts +0 -2
  234. package/dist/types/src/containers/TranscriptionContainer/index.d.ts.map +0 -1
  235. package/dist/types/src/hooks/useQueueModelAdapter.d.ts +0 -8
  236. package/dist/types/src/hooks/useQueueModelAdapter.d.ts.map +0 -1
  237. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  238. package/dist/types/src/stories/MicrophoneTranscription.stories.d.ts.map +0 -1
  239. package/dist/types/src/stories/useIsSpeaking.d.ts +0 -3
  240. package/dist/types/src/stories/useIsSpeaking.d.ts.map +0 -1
  241. package/dist/types/src/types/capabilities.d.ts +0 -19
  242. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  243. package/dist/types/src/types/defs.d.ts +0 -5
  244. package/dist/types/src/types/defs.d.ts.map +0 -1
  245. package/src/containers/TranscriptionContainer/TranscriptionContainer.tsx +0 -35
  246. package/src/containers/TranscriptionContainer/index.ts +0 -5
  247. package/src/hooks/useQueueModelAdapter.ts +0 -66
  248. package/src/stories/MicrophoneTranscription.stories.tsx +0 -264
  249. package/src/stories/useIsSpeaking.tsx +0 -40
  250. package/src/types/capabilities.ts +0 -39
  251. package/src/types/defs.ts +0 -9
  252. /package/dist/lib/{browser/hooks → neutral/blueprints}/index.mjs.map +0 -0
  253. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  254. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  255. /package/dist/lib/{browser → neutral}/chunk-KAEXRX3Y.mjs +0 -0
  256. /package/dist/lib/{browser → neutral}/chunk-KAEXRX3Y.mjs.map +0 -0
  257. /package/dist/lib/{browser → neutral}/chunk-MLRJWAQH.mjs +0 -0
  258. /package/dist/lib/{browser → neutral}/chunk-MLRJWAQH.mjs.map +0 -0
  259. /package/dist/lib/{browser/types → neutral/hooks}/index.mjs.map +0 -0
  260. /package/dist/lib/{node-esm/hooks → neutral}/index.mjs.map +0 -0
  261. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
  262. /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/Oracle/Oracle.tsx", "../../../../src/components/Transcription/Transcription.tsx", "../../../../src/components/Transcription/transcription-extension.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Slot } from '@radix-ui/react-slot';\nimport React, { type PropsWithChildren, createContext, useContext, useMemo } from 'react';\n\nimport '@dxos/react-ui-graph/styles/graph.css';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { TextBlock } from '@dxos/react-ui-components';\nimport { SVG } from '@dxos/react-ui-graph';\nimport { composableProps, mx, slottable } from '@dxos/ui-theme';\nimport { type SlottableProps } from '@dxos/ui-types';\n\n//\n// Context\n//\n\ntype OracleContextValue = {\n /** Latest utterance / phrase rendered by `Oracle.Text`. */\n text: string;\n /** Per-character reveal delay in ms for the streaming TextBlock. */\n delay: number;\n};\n\nconst OracleContext = createContext<OracleContextValue | null>(null);\n\nconst useOracleContext = (consumer: string): OracleContextValue => {\n const ctx = useContext(OracleContext);\n if (!ctx) {\n throw new Error(`<Oracle.${consumer}> must be rendered inside <Oracle.Root>`);\n }\n return ctx;\n};\n\n//\n// Root (headless — provides context only, renders no DOM)\n//\n\nexport type OracleRootProps = PropsWithChildren<{\n /** Latest utterance / phrase rendered by `Oracle.Text`. */\n text?: string;\n /** Per-character reveal delay in ms for the streaming TextBlock. @default 12 */\n delay?: number;\n}>;\n\n/**\n * Oracle surface root. Headless — provides text/delay context to subcomponents and renders\n * no DOM of its own. Wrap subcomponents in `<Oracle.Content>` for the standard relative\n * stacking layout, or place `<Oracle.Canvas>` / `<Oracle.Text>` inside any positioned\n * container of your choice.\n */\nconst Root = ({ children, text = '', delay = 12 }: OracleRootProps) => {\n const value = useMemo(() => ({ text, delay }), [text, delay]);\n return <OracleContext.Provider value={value}>{children}</OracleContext.Provider>;\n};\n\n//\n// Content\n//\n\nexport type OracleContentProps = SlottableProps;\n\n/**\n * Positioned container that stacks `Oracle.Canvas` (the SVG graph viewport, absolutely\n * positioned to fill) under `Oracle.Text` (the centered overlay). Use this for the standard\n * Oracle layout; skip it if you need custom positioning.\n *\n * Pass `asChild` to merge the positioning + sizing onto a parent slot (e.g. `Panel.Content`).\n */\nconst Content = slottable<HTMLDivElement>(({ children, asChild, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : Primitive.div;\n return (\n <Comp {...composableProps(props, { classNames: 'relative dx-expander' })} ref={forwardedRef}>\n {children}\n </Comp>\n );\n});\n\nContent.displayName = 'Oracle.Content';\n\n//\n// Canvas\n//\n\nexport type OracleCanvasProps = ThemedClassName<PropsWithChildren<{}>>;\n\n/**\n * SVG graph viewport. Renders sensible defaults (markers, grid, pan/zoom, empty graph)\n * when no children are supplied; consumers can replace those by passing their own\n * SVG.* children (e.g. a populated `<SVG.Graph model={…} />`).\n */\nconst Canvas = ({ classNames, children }: OracleCanvasProps) => (\n <SVG.Root centered classNames={mx('absolute inset-0', classNames)}>\n {children ?? (\n <>\n <SVG.Markers />\n <SVG.Grid />\n <SVG.Zoom extent={[1 / 4, 4]}>\n <SVG.Graph />\n </SVG.Zoom>\n </>\n )}\n </SVG.Root>\n);\n\n//\n// Text\n//\n\nexport type OracleTextProps = ThemedClassName<{}>;\n\n/**\n * Centered text overlay. Reads `text` and `delay` from `Oracle.Root` context and renders\n * a streaming `TextBlock` floating above the canvas. Pointer-events are disabled so the\n * underlying graph remains interactive.\n */\nconst Text = ({ classNames }: OracleTextProps) => {\n const { text, delay } = useOracleContext('Text');\n return (\n <div className='pointer-events-none absolute inset-0 flex items-center justify-center'>\n <TextBlock\n classNames={mx('max-w-xl px-6 py-4 text-center text-2xl font-medium text-balance text-subdued', classNames)}\n text={text}\n delay={delay}\n />\n </div>\n );\n};\n\n//\n// Namespace\n//\n\nexport const Oracle = {\n Root,\n Content,\n Canvas,\n Text,\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useThemeContext } from '@dxos/react-ui';\nimport { useTextEditor } from '@dxos/react-ui-editor';\nimport { type Message, type Transcript } from '@dxos/types';\nimport {\n createBasicExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n decorateMarkdown,\n documentSlots,\n preview,\n scroller,\n} from '@dxos/ui-editor';\nimport { composable, composableProps } from '@dxos/ui-theme';\n\nimport { type SerializationModel } from '../../model';\nimport { renderByline } from '../../util';\nimport { transcription } from './transcription-extension';\n\nexport { renderByline };\n\nexport type TranscriptionProps = {\n transcript?: Transcript.Transcript;\n model: SerializationModel<Message.Message>;\n};\n\n// TODO(burdon): Remove forwardedRef/use react-ui-editor.\nexport const Transcription = composable<HTMLDivElement, TranscriptionProps>(\n ({ transcript: object, model, children, ...props }, forwardedRef) => {\n const { themeMode } = useThemeContext();\n const { parentRef } = useTextEditor(() => {\n return {\n extensions: [\n createBasicExtensions({ readOnly: true, lineWrapping: true, search: true }),\n createThemeExtensions({ themeMode, slots: documentSlots }),\n createMarkdownExtensions(),\n decorateMarkdown(),\n preview(),\n transcription({ model, started: object?.started ? new Date(object.started) : undefined }),\n scroller(),\n ],\n };\n }, [model, themeMode]);\n\n return (\n <div\n {...composableProps(props, { classNames: 'dx-container' })}\n data-popover-collision-boundary={true}\n ref={parentRef}\n />\n );\n },\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Extension, RangeSetBuilder } from '@codemirror/state';\nimport { EditorView, GutterMarker, ViewPlugin, type ViewUpdate, gutter } from '@codemirror/view';\nimport { format } from 'date-fns/format';\nimport { intervalToDuration } from 'date-fns/intervalToDuration';\n\nimport { type CleanupFn, addEventListener, combine } from '@dxos/async';\nimport { type Message } from '@dxos/types';\n\nimport { DocumentAdapter, type SerializationModel } from '../../model';\n\n/**\n * Data structure that maps Chunks queue to lines with transcript state.\n */\nexport type TranscriptionOptions = {\n model: SerializationModel<Message.Message>;\n started?: Date;\n};\n\n/**\n * Scrolling transcript with timestamps.\n */\nexport const transcription = ({ model, started }: TranscriptionOptions): Extension => {\n return [\n // Show timestamps in the gutter.\n gutter({\n class: 'cm-timestamp-gutter',\n lineMarkerChange: (update) => update.docChanged || update.viewportChanged,\n markers: (view) => {\n const start = getStartTime(started, model.chunks[0]);\n const builder = new RangeSetBuilder<GutterMarker>();\n for (const { from, to } of view.visibleRanges) {\n let line = view.state.doc.lineAt(from);\n while (line.from <= to) {\n const block = model.getChunkAtLine(line.number)?.blocks[0];\n const timestamp = block?._tag === 'transcript' && block.started;\n if (timestamp) {\n builder.add(line.from, line.from, new TimestampMarker(line.number, new Date(timestamp), start));\n }\n\n if (line.to + 1 > view.state.doc.length) {\n break;\n }\n\n line = view.state.doc.lineAt(line.to + 1);\n }\n }\n\n return builder.finish();\n },\n }),\n\n // Listen for model updates.\n ViewPlugin.fromClass(\n class {\n private readonly _controls?: HTMLDivElement;\n private readonly _cleanup: CleanupFn;\n private readonly _adapter: DocumentAdapter;\n private _initialized = false;\n\n constructor(view: EditorView) {\n this._adapter = new DocumentAdapter(view);\n\n const scroller = view.scrollDOM;\n let isAutoScrolling = false;\n let hasScrolled = false;\n\n let timeout: NodeJS.Timeout | undefined;\n const scrollToBottom = (smooth = false) => {\n scroller.style.scrollBehavior = smooth ? 'smooth' : '';\n\n // Temporarily hide scrollbar to prevent flicker.\n scroller.classList.add('cm-hide-scrollbar');\n isAutoScrolling = true;\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n this._controls?.classList.add('opacity-0');\n scroller.classList.remove('cm-hide-scrollbar');\n isAutoScrolling = false;\n }, 500);\n\n // Scroll to bottom.\n view.dispatch({\n effects: EditorView.scrollIntoView(view.state.doc.length, { y: 'end' }),\n });\n };\n\n // Event listeners.\n this._cleanup = combine(\n addEventListener(view.scrollDOM, 'scroll', () => {\n if (!isAutoScrolling) {\n hasScrolled = true;\n this._controls?.classList.remove('opacity-0');\n }\n }),\n\n model.update.on(() => {\n // Check if clamped to bottom.\n const autoScroll =\n scroller.scrollHeight - scroller.scrollTop - scroller.clientHeight === 0 || !hasScrolled;\n\n // Sync.\n model.sync(this._adapter);\n\n // Scroll.\n if (autoScroll) {\n scrollToBottom(true);\n }\n }),\n );\n }\n\n update(_update: ViewUpdate) {\n // Initial sync.\n if (!this._initialized) {\n this._initialized = true;\n setTimeout(() => {\n model.sync(this._adapter);\n });\n }\n }\n\n destroy() {\n this._controls?.remove();\n this._cleanup();\n }\n },\n ),\n\n EditorView.theme({\n '.cm-gutters': {\n backgroundColor: 'var(--color-base-surface)',\n },\n '.cm-timestamp-gutter': {\n width: '6rem',\n paddingLeft: '0.5rem',\n paddingRight: '1rem',\n },\n '.cm-timestamp-gutter > .cm-gutterElement > div': {\n display: 'inline-flex',\n textAlign: 'right',\n padding: '3px',\n },\n }),\n ];\n};\n\n/**\n * Gutter marker that displays a timestamp.\n */\nclass TimestampMarker extends GutterMarker {\n constructor(\n readonly _line: number,\n readonly _timestamp: Date,\n readonly _started?: Date,\n ) {\n super();\n }\n\n override eq(other: this) {\n return this._timestamp === other._timestamp;\n }\n\n override toDOM(view: EditorView) {\n const el = document.createElement('div');\n el.className = 'text-sm text-subdued hover:bg-hover-surface cursor-pointer';\n el.textContent = formatTimestamp(this._timestamp, this._started);\n // TODO(burdon): Click to bookmark or copy hyperlink.\n el.onclick = () => {\n const pos = view.state.doc.line(this._line).from;\n view.dispatch({\n effects: EditorView.scrollIntoView(pos, { y: 'start' }),\n });\n };\n\n return el;\n }\n}\n\nconst getStartTime = (started?: Date, message?: Message.Message): Date | undefined => {\n if (started) {\n return started;\n }\n\n if (message?.blocks[0]?._tag === 'transcript' && message.blocks[0].started) {\n return new Date(message.blocks[0].started);\n }\n\n return undefined;\n};\n\nconst formatTimestamp = (timestamp: Date, relative?: Date) => {\n if (relative) {\n const pad = (n = 0) => String(n).padStart(2, '0');\n const { hours, minutes, seconds } = intervalToDuration({ start: relative, end: timestamp });\n return `${pad(hours)}:${pad(minutes)}:${pad(seconds)}`;\n } else {\n return format(timestamp, 'HH:mm:ss');\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Primitive", "Slot", "React", "createContext", "useContext", "useMemo", "TextBlock", "SVG", "composableProps", "mx", "slottable", "OracleContext", "useOracleContext", "consumer", "ctx", "Error", "Root", "children", "text", "delay", "value", "Provider", "Content", "asChild", "props", "forwardedRef", "Comp", "div", "classNames", "ref", "displayName", "Canvas", "centered", "Markers", "Grid", "Zoom", "extent", "Graph", "Text", "className", "Oracle", "React", "useThemeContext", "useTextEditor", "createBasicExtensions", "createMarkdownExtensions", "createThemeExtensions", "decorateMarkdown", "documentSlots", "preview", "scroller", "composable", "composableProps", "RangeSetBuilder", "EditorView", "GutterMarker", "ViewPlugin", "gutter", "format", "intervalToDuration", "addEventListener", "combine", "transcription", "model", "started", "gutter", "class", "lineMarkerChange", "update", "docChanged", "viewportChanged", "markers", "view", "start", "getStartTime", "chunks", "builder", "RangeSetBuilder", "from", "to", "visibleRanges", "line", "state", "doc", "lineAt", "block", "getChunkAtLine", "number", "blocks", "timestamp", "_tag", "add", "TimestampMarker", "Date", "length", "finish", "ViewPlugin", "fromClass", "_controls", "_cleanup", "_adapter", "_initialized", "DocumentAdapter", "scroller", "scrollDOM", "isAutoScrolling", "hasScrolled", "timeout", "scrollToBottom", "smooth", "style", "scrollBehavior", "classList", "clearTimeout", "setTimeout", "remove", "dispatch", "effects", "EditorView", "scrollIntoView", "y", "combine", "addEventListener", "on", "autoScroll", "scrollHeight", "scrollTop", "clientHeight", "sync", "_update", "destroy", "theme", "backgroundColor", "width", "paddingLeft", "paddingRight", "display", "textAlign", "padding", "GutterMarker", "_line", "_timestamp", "_started", "eq", "other", "toDOM", "el", "document", "createElement", "className", "textContent", "formatTimestamp", "onclick", "pos", "message", "undefined", "relative", "pad", "n", "String", "padStart", "hours", "minutes", "seconds", "intervalToDuration", "end", "format", "Transcription", "composable", "transcript", "object", "model", "children", "props", "forwardedRef", "themeMode", "useThemeContext", "parentRef", "useTextEditor", "extensions", "createBasicExtensions", "readOnly", "lineWrapping", "search", "createThemeExtensions", "slots", "documentSlots", "createMarkdownExtensions", "decorateMarkdown", "preview", "transcription", "started", "Date", "undefined", "scroller", "React", "div", "composableProps", "classNames", "data-popover-collision-boundary", "ref"]
7
+ }
@@ -0,0 +1,9 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/index.ts
4
+ import { lazy } from "react";
5
+ var TranscriptionArticle = lazy(() => import("../TranscriptionArticle-L6XANBH5.mjs"));
6
+ export {
7
+ TranscriptionArticle
8
+ };
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/containers/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const TranscriptionArticle: ComponentType<any> = lazy(() => import('./TranscriptionArticle'));\n"],
5
+ "mappings": ";;;AAIA,SAA6BA,YAAY;AAElC,IAAMC,uBAA2CD,KAAK,MAAM,OAAO,sCAAA,CAAA;",
6
+ "names": ["lazy", "TranscriptionArticle"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
- Create
3
- } from "./chunk-L4HW35L6.mjs";
2
+ TranscriptOperation_exports
3
+ } from "./chunk-5FXU36PN.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/operations/create.ts
@@ -8,7 +8,7 @@ import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
9
  import { Feed, Ref } from "@dxos/echo";
10
10
  import { Transcript } from "@dxos/types";
11
- var handler = Create.pipe(Operation.withHandler(Effect.fn(function* ({ space }) {
11
+ var handler = TranscriptOperation_exports.Create.pipe(Operation.withHandler(Effect.fn(function* ({ space }) {
12
12
  const feed = space.db.add(Feed.make());
13
13
  return {
14
14
  object: Transcript.make(Ref.make(feed))
@@ -18,4 +18,4 @@ var create_default = handler;
18
18
  export {
19
19
  create_default as default
20
20
  };
21
- //# sourceMappingURL=create-ULR5DPJZ.mjs.map
21
+ //# sourceMappingURL=create-RRWRIUSR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Feed, Ref } from '@dxos/echo';\nimport { Transcript } from '@dxos/types';\n\nimport { TranscriptOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof TranscriptOperation.Create> = TranscriptOperation.Create.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ space }) {\n const feed = space.db.add(Feed.make());\n return {\n object: Transcript.make(Ref.make(feed)),\n };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,MAAMC,WAAW;AAC1B,SAASC,kBAAkB;AAI3B,IAAMC,UAAoEC,4BAAoBC,OAAOC,KACnGC,UAAUC,YACDC,UAAG,WAAW,EAAEC,MAAK,GAAE;AAC5B,QAAMC,OAAOD,MAAME,GAAGC,IAAIC,KAAKC,KAAI,CAAA;AACnC,SAAO;IACLC,QAAQC,WAAWF,KAAKG,IAAIH,KAAKJ,IAAAA,CAAAA;EACnC;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,iBAAeR;",
6
+ "names": ["Effect", "Operation", "Feed", "Ref", "Transcript", "handler", "TranscriptOperation", "Create", "pipe", "Operation", "withHandler", "fn", "space", "feed", "db", "add", "Feed", "make", "object", "Transcript", "Ref"]
7
+ }
@@ -1,17 +1,19 @@
1
1
  import {
2
2
  useAudioFile,
3
3
  useAudioTrack,
4
- useQueueModelAdapter,
4
+ useFeedModelAdapter,
5
5
  useTranscriber,
6
+ useTranscriptionRecording,
6
7
  useVoiceInput
7
- } from "../chunk-NQQK7UZQ.mjs";
8
+ } from "../chunk-2O3ONPRZ.mjs";
8
9
  import "../chunk-MLRJWAQH.mjs";
9
10
  import "../chunk-J5LGTIGS.mjs";
10
11
  export {
11
12
  useAudioFile,
12
13
  useAudioTrack,
13
- useQueueModelAdapter,
14
+ useFeedModelAdapter,
14
15
  useTranscriber,
16
+ useTranscriptionRecording,
15
17
  useVoiceInput
16
18
  };
17
19
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,44 @@
1
+ import {
2
+ MediaStreamRecorder,
3
+ Transcriber,
4
+ TranscriptionManager,
5
+ alignWhisperSegments
6
+ } from "./chunk-ILSA3DU7.mjs";
7
+ import {
8
+ useAudioFile,
9
+ useAudioTrack,
10
+ useFeedModelAdapter,
11
+ useTranscriber,
12
+ useTranscriptionRecording,
13
+ useVoiceInput
14
+ } from "./chunk-2O3ONPRZ.mjs";
15
+ import {
16
+ meta
17
+ } from "./chunk-GL4RS533.mjs";
18
+ import {
19
+ TranscriptOperation_exports,
20
+ TranscriptionCapabilities_exports
21
+ } from "./chunk-5FXU36PN.mjs";
22
+ import {
23
+ transcription_blueprint_default
24
+ } from "./chunk-ZR4BH4QQ.mjs";
25
+ import "./chunk-MLRJWAQH.mjs";
26
+ import "./chunk-KAEXRX3Y.mjs";
27
+ import "./chunk-J5LGTIGS.mjs";
28
+ export {
29
+ MediaStreamRecorder,
30
+ Transcriber,
31
+ TranscriptOperation_exports as TranscriptOperation,
32
+ transcription_blueprint_default as TranscriptionBlueprint,
33
+ TranscriptionCapabilities_exports as TranscriptionCapabilities,
34
+ TranscriptionManager,
35
+ alignWhisperSegments,
36
+ meta,
37
+ useAudioFile,
38
+ useAudioTrack,
39
+ useFeedModelAdapter,
40
+ useTranscriber,
41
+ useTranscriptionRecording,
42
+ useVoiceInput
43
+ };
44
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"inputs":{"src/blueprints/transcription-blueprint.ts":{"bytes":2658,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/blueprints/index.ts":{"bytes":567,"imports":[{"path":"src/blueprints/transcription-blueprint.ts","kind":"import-statement","original":"./transcription-blueprint"}],"format":"esm"},"src/hooks/useAudioFile.ts":{"bytes":9101,"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}],"format":"esm"},"src/hooks/useAudioTrack.ts":{"bytes":3098,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/model/model.ts":{"bytes":23206,"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"},"src/model/index.ts":{"bytes":369,"imports":[{"path":"src/model/model.ts","kind":"import-statement","original":"./model"}],"format":"esm"},"src/hooks/useFeedModelAdapter.ts":{"bytes":4265,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"src/hooks/useTranscriber.ts":{"bytes":4042,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useTranscriptionRecording.ts":{"bytes":10365,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"}],"format":"esm"},"src/hooks/useVoiceInput.ts":{"bytes":6891,"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":"src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"}],"format":"esm"},"src/hooks/index.ts":{"bytes":944,"imports":[{"path":"src/hooks/useAudioFile.ts","kind":"import-statement","original":"./useAudioFile"},{"path":"src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"src/hooks/useFeedModelAdapter.ts","kind":"import-statement","original":"./useFeedModelAdapter"},{"path":"src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"},{"path":"src/hooks/useTranscriptionRecording.ts","kind":"import-statement","original":"./useTranscriptionRecording"},{"path":"src/hooks/useVoiceInput.ts","kind":"import-statement","original":"./useVoiceInput"}],"format":"esm"},"src/meta.ts":{"bytes":1977,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/transcriber/audio-recorder.ts":{"bytes":3065,"imports":[],"format":"esm"},"src/transcriber/media-stream-recorder.ts":{"bytes":13053,"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"},"src/util/array.ts":{"bytes":1437,"imports":[],"format":"esm"},"src/util/get-time-str.ts":{"bytes":1188,"imports":[],"format":"esm"},"src/util/monitor-audio-level.ts":{"bytes":5778,"imports":[],"format":"esm"},"src/util/render-byline.ts":{"bytes":4334,"imports":[],"format":"esm"},"src/util/index.ts":{"bytes":689,"imports":[{"path":"src/util/array.ts","kind":"import-statement","original":"./array"},{"path":"src/util/get-time-str.ts","kind":"import-statement","original":"./get-time-str"},{"path":"src/util/monitor-audio-level.ts","kind":"import-statement","original":"./monitor-audio-level"},{"path":"src/util/render-byline.ts","kind":"import-statement","original":"./render-byline"}],"format":"esm"},"src/transcriber/transcriber.ts":{"bytes":28624,"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":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/transcriber/transcription-manager.ts":{"bytes":18102,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"}],"format":"esm"},"src/transcriber/index.ts":{"bytes":731,"imports":[{"path":"src/transcriber/audio-recorder.ts","kind":"import-statement","original":"./audio-recorder"},{"path":"src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"},{"path":"src/transcriber/transcription-manager.ts","kind":"import-statement","original":"./transcription-manager"}],"format":"esm"},"src/types/TranscriptionCapabilities.ts":{"bytes":2557,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/TranscriptOperation.ts":{"bytes":10578,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":768,"imports":[{"path":"src/types/TranscriptionCapabilities.ts","kind":"import-statement","original":"./TranscriptionCapabilities"},{"path":"src/types/TranscriptOperation.ts","kind":"import-statement","original":"./TranscriptOperation"}],"format":"esm"},"src/index.ts":{"bytes":1147,"imports":[{"path":"src/blueprints/index.ts","kind":"import-statement","original":"./blueprints"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/transcriber/index.ts","kind":"import-statement","original":"./transcriber"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/TranscriptionPlugin.tsx":{"bytes":4091,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/TranscriptionPlugin.node.ts":{"bytes":2796,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/TranscriptionPlugin.workerd.ts":{"bytes":2124,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/blueprint-definition.ts":{"bytes":2026,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#blueprints","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/text-content.ts":{"bytes":4537,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/capabilities/operation-handler.ts":{"bytes":1703,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3848,"imports":[{"path":"effect/Effect","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/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/transcriber.ts":{"bytes":8649,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":2432,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/blueprint-definition.ts","kind":"dynamic-import","original":"./blueprint-definition"},{"path":"src/capabilities/text-content.ts","kind":"dynamic-import","original":"./text-content"},{"path":"src/capabilities/operation-handler.ts","kind":"dynamic-import","original":"./operation-handler"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/transcriber.ts","kind":"dynamic-import","original":"./transcriber"}],"format":"esm"},"src/components/Oracle/Oracle.tsx":{"bytes":11838,"imports":[{"path":"@radix-ui/react-primitive","kind":"import-statement","external":true},{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph/styles/graph.css","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Oracle/index.ts":{"bytes":370,"imports":[{"path":"src/components/Oracle/Oracle.tsx","kind":"import-statement","original":"./Oracle"}],"format":"esm"},"src/components/Transcription/transcription-extension.ts":{"bytes":21377,"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":"src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"src/components/Transcription/Transcription.tsx":{"bytes":6082,"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/ui-editor","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/Transcription/transcription-extension.ts","kind":"import-statement","original":"./transcription-extension"}],"format":"esm"},"src/components/Transcription/index.ts":{"bytes":389,"imports":[{"path":"src/components/Transcription/Transcription.tsx","kind":"import-statement","original":"./Transcription"}],"format":"esm"},"src/components/index.ts":{"bytes":475,"imports":[{"path":"src/components/Oracle/index.ts","kind":"import-statement","original":"./Oracle"},{"path":"src/components/Transcription/index.ts","kind":"import-statement","original":"./Transcription"}],"format":"esm"},"src/containers/TranscriptionArticle/TranscriptionArticle.tsx":{"bytes":7703,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#hooks","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/containers/TranscriptionArticle/index.ts":{"bytes":554,"imports":[{"path":"src/containers/TranscriptionArticle/TranscriptionArticle.tsx","kind":"import-statement","original":"./TranscriptionArticle"}],"format":"esm"},"src/containers/index.ts":{"bytes":750,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/TranscriptionArticle/index.ts","kind":"dynamic-import","original":"./TranscriptionArticle"}],"format":"esm"},"src/operations/create.ts":{"bytes":2235,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/operations/open.ts":{"bytes":3333,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/operations/summarize.ts":{"bytes":11748,"imports":[{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Layer","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/operations/index.ts":{"bytes":1052,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/operations/create.ts","kind":"dynamic-import","original":"./create"},{"path":"src/operations/open.ts","kind":"dynamic-import","original":"./open"},{"path":"src/operations/summarize.ts","kind":"dynamic-import","original":"./summarize"}],"format":"esm"},"src/plugin.ts":{"bytes":1123,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/operations/index.ts","kind":"import-statement","original":"./operations"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":2046,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/operation-handler-NXMOAXFP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":949},"dist/lib/neutral/operation-handler-NXMOAXFP.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/operation-handler.ts","inputs":{"src/capabilities/operation-handler.ts":{"bytesInOutput":359}},"bytes":539},"dist/lib/neutral/react-surface-YMZRO242.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1948},"dist/lib/neutral/react-surface-YMZRO242.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","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/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":955}},"bytes":1124},"dist/lib/neutral/transcriber-ABHATBVH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4466},"dist/lib/neutral/transcriber-ABHATBVH.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ILSA3DU7.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-KAEXRX3Y.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/transcriber.ts","inputs":{"src/capabilities/transcriber.ts":{"bytesInOutput":1716}},"bytes":2010},"dist/lib/neutral/TranscriptionArticle-L6XANBH5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4246},"dist/lib/neutral/TranscriptionArticle-L6XANBH5.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-KAEXRX3Y.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#hooks","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/TranscriptionArticle/index.ts","inputs":{"src/containers/TranscriptionArticle/TranscriptionArticle.tsx":{"bytesInOutput":1858},"src/containers/TranscriptionArticle/index.ts":{"bytesInOutput":0}},"bytes":2114},"dist/lib/neutral/create-RRWRIUSR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1263},"dist/lib/neutral/create-RRWRIUSR.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-5FXU36PN.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/create.ts","inputs":{"src/operations/create.ts":{"bytesInOutput":414}},"bytes":629},"dist/lib/neutral/open-CVMX5KXZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1873},"dist/lib/neutral/open-CVMX5KXZ.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-5FXU36PN.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-KAEXRX3Y.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/open.ts","inputs":{"src/operations/open.ts":{"bytesInOutput":646}},"bytes":910},"dist/lib/neutral/summarize-LA7TRW7A.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6131},"dist/lib/neutral/summarize-LA7TRW7A.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-5FXU36PN.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Layer","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/summarize.ts","inputs":{"src/operations/summarize.ts":{"bytesInOutput":3193}},"bytes":3417},"dist/lib/neutral/hooks/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/hooks/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-2O3ONPRZ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-MLRJWAQH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["useAudioFile","useAudioTrack","useFeedModelAdapter","useTranscriber","useTranscriptionRecording","useVoiceInput"],"entryPoint":"src/hooks/index.ts","inputs":{},"bytes":390},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-GL4RS533.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":131},"dist/lib/neutral/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/operations/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-Y5EQAFFR.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["TranscriptionOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{},"bytes":190},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":527},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-Y5EQAFFR.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-GL4RS533.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["TranscriptionOperationHandlerSet","TranscriptionPlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":116}},"bytes":393},"dist/lib/neutral/chunk-Y5EQAFFR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":571},"dist/lib/neutral/chunk-Y5EQAFFR.mjs":{"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"dist/lib/neutral/create-RRWRIUSR.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/open-CVMX5KXZ.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/summarize-LA7TRW7A.mjs","kind":"dynamic-import"}],"exports":["TranscriptionOperationHandlerSet"],"inputs":{"src/operations/index.ts":{"bytesInOutput":236}},"bytes":355},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":998},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":493}},"bytes":617},"dist/lib/neutral/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/types/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-5FXU36PN.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["TranscriptOperation","TranscriptionCapabilities"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":306},"dist/lib/neutral/blueprint-definition-HOXDG5QP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1127},"dist/lib/neutral/blueprint-definition-HOXDG5QP.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#blueprints","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/blueprint-definition.ts","inputs":{"src/capabilities/blueprint-definition.ts":{"bytesInOutput":416}},"bytes":605},"dist/lib/neutral/text-content-F4ASMITB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2597},"dist/lib/neutral/text-content-F4ASMITB.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-KAEXRX3Y.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/text-content.ts","inputs":{"src/capabilities/text-content.ts":{"bytesInOutput":1021}},"bytes":1241},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ILSA3DU7.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-2O3ONPRZ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-GL4RS533.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-5FXU36PN.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-ZR4BH4QQ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-MLRJWAQH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-KAEXRX3Y.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["MediaStreamRecorder","Transcriber","TranscriptOperation","TranscriptionBlueprint","TranscriptionCapabilities","TranscriptionManager","alignWhisperSegments","meta","useAudioFile","useAudioTrack","useFeedModelAdapter","useTranscriber","useTranscriptionRecording","useVoiceInput"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":1046},"dist/lib/neutral/chunk-ILSA3DU7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29178},"dist/lib/neutral/chunk-ILSA3DU7.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-KAEXRX3Y.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":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["MediaStreamRecorder","Transcriber","TranscriptionManager","alignWhisperSegments"],"inputs":{"src/transcriber/media-stream-recorder.ts":{"bytesInOutput":3754},"src/transcriber/transcriber.ts":{"bytesInOutput":6648},"src/transcriber/transcription-manager.ts":{"bytesInOutput":4270},"src/transcriber/index.ts":{"bytesInOutput":0}},"bytes":15000},"dist/lib/neutral/chunk-2O3ONPRZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18575},"dist/lib/neutral/chunk-2O3ONPRZ.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-MLRJWAQH.mjs","kind":"import-statement"},{"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":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"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":["useAudioFile","useAudioTrack","useFeedModelAdapter","useTranscriber","useTranscriptionRecording","useVoiceInput"],"inputs":{"src/hooks/useAudioFile.ts":{"bytesInOutput":2325},"src/hooks/index.ts":{"bytesInOutput":0},"src/hooks/useAudioTrack.ts":{"bytesInOutput":656},"src/hooks/useFeedModelAdapter.ts":{"bytesInOutput":601},"src/hooks/useTranscriber.ts":{"bytesInOutput":905},"src/hooks/useTranscriptionRecording.ts":{"bytesInOutput":2233},"src/hooks/useVoiceInput.ts":{"bytesInOutput":1802}},"bytes":8963},"dist/lib/neutral/chunk-GL4RS533.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":982},"dist/lib/neutral/chunk-GL4RS533.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":506}},"bytes":585},"dist/lib/neutral/chunk-5FXU36PN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6786},"dist/lib/neutral/chunk-5FXU36PN.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["TranscriptOperation_exports","TranscriptionCapabilities_exports"],"inputs":{"src/types/TranscriptionCapabilities.ts":{"bytesInOutput":422},"src/types/index.ts":{"bytesInOutput":0},"src/types/TranscriptOperation.ts":{"bytesInOutput":3060}},"bytes":3737},"dist/lib/neutral/TranscriptionPlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2181},"dist/lib/neutral/TranscriptionPlugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"exports":["TranscriptionPlugin","default"],"entryPoint":"src/TranscriptionPlugin.tsx","inputs":{"src/TranscriptionPlugin.tsx":{"bytesInOutput":977}},"bytes":1165},"dist/lib/neutral/TranscriptionPlugin.node.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1479},"dist/lib/neutral/TranscriptionPlugin.node.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["TranscriptionPlugin","default"],"entryPoint":"src/TranscriptionPlugin.node.ts","inputs":{"src/TranscriptionPlugin.node.ts":{"bytesInOutput":657}},"bytes":859},"dist/lib/neutral/TranscriptionPlugin.workerd.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1112},"dist/lib/neutral/TranscriptionPlugin.workerd.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["TranscriptionPlugin","default"],"entryPoint":"src/TranscriptionPlugin.workerd.ts","inputs":{"src/TranscriptionPlugin.workerd.ts":{"bytesInOutput":488}},"bytes":699},"dist/lib/neutral/blueprints/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/blueprints/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ZR4BH4QQ.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["TranscriptionBlueprint"],"entryPoint":"src/blueprints/index.ts","inputs":{},"bytes":214},"dist/lib/neutral/chunk-ZR4BH4QQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1369},"dist/lib/neutral/chunk-ZR4BH4QQ.mjs":{"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["transcription_blueprint_default"],"inputs":{"src/blueprints/transcription-blueprint.ts":{"bytesInOutput":629},"src/blueprints/index.ts":{"bytesInOutput":0}},"bytes":765},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1323},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/blueprint-definition-HOXDG5QP.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/text-content-F4ASMITB.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/operation-handler-NXMOAXFP.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/react-surface-YMZRO242.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/transcriber-ABHATBVH.mjs","kind":"dynamic-import"}],"exports":["BlueprintDefinition","OperationHandler","ReactSurface","TextContent","Transcriber"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":571}},"bytes":768},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20340},"dist/lib/neutral/components/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-MLRJWAQH.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-KAEXRX3Y.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@radix-ui/react-primitive","kind":"import-statement","external":true},{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph/styles/graph.css","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-graph","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","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/ui-editor","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","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}],"exports":["Oracle","Transcription","renderByline"],"entryPoint":"src/components/index.ts","inputs":{"src/components/Oracle/Oracle.tsx":{"bytesInOutput":2173},"src/components/Oracle/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/Transcription/Transcription.tsx":{"bytesInOutput":1298},"src/components/Transcription/transcription-extension.ts":{"bytesInOutput":4803},"src/components/Transcription/index.ts":{"bytesInOutput":0}},"bytes":8709},"dist/lib/neutral/chunk-MLRJWAQH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10712},"dist/lib/neutral/chunk-MLRJWAQH.mjs":{"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}],"exports":["DocumentAdapter","SerializationModel"],"inputs":{"src/model/model.ts":{"bytesInOutput":5119},"src/model/index.ts":{"bytesInOutput":0}},"bytes":5238},"dist/lib/neutral/chunk-KAEXRX3Y.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2917},"dist/lib/neutral/chunk-KAEXRX3Y.mjs":{"imports":[],"exports":["mergeFloat64Arrays","renderByline"],"inputs":{"src/util/render-byline.ts":{"bytesInOutput":785},"src/util/array.ts":{"bytesInOutput":267},"src/util/index.ts":{"bytesInOutput":0}},"bytes":1197},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":422},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/neutral/TranscriptionArticle-L6XANBH5.mjs","kind":"dynamic-import"}],"exports":["TranscriptionArticle"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":117}},"bytes":247},"dist/lib/neutral/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -0,0 +1,8 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-GL4RS533.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+ export {
6
+ meta
7
+ };
8
+ //# sourceMappingURL=meta.mjs.map
@@ -1,9 +1,9 @@
1
+ import {
2
+ TranscriptOperation_exports
3
+ } from "./chunk-5FXU36PN.mjs";
1
4
  import {
2
5
  renderByline
3
6
  } from "./chunk-KAEXRX3Y.mjs";
4
- import {
5
- Open
6
- } from "./chunk-L4HW35L6.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/operations/open.ts
@@ -11,7 +11,7 @@ import * as Effect from "effect/Effect";
11
11
  import { Operation } from "@dxos/compute";
12
12
  import { Database, Feed, Filter } from "@dxos/echo";
13
13
  import { Message } from "@dxos/types";
14
- var handler = Open.pipe(Operation.withHandler(Effect.fn(function* ({ transcript }) {
14
+ var handler = TranscriptOperation_exports.Open.pipe(Operation.withHandler(Effect.fn(function* ({ transcript }) {
15
15
  const transcriptObj = yield* Database.load(transcript);
16
16
  const feed = yield* Database.load(transcriptObj.feed);
17
17
  const messages = yield* Feed.runQuery(feed, Filter.type(Message.Message));
@@ -24,4 +24,4 @@ var open_default = handler;
24
24
  export {
25
25
  open_default as default
26
26
  };
27
- //# sourceMappingURL=open-SFMPLZVW.mjs.map
27
+ //# sourceMappingURL=open-CVMX5KXZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/open.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Feed, Filter } from '@dxos/echo';\nimport { Message } from '@dxos/types';\n\nimport { TranscriptOperation } from '../types';\nimport { renderByline } from '../util';\n\nconst handler: Operation.WithHandler<typeof TranscriptOperation.Open> = TranscriptOperation.Open.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ transcript }) {\n const transcriptObj = yield* Database.load(transcript);\n const feed = yield* Database.load(transcriptObj.feed);\n const messages = yield* Feed.runQuery(feed, Filter.type(Message.Message));\n const content = messages\n .flatMap((message: Message.Message, index: number) => renderByline([])(message, index))\n .join('\\n\\n');\n return { content };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,MAAMC,cAAc;AACvC,SAASC,eAAe;AAKxB,IAAMC,UAAkEC,4BAAoBC,KAAKC,KAC/FC,UAAUC,YACDC,UAAG,WAAW,EAAEC,WAAU,GAAE;AACjC,QAAMC,gBAAgB,OAAOC,SAASC,KAAKH,UAAAA;AAC3C,QAAMI,OAAO,OAAOF,SAASC,KAAKF,cAAcG,IAAI;AACpD,QAAMC,WAAW,OAAOC,KAAKC,SAASH,MAAMI,OAAOC,KAAKC,QAAQA,OAAO,CAAA;AACvE,QAAMC,UAAUN,SACbO,QAAQ,CAACC,SAA0BC,UAAkBC,aAAa,CAAA,CAAE,EAAEF,SAASC,KAAAA,CAAAA,EAC/EE,KAAK,MAAA;AACR,SAAO;IAAEL;EAAQ;AACnB,CAAA,CAAA,CAAA;AAIJ,IAAA,eAAelB;",
6
+ "names": ["Effect", "Operation", "Database", "Feed", "Filter", "Message", "handler", "TranscriptOperation", "Open", "pipe", "Operation", "withHandler", "fn", "transcript", "transcriptObj", "Database", "load", "feed", "messages", "Feed", "runQuery", "Filter", "type", "Message", "content", "flatMap", "message", "index", "renderByline", "join"]
7
+ }
@@ -0,0 +1,13 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/operation-handler.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capabilities, Capability } from "@dxos/app-framework";
6
+ import { TranscriptionOperationHandlerSet } from "#operations";
7
+ var operation_handler_default = Capability.makeModule(Effect.fnUntraced(function* () {
8
+ return Capability.contributes(Capabilities.OperationHandler, TranscriptionOperationHandlerSet);
9
+ }));
10
+ export {
11
+ operation_handler_default as default
12
+ };
13
+ //# sourceMappingURL=operation-handler-NXMOAXFP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/operation-handler.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport type { OperationHandlerSet } from '@dxos/compute';\n\nimport { TranscriptionOperationHandlerSet } from '#operations';\n\nexport default Capability.makeModule<OperationHandlerSet.OperationHandlerSet>(\n Effect.fnUntraced(function* () {\n return Capability.contributes(Capabilities.OperationHandler, TranscriptionOperationHandlerSet);\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AAGzC,SAASC,wCAAwC;AAEjD,IAAA,4BAAeD,WAAWE,WACjBC,kBAAW,aAAA;AAChB,SAAOH,WAAWI,YAAYL,aAAaM,kBAAkBJ,gCAAAA;AAC/D,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "TranscriptionOperationHandlerSet", "makeModule", "fnUntraced", "contributes", "OperationHandler"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ TranscriptionOperationHandlerSet
3
+ } from "../chunk-Y5EQAFFR.mjs";
4
+ import "../chunk-J5LGTIGS.mjs";
5
+ export {
6
+ TranscriptionOperationHandlerSet
7
+ };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,16 @@
1
+ import {
2
+ TranscriptionOperationHandlerSet
3
+ } from "./chunk-Y5EQAFFR.mjs";
4
+ import {
5
+ meta
6
+ } from "./chunk-GL4RS533.mjs";
7
+ import "./chunk-J5LGTIGS.mjs";
8
+
9
+ // src/plugin.ts
10
+ import { Plugin } from "@dxos/app-framework";
11
+ var TranscriptionPlugin = Plugin.lazy(meta, () => import("#plugin"));
12
+ export {
13
+ TranscriptionOperationHandlerSet,
14
+ TranscriptionPlugin
15
+ };
16
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const TranscriptionPlugin = Plugin.lazy(meta, () => import('#plugin'));\n\nexport { TranscriptionOperationHandlerSet } from './operations';\n"],
5
+ "mappings": ";;;;;;;;;AAIA,SAASA,cAAc;AAIhB,IAAMC,sBAAsBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "TranscriptionPlugin", "Plugin", "lazy", "meta"]
7
+ }
@@ -0,0 +1,26 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/react-surface.tsx
4
+ import * as Effect from "effect/Effect";
5
+ import React from "react";
6
+ import { Capabilities, Capability } from "@dxos/app-framework";
7
+ import { Surface } from "@dxos/app-framework/ui";
8
+ import { AppSurface } from "@dxos/app-toolkit/ui";
9
+ import { Transcript } from "@dxos/types";
10
+ import { TranscriptionArticle } from "#containers";
11
+ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
12
+ Surface.create({
13
+ id: "article.transcript",
14
+ // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
15
+ filter: AppSurface.oneOf(AppSurface.object(AppSurface.Article, Transcript.Transcript), AppSurface.object(AppSurface.Section, Transcript.Transcript)),
16
+ component: ({ data, role }) => /* @__PURE__ */ React.createElement(TranscriptionArticle, {
17
+ role,
18
+ subject: data.subject,
19
+ attendableId: data.attendableId
20
+ })
21
+ })
22
+ ])));
23
+ export {
24
+ react_surface_default as default
25
+ };
26
+ //# sourceMappingURL=react-surface-YMZRO242.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { Transcript } from '@dxos/types';\n\nimport { TranscriptionArticle } from '#containers';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'article.transcript',\n // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.\n filter: AppSurface.oneOf(\n AppSurface.object(AppSurface.Article, Transcript.Transcript),\n AppSurface.object(AppSurface.Section, Transcript.Transcript),\n ),\n component: ({ data, role }) => (\n <TranscriptionArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAE3B,SAASC,4BAA4B;AAErC,IAAA,wBAAeJ,WAAWK,WAAW,MAC5BC,eACLN,WAAWO,YAAYR,aAAaS,cAAc;EAChDP,QAAQQ,OAAO;IACbC,IAAI;;IAEJC,QAAQT,WAAWU,MACjBV,WAAWW,OAAOX,WAAWY,SAASX,WAAWA,UAAU,GAC3DD,WAAWW,OAAOX,WAAWa,SAASZ,WAAWA,UAAU,CAAA;IAE7Da,WAAW,CAAC,EAAEC,MAAMC,KAAI,MACtB,sBAAA,cAACd,sBAAAA;MAAqBc;MAAYC,SAASF,KAAKE;MAASC,cAAcH,KAAKG;;EAEhF,CAAA;CACD,CAAA,CAAA;",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "AppSurface", "Transcript", "TranscriptionArticle", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "filter", "oneOf", "object", "Article", "Section", "component", "data", "role", "subject", "attendableId"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
- Summarize
3
- } from "./chunk-L4HW35L6.mjs";
2
+ TranscriptOperation_exports
3
+ } from "./chunk-5FXU36PN.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/operations/summarize.ts
@@ -14,8 +14,8 @@ import { AiRequest, GenerationObserver } from "@dxos/assistant";
14
14
  import { Trace, Operation, OperationRegistry } from "@dxos/compute";
15
15
  import { Database } from "@dxos/echo";
16
16
  import { trim } from "@dxos/util";
17
- var handler = Summarize.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ transcript, notes }) {
18
- const result = yield* new AiRequest({
17
+ var handler = TranscriptOperation_exports.Summarize.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ transcript, notes }) {
18
+ const result = yield* new AiRequest.Request({
19
19
  observer: GenerationObserver.fromPrinter(new ConsolePrinter({
20
20
  tag: "summarize"
21
21
  }))
@@ -75,4 +75,4 @@ var systemPrompt = trim`
75
75
  export {
76
76
  summarize_default as default
77
77
  };
78
- //# sourceMappingURL=summarize-BDFX4APN.mjs.map
78
+ //# sourceMappingURL=summarize-LA7TRW7A.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/summarize.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\n\nimport { AiService, ConsolePrinter, ToolExecutionService, ToolResolverService } from '@dxos/ai';\nimport { AiRequest, GenerationObserver } from '@dxos/assistant';\nimport { Trace, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\nimport { trim } from '@dxos/util';\n\nimport { TranscriptOperation } from '../types';\n\n/**\n * Summarize a transcript of a meeting.\n */\nconst handler: Operation.WithHandler<typeof TranscriptOperation.Summarize> = TranscriptOperation.Summarize.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ transcript, notes }) {\n const result = yield* new AiRequest.Request({\n observer: GenerationObserver.fromPrinter(new ConsolePrinter({ tag: 'summarize' })),\n }).run({\n prompt: `Transcript: ${transcript}\\n\\nNotes: ${notes}`,\n history: [],\n system: systemPrompt,\n });\n\n const summary = Function.pipe(\n result,\n Array.findLast((msg) => msg.sender.role === 'assistant' && msg.blocks.some((block) => block._tag === 'text')),\n Option.flatMap((msg) =>\n Function.pipe(\n msg.blocks,\n Array.findLast((block) => block._tag === 'text'),\n Option.map((block) => block.text),\n ),\n ),\n Option.getOrThrowWith(() => new Error('No summary found')),\n );\n\n return { summary };\n },\n Effect.provide(\n Layer.mergeAll(\n AiService.model('@anthropic/claude-sonnet-4-0'),\n ToolResolverService.layerEmpty,\n ToolExecutionService.layerEmpty,\n Trace.writerLayerNoop,\n Database.notAvailable,\n Layer.succeed(Operation.Service, {\n invoke: () => Effect.die('Not available.'),\n schedule: () => Effect.die('Not available.'),\n invokePromise: async () => ({ error: new Error('Not available.') }),\n } as any),\n Layer.succeed(OperationRegistry.Service, { resolve: () => Effect.succeed(undefined) } as any),\n ),\n ),\n ),\n ),\n);\n\nexport default handler;\n\nconst systemPrompt = trim`\n You are a helpful assistant that summarizes transcripts of meetings.\n\n # Goal\n Create a markdown summary of the meeting transcript with text notes provided.\n Notes are very important so make sure to include them in the summary if they contain meaningful information.\n\n # Formatting\n - Format the summary as a markdown document without extra comments like \"Here is the summary of the transcript:\".\n - Use markdown formatting for headings and bullet points.\n - Format the summary as a list of key points and takeaways.\n - All names of people should be in bold.\n\n # Note Taking\n - Correlate items in the summary with the person of origin to build a coherent narrative.\n - Include short quotes verbatim where appropriate. Especially when concerned with design decisions and problem descriptions.\n\n # Tasks\n At the end of the summary include tasks.\n Extract only the tasks that are:\n - Directly actionable.\n - Clearly assigned to a person or team (or can easily be inferred).\n - Strongly implied by the conversation and/or user note (no speculative tasks).\n - Specific enough that someone reading them would know exactly what to do next.\n\n Format all tasks as markdown checkboxes using the syntax:\n - [ ] Task description.\n\n Additional information can be included (indented).\n\n If no actionable tasks are found, omit this tasks section.\n`;\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,WAAW;AACvB,YAAYC,YAAY;AAExB,SAASC,WAAWC,gBAAgBC,sBAAsBC,2BAA2B;AACrF,SAASC,WAAWC,0BAA0B;AAC9C,SAASC,OAAOC,WAAWC,yBAAyB;AACpD,SAASC,gBAAgB;AACzB,SAASC,YAAY;AAOrB,IAAMC,UAAuEC,4BAAoBC,UAAUC,KACzGC,UAAUC,YACDC,kBACL,WAAW,EAAEC,YAAYC,MAAK,GAAE;AAC9B,QAAMC,SAAS,OAAO,IAAIC,UAAUC,QAAQ;IAC1CC,UAAUC,mBAAmBC,YAAY,IAAIC,eAAe;MAAEC,KAAK;IAAY,CAAA,CAAA;EACjF,CAAA,EAAGC,IAAI;IACLC,QAAQ,eAAeX,UAAAA;;SAAwBC,KAAAA;IAC/CW,SAAS,CAAA;IACTC,QAAQC;EACV,CAAA;AAEA,QAAMC,UAAmBnB,cACvBM,QACMc,eAAS,CAACC,QAAQA,IAAIC,OAAOC,SAAS,eAAeF,IAAIG,OAAOC,KAAK,CAACC,UAAUA,MAAMC,SAAS,MAAA,CAAA,GAC9FC,eAAQ,CAACP,QACLrB,cACPqB,IAAIG,QACEJ,eAAS,CAACM,UAAUA,MAAMC,SAAS,MAAA,GAClCE,WAAI,CAACH,UAAUA,MAAMI,IAAI,CAAA,CAAA,GAG7BC,sBAAe,MAAM,IAAIC,MAAM,kBAAA,CAAA,CAAA;AAGxC,SAAO;IAAEb;EAAQ;AACnB,GACOc,eACCC,eACJC,UAAUC,MAAM,8BAAA,GAChBC,oBAAoBC,YACpBC,qBAAqBD,YACrBE,MAAMC,iBACNC,SAASC,cACHC,cAAQ3C,UAAU4C,SAAS;EAC/BC,QAAQ,MAAaC,WAAI,gBAAA;EACzBC,UAAU,MAAaD,WAAI,gBAAA;EAC3BE,eAAe,aAAa;IAAEC,OAAO,IAAIlB,MAAM,gBAAA;EAAkB;AACnE,CAAA,GACMY,cAAQO,kBAAkBN,SAAS;EAAEO,SAAS,MAAaR,eAAQS,MAAAA;AAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAO9F,IAAA,oBAAexD;AAEf,IAAMqB,eAAeoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
6
+ "names": ["Array", "Effect", "Function", "Layer", "Option", "AiService", "ConsolePrinter", "ToolExecutionService", "ToolResolverService", "AiRequest", "GenerationObserver", "Trace", "Operation", "OperationRegistry", "Database", "trim", "handler", "TranscriptOperation", "Summarize", "pipe", "Operation", "withHandler", "fnUntraced", "transcript", "notes", "result", "AiRequest", "Request", "observer", "GenerationObserver", "fromPrinter", "ConsolePrinter", "tag", "run", "prompt", "history", "system", "systemPrompt", "summary", "findLast", "msg", "sender", "role", "blocks", "some", "block", "_tag", "flatMap", "map", "text", "getOrThrowWith", "Error", "provide", "mergeAll", "AiService", "model", "ToolResolverService", "layerEmpty", "ToolExecutionService", "Trace", "writerLayerNoop", "Database", "notAvailable", "succeed", "Service", "invoke", "die", "schedule", "invokePromise", "error", "OperationRegistry", "resolve", "undefined", "trim"]
7
+ }
@@ -0,0 +1,30 @@
1
+ import {
2
+ renderByline
3
+ } from "./chunk-KAEXRX3Y.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/capabilities/text-content.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capability } from "@dxos/app-framework";
9
+ import { AppCapabilities } from "@dxos/app-toolkit";
10
+ import { Feed, Obj } from "@dxos/echo";
11
+ import { getSpace } from "@dxos/react-client/echo";
12
+ import { Message, Transcript } from "@dxos/types";
13
+ var text_content_default = Capability.makeModule(Effect.fnUntraced(function* () {
14
+ return Capability.contributes(AppCapabilities.TextContent, {
15
+ id: Transcript.Transcript.typename,
16
+ getTextContent: async (transcript) => {
17
+ const space = getSpace(transcript);
18
+ const members = space?.members.get().map((member) => member.identity) ?? [];
19
+ const feed = await transcript.feed.load();
20
+ const feedDXN = Feed.getQueueDxn(feed);
21
+ const queue = feedDXN ? space?.queues.get(feedDXN) : void 0;
22
+ await queue?.refresh();
23
+ return queue?.objects.filter((message) => Obj.instanceOf(Message.Message, message)).flatMap((message, index) => renderByline(members)(message, index)).join("\n\n");
24
+ }
25
+ });
26
+ }));
27
+ export {
28
+ text_content_default as default
29
+ };
30
+ //# sourceMappingURL=text-content-F4ASMITB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/text-content.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Feed, Obj } from '@dxos/echo';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Message, Transcript } from '@dxos/types';\n\nimport { renderByline } from '../util';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(AppCapabilities.TextContent, {\n id: Transcript.Transcript.typename,\n getTextContent: async (transcript: Transcript.Transcript) => {\n const space = getSpace(transcript);\n const members = space?.members.get().map((member) => member.identity) ?? [];\n const feed = await transcript.feed.load();\n const feedDXN = Feed.getQueueDxn(feed);\n const queue = feedDXN ? space?.queues.get<Message.Message>(feedDXN) : undefined;\n await queue?.refresh();\n return queue?.objects\n .filter((message) => Obj.instanceOf(Message.Message, message))\n .flatMap((message, index) => renderByline(members)(message, index))\n .join('\\n\\n');\n },\n });\n }),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,MAAMC,WAAW;AAC1B,SAASC,gBAAgB;AACzB,SAASC,SAASC,kBAAkB;AAIpC,IAAA,uBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,SAAOF,WAAWG,YAAYC,gBAAgBC,aAAa;IACzDC,IAAIC,WAAWA,WAAWC;IAC1BC,gBAAgB,OAAOC,eAAAA;AACrB,YAAMC,QAAQC,SAASF,UAAAA;AACvB,YAAMG,UAAUF,OAAOE,QAAQC,IAAAA,EAAMC,IAAI,CAACC,WAAWA,OAAOC,QAAQ,KAAK,CAAA;AACzE,YAAMC,OAAO,MAAMR,WAAWQ,KAAKC,KAAI;AACvC,YAAMC,UAAUC,KAAKC,YAAYJ,IAAAA;AACjC,YAAMK,QAAQH,UAAUT,OAAOa,OAAOV,IAAqBM,OAAAA,IAAWK;AACtE,YAAMF,OAAOG,QAAAA;AACb,aAAOH,OAAOI,QACXC,OAAO,CAACC,YAAYC,IAAIC,WAAWC,QAAQA,SAASH,OAAAA,CAAAA,EACpDI,QAAQ,CAACJ,SAASK,UAAUC,aAAatB,OAAAA,EAASgB,SAASK,KAAAA,CAAAA,EAC3DE,KAAK,MAAA;IACV;EACF,CAAA;AACF,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "Feed", "Obj", "getSpace", "Message", "Transcript", "Capability", "makeModule", "fnUntraced", "contributes", "AppCapabilities", "TextContent", "id", "Transcript", "typename", "getTextContent", "transcript", "space", "getSpace", "members", "get", "map", "member", "identity", "feed", "load", "feedDXN", "Feed", "getQueueDxn", "queue", "queues", "undefined", "refresh", "objects", "filter", "message", "Obj", "instanceOf", "Message", "flatMap", "index", "renderByline", "join"]
7
+ }