@dxos/plugin-thread 0.8.4-main.406dc2a → 0.8.4-main.548089c

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 (234) hide show
  1. package/dist/lib/browser/ChannelContainer-56QROCE4.mjs +16 -0
  2. package/dist/lib/browser/ChatContainer-7F5Y6GXJ.mjs +15 -0
  3. package/dist/lib/browser/{app-graph-builder-ODKIAXR7.mjs → app-graph-builder-USFBLGFG.mjs} +19 -20
  4. package/dist/lib/browser/app-graph-builder-USFBLGFG.mjs.map +7 -0
  5. package/dist/lib/browser/blueprint-definition-6BKYTMJS.mjs +104 -0
  6. package/dist/lib/browser/blueprint-definition-6BKYTMJS.mjs.map +7 -0
  7. package/dist/lib/browser/{call-manager-BCKLI4QD.mjs → call-manager-MAXQLMMS.mjs} +5 -5
  8. package/dist/lib/browser/{chunk-CMCVHULC.mjs → chunk-44S2SB4N.mjs} +34 -31
  9. package/dist/lib/browser/chunk-44S2SB4N.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-L326LSNS.mjs → chunk-BBTXGRIR.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-L326LSNS.mjs.map → chunk-BBTXGRIR.mjs.map} +1 -1
  12. package/dist/lib/browser/{chunk-B7YQ7QR2.mjs → chunk-FR6MEAZI.mjs} +17 -16
  13. package/dist/lib/browser/chunk-FR6MEAZI.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-XYUJXHYV.mjs → chunk-ISCHODBV.mjs} +1 -1
  15. package/dist/lib/browser/{chunk-XYUJXHYV.mjs.map → chunk-ISCHODBV.mjs.map} +2 -2
  16. package/dist/lib/browser/chunk-K2DUJRFJ.mjs +27 -0
  17. package/dist/lib/browser/chunk-K2DUJRFJ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-HDEQRBOC.mjs → chunk-KOBXMDCI.mjs} +68 -67
  19. package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-NMJEVD36.mjs +168 -0
  21. package/dist/lib/browser/chunk-NMJEVD36.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-NSREO7OX.mjs +23 -0
  23. package/dist/lib/browser/chunk-NSREO7OX.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-ZCEU5K23.mjs → chunk-ZCW3NSDZ.mjs} +139 -236
  25. package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +7 -0
  26. package/dist/lib/browser/{chunk-VJMKS4CZ.mjs → chunk-ZO5ZGDN5.mjs} +45 -47
  27. package/dist/lib/browser/chunk-ZO5ZGDN5.mjs.map +7 -0
  28. package/dist/lib/browser/index.mjs +37 -36
  29. package/dist/lib/browser/index.mjs.map +3 -3
  30. package/dist/lib/browser/{intent-resolver-VOQD3TQ2.mjs → intent-resolver-BOUT4WGY.mjs} +25 -91
  31. package/dist/lib/browser/intent-resolver-BOUT4WGY.mjs.map +7 -0
  32. package/dist/lib/browser/{markdown-R6MGRIA6.mjs → markdown-74EUSQGV.mjs} +22 -20
  33. package/dist/lib/browser/markdown-74EUSQGV.mjs.map +7 -0
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/{react-root-UMSBTN6H.mjs → react-root-2VRIT2HF.mjs} +10 -10
  36. package/dist/lib/browser/{react-surface-SXMQEWKE.mjs → react-surface-UOECBYHE.mjs} +17 -16
  37. package/dist/lib/browser/react-surface-UOECBYHE.mjs.map +7 -0
  38. package/dist/lib/browser/{settings-TCNF54PN.mjs → settings-LGQUZITB.mjs} +3 -3
  39. package/dist/lib/browser/{state-ZQ4IPOJT.mjs → state-36REWXO5.mjs} +3 -3
  40. package/dist/lib/browser/types/index.mjs +7 -9
  41. package/dist/lib/node-esm/ChannelContainer-4SV22AKC.mjs +17 -0
  42. package/dist/lib/node-esm/{ChatContainer-SH6LTFQL.mjs → ChatContainer-C526R4DI.mjs} +5 -5
  43. package/dist/lib/node-esm/{app-graph-builder-DMPT3MY6.mjs → app-graph-builder-DWYGNENL.mjs} +19 -20
  44. package/dist/lib/node-esm/app-graph-builder-DWYGNENL.mjs.map +7 -0
  45. package/dist/lib/node-esm/blueprint-definition-6LEAWSC7.mjs +105 -0
  46. package/dist/lib/node-esm/blueprint-definition-6LEAWSC7.mjs.map +7 -0
  47. package/dist/lib/node-esm/{call-manager-Q7RY2YP4.mjs → call-manager-LC4OS2KD.mjs} +5 -5
  48. package/dist/lib/node-esm/{chunk-TIPIOH2J.mjs → chunk-7KZWZS2U.mjs} +139 -236
  49. package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +7 -0
  50. package/dist/lib/node-esm/{chunk-NHSIAEDW.mjs → chunk-KE6SKBPO.mjs} +45 -47
  51. package/dist/lib/node-esm/chunk-KE6SKBPO.mjs.map +7 -0
  52. package/dist/lib/node-esm/{chunk-2KZ4ODHU.mjs → chunk-NEGIPZTJ.mjs} +34 -31
  53. package/dist/lib/node-esm/chunk-NEGIPZTJ.mjs.map +7 -0
  54. package/dist/lib/node-esm/{chunk-2MMJF7DW.mjs → chunk-PZH2EDU5.mjs} +68 -67
  55. package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-TJKM5JZT.mjs +169 -0
  57. package/dist/lib/node-esm/chunk-TJKM5JZT.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-BTGKI5IK.mjs → chunk-TWKGDFCS.mjs} +17 -16
  59. package/dist/lib/node-esm/chunk-TWKGDFCS.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs → chunk-VBI32FGI.mjs} +1 -1
  61. package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs.map → chunk-VBI32FGI.mjs.map} +2 -2
  62. package/dist/lib/node-esm/chunk-VM6WD3YY.mjs +25 -0
  63. package/dist/lib/node-esm/chunk-VM6WD3YY.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-XI45H4IV.mjs +28 -0
  65. package/dist/lib/node-esm/chunk-XI45H4IV.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-LCHTNRK7.mjs → chunk-ZQAGII7M.mjs} +2 -2
  67. package/dist/lib/node-esm/{chunk-LCHTNRK7.mjs.map → chunk-ZQAGII7M.mjs.map} +1 -1
  68. package/dist/lib/node-esm/index.mjs +37 -36
  69. package/dist/lib/node-esm/index.mjs.map +3 -3
  70. package/dist/lib/node-esm/{intent-resolver-AKVH66PH.mjs → intent-resolver-45PLIFCJ.mjs} +25 -91
  71. package/dist/lib/node-esm/intent-resolver-45PLIFCJ.mjs.map +7 -0
  72. package/dist/lib/node-esm/{markdown-MYGTDXT6.mjs → markdown-566XXB55.mjs} +22 -20
  73. package/dist/lib/node-esm/markdown-566XXB55.mjs.map +7 -0
  74. package/dist/lib/node-esm/meta.json +1 -1
  75. package/dist/lib/node-esm/{react-root-W6AVTL5M.mjs → react-root-JAE2VI2D.mjs} +10 -10
  76. package/dist/lib/node-esm/{react-surface-NLSZJGMO.mjs → react-surface-BYKXK5YA.mjs} +17 -16
  77. package/dist/lib/node-esm/react-surface-BYKXK5YA.mjs.map +7 -0
  78. package/dist/lib/node-esm/{settings-ZQHGVFBY.mjs → settings-WKLJSP6R.mjs} +3 -3
  79. package/dist/lib/node-esm/{state-FSLLJ5TZ.mjs → state-X3W67GTL.mjs} +3 -3
  80. package/dist/lib/node-esm/types/index.mjs +7 -9
  81. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  82. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  85. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/capabilities.d.ts +2 -2
  87. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/index.d.ts +1 -1
  89. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  93. package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
  94. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  95. package/dist/types/src/components/ChannelContainer.d.ts +2 -2
  96. package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
  97. package/dist/types/src/components/ChannelContainer.stories.d.ts +71 -5
  98. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/Chat.stories.d.ts +71 -4
  100. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/ChatContainer.d.ts +6 -5
  102. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  103. package/dist/types/src/components/CommentsContainer.d.ts +2 -2
  104. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  105. package/dist/types/src/components/CommentsThreadContainer.d.ts +8 -8
  106. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
  107. package/dist/types/src/components/MessageContainer.d.ts +2 -2
  108. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  109. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  110. package/dist/types/src/components/ThreadComplementary.d.ts.map +1 -1
  111. package/dist/types/src/components/index.d.ts +1 -1
  112. package/dist/types/src/components/index.d.ts.map +1 -1
  113. package/dist/types/src/components/testing.d.ts +3 -3
  114. package/dist/types/src/components/testing.d.ts.map +1 -1
  115. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  116. package/dist/types/src/functions/create-proposals.d.ts +6 -0
  117. package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
  118. package/dist/types/src/functions/index.d.ts +2 -0
  119. package/dist/types/src/functions/index.d.ts.map +1 -0
  120. package/dist/types/src/hooks/analytics.d.ts +2 -2
  121. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  122. package/dist/types/src/hooks/index.d.ts +2 -2
  123. package/dist/types/src/hooks/index.d.ts.map +1 -1
  124. package/dist/types/src/meta.d.ts.map +1 -1
  125. package/dist/types/src/testing/stories.d.ts.map +1 -1
  126. package/dist/types/src/translations.d.ts +71 -5
  127. package/dist/types/src/translations.d.ts.map +1 -1
  128. package/dist/types/src/types/Channel.d.ts +16 -0
  129. package/dist/types/src/types/Channel.d.ts.map +1 -0
  130. package/dist/types/src/types/{schema.d.ts → Thread.d.ts} +13 -25
  131. package/dist/types/src/types/Thread.d.ts.map +1 -0
  132. package/dist/types/src/types/index.d.ts +2 -1
  133. package/dist/types/src/types/index.d.ts.map +1 -1
  134. package/dist/types/src/types/types.d.ts +22 -110
  135. package/dist/types/src/types/types.d.ts.map +1 -1
  136. package/dist/types/tsconfig.tsbuildinfo +1 -1
  137. package/package.json +50 -46
  138. package/src/ThreadPlugin.tsx +26 -18
  139. package/src/calls/media-manager.ts +9 -6
  140. package/src/calls/util/stub-media-streams.ts +2 -2
  141. package/src/capabilities/app-graph-builder.ts +27 -17
  142. package/src/capabilities/blueprint-definition.ts +38 -0
  143. package/src/capabilities/capabilities.ts +2 -2
  144. package/src/capabilities/index.ts +1 -1
  145. package/src/capabilities/intent-resolver.ts +17 -54
  146. package/src/capabilities/markdown.ts +5 -3
  147. package/src/capabilities/react-surface.tsx +8 -7
  148. package/src/components/Call/Call.tsx +1 -1
  149. package/src/components/Call/Toolbar.tsx +5 -5
  150. package/src/components/CallDebugPanel.tsx +2 -2
  151. package/src/components/CallSidebar.tsx +1 -1
  152. package/src/components/ChannelContainer.stories.tsx +6 -6
  153. package/src/components/ChannelContainer.tsx +18 -14
  154. package/src/components/Chat.stories.tsx +7 -13
  155. package/src/components/ChatContainer.tsx +30 -21
  156. package/src/components/Comments.stories.tsx +6 -6
  157. package/src/components/CommentsContainer.tsx +6 -7
  158. package/src/components/CommentsThreadContainer.tsx +32 -27
  159. package/src/components/Lobby/Lobby.tsx +1 -1
  160. package/src/components/Media/VideoObject.tsx +1 -1
  161. package/src/components/MessageContainer.tsx +6 -6
  162. package/src/components/Participant/Participant.tsx +1 -1
  163. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +2 -2
  164. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +1 -1
  165. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +4 -4
  166. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -2
  167. package/src/components/ThreadComplementary.tsx +38 -31
  168. package/src/components/testing.ts +8 -8
  169. package/src/extensions/threads.ts +25 -16
  170. package/src/functions/create-proposals.ts +58 -0
  171. package/src/functions/index.ts +5 -0
  172. package/src/hooks/analytics.ts +4 -7
  173. package/src/hooks/index.ts +3 -2
  174. package/src/meta.ts +6 -1
  175. package/src/testing/stories.ts +2 -5
  176. package/src/translations.ts +3 -2
  177. package/src/types/Channel.ts +27 -0
  178. package/src/types/Thread.ts +26 -0
  179. package/src/types/index.ts +2 -1
  180. package/src/types/types.ts +17 -25
  181. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +0 -16
  182. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +0 -15
  183. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-2MUYQOQE.mjs +0 -23
  185. package/dist/lib/browser/chunk-2MUYQOQE.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-B7YQ7QR2.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-HDEQRBOC.mjs.map +0 -7
  189. package/dist/lib/browser/chunk-T4KJ5JR4.mjs +0 -15
  190. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-VJMKS4CZ.mjs.map +0 -7
  192. package/dist/lib/browser/chunk-VTYX3SIM.mjs +0 -147
  193. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
  195. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +0 -7
  196. package/dist/lib/browser/markdown-R6MGRIA6.mjs.map +0 -7
  197. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +0 -7
  198. package/dist/lib/browser/toolkit-JF4B4QIO.mjs +0 -84
  199. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +0 -7
  200. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +0 -17
  201. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +0 -7
  202. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs.map +0 -7
  204. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs +0 -148
  205. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +0 -7
  206. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs.map +0 -7
  207. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +0 -25
  208. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs.map +0 -7
  209. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs.map +0 -7
  210. package/dist/lib/node-esm/chunk-OBVAURUU.mjs +0 -17
  211. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +0 -7
  212. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
  213. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +0 -7
  214. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs.map +0 -7
  215. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +0 -7
  216. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs +0 -85
  217. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +0 -7
  218. package/dist/types/src/capabilities/toolkit.d.ts +0 -6
  219. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  220. package/dist/types/src/types/schema.d.ts.map +0 -1
  221. package/src/capabilities/toolkit.ts +0 -82
  222. package/src/types/schema.ts +0 -33
  223. /package/dist/lib/browser/{ChannelContainer-BGDGZHV4.mjs.map → ChannelContainer-56QROCE4.mjs.map} +0 -0
  224. /package/dist/lib/browser/{ChatContainer-75KJZ4XR.mjs.map → ChatContainer-7F5Y6GXJ.mjs.map} +0 -0
  225. /package/dist/lib/browser/{call-manager-BCKLI4QD.mjs.map → call-manager-MAXQLMMS.mjs.map} +0 -0
  226. /package/dist/lib/browser/{react-root-UMSBTN6H.mjs.map → react-root-2VRIT2HF.mjs.map} +0 -0
  227. /package/dist/lib/browser/{settings-TCNF54PN.mjs.map → settings-LGQUZITB.mjs.map} +0 -0
  228. /package/dist/lib/browser/{state-ZQ4IPOJT.mjs.map → state-36REWXO5.mjs.map} +0 -0
  229. /package/dist/lib/node-esm/{ChannelContainer-OXC6BTU7.mjs.map → ChannelContainer-4SV22AKC.mjs.map} +0 -0
  230. /package/dist/lib/node-esm/{ChatContainer-SH6LTFQL.mjs.map → ChatContainer-C526R4DI.mjs.map} +0 -0
  231. /package/dist/lib/node-esm/{call-manager-Q7RY2YP4.mjs.map → call-manager-LC4OS2KD.mjs.map} +0 -0
  232. /package/dist/lib/node-esm/{react-root-W6AVTL5M.mjs.map → react-root-JAE2VI2D.mjs.map} +0 -0
  233. /package/dist/lib/node-esm/{settings-ZQHGVFBY.mjs.map → settings-WKLJSP6R.mjs.map} +0 -0
  234. /package/dist/lib/node-esm/{state-FSLLJ5TZ.mjs.map → state-X3W67GTL.mjs.map} +0 -0
@@ -1,85 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ThreadAction
4
- } from "./chunk-BAMZXJS4.mjs";
5
- import "./chunk-OBVAURUU.mjs";
6
-
7
- // src/capabilities/toolkit.ts
8
- import * as Tool from "@effect/ai/Tool";
9
- import * as Toolkit from "@effect/ai/Toolkit";
10
- import * as Array from "effect/Array";
11
- import * as Effect from "effect/Effect";
12
- import * as Function from "effect/Function";
13
- import * as Schema from "effect/Schema";
14
- import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
15
- import { ArtifactId, computeDiffsWithCursors } from "@dxos/assistant";
16
- import { ClientCapabilities } from "@dxos/plugin-client";
17
- import { createDocAccessor } from "@dxos/react-client/echo";
18
- import { trim } from "@dxos/util";
19
- function _define_property(obj, key, value) {
20
- if (key in obj) {
21
- Object.defineProperty(obj, key, {
22
- value,
23
- enumerable: true,
24
- configurable: true,
25
- writable: true
26
- });
27
- } else {
28
- obj[key] = value;
29
- }
30
- return obj;
31
- }
32
- var _Toolkit_make;
33
- var ThreadToolkit = class extends (_Toolkit_make = Toolkit.make(Tool.make("add-proposals", {
34
- description: trim`
35
- Proposes a set of changes to a document.
36
- `,
37
- parameters: {
38
- id: ArtifactId,
39
- diffs: Schema.Array(Schema.String).annotations({
40
- description: "The diffs to propose for the document."
41
- })
42
- },
43
- success: Schema.Any,
44
- failure: Schema.Never
45
- }))) {
46
- };
47
- _define_property(ThreadToolkit, "layer", (context) => ThreadToolkit.toLayer({
48
- "add-proposals": ({ id, diffs: _diffs }) => Effect.gen(function* () {
49
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
50
- const client = context.getCapability(ClientCapabilities.Client);
51
- const state = context.getCapability(Capabilities.Layout);
52
- const dxn = ArtifactId.toDXN(id, state.workspace);
53
- const echoDxn = dxn.asEchoDXN();
54
- if (!echoDxn) {
55
- throw new Error(`Invalid object ID: ${id}`);
56
- }
57
- const space = client.spaces.get(echoDxn.spaceId);
58
- const object = space?.db.getObjectById(echoDxn.echoId);
59
- if (!object) {
60
- throw new Error(`Object not found: ${id}`);
61
- }
62
- const content = yield* Effect.promise(() => object.content.load());
63
- const accessor = createDocAccessor(content, [
64
- "content"
65
- ]);
66
- yield* Function.pipe(computeDiffsWithCursors(accessor, _diffs), Array.map(({ cursor, text }) => createIntent(ThreadAction.AddProposal, {
67
- subject: object,
68
- sender: {
69
- role: "assistant"
70
- },
71
- anchor: cursor,
72
- text
73
- })), Array.map(dispatch), Effect.allWith({
74
- concurrency: "unbounded"
75
- }));
76
- }).pipe(Effect.orDie)
77
- }));
78
- var toolkit_default = ((context) => [
79
- contributes(Capabilities.Toolkit, ThreadToolkit),
80
- contributes(Capabilities.ToolkitHandler, ThreadToolkit.layer(context))
81
- ]);
82
- export {
83
- toolkit_default as default
84
- };
85
- //# sourceMappingURL=toolkit-DHPKJITO.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/toolkit.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { ArtifactId, computeDiffsWithCursors } from '@dxos/assistant';\nimport { type SpaceId } from '@dxos/keys';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { trim } from '@dxos/util';\n\nimport { ThreadAction } from '../types';\n\n// TODO(wittjosiah): How to make this work for more than Documents?\nclass ThreadToolkit extends Toolkit.make(\n Tool.make('add-proposals', {\n description: trim`\n Proposes a set of changes to a document.\n `,\n parameters: {\n id: ArtifactId,\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to propose for the document.',\n }),\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n) {\n static layer = (context: PluginContext) =>\n ThreadToolkit.toLayer({\n 'add-proposals': ({ id, diffs: _diffs }) =>\n Effect.gen(function* () {\n // TODO(wittjosiah): Get capabilities via layers.\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const state = context.getCapability(Capabilities.Layout);\n\n const dxn = ArtifactId.toDXN(id, state.workspace as SpaceId);\n\n const echoDxn = dxn.asEchoDXN();\n if (!echoDxn) {\n throw new Error(`Invalid object ID: ${id}`);\n }\n\n const space = client.spaces.get(echoDxn.spaceId!);\n const object = space?.db.getObjectById<Markdown.Document>(echoDxn.echoId);\n if (!object) {\n throw new Error(`Object not found: ${id}`);\n }\n\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n yield* Function.pipe(\n computeDiffsWithCursors(accessor, _diffs),\n Array.map(({ cursor, text }) =>\n createIntent(ThreadAction.AddProposal, {\n subject: object,\n sender: { role: 'assistant' },\n anchor: cursor,\n text,\n }),\n ),\n Array.map(dispatch),\n Effect.allWith({ concurrency: 'unbounded' }),\n );\n }).pipe(Effect.orDie),\n });\n}\n\nexport default (context: PluginContext) => [\n contributes(Capabilities.Toolkit, ThreadToolkit),\n contributes(Capabilities.ToolkitHandler, ThreadToolkit.layer(context)),\n];\n"],
5
- "mappings": ";;;;;;;AAIA,YAAYA,UAAU;AACtB,YAAYC,aAAa;AACzB,YAAYC,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,cAAkCC,aAAaC,oBAAoB;AAC5E,SAASC,YAAYC,+BAA+B;AAEpD,SAASC,0BAA0B;AAEnC,SAASC,yBAAyB;AAClC,SAASC,YAAY;A;;;;;;;;;;;;;IAKOC;AAA5B,IAAMC,gBAAN,eAA4BD,gBAAQE,aAC7BA,UAAK,iBAAiB;EACzBC,aAAaC;;;EAGbC,YAAY;IACVC,IAAIC;IACJC,OAAcC,aAAaC,aAAM,EAAEC,YAAY;MAC7CR,aAAa;IACf,CAAA;EACF;EACAS,SAAgBC;EAChBC,SAAgBC;AAClB,CAAA,CAAA,GACF;AAwCA;AAvCE,iBAfId,eAeGe,SAAQ,CAACC,YACdhB,cAAciB,QAAQ;EACpB,iBAAiB,CAAC,EAAEZ,IAAIE,OAAOW,OAAM,MAC5BC,WAAI,aAAA;AAET,UAAM,EAAEC,SAAQ,IAAKJ,QAAQK,cAAcC,aAAaC,gBAAgB;AACxE,UAAMC,SAASR,QAAQK,cAAcI,mBAAmBC,MAAM;AAC9D,UAAMC,QAAQX,QAAQK,cAAcC,aAAaM,MAAM;AAEvD,UAAMC,MAAMvB,WAAWwB,MAAMzB,IAAIsB,MAAMI,SAAS;AAEhD,UAAMC,UAAUH,IAAII,UAAS;AAC7B,QAAI,CAACD,SAAS;AACZ,YAAM,IAAIE,MAAM,sBAAsB7B,EAAAA,EAAI;IAC5C;AAEA,UAAM8B,QAAQX,OAAOY,OAAOC,IAAIL,QAAQM,OAAO;AAC/C,UAAMC,SAASJ,OAAOK,GAAGC,cAAiCT,QAAQU,MAAM;AACxE,QAAI,CAACH,QAAQ;AACX,YAAM,IAAIL,MAAM,qBAAqB7B,EAAAA,EAAI;IAC3C;AAEA,UAAMsC,UAAU,OAAcC,eAAQ,MAAML,OAAOI,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AACvD,WAAgBK,cACdC,wBAAwBH,UAAU5B,MAAAA,GAC5BgC,UAAI,CAAC,EAAEC,QAAQC,KAAI,MACvBC,aAAaC,aAAaC,aAAa;MACrCC,SAASjB;MACTkB,QAAQ;QAAEC,MAAM;MAAY;MAC5BC,QAAQR;MACRC;IACF,CAAA,CAAA,GAEIF,UAAI9B,QAAAA,GACHwC,eAAQ;MAAEC,aAAa;IAAY,CAAA,CAAA;EAE9C,CAAA,EAAGb,KAAYc,YAAK;AACxB,CAAA,CAAA;AAGJ,IAAA,mBAAe,CAAC9C,YAA2B;EACzC+C,YAAYzC,aAAavB,SAASC,aAAAA;EAClC+D,YAAYzC,aAAa0C,gBAAgBhE,cAAce,MAAMC,OAAAA,CAAAA;;",
6
- "names": ["Tool", "Toolkit", "Array", "Effect", "Function", "Schema", "Capabilities", "contributes", "createIntent", "ArtifactId", "computeDiffsWithCursors", "ClientCapabilities", "createDocAccessor", "trim", "Toolkit", "ThreadToolkit", "make", "description", "trim", "parameters", "id", "ArtifactId", "diffs", "Array", "String", "annotations", "success", "Any", "failure", "Never", "layer", "context", "toLayer", "_diffs", "gen", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "client", "ClientCapabilities", "Client", "state", "Layout", "dxn", "toDXN", "workspace", "echoDxn", "asEchoDXN", "Error", "space", "spaces", "get", "spaceId", "object", "db", "getObjectById", "echoId", "content", "promise", "load", "accessor", "createDocAccessor", "pipe", "computeDiffsWithCursors", "map", "cursor", "text", "createIntent", "ThreadAction", "AddProposal", "subject", "sender", "role", "anchor", "allWith", "concurrency", "orDie", "contributes", "ToolkitHandler"]
7
- }
@@ -1,6 +0,0 @@
1
- import * as Tool from '@effect/ai/Tool';
2
- import * as Toolkit from '@effect/ai/Toolkit';
3
- import { type PluginContext } from '@dxos/app-framework';
4
- declare const _default: (context: PluginContext) => (import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Toolkit.Any>> | import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("effect/Layer").Layer<Tool.Handler<any>, never, never>>>)[];
5
- export default _default;
6
- //# sourceMappingURL=toolkit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolkit.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/toolkit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAM9C,OAAO,EAAgB,KAAK,aAAa,EAA6B,MAAM,qBAAqB,CAAC;yBAmElF,SAAS,aAAa;AAAtC,wBAGE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGlC,eAAO,MAAM,YAAY,sGAIxB,CAAC;AAEF,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;+BAkBqhe,CAAC;wBAA0C,CAAC;0BAA4C,CAAC;yBAA8F,CAAC;2BAA6C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAdnse,CAAC;AAC1E,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC;CAAG;AAC7E,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,EAAE,KAAK,CAAC,CAChG,CAAC;AAEd,QAAA,MAAM,YAAY;;;;;;;;;;;;;;GAKwD,CAAC;AAC3E,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG;AAC/E,eAAO,MAAM,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,EAAE,KAAK,CAAC,CAClG,CAAC"}
@@ -1,82 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Tool from '@effect/ai/Tool';
6
- import * as Toolkit from '@effect/ai/Toolkit';
7
- import * as Array from 'effect/Array';
8
- import * as Effect from 'effect/Effect';
9
- import * as Function from 'effect/Function';
10
- import * as Schema from 'effect/Schema';
11
-
12
- import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
13
- import { ArtifactId, computeDiffsWithCursors } from '@dxos/assistant';
14
- import { type SpaceId } from '@dxos/keys';
15
- import { ClientCapabilities } from '@dxos/plugin-client';
16
- import { type Markdown } from '@dxos/plugin-markdown/types';
17
- import { createDocAccessor } from '@dxos/react-client/echo';
18
- import { trim } from '@dxos/util';
19
-
20
- import { ThreadAction } from '../types';
21
-
22
- // TODO(wittjosiah): How to make this work for more than Documents?
23
- class ThreadToolkit extends Toolkit.make(
24
- Tool.make('add-proposals', {
25
- description: trim`
26
- Proposes a set of changes to a document.
27
- `,
28
- parameters: {
29
- id: ArtifactId,
30
- diffs: Schema.Array(Schema.String).annotations({
31
- description: 'The diffs to propose for the document.',
32
- }),
33
- },
34
- success: Schema.Any,
35
- failure: Schema.Never,
36
- }),
37
- ) {
38
- static layer = (context: PluginContext) =>
39
- ThreadToolkit.toLayer({
40
- 'add-proposals': ({ id, diffs: _diffs }) =>
41
- Effect.gen(function* () {
42
- // TODO(wittjosiah): Get capabilities via layers.
43
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
44
- const client = context.getCapability(ClientCapabilities.Client);
45
- const state = context.getCapability(Capabilities.Layout);
46
-
47
- const dxn = ArtifactId.toDXN(id, state.workspace as SpaceId);
48
-
49
- const echoDxn = dxn.asEchoDXN();
50
- if (!echoDxn) {
51
- throw new Error(`Invalid object ID: ${id}`);
52
- }
53
-
54
- const space = client.spaces.get(echoDxn.spaceId!);
55
- const object = space?.db.getObjectById<Markdown.Document>(echoDxn.echoId);
56
- if (!object) {
57
- throw new Error(`Object not found: ${id}`);
58
- }
59
-
60
- const content = yield* Effect.promise(() => object.content.load());
61
- const accessor = createDocAccessor(content, ['content']);
62
- yield* Function.pipe(
63
- computeDiffsWithCursors(accessor, _diffs),
64
- Array.map(({ cursor, text }) =>
65
- createIntent(ThreadAction.AddProposal, {
66
- subject: object,
67
- sender: { role: 'assistant' },
68
- anchor: cursor,
69
- text,
70
- }),
71
- ),
72
- Array.map(dispatch),
73
- Effect.allWith({ concurrency: 'unbounded' }),
74
- );
75
- }).pipe(Effect.orDie),
76
- });
77
- }
78
-
79
- export default (context: PluginContext) => [
80
- contributes(Capabilities.Toolkit, ThreadToolkit),
81
- contributes(Capabilities.ToolkitHandler, ThreadToolkit.layer(context)),
82
- ];
@@ -1,33 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Schema from 'effect/Schema';
6
-
7
- import { Type } from '@dxos/echo';
8
- import { DataType } from '@dxos/schema';
9
-
10
- export const ThreadStatus = Schema.Union(
11
- Schema.Literal('staged'),
12
- Schema.Literal('active'),
13
- Schema.Literal('resolved'),
14
- );
15
-
16
- const _ThreadType = Schema.Struct({
17
- name: Schema.optional(Schema.String),
18
- status: Schema.optional(ThreadStatus),
19
- messages: Schema.mutable(Schema.Array(Type.Ref(DataType.Message))),
20
- }).pipe(Type.Obj({ typename: 'dxos.org/type/Thread', version: '0.1.0' }));
21
- export interface ThreadType extends Schema.Schema.Type<typeof _ThreadType> {}
22
- export const ThreadType: Type.obj<Schema.Schema<ThreadType, Schema.Schema.Encoded<typeof _ThreadType>, never>> =
23
- _ThreadType;
24
-
25
- const _ChannelType = Schema.Struct({
26
- name: Schema.optional(Schema.String),
27
- defaultThread: Type.Ref(ThreadType),
28
- // TODO(wittjosiah): Should be an "ordered collection".
29
- threads: Schema.mutable(Schema.Array(Type.Ref(ThreadType))),
30
- }).pipe(Type.Obj({ typename: 'dxos.org/type/Channel', version: '0.1.0' }));
31
- export interface ChannelType extends Schema.Schema.Type<typeof _ChannelType> {}
32
- export const ChannelType: Type.obj<Schema.Schema<ChannelType, Schema.Schema.Encoded<typeof _ChannelType>, never>> =
33
- _ChannelType;