@dxos/plugin-assistant 0.8.2-staging.7ac8446 → 0.8.2

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 (357) hide show
  1. package/dist/lib/browser/AssistantDialog-K6POM23O.mjs +46 -0
  2. package/dist/lib/browser/AssistantDialog-K6POM23O.mjs.map +7 -0
  3. package/dist/lib/browser/ChatContainer-QTO4LE2C.mjs +39 -0
  4. package/dist/lib/browser/ChatContainer-QTO4LE2C.mjs.map +7 -0
  5. package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs +28 -0
  6. package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs.map +7 -0
  7. package/dist/lib/browser/{ai-client-CDZLSNXE.mjs → ai-client-COXVUC6V.mjs} +6 -6
  8. package/dist/lib/browser/ai-client-COXVUC6V.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-YH4EGNBC.mjs +206 -0
  10. package/dist/lib/browser/app-graph-builder-YH4EGNBC.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-TXJWGWJ7.mjs → chunk-3F44MBHU.mjs} +3 -3
  12. package/dist/lib/browser/chunk-3F44MBHU.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-IHEBFO5O.mjs +205 -0
  14. package/dist/lib/browser/chunk-IHEBFO5O.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-JQFUME3B.mjs +87 -0
  16. package/dist/lib/{node-esm/chunk-PBZA7XJR.mjs.map → browser/chunk-JQFUME3B.mjs.map} +1 -1
  17. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs +96 -0
  18. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-FMB7RGMP.mjs → chunk-QTW7KVDO.mjs} +1669 -1515
  20. package/dist/lib/browser/chunk-QTW7KVDO.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-USJBRB3H.mjs +155 -0
  22. package/dist/lib/browser/chunk-USJBRB3H.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-3HCI5FIL.mjs → chunk-XOZ7YMO3.mjs} +3 -3
  24. package/dist/lib/browser/{chunk-3HCI5FIL.mjs.map → chunk-XOZ7YMO3.mjs.map} +1 -1
  25. package/dist/lib/browser/index.mjs +35 -18
  26. package/dist/lib/browser/index.mjs.map +3 -3
  27. package/dist/lib/browser/{intent-resolver-WJGLKKVO.mjs → intent-resolver-63EAHENI.mjs} +10 -14
  28. package/dist/lib/browser/intent-resolver-63EAHENI.mjs.map +7 -0
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/react-surface-XCV6NR75.mjs +131 -0
  31. package/dist/lib/browser/react-surface-XCV6NR75.mjs.map +7 -0
  32. package/dist/lib/browser/{settings-U6UFQX32.mjs → settings-SHNQ4XXP.mjs} +5 -5
  33. package/dist/lib/browser/settings-SHNQ4XXP.mjs.map +7 -0
  34. package/dist/lib/browser/types/index.mjs +6 -2
  35. package/dist/lib/node/AssistantDialog-FDATKYE5.cjs +72 -0
  36. package/dist/lib/node/AssistantDialog-FDATKYE5.cjs.map +7 -0
  37. package/dist/lib/node/{ChatContainer-ZJ5JXF6A.cjs → ChatContainer-5CLHJOIQ.cjs} +25 -19
  38. package/dist/lib/node/ChatContainer-5CLHJOIQ.cjs.map +7 -0
  39. package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs +58 -0
  40. package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs.map +7 -0
  41. package/dist/lib/node/{ai-client-URCCYU6B.cjs → ai-client-R2CGEYZW.cjs} +13 -13
  42. package/dist/lib/node/ai-client-R2CGEYZW.cjs.map +7 -0
  43. package/dist/lib/node/app-graph-builder-PSHIOW3Q.cjs +216 -0
  44. package/dist/lib/node/app-graph-builder-PSHIOW3Q.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-XI2ARIEO.cjs → chunk-4EEWTDQK.cjs} +45 -39
  46. package/dist/lib/node/{chunk-XI2ARIEO.cjs.map → chunk-4EEWTDQK.cjs.map} +1 -1
  47. package/dist/lib/node/chunk-FLJWJ35M.cjs +181 -0
  48. package/dist/lib/node/chunk-FLJWJ35M.cjs.map +7 -0
  49. package/dist/lib/node/{chunk-RPBKMP2E.cjs → chunk-H4A42LNR.cjs} +1504 -1343
  50. package/dist/lib/node/chunk-H4A42LNR.cjs.map +7 -0
  51. package/dist/lib/node/chunk-HRNIUYVQ.cjs +128 -0
  52. package/dist/lib/node/chunk-HRNIUYVQ.cjs.map +7 -0
  53. package/dist/lib/node/{chunk-Q5XWEMHB.cjs → chunk-P74TWGMG.cjs} +6 -6
  54. package/dist/lib/node/{chunk-Q5XWEMHB.cjs.map → chunk-P74TWGMG.cjs.map} +1 -1
  55. package/dist/lib/node/chunk-RXPA2C2A.cjs +230 -0
  56. package/dist/lib/node/chunk-RXPA2C2A.cjs.map +7 -0
  57. package/dist/lib/node/{chunk-GBUNQ257.cjs → chunk-TS3H5OSX.cjs} +7 -7
  58. package/dist/lib/node/chunk-TS3H5OSX.cjs.map +7 -0
  59. package/dist/lib/node/index.cjs +79 -63
  60. package/dist/lib/node/index.cjs.map +3 -3
  61. package/dist/lib/node/{intent-resolver-R3OSTIMH.cjs → intent-resolver-66F7WLW6.cjs} +13 -17
  62. package/dist/lib/node/intent-resolver-66F7WLW6.cjs.map +7 -0
  63. package/dist/lib/node/meta.json +1 -1
  64. package/dist/lib/node/react-surface-TASAPRPQ.cjs +145 -0
  65. package/dist/lib/node/react-surface-TASAPRPQ.cjs.map +7 -0
  66. package/dist/lib/node/{settings-TXGRCYAL.cjs → settings-ERKLO6IO.cjs} +9 -9
  67. package/dist/lib/node/settings-ERKLO6IO.cjs.map +7 -0
  68. package/dist/lib/node/types/index.cjs +17 -13
  69. package/dist/lib/node/types/index.cjs.map +2 -2
  70. package/dist/lib/node-esm/AssistantDialog-PIMYK774.mjs +47 -0
  71. package/dist/lib/node-esm/AssistantDialog-PIMYK774.mjs.map +7 -0
  72. package/dist/lib/node-esm/ChatContainer-QTC5NYE2.mjs +40 -0
  73. package/dist/lib/node-esm/ChatContainer-QTC5NYE2.mjs.map +7 -0
  74. package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs +29 -0
  75. package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs.map +7 -0
  76. package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs → ai-client-I5LXHMOZ.mjs} +6 -6
  77. package/dist/lib/node-esm/ai-client-I5LXHMOZ.mjs.map +7 -0
  78. package/dist/lib/node-esm/app-graph-builder-Z3GMMJMD.mjs +207 -0
  79. package/dist/lib/node-esm/app-graph-builder-Z3GMMJMD.mjs.map +7 -0
  80. package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs → chunk-BB2TAT4P.mjs} +3 -3
  81. package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs.map → chunk-BB2TAT4P.mjs.map} +1 -1
  82. package/dist/lib/node-esm/chunk-CDAILLCU.mjs +98 -0
  83. package/dist/lib/node-esm/chunk-CDAILLCU.mjs.map +7 -0
  84. package/dist/lib/node-esm/{chunk-6JK5HEUQ.mjs → chunk-HLPGKJ7N.mjs} +3 -3
  85. package/dist/lib/node-esm/chunk-HLPGKJ7N.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-PBZA7XJR.mjs → chunk-OYN6HLXZ.mjs} +42 -36
  87. package/dist/lib/{browser/chunk-NFUHCW2J.mjs.map → node-esm/chunk-OYN6HLXZ.mjs.map} +1 -1
  88. package/dist/lib/node-esm/chunk-QU626JMR.mjs +156 -0
  89. package/dist/lib/node-esm/chunk-QU626JMR.mjs.map +7 -0
  90. package/dist/lib/node-esm/{chunk-MVDAY3CZ.mjs → chunk-SI5LOQEO.mjs} +1669 -1515
  91. package/dist/lib/node-esm/chunk-SI5LOQEO.mjs.map +7 -0
  92. package/dist/lib/node-esm/chunk-ZKBACPIW.mjs +206 -0
  93. package/dist/lib/node-esm/chunk-ZKBACPIW.mjs.map +7 -0
  94. package/dist/lib/node-esm/index.mjs +35 -18
  95. package/dist/lib/node-esm/index.mjs.map +3 -3
  96. package/dist/lib/node-esm/{intent-resolver-H32TL4X6.mjs → intent-resolver-X3PWH7KM.mjs} +10 -14
  97. package/dist/lib/node-esm/intent-resolver-X3PWH7KM.mjs.map +7 -0
  98. package/dist/lib/node-esm/meta.json +1 -1
  99. package/dist/lib/node-esm/react-surface-QMIQCXUM.mjs +132 -0
  100. package/dist/lib/node-esm/react-surface-QMIQCXUM.mjs.map +7 -0
  101. package/dist/lib/node-esm/{settings-DZU5PNXM.mjs → settings-IVQRZUCU.mjs} +5 -5
  102. package/dist/lib/node-esm/settings-IVQRZUCU.mjs.map +7 -0
  103. package/dist/lib/node-esm/types/index.mjs +6 -2
  104. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/ai-client.d.ts +3 -3
  106. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  110. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/index.d.ts +3 -179
  112. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  115. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +3 -1
  116. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  117. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  118. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +8 -0
  119. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +1 -0
  120. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts +8 -0
  121. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts.map +1 -0
  122. package/dist/types/src/components/BlueprintEditor/index.d.ts +2 -0
  123. package/dist/types/src/components/BlueprintEditor/index.d.ts.map +1 -0
  124. package/dist/types/src/components/ChatContainer.d.ts +4 -3
  125. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  126. package/dist/types/src/components/Prompt/Prompt.d.ts +5 -2
  127. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
  128. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +6 -3
  129. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/Prompt/PromptBar.d.ts +9 -4
  131. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  132. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts +9 -0
  133. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts.map +1 -0
  134. package/dist/types/src/components/Prompt/autocomplete.d.ts +5 -1
  135. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -1
  136. package/dist/types/src/components/Prompt/references.d.ts.map +1 -1
  137. package/dist/types/src/components/PromptSettings.d.ts +6 -0
  138. package/dist/types/src/components/PromptSettings.d.ts.map +1 -0
  139. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  140. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  141. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  142. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
  143. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  144. package/dist/types/src/components/Thread/Thread.d.ts +2 -2
  145. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  146. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -1
  148. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  149. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  150. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  151. package/dist/types/src/components/Thread/ThreadMessage.d.ts +4 -2
  152. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
  153. package/dist/types/src/components/Thread/ToolInvocations.d.ts +1 -1
  154. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -1
  155. package/dist/types/src/components/Thread/reducer.d.ts +1 -1
  156. package/dist/types/src/components/Thread/reducer.d.ts.map +1 -1
  157. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -2
  158. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  159. package/dist/types/src/components/index.d.ts +4 -6
  160. package/dist/types/src/components/index.d.ts.map +1 -1
  161. package/dist/types/src/experimental/transcription/index.d.ts +1 -0
  162. package/dist/types/src/experimental/transcription/index.d.ts.map +1 -0
  163. package/dist/types/src/hooks/index.d.ts +0 -1
  164. package/dist/types/src/hooks/index.d.ts.map +1 -1
  165. package/dist/types/src/hooks/processor.d.ts +6 -5
  166. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  167. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  168. package/dist/types/src/hooks/useContextProvider.d.ts +1 -1
  169. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
  170. package/dist/types/src/hooks/useMessageQueue.d.ts +11 -10
  171. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  172. package/dist/types/src/hooks/useServices.d.ts.map +1 -1
  173. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -1
  174. package/dist/types/src/parser/filter-generator.d.ts +4 -0
  175. package/dist/types/src/parser/filter-generator.d.ts.map +1 -0
  176. package/dist/types/src/parser/filter-generator.test.d.ts +2 -0
  177. package/dist/types/src/parser/filter-generator.test.d.ts.map +1 -0
  178. package/dist/types/src/parser/index.d.ts +4 -0
  179. package/dist/types/src/parser/index.d.ts.map +1 -0
  180. package/dist/types/src/parser/query-parser.d.ts +15 -0
  181. package/dist/types/src/parser/query-parser.d.ts.map +1 -0
  182. package/dist/types/src/parser/query-parser.test.d.ts +2 -0
  183. package/dist/types/src/parser/query-parser.test.d.ts.map +1 -0
  184. package/dist/types/src/parser/types.d.ts +24 -0
  185. package/dist/types/src/parser/types.d.ts.map +1 -0
  186. package/dist/types/src/stories/Prompt.stories.d.ts +8 -0
  187. package/dist/types/src/stories/Prompt.stories.d.ts.map +1 -0
  188. package/dist/types/src/stories/Query.stories.d.ts +19 -0
  189. package/dist/types/src/stories/Query.stories.d.ts.map +1 -0
  190. package/dist/types/src/stories/Research.stories.d.ts +15 -0
  191. package/dist/types/src/stories/Research.stories.d.ts.map +1 -0
  192. package/dist/types/src/stories/test-data.d.ts +3 -0
  193. package/dist/types/src/stories/test-data.d.ts.map +1 -0
  194. package/dist/types/src/stories/testing.d.ts +12 -0
  195. package/dist/types/src/stories/testing.d.ts.map +1 -0
  196. package/dist/types/src/testing/blueprint.d.ts +7 -0
  197. package/dist/types/src/testing/blueprint.d.ts.map +1 -0
  198. package/dist/types/src/testing/index.d.ts +1 -0
  199. package/dist/types/src/testing/index.d.ts.map +1 -1
  200. package/dist/types/src/testing/test-functions.d.ts +1 -1
  201. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  202. package/dist/types/src/tools/function.d.ts +4 -4
  203. package/dist/types/src/tools/function.d.ts.map +1 -1
  204. package/dist/types/src/tools/openapi.d.ts +3 -3
  205. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  206. package/dist/types/src/translations.d.ts +6 -0
  207. package/dist/types/src/translations.d.ts.map +1 -1
  208. package/dist/types/src/types/chat.d.ts +18 -8
  209. package/dist/types/src/types/chat.d.ts.map +1 -1
  210. package/dist/types/src/types/service.d.ts +96 -95
  211. package/dist/types/src/types/service.d.ts.map +1 -1
  212. package/dist/types/src/types/template.d.ts +52 -52
  213. package/dist/types/src/types/template.d.ts.map +1 -1
  214. package/dist/types/src/types/types.d.ts +25 -20
  215. package/dist/types/src/types/types.d.ts.map +1 -1
  216. package/dist/types/tsconfig.tsbuildinfo +1 -1
  217. package/package.json +79 -61
  218. package/src/AssistantPlugin.tsx +7 -6
  219. package/src/capabilities/ai-client.ts +5 -6
  220. package/src/capabilities/app-graph-builder.ts +173 -135
  221. package/src/capabilities/capabilities.ts +1 -1
  222. package/src/capabilities/index.ts +1 -1
  223. package/src/capabilities/intent-resolver.ts +7 -9
  224. package/src/capabilities/react-surface.tsx +63 -16
  225. package/src/capabilities/settings.ts +2 -2
  226. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +2 -2
  227. package/src/components/AmbientDialog/AmbientDialog.tsx +27 -13
  228. package/src/components/AssistantDialog.tsx +1 -1
  229. package/src/components/AssistantSettings/AssistantSettings.tsx +29 -7
  230. package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +32 -0
  231. package/src/components/BlueprintEditor/BlueprintEditor.tsx +41 -0
  232. package/src/components/BlueprintEditor/index.ts +5 -0
  233. package/src/components/ChatContainer.tsx +6 -8
  234. package/src/components/Prompt/Prompt.stories.tsx +59 -52
  235. package/src/components/Prompt/Prompt.tsx +24 -10
  236. package/src/components/Prompt/PromptBar.stories.tsx +68 -0
  237. package/src/components/Prompt/PromptBar.tsx +82 -88
  238. package/src/components/Prompt/autocomplete.ts +14 -8
  239. package/src/components/Prompt/references.ts +3 -3
  240. package/src/components/PromptSettings.tsx +91 -0
  241. package/src/components/TemplateContainer.tsx +3 -79
  242. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +4 -4
  243. package/src/components/TemplateEditor/TemplateForm.stories.tsx +3 -3
  244. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  245. package/src/components/Thread/Thread.stories.tsx +14 -17
  246. package/src/components/Thread/Thread.tsx +2 -2
  247. package/src/components/Thread/ThreadContainer.stories.tsx +83 -62
  248. package/src/components/Thread/ThreadContainer.tsx +26 -5
  249. package/src/components/Thread/ThreadMessage.tsx +49 -11
  250. package/src/components/Thread/ToolInvocations.tsx +9 -7
  251. package/src/components/Thread/reducer.ts +1 -1
  252. package/src/components/Toolbox/Toolbox.stories.tsx +4 -4
  253. package/src/components/Toolbox/Toolbox.tsx +5 -4
  254. package/src/components/index.ts +3 -1
  255. package/src/experimental/transcription/index.ts +3 -0
  256. package/src/hooks/index.ts +0 -1
  257. package/src/hooks/processor.ts +68 -8
  258. package/src/hooks/useChatProcessor.tsx +12 -11
  259. package/src/hooks/useContextProvider.ts +21 -17
  260. package/src/hooks/useMessageQueue.ts +5 -5
  261. package/src/meta.ts +2 -2
  262. package/src/parser/filter-generator.test.ts +32 -0
  263. package/src/parser/filter-generator.ts +81 -0
  264. package/src/parser/index.ts +7 -0
  265. package/src/parser/query-parser.test.ts +139 -0
  266. package/src/parser/query-parser.ts +199 -0
  267. package/src/parser/types.ts +34 -0
  268. package/src/shims.d.ts +8 -0
  269. package/src/stories/Prompt.stories.tsx +59 -0
  270. package/src/stories/Query.stories.tsx +448 -0
  271. package/src/stories/Research.stories.tsx +495 -0
  272. package/src/stories/test-data.ts +128 -0
  273. package/src/stories/testing.ts +64 -0
  274. package/src/testing/blueprint.ts +47 -0
  275. package/src/testing/index.ts +1 -0
  276. package/src/testing/test-functions.ts +1 -1
  277. package/src/testing/test-services.ts +6 -6
  278. package/src/tools/function.ts +11 -12
  279. package/src/tools/openapi.test.ts +18 -19
  280. package/src/tools/openapi.ts +24 -17
  281. package/src/translations.ts +9 -6
  282. package/src/types/chat.ts +27 -4
  283. package/src/types/service.ts +39 -37
  284. package/src/types/template.ts +27 -25
  285. package/src/types/types.ts +22 -17
  286. package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs +0 -117
  287. package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs.map +0 -7
  288. package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs +0 -33
  289. package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +0 -7
  290. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +0 -78
  291. package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +0 -7
  292. package/dist/lib/browser/ai-client-CDZLSNXE.mjs.map +0 -7
  293. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs +0 -209
  294. package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-FMB7RGMP.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-IAMR2FAE.mjs +0 -183
  297. package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-KYMKVE6M.mjs +0 -128
  299. package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +0 -7
  300. package/dist/lib/browser/chunk-NFUHCW2J.mjs +0 -81
  301. package/dist/lib/browser/chunk-TXJWGWJ7.mjs.map +0 -7
  302. package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs.map +0 -7
  303. package/dist/lib/browser/react-surface-57VRDOQT.mjs +0 -90
  304. package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +0 -7
  305. package/dist/lib/browser/settings-U6UFQX32.mjs.map +0 -7
  306. package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs +0 -141
  307. package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs.map +0 -7
  308. package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +0 -7
  309. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +0 -104
  310. package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +0 -7
  311. package/dist/lib/node/ai-client-URCCYU6B.cjs.map +0 -7
  312. package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs +0 -220
  313. package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +0 -7
  314. package/dist/lib/node/chunk-APRU3QWK.cjs +0 -206
  315. package/dist/lib/node/chunk-APRU3QWK.cjs.map +0 -7
  316. package/dist/lib/node/chunk-GBUNQ257.cjs.map +0 -7
  317. package/dist/lib/node/chunk-RPBKMP2E.cjs.map +0 -7
  318. package/dist/lib/node/chunk-ZKOC4ZFY.cjs +0 -152
  319. package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +0 -7
  320. package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +0 -7
  321. package/dist/lib/node/react-surface-NUQTM6MS.cjs +0 -106
  322. package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +0 -7
  323. package/dist/lib/node/settings-TXGRCYAL.cjs.map +0 -7
  324. package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs +0 -118
  325. package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs.map +0 -7
  326. package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs +0 -34
  327. package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +0 -7
  328. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +0 -79
  329. package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +0 -7
  330. package/dist/lib/node-esm/ai-client-WMHS5EGV.mjs.map +0 -7
  331. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs +0 -210
  332. package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +0 -7
  333. package/dist/lib/node-esm/chunk-6JK5HEUQ.mjs.map +0 -7
  334. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs +0 -129
  335. package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +0 -7
  336. package/dist/lib/node-esm/chunk-MVDAY3CZ.mjs.map +0 -7
  337. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +0 -184
  338. package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +0 -7
  339. package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs.map +0 -7
  340. package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs +0 -91
  341. package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +0 -7
  342. package/dist/lib/node-esm/settings-DZU5PNXM.mjs.map +0 -7
  343. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  344. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  345. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  346. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  347. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  348. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  349. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  350. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  351. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  352. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  353. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  354. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
  355. package/src/components/ServiceRegistry/index.ts +0 -5
  356. package/src/hooks/invocation-handler.ts +0 -107
  357. package/src/hooks/useLocalTriggerManager.ts +0 -82
@@ -27,14 +27,20 @@ export type AutocompleteOptions = {
27
27
  * @returns Array of suggestion strings
28
28
  */
29
29
  onSuggest?: (text: string) => string[];
30
+
31
+ /**
32
+ * ESC pressed.
33
+ */
34
+ onCancel?: () => void;
30
35
  };
31
36
 
32
37
  /**
33
38
  * Creates an autocomplete extension that shows inline suggestions.
34
39
  * Pressing Tab will complete the suggestion.
35
40
  */
36
- export const createAutocompleteExtension = ({ onSubmit, onSuggest }: AutocompleteOptions): Extension => {
37
- const suggestionPlugin = ViewPlugin.fromClass(
41
+ // TODO(burdon): Move to react-ui-editor.
42
+ export const autocompleteExtension = ({ onSubmit, onSuggest, onCancel }: AutocompleteOptions): Extension => {
43
+ const suggest = ViewPlugin.fromClass(
38
44
  class {
39
45
  _decorations: DecorationSet;
40
46
  _currentSuggestion: string | null = null;
@@ -103,21 +109,20 @@ export const createAutocompleteExtension = ({ onSubmit, onSuggest }: Autocomplet
103
109
  );
104
110
 
105
111
  return [
106
- suggestionPlugin,
112
+ suggest,
107
113
  EditorView.theme({
108
114
  '.cm-inline-suggestion': {
109
115
  opacity: 0.4,
110
116
  },
111
117
  }),
112
118
 
113
- // Accept the current suggestion.
114
119
  Prec.highest(
115
120
  keymap.of([
116
121
  {
117
122
  key: 'Tab',
118
123
  preventDefault: true,
119
124
  run: (view) => {
120
- const plugin = view.plugin(suggestionPlugin);
125
+ const plugin = view.plugin(suggest);
121
126
  return plugin?.completeSuggestion(view) ?? false;
122
127
  },
123
128
  },
@@ -130,7 +135,7 @@ export const createAutocompleteExtension = ({ onSubmit, onSuggest }: Autocomplet
130
135
  return false;
131
136
  }
132
137
 
133
- const plugin = view.plugin(suggestionPlugin);
138
+ const plugin = view.plugin(suggest);
134
139
  return plugin?.completeSuggestion(view) ?? false;
135
140
  },
136
141
  },
@@ -186,6 +191,7 @@ export const createAutocompleteExtension = ({ onSubmit, onSuggest }: Autocomplet
186
191
  insert: '',
187
192
  },
188
193
  });
194
+ onCancel?.();
189
195
  return true;
190
196
  },
191
197
  },
@@ -199,14 +205,14 @@ class InlineSuggestionWidget extends WidgetType {
199
205
  super();
200
206
  }
201
207
 
202
- override toDOM() {
208
+ override toDOM(): HTMLSpanElement {
203
209
  const span = document.createElement('span');
204
210
  span.textContent = this.suffix;
205
211
  span.className = 'cm-inline-suggestion';
206
212
  return span;
207
213
  }
208
214
 
209
- override eq(other: InlineSuggestionWidget) {
215
+ override eq(other: InlineSuggestionWidget): boolean {
210
216
  return other.suffix === this.suffix;
211
217
  }
212
218
  }
@@ -163,18 +163,18 @@ class ReferenceWidget extends WidgetType {
163
163
  super();
164
164
  }
165
165
 
166
- override toDOM() {
166
+ override toDOM(): HTMLSpanElement {
167
167
  const span = document.createElement('span');
168
168
  span.textContent = `@ ${this.data.label}`;
169
169
  span.className = 'cm-reference-pill';
170
170
  return span;
171
171
  }
172
172
 
173
- override eq(other: ReferenceWidget) {
173
+ override eq(other: ReferenceWidget): boolean {
174
174
  return other.data.uri === this.data.uri;
175
175
  }
176
176
 
177
- override ignoreEvent() {
177
+ override ignoreEvent(): boolean {
178
178
  return true;
179
179
  }
180
180
  }
@@ -0,0 +1,91 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Match, type Schema } from 'effect';
6
+ import React, { type ChangeEvent, useCallback } from 'react';
7
+
8
+ import { debounce } from '@dxos/async';
9
+ import { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';
10
+
11
+ import { ASSISTANT_PLUGIN } from '../meta';
12
+ import { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';
13
+
14
+ export const PromptSettings = ({ template }: { template: TemplateType }) => {
15
+ const { t } = useTranslation(ASSISTANT_PLUGIN);
16
+
17
+ const handleKindChange = useCallback(
18
+ (value: string) => {
19
+ const kind = Match.type<string>().pipe(
20
+ Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),
21
+ Match.when('always', () => ({ include: 'always' })),
22
+ Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),
23
+ Match.when('automatically', () => ({ include: 'automatically', description: '' })),
24
+ Match.orElse(() => ({ include: 'manual' })),
25
+ )(value);
26
+
27
+ template.kind = kind;
28
+ },
29
+ [template],
30
+ );
31
+
32
+ const handleTypenameChange = useCallback(
33
+ debounce((event: ChangeEvent<HTMLInputElement>) => {
34
+ if (template.kind.include === 'schema-matching') {
35
+ template.kind.typename = event.target.value;
36
+ }
37
+ }, 300),
38
+ [template.kind.include],
39
+ );
40
+
41
+ const handleDescriptionChange = useCallback(
42
+ debounce((event: ChangeEvent<HTMLInputElement>) => {
43
+ if (template.kind.include === 'automatically') {
44
+ template.kind.description = event.target.value;
45
+ }
46
+ }, 300),
47
+ [template.kind.include],
48
+ );
49
+
50
+ return (
51
+ <div className='p-2 flex flex-col gap-4'>
52
+ <h2>{t('prompt rules label')}</h2>
53
+ <Toolbar.Root>
54
+ <Select.Root value={template.kind.include} onValueChange={handleKindChange}>
55
+ <Toolbar.Button asChild>
56
+ <Select.TriggerButton />
57
+ </Toolbar.Button>
58
+ <Select.Portal>
59
+ <Select.Content>
60
+ <Select.Viewport>
61
+ {TemplateKinds.map((kind) => (
62
+ <Select.Option key={kind} value={kind}>
63
+ {kind}
64
+ </Select.Option>
65
+ ))}
66
+ </Select.Viewport>
67
+ </Select.Content>
68
+ </Select.Portal>
69
+ </Select.Root>
70
+ {template.kind.include === 'schema-matching' && (
71
+ <Input.Root>
72
+ <Input.TextInput
73
+ placeholder={t('typename placeholder')}
74
+ defaultValue={template.kind.typename}
75
+ onChange={handleTypenameChange}
76
+ />
77
+ </Input.Root>
78
+ )}
79
+ {template.kind.include === 'automatically' && (
80
+ <Input.Root>
81
+ <Input.TextInput
82
+ placeholder={t('description placeholder')}
83
+ defaultValue={template.kind.description}
84
+ onChange={handleDescriptionChange}
85
+ />
86
+ </Input.Root>
87
+ )}
88
+ </Toolbar.Root>
89
+ </div>
90
+ );
91
+ };
@@ -2,92 +2,16 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Match, type Schema as S } from 'effect';
6
- import React, { type ChangeEvent, useCallback } from 'react';
5
+ import React from 'react';
7
6
 
8
- import { debounce } from '@dxos/async';
9
- import { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';
10
7
  import { StackItem } from '@dxos/react-ui-stack';
11
8
 
12
9
  import { TemplateEditor } from './TemplateEditor';
13
- import { ASSISTANT_PLUGIN } from '../meta';
14
- import { TemplateKinds, type TemplateKindSchema, type TemplateType } from '../types';
10
+ import { type TemplateType } from '../types';
15
11
 
16
12
  export const TemplateContainer = ({ template, role }: { template: TemplateType; role: string }) => {
17
- const { t } = useTranslation(ASSISTANT_PLUGIN);
18
-
19
- const handleKindChange = useCallback(
20
- (value: string) => {
21
- const kind = Match.type<string>().pipe(
22
- Match.withReturnType<S.Schema.Type<typeof TemplateKindSchema>>(),
23
- Match.when('always', () => ({ include: 'always' })),
24
- Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),
25
- Match.when('automatically', () => ({ include: 'automatically', description: '' })),
26
- Match.orElse(() => ({ include: 'manual' })),
27
- )(value);
28
-
29
- template.kind = kind;
30
- },
31
- [template],
32
- );
33
-
34
- const handleTypenameChange = useCallback(
35
- debounce((event: ChangeEvent<HTMLInputElement>) => {
36
- if (template.kind.include === 'schema-matching') {
37
- template.kind.typename = event.target.value;
38
- }
39
- }, 300),
40
- [template.kind.include],
41
- );
42
-
43
- const handleDescriptionChange = useCallback(
44
- debounce((event: ChangeEvent<HTMLInputElement>) => {
45
- if (template.kind.include === 'automatically') {
46
- template.kind.description = event.target.value;
47
- }
48
- }, 300),
49
- [template.kind.include],
50
- );
51
-
52
13
  return (
53
- <StackItem.Content role={role} toolbar classNames='container-max-width'>
54
- {/* TODO(wittjosiah): Move this toolbar into c11y sidebar. */}
55
- <Toolbar.Root>
56
- <Select.Root value={template.kind.include} onValueChange={handleKindChange}>
57
- <Toolbar.Button asChild>
58
- <Select.TriggerButton />
59
- </Toolbar.Button>
60
- <Select.Portal>
61
- <Select.Content>
62
- <Select.Viewport>
63
- {TemplateKinds.map((kind) => (
64
- <Select.Option key={kind} value={kind}>
65
- {kind}
66
- </Select.Option>
67
- ))}
68
- </Select.Viewport>
69
- </Select.Content>
70
- </Select.Portal>
71
- </Select.Root>
72
- {template.kind.include === 'schema-matching' && (
73
- <Input.Root>
74
- <Input.TextInput
75
- placeholder={t('typename placeholder')}
76
- defaultValue={template.kind.typename}
77
- onChange={handleTypenameChange}
78
- />
79
- </Input.Root>
80
- )}
81
- {template.kind.include === 'automatically' && (
82
- <Input.Root>
83
- <Input.TextInput
84
- placeholder={t('description placeholder')}
85
- defaultValue={template.kind.description}
86
- onChange={handleDescriptionChange}
87
- />
88
- </Input.Root>
89
- )}
90
- </Toolbar.Root>
14
+ <StackItem.Content role={role} classNames='container-max-width'>
91
15
  <TemplateEditor template={template} />
92
16
  </StackItem.Content>
93
17
  );
@@ -8,7 +8,7 @@ import { type Meta } from '@storybook/react';
8
8
  import React, { useState } from 'react';
9
9
 
10
10
  import { createSystemPrompt } from '@dxos/artifact';
11
- import { create } from '@dxos/live-object';
11
+ import { live } from '@dxos/live-object';
12
12
  import { useClient } from '@dxos/react-client';
13
13
  import { withClientProvider } from '@dxos/react-client/testing';
14
14
  import { withLayout, withTheme } from '@dxos/storybook-utils';
@@ -38,18 +38,18 @@ const DefaultStory = ({ text }: TemplateEditorProps & { text: string }) => {
38
38
  const client = useClient();
39
39
  const [template] = useState(() => {
40
40
  const space = client.spaces.default;
41
- return space.db.add(create(TemplateType, { source: text, kind: { include: 'manual' } }));
41
+ return space.db.add(live(TemplateType, { source: text, kind: { include: 'manual' } }));
42
42
  });
43
43
 
44
44
  return (
45
- <div role='none' className='flex w-[40rem] border border-separator overflow-hidden'>
45
+ <div role='none' className='flex w-[50rem] overflow-hidden border-x border-separator'>
46
46
  <TemplateEditor template={template} />
47
47
  </div>
48
48
  );
49
49
  };
50
50
 
51
51
  const meta: Meta<typeof DefaultStory> = {
52
- title: 'plugins/plugin-automation/TemplateEditor',
52
+ title: 'plugins/plugin-assistant/TemplateEditor',
53
53
  component: TemplateEditor,
54
54
  render: DefaultStory,
55
55
  decorators: [
@@ -7,7 +7,7 @@ import '@dxos-theme';
7
7
  import { type Meta } from '@storybook/react';
8
8
  import React, { useState } from 'react';
9
9
 
10
- import { create } from '@dxos/live-object';
10
+ import { live } from '@dxos/live-object';
11
11
  import { useClient } from '@dxos/react-client';
12
12
  import { withClientProvider } from '@dxos/react-client/testing';
13
13
  import { withLayout, withTheme } from '@dxos/storybook-utils';
@@ -30,7 +30,7 @@ const DefaultStory = () => {
30
30
  const client = useClient();
31
31
  const [template] = useState(() => {
32
32
  const space = client.spaces.default;
33
- return space.db.add(create(TemplateType, { source: TEMPLATE, kind: { include: 'manual' } }));
33
+ return space.db.add(live(TemplateType, { source: TEMPLATE, kind: { include: 'manual' } }));
34
34
  });
35
35
 
36
36
  return (
@@ -41,7 +41,7 @@ const DefaultStory = () => {
41
41
  };
42
42
 
43
43
  const meta: Meta<typeof TemplateForm> = {
44
- title: 'plugins/plugin-automation/TemplateForm',
44
+ title: 'plugins/plugin-assistant/TemplateForm',
45
45
  component: TemplateForm,
46
46
  render: DefaultStory,
47
47
  decorators: [
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Schema as S } from 'effect';
5
+ import { type Schema } from 'effect';
6
6
  import React, { Fragment, useEffect } from 'react';
7
7
 
8
8
  import { Input, Select, useTranslation } from '@dxos/react-ui';
@@ -15,7 +15,7 @@ import { type TemplateInput, TemplateInputType, type TemplateType } from '../../
15
15
 
16
16
  export type TemplateFormProps = {
17
17
  template: TemplateType;
18
- schema?: S.Schema<any, any, any>;
18
+ schema?: Schema.Schema<any, any, any>;
19
19
  commandEditable?: boolean;
20
20
  };
21
21
 
@@ -7,10 +7,10 @@ import '@dxos-theme';
7
7
  import { type StoryObj, type Meta } from '@storybook/react';
8
8
  import React, { useCallback, useEffect, useState } from 'react';
9
9
 
10
+ import { type Message } from '@dxos/ai';
10
11
  import { IntentPlugin } from '@dxos/app-framework';
11
12
  import { withPluginManager } from '@dxos/app-framework/testing';
12
- import { type Message } from '@dxos/artifact';
13
- import { ObjectId } from '@dxos/echo-schema';
13
+ import { Type } from '@dxos/echo';
14
14
  import { faker } from '@dxos/random';
15
15
  import { withClientProvider } from '@dxos/react-client/testing';
16
16
  import { withLayout, withSignals, withTheme } from '@dxos/storybook-utils';
@@ -29,9 +29,9 @@ const DefaultStory = ({ messages: _messages, ...props }: ThreadProps) => {
29
29
 
30
30
  const handleSubmit = useCallback(
31
31
  (text: string) => {
32
- const request: Message = { id: ObjectId.random(), role: 'user', content: [{ type: 'text', text }] };
32
+ const request: Message = { id: Type.ObjectId.random(), role: 'user', content: [{ type: 'text', text }] };
33
33
  const response: Message = {
34
- id: ObjectId.random(),
34
+ id: Type.ObjectId.random(),
35
35
  role: 'assistant',
36
36
  content: [{ type: 'text', disposition: 'cot', pending: true, text: faker.lorem.paragraphs(1) }],
37
37
  };
@@ -44,7 +44,7 @@ const DefaultStory = ({ messages: _messages, ...props }: ThreadProps) => {
44
44
  request,
45
45
  response,
46
46
  {
47
- id: ObjectId.random(),
47
+ id: Type.ObjectId.random(),
48
48
  role: 'assistant',
49
49
  content: [{ type: 'text', text: faker.lorem.paragraphs(1) }],
50
50
  },
@@ -69,18 +69,15 @@ const DefaultStory = ({ messages: _messages, ...props }: ThreadProps) => {
69
69
  };
70
70
 
71
71
  const meta: Meta<ThreadProps> = {
72
- title: 'plugins/plugin-automation/Thread',
72
+ title: 'plugins/plugin-assistant/Thread',
73
73
  render: DefaultStory,
74
74
  component: Thread,
75
75
  decorators: [
76
76
  withSignals,
77
- withClientProvider({
78
- createIdentity: true,
79
- createSpace: true,
80
- }),
77
+ withClientProvider({ createIdentity: true, createSpace: true }),
81
78
  withPluginManager({ plugins: [IntentPlugin()] }),
82
79
  withTheme,
83
- withLayout({ fullscreen: true, tooltips: true, classNames: 'flex justify-center' }),
80
+ withLayout({ fullscreen: true, classNames: 'flex justify-center' }),
84
81
  ],
85
82
  parameters: {
86
83
  translations,
@@ -93,7 +90,7 @@ type Story = StoryObj<ThreadProps>;
93
90
 
94
91
  const TEST_MESSAGES: Message[] = [
95
92
  {
96
- id: ObjectId.random(),
93
+ id: Type.ObjectId.random(),
97
94
  role: 'user',
98
95
  content: [
99
96
  {
@@ -103,7 +100,7 @@ const TEST_MESSAGES: Message[] = [
103
100
  ],
104
101
  },
105
102
  {
106
- id: ObjectId.random(),
103
+ id: Type.ObjectId.random(),
107
104
  role: 'assistant',
108
105
  content: [
109
106
  {
@@ -128,7 +125,7 @@ const TEST_MESSAGES: Message[] = [
128
125
  ],
129
126
  },
130
127
  {
131
- id: ObjectId.random(),
128
+ id: Type.ObjectId.random(),
132
129
  role: 'user',
133
130
  content: [
134
131
  {
@@ -139,7 +136,7 @@ const TEST_MESSAGES: Message[] = [
139
136
  ],
140
137
  },
141
138
  {
142
- id: ObjectId.random(),
139
+ id: Type.ObjectId.random(),
143
140
  role: 'assistant',
144
141
  content: [
145
142
  {
@@ -151,7 +148,7 @@ const TEST_MESSAGES: Message[] = [
151
148
  ],
152
149
  },
153
150
  {
154
- id: ObjectId.random(),
151
+ id: Type.ObjectId.random(),
155
152
  role: 'user',
156
153
  content: [
157
154
  {
@@ -162,7 +159,7 @@ const TEST_MESSAGES: Message[] = [
162
159
  ],
163
160
  },
164
161
  {
165
- id: ObjectId.random(),
162
+ id: Type.ObjectId.random(),
166
163
  role: 'assistant',
167
164
  content: [
168
165
  {
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { type CSSProperties, useCallback, useMemo, useRef } from 'react';
6
6
 
7
- import { type Message } from '@dxos/artifact';
7
+ import { type Message } from '@dxos/ai';
8
8
  import { type Space } from '@dxos/react-client/echo';
9
9
  import { useIdentity } from '@dxos/react-client/halo';
10
10
  import { type ThemedClassName } from '@dxos/react-ui';
@@ -32,7 +32,7 @@ export type ThreadProps = ThemedClassName<{
32
32
  contextProvider?: ContextProvider;
33
33
  }> &
34
34
  Pick<PromptBarProps, 'processing' | 'error' | 'onSubmit' | 'onSuggest' | 'onCancel'> &
35
- Pick<ThreadMessageProps, 'debug' | 'tools' | 'onPrompt' | 'onDelete'>;
35
+ Pick<ThreadMessageProps, 'debug' | 'tools' | 'onPrompt' | 'onDelete' | 'onAddToGraph'>;
36
36
 
37
37
  /**
38
38
  * Chat thread component.