@dxos/plugin-assistant 0.8.0 → 0.8.1-main.81238a8

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/{AssistantDialog-TX6YYBUG.mjs → AssistantDialog-L5RHNMU4.mjs} +6 -5
  2. package/dist/lib/browser/{AssistantDialog-TX6YYBUG.mjs.map → AssistantDialog-L5RHNMU4.mjs.map} +3 -3
  3. package/dist/lib/browser/{ChatContainer-AT3OAUT3.mjs → ChatContainer-EEEVE62F.mjs} +5 -5
  4. package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs +78 -0
  5. package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs.map +7 -0
  6. package/dist/lib/browser/ai-client-BAPVMSNX.mjs +35 -0
  7. package/dist/lib/browser/ai-client-BAPVMSNX.mjs.map +7 -0
  8. package/dist/lib/browser/{app-graph-builder-AXAIFOGV.mjs → app-graph-builder-DTCUWBKB.mjs} +57 -13
  9. package/dist/lib/browser/app-graph-builder-DTCUWBKB.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-G7B54APW.mjs → chunk-5RMJYOT7.mjs} +34 -12
  11. package/dist/lib/browser/chunk-5RMJYOT7.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-EUMPBC4T.mjs → chunk-6FTPLBSC.mjs} +2 -2
  13. package/dist/lib/browser/{chunk-NV7SVHMV.mjs → chunk-AF7VQAKS.mjs} +1 -1
  14. package/dist/lib/browser/{chunk-NV7SVHMV.mjs.map → chunk-AF7VQAKS.mjs.map} +2 -2
  15. package/dist/lib/browser/{chunk-VZ4W6SHE.mjs → chunk-SVUCJXGN.mjs} +2 -2
  16. package/dist/lib/browser/chunk-SVUCJXGN.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-FRIKXDDQ.mjs → chunk-X6ALDUA5.mjs} +26 -4
  18. package/dist/lib/browser/chunk-X6ALDUA5.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-NFVIZS3B.mjs → chunk-XFUCWOMV.mjs} +287 -70
  20. package/dist/lib/browser/chunk-XFUCWOMV.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +21 -11
  22. package/dist/lib/browser/index.mjs.map +3 -3
  23. package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs → intent-resolver-U57FXP3I.mjs} +6 -3
  24. package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs.map → intent-resolver-U57FXP3I.mjs.map} +3 -3
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/{react-surface-JLXNWOI6.mjs → react-surface-KFLHNDNR.mjs} +10 -9
  27. package/dist/lib/browser/react-surface-KFLHNDNR.mjs.map +7 -0
  28. package/dist/lib/browser/{settings-JTT62IHD.mjs → settings-VAW6UWFL.mjs} +3 -3
  29. package/dist/lib/browser/types/index.mjs +6 -2
  30. package/dist/lib/node/{AssistantDialog-U4GBPZD6.cjs → AssistantDialog-VIB7GPQN.cjs} +12 -11
  31. package/dist/lib/node/{AssistantDialog-U4GBPZD6.cjs.map → AssistantDialog-VIB7GPQN.cjs.map} +3 -3
  32. package/dist/lib/node/{ChatContainer-CVHXNHGA.cjs → ChatContainer-BPI3GEZS.cjs} +10 -10
  33. package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs +104 -0
  34. package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs.map +7 -0
  35. package/dist/lib/node/{ai-client-YANJEPO3.cjs → ai-client-5ESLYXAV.cjs} +19 -8
  36. package/dist/lib/node/ai-client-5ESLYXAV.cjs.map +7 -0
  37. package/dist/lib/node/{app-graph-builder-D7SHQTZS.cjs → app-graph-builder-3P6WSON2.cjs} +63 -20
  38. package/dist/lib/node/app-graph-builder-3P6WSON2.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-37GI4NYH.cjs → chunk-KLSNCP34.cjs} +33 -9
  40. package/dist/lib/node/chunk-KLSNCP34.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-NV4TQQSU.cjs → chunk-N3SW6DJ6.cjs} +6 -6
  42. package/dist/lib/node/{chunk-XUTDR7HI.cjs → chunk-OJJ4F6KP.cjs} +291 -78
  43. package/dist/lib/node/chunk-OJJ4F6KP.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-GNPXCHFT.cjs → chunk-U6J2GO7I.cjs} +4 -4
  45. package/dist/lib/node/{chunk-GNPXCHFT.cjs.map → chunk-U6J2GO7I.cjs.map} +2 -2
  46. package/dist/lib/node/{chunk-ZGH6F5YA.cjs → chunk-VRXFIS4X.cjs} +6 -6
  47. package/dist/lib/node/chunk-VRXFIS4X.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-IXJCGW7U.cjs → chunk-WFVOWPKV.cjs} +40 -18
  49. package/dist/lib/node/chunk-WFVOWPKV.cjs.map +7 -0
  50. package/dist/lib/node/index.cjs +73 -63
  51. package/dist/lib/node/index.cjs.map +3 -3
  52. package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs → intent-resolver-YIFAMM3B.cjs} +13 -10
  53. package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs.map → intent-resolver-YIFAMM3B.cjs.map} +3 -3
  54. package/dist/lib/node/meta.json +1 -1
  55. package/dist/lib/node/{react-surface-BSUZQ3HZ.cjs → react-surface-REI6G6B3.cjs} +25 -24
  56. package/dist/lib/node/react-surface-REI6G6B3.cjs.map +7 -0
  57. package/dist/lib/node/{settings-4YEO7KXF.cjs → settings-2FEYGLYU.cjs} +8 -8
  58. package/dist/lib/node/types/index.cjs +15 -11
  59. package/dist/lib/node/types/index.cjs.map +2 -2
  60. package/dist/lib/node-esm/{AssistantDialog-5AT5JAZL.mjs → AssistantDialog-R3EPF2KL.mjs} +6 -5
  61. package/dist/lib/node-esm/{AssistantDialog-5AT5JAZL.mjs.map → AssistantDialog-R3EPF2KL.mjs.map} +3 -3
  62. package/dist/lib/node-esm/{ChatContainer-VR766C4M.mjs → ChatContainer-UJ7MV7GU.mjs} +5 -5
  63. package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs +79 -0
  64. package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs.map +7 -0
  65. package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs +36 -0
  66. package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs.map +7 -0
  67. package/dist/lib/node-esm/{app-graph-builder-H2GC2AZA.mjs → app-graph-builder-PMAQLTTN.mjs} +57 -13
  68. package/dist/lib/node-esm/app-graph-builder-PMAQLTTN.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-77ARTFBA.mjs → chunk-2CIYX3SD.mjs} +2 -2
  70. package/dist/lib/node-esm/chunk-2CIYX3SD.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-AMQMVQJO.mjs → chunk-6GBMQIW7.mjs} +34 -12
  72. package/dist/lib/node-esm/chunk-6GBMQIW7.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-7JENJTLB.mjs → chunk-AMTHOYNB.mjs} +287 -70
  74. package/dist/lib/node-esm/chunk-AMTHOYNB.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs → chunk-J63VQFQO.mjs} +2 -2
  76. package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs → chunk-N6BVC2C2.mjs} +1 -1
  77. package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs.map → chunk-N6BVC2C2.mjs.map} +2 -2
  78. package/dist/lib/node-esm/{chunk-CJ4Y3QW5.mjs → chunk-NMMRHHAR.mjs} +26 -4
  79. package/dist/lib/node-esm/chunk-NMMRHHAR.mjs.map +7 -0
  80. package/dist/lib/node-esm/index.mjs +21 -11
  81. package/dist/lib/node-esm/index.mjs.map +3 -3
  82. package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs → intent-resolver-SQ4HLL5L.mjs} +6 -3
  83. package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs.map → intent-resolver-SQ4HLL5L.mjs.map} +3 -3
  84. package/dist/lib/node-esm/meta.json +1 -1
  85. package/dist/lib/node-esm/{react-surface-IGVYAOGL.mjs → react-surface-LE57AGPI.mjs} +10 -9
  86. package/dist/lib/node-esm/react-surface-LE57AGPI.mjs.map +7 -0
  87. package/dist/lib/node-esm/{settings-S7P5RWQI.mjs → settings-VHR5KT4J.mjs} +3 -3
  88. package/dist/lib/node-esm/types/index.mjs +6 -2
  89. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/ai-client.d.ts +2 -2
  91. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/capabilities.d.ts +3 -2
  94. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/index.d.ts +1 -1
  96. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  98. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +2 -2
  99. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  100. package/dist/types/src/components/AssistantDialog.d.ts.map +1 -1
  101. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +2 -1
  102. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  103. package/dist/types/src/components/ChatContainer.d.ts +2 -1
  104. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  105. package/dist/types/src/components/Prompt/Prompt.d.ts +3 -0
  106. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
  107. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +1 -0
  108. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
  109. package/dist/types/src/components/Prompt/PromptBar.d.ts +3 -2
  110. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  111. package/dist/types/src/components/Prompt/references.d.ts +30 -0
  112. package/dist/types/src/components/Prompt/references.d.ts.map +1 -0
  113. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +2 -1
  114. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -1
  115. package/dist/types/src/components/TemplateContainer.d.ts +2 -1
  116. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  117. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  118. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  119. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +2 -1
  120. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  121. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +3 -2
  122. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  123. package/dist/types/src/components/Thread/Thread.d.ts +12 -1
  124. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  125. package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -0
  126. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  127. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -1
  128. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  129. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
  130. package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -3
  131. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  132. package/dist/types/src/components/index.d.ts +2 -2
  133. package/dist/types/src/components/index.d.ts.map +1 -1
  134. package/dist/types/src/hooks/index.d.ts +1 -0
  135. package/dist/types/src/hooks/index.d.ts.map +1 -1
  136. package/dist/types/src/hooks/invocation-handler.d.ts +1 -1
  137. package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
  138. package/dist/types/src/hooks/processor.d.ts +8 -5
  139. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  140. package/dist/types/src/hooks/useChatProcessor.d.ts +9 -2
  141. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  142. package/dist/types/src/hooks/useContextProvider.d.ts +17 -0
  143. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -0
  144. package/dist/types/src/hooks/useMessageQueue.d.ts +4 -4
  145. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  146. package/dist/types/src/meta.d.ts +2 -8
  147. package/dist/types/src/meta.d.ts.map +1 -1
  148. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  149. package/dist/types/src/tools/function.d.ts +1 -1
  150. package/dist/types/src/tools/function.d.ts.map +1 -1
  151. package/dist/types/src/translations.d.ts +21 -6
  152. package/dist/types/src/translations.d.ts.map +1 -1
  153. package/dist/types/src/types/service.d.ts +1 -1
  154. package/dist/types/src/types/service.d.ts.map +1 -1
  155. package/dist/types/src/types/template.d.ts +36 -0
  156. package/dist/types/src/types/template.d.ts.map +1 -1
  157. package/dist/types/src/types/types.d.ts +3 -1
  158. package/dist/types/src/types/types.d.ts.map +1 -1
  159. package/package.json +56 -56
  160. package/src/AssistantPlugin.tsx +11 -2
  161. package/src/capabilities/ai-client.ts +23 -4
  162. package/src/capabilities/app-graph-builder.ts +48 -4
  163. package/src/capabilities/capabilities.ts +4 -2
  164. package/src/capabilities/intent-resolver.ts +1 -1
  165. package/src/capabilities/react-surface.tsx +3 -2
  166. package/src/components/AssistantDialog.tsx +7 -1
  167. package/src/components/AssistantSettings/AssistantSettings.tsx +39 -5
  168. package/src/components/Prompt/Prompt.stories.tsx +34 -0
  169. package/src/components/Prompt/Prompt.tsx +9 -2
  170. package/src/components/Prompt/PromptBar.tsx +18 -7
  171. package/src/components/Prompt/references.ts +180 -0
  172. package/src/components/TemplateContainer.tsx +79 -4
  173. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +1 -1
  174. package/src/components/TemplateEditor/TemplateForm.stories.tsx +1 -1
  175. package/src/components/TemplateEditor/TemplateForm.tsx +1 -1
  176. package/src/components/Thread/Thread.tsx +21 -0
  177. package/src/components/Thread/ThreadContainer.stories.tsx +5 -8
  178. package/src/components/Thread/ThreadContainer.tsx +7 -4
  179. package/src/components/Thread/ThreadMessage.tsx +17 -9
  180. package/src/components/Toolbox/Toolbox.tsx +1 -1
  181. package/src/components/index.ts +3 -0
  182. package/src/hooks/index.ts +1 -0
  183. package/src/hooks/invocation-handler.ts +3 -5
  184. package/src/hooks/processor.ts +18 -9
  185. package/src/hooks/useChatProcessor.tsx +24 -15
  186. package/src/hooks/useContextProvider.ts +55 -0
  187. package/src/hooks/useLocalTriggerManager.ts +1 -1
  188. package/src/hooks/useMessageQueue.ts +2 -4
  189. package/src/meta.ts +2 -2
  190. package/src/testing/test-functions.ts +2 -2
  191. package/src/tools/function.ts +2 -2
  192. package/src/tools/openapi.test.ts +4 -4
  193. package/src/translations.ts +8 -3
  194. package/src/types/service.ts +1 -1
  195. package/src/types/template.ts +22 -0
  196. package/src/types/types.ts +3 -1
  197. package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs +0 -23
  198. package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs.map +0 -7
  199. package/dist/lib/browser/ai-client-RTCGRKZE.mjs +0 -22
  200. package/dist/lib/browser/ai-client-RTCGRKZE.mjs.map +0 -7
  201. package/dist/lib/browser/app-graph-builder-AXAIFOGV.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-FRIKXDDQ.mjs.map +0 -7
  203. package/dist/lib/browser/chunk-G7B54APW.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-NFVIZS3B.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-VZ4W6SHE.mjs.map +0 -7
  206. package/dist/lib/browser/react-surface-JLXNWOI6.mjs.map +0 -7
  207. package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs +0 -53
  208. package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs.map +0 -7
  209. package/dist/lib/node/ai-client-YANJEPO3.cjs.map +0 -7
  210. package/dist/lib/node/app-graph-builder-D7SHQTZS.cjs.map +0 -7
  211. package/dist/lib/node/chunk-37GI4NYH.cjs.map +0 -7
  212. package/dist/lib/node/chunk-IXJCGW7U.cjs.map +0 -7
  213. package/dist/lib/node/chunk-XUTDR7HI.cjs.map +0 -7
  214. package/dist/lib/node/chunk-ZGH6F5YA.cjs.map +0 -7
  215. package/dist/lib/node/react-surface-BSUZQ3HZ.cjs.map +0 -7
  216. package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs +0 -24
  217. package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs.map +0 -7
  218. package/dist/lib/node-esm/ai-client-66IBZVCX.mjs +0 -23
  219. package/dist/lib/node-esm/ai-client-66IBZVCX.mjs.map +0 -7
  220. package/dist/lib/node-esm/app-graph-builder-H2GC2AZA.mjs.map +0 -7
  221. package/dist/lib/node-esm/chunk-77ARTFBA.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-7JENJTLB.mjs.map +0 -7
  223. package/dist/lib/node-esm/chunk-AMQMVQJO.mjs.map +0 -7
  224. package/dist/lib/node-esm/chunk-CJ4Y3QW5.mjs.map +0 -7
  225. package/dist/lib/node-esm/react-surface-IGVYAOGL.mjs.map +0 -7
  226. /package/dist/lib/browser/{ChatContainer-AT3OAUT3.mjs.map → ChatContainer-EEEVE62F.mjs.map} +0 -0
  227. /package/dist/lib/browser/{chunk-EUMPBC4T.mjs.map → chunk-6FTPLBSC.mjs.map} +0 -0
  228. /package/dist/lib/browser/{settings-JTT62IHD.mjs.map → settings-VAW6UWFL.mjs.map} +0 -0
  229. /package/dist/lib/node/{ChatContainer-CVHXNHGA.cjs.map → ChatContainer-BPI3GEZS.cjs.map} +0 -0
  230. /package/dist/lib/node/{chunk-NV4TQQSU.cjs.map → chunk-N3SW6DJ6.cjs.map} +0 -0
  231. /package/dist/lib/node/{settings-4YEO7KXF.cjs.map → settings-2FEYGLYU.cjs.map} +0 -0
  232. /package/dist/lib/node-esm/{ChatContainer-VR766C4M.mjs.map → ChatContainer-UJ7MV7GU.mjs.map} +0 -0
  233. /package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs.map → chunk-J63VQFQO.mjs.map} +0 -0
  234. /package/dist/lib/node-esm/{settings-S7P5RWQI.mjs.map → settings-VHR5KT4J.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"invocation-handler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/invocation-handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAgCrD,eAAO,MAAM,cAAc,WAAkB,MAAM,SAAS,KAAK,WAAW,eAAe,QAAQ,GAAG,oBA2BrG,CAAC"}
1
+ {"version":3,"file":"invocation-handler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/invocation-handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAgCrD,eAAO,MAAM,cAAc,WAAkB,MAAM,SAAS,KAAK,WAAW,eAAe,QAAQ,GAAG,oBA2BrG,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Signal } from '@preact/signals-core';
2
2
  import { type PromiseIntentDispatcher } from '@dxos/app-framework';
3
3
  import { type Tool, Message } from '@dxos/artifact';
4
- import { type GenerateRequest, type AIService } from '@dxos/assistant';
4
+ import { type GenerateRequest, type AIServiceClient } from '@dxos/assistant';
5
5
  import { type Space } from '@dxos/react-client/echo';
6
6
  declare global {
7
7
  interface ToolContextExtensions {
@@ -21,18 +21,18 @@ export type ChatProcessorOptions = Pick<GenerateRequest, 'model' | 'systemPrompt
21
21
  * Supports cancellation of in-progress requests.
22
22
  */
23
23
  export declare class ChatProcessor {
24
- private readonly _service;
24
+ private readonly _ai;
25
25
  private _tools?;
26
26
  private readonly _extensions?;
27
27
  private readonly _options;
28
28
  /** SSE stream parser. */
29
29
  private readonly _parser;
30
- /** Current streaming response. */
31
- private _stream;
32
30
  /** Pending messages (incl. the current user request). */
33
31
  private readonly _pending;
34
32
  /** Current streaming block (from the AI service). */
35
33
  private readonly _block;
34
+ /** Current streaming response. */
35
+ private _stream;
36
36
  /** Prior history from queue. */
37
37
  private _history;
38
38
  /**
@@ -50,7 +50,7 @@ export declare class ChatProcessor {
50
50
  * @reactive
51
51
  */
52
52
  readonly messages: Signal<Message[]>;
53
- constructor(_service: AIService, _tools?: Tool[] | undefined, _extensions?: ToolContextExtensions | undefined, _options?: ChatProcessorOptions);
53
+ constructor(_ai: AIServiceClient, _tools?: Tool[] | undefined, _extensions?: ToolContextExtensions | undefined, _options?: ChatProcessorOptions);
54
54
  get tools(): Tool[] | undefined;
55
55
  /**
56
56
  * Update tools.
@@ -72,5 +72,8 @@ export declare class ChatProcessor {
72
72
  */
73
73
  private _request;
74
74
  }
75
+ export declare class AIServiecOverloadedError extends Error {
76
+ code: string;
77
+ }
75
78
  export {};
76
79
  //# sourceMappingURL=processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/processor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAA2B,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,EAAE,OAAO,EAA4B,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAGL,KAAK,eAAe,EAIpB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AAOnF;;;;;GAKG;AACH,qBAAa,aAAa;IA8CtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAhD3B,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAA+B;IAE9C,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8D;IAErF,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;OAGG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAmD;IAE7F;;;OAGG;IACH,SAAgB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAqB;IAErE;;;OAGG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAWxC;gBAGgB,QAAQ,EAAE,SAAS,EAC5B,MAAM,CAAC,EAAE,IAAI,EAAE,YAAA,EACN,WAAW,CAAC,EAAE,qBAAqB,YAAA,EACnC,QAAQ,GAAE,oBAAqC;IAkBlE,IAAI,KAAK,uBAER;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;IAItB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAiBhF;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAMpB,MAAM;IAWpB;;;OAGG;YACW,QAAQ;CAwDvB"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/processor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAA2B,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,EAAE,OAAO,EAA4B,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAGL,KAAK,eAAe,EAIpB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AAOnF;;;;;GAKG;AACH,qBAAa,aAAa;IA8CtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAhD3B,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8D;IAErF,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAA+B;IAE9C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;OAGG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAmD;IAE7F;;;OAGG;IACH,SAAgB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAqB;IAErE;;;OAGG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAWxC;gBAGgB,GAAG,EAAE,eAAe,EAC7B,MAAM,CAAC,EAAE,IAAI,EAAE,YAAA,EACN,WAAW,CAAC,EAAE,qBAAqB,YAAA,EACnC,QAAQ,GAAE,oBAAqC;IAkBlE,IAAI,KAAK,uBAER;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;IAItB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAiBhF;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAMpB,MAAM;IAWpB;;;OAGG;YACW,QAAQ;CA4DvB;AAGD,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,IAAI,SAA2B;CAChC"}
@@ -1,8 +1,15 @@
1
1
  import { type Space } from '@dxos/react-client/echo';
2
2
  import { ChatProcessor } from '../hooks';
3
- import { type AssistantSettingsProps } from '../types';
3
+ import { type AIChatType, type AssistantSettingsProps } from '../types';
4
+ type UseChatProcessorProps = {
5
+ chat?: AIChatType;
6
+ space?: Space;
7
+ settings?: AssistantSettingsProps;
8
+ part?: 'deck' | 'dialog';
9
+ };
4
10
  /**
5
11
  * Configure and create ChatProcessor.
6
12
  */
7
- export declare const useChatProcessor: (space?: Space, settings?: AssistantSettingsProps) => ChatProcessor;
13
+ export declare const useChatProcessor: ({ chat, space, settings, part }: UseChatProcessorProps) => ChatProcessor;
14
+ export {};
8
15
  //# sourceMappingURL=useChatProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChatProcessor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatProcessor.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAU,KAAK,KAAK,EAAY,MAAM,yBAAyB,CAAC;AAIvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,sBAAsB,EAAe,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,gBAAgB,WAAY,KAAK,aAAa,sBAAsB,KAAG,aAwDnF,CAAC"}
1
+ {"version":3,"file":"useChatProcessor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatProcessor.tsx"],"names":[],"mappings":"AAYA,OAAO,EAA4B,KAAK,KAAK,EAAY,MAAM,yBAAyB,CAAC;AAIzF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,sBAAsB,EAAe,MAAM,UAAU,CAAC;AAErF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,oCAA8C,qBAAqB,KAAG,aA0DlG,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Space } from '@dxos/client/echo';
2
+ export type ContextProvider = {
3
+ query: (params: {
4
+ query: string;
5
+ }) => Promise<Array<{
6
+ uri: string;
7
+ label: string;
8
+ }>>;
9
+ resolveMetadata: (params: {
10
+ uri: string;
11
+ }) => Promise<{
12
+ uri: string;
13
+ label: string;
14
+ }>;
15
+ };
16
+ export declare const useContextProvider: (space?: Space) => ContextProvider | undefined;
17
+ //# sourceMappingURL=useContextProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContextProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useContextProvider.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrF,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvF,CAAC;AAIF,eAAO,MAAM,kBAAkB,WAAY,KAAK,KAAG,eAAe,GAAG,SAmCpE,CAAC"}
@@ -2,6 +2,7 @@ import { type AIChatType } from '../types';
2
2
  export declare const useMessageQueue: (chat?: AIChatType) => import("@dxos/echo-db").Queue<{
3
3
  readonly id: string;
4
4
  spaceId?: import("@dxos/keys").SpaceId | undefined;
5
+ role: "user" | "assistant";
5
6
  content: ({
6
7
  pending?: boolean | undefined;
7
8
  type: "text";
@@ -18,24 +19,23 @@ export declare const useMessageQueue: (chat?: AIChatType) => import("@dxos/echo-
18
19
  type: "image";
19
20
  source?: {
20
21
  type: "base64";
21
- mediaType: string;
22
22
  data: string;
23
+ mediaType: string;
23
24
  } | undefined;
24
25
  } | {
25
26
  pending?: boolean | undefined;
27
+ name: string;
26
28
  id: string;
27
29
  type: "tool_use";
28
- name: string;
29
30
  input: unknown;
30
31
  } | {
31
32
  pending?: boolean | undefined;
32
33
  type: "tool_result";
33
- toolUseId: string;
34
34
  content: string;
35
+ toolUseId: string;
35
36
  isError?: boolean | undefined;
36
37
  })[];
37
38
  threadId?: string | undefined;
38
39
  foreignId?: string | undefined;
39
- role: "user" | "assistant";
40
40
  }> | undefined;
41
41
  //# sourceMappingURL=useMessageQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageQueue.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useMessageQueue.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,eAAe,UAAW,UAAU;;;;eAUs0H,CAAC;;;mBAAsF,CAAC;;eAA+C,CAAC;;mBAAgE,CAAC;;;eAAqE,CAAC;UAAiC,CAAC;;cAA2D,CAAC;;;;;;eAAyI,CAAC;;;;;;eAA4I,CAAC;;;;eAAuH,CAAC;;;;;cADlnJ,CAAC"}
1
+ {"version":3,"file":"useMessageQueue.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useMessageQueue.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,eAAe,UAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAQhD,CAAC"}
@@ -1,11 +1,5 @@
1
+ import { type PluginMeta } from '@dxos/app-framework';
1
2
  export declare const ASSISTANT_PLUGIN = "dxos.org/plugin/assistant";
2
3
  export declare const ASSISTANT_DIALOG = "dxos.org/plugin/assistant/assistant/dialog";
3
- export declare const meta: {
4
- id: string;
5
- name: string;
6
- description: string;
7
- icon: string;
8
- source: string;
9
- tags: string[];
10
- };
4
+ export declare const meta: PluginMeta;
11
5
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAE5D,eAAO,MAAM,gBAAgB,+CAAyC,CAAC;AAEvE,eAAO,MAAM,IAAI;;;;;;;CAOK,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAE5D,eAAO,MAAM,gBAAgB,+CAAyC,CAAC;AAEvE,eAAO,MAAM,IAAI,EAAE,UAOlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-functions.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-functions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE1E,eAAO,MAAM,sBAAsB,cAAe,MAAM,EAAE,KAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,CAGzG,CAAC"}
1
+ {"version":3,"file":"test-functions.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-functions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE3E,eAAO,MAAM,sBAAsB,cAAe,MAAM,EAAE,KAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,CAGzG,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Tool } from '@dxos/artifact';
2
- import type { FunctionType } from '@dxos/functions';
2
+ import type { FunctionType } from '@dxos/functions/types';
3
3
  import type { SpaceId } from '@dxos/react-client/echo';
4
4
  export declare const covertFunctionToTool: (fn: FunctionType, edgeUrl: string, spaceId?: SpaceId | undefined) => Tool | undefined;
5
5
  //# sourceMappingURL=function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../../src/tools/function.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,OAC3B,YAAY,WACP,MAAM,YACL,OAAO,GAAG,SAAS,KAC5B,IAAI,GAAG,SA6BT,CAAC"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../../src/tools/function.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,OAC3B,YAAY,WACP,MAAM,YACL,OAAO,GAAG,SAAS,KAC5B,IAAI,GAAG,SA6BT,CAAC"}
@@ -3,6 +3,7 @@ declare const _default: {
3
3
  [x: string]: {
4
4
  'typename label': string;
5
5
  'chat title placeholder'?: undefined;
6
+ 'templates label'?: undefined;
6
7
  'template title placeholder'?: undefined;
7
8
  'open ambient chat label'?: undefined;
8
9
  'plugin name'?: undefined;
@@ -13,6 +14,8 @@ declare const _default: {
13
14
  'command placeholder'?: undefined;
14
15
  'template placeholder'?: undefined;
15
16
  'value placeholder'?: undefined;
17
+ 'typename placeholder'?: undefined;
18
+ 'description placeholder'?: undefined;
16
19
  'select preset template placeholder'?: undefined;
17
20
  'service registry label'?: undefined;
18
21
  'assistant dialog title'?: undefined;
@@ -22,11 +25,14 @@ declare const _default: {
22
25
  'prompt placeholder'?: undefined;
23
26
  'microphone button'?: undefined;
24
27
  'cancel processing button'?: undefined;
28
+ 'settings default label'?: undefined;
25
29
  'settings custom prompts label'?: undefined;
26
- 'settings llm model label'?: undefined;
27
- 'settings default llm model label'?: undefined;
30
+ 'settings llm provider label'?: undefined;
31
+ 'settings edge llm model label'?: undefined;
32
+ 'settings ollama llm model label'?: undefined;
28
33
  } | {
29
34
  'chat title placeholder': string;
35
+ 'templates label': string;
30
36
  'template title placeholder': string;
31
37
  'open ambient chat label': string;
32
38
  'plugin name': string;
@@ -37,6 +43,8 @@ declare const _default: {
37
43
  'command placeholder': string;
38
44
  'template placeholder': string;
39
45
  'value placeholder': string;
46
+ 'typename placeholder': string;
47
+ 'description placeholder': string;
40
48
  'select preset template placeholder': string;
41
49
  'service registry label': string;
42
50
  'assistant dialog title': string;
@@ -46,13 +54,16 @@ declare const _default: {
46
54
  'prompt placeholder': string;
47
55
  'microphone button': string;
48
56
  'cancel processing button': string;
57
+ 'settings default label': string;
49
58
  'settings custom prompts label': string;
50
- 'settings llm model label': string;
51
- 'settings default llm model label': string;
59
+ 'settings llm provider label': string;
60
+ 'settings edge llm model label': string;
61
+ 'settings ollama llm model label': string;
52
62
  'typename label'?: undefined;
53
63
  };
54
64
  "dxos.org/plugin/assistant": {
55
65
  'chat title placeholder': string;
66
+ 'templates label': string;
56
67
  'template title placeholder': string;
57
68
  'open ambient chat label': string;
58
69
  'plugin name': string;
@@ -63,6 +74,8 @@ declare const _default: {
63
74
  'command placeholder': string;
64
75
  'template placeholder': string;
65
76
  'value placeholder': string;
77
+ 'typename placeholder': string;
78
+ 'description placeholder': string;
66
79
  'select preset template placeholder': string;
67
80
  'service registry label': string;
68
81
  'assistant dialog title': string;
@@ -72,9 +85,11 @@ declare const _default: {
72
85
  'prompt placeholder': string;
73
86
  'microphone button': string;
74
87
  'cancel processing button': string;
88
+ 'settings default label': string;
75
89
  'settings custom prompts label': string;
76
- 'settings llm model label': string;
77
- 'settings default llm model label': string;
90
+ 'settings llm provider label': string;
91
+ 'settings edge llm model label': string;
92
+ 'settings ollama llm model label': string;
78
93
  };
79
94
  };
80
95
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAyCE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBA8CE"}
@@ -1,6 +1,6 @@
1
1
  import { ComputeGraph } from '@dxos/conductor';
2
2
  import { S, type Ref$ } from '@dxos/echo-schema';
3
- import { FunctionType } from '@dxos/functions';
3
+ import { FunctionType } from '@dxos/functions/types';
4
4
  export declare const ApiAuthorization: S.Union<[S.Struct<{
5
5
  type: S.Literal<["api-key"]>;
6
6
  key: typeof S.String;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/types/service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAO,CAAC,EAAe,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAwB/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;IAAsD,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA+BtE,QAAA,MAAM,gBAAgB;;QA3BK,IAAI,CAAC,YAAY,CAAC;;;cAKZ,IAAI,CAAC,YAAY,CAAC;;;IAMjD;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;IAIoG,CAAC;AAC1G,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;;;;;;;IASpE;;OAEG;;;YAvCsB,IAAI,CAAC,YAAY,CAAC;;;kBAKZ,IAAI,CAAC,YAAY,CAAC;;;QAMjD;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;IAcH;;OAEG;;;YAvCsB,IAAI,CAAC,YAAY,CAAC;;;kBAKZ,IAAI,CAAC,YAAY,CAAC;;;QAMjD;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;AAOL,qBAAa,WAAY,SAAQ,gBAW/B;CAAG;AAML,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUvC,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/types/service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAO,CAAC,EAAe,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAwBrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;IAAsD,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA+BtE,QAAA,MAAM,gBAAgB;;QA3BK,IAAI,CAAC,YAAY,CAAC;;;cAKZ,IAAI,CAAC,YAAY,CAAC;;;IAMjD;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;IAIoG,CAAC;AAC1G,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;;;;;;;IASpE;;OAEG;;;YAvCsB,IAAI,CAAC,YAAY,CAAC;;;kBAKZ,IAAI,CAAC,YAAY,CAAC;;;QAMjD;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;IAcH;;OAEG;;;YAvCsB,IAAI,CAAC,YAAY,CAAC;;;kBAKZ,IAAI,CAAC,YAAY,CAAC;;;QAMjD;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;AAOL,qBAAa,WAAY,SAAQ,gBAW/B;CAAG;AAML,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUvC,CAAC"}
@@ -15,8 +15,33 @@ export declare const TemplateInputSchema: S.mutable<S.Struct<{
15
15
  value: S.optional<typeof S.String>;
16
16
  }>>;
17
17
  export type TemplateInput = S.Schema.Type<typeof TemplateInputSchema>;
18
+ export declare const TemplateKinds: readonly ["always", "schema-matching", "automatically", "manual"];
19
+ export type TemplateKind = (typeof TemplateKinds)[number];
20
+ export declare const TemplateKindSchema: S.Union<[S.Struct<{
21
+ include: S.Literal<["always"]>;
22
+ }>, S.Struct<{
23
+ include: S.Literal<["schema-matching"]>;
24
+ typename: typeof S.String;
25
+ }>, S.Struct<{
26
+ include: S.Literal<["automatically"]>;
27
+ description: typeof S.String;
28
+ }>, S.Struct<{
29
+ include: S.Literal<["manual"]>;
30
+ }>]>;
31
+ export type TemplateKindType = S.Schema.Type<typeof TemplateKindSchema>;
18
32
  declare const TemplateType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
19
33
  name: S.optional<typeof S.String>;
34
+ kind: S.mutable<S.Union<[S.Struct<{
35
+ include: S.Literal<["always"]>;
36
+ }>, S.Struct<{
37
+ include: S.Literal<["schema-matching"]>;
38
+ typename: typeof S.String;
39
+ }>, S.Struct<{
40
+ include: S.Literal<["automatically"]>;
41
+ description: typeof S.String;
42
+ }>, S.Struct<{
43
+ include: S.Literal<["manual"]>;
44
+ }>]>>;
20
45
  source: typeof S.String;
21
46
  inputs: S.optional<S.mutable<S.Array$<S.mutable<S.Struct<{
22
47
  name: typeof S.String;
@@ -26,6 +51,17 @@ declare const TemplateType_base: import("@dxos/echo-schema").TypedObjectPrototyp
26
51
  command: S.optional<typeof S.String>;
27
52
  }, import("@dxos/echo-schema").TypedObjectOptions>, S.Struct.Encoded<{
28
53
  name: S.optional<typeof S.String>;
54
+ kind: S.mutable<S.Union<[S.Struct<{
55
+ include: S.Literal<["always"]>;
56
+ }>, S.Struct<{
57
+ include: S.Literal<["schema-matching"]>;
58
+ typename: typeof S.String;
59
+ }>, S.Struct<{
60
+ include: S.Literal<["automatically"]>;
61
+ description: typeof S.String;
62
+ }>, S.Struct<{
63
+ include: S.Literal<["manual"]>;
64
+ }>]>>;
29
65
  source: typeof S.String;
30
66
  inputs: S.optional<S.mutable<S.Array$<S.mutable<S.Struct<{
31
67
  name: typeof S.String;
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/types/template.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAGnD,oBAAY,iBAAiB;IAC3B,KAAK,IAAI;IACT,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,eAAO,MAAM,mBAAmB;;;;GAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;AAEtE,qBAAa,YAAa,SAAQ,iBAKhC;CAAG"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/types/template.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAGnD,oBAAY,iBAAiB;IAC3B,KAAK,IAAI;IACT,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,eAAO,MAAM,mBAAmB;;;;GAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,aAAa,mEAAoE,CAAC;AAC/F,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB;;;;;;;;;;IAe9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACxE,qBAAa,YAAa,SAAQ,iBAMhC;CAAG"}
@@ -30,7 +30,9 @@ export declare namespace AssistantAction {
30
30
  export {};
31
31
  }
32
32
  export declare const AssistantSettingsSchema: S.mutable<S.Struct<{
33
- llmModel: S.optional<typeof S.String>;
33
+ llmProvider: S.optional<S.Literal<["edge", "ollama"]>>;
34
+ edgeModel: S.optional<typeof S.String>;
35
+ ollamaModel: S.optional<typeof S.String>;
34
36
  customPrompts: S.optional<typeof S.Boolean>;
35
37
  }>>;
36
38
  export type AssistantSettingsProps = S.Schema.Type<typeof AssistantSettingsSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,yBAAiB,eAAe,CAAC;;;;;;;;;;;;IAG/B,MAAM,OAAO,UAAW,SAAQ,eAQ9B;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAOlC;KAAG;;CACN;AAED,eAAO,MAAM,uBAAuB;;;GAKnC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,yBAAiB,eAAe,CAAC;;;;;;;;;;;;IAG/B,MAAM,OAAO,UAAW,SAAQ,eAQ9B;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAOlC;KAAG;;CACN;AAED,eAAO,MAAM,uBAAuB;;;;;GAOnC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-assistant",
3
- "version": "0.8.0",
3
+ "version": "0.8.1-main.81238a8",
4
4
  "description": "Assistant plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -39,55 +39,55 @@
39
39
  "@codemirror/search": "^6.5.6",
40
40
  "@codemirror/state": "^6.4.1",
41
41
  "@codemirror/view": "^6.34.1",
42
- "@effect/schema": "^0.75.5",
43
42
  "@lezer/highlight": "^1.2.1",
44
43
  "@preact/signals-core": "^1.6.0",
45
44
  "@xiechao/codemirror-lang-handlebars": "1.0.4",
45
+ "effect": "3.13.3",
46
46
  "jsonpointer": "^5.0.1",
47
47
  "lodash.get": "^4.4.2",
48
48
  "unified": "^11.0.0",
49
- "@dxos/app-framework": "0.8.0",
50
- "@dxos/artifact": "0.8.0",
51
- "@dxos/assistant": "0.8.0",
52
- "@dxos/async": "0.8.0",
53
- "@dxos/client": "0.8.0",
54
- "@dxos/compute": "0.8.0",
55
- "@dxos/context": "0.8.0",
56
- "@dxos/echo-db": "0.8.0",
57
- "@dxos/echo-schema": "0.8.0",
58
- "@dxos/conductor": "0.8.0",
59
- "@dxos/functions": "0.8.0",
60
- "@dxos/invariant": "0.8.0",
61
- "@dxos/keys": "0.8.0",
62
- "@dxos/edge-client": "0.8.0",
63
- "@dxos/live-object": "0.8.0",
64
- "@dxos/local-storage": "0.8.0",
65
- "@dxos/plugin-client": "0.8.0",
66
- "@dxos/plugin-graph": "0.8.0",
67
- "@dxos/log": "0.8.0",
68
- "@dxos/plugin-inbox": "0.8.0",
69
- "@dxos/plugin-deck": "0.8.0",
70
- "@dxos/plugin-markdown": "0.8.0",
71
- "@dxos/plugin-script": "0.8.0",
72
- "@dxos/plugin-sketch": "0.8.0",
73
- "@dxos/plugin-space": "0.8.0",
74
- "@dxos/plugin-transcription": "0.8.0",
75
- "@dxos/plugin-stack": "0.8.0",
76
- "@dxos/plugin-wnfs": "0.8.0",
77
- "@dxos/react-client": "0.8.0",
78
- "@dxos/react-edge-client": "0.8.0",
79
- "@dxos/react-ui-canvas-compute": "0.8.0",
80
- "@dxos/react-ui-canvas-editor": "0.8.0",
81
- "@dxos/react-ui-components": "0.8.0",
82
- "@dxos/react-ui-dnd": "0.8.0",
83
- "@dxos/react-ui-editor": "0.8.0",
84
- "@dxos/react-ui-form": "0.8.0",
85
- "@dxos/react-ui-list": "0.8.0",
86
- "@dxos/react-ui-sfx": "0.8.0",
87
- "@dxos/react-ui-syntax-highlighter": "0.8.0",
88
- "@dxos/schema": "0.8.0",
89
- "@dxos/util": "0.8.0",
90
- "@dxos/react-ui-stack": "0.8.0"
49
+ "@dxos/app-framework": "0.8.1-main.81238a8",
50
+ "@dxos/artifact": "0.8.1-main.81238a8",
51
+ "@dxos/assistant": "0.8.1-main.81238a8",
52
+ "@dxos/async": "0.8.1-main.81238a8",
53
+ "@dxos/compute": "0.8.1-main.81238a8",
54
+ "@dxos/client": "0.8.1-main.81238a8",
55
+ "@dxos/context": "0.8.1-main.81238a8",
56
+ "@dxos/conductor": "0.8.1-main.81238a8",
57
+ "@dxos/echo-db": "0.8.1-main.81238a8",
58
+ "@dxos/echo-schema": "0.8.1-main.81238a8",
59
+ "@dxos/edge-client": "0.8.1-main.81238a8",
60
+ "@dxos/keys": "0.8.1-main.81238a8",
61
+ "@dxos/functions": "0.8.1-main.81238a8",
62
+ "@dxos/local-storage": "0.8.1-main.81238a8",
63
+ "@dxos/live-object": "0.8.1-main.81238a8",
64
+ "@dxos/log": "0.8.1-main.81238a8",
65
+ "@dxos/plugin-client": "0.8.1-main.81238a8",
66
+ "@dxos/invariant": "0.8.1-main.81238a8",
67
+ "@dxos/plugin-deck": "0.8.1-main.81238a8",
68
+ "@dxos/plugin-graph": "0.8.1-main.81238a8",
69
+ "@dxos/plugin-inbox": "0.8.1-main.81238a8",
70
+ "@dxos/plugin-markdown": "0.8.1-main.81238a8",
71
+ "@dxos/plugin-sketch": "0.8.1-main.81238a8",
72
+ "@dxos/plugin-space": "0.8.1-main.81238a8",
73
+ "@dxos/plugin-transcription": "0.8.1-main.81238a8",
74
+ "@dxos/plugin-script": "0.8.1-main.81238a8",
75
+ "@dxos/plugin-stack": "0.8.1-main.81238a8",
76
+ "@dxos/plugin-wnfs": "0.8.1-main.81238a8",
77
+ "@dxos/react-client": "0.8.1-main.81238a8",
78
+ "@dxos/react-edge-client": "0.8.1-main.81238a8",
79
+ "@dxos/react-ui-canvas-compute": "0.8.1-main.81238a8",
80
+ "@dxos/react-ui-canvas-editor": "0.8.1-main.81238a8",
81
+ "@dxos/react-ui-dnd": "0.8.1-main.81238a8",
82
+ "@dxos/react-ui-components": "0.8.1-main.81238a8",
83
+ "@dxos/react-ui-editor": "0.8.1-main.81238a8",
84
+ "@dxos/react-ui-form": "0.8.1-main.81238a8",
85
+ "@dxos/react-ui-list": "0.8.1-main.81238a8",
86
+ "@dxos/react-ui-sfx": "0.8.1-main.81238a8",
87
+ "@dxos/react-ui-syntax-highlighter": "0.8.1-main.81238a8",
88
+ "@dxos/react-ui-stack": "0.8.1-main.81238a8",
89
+ "@dxos/schema": "0.8.1-main.81238a8",
90
+ "@dxos/util": "0.8.1-main.81238a8"
91
91
  },
92
92
  "devDependencies": {
93
93
  "@types/lodash.get": "^4.4.7",
@@ -97,22 +97,22 @@
97
97
  "react": "~18.2.0",
98
98
  "react-dom": "~18.2.0",
99
99
  "vite": "5.4.7",
100
- "@dxos/artifact-testing": "0.8.0",
101
- "@dxos/echo-db": "0.8.0",
102
- "@dxos/plugin-chess": "0.8.0",
103
- "@dxos/plugin-inbox": "0.8.0",
104
- "@dxos/plugin-table": "0.8.0",
105
- "@dxos/random": "0.8.0",
106
- "@dxos/plugin-map": "0.8.0",
107
- "@dxos/react-ui": "0.8.0",
108
- "@dxos/react-ui-theme": "0.8.0",
109
- "@dxos/storybook-utils": "0.8.0"
100
+ "@dxos/artifact-testing": "0.8.1-main.81238a8",
101
+ "@dxos/echo-db": "0.8.1-main.81238a8",
102
+ "@dxos/plugin-chess": "0.8.1-main.81238a8",
103
+ "@dxos/plugin-inbox": "0.8.1-main.81238a8",
104
+ "@dxos/plugin-map": "0.8.1-main.81238a8",
105
+ "@dxos/plugin-table": "0.8.1-main.81238a8",
106
+ "@dxos/random": "0.8.1-main.81238a8",
107
+ "@dxos/react-ui": "0.8.1-main.81238a8",
108
+ "@dxos/react-ui-theme": "0.8.1-main.81238a8",
109
+ "@dxos/storybook-utils": "0.8.1-main.81238a8"
110
110
  },
111
111
  "peerDependencies": {
112
112
  "react": "~18.2.0",
113
113
  "react-dom": "~18.2.0",
114
- "@dxos/react-ui": "0.8.0",
115
- "@dxos/react-ui-theme": "0.8.0"
114
+ "@dxos/react-ui": "0.8.1-main.81238a8",
115
+ "@dxos/react-ui-theme": "0.8.1-main.81238a8"
116
116
  },
117
117
  "publishConfig": {
118
118
  "access": "public"
@@ -2,7 +2,15 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';
5
+ import {
6
+ allOf,
7
+ Capabilities,
8
+ contributes,
9
+ createIntent,
10
+ defineModule,
11
+ definePlugin,
12
+ Events,
13
+ } from '@dxos/app-framework';
6
14
  import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
7
15
  import { DeckCapabilities, DeckEvents } from '@dxos/plugin-deck';
8
16
  import { SpaceCapabilities } from '@dxos/plugin-space';
@@ -60,6 +68,7 @@ export const AssistantPlugin = () =>
60
68
  SpaceCapabilities.ObjectForm,
61
69
  defineObjectForm({
62
70
  objectSchema: TemplateType,
71
+ hidden: true,
63
72
  getIntent: () => createIntent(AssistantAction.CreateTemplate),
64
73
  }),
65
74
  ),
@@ -99,7 +108,7 @@ export const AssistantPlugin = () =>
99
108
  }),
100
109
  defineModule({
101
110
  id: `${meta.id}/module/ai-client`,
102
- activatesOn: ClientEvents.ClientReady,
111
+ activatesOn: allOf(ClientEvents.ClientReady, Events.SettingsReady),
103
112
  activate: AiClient,
104
113
  }),
105
114
  ]);
@@ -2,11 +2,15 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, type PluginsContext } from '@dxos/app-framework';
6
- import { AIServiceClientImpl } from '@dxos/assistant';
5
+ import { effect, signal } from '@preact/signals-core';
6
+
7
+ import { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';
8
+ import { type AIServiceClient, AIServiceEdgeClient, OllamaClient } from '@dxos/assistant';
7
9
  import { ClientCapabilities } from '@dxos/plugin-client';
8
10
 
9
11
  import { AssistantCapabilities } from './capabilities';
12
+ import { ASSISTANT_PLUGIN } from '../meta';
13
+ import { type AssistantSettingsProps } from '../types';
10
14
 
11
15
  // TODO(wittjosiah): Factor out.
12
16
  const DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';
@@ -14,6 +18,21 @@ const DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';
14
18
  export default (context: PluginsContext) => {
15
19
  const client = context.requestCapability(ClientCapabilities.Client);
16
20
  const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;
17
- const aiClient = new AIServiceClientImpl({ endpoint });
18
- return contributes(AssistantCapabilities.AiClient, aiClient);
21
+
22
+ const ai = signal<AIServiceClient>(new AIServiceEdgeClient({ endpoint }));
23
+
24
+ const unsubscribe = effect(() => {
25
+ // TODO(burdon): Could be undefined.
26
+ const settings = context
27
+ .requestCapability(Capabilities.SettingsStore)
28
+ .getStore<AssistantSettingsProps>(ASSISTANT_PLUGIN)?.value;
29
+
30
+ if (settings?.llmProvider === 'ollama') {
31
+ ai.value = new OllamaClient();
32
+ } else {
33
+ ai.value = new AIServiceEdgeClient({ endpoint });
34
+ }
35
+ });
36
+
37
+ return contributes(AssistantCapabilities.AiClient, ai, () => unsubscribe());
19
38
  };