@dxos/plugin-transcription 0.7.5-staging.b81e783 → 0.8.0

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,179 +1,179 @@
1
1
  export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
2
2
  id: string;
3
- position: import("packages/common/util/dist/types/src").Position;
4
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
5
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
6
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
3
+ position: import("@dxos/util").Position;
4
+ resolver?: import("@dxos/app-graph").ResolverExtension;
5
+ connector?: import("@dxos/app-graph").ConnectorExtension;
6
+ relation?: import("@dxos/app-graph").Relation;
7
7
  type?: string;
8
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
8
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
9
9
  }> | Readonly<{
10
10
  id: string;
11
- position: import("packages/common/util/dist/types/src").Position;
12
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
13
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
14
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
11
+ position: import("@dxos/util").Position;
12
+ resolver?: import("@dxos/app-graph").ResolverExtension;
13
+ connector?: import("@dxos/app-graph").ConnectorExtension;
14
+ relation?: import("@dxos/app-graph").Relation;
15
15
  type?: string;
16
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
16
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
17
17
  }>[] | (Readonly<{
18
18
  id: string;
19
- position: import("packages/common/util/dist/types/src").Position;
20
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
21
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
22
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
19
+ position: import("@dxos/util").Position;
20
+ resolver?: import("@dxos/app-graph").ResolverExtension;
21
+ connector?: import("@dxos/app-graph").ConnectorExtension;
22
+ relation?: import("@dxos/app-graph").Relation;
23
23
  type?: string;
24
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
24
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
25
25
  }> | Readonly<{
26
26
  id: string;
27
- position: import("packages/common/util/dist/types/src").Position;
28
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
29
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
30
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
27
+ position: import("@dxos/util").Position;
28
+ resolver?: import("@dxos/app-graph").ResolverExtension;
29
+ connector?: import("@dxos/app-graph").ConnectorExtension;
30
+ relation?: import("@dxos/app-graph").Relation;
31
31
  type?: string;
32
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
32
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
33
33
  }>[] | (Readonly<{
34
34
  id: string;
35
- position: import("packages/common/util/dist/types/src").Position;
36
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
37
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
38
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
35
+ position: import("@dxos/util").Position;
36
+ resolver?: import("@dxos/app-graph").ResolverExtension;
37
+ connector?: import("@dxos/app-graph").ConnectorExtension;
38
+ relation?: import("@dxos/app-graph").Relation;
39
39
  type?: string;
40
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
40
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
41
41
  }> | Readonly<{
42
42
  id: string;
43
- position: import("packages/common/util/dist/types/src").Position;
44
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
45
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
46
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
43
+ position: import("@dxos/util").Position;
44
+ resolver?: import("@dxos/app-graph").ResolverExtension;
45
+ connector?: import("@dxos/app-graph").ConnectorExtension;
46
+ relation?: import("@dxos/app-graph").Relation;
47
47
  type?: string;
48
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
48
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
49
49
  }>[] | (Readonly<{
50
50
  id: string;
51
- position: import("packages/common/util/dist/types/src").Position;
52
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
53
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
54
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
51
+ position: import("@dxos/util").Position;
52
+ resolver?: import("@dxos/app-graph").ResolverExtension;
53
+ connector?: import("@dxos/app-graph").ConnectorExtension;
54
+ relation?: import("@dxos/app-graph").Relation;
55
55
  type?: string;
56
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
56
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
57
57
  }> | Readonly<{
58
58
  id: string;
59
- position: import("packages/common/util/dist/types/src").Position;
60
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
61
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
62
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
59
+ position: import("@dxos/util").Position;
60
+ resolver?: import("@dxos/app-graph").ResolverExtension;
61
+ connector?: import("@dxos/app-graph").ConnectorExtension;
62
+ relation?: import("@dxos/app-graph").Relation;
63
63
  type?: string;
64
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
64
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
65
65
  }>[] | (Readonly<{
66
66
  id: string;
67
- position: import("packages/common/util/dist/types/src").Position;
68
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
69
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
70
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
67
+ position: import("@dxos/util").Position;
68
+ resolver?: import("@dxos/app-graph").ResolverExtension;
69
+ connector?: import("@dxos/app-graph").ConnectorExtension;
70
+ relation?: import("@dxos/app-graph").Relation;
71
71
  type?: string;
72
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
72
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
73
73
  }> | Readonly<{
74
74
  id: string;
75
- position: import("packages/common/util/dist/types/src").Position;
76
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
77
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
78
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
75
+ position: import("@dxos/util").Position;
76
+ resolver?: import("@dxos/app-graph").ResolverExtension;
77
+ connector?: import("@dxos/app-graph").ConnectorExtension;
78
+ relation?: import("@dxos/app-graph").Relation;
79
79
  type?: string;
80
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
80
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
81
81
  }>[] | (Readonly<{
82
82
  id: string;
83
- position: import("packages/common/util/dist/types/src").Position;
84
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
85
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
86
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
83
+ position: import("@dxos/util").Position;
84
+ resolver?: import("@dxos/app-graph").ResolverExtension;
85
+ connector?: import("@dxos/app-graph").ConnectorExtension;
86
+ relation?: import("@dxos/app-graph").Relation;
87
87
  type?: string;
88
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
88
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
89
89
  }> | Readonly<{
90
90
  id: string;
91
- position: import("packages/common/util/dist/types/src").Position;
92
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
93
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
94
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
91
+ position: import("@dxos/util").Position;
92
+ resolver?: import("@dxos/app-graph").ResolverExtension;
93
+ connector?: import("@dxos/app-graph").ConnectorExtension;
94
+ relation?: import("@dxos/app-graph").Relation;
95
95
  type?: string;
96
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
96
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
97
97
  }>[] | (Readonly<{
98
98
  id: string;
99
- position: import("packages/common/util/dist/types/src").Position;
100
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
101
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
102
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
99
+ position: import("@dxos/util").Position;
100
+ resolver?: import("@dxos/app-graph").ResolverExtension;
101
+ connector?: import("@dxos/app-graph").ConnectorExtension;
102
+ relation?: import("@dxos/app-graph").Relation;
103
103
  type?: string;
104
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
104
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
105
105
  }> | Readonly<{
106
106
  id: string;
107
- position: import("packages/common/util/dist/types/src").Position;
108
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
109
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
110
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
107
+ position: import("@dxos/util").Position;
108
+ resolver?: import("@dxos/app-graph").ResolverExtension;
109
+ connector?: import("@dxos/app-graph").ConnectorExtension;
110
+ relation?: import("@dxos/app-graph").Relation;
111
111
  type?: string;
112
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
112
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
113
113
  }>[] | (Readonly<{
114
114
  id: string;
115
- position: import("packages/common/util/dist/types/src").Position;
116
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
117
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
118
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
115
+ position: import("@dxos/util").Position;
116
+ resolver?: import("@dxos/app-graph").ResolverExtension;
117
+ connector?: import("@dxos/app-graph").ConnectorExtension;
118
+ relation?: import("@dxos/app-graph").Relation;
119
119
  type?: string;
120
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
120
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
121
121
  }> | Readonly<{
122
122
  id: string;
123
- position: import("packages/common/util/dist/types/src").Position;
124
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
125
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
126
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
123
+ position: import("@dxos/util").Position;
124
+ resolver?: import("@dxos/app-graph").ResolverExtension;
125
+ connector?: import("@dxos/app-graph").ConnectorExtension;
126
+ relation?: import("@dxos/app-graph").Relation;
127
127
  type?: string;
128
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
128
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
129
129
  }>[] | (Readonly<{
130
130
  id: string;
131
- position: import("packages/common/util/dist/types/src").Position;
132
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
133
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
134
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
131
+ position: import("@dxos/util").Position;
132
+ resolver?: import("@dxos/app-graph").ResolverExtension;
133
+ connector?: import("@dxos/app-graph").ConnectorExtension;
134
+ relation?: import("@dxos/app-graph").Relation;
135
135
  type?: string;
136
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
136
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
137
137
  }> | Readonly<{
138
138
  id: string;
139
- position: import("packages/common/util/dist/types/src").Position;
140
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
141
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
142
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
139
+ position: import("@dxos/util").Position;
140
+ resolver?: import("@dxos/app-graph").ResolverExtension;
141
+ connector?: import("@dxos/app-graph").ConnectorExtension;
142
+ relation?: import("@dxos/app-graph").Relation;
143
143
  type?: string;
144
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
144
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
145
145
  }>[] | (Readonly<{
146
146
  id: string;
147
- position: import("packages/common/util/dist/types/src").Position;
148
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
149
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
150
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
147
+ position: import("@dxos/util").Position;
148
+ resolver?: import("@dxos/app-graph").ResolverExtension;
149
+ connector?: import("@dxos/app-graph").ConnectorExtension;
150
+ relation?: import("@dxos/app-graph").Relation;
151
151
  type?: string;
152
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
152
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
153
153
  }> | Readonly<{
154
154
  id: string;
155
- position: import("packages/common/util/dist/types/src").Position;
156
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
157
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
158
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
155
+ position: import("@dxos/util").Position;
156
+ resolver?: import("@dxos/app-graph").ResolverExtension;
157
+ connector?: import("@dxos/app-graph").ConnectorExtension;
158
+ relation?: import("@dxos/app-graph").Relation;
159
159
  type?: string;
160
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
160
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
161
161
  }>[] | (any[] | Readonly<{
162
162
  id: string;
163
- position: import("packages/common/util/dist/types/src").Position;
164
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
165
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
166
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
163
+ position: import("@dxos/util").Position;
164
+ resolver?: import("@dxos/app-graph").ResolverExtension;
165
+ connector?: import("@dxos/app-graph").ConnectorExtension;
166
+ relation?: import("@dxos/app-graph").Relation;
167
167
  type?: string;
168
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
168
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
169
169
  }> | Readonly<{
170
170
  id: string;
171
- position: import("packages/common/util/dist/types/src").Position;
172
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
173
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
174
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
171
+ position: import("@dxos/util").Position;
172
+ resolver?: import("@dxos/app-graph").ResolverExtension;
173
+ connector?: import("@dxos/app-graph").ConnectorExtension;
174
+ relation?: import("@dxos/app-graph").Relation;
175
175
  type?: string;
176
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
176
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
177
177
  }>[])[])[])[])[])[])[])[])[])[])[]> | import("@dxos/app-framework").AnyCapability[]>>;
178
178
  export declare const IntentResolver: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
179
179
  export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;qBAKgnG,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;qFALj5W,CAAC;AACzE,eAAO,MAAM,cAAc,mPAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC;AAElE,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;qBAKyjG,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;qFALpzV,CAAC;AACzE,eAAO,MAAM,cAAc,mPAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC;AAElE,cAAc,gBAAgB,CAAC"}
@@ -11,12 +11,12 @@ export declare const TranscriptSchema: S.Struct<{
11
11
  */
12
12
  queue: S.optional<typeof S.String>;
13
13
  }>;
14
- declare const TranscriptType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("packages/core/echo/echo-schema/dist/types/src/object/common").TypedObjectFields<{
14
+ declare const TranscriptType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
15
15
  readonly name: typeof S.String;
16
16
  readonly started: S.optional<typeof S.Date>;
17
17
  readonly ended: S.optional<typeof S.Date>;
18
18
  readonly queue: S.optional<typeof S.String>;
19
- }, import("packages/core/echo/echo-schema/dist/types/src/object/common").TypedObjectOptions>, S.Struct.Encoded<{
19
+ }, import("@dxos/echo-schema").TypedObjectOptions>, S.Struct.Encoded<{
20
20
  readonly name: typeof S.String;
21
21
  readonly started: S.optional<typeof S.Date>;
22
22
  readonly ended: S.optional<typeof S.Date>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-transcription",
3
- "version": "0.7.5-staging.b81e783",
3
+ "version": "0.8.0",
4
4
  "description": "Voice transcription.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -41,51 +41,51 @@
41
41
  "react-router-dom": "^6.4.0",
42
42
  "react-use": "^17.5.1",
43
43
  "wavefile": "^11.0.0",
44
- "@dxos/app-framework": "0.7.5-staging.b81e783",
45
- "@dxos/artifact": "0.7.5-staging.b81e783",
46
- "@dxos/assistant": "0.7.5-staging.b81e783",
47
- "@dxos/async": "0.7.5-staging.b81e783",
48
- "@dxos/codec-protobuf": "0.7.5-staging.b81e783",
49
- "@dxos/context": "0.7.5-staging.b81e783",
50
- "@dxos/debug": "0.7.5-staging.b81e783",
51
- "@dxos/client": "0.7.5-staging.b81e783",
52
- "@dxos/display-name": "0.7.5-staging.b81e783",
53
- "@dxos/echo-db": "0.7.5-staging.b81e783",
54
- "@dxos/echo-schema": "0.7.5-staging.b81e783",
55
- "@dxos/invariant": "0.7.5-staging.b81e783",
56
- "@dxos/keys": "0.7.5-staging.b81e783",
57
- "@dxos/log": "0.7.5-staging.b81e783",
58
- "@dxos/plugin-client": "0.7.5-staging.b81e783",
59
- "@dxos/plugin-graph": "0.7.5-staging.b81e783",
60
- "@dxos/plugin-markdown": "0.7.5-staging.b81e783",
61
- "@dxos/plugin-space": "0.7.5-staging.b81e783",
62
- "@dxos/live-object": "0.7.5-staging.b81e783",
63
- "@dxos/react-client": "0.7.5-staging.b81e783",
64
- "@dxos/react-edge-client": "0.7.5-staging.b81e783",
65
- "@dxos/protocols": "0.7.5-staging.b81e783",
66
- "@dxos/react-ui-components": "0.7.5-staging.b81e783",
67
- "@dxos/react-ui-sfx": "0.7.5-staging.b81e783",
68
- "@dxos/react-ui-stack": "0.7.5-staging.b81e783",
69
- "@dxos/schema": "0.7.5-staging.b81e783",
70
- "@dxos/tracing": "0.7.5-staging.b81e783",
71
- "@dxos/util": "0.7.5-staging.b81e783"
44
+ "@dxos/app-framework": "0.8.0",
45
+ "@dxos/assistant": "0.8.0",
46
+ "@dxos/artifact": "0.8.0",
47
+ "@dxos/async": "0.8.0",
48
+ "@dxos/client": "0.8.0",
49
+ "@dxos/context": "0.8.0",
50
+ "@dxos/codec-protobuf": "0.8.0",
51
+ "@dxos/debug": "0.8.0",
52
+ "@dxos/display-name": "0.8.0",
53
+ "@dxos/invariant": "0.8.0",
54
+ "@dxos/echo-db": "0.8.0",
55
+ "@dxos/echo-schema": "0.8.0",
56
+ "@dxos/keys": "0.8.0",
57
+ "@dxos/live-object": "0.8.0",
58
+ "@dxos/log": "0.8.0",
59
+ "@dxos/plugin-client": "0.8.0",
60
+ "@dxos/plugin-graph": "0.8.0",
61
+ "@dxos/plugin-markdown": "0.8.0",
62
+ "@dxos/protocols": "0.8.0",
63
+ "@dxos/react-edge-client": "0.8.0",
64
+ "@dxos/plugin-space": "0.8.0",
65
+ "@dxos/react-ui-components": "0.8.0",
66
+ "@dxos/react-client": "0.8.0",
67
+ "@dxos/react-ui-sfx": "0.8.0",
68
+ "@dxos/schema": "0.8.0",
69
+ "@dxos/react-ui-stack": "0.8.0",
70
+ "@dxos/tracing": "0.8.0",
71
+ "@dxos/util": "0.8.0"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/react": "~18.2.0",
75
75
  "react": "~18.2.0",
76
76
  "react-dom": "~18.2.0",
77
77
  "tailwindcss": "~3.4.1",
78
- "@dxos/random": "0.7.5-staging.b81e783",
79
- "@dxos/react-ui": "0.7.5-staging.b81e783",
80
- "@dxos/react-ui-theme": "0.7.5-staging.b81e783",
81
- "@dxos/test-utils": "0.7.5-staging.b81e783",
82
- "@dxos/storybook-utils": "0.7.5-staging.b81e783"
78
+ "@dxos/random": "0.8.0",
79
+ "@dxos/react-ui": "0.8.0",
80
+ "@dxos/react-ui-theme": "0.8.0",
81
+ "@dxos/storybook-utils": "0.8.0",
82
+ "@dxos/test-utils": "0.8.0"
83
83
  },
84
84
  "optionalDependencies": {
85
85
  "react": "~18.2.0",
86
86
  "react-dom": "~18.2.0",
87
- "@dxos/react-ui": "0.7.5-staging.b81e783",
88
- "@dxos/react-ui-theme": "0.7.5-staging.b81e783"
87
+ "@dxos/react-ui": "0.8.0",
88
+ "@dxos/react-ui-theme": "0.8.0"
89
89
  },
90
90
  "publishConfig": {
91
91
  "access": "public"
@@ -7,7 +7,7 @@ import React, { useCallback, useMemo, useState, type FC } from 'react';
7
7
 
8
8
  import { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
9
9
  import { Message } from '@dxos/artifact';
10
- import { AIServiceClientImpl, MixedStreamParser, type AIServiceClient } from '@dxos/assistant';
10
+ import { AIServiceClientImpl, DEFAULT_LLM_MODEL, MixedStreamParser, type AIServiceClient } from '@dxos/assistant';
11
11
  import { create, getSpace, makeRef } from '@dxos/client/echo';
12
12
  import { QueueImpl } from '@dxos/echo-db';
13
13
  import { createStatic, isInstanceOf } from '@dxos/echo-schema';
@@ -100,8 +100,8 @@ const summarizeTranscript = async (
100
100
 
101
101
  log.info('summarizing transcript', { blockCount: queue.items.length });
102
102
  const output = await parser.parse(
103
- await aiService.generate({
104
- model: '@anthropic/claude-3-5-sonnet-20241022',
103
+ await aiService.exec({
104
+ model: DEFAULT_LLM_MODEL,
105
105
  systemPrompt: SUMMARIZE_PROMPT,
106
106
  history: [createStatic(Message, { role: 'user', content: [{ type: 'text', text: content }] })],
107
107
  }),
@@ -129,18 +129,39 @@ const summarizeTranscript = async (
129
129
 
130
130
  // TODO(dmaretskyi): Add example to set consistent structure for the summary.
131
131
  const SUMMARIZE_PROMPT = `
132
- Create a summary of the transcript provided.
133
- Reference specific people by name when possible.
134
- Format the summary as a list of key points and takeaways.
135
- Include action items in the summary.
136
- Use markdown formatting for headings and bullet points.
137
- Format the summary as a markdown document without extra comments like "Here is the summary of the transcript:".
132
+ # Goal
133
+ Create a markdown summary of the transcript provided.
134
+
135
+ # Formatting
136
+ - Format the summary as a markdown document without extra comments like "Here is the summary of the transcript:".
137
+ - Use markdown formatting for headings and bullet points.
138
+ - Format the summary as a list of key points and takeaways.
139
+ - All names of people should be in bold.
140
+
141
+ # Note Taking
142
+ - Correlate items in the summary with the person of origin to build a coherent narrative.
143
+ - Include short quotes verbatim where appropriate. Especially when concerned with design decisions and problem descriptions.
144
+
145
+ # Tasks
146
+ At the end of the summary include tasks.
147
+ Extract only the tasks that are:
148
+ - Directly actionable
149
+ - Clearly assigned to a person or team (or can easily be inferred)
150
+ - Strongly implied by the conversation and/or user note (no speculative tasks)
151
+ - Specific enough that someone reading them would know exactly what to do next
152
+
153
+ Format all tasks as markdown checkboxes using the syntax:
154
+ - [ ] Task description
155
+
156
+ Additional information can be included (indented).
157
+
158
+ If no actionable tasks are found, omit this tasks section.
138
159
  `;
139
160
 
140
161
  // TODO(dmaretskyi): Extract?
141
162
  // Also this conflicts with plugin automation providing the ai client via a capability. Need to reconcile.
142
163
  const useAiServiceClient = (): AIServiceClient => {
143
164
  const config = useConfig();
144
- const endpoint = config.values.runtime?.services?.ai?.server ?? 'http://localhost:8788';
165
+ const endpoint = config.values.runtime?.services?.ai?.server ?? 'http://localhost:8788'; // TOOD(burdon): Standardize consts.
145
166
  return useMemo(() => new AIServiceClientImpl({ endpoint }), [endpoint]);
146
167
  };
@@ -1,7 +0,0 @@
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, 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.generate({\n model: '@anthropic/claude-3-5-sonnet-20241022',\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 Create a summary of the transcript provided.\n Reference specific people by name when possible.\n Format the summary as a list of key points and takeaways.\n Include action items in the summary.\n Use markdown formatting for headings and bullet points.\n Format the summary as a markdown document without extra comments like \"Here is the summary of the transcript:\".\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';\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": ["pipe", "React", "useCallback", "useMemo", "useState", "chain", "createIntent", "LayoutAction", "useIntentDispatcher", "Message", "AIServiceClientImpl", "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", "generate", "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
- }
@@ -1,7 +0,0 @@
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, 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.generate({\n model: '@anthropic/claude-3-5-sonnet-20241022',\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 Create a summary of the transcript provided.\n Reference specific people by name when possible.\n Format the summary as a list of key points and takeaways.\n Include action items in the summary.\n Use markdown formatting for headings and bullet points.\n Format the summary as a markdown document without extra comments like \"Here is the summary of the transcript:\".\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';\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", "generate", "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
- }