@dxos/plugin-transcription 0.7.5-staging.2ff1350 → 0.7.5-staging.e6154f3

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 (40) hide show
  1. package/dist/lib/browser/{TranscriptContainer-7J3JHI6Q.mjs → TranscriptContainer-SX6PNFEC.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-IHSLJZZ7.mjs → chunk-AS364WZZ.mjs} +2 -2
  3. package/dist/lib/browser/{chunk-ORGZ2DWD.mjs → chunk-R4HHS6FA.mjs} +31 -10
  4. package/dist/lib/browser/chunk-R4HHS6FA.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +3 -3
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/{react-surface-JM2F2QZC.mjs → react-surface-FOEWLLTZ.mjs} +3 -3
  8. package/dist/lib/node/{TranscriptContainer-FFAQVGMS.cjs → TranscriptContainer-HU763SN3.cjs} +7 -7
  9. package/dist/lib/node/{TranscriptContainer-FFAQVGMS.cjs.map → TranscriptContainer-HU763SN3.cjs.map} +2 -2
  10. package/dist/lib/node/{chunk-Z5MTY2TU.cjs → chunk-QWXLQPP5.cjs} +5 -5
  11. package/dist/lib/node/{chunk-JYADA35W.cjs → chunk-YV74Z74I.cjs} +33 -12
  12. package/dist/lib/node/chunk-YV74Z74I.cjs.map +7 -0
  13. package/dist/lib/node/index.cjs +6 -6
  14. package/dist/lib/node/meta.json +1 -1
  15. package/dist/lib/node/{react-surface-Q676XPRP.cjs → react-surface-AGGGDOUC.cjs} +7 -7
  16. package/dist/lib/node-esm/{TranscriptContainer-3BJ74CEQ.mjs → TranscriptContainer-DVBXQIQ4.mjs} +2 -2
  17. package/dist/lib/node-esm/{chunk-EQUSN55D.mjs → chunk-36EQXBWR.mjs} +31 -10
  18. package/dist/lib/node-esm/chunk-36EQXBWR.mjs.map +7 -0
  19. package/dist/lib/node-esm/{chunk-V3YAZI67.mjs → chunk-WEZGRUG6.mjs} +2 -2
  20. package/dist/lib/node-esm/index.mjs +3 -3
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/{react-surface-XP3BJN4L.mjs → react-surface-6AYPLJ2B.mjs} +3 -3
  23. package/dist/types/src/capabilities/app-graph-builder.d.ts +110 -110
  24. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  25. package/dist/types/src/capabilities/index.d.ts +110 -110
  26. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  27. package/dist/types/src/types/schema.d.ts +2 -2
  28. package/package.json +36 -36
  29. package/src/components/TranscriptContainer.tsx +31 -10
  30. package/dist/lib/browser/chunk-ORGZ2DWD.mjs.map +0 -7
  31. package/dist/lib/node/chunk-JYADA35W.cjs.map +0 -7
  32. package/dist/lib/node-esm/chunk-EQUSN55D.mjs.map +0 -7
  33. /package/dist/lib/browser/{TranscriptContainer-7J3JHI6Q.mjs.map → TranscriptContainer-SX6PNFEC.mjs.map} +0 -0
  34. /package/dist/lib/browser/{chunk-IHSLJZZ7.mjs.map → chunk-AS364WZZ.mjs.map} +0 -0
  35. /package/dist/lib/browser/{react-surface-JM2F2QZC.mjs.map → react-surface-FOEWLLTZ.mjs.map} +0 -0
  36. /package/dist/lib/node/{chunk-Z5MTY2TU.cjs.map → chunk-QWXLQPP5.cjs.map} +0 -0
  37. /package/dist/lib/node/{react-surface-Q676XPRP.cjs.map → react-surface-AGGGDOUC.cjs.map} +0 -0
  38. /package/dist/lib/node-esm/{TranscriptContainer-3BJ74CEQ.mjs.map → TranscriptContainer-DVBXQIQ4.mjs.map} +0 -0
  39. /package/dist/lib/node-esm/{chunk-V3YAZI67.mjs.map → chunk-WEZGRUG6.mjs.map} +0 -0
  40. /package/dist/lib/node-esm/{react-surface-XP3BJN4L.mjs.map → react-surface-6AYPLJ2B.mjs.map} +0 -0
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  TranscriptContainer_default,
3
3
  TranscriptionContainer
4
- } from "./chunk-ORGZ2DWD.mjs";
4
+ } from "./chunk-R4HHS6FA.mjs";
5
5
  import "./chunk-QIHUPVQD.mjs";
6
6
  export {
7
7
  TranscriptionContainer,
8
8
  TranscriptContainer_default as default
9
9
  };
10
- //# sourceMappingURL=TranscriptContainer-7J3JHI6Q.mjs.map
10
+ //# sourceMappingURL=TranscriptContainer-SX6PNFEC.mjs.map
@@ -1,8 +1,8 @@
1
1
  // packages/plugins/experimental/plugin-transcription/src/components/index.ts
2
2
  import { lazy } from "react";
3
- var TranscriptContainer = lazy(() => import("./TranscriptContainer-7J3JHI6Q.mjs"));
3
+ var TranscriptContainer = lazy(() => import("./TranscriptContainer-SX6PNFEC.mjs"));
4
4
 
5
5
  export {
6
6
  TranscriptContainer
7
7
  };
8
- //# sourceMappingURL=chunk-IHSLJZZ7.mjs.map
8
+ //# sourceMappingURL=chunk-AS364WZZ.mjs.map
@@ -8,7 +8,7 @@ import { pipe } from "effect";
8
8
  import React2, { useCallback, useMemo, useState } from "react";
9
9
  import { chain, createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
10
10
  import { Message } from "@dxos/artifact";
11
- import { AIServiceClientImpl, MixedStreamParser } from "@dxos/assistant";
11
+ import { AIServiceClientImpl, DEFAULT_LLM_MODEL, MixedStreamParser } from "@dxos/assistant";
12
12
  import { create, getSpace, makeRef } from "@dxos/client/echo";
13
13
  import { QueueImpl } from "@dxos/echo-db";
14
14
  import { createStatic, isInstanceOf } from "@dxos/echo-schema";
@@ -146,8 +146,8 @@ var summarizeTranscript = async (edgeClient, aiService, transcript) => {
146
146
  S: void 0,
147
147
  C: (f, a) => f(...a)
148
148
  });
149
- const output = await parser.parse(await aiService.generate({
150
- model: "@anthropic/claude-3-5-sonnet-20241022",
149
+ const output = await parser.parse(await aiService.exec({
150
+ model: DEFAULT_LLM_MODEL,
151
151
  systemPrompt: SUMMARIZE_PROMPT,
152
152
  history: [
153
153
  createStatic(Message, {
@@ -195,12 +195,33 @@ var summarizeTranscript = async (edgeClient, aiService, transcript) => {
195
195
  });
196
196
  };
197
197
  var SUMMARIZE_PROMPT = `
198
- Create a summary of the transcript provided.
199
- Reference specific people by name when possible.
200
- Format the summary as a list of key points and takeaways.
201
- Include action items in the summary.
202
- Use markdown formatting for headings and bullet points.
203
- Format the summary as a markdown document without extra comments like "Here is the summary of the transcript:".
198
+ # Goal
199
+ Create a markdown summary of the transcript provided.
200
+
201
+ # Formatting
202
+ - Format the summary as a markdown document without extra comments like "Here is the summary of the transcript:".
203
+ - Use markdown formatting for headings and bullet points.
204
+ - Format the summary as a list of key points and takeaways.
205
+ - All names of people should be in bold.
206
+
207
+ # Note Taking
208
+ - Correlate items in the summary with the person of origin to build a coherent narrative.
209
+ - Include short quotes verbatim where appropriate. Especially when concerned with design decisions and problem descriptions.
210
+
211
+ # Tasks
212
+ At the end of the summary include tasks.
213
+ Extract only the tasks that are:
214
+ - Directly actionable
215
+ - Clearly assigned to a person or team (or can easily be inferred)
216
+ - Strongly implied by the conversation and/or user note (no speculative tasks)
217
+ - Specific enough that someone reading them would know exactly what to do next
218
+
219
+ Format all tasks as markdown checkboxes using the syntax:
220
+ - [ ] Task description
221
+
222
+ Additional information can be included (indented).
223
+
224
+ If no actionable tasks are found, omit this tasks section.
204
225
  `;
205
226
  var useAiServiceClient = () => {
206
227
  const config = useConfig();
@@ -217,4 +238,4 @@ export {
217
238
  TranscriptionContainer,
218
239
  TranscriptContainer_default
219
240
  };
220
- //# sourceMappingURL=chunk-ORGZ2DWD.mjs.map
241
+ //# sourceMappingURL=chunk-R4HHS6FA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/TranscriptContainer.tsx", "../../../src/components/Transcript/Transcript.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback, useMemo, useState, type FC } from 'react';\n\nimport { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { Message } from '@dxos/artifact';\nimport { AIServiceClientImpl, DEFAULT_LLM_MODEL, MixedStreamParser, type AIServiceClient } from '@dxos/assistant';\nimport { create, getSpace, makeRef } from '@dxos/client/echo';\nimport { QueueImpl } from '@dxos/echo-db';\nimport { createStatic, isInstanceOf } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { DXN } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { CollectionType, SpaceAction } from '@dxos/plugin-space/types';\nimport { useConfig } from '@dxos/react-client';\nimport { useEdgeClient, useQueue, type EdgeHttpClient } from '@dxos/react-edge-client';\nimport { IconButton, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { ScrollContainer } from '@dxos/react-ui-components';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { TextType } from '@dxos/schema';\n\nimport { Transcript } from './Transcript';\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\nimport { TranscriptBlock, type TranscriptType } from '../types';\n\nexport const TranscriptionContainer: FC<{ transcript: TranscriptType }> = ({ transcript }) => {\n const { t } = useTranslation(TRANSCRIPTION_PLUGIN);\n const edge = useEdgeClient();\n const aiService = useAiServiceClient();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const queue = useQueue<TranscriptBlock>(edge, transcript.queue ? DXN.parse(transcript.queue) : undefined, {\n pollInterval: 1_000,\n });\n\n // TODO(dmaretskyi): Pending state and errors should be handled by the framework!!!\n const [isSummarizing, setIsSummarizing] = useState(false);\n const handleSummarize = useCallback(async () => {\n setIsSummarizing(true);\n try {\n const document = await summarizeTranscript(edge, aiService, transcript);\n const space = getSpace(transcript);\n const target = space?.properties[CollectionType.typename]?.target;\n await dispatch(\n pipe(\n createIntent(SpaceAction.AddObject, { object: document, target }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n } finally {\n setIsSummarizing(false);\n }\n }, [transcript, edge]);\n\n // TODO(dmaretskyi): Move action to menu.\n return (\n <StackItem.Content toolbar={true}>\n <StackItem.Heading>\n <Toolbar.Root classNames='flex gap-2'>\n <IconButton\n icon='ph--subtitles--regular'\n iconOnly\n size={5}\n disabled={isSummarizing}\n onClick={handleSummarize}\n label={t('summary button')}\n />\n {isSummarizing && <div className='text-sm'>{t('summarizing label')}</div>}\n </Toolbar.Root>\n </StackItem.Heading>\n <ScrollContainer>\n <Transcript blocks={queue?.items} />\n </ScrollContainer>\n </StackItem.Content>\n );\n};\n\nexport default TranscriptionContainer;\n\n// TODO(dmaretskyi): Extract to the new file once transcript refactoring has settled.\nconst summarizeTranscript = async (\n edgeClient: EdgeHttpClient,\n aiService: AIServiceClient,\n transcript: TranscriptType,\n) => {\n invariant(transcript.queue, 'No queue found for transcript');\n\n const queue = new QueueImpl(edgeClient, DXN.parse(transcript.queue));\n await queue.refresh();\n const content = queue.items\n .filter((block) => isInstanceOf(TranscriptBlock, block))\n .map((block) => `${block.author}: ${block.segments.map((segment) => segment.text).join('\\n')}`)\n .join('\\n\\n');\n\n const parser = new MixedStreamParser();\n\n log.info('summarizing transcript', { blockCount: queue.items.length });\n const output = await parser.parse(\n await aiService.exec({\n model: DEFAULT_LLM_MODEL,\n systemPrompt: SUMMARIZE_PROMPT,\n history: [createStatic(Message, { role: 'user', content: [{ type: 'text', text: content }] })],\n }),\n );\n\n log.info('transcript summary', { output });\n invariant(output[0].content[0].type === 'text', 'Expected text content');\n const summary = output[0].content[0].text;\n\n // TODO(dmaretskyi): .started is missing.\n const name = `Summary ${(transcript.started ?? new Date()).toLocaleString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}`;\n\n return create(DocumentType, {\n name,\n content: makeRef(create(TextType, { content: summary })),\n threads: [],\n });\n};\n\n// TODO(dmaretskyi): Add example to set consistent structure for the summary.\nconst SUMMARIZE_PROMPT = `\n # Goal\n Create a markdown summary of the transcript provided.\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\n// TODO(dmaretskyi): Extract?\n// Also this conflicts with plugin automation providing the ai client via a capability. Need to reconcile.\nconst useAiServiceClient = (): AIServiceClient => {\n const config = useConfig();\n const endpoint = config.values.runtime?.services?.ai?.server ?? 'http://localhost:8788'; // TOOD(burdon): Standardize consts.\n return useMemo(() => new AIServiceClientImpl({ endpoint }), [endpoint]);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow';\nimport React, { type FC } from 'react';\n\nimport { Icon, IconButton, useTranslation } from '@dxos/react-ui';\n\nimport { TRANSCRIPTION_PLUGIN } from '../../meta';\nimport { type TranscriptBlock } from '../../types';\n\n// TODO(burdon): react-ui-list.\n// TODO(burdon): Actions (e.g., mark, summarize, translate, label, delete).\n\nexport type TranscriptProps = {\n blocks?: TranscriptBlock[];\n};\n\nexport const Transcript: FC<TranscriptProps> = ({ blocks }) => {\n const { t } = useTranslation(TRANSCRIPTION_PLUGIN);\n const hoverButton = 'p-1 min-bs-1 transition-opacity duration-250 opacity-10 group-hover:opacity-100';\n\n return (\n <div role='list' className='flex flex-col grow gap-2 m-1'>\n {blocks?.map((block) => (\n <div\n role='listitem'\n key={block.id}\n className='flex flex-col py-1 border border-transparent hover:border-separator rounded'\n >\n <div className='group flex items-center px-2'>\n <Icon icon='ph--user--regular' />\n <div className='px-2 text-sm text-subdued'>{block.author}</div>\n <div className='grow' />\n <IconButton\n disabled\n icon='ph--x--regular'\n label={t('delete button')}\n iconOnly\n size={4}\n classNames={hoverButton}\n />\n </div>\n\n {block.segments.map((segment, i) => (\n <div key={i} className='group flex flex-col'>\n <div className='px-2'>{segment.text}</div>\n <div className='flex gap-1 items-center justify-between px-2'>\n <div className='grow' />\n <div className='truncate text-xs text-subdued'>\n {formatDistanceToNow(segment.started, { addSuffix: true })}\n </div>\n <IconButton\n disabled\n icon='ph--bookmark-simple--regular'\n label={t('bookmark button')}\n iconOnly\n size={4}\n classNames={hoverButton}\n />\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,YAAY;AACrB,OAAOC,UAASC,aAAaC,SAASC,gBAAyB;AAE/D,SAASC,OAAOC,cAAcC,cAAcC,2BAA2B;AACvE,SAASC,eAAe;AACxB,SAASC,qBAAqBC,mBAAmBC,yBAA+C;AAChG,SAASC,QAAQC,UAAUC,eAAe;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,cAAcC,oBAAoB;AAC3C,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,WAAW;AACpB,SAASC,oBAAoB;AAC7B,SAASC,gBAAgBC,mBAAmB;AAC5C,SAASC,iBAAiB;AAC1B,SAASC,eAAeC,gBAAqC;AAC7D,SAASC,cAAAA,aAAYC,SAASC,kBAAAA,uBAAsB;AACpD,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;;;ACnBzB,SAASC,2BAA2B;AACpC,OAAOC,WAAwB;AAE/B,SAASC,MAAMC,YAAYC,sBAAsB;AAY1C,IAAMC,aAAkC,CAAC,EAAEC,OAAM,MAAE;AACxD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,oBAAAA;AAC7B,QAAMC,cAAc;AAEpB,SACE,sBAAA,cAACC,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACxBP,QAAQQ,IAAI,CAACC,UACZ,sBAAA,cAACJ,OAAAA;IACCC,MAAK;IACLI,KAAKD,MAAME;IACXJ,WAAU;KAEV,sBAAA,cAACF,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACK,MAAAA;IAAKC,MAAK;MACX,sBAAA,cAACR,OAAAA;IAAIE,WAAU;KAA6BE,MAAMK,MAAM,GACxD,sBAAA,cAACT,OAAAA;IAAIE,WAAU;MACf,sBAAA,cAACQ,YAAAA;IACCC,UAAAA;IACAH,MAAK;IACLI,OAAOhB,EAAE,eAAA;IACTiB,UAAAA;IACAC,MAAM;IACNC,YAAYhB;OAIfK,MAAMY,SAASb,IAAI,CAACc,SAASC,MAC5B,sBAAA,cAAClB,OAAAA;IAAIK,KAAKa;IAAGhB,WAAU;KACrB,sBAAA,cAACF,OAAAA;IAAIE,WAAU;KAAQe,QAAQE,IAAI,GACnC,sBAAA,cAACnB,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACF,OAAAA;IAAIE,WAAU;MACf,sBAAA,cAACF,OAAAA;IAAIE,WAAU;KACZkB,oBAAoBH,QAAQI,SAAS;IAAEC,WAAW;EAAK,CAAA,CAAA,GAE1D,sBAAA,cAACZ,YAAAA;IACCC,UAAAA;IACAH,MAAK;IACLI,OAAOhB,EAAE,iBAAA;IACTiB,UAAAA;IACAC,MAAM;IACNC,YAAYhB;;AAS9B;;;;ADvCO,IAAMwB,yBAA6D,CAAC,EAAEC,WAAU,MAAE;AACvF,QAAM,EAAEC,EAAC,IAAKC,gBAAeC,oBAAAA;AAC7B,QAAMC,OAAOC,cAAAA;AACb,QAAMC,YAAYC,mBAAAA;AAClB,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AAEtC,QAAMC,QAAQC,SAA0BR,MAAMJ,WAAWW,QAAQE,IAAIC,MAAMd,WAAWW,KAAK,IAAII,QAAW;IACxGC,cAAc;EAChB,CAAA;AAGA,QAAM,CAACC,eAAeC,gBAAAA,IAAoBC,SAAS,KAAA;AACnD,QAAMC,kBAAkBC,YAAY,YAAA;AAClCH,qBAAiB,IAAA;AACjB,QAAI;AACF,YAAMI,WAAW,MAAMC,oBAAoBnB,MAAME,WAAWN,UAAAA;AAC5D,YAAMwB,QAAQC,SAASzB,UAAAA;AACvB,YAAM0B,SAASF,OAAOG,WAAWC,eAAeC,QAAQ,GAAGH;AAC3D,YAAMjB,SACJqB,KACEC,aAAaC,YAAYC,WAAW;QAAEC,QAAQZ;QAAUI;MAAO,CAAA,GAC/DS,MAAMC,aAAaC,MAAM;QAAEC,MAAM;MAAO,CAAA,CAAA,CAAA;IAG9C,UAAA;AACEpB,uBAAiB,KAAA;IACnB;EACF,GAAG;IAAClB;IAAYI;GAAK;AAGrB,SACE,gBAAAmC,OAAA,cAACC,UAAUC,SAAO;IAACC,SAAS;KAC1B,gBAAAH,OAAA,cAACC,UAAUG,SAAO,MAChB,gBAAAJ,OAAA,cAACK,QAAQC,MAAI;IAACC,YAAW;KACvB,gBAAAP,OAAA,cAACQ,aAAAA;IACCC,MAAK;IACLC,UAAAA;IACAC,MAAM;IACNC,UAAUlC;IACVmC,SAAShC;IACTiC,OAAOpD,EAAE,gBAAA;MAEVgB,iBAAiB,gBAAAsB,OAAA,cAACe,OAAAA;IAAIC,WAAU;KAAWtD,EAAE,mBAAA,CAAA,CAAA,CAAA,GAGlD,gBAAAsC,OAAA,cAACiB,iBAAAA,MACC,gBAAAjB,OAAA,cAACkB,YAAAA;IAAWC,QAAQ/C,OAAOgD;;AAInC;AAEA,IAAA,8BAAe5D;AAGf,IAAMwB,sBAAsB,OAC1BqC,YACAtD,WACAN,eAAAA;AAEA6D,YAAU7D,WAAWW,OAAO,iCAAA;;;;;;;;;AAE5B,QAAMA,QAAQ,IAAImD,UAAUF,YAAY/C,IAAIC,MAAMd,WAAWW,KAAK,CAAA;AAClE,QAAMA,MAAMoD,QAAO;AACnB,QAAMC,UAAUrD,MAAMgD,MACnBM,OAAO,CAACC,UAAUC,aAAaC,iBAAiBF,KAAAA,CAAAA,EAChDG,IAAI,CAACH,UAAU,GAAGA,MAAMI,MAAM,KAAKJ,MAAMK,SAASF,IAAI,CAACG,YAAYA,QAAQC,IAAI,EAAEC,KAAK,IAAA,CAAA,EAAO,EAC7FA,KAAK,MAAA;AAER,QAAMC,SAAS,IAAIC,kBAAAA;AAEnBC,MAAIC,KAAK,0BAA0B;IAAEC,YAAYpE,MAAMgD,MAAMqB;EAAO,GAAA;;;;;;AACpE,QAAMC,SAAS,MAAMN,OAAO7D,MAC1B,MAAMR,UAAU4E,KAAK;IACnBC,OAAOC;IACPC,cAAcC;IACdC,SAAS;MAACC,aAAaC,SAAS;QAAEC,MAAM;QAAQ1B,SAAS;UAAC;YAAE2B,MAAM;YAAQlB,MAAMT;UAAQ;;MAAG,CAAA;;EAC7F,CAAA,CAAA;AAGFa,MAAIC,KAAK,sBAAsB;IAAEG;EAAO,GAAA;;;;;;AACxCpB,YAAUoB,OAAO,CAAA,EAAGjB,QAAQ,CAAA,EAAG2B,SAAS,QAAQ,yBAAA;;;;;;;;;AAChD,QAAMC,UAAUX,OAAO,CAAA,EAAGjB,QAAQ,CAAA,EAAGS;AAGrC,QAAMoB,OAAO,YAAY7F,WAAW8F,WAAW,oBAAIC,KAAAA,GAAQC,eAAe,SAAS;IACjFC,MAAM;IACNC,OAAO;IACPC,KAAK;IACLC,MAAM;IACNC,QAAQ;EACV,CAAA,CAAA;AAEA,SAAOC,OAAOC,cAAc;IAC1BV;IACA7B,SAASwC,QAAQF,OAAOG,UAAU;MAAEzC,SAAS4B;IAAQ,CAAA,CAAA;IACrDc,SAAS,CAAA;EACX,CAAA;AACF;AAGA,IAAMpB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCzB,IAAM/E,qBAAqB,MAAA;AACzB,QAAMoG,SAASC,UAAAA;AACf,QAAMC,WAAWF,OAAOG,OAAOC,SAASC,UAAUC,IAAIC,UAAU;AAChE,SAAOC,QAAQ,MAAM,IAAIC,oBAAoB;IAAEP;EAAS,CAAA,GAAI;IAACA;GAAS;AACxE;",
6
+ "names": ["pipe", "React", "useCallback", "useMemo", "useState", "chain", "createIntent", "LayoutAction", "useIntentDispatcher", "Message", "AIServiceClientImpl", "DEFAULT_LLM_MODEL", "MixedStreamParser", "create", "getSpace", "makeRef", "QueueImpl", "createStatic", "isInstanceOf", "invariant", "DXN", "log", "DocumentType", "CollectionType", "SpaceAction", "useConfig", "useEdgeClient", "useQueue", "IconButton", "Toolbar", "useTranslation", "ScrollContainer", "StackItem", "TextType", "formatDistanceToNow", "React", "Icon", "IconButton", "useTranslation", "Transcript", "blocks", "t", "useTranslation", "TRANSCRIPTION_PLUGIN", "hoverButton", "div", "role", "className", "map", "block", "key", "id", "Icon", "icon", "author", "IconButton", "disabled", "label", "iconOnly", "size", "classNames", "segments", "segment", "i", "text", "formatDistanceToNow", "started", "addSuffix", "TranscriptionContainer", "transcript", "t", "useTranslation", "TRANSCRIPTION_PLUGIN", "edge", "useEdgeClient", "aiService", "useAiServiceClient", "dispatchPromise", "dispatch", "useIntentDispatcher", "queue", "useQueue", "DXN", "parse", "undefined", "pollInterval", "isSummarizing", "setIsSummarizing", "useState", "handleSummarize", "useCallback", "document", "summarizeTranscript", "space", "getSpace", "target", "properties", "CollectionType", "typename", "pipe", "createIntent", "SpaceAction", "AddObject", "object", "chain", "LayoutAction", "Open", "part", "React", "StackItem", "Content", "toolbar", "Heading", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "size", "disabled", "onClick", "label", "div", "className", "ScrollContainer", "Transcript", "blocks", "items", "edgeClient", "invariant", "QueueImpl", "refresh", "content", "filter", "block", "isInstanceOf", "TranscriptBlock", "map", "author", "segments", "segment", "text", "join", "parser", "MixedStreamParser", "log", "info", "blockCount", "length", "output", "exec", "model", "DEFAULT_LLM_MODEL", "systemPrompt", "SUMMARIZE_PROMPT", "history", "createStatic", "Message", "role", "type", "summary", "name", "started", "Date", "toLocaleString", "year", "month", "day", "hour", "minute", "create", "DocumentType", "makeRef", "TextType", "threads", "config", "useConfig", "endpoint", "values", "runtime", "services", "ai", "server", "useMemo", "AIServiceClientImpl"]
7
+ }
@@ -4,11 +4,11 @@ import {
4
4
  } from "./chunk-ZMES3U2D.mjs";
5
5
  import {
6
6
  TranscriptContainer
7
- } from "./chunk-IHSLJZZ7.mjs";
7
+ } from "./chunk-AS364WZZ.mjs";
8
8
  import {
9
9
  Transcript,
10
10
  TranscriptionContainer
11
- } from "./chunk-ORGZ2DWD.mjs";
11
+ } from "./chunk-R4HHS6FA.mjs";
12
12
  import {
13
13
  TRANSCRIPTION_PLUGIN,
14
14
  TRANSCRIPTION_URL,
@@ -29,7 +29,7 @@ var TranscriptionCapabilities;
29
29
  // packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts
30
30
  var AppGraphBuilder = lazy(() => import("./app-graph-builder-ZSSJIFY7.mjs"));
31
31
  var IntentResolver = lazy(() => import("./intent-resolver-EAR2TFK2.mjs"));
32
- var ReactSurface = lazy(() => import("./react-surface-JM2F2QZC.mjs"));
32
+ var ReactSurface = lazy(() => import("./react-surface-FOEWLLTZ.mjs"));
33
33
 
34
34
  // packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts
35
35
  import { useEffect, useState } from "react";
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/experimental/plugin-transcription/src/meta.ts":{"bytes":1793,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/capabilities.ts":{"bytes":1709,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytes":1075,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/types/schema.ts":{"bytes":5111,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/types/types.ts":{"bytes":3851,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/types/index.ts":{"bytes":607,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/array.ts":{"bytes":1600,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/get-time-str.ts":{"bytes":1354,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/monitor-audio-level.ts":{"bytes":5995,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/random-queue-dxn.ts":{"bytes":1462,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/index.ts":{"bytes":851,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/util/array.ts","kind":"import-statement","original":"./array"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/get-time-str.ts","kind":"import-statement","original":"./get-time-str"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/monitor-audio-level.ts","kind":"import-statement","original":"./monitor-audio-level"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/random-queue-dxn.ts","kind":"import-statement","original":"./random-queue-dxn"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytes":3274,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytes":7670,"imports":[{"path":"date-fns/formatDistanceToNow","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts":{"bytes":550,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/components/Transcript/Transcript.tsx","kind":"import-statement","original":"./Transcript"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytes":20662,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-edge-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/index.ts":{"bytes":1062,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"import-statement","original":"./TranscriptContainer"},{"path":"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"dynamic-import","original":"./TranscriptContainer"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts":{"bytes":1473,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts":{"bytes":6346,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytes":3162,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useIsSpeaking.ts":{"bytes":7780,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/audio-recorder.ts":{"bytes":3252,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytes":13121,"imports":[{"path":"extendable-media-recorder","kind":"import-statement","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"extendable-media-recorder-wav-encoder","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/transcriber.ts":{"bytes":24141,"imports":[{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts":{"bytes":772,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/audio-recorder.ts","kind":"import-statement","original":"./audio-recorder"},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts":{"bytes":5265,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytes":7280,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/index.ts":{"bytes":957,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts","kind":"import-statement","original":"./useAudioFile"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useIsSpeaking.ts","kind":"import-statement","original":"./useIsSpeaking"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useVoiceInput.ts","kind":"import-statement","original":"./useVoiceInput"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/translations.ts":{"bytes":2603,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytes":7960,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/index.ts":{"bytes":1011,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"./transcriber"},{"path":"packages/plugins/experimental/plugin-transcription/src/TranscriptionPlugin.tsx","kind":"import-statement","original":"./TranscriptionPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-transcription/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38189},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-IHSLJZZ7.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ORGZ2DWD.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/intent-resolver-EAR2TFK2.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/react-surface-JM2F2QZC.mjs","kind":"dynamic-import"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"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":"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":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true}],"exports":["AppGraphBuilder","IntentResolver","MediaStreamRecorder","ReactSurface","TRANSCRIPTION_PLUGIN","Transcriber","Transcript","TranscriptContainer","TranscriptionCapabilities","TranscriptionContainer","TranscriptionPlugin","meta","useAudioFile","useAudioTrack","useIsSpeaking","useTranscriber","useVoiceInput"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/index.ts","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/experimental/plugin-transcription/src/capabilities/capabilities.ts":{"bytesInOutput":309},"packages/plugins/experimental/plugin-transcription/src/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts":{"bytesInOutput":1681},"packages/plugins/experimental/plugin-transcription/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytesInOutput":628},"packages/plugins/experimental/plugin-transcription/src/hooks/useIsSpeaking.ts":{"bytesInOutput":1387},"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts":{"bytesInOutput":848},"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytesInOutput":3707},"packages/plugins/experimental/plugin-transcription/src/transcriber/transcriber.ts":{"bytesInOutput":5593},"packages/plugins/experimental/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytesInOutput":1882},"packages/plugins/experimental/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytesInOutput":1623},"packages/plugins/experimental/plugin-transcription/src/translations.ts":{"bytesInOutput":565}},"bytes":20359},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"}],"exports":["TRANSCRIPTION_URL","TranscriptBlock","TranscriptSchema","TranscriptType","TranscriptionAction","isTranscript"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","inputs":{},"bytes":320},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":536},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytesInOutput":157}},"bytes":356},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/intent-resolver-EAR2TFK2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1617},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/intent-resolver-EAR2TFK2.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytesInOutput":558}},"bytes":903},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5084},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"exports":["getTimeStr","mergeFloat64Arrays","monitorAudioLevel","randomQueueDxn"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/util/get-time-str.ts":{"bytesInOutput":195},"packages/plugins/experimental/plugin-transcription/src/util/random-queue-dxn.ts":{"bytesInOutput":231},"packages/plugins/experimental/plugin-transcription/src/util/array.ts":{"bytesInOutput":267},"packages/plugins/experimental/plugin-transcription/src/util/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/util/monitor-audio-level.ts":{"bytesInOutput":1264}},"bytes":2411},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/TranscriptContainer-7J3JHI6Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/TranscriptContainer-7J3JHI6Q.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ORGZ2DWD.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"}],"exports":["TranscriptionContainer","default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx","inputs":{},"bytes":264},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/react-surface-JM2F2QZC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1326},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/react-surface-JM2F2QZC.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-IHSLJZZ7.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ORGZ2DWD.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx":{"bytesInOutput":445}},"bytes":809},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-IHSLJZZ7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":453},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-IHSLJZZ7.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/TranscriptContainer-7J3JHI6Q.mjs","kind":"dynamic-import"}],"exports":["TranscriptContainer"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/components/index.ts":{"bytesInOutput":114}},"bytes":271},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ORGZ2DWD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14369},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ORGZ2DWD.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-edge-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"date-fns/formatDistanceToNow","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["Transcript","TranscriptContainer_default","TranscriptionContainer"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytesInOutput":5491},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytesInOutput":2030},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts":{"bytesInOutput":0}},"bytes":8014},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5170},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["TRANSCRIPTION_PLUGIN","TRANSCRIPTION_URL","TranscriptBlock","TranscriptSchema","TranscriptType","TranscriptionAction","isTranscript","meta"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/types/schema.ts":{"bytesInOutput":844},"packages/plugins/experimental/plugin-transcription/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/types/types.ts":{"bytesInOutput":730},"packages/plugins/experimental/plugin-transcription/src/meta.ts":{"bytesInOutput":358}},"bytes":2426}}}
1
+ {"inputs":{"packages/plugins/experimental/plugin-transcription/src/meta.ts":{"bytes":1793,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/capabilities.ts":{"bytes":1709,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytes":1075,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/types/schema.ts":{"bytes":5111,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/types/types.ts":{"bytes":3851,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/types/index.ts":{"bytes":607,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/array.ts":{"bytes":1600,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/get-time-str.ts":{"bytes":1354,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/monitor-audio-level.ts":{"bytes":5995,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/random-queue-dxn.ts":{"bytes":1462,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/util/index.ts":{"bytes":851,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/util/array.ts","kind":"import-statement","original":"./array"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/get-time-str.ts","kind":"import-statement","original":"./get-time-str"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/monitor-audio-level.ts","kind":"import-statement","original":"./monitor-audio-level"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/random-queue-dxn.ts","kind":"import-statement","original":"./random-queue-dxn"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytes":3274,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytes":7670,"imports":[{"path":"date-fns/formatDistanceToNow","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts":{"bytes":550,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/components/Transcript/Transcript.tsx","kind":"import-statement","original":"./Transcript"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytes":22687,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-edge-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/components/index.ts":{"bytes":1062,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts","kind":"import-statement","original":"./Transcript"},{"path":"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"import-statement","original":"./TranscriptContainer"},{"path":"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx","kind":"dynamic-import","original":"./TranscriptContainer"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts":{"bytes":1473,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts":{"bytes":6346,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytes":3162,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useIsSpeaking.ts":{"bytes":7780,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/audio-recorder.ts":{"bytes":3252,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytes":13121,"imports":[{"path":"extendable-media-recorder","kind":"import-statement","external":true},{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"extendable-media-recorder-wav-encoder","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/transcriber.ts":{"bytes":24141,"imports":[{"path":"wavefile","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"packages/plugins/experimental/plugin-transcription/src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts":{"bytes":772,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/audio-recorder.ts","kind":"import-statement","original":"./audio-recorder"},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/media-stream-recorder.ts","kind":"import-statement","original":"./media-stream-recorder"},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/transcriber.ts","kind":"import-statement","original":"./transcriber"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts":{"bytes":5265,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"../transcriber"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytes":7280,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/hooks/index.ts":{"bytes":957,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts","kind":"import-statement","original":"./useAudioFile"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts","kind":"import-statement","original":"./useAudioTrack"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useIsSpeaking.ts","kind":"import-statement","original":"./useIsSpeaking"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts","kind":"import-statement","original":"./useTranscriber"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/useVoiceInput.ts","kind":"import-statement","original":"./useVoiceInput"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/translations.ts":{"bytes":2603,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytes":7960,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-transcription/src/index.ts":{"bytes":1011,"imports":[{"path":"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-transcription/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/experimental/plugin-transcription/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/plugins/experimental/plugin-transcription/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts","kind":"import-statement","original":"./transcriber"},{"path":"packages/plugins/experimental/plugin-transcription/src/TranscriptionPlugin.tsx","kind":"import-statement","original":"./TranscriptionPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-transcription/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38189},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-AS364WZZ.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-R4HHS6FA.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/intent-resolver-EAR2TFK2.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/react-surface-FOEWLLTZ.mjs","kind":"dynamic-import"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"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":"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":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true}],"exports":["AppGraphBuilder","IntentResolver","MediaStreamRecorder","ReactSurface","TRANSCRIPTION_PLUGIN","Transcriber","Transcript","TranscriptContainer","TranscriptionCapabilities","TranscriptionContainer","TranscriptionPlugin","meta","useAudioFile","useAudioTrack","useIsSpeaking","useTranscriber","useVoiceInput"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/index.ts","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/experimental/plugin-transcription/src/capabilities/capabilities.ts":{"bytesInOutput":309},"packages/plugins/experimental/plugin-transcription/src/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioFile.ts":{"bytesInOutput":1681},"packages/plugins/experimental/plugin-transcription/src/hooks/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/hooks/useAudioTrack.ts":{"bytesInOutput":628},"packages/plugins/experimental/plugin-transcription/src/hooks/useIsSpeaking.ts":{"bytesInOutput":1387},"packages/plugins/experimental/plugin-transcription/src/hooks/useTranscriber.ts":{"bytesInOutput":848},"packages/plugins/experimental/plugin-transcription/src/transcriber/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/transcriber/media-stream-recorder.ts":{"bytesInOutput":3707},"packages/plugins/experimental/plugin-transcription/src/transcriber/transcriber.ts":{"bytesInOutput":5593},"packages/plugins/experimental/plugin-transcription/src/hooks/useVoiceInput.ts":{"bytesInOutput":1882},"packages/plugins/experimental/plugin-transcription/src/TranscriptionPlugin.tsx":{"bytesInOutput":1623},"packages/plugins/experimental/plugin-transcription/src/translations.ts":{"bytesInOutput":565}},"bytes":20359},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"}],"exports":["TRANSCRIPTION_URL","TranscriptBlock","TranscriptSchema","TranscriptType","TranscriptionAction","isTranscript"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/types/index.ts","inputs":{},"bytes":320},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":536},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/app-graph-builder-ZSSJIFY7.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/app-graph-builder.ts":{"bytesInOutput":157}},"bytes":356},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/intent-resolver-EAR2TFK2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1617},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/intent-resolver-EAR2TFK2.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/intent-resolver.ts":{"bytesInOutput":558}},"bytes":903},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5084},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-ZMES3U2D.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"exports":["getTimeStr","mergeFloat64Arrays","monitorAudioLevel","randomQueueDxn"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/util/get-time-str.ts":{"bytesInOutput":195},"packages/plugins/experimental/plugin-transcription/src/util/random-queue-dxn.ts":{"bytesInOutput":231},"packages/plugins/experimental/plugin-transcription/src/util/array.ts":{"bytesInOutput":267},"packages/plugins/experimental/plugin-transcription/src/util/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/util/monitor-audio-level.ts":{"bytesInOutput":1264}},"bytes":2411},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/TranscriptContainer-SX6PNFEC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/TranscriptContainer-SX6PNFEC.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-R4HHS6FA.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"}],"exports":["TranscriptionContainer","default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx","inputs":{},"bytes":264},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/react-surface-FOEWLLTZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1326},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/react-surface-FOEWLLTZ.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-AS364WZZ.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-R4HHS6FA.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/experimental/plugin-transcription/src/capabilities/react-surface.tsx":{"bytesInOutput":445}},"bytes":809},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-AS364WZZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":453},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-AS364WZZ.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/TranscriptContainer-SX6PNFEC.mjs","kind":"dynamic-import"}],"exports":["TranscriptContainer"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/components/index.ts":{"bytesInOutput":114}},"bytes":271},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-R4HHS6FA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15264},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-R4HHS6FA.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-edge-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-components","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"date-fns/formatDistanceToNow","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["Transcript","TranscriptContainer_default","TranscriptionContainer"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/components/TranscriptContainer.tsx":{"bytesInOutput":6259},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/Transcript.tsx":{"bytesInOutput":2030},"packages/plugins/experimental/plugin-transcription/src/components/Transcript/index.ts":{"bytesInOutput":0}},"bytes":8782},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5170},"packages/plugins/experimental/plugin-transcription/dist/lib/browser/chunk-QIHUPVQD.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["TRANSCRIPTION_PLUGIN","TRANSCRIPTION_URL","TranscriptBlock","TranscriptSchema","TranscriptType","TranscriptionAction","isTranscript","meta"],"inputs":{"packages/plugins/experimental/plugin-transcription/src/types/schema.ts":{"bytesInOutput":844},"packages/plugins/experimental/plugin-transcription/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-transcription/src/types/types.ts":{"bytesInOutput":730},"packages/plugins/experimental/plugin-transcription/src/meta.ts":{"bytesInOutput":358}},"bytes":2426}}}
@@ -1,7 +1,7 @@
1
- import "./chunk-IHSLJZZ7.mjs";
1
+ import "./chunk-AS364WZZ.mjs";
2
2
  import {
3
3
  TranscriptionContainer
4
- } from "./chunk-ORGZ2DWD.mjs";
4
+ } from "./chunk-R4HHS6FA.mjs";
5
5
  import {
6
6
  TRANSCRIPTION_PLUGIN,
7
7
  isTranscript
@@ -23,4 +23,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
23
23
  export {
24
24
  react_surface_default as default
25
25
  };
26
- //# sourceMappingURL=react-surface-JM2F2QZC.mjs.map
26
+ //# sourceMappingURL=react-surface-FOEWLLTZ.mjs.map
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var TranscriptContainer_FFAQVGMS_exports = {};
20
- __export(TranscriptContainer_FFAQVGMS_exports, {
21
- TranscriptionContainer: () => import_chunk_JYADA35W.TranscriptionContainer,
22
- default: () => import_chunk_JYADA35W.TranscriptContainer_default
19
+ var TranscriptContainer_HU763SN3_exports = {};
20
+ __export(TranscriptContainer_HU763SN3_exports, {
21
+ TranscriptionContainer: () => import_chunk_YV74Z74I.TranscriptionContainer,
22
+ default: () => import_chunk_YV74Z74I.TranscriptContainer_default
23
23
  });
24
- module.exports = __toCommonJS(TranscriptContainer_FFAQVGMS_exports);
25
- var import_chunk_JYADA35W = require("./chunk-JYADA35W.cjs");
24
+ module.exports = __toCommonJS(TranscriptContainer_HU763SN3_exports);
25
+ var import_chunk_YV74Z74I = require("./chunk-YV74Z74I.cjs");
26
26
  var import_chunk_UIHEGU6Q = require("./chunk-UIHEGU6Q.cjs");
27
27
  // Annotate the CommonJS export names for ESM import in node:
28
28
  0 && (module.exports = {
29
29
  TranscriptionContainer
30
30
  });
31
- //# sourceMappingURL=TranscriptContainer-FFAQVGMS.cjs.map
31
+ //# sourceMappingURL=TranscriptContainer-HU763SN3.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["TranscriptContainer-FFAQVGMS.cjs"],
4
- "sourcesContent": ["import {\n TranscriptContainer_default,\n TranscriptionContainer\n} from \"./chunk-JYADA35W.cjs\";\nimport \"./chunk-UIHEGU6Q.cjs\";\nexport {\n TranscriptionContainer,\n TranscriptContainer_default as default\n};\n//# sourceMappingURL=TranscriptContainer-FFAQVGMS.cjs.map\n"],
3
+ "sources": ["TranscriptContainer-HU763SN3.cjs"],
4
+ "sourcesContent": ["import {\n TranscriptContainer_default,\n TranscriptionContainer\n} from \"./chunk-YV74Z74I.cjs\";\nimport \"./chunk-UIHEGU6Q.cjs\";\nexport {\n TranscriptionContainer,\n TranscriptContainer_default as default\n};\n//# sourceMappingURL=TranscriptContainer-HU763SN3.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -26,15 +26,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_Z5MTY2TU_exports = {};
30
- __export(chunk_Z5MTY2TU_exports, {
29
+ var chunk_QWXLQPP5_exports = {};
30
+ __export(chunk_QWXLQPP5_exports, {
31
31
  TranscriptContainer: () => TranscriptContainer
32
32
  });
33
- module.exports = __toCommonJS(chunk_Z5MTY2TU_exports);
33
+ module.exports = __toCommonJS(chunk_QWXLQPP5_exports);
34
34
  var import_react = require("react");
35
- var TranscriptContainer = (0, import_react.lazy)(() => import("./TranscriptContainer-FFAQVGMS.cjs"));
35
+ var TranscriptContainer = (0, import_react.lazy)(() => import("./TranscriptContainer-HU763SN3.cjs"));
36
36
  // Annotate the CommonJS export names for ESM import in node:
37
37
  0 && (module.exports = {
38
38
  TranscriptContainer
39
39
  });
40
- //# sourceMappingURL=chunk-Z5MTY2TU.cjs.map
40
+ //# sourceMappingURL=chunk-QWXLQPP5.cjs.map
@@ -26,13 +26,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_JYADA35W_exports = {};
30
- __export(chunk_JYADA35W_exports, {
29
+ var chunk_YV74Z74I_exports = {};
30
+ __export(chunk_YV74Z74I_exports, {
31
31
  Transcript: () => Transcript,
32
32
  TranscriptContainer_default: () => TranscriptContainer_default,
33
33
  TranscriptionContainer: () => TranscriptionContainer
34
34
  });
35
- module.exports = __toCommonJS(chunk_JYADA35W_exports);
35
+ module.exports = __toCommonJS(chunk_YV74Z74I_exports);
36
36
  var import_chunk_UIHEGU6Q = require("./chunk-UIHEGU6Q.cjs");
37
37
  var import_effect = require("effect");
38
38
  var import_react = __toESM(require("react"));
@@ -172,8 +172,8 @@ var summarizeTranscript = async (edgeClient, aiService, transcript) => {
172
172
  S: void 0,
173
173
  C: (f, a) => f(...a)
174
174
  });
175
- const output = await parser.parse(await aiService.generate({
176
- model: "@anthropic/claude-3-5-sonnet-20241022",
175
+ const output = await parser.parse(await aiService.exec({
176
+ model: import_assistant.DEFAULT_LLM_MODEL,
177
177
  systemPrompt: SUMMARIZE_PROMPT,
178
178
  history: [
179
179
  (0, import_echo_schema.createStatic)(import_artifact.Message, {
@@ -221,12 +221,33 @@ var summarizeTranscript = async (edgeClient, aiService, transcript) => {
221
221
  });
222
222
  };
223
223
  var SUMMARIZE_PROMPT = `
224
- Create a summary of the transcript provided.
225
- Reference specific people by name when possible.
226
- Format the summary as a list of key points and takeaways.
227
- Include action items in the summary.
228
- Use markdown formatting for headings and bullet points.
229
- Format the summary as a markdown document without extra comments like "Here is the summary of the transcript:".
224
+ # Goal
225
+ Create a markdown summary of the transcript provided.
226
+
227
+ # Formatting
228
+ - Format the summary as a markdown document without extra comments like "Here is the summary of the transcript:".
229
+ - Use markdown formatting for headings and bullet points.
230
+ - Format the summary as a list of key points and takeaways.
231
+ - All names of people should be in bold.
232
+
233
+ # Note Taking
234
+ - Correlate items in the summary with the person of origin to build a coherent narrative.
235
+ - Include short quotes verbatim where appropriate. Especially when concerned with design decisions and problem descriptions.
236
+
237
+ # Tasks
238
+ At the end of the summary include tasks.
239
+ Extract only the tasks that are:
240
+ - Directly actionable
241
+ - Clearly assigned to a person or team (or can easily be inferred)
242
+ - Strongly implied by the conversation and/or user note (no speculative tasks)
243
+ - Specific enough that someone reading them would know exactly what to do next
244
+
245
+ Format all tasks as markdown checkboxes using the syntax:
246
+ - [ ] Task description
247
+
248
+ Additional information can be included (indented).
249
+
250
+ If no actionable tasks are found, omit this tasks section.
230
251
  `;
231
252
  var useAiServiceClient = () => {
232
253
  const config = (0, import_react_client.useConfig)();
@@ -243,4 +264,4 @@ var useAiServiceClient = () => {
243
264
  TranscriptContainer_default,
244
265
  TranscriptionContainer
245
266
  });
246
- //# sourceMappingURL=chunk-JYADA35W.cjs.map
267
+ //# sourceMappingURL=chunk-YV74Z74I.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/TranscriptContainer.tsx", "../../../src/components/Transcript/Transcript.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback, useMemo, useState, type FC } from 'react';\n\nimport { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { Message } from '@dxos/artifact';\nimport { AIServiceClientImpl, DEFAULT_LLM_MODEL, MixedStreamParser, type AIServiceClient } from '@dxos/assistant';\nimport { create, getSpace, makeRef } from '@dxos/client/echo';\nimport { QueueImpl } from '@dxos/echo-db';\nimport { createStatic, isInstanceOf } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { DXN } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { CollectionType, SpaceAction } from '@dxos/plugin-space/types';\nimport { useConfig } from '@dxos/react-client';\nimport { useEdgeClient, useQueue, type EdgeHttpClient } from '@dxos/react-edge-client';\nimport { IconButton, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { ScrollContainer } from '@dxos/react-ui-components';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { TextType } from '@dxos/schema';\n\nimport { Transcript } from './Transcript';\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\nimport { TranscriptBlock, type TranscriptType } from '../types';\n\nexport const TranscriptionContainer: FC<{ transcript: TranscriptType }> = ({ transcript }) => {\n const { t } = useTranslation(TRANSCRIPTION_PLUGIN);\n const edge = useEdgeClient();\n const aiService = useAiServiceClient();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const queue = useQueue<TranscriptBlock>(edge, transcript.queue ? DXN.parse(transcript.queue) : undefined, {\n pollInterval: 1_000,\n });\n\n // TODO(dmaretskyi): Pending state and errors should be handled by the framework!!!\n const [isSummarizing, setIsSummarizing] = useState(false);\n const handleSummarize = useCallback(async () => {\n setIsSummarizing(true);\n try {\n const document = await summarizeTranscript(edge, aiService, transcript);\n const space = getSpace(transcript);\n const target = space?.properties[CollectionType.typename]?.target;\n await dispatch(\n pipe(\n createIntent(SpaceAction.AddObject, { object: document, target }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n } finally {\n setIsSummarizing(false);\n }\n }, [transcript, edge]);\n\n // TODO(dmaretskyi): Move action to menu.\n return (\n <StackItem.Content toolbar={true}>\n <StackItem.Heading>\n <Toolbar.Root classNames='flex gap-2'>\n <IconButton\n icon='ph--subtitles--regular'\n iconOnly\n size={5}\n disabled={isSummarizing}\n onClick={handleSummarize}\n label={t('summary button')}\n />\n {isSummarizing && <div className='text-sm'>{t('summarizing label')}</div>}\n </Toolbar.Root>\n </StackItem.Heading>\n <ScrollContainer>\n <Transcript blocks={queue?.items} />\n </ScrollContainer>\n </StackItem.Content>\n );\n};\n\nexport default TranscriptionContainer;\n\n// TODO(dmaretskyi): Extract to the new file once transcript refactoring has settled.\nconst summarizeTranscript = async (\n edgeClient: EdgeHttpClient,\n aiService: AIServiceClient,\n transcript: TranscriptType,\n) => {\n invariant(transcript.queue, 'No queue found for transcript');\n\n const queue = new QueueImpl(edgeClient, DXN.parse(transcript.queue));\n await queue.refresh();\n const content = queue.items\n .filter((block) => isInstanceOf(TranscriptBlock, block))\n .map((block) => `${block.author}: ${block.segments.map((segment) => segment.text).join('\\n')}`)\n .join('\\n\\n');\n\n const parser = new MixedStreamParser();\n\n log.info('summarizing transcript', { blockCount: queue.items.length });\n const output = await parser.parse(\n await aiService.exec({\n model: DEFAULT_LLM_MODEL,\n systemPrompt: SUMMARIZE_PROMPT,\n history: [createStatic(Message, { role: 'user', content: [{ type: 'text', text: content }] })],\n }),\n );\n\n log.info('transcript summary', { output });\n invariant(output[0].content[0].type === 'text', 'Expected text content');\n const summary = output[0].content[0].text;\n\n // TODO(dmaretskyi): .started is missing.\n const name = `Summary ${(transcript.started ?? new Date()).toLocaleString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}`;\n\n return create(DocumentType, {\n name,\n content: makeRef(create(TextType, { content: summary })),\n threads: [],\n });\n};\n\n// TODO(dmaretskyi): Add example to set consistent structure for the summary.\nconst SUMMARIZE_PROMPT = `\n # Goal\n Create a markdown summary of the transcript provided.\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\n// TODO(dmaretskyi): Extract?\n// Also this conflicts with plugin automation providing the ai client via a capability. Need to reconcile.\nconst useAiServiceClient = (): AIServiceClient => {\n const config = useConfig();\n const endpoint = config.values.runtime?.services?.ai?.server ?? 'http://localhost:8788'; // TOOD(burdon): Standardize consts.\n return useMemo(() => new AIServiceClientImpl({ endpoint }), [endpoint]);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow';\nimport React, { type FC } from 'react';\n\nimport { Icon, IconButton, useTranslation } from '@dxos/react-ui';\n\nimport { TRANSCRIPTION_PLUGIN } from '../../meta';\nimport { type TranscriptBlock } from '../../types';\n\n// TODO(burdon): react-ui-list.\n// TODO(burdon): Actions (e.g., mark, summarize, translate, label, delete).\n\nexport type TranscriptProps = {\n blocks?: TranscriptBlock[];\n};\n\nexport const Transcript: FC<TranscriptProps> = ({ blocks }) => {\n const { t } = useTranslation(TRANSCRIPTION_PLUGIN);\n const hoverButton = 'p-1 min-bs-1 transition-opacity duration-250 opacity-10 group-hover:opacity-100';\n\n return (\n <div role='list' className='flex flex-col grow gap-2 m-1'>\n {blocks?.map((block) => (\n <div\n role='listitem'\n key={block.id}\n className='flex flex-col py-1 border border-transparent hover:border-separator rounded'\n >\n <div className='group flex items-center px-2'>\n <Icon icon='ph--user--regular' />\n <div className='px-2 text-sm text-subdued'>{block.author}</div>\n <div className='grow' />\n <IconButton\n disabled\n icon='ph--x--regular'\n label={t('delete button')}\n iconOnly\n size={4}\n classNames={hoverButton}\n />\n </div>\n\n {block.segments.map((segment, i) => (\n <div key={i} className='group flex flex-col'>\n <div className='px-2'>{segment.text}</div>\n <div className='flex gap-1 items-center justify-between px-2'>\n <div className='grow' />\n <div className='truncate text-xs text-subdued'>\n {formatDistanceToNow(segment.started, { addSuffix: true })}\n </div>\n <IconButton\n disabled\n icon='ph--bookmark-simple--regular'\n label={t('bookmark button')}\n iconOnly\n size={4}\n classNames={hoverButton}\n />\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_types", "import_react", "import_react_ui", "Transcript", "blocks", "t", "useTranslation", "TRANSCRIPTION_PLUGIN", "hoverButton", "React", "div", "role", "className", "map", "block", "key", "id", "Icon", "icon", "author", "IconButton", "disabled", "label", "iconOnly", "size", "classNames", "segments", "segment", "i", "text", "formatDistanceToNow", "started", "addSuffix", "TranscriptionContainer", "transcript", "edge", "useEdgeClient", "aiService", "useAiServiceClient", "dispatchPromise", "dispatch", "useIntentDispatcher", "queue", "useQueue", "DXN", "parse", "undefined", "pollInterval", "isSummarizing", "setIsSummarizing", "useState", "handleSummarize", "useCallback", "document", "summarizeTranscript", "space", "getSpace", "target", "properties", "CollectionType", "typename", "pipe", "createIntent", "SpaceAction", "AddObject", "object", "chain", "LayoutAction", "Open", "part", "StackItem", "Content", "toolbar", "Heading", "Toolbar", "Root", "onClick", "ScrollContainer", "items", "edgeClient", "invariant", "QueueImpl", "refresh", "content", "filter", "isInstanceOf", "TranscriptBlock", "join", "parser", "MixedStreamParser", "log", "info", "blockCount", "length", "output", "exec", "model", "DEFAULT_LLM_MODEL", "systemPrompt", "SUMMARIZE_PROMPT", "history", "createStatic", "Message", "type", "summary", "name", "Date", "toLocaleString", "year", "month", "day", "hour", "minute", "create", "DocumentType", "makeRef", "TextType", "threads", "config", "useConfig", "endpoint", "values", "runtime", "services", "ai", "server", "useMemo", "AIServiceClientImpl"]
7
+ }