@dxos/plugin-transcription 0.8.2 → 0.8.3-main.7f5a14c

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 (94) hide show
  1. package/dist/lib/browser/{TranscriptContainer-PFKLKRPQ.mjs → TranscriptContainer-PDSOWOMY.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-TJPJBE45.mjs → chunk-KMCEHAVR.mjs} +4 -4
  3. package/dist/lib/browser/{chunk-4KCUYW2F.mjs → chunk-KUO25QLG.mjs} +14 -27
  4. package/dist/lib/browser/{chunk-4KCUYW2F.mjs.map → chunk-KUO25QLG.mjs.map} +3 -3
  5. package/dist/lib/browser/{chunk-NODIXNQP.mjs → chunk-OSISJM2F.mjs} +5 -4
  6. package/dist/lib/browser/chunk-OSISJM2F.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-IGEKO7ZU.mjs → chunk-RPMSRXAD.mjs} +2 -2
  8. package/dist/lib/browser/index.mjs +8 -10
  9. package/dist/lib/browser/index.mjs.map +3 -3
  10. package/dist/lib/browser/{intent-resolver-I2LJSQDR.mjs → intent-resolver-BGADCHVM.mjs} +7 -6
  11. package/dist/lib/browser/intent-resolver-BGADCHVM.mjs.map +7 -0
  12. package/dist/lib/browser/meta.json +1 -1
  13. package/dist/lib/browser/{react-surface-ID2MLJHZ.mjs → react-surface-4KQXXK3L.mjs} +6 -6
  14. package/dist/lib/browser/react-surface-4KQXXK3L.mjs.map +7 -0
  15. package/dist/lib/browser/{transcriber-NA7CIFIT.mjs → transcriber-KKKY7OTA.mjs} +3 -3
  16. package/dist/lib/browser/types/index.mjs +1 -1
  17. package/dist/lib/node/{TranscriptContainer-LHMC7553.cjs → TranscriptContainer-74YHORVT.cjs} +7 -7
  18. package/dist/lib/node/{TranscriptContainer-LHMC7553.cjs.map → TranscriptContainer-74YHORVT.cjs.map} +2 -2
  19. package/dist/lib/node/{chunk-EIMUQYCZ.cjs → chunk-6LW5RA3K.cjs} +9 -8
  20. package/dist/lib/node/chunk-6LW5RA3K.cjs.map +7 -0
  21. package/dist/lib/node/{chunk-ZFTXJZXH.cjs → chunk-C5W34GLS.cjs} +18 -31
  22. package/dist/lib/node/{chunk-ZFTXJZXH.cjs.map → chunk-C5W34GLS.cjs.map} +3 -3
  23. package/dist/lib/node/{chunk-5J3FBCON.cjs → chunk-SZXEXASL.cjs} +5 -5
  24. package/dist/lib/node/{chunk-3GS5UNO5.cjs → chunk-TH26IEUM.cjs} +7 -7
  25. package/dist/lib/node/index.cjs +28 -30
  26. package/dist/lib/node/index.cjs.map +3 -3
  27. package/dist/lib/node/{intent-resolver-LLMGF5I5.cjs → intent-resolver-LL3TTI4H.cjs} +10 -9
  28. package/dist/lib/node/intent-resolver-LL3TTI4H.cjs.map +7 -0
  29. package/dist/lib/node/meta.json +1 -1
  30. package/dist/lib/node/{react-surface-SEQLEL4K.cjs → react-surface-QVXIHCOA.cjs} +10 -10
  31. package/dist/lib/node/react-surface-QVXIHCOA.cjs.map +7 -0
  32. package/dist/lib/node/{transcriber-RKKN7LDU.cjs → transcriber-532JRZHY.cjs} +9 -9
  33. package/dist/lib/node/types/index.cjs +5 -5
  34. package/dist/lib/node/types/index.cjs.map +1 -1
  35. package/dist/lib/node-esm/{TranscriptContainer-DLNRFVTA.mjs → TranscriptContainer-VBUQ7KJJ.mjs} +2 -2
  36. package/dist/lib/node-esm/{chunk-PR7EYODX.mjs → chunk-2U54OZH3.mjs} +4 -4
  37. package/dist/lib/node-esm/{chunk-BRPFVRAD.mjs → chunk-FH75X4JC.mjs} +5 -4
  38. package/dist/lib/node-esm/chunk-FH75X4JC.mjs.map +7 -0
  39. package/dist/lib/node-esm/{chunk-KUWWHMOA.mjs → chunk-QS4L6XU3.mjs} +2 -2
  40. package/dist/lib/node-esm/{chunk-EFIWBQDF.mjs → chunk-QSGGTMXE.mjs} +14 -27
  41. package/dist/lib/node-esm/{chunk-EFIWBQDF.mjs.map → chunk-QSGGTMXE.mjs.map} +3 -3
  42. package/dist/lib/node-esm/index.mjs +8 -10
  43. package/dist/lib/node-esm/index.mjs.map +3 -3
  44. package/dist/lib/node-esm/{intent-resolver-WOZKOEBW.mjs → intent-resolver-5LVCYSJS.mjs} +7 -6
  45. package/dist/lib/node-esm/intent-resolver-5LVCYSJS.mjs.map +7 -0
  46. package/dist/lib/node-esm/meta.json +1 -1
  47. package/dist/lib/node-esm/{react-surface-7MXUUTAL.mjs → react-surface-ZB7Y2YF7.mjs} +6 -6
  48. package/dist/lib/node-esm/react-surface-ZB7Y2YF7.mjs.map +7 -0
  49. package/dist/lib/node-esm/{transcriber-5WSI6DYK.mjs → transcriber-SPV5ZLIJ.mjs} +3 -3
  50. package/dist/lib/node-esm/types/index.mjs +1 -1
  51. package/dist/types/src/TranscriptionPlugin.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  53. package/dist/types/src/components/Transcript/Transcript.stories.d.ts +2 -2
  54. package/dist/types/src/components/Transcript/Transcript.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/stories/FileTranscription.stories.d.ts.map +1 -1
  56. package/dist/types/src/components/stories/MicrophoneTranscription.stories.d.ts.map +1 -1
  57. package/dist/types/src/segments-normalization/normalization.d.ts +2 -2
  58. package/dist/types/src/testing/testing.d.ts +2 -2
  59. package/dist/types/src/testing/testing.d.ts.map +1 -1
  60. package/dist/types/src/transcriber/transcription-manager.d.ts +6 -6
  61. package/dist/types/src/transcriber/transcription-manager.d.ts.map +1 -1
  62. package/dist/types/src/types/schema.d.ts +4 -4
  63. package/dist/types/src/types/schema.d.ts.map +1 -1
  64. package/package.json +51 -51
  65. package/src/TranscriptionPlugin.tsx +5 -7
  66. package/src/capabilities/intent-resolver.ts +5 -5
  67. package/src/capabilities/react-surface.tsx +2 -2
  68. package/src/components/Transcript/Transcript.stories.tsx +5 -5
  69. package/src/components/stories/FileTranscription.stories.tsx +5 -3
  70. package/src/components/stories/MicrophoneTranscription.stories.tsx +11 -5
  71. package/src/segments-normalization/normalization.test.ts +5 -3
  72. package/src/testing/testing.ts +15 -13
  73. package/src/transcriber/transcription-manager.ts +17 -22
  74. package/src/types/schema.ts +4 -3
  75. package/dist/lib/browser/chunk-NODIXNQP.mjs.map +0 -7
  76. package/dist/lib/browser/intent-resolver-I2LJSQDR.mjs.map +0 -7
  77. package/dist/lib/browser/react-surface-ID2MLJHZ.mjs.map +0 -7
  78. package/dist/lib/node/chunk-EIMUQYCZ.cjs.map +0 -7
  79. package/dist/lib/node/intent-resolver-LLMGF5I5.cjs.map +0 -7
  80. package/dist/lib/node/react-surface-SEQLEL4K.cjs.map +0 -7
  81. package/dist/lib/node-esm/chunk-BRPFVRAD.mjs.map +0 -7
  82. package/dist/lib/node-esm/intent-resolver-WOZKOEBW.mjs.map +0 -7
  83. package/dist/lib/node-esm/react-surface-7MXUUTAL.mjs.map +0 -7
  84. /package/dist/lib/browser/{TranscriptContainer-PFKLKRPQ.mjs.map → TranscriptContainer-PDSOWOMY.mjs.map} +0 -0
  85. /package/dist/lib/browser/{chunk-TJPJBE45.mjs.map → chunk-KMCEHAVR.mjs.map} +0 -0
  86. /package/dist/lib/browser/{chunk-IGEKO7ZU.mjs.map → chunk-RPMSRXAD.mjs.map} +0 -0
  87. /package/dist/lib/browser/{transcriber-NA7CIFIT.mjs.map → transcriber-KKKY7OTA.mjs.map} +0 -0
  88. /package/dist/lib/node/{chunk-5J3FBCON.cjs.map → chunk-SZXEXASL.cjs.map} +0 -0
  89. /package/dist/lib/node/{chunk-3GS5UNO5.cjs.map → chunk-TH26IEUM.cjs.map} +0 -0
  90. /package/dist/lib/node/{transcriber-RKKN7LDU.cjs.map → transcriber-532JRZHY.cjs.map} +0 -0
  91. /package/dist/lib/node-esm/{TranscriptContainer-DLNRFVTA.mjs.map → TranscriptContainer-VBUQ7KJJ.mjs.map} +0 -0
  92. /package/dist/lib/node-esm/{chunk-PR7EYODX.mjs.map → chunk-2U54OZH3.mjs.map} +0 -0
  93. /package/dist/lib/node-esm/{chunk-KUWWHMOA.mjs.map → chunk-QS4L6XU3.mjs.map} +0 -0
  94. /package/dist/lib/node-esm/{transcriber-5WSI6DYK.mjs.map → transcriber-SPV5ZLIJ.mjs.map} +0 -0
@@ -11,13 +11,13 @@ import { extractionAnthropicFn, processTranscriptMessage } from '@dxos/assistant
11
11
  import { scheduleTaskInterval } from '@dxos/async';
12
12
  import { Filter, type Queue } from '@dxos/client/echo';
13
13
  import { Context } from '@dxos/context';
14
- import { Type } from '@dxos/echo';
15
- import { create, createQueueDxn, ObjectId } from '@dxos/echo-schema';
14
+ import { Key, Obj, Ref, Type } from '@dxos/echo';
15
+ import { createQueueDXN } from '@dxos/echo-schema';
16
16
  import { FunctionExecutor, ServiceContainer } from '@dxos/functions';
17
17
  import { IdentityDid } from '@dxos/keys';
18
18
  import { log } from '@dxos/log';
19
19
  import { faker } from '@dxos/random';
20
- import { live, makeRef, useQueue, type Space } from '@dxos/react-client/echo';
20
+ import { useQueue, type Space } from '@dxos/react-client/echo';
21
21
  import { DataType } from '@dxos/schema';
22
22
  import { Testing, seedTestData } from '@dxos/schema/testing';
23
23
 
@@ -63,7 +63,7 @@ export class MessageBuilder extends AbstractMessageBuilder {
63
63
 
64
64
  override async createMessage(numSegments = 1): Promise<DataType.Message> {
65
65
  return {
66
- id: ObjectId.random().toString(),
66
+ id: Key.ObjectId.random().toString(),
67
67
  created: this.next().toISOString(),
68
68
  sender: faker.helpers.arrayElement(this.users),
69
69
  blocks: Array.from({ length: numSegments }).map(() => this.createBlock()),
@@ -74,8 +74,8 @@ export class MessageBuilder extends AbstractMessageBuilder {
74
74
  let text = faker.lorem.paragraph();
75
75
  if (this._space) {
76
76
  const label = faker.commerce.productName();
77
- const obj = this._space.db.add(live(TestItem, { title: label, description: faker.lorem.paragraph() }));
78
- const dxn = makeRef(obj).dxn.toString();
77
+ const obj = this._space.db.add(Obj.make(TestItem, { title: label, description: faker.lorem.paragraph() }));
78
+ const dxn = Ref.make(obj).dxn.toString();
79
79
  const words = text.split(' ');
80
80
  words.splice(Math.floor(Math.random() * words.length), 0, `[${label}][${dxn}]`);
81
81
  text = words.join(' ');
@@ -140,7 +140,7 @@ class EntityExtractionMessageBuilder extends AbstractMessageBuilder {
140
140
 
141
141
  type UseTestTranscriptionQueue = (
142
142
  space: Space | undefined,
143
- queueId?: ObjectId,
143
+ queueId?: Key.ObjectId,
144
144
  running?: boolean,
145
145
  interval?: number,
146
146
  ) => Queue<DataType.Message> | undefined;
@@ -150,11 +150,12 @@ type UseTestTranscriptionQueue = (
150
150
  */
151
151
  export const useTestTranscriptionQueue: UseTestTranscriptionQueue = (
152
152
  space: Space | undefined,
153
- queueId?: ObjectId,
153
+ queueId?: Key.ObjectId,
154
154
  running = true,
155
155
  interval = 1_000,
156
156
  ) => {
157
- const queueDxn = useMemo(() => (space ? createQueueDxn(space.id, queueId) : undefined), [space, queueId]);
157
+ // TODO(dmaretskyi): Use space.queues.create() instead.
158
+ const queueDxn = useMemo(() => (space ? createQueueDXN(space.id, queueId) : undefined), [space, queueId]);
158
159
  const queue = useQueue<DataType.Message>(queueDxn);
159
160
  const builder = useMemo(() => new MessageBuilder(space), [space]);
160
161
 
@@ -165,7 +166,7 @@ export const useTestTranscriptionQueue: UseTestTranscriptionQueue = (
165
166
 
166
167
  const i = setInterval(() => {
167
168
  void builder.createMessage(Math.ceil(Math.random() * 3)).then((message) => {
168
- queue.append([create(DataType.Message, message)]);
169
+ queue.append([Obj.make(DataType.Message, message)]);
169
170
  });
170
171
  }, interval);
171
172
  return () => clearInterval(i);
@@ -180,11 +181,12 @@ export const useTestTranscriptionQueue: UseTestTranscriptionQueue = (
180
181
  // TODO(burdon): Reconcile with useTestTranscriptionQueue.
181
182
  export const useTestTranscriptionQueueWithEntityExtraction: UseTestTranscriptionQueue = (
182
183
  space: Space | undefined,
183
- queueId?: ObjectId,
184
+ queueId?: Key.ObjectId,
184
185
  running = true,
185
186
  interval = 1_000,
186
187
  ) => {
187
- const queueDxn = useMemo(() => (space ? createQueueDxn(space.id, queueId) : undefined), [space, queueId]);
188
+ // TODO(dmaretskyi): Use space.queues.create() instead.
189
+ const queueDxn = useMemo(() => (space ? createQueueDXN(space.id, queueId) : undefined), [space, queueId]);
188
190
  const queue = useQueue<DataType.Message>(queueDxn);
189
191
  const [builder] = useState(() => new EntityExtractionMessageBuilder());
190
192
 
@@ -202,7 +204,7 @@ export const useTestTranscriptionQueueWithEntityExtraction: UseTestTranscription
202
204
  ctx,
203
205
  async () => {
204
206
  const message = await builder.createMessage();
205
- queue.append([create(DataType.Message, message)]);
207
+ queue.append([Obj.make(DataType.Message, message)]);
206
208
  },
207
209
  interval,
208
210
  );
@@ -6,10 +6,8 @@ import { signal } from '@preact/signals-core';
6
6
 
7
7
  import { synchronized } from '@dxos/async';
8
8
  import { Resource } from '@dxos/context';
9
- import { QueueImpl, type Queue } from '@dxos/echo-db';
10
- import { create } from '@dxos/echo-schema';
11
- import { type DXN } from '@dxos/keys';
12
- import { log } from '@dxos/log';
9
+ import { Obj } from '@dxos/echo';
10
+ import { type Queue } from '@dxos/echo-db';
13
11
  import { type EdgeHttpClient } from '@dxos/react-edge-client';
14
12
  import { DataType } from '@dxos/schema';
15
13
 
@@ -62,35 +60,24 @@ export class TranscriptionManager extends Resource {
62
60
  this._messageEnricher = options.messageEnricher;
63
61
  }
64
62
 
65
- protected override async _open(): Promise<void> {
66
- await this._toggleTranscriber();
67
- }
68
-
69
- protected override async _close(): Promise<void> {
70
- void this._transcriber?.close();
71
- }
72
-
73
63
  /** @reactive */
74
64
  get enabled() {
75
65
  return this._enabled.value;
76
66
  }
77
67
 
78
- setQueue(queueDxn: DXN): TranscriptionManager {
79
- if (this._queue?.dxn.toString() !== queueDxn.toString()) {
80
- log.info('setQueue', { queueDxn: queueDxn.toString() });
81
- this._queue = new QueueImpl<DataType.Message>(this._edgeClient, queueDxn);
82
- }
68
+ setQueue(queue: Queue<DataType.Message>): this {
69
+ this._queue = queue;
83
70
  return this;
84
71
  }
85
72
 
86
- setIdentityDid(did: string): TranscriptionManager {
73
+ setIdentityDid(did: string): this {
87
74
  if (this._identityDid !== did) {
88
75
  this._identityDid = did;
89
76
  }
90
77
  return this;
91
78
  }
92
79
 
93
- setRecording(recording?: boolean): TranscriptionManager {
80
+ setRecording(recording?: boolean): this {
94
81
  if (!this.isOpen || !this._enabled.value) {
95
82
  return this;
96
83
  }
@@ -128,6 +115,14 @@ export class TranscriptionManager extends Resource {
128
115
  this.isOpen && (await this._toggleTranscriber());
129
116
  }
130
117
 
118
+ protected override async _open(): Promise<void> {
119
+ await this._toggleTranscriber();
120
+ }
121
+
122
+ protected override async _close(): Promise<void> {
123
+ void this._transcriber?.close();
124
+ }
125
+
131
126
  // TODO(burdon): Change this to setEnables (explicit), not toggle.
132
127
  private async _toggleTranscriber(): Promise<void> {
133
128
  await this._maybeReinitTranscriber();
@@ -136,7 +131,7 @@ export class TranscriptionManager extends Resource {
136
131
  if (this._enabled.value) {
137
132
  await this._transcriber?.open();
138
133
  // TODO(burdon): Started and stopped blocks appear twice.
139
- const block = create(DataType.Message, {
134
+ const block = Obj.make(DataType.Message, {
140
135
  created: new Date().toISOString(),
141
136
  blocks: [{ type: 'transcription', text: 'Started', started: new Date().toISOString() }],
142
137
  sender: { role: 'assistant' },
@@ -144,7 +139,7 @@ export class TranscriptionManager extends Resource {
144
139
  this._queue?.append([block]);
145
140
  } else {
146
141
  await this._transcriber?.close();
147
- const block = create(DataType.Message, {
142
+ const block = Obj.make(DataType.Message, {
148
143
  created: new Date().toISOString(),
149
144
  blocks: [{ type: 'transcription', text: 'Stopped', started: new Date().toISOString() }],
150
145
  sender: { role: 'assistant' },
@@ -185,7 +180,7 @@ export class TranscriptionManager extends Resource {
185
180
  return;
186
181
  }
187
182
 
188
- let block = create(DataType.Message, {
183
+ let block = Obj.make(DataType.Message, {
189
184
  created: new Date().toISOString(),
190
185
  blocks: segments,
191
186
  sender: { identityDid: this._identityDid },
@@ -4,7 +4,9 @@
4
4
 
5
5
  import { Schema } from 'effect';
6
6
 
7
- import { Expando, Ref, TypedObject } from '@dxos/echo-schema';
7
+ import { Queue } from '@dxos/client/echo';
8
+ import { Type } from '@dxos/echo';
9
+ import { TypedObject } from '@dxos/echo-schema';
8
10
 
9
11
  /**
10
12
  * Root transcript object created when the user starts a transcription.
@@ -18,8 +20,7 @@ export const TranscriptSchema = Schema.Struct({
18
20
  /**
19
21
  * Queue containing TranscriptBlock objects.
20
22
  */
21
- // TODO(wittjosiah): Should be a ref to a queue.
22
- queue: Ref(Expando),
23
+ queue: Type.Ref(Queue),
23
24
  });
24
25
 
25
26
  export class TranscriptType extends TypedObject({
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\n\n/**\n * Root transcript object created when the user starts a transcription.\n */\nexport const TranscriptSchema = Schema.Struct({\n // TODO(wittjosiah): Remove?\n // TODO(burdon): Use Date or string?\n started: Schema.optional(Schema.String),\n ended: Schema.optional(Schema.String),\n\n /**\n * Queue containing TranscriptBlock objects.\n */\n // TODO(wittjosiah): Should be a ref to a queue.\n queue: Ref(Expando),\n});\n\nexport class TranscriptType extends TypedObject({\n typename: 'dxos.org/type/Transcript',\n version: '0.1.0',\n})(TranscriptSchema.fields) {}\n\n// TODO(burdon): Do these need to be kept in sync with EDGE?\n\n/**\n * First message in queue.\n * Contains metadata for the recording and transcript.\n */\nconst TranscriptHeader = Schema.Struct({\n started: Schema.optional(Schema.String),\n});\n\nexport type TranscriptHeader = Schema.Schema.Type<typeof TranscriptHeader>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { SpaceId } from '@dxos/react-client/echo';\n\nimport { TranscriptType } from './schema';\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\n\n// TODO(burdon): Move to separate proto.\n\n/**\n * Endpoint to the calls service.\n */\n// TODO(burdon): Reconfigure/move.\nexport const TRANSCRIPTION_URL = 'https://calls-service.dxos.workers.dev';\n\nexport namespace TranscriptionAction {\n const TRANSCRIPTION_ACTION = `${TRANSCRIPTION_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TRANSCRIPTION_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n spaceId: SpaceId,\n }),\n output: Schema.Struct({\n object: TranscriptType,\n }),\n }) {}\n}\n"],
5
- "mappings": ";;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,SAASC,KAAKC,mBAAmB;AAKnC,IAAMC,mBAAmBC,OAAOC,OAAO;;;EAG5CC,SAASF,OAAOG,SAASH,OAAOI,MAAM;EACtCC,OAAOL,OAAOG,SAASH,OAAOI,MAAM;;;;;EAMpCE,OAAOC,IAAIC,OAAAA;AACb,CAAA;AAEO,IAAMC,iBAAN,cAA6BC,YAAY;EAC9CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAGb,iBAAiBc,MAAM,EAAA;AAAG;AAQ7B,IAAMC,mBAAmBd,OAAOC,OAAO;EACrCC,SAASF,OAAOG,SAASH,OAAOI,MAAM;AACxC,CAAA;;;ACjCA,SAASW,UAAAA,eAAc;AAEvB,SAASC,eAAe;AAWjB,IAAMC,oBAAoB;UAEhBC,sBAAAA;AACf,QAAMC,uBAAuB,GAAGC,oBAAAA;EAEzB,MAAMC,eAAeC,QAAOC,YAAW,EAAW,GAAGJ,oBAAAA,WAA+B;IACzFK,OAAOF,QAAOG,OAAO;MACnBC,MAAMJ,QAAOK,SAASL,QAAOM,MAAM;MACnCC,SAASC;IACX,CAAA;IACAC,QAAQT,QAAOG,OAAO;MACpBO,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;uBARSZ,SAAAA;AASf,GAZiBH,wBAAAA,sBAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "Expando", "Ref", "TypedObject", "TranscriptSchema", "Schema", "Struct", "started", "optional", "String", "ended", "queue", "Ref", "Expando", "TranscriptType", "TypedObject", "typename", "version", "fields", "TranscriptHeader", "Schema", "SpaceId", "TRANSCRIPTION_URL", "TranscriptionAction", "TRANSCRIPTION_ACTION", "TRANSCRIPTION_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "spaceId", "SpaceId", "output", "object", "TranscriptType"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver, type PluginContext } from '@dxos/app-framework';\nimport { createQueueDxn } from '@dxos/echo-schema';\nimport { type SpaceId } from '@dxos/keys';\nimport { live, refFromDXN } from '@dxos/live-object';\n\nimport { TranscriptionAction, TranscriptType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: TranscriptionAction.Create,\n resolve: ({ name, spaceId }) => {\n const transcript = live(TranscriptType, {\n queue: refFromDXN(createQueueDxn(spaceId as SpaceId)),\n });\n\n return { data: { object: transcript } };\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAA0C;AAC9E,SAASC,sBAAsB;AAE/B,SAASC,MAAMC,kBAAkB;AAIjC,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,oBAAoBC;IAC5BC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,aAAaC,KAAKC,gBAAgB;QACtCC,OAAOC,WAAWC,eAAeN,OAAAA,CAAAA;MACnC,CAAA;AAEA,aAAO;QAAEO,MAAM;UAAEC,QAAQP;QAAW;MAAE;IACxC;EACF,CAAA;CACD;",
6
- "names": ["Capabilities", "contributes", "createResolver", "createQueueDxn", "live", "refFromDXN", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TranscriptionAction", "Create", "resolve", "name", "spaceId", "transcript", "live", "TranscriptType", "queue", "refFromDXN", "createQueueDxn", "data", "object"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\n\nimport { TranscriptionContainer } from '../components';\nimport { meta } from '../meta';\nimport { TranscriptType } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/article/transcript`,\n role: ['article', 'section'],\n filter: (data): data is { subject: TranscriptType } => isInstanceOf(TranscriptType, data.subject),\n component: ({ data, role }) => <TranscriptionContainer transcript={data.subject} role={role} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,oBAAoB;AAM7B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SAA8CC,aAAaC,gBAAgBF,KAAKG,OAAO;IAChGC,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAO,sBAAA,cAACO,wBAAAA;MAAuBC,YAAYN,KAAKG;MAASL;;EACnF,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "isInstanceOf", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isInstanceOf", "TranscriptType", "subject", "component", "TranscriptionContainer", "transcript"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\n\n/**\n * Root transcript object created when the user starts a transcription.\n */\nexport const TranscriptSchema = Schema.Struct({\n // TODO(wittjosiah): Remove?\n // TODO(burdon): Use Date or string?\n started: Schema.optional(Schema.String),\n ended: Schema.optional(Schema.String),\n\n /**\n * Queue containing TranscriptBlock objects.\n */\n // TODO(wittjosiah): Should be a ref to a queue.\n queue: Ref(Expando),\n});\n\nexport class TranscriptType extends TypedObject({\n typename: 'dxos.org/type/Transcript',\n version: '0.1.0',\n})(TranscriptSchema.fields) {}\n\n// TODO(burdon): Do these need to be kept in sync with EDGE?\n\n/**\n * First message in queue.\n * Contains metadata for the recording and transcript.\n */\nconst TranscriptHeader = Schema.Struct({\n started: Schema.optional(Schema.String),\n});\n\nexport type TranscriptHeader = Schema.Schema.Type<typeof TranscriptHeader>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { SpaceId } from '@dxos/react-client/echo';\n\nimport { TranscriptType } from './schema';\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\n\n// TODO(burdon): Move to separate proto.\n\n/**\n * Endpoint to the calls service.\n */\n// TODO(burdon): Reconfigure/move.\nexport const TRANSCRIPTION_URL = 'https://calls-service.dxos.workers.dev';\n\nexport namespace TranscriptionAction {\n const TRANSCRIPTION_ACTION = `${TRANSCRIPTION_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TRANSCRIPTION_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n spaceId: SpaceId,\n }),\n output: Schema.Struct({\n object: TranscriptType,\n }),\n }) {}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAEvB,yBAA0C;ACF1C,IAAAA,iBAAuB;AAEvB,kBAAwB;ADKjB,IAAMC,mBAAmBC,qBAAOC,OAAO;;;EAG5CC,SAASF,qBAAOG,SAASH,qBAAOI,MAAM;EACtCC,OAAOL,qBAAOG,SAASH,qBAAOI,MAAM;;;;;EAMpCE,WAAOC,wBAAIC,0BAAAA;AACb,CAAA;AAEO,IAAMC,iBAAN,kBAA6BC,gCAAY;EAC9CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAGb,iBAAiBc,MAAM,EAAA;AAAG;AAQ7B,IAAMC,mBAAmBd,qBAAOC,OAAO;EACrCC,SAASF,qBAAOG,SAASH,qBAAOI,MAAM;AACxC,CAAA;ACpBO,IAAMW,oBAAoB;UAEhBC,sBAAAA;AACf,QAAMC,uBAAuB,GAAGC,0CAAAA;EAEzB,MAAMC,eAAenB,eAAAA,OAAOoB,YAAW,EAAW,GAAGH,oBAAAA,WAA+B;IACzFI,OAAOrB,eAAAA,OAAOC,OAAO;MACnBqB,MAAMtB,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;MACnCmB,SAASC;IACX,CAAA;IACAC,QAAQzB,eAAAA,OAAOC,OAAO;MACpByB,QAAQjB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;uBARSU,SAAAA;AASf,GAZiBH,wBAAAA,sBAAAA,CAAAA,EAAAA;;",
6
- "names": ["import_effect", "TranscriptSchema", "Schema", "Struct", "started", "optional", "String", "ended", "queue", "Ref", "Expando", "TranscriptType", "TypedObject", "typename", "version", "fields", "TranscriptHeader", "TRANSCRIPTION_URL", "TranscriptionAction", "TRANSCRIPTION_ACTION", "TRANSCRIPTION_PLUGIN", "Create", "TaggedClass", "input", "name", "spaceId", "SpaceId", "output", "object"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver, type PluginContext } from '@dxos/app-framework';\nimport { createQueueDxn } from '@dxos/echo-schema';\nimport { type SpaceId } from '@dxos/keys';\nimport { live, refFromDXN } from '@dxos/live-object';\n\nimport { TranscriptionAction, TranscriptType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: TranscriptionAction.Create,\n resolve: ({ name, spaceId }) => {\n const transcript = live(TranscriptType, {\n queue: refFromDXN(createQueueDxn(spaceId as SpaceId)),\n });\n\n return { data: { object: transcript } };\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA8E;AAC9E,yBAA+B;AAE/B,yBAAiC;AAIjC,IAAA,0BAAe,CAACA,gBACdC,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,0CAAoBC;IAC5BC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,iBAAaC,yBAAKC,sCAAgB;QACtCC,WAAOC,mCAAWC,mCAAeN,OAAAA,CAAAA;MACnC,CAAA;AAEA,aAAO;QAAEO,MAAM;UAAEC,QAAQP;QAAW;MAAE;IACxC;EACF,CAAA;CACD;",
6
- "names": ["context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TranscriptionAction", "Create", "resolve", "name", "spaceId", "transcript", "live", "TranscriptType", "queue", "refFromDXN", "createQueueDxn", "data", "object"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\n\nimport { TranscriptionContainer } from '../components';\nimport { meta } from '../meta';\nimport { TranscriptType } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/article/transcript`,\n role: ['article', 'section'],\n filter: (data): data is { subject: TranscriptType } => isInstanceOf(TranscriptType, data.subject),\n component: ({ data, role }) => <TranscriptionContainer transcript={data.subject} role={role} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAElB,2BAAyD;AACzD,yBAA6B;AAM7B,IAAA,wBAAe,UACbA,kCAAYC,kCAAaC,cAAc;MACrCC,oCAAc;IACZC,IAAI,GAAGC,2BAAKD,EAAE;IACdE,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,aAA8CC,iCAAaC,sCAAgBF,KAAKG,OAAO;IAChGC,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAO,6BAAAO,QAAA,cAACC,8CAAAA;MAAuBC,YAAYP,KAAKG;MAASL;;EACnF,CAAA;CACD;",
6
- "names": ["contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isInstanceOf", "TranscriptType", "subject", "component", "React", "TranscriptionContainer", "transcript"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Expando, Ref, TypedObject } from '@dxos/echo-schema';\n\n/**\n * Root transcript object created when the user starts a transcription.\n */\nexport const TranscriptSchema = Schema.Struct({\n // TODO(wittjosiah): Remove?\n // TODO(burdon): Use Date or string?\n started: Schema.optional(Schema.String),\n ended: Schema.optional(Schema.String),\n\n /**\n * Queue containing TranscriptBlock objects.\n */\n // TODO(wittjosiah): Should be a ref to a queue.\n queue: Ref(Expando),\n});\n\nexport class TranscriptType extends TypedObject({\n typename: 'dxos.org/type/Transcript',\n version: '0.1.0',\n})(TranscriptSchema.fields) {}\n\n// TODO(burdon): Do these need to be kept in sync with EDGE?\n\n/**\n * First message in queue.\n * Contains metadata for the recording and transcript.\n */\nconst TranscriptHeader = Schema.Struct({\n started: Schema.optional(Schema.String),\n});\n\nexport type TranscriptHeader = Schema.Schema.Type<typeof TranscriptHeader>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { SpaceId } from '@dxos/react-client/echo';\n\nimport { TranscriptType } from './schema';\nimport { TRANSCRIPTION_PLUGIN } from '../meta';\n\n// TODO(burdon): Move to separate proto.\n\n/**\n * Endpoint to the calls service.\n */\n// TODO(burdon): Reconfigure/move.\nexport const TRANSCRIPTION_URL = 'https://calls-service.dxos.workers.dev';\n\nexport namespace TranscriptionAction {\n const TRANSCRIPTION_ACTION = `${TRANSCRIPTION_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TRANSCRIPTION_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n spaceId: SpaceId,\n }),\n output: Schema.Struct({\n object: TranscriptType,\n }),\n }) {}\n}\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,SAASC,KAAKC,mBAAmB;AAKnC,IAAMC,mBAAmBC,OAAOC,OAAO;;;EAG5CC,SAASF,OAAOG,SAASH,OAAOI,MAAM;EACtCC,OAAOL,OAAOG,SAASH,OAAOI,MAAM;;;;;EAMpCE,OAAOC,IAAIC,OAAAA;AACb,CAAA;AAEO,IAAMC,iBAAN,cAA6BC,YAAY;EAC9CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAGb,iBAAiBc,MAAM,EAAA;AAAG;AAQ7B,IAAMC,mBAAmBd,OAAOC,OAAO;EACrCC,SAASF,OAAOG,SAASH,OAAOI,MAAM;AACxC,CAAA;;;ACjCA,SAASW,UAAAA,eAAc;AAEvB,SAASC,eAAe;AAWjB,IAAMC,oBAAoB;UAEhBC,sBAAAA;AACf,QAAMC,uBAAuB,GAAGC,oBAAAA;EAEzB,MAAMC,eAAeC,QAAOC,YAAW,EAAW,GAAGJ,oBAAAA,WAA+B;IACzFK,OAAOF,QAAOG,OAAO;MACnBC,MAAMJ,QAAOK,SAASL,QAAOM,MAAM;MACnCC,SAASC;IACX,CAAA;IACAC,QAAQT,QAAOG,OAAO;MACpBO,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;uBARSZ,SAAAA;AASf,GAZiBH,wBAAAA,sBAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "Expando", "Ref", "TypedObject", "TranscriptSchema", "Schema", "Struct", "started", "optional", "String", "ended", "queue", "Ref", "Expando", "TranscriptType", "TypedObject", "typename", "version", "fields", "TranscriptHeader", "Schema", "SpaceId", "TRANSCRIPTION_URL", "TranscriptionAction", "TRANSCRIPTION_ACTION", "TRANSCRIPTION_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "spaceId", "SpaceId", "output", "object", "TranscriptType"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver, type PluginContext } from '@dxos/app-framework';\nimport { createQueueDxn } from '@dxos/echo-schema';\nimport { type SpaceId } from '@dxos/keys';\nimport { live, refFromDXN } from '@dxos/live-object';\n\nimport { TranscriptionAction, TranscriptType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: TranscriptionAction.Create,\n resolve: ({ name, spaceId }) => {\n const transcript = live(TranscriptType, {\n queue: refFromDXN(createQueueDxn(spaceId as SpaceId)),\n });\n\n return { data: { object: transcript } };\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAA0C;AAC9E,SAASC,sBAAsB;AAE/B,SAASC,MAAMC,kBAAkB;AAIjC,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,oBAAoBC;IAC5BC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,aAAaC,KAAKC,gBAAgB;QACtCC,OAAOC,WAAWC,eAAeN,OAAAA,CAAAA;MACnC,CAAA;AAEA,aAAO;QAAEO,MAAM;UAAEC,QAAQP;QAAW;MAAE;IACxC;EACF,CAAA;CACD;",
6
- "names": ["Capabilities", "contributes", "createResolver", "createQueueDxn", "live", "refFromDXN", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TranscriptionAction", "Create", "resolve", "name", "spaceId", "transcript", "live", "TranscriptType", "queue", "refFromDXN", "createQueueDxn", "data", "object"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\n\nimport { TranscriptionContainer } from '../components';\nimport { meta } from '../meta';\nimport { TranscriptType } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/article/transcript`,\n role: ['article', 'section'],\n filter: (data): data is { subject: TranscriptType } => isInstanceOf(TranscriptType, data.subject),\n component: ({ data, role }) => <TranscriptionContainer transcript={data.subject} role={role} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,oBAAoB;AAM7B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SAA8CC,aAAaC,gBAAgBF,KAAKG,OAAO;IAChGC,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAO,sBAAA,cAACO,wBAAAA;MAAuBC,YAAYN,KAAKG;MAASL;;EACnF,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "isInstanceOf", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isInstanceOf", "TranscriptType", "subject", "component", "TranscriptionContainer", "transcript"]
7
- }