@dxos/plugin-assistant 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

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 (515) hide show
  1. package/dist/lib/browser/BlueprintArticle-WP3G5GLG.mjs +31 -0
  2. package/dist/lib/browser/BlueprintArticle-WP3G5GLG.mjs.map +7 -0
  3. package/dist/lib/browser/ChatCompanion-ECQYUQ2B.mjs +153 -0
  4. package/dist/lib/browser/ChatCompanion-ECQYUQ2B.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-QCCOFBUX.mjs +73 -0
  6. package/dist/lib/browser/ChatContainer-QCCOFBUX.mjs.map +7 -0
  7. package/dist/lib/browser/ChatDialog-SMK4RSZU.mjs +85 -0
  8. package/dist/lib/browser/ChatDialog-SMK4RSZU.mjs.map +7 -0
  9. package/dist/lib/browser/PromptArticle-K362ZPAE.mjs +53 -0
  10. package/dist/lib/browser/PromptArticle-K362ZPAE.mjs.map +7 -0
  11. package/dist/lib/browser/ai-service-5GUDOEWF.mjs +21 -0
  12. package/dist/lib/browser/ai-service-5GUDOEWF.mjs.map +7 -0
  13. package/dist/lib/browser/app-graph-builder-DSNH2OMY.mjs +212 -0
  14. package/dist/lib/browser/app-graph-builder-DSNH2OMY.mjs.map +7 -0
  15. package/dist/lib/browser/blueprint-definition-DGHH7MUU.mjs +14 -0
  16. package/dist/lib/browser/blueprints/index.mjs +12 -0
  17. package/dist/lib/browser/chunk-3JYPE2MM.mjs +1832 -0
  18. package/dist/lib/browser/chunk-3JYPE2MM.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-DKQMSMBN.mjs +326 -0
  20. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-WBG5PTSX.mjs → chunk-EXVT7D4B.mjs} +1 -1
  22. package/dist/lib/browser/chunk-EXVT7D4B.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-L5OA5OGS.mjs → chunk-ML3QCFKA.mjs} +40 -37
  24. package/dist/lib/browser/chunk-ML3QCFKA.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-MRJVYGLU.mjs +208 -0
  26. package/dist/lib/browser/chunk-MRJVYGLU.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-V772AMZM.mjs +250 -0
  28. package/dist/lib/browser/chunk-V772AMZM.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-WGQTU6UJ.mjs +41 -0
  30. package/dist/lib/browser/chunk-WGQTU6UJ.mjs.map +7 -0
  31. package/dist/lib/browser/edge-model-resolver-26BOY6HY.mjs +20 -0
  32. package/dist/lib/browser/edge-model-resolver-26BOY6HY.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +201 -214
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/local-model-resolver-ZFIM6GGV.mjs +19 -0
  36. package/dist/lib/browser/local-model-resolver-ZFIM6GGV.mjs.map +7 -0
  37. package/dist/lib/browser/meta.json +1 -1
  38. package/dist/lib/browser/operation-resolver-7XJLBRQY.mjs +132 -0
  39. package/dist/lib/browser/operation-resolver-7XJLBRQY.mjs.map +7 -0
  40. package/dist/lib/browser/react-surface-NCITRSJJ.mjs +109 -0
  41. package/dist/lib/browser/react-surface-NCITRSJJ.mjs.map +7 -0
  42. package/dist/lib/browser/repair-6QGAKOVM.mjs +54 -0
  43. package/dist/lib/browser/repair-6QGAKOVM.mjs.map +7 -0
  44. package/dist/lib/browser/settings-4ZDLUMYE.mjs +32 -0
  45. package/dist/lib/browser/settings-4ZDLUMYE.mjs.map +7 -0
  46. package/dist/lib/browser/state-AN6336ZX.mjs +26 -0
  47. package/dist/lib/browser/state-AN6336ZX.mjs.map +7 -0
  48. package/dist/lib/browser/toolkit-7AVTEPMA.mjs +18 -0
  49. package/dist/lib/browser/toolkit-7AVTEPMA.mjs.map +7 -0
  50. package/dist/lib/browser/types/index.mjs +8 -4
  51. package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs +32 -0
  52. package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs.map +7 -0
  53. package/dist/lib/node-esm/ChatCompanion-Q4FUZ2MW.mjs +154 -0
  54. package/dist/lib/node-esm/ChatCompanion-Q4FUZ2MW.mjs.map +7 -0
  55. package/dist/lib/node-esm/ChatContainer-AKI33HIB.mjs +74 -0
  56. package/dist/lib/node-esm/ChatContainer-AKI33HIB.mjs.map +7 -0
  57. package/dist/lib/node-esm/ChatDialog-AP45PVZR.mjs +86 -0
  58. package/dist/lib/node-esm/ChatDialog-AP45PVZR.mjs.map +7 -0
  59. package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs +54 -0
  60. package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs.map +7 -0
  61. package/dist/lib/node-esm/ai-service-PXKKCFIF.mjs +22 -0
  62. package/dist/lib/node-esm/ai-service-PXKKCFIF.mjs.map +7 -0
  63. package/dist/lib/node-esm/app-graph-builder-TJCUEXW5.mjs +213 -0
  64. package/dist/lib/node-esm/app-graph-builder-TJCUEXW5.mjs.map +7 -0
  65. package/dist/lib/node-esm/{blueprint-definition-CFCUD2VC.mjs → blueprint-definition-SEMDEIYG.mjs} +6 -5
  66. package/dist/lib/node-esm/blueprint-definition-SEMDEIYG.mjs.map +7 -0
  67. package/dist/lib/node-esm/blueprints/index.mjs +13 -0
  68. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-355W5B27.mjs +251 -0
  70. package/dist/lib/node-esm/chunk-355W5B27.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-75PHXBN3.mjs +327 -0
  72. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-DCA5QWQT.mjs +209 -0
  74. package/dist/lib/node-esm/chunk-DCA5QWQT.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs +42 -0
  76. package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-WE6KTH72.mjs → chunk-POWB2BPC.mjs} +1 -1
  78. package/dist/lib/node-esm/chunk-POWB2BPC.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-XI5T3MJC.mjs +1833 -0
  80. package/dist/lib/node-esm/chunk-XI5T3MJC.mjs.map +7 -0
  81. package/dist/lib/node-esm/{chunk-7ZYOYW7F.mjs → chunk-ZRIPP7YF.mjs} +40 -37
  82. package/dist/lib/node-esm/chunk-ZRIPP7YF.mjs.map +7 -0
  83. package/dist/lib/node-esm/{edge-model-resolver-2ARXDOYS.mjs → edge-model-resolver-G5KMODPO.mjs} +9 -7
  84. package/dist/lib/node-esm/edge-model-resolver-G5KMODPO.mjs.map +7 -0
  85. package/dist/lib/node-esm/index.mjs +201 -214
  86. package/dist/lib/node-esm/index.mjs.map +4 -4
  87. package/dist/lib/node-esm/local-model-resolver-KDZLYI7Y.mjs +20 -0
  88. package/dist/lib/node-esm/local-model-resolver-KDZLYI7Y.mjs.map +7 -0
  89. package/dist/lib/node-esm/meta.json +1 -1
  90. package/dist/lib/node-esm/operation-resolver-SX4WMNA7.mjs +133 -0
  91. package/dist/lib/node-esm/operation-resolver-SX4WMNA7.mjs.map +7 -0
  92. package/dist/lib/node-esm/react-surface-ST6V7LPE.mjs +110 -0
  93. package/dist/lib/node-esm/react-surface-ST6V7LPE.mjs.map +7 -0
  94. package/dist/lib/node-esm/repair-QJ7CQDKU.mjs +55 -0
  95. package/dist/lib/node-esm/repair-QJ7CQDKU.mjs.map +7 -0
  96. package/dist/lib/node-esm/settings-CQEOHR3R.mjs +33 -0
  97. package/dist/lib/node-esm/settings-CQEOHR3R.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-HDON4REW.mjs +27 -0
  99. package/dist/lib/node-esm/state-HDON4REW.mjs.map +7 -0
  100. package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs +19 -0
  101. package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs.map +7 -0
  102. package/dist/lib/node-esm/types/index.mjs +8 -4
  103. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  104. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  105. package/dist/types/src/blueprints/assistant-blueprint.d.ts +209 -0
  106. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/index.d.ts +7 -0
  108. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +5 -0
  110. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
  112. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  114. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  116. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +21 -0
  118. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +4 -0
  120. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +6 -0
  122. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
  124. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/index.d.ts +10 -11
  126. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  127. package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
  128. package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +12 -0
  130. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  132. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  134. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  136. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  138. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  140. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  142. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/settings/index.d.ts +15 -0
  144. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/settings/settings.d.ts +17 -0
  146. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/state/index.d.ts +11 -0
  148. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/state/state.d.ts +13 -0
  150. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
  152. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +5 -0
  154. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
  155. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -2
  156. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  157. package/dist/types/src/components/BlueprintArticle.d.ts +7 -0
  158. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -0
  159. package/dist/types/src/components/Chat/Chat.d.ts +21 -12
  160. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  161. package/dist/types/src/components/Chat/events.d.ts +5 -1
  162. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  163. package/dist/types/src/components/ChatCompanion.d.ts +2 -2
  164. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  165. package/dist/types/src/components/ChatContainer.d.ts +13 -5
  166. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  167. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  168. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  169. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  170. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
  171. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  172. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
  173. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  174. package/dist/types/src/components/ChatThread/ChatThread.d.ts +7 -10
  175. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  176. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +128 -73
  177. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  178. package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
  179. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  180. package/dist/types/src/components/ChatThread/sync.d.ts +12 -6
  181. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  182. package/dist/types/src/components/PromptArticle.d.ts +7 -0
  183. package/dist/types/src/components/PromptArticle.d.ts.map +1 -0
  184. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  185. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +112 -60
  186. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +11 -1
  188. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  189. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +113 -61
  190. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  191. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  192. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  193. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  194. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  195. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  196. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +10 -8
  197. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  198. package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -5
  199. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  200. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +112 -60
  201. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  202. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  203. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  204. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  205. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  206. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  207. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  208. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  209. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  210. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  211. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  212. package/dist/types/src/components/index.d.ts +10 -5
  213. package/dist/types/src/components/index.d.ts.map +1 -1
  214. package/dist/types/src/functions/index.d.ts +1 -1
  215. package/dist/types/src/functions/index.d.ts.map +1 -1
  216. package/dist/types/src/functions/object-list.d.ts +2 -2
  217. package/dist/types/src/functions/object-list.d.ts.map +1 -1
  218. package/dist/types/src/functions/object-load.d.ts +1 -1
  219. package/dist/types/src/functions/object-load.d.ts.map +1 -1
  220. package/dist/types/src/functions/object-search.d.ts +10 -0
  221. package/dist/types/src/functions/object-search.d.ts.map +1 -0
  222. package/dist/types/src/hooks/index.d.ts +2 -1
  223. package/dist/types/src/hooks/index.d.ts.map +1 -1
  224. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -5
  225. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  226. package/dist/types/src/hooks/useChatProcessor.d.ts +3 -1
  227. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  228. package/dist/types/src/hooks/useChatServices.d.ts +3 -3
  229. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  230. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  231. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  232. package/dist/types/src/hooks/useContextBinder.d.ts +2 -2
  233. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  234. package/dist/types/src/hooks/useContextObjects.d.ts +7 -7
  235. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  236. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  237. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  238. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  239. package/dist/types/src/index.d.ts +0 -1
  240. package/dist/types/src/index.d.ts.map +1 -1
  241. package/dist/types/src/meta.d.ts +2 -2
  242. package/dist/types/src/meta.d.ts.map +1 -1
  243. package/dist/types/src/processor/processor.d.ts +17 -16
  244. package/dist/types/src/processor/processor.d.ts.map +1 -1
  245. package/dist/types/src/processor/update-name.d.ts.map +1 -1
  246. package/dist/types/src/queue-logger.d.ts.map +1 -1
  247. package/dist/types/src/testing/test-generator.d.ts +5 -4
  248. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  249. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  250. package/dist/types/src/translations.d.ts +243 -26
  251. package/dist/types/src/translations.d.ts.map +1 -1
  252. package/dist/types/src/types/Assistant.d.ts +16 -22
  253. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  254. package/dist/types/src/types/AssistantAction.d.ts +88 -112
  255. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  256. package/dist/types/src/types/capabilities.d.ts +33 -0
  257. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  258. package/dist/types/src/types/events.d.ts +5 -0
  259. package/dist/types/src/types/events.d.ts.map +1 -0
  260. package/dist/types/src/types/index.d.ts +3 -1
  261. package/dist/types/src/types/index.d.ts.map +1 -1
  262. package/dist/types/src/types/service.d.ts +10 -212
  263. package/dist/types/src/types/service.d.ts.map +1 -1
  264. package/dist/types/tsconfig.tsbuildinfo +1 -1
  265. package/package.json +113 -90
  266. package/src/AssistantPlugin.tsx +70 -105
  267. package/src/blueprints/assistant-blueprint.ts +62 -0
  268. package/src/blueprints/index.ts +12 -0
  269. package/src/capabilities/ai-service/ai-service.ts +29 -0
  270. package/src/capabilities/ai-service/index.ts +7 -0
  271. package/src/capabilities/app-graph-builder/app-graph-builder.ts +180 -0
  272. package/src/capabilities/app-graph-builder/index.ts +7 -0
  273. package/src/capabilities/blueprint-definition/blueprint-definition.ts +60 -0
  274. package/src/capabilities/blueprint-definition/index.ts +8 -0
  275. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +32 -0
  276. package/src/capabilities/edge-model-resolver/index.ts +7 -0
  277. package/src/capabilities/index.ts +10 -14
  278. package/src/capabilities/local-model-resolver/index.ts +7 -0
  279. package/src/capabilities/local-model-resolver/local-model-resolver.ts +37 -0
  280. package/src/capabilities/operation-resolver/index.ts +7 -0
  281. package/src/capabilities/operation-resolver/operation-resolver.ts +110 -0
  282. package/src/capabilities/react-surface/index.ts +7 -0
  283. package/src/capabilities/react-surface/react-surface.tsx +95 -0
  284. package/src/capabilities/repair/index.ts +7 -0
  285. package/src/capabilities/repair/repair.ts +63 -0
  286. package/src/capabilities/settings/index.ts +7 -0
  287. package/src/capabilities/settings/settings.ts +30 -0
  288. package/src/capabilities/state/index.ts +7 -0
  289. package/src/capabilities/state/state.ts +27 -0
  290. package/src/capabilities/toolkit/index.ts +7 -0
  291. package/src/capabilities/toolkit/toolkit.ts +26 -0
  292. package/src/components/AssistantSettings/AssistantSettings.tsx +13 -5
  293. package/src/components/BlueprintArticle.tsx +29 -0
  294. package/src/components/Chat/Chat.tsx +160 -125
  295. package/src/components/Chat/events.ts +7 -1
  296. package/src/components/ChatCompanion.tsx +132 -105
  297. package/src/components/ChatContainer.tsx +40 -30
  298. package/src/components/ChatDialog.tsx +13 -7
  299. package/src/components/ChatProgress/ChatProgress.tsx +4 -17
  300. package/src/components/ChatPrompt/ChatActions.tsx +3 -5
  301. package/src/components/ChatPrompt/ChatOptions.tsx +93 -80
  302. package/src/components/ChatPrompt/ChatReferences.tsx +7 -8
  303. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
  304. package/src/components/ChatThread/ChatThread.stories.tsx +57 -36
  305. package/src/components/ChatThread/ChatThread.tsx +26 -36
  306. package/src/components/ChatThread/Link.tsx +3 -3
  307. package/src/components/ChatThread/registry.tsx +25 -35
  308. package/src/components/ChatThread/sync.test.ts +33 -17
  309. package/src/components/ChatThread/sync.ts +53 -12
  310. package/src/components/ChatThread/testing/thread.md +37 -0
  311. package/src/components/PromptArticle.tsx +50 -0
  312. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +12 -4
  313. package/src/components/TemplateEditor/TemplateEditor.tsx +14 -10
  314. package/src/components/TemplateEditor/TemplateForm.stories.tsx +15 -7
  315. package/src/components/TemplateEditor/TemplateForm.tsx +76 -29
  316. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  317. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  318. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  319. package/src/components/ToolBlock/ToolBlock.tsx +36 -45
  320. package/src/components/Toolbox/Toolbox.stories.tsx +9 -10
  321. package/src/components/Toolbox/Toolbox.tsx +16 -17
  322. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  323. package/src/components/Typewriter/Typewriter.stories.tsx +83 -0
  324. package/src/components/Typewriter/Typewriter.tsx +54 -0
  325. package/src/components/Typewriter/assistant-extension.tsx +144 -0
  326. package/src/components/Typewriter/index.ts +5 -0
  327. package/src/components/index.ts +2 -3
  328. package/src/functions/index.ts +1 -1
  329. package/src/functions/object-list.ts +4 -3
  330. package/src/functions/object-load.ts +7 -5
  331. package/src/functions/object-search.ts +46 -0
  332. package/src/hooks/index.ts +2 -1
  333. package/src/hooks/useBlueprintRegistry.ts +31 -20
  334. package/src/hooks/useChatProcessor.ts +15 -12
  335. package/src/hooks/useChatServices.ts +13 -14
  336. package/src/hooks/useChatToolbarActions.ts +121 -0
  337. package/src/hooks/useContextBinder.ts +9 -7
  338. package/src/hooks/useContextObjects.ts +13 -25
  339. package/src/hooks/useFilteredTypes.ts +37 -0
  340. package/src/hooks/useReferencesProvider.ts +7 -6
  341. package/src/index.ts +0 -1
  342. package/src/meta.ts +2 -2
  343. package/src/processor/presets.ts +1 -1
  344. package/src/processor/processor.test.ts +8 -17
  345. package/src/processor/processor.ts +41 -43
  346. package/src/processor/update-name.ts +4 -2
  347. package/src/queue-logger.ts +8 -9
  348. package/src/testing/test-generator.ts +14 -13
  349. package/src/testing/test-services.ts +8 -6
  350. package/src/translations.ts +27 -16
  351. package/src/types/Assistant.ts +9 -10
  352. package/src/types/AssistantAction.ts +59 -54
  353. package/src/types/capabilities.ts +27 -0
  354. package/src/types/events.ts +11 -0
  355. package/src/types/index.ts +3 -1
  356. package/src/types/service.ts +10 -7
  357. package/dist/lib/browser/BlueprintContainer-GMSYKGSO.mjs +0 -36
  358. package/dist/lib/browser/BlueprintContainer-GMSYKGSO.mjs.map +0 -7
  359. package/dist/lib/browser/ChatCompanion-M3FDKTQM.mjs +0 -151
  360. package/dist/lib/browser/ChatCompanion-M3FDKTQM.mjs.map +0 -7
  361. package/dist/lib/browser/ChatContainer-KAH7XITI.mjs +0 -74
  362. package/dist/lib/browser/ChatContainer-KAH7XITI.mjs.map +0 -7
  363. package/dist/lib/browser/ChatDialog-ZWRGABW6.mjs +0 -87
  364. package/dist/lib/browser/ChatDialog-ZWRGABW6.mjs.map +0 -7
  365. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
  366. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
  367. package/dist/lib/browser/app-graph-builder-R5T7BJPC.mjs +0 -183
  368. package/dist/lib/browser/app-graph-builder-R5T7BJPC.mjs.map +0 -7
  369. package/dist/lib/browser/blueprint-definition-AGTDXTXO.mjs +0 -13
  370. package/dist/lib/browser/chunk-357IHWQL.mjs +0 -1519
  371. package/dist/lib/browser/chunk-357IHWQL.mjs.map +0 -7
  372. package/dist/lib/browser/chunk-A2NVNXPL.mjs +0 -170
  373. package/dist/lib/browser/chunk-A2NVNXPL.mjs.map +0 -7
  374. package/dist/lib/browser/chunk-CQW6UPJM.mjs +0 -199
  375. package/dist/lib/browser/chunk-CQW6UPJM.mjs.map +0 -7
  376. package/dist/lib/browser/chunk-GNI6HL6G.mjs +0 -219
  377. package/dist/lib/browser/chunk-GNI6HL6G.mjs.map +0 -7
  378. package/dist/lib/browser/chunk-GXHZTOWJ.mjs +0 -378
  379. package/dist/lib/browser/chunk-GXHZTOWJ.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-L5OA5OGS.mjs.map +0 -7
  381. package/dist/lib/browser/chunk-MEN5WTLA.mjs +0 -182
  382. package/dist/lib/browser/chunk-MEN5WTLA.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-PUG24BEC.mjs +0 -277
  384. package/dist/lib/browser/chunk-PUG24BEC.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-SJJV3HEX.mjs +0 -16
  386. package/dist/lib/browser/chunk-SJJV3HEX.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
  388. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
  389. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
  390. package/dist/lib/browser/intent-resolver-3C5TABOX.mjs +0 -136
  391. package/dist/lib/browser/intent-resolver-3C5TABOX.mjs.map +0 -7
  392. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs +0 -17
  393. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs.map +0 -7
  394. package/dist/lib/browser/react-surface-EYKA5IFU.mjs +0 -90
  395. package/dist/lib/browser/react-surface-EYKA5IFU.mjs.map +0 -7
  396. package/dist/lib/browser/settings-VMVBYZLN.mjs +0 -23
  397. package/dist/lib/browser/settings-VMVBYZLN.mjs.map +0 -7
  398. package/dist/lib/browser/state-CFREPBB6.mjs +0 -21
  399. package/dist/lib/browser/state-CFREPBB6.mjs.map +0 -7
  400. package/dist/lib/browser/toolkit-F3NQ7TSI.mjs +0 -21
  401. package/dist/lib/browser/toolkit-F3NQ7TSI.mjs.map +0 -7
  402. package/dist/lib/node-esm/BlueprintContainer-6GBLMK4Z.mjs +0 -37
  403. package/dist/lib/node-esm/BlueprintContainer-6GBLMK4Z.mjs.map +0 -7
  404. package/dist/lib/node-esm/ChatCompanion-OV426GCP.mjs +0 -152
  405. package/dist/lib/node-esm/ChatCompanion-OV426GCP.mjs.map +0 -7
  406. package/dist/lib/node-esm/ChatContainer-UKY7NHFY.mjs +0 -75
  407. package/dist/lib/node-esm/ChatContainer-UKY7NHFY.mjs.map +0 -7
  408. package/dist/lib/node-esm/ChatDialog-2BDQIEXH.mjs +0 -88
  409. package/dist/lib/node-esm/ChatDialog-2BDQIEXH.mjs.map +0 -7
  410. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
  411. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
  412. package/dist/lib/node-esm/app-graph-builder-I52RYVWH.mjs +0 -184
  413. package/dist/lib/node-esm/app-graph-builder-I52RYVWH.mjs.map +0 -7
  414. package/dist/lib/node-esm/chunk-2CAETDW2.mjs +0 -183
  415. package/dist/lib/node-esm/chunk-2CAETDW2.mjs.map +0 -7
  416. package/dist/lib/node-esm/chunk-4J5FYNNM.mjs +0 -171
  417. package/dist/lib/node-esm/chunk-4J5FYNNM.mjs.map +0 -7
  418. package/dist/lib/node-esm/chunk-5ARE4R2I.mjs +0 -220
  419. package/dist/lib/node-esm/chunk-5ARE4R2I.mjs.map +0 -7
  420. package/dist/lib/node-esm/chunk-7ZYOYW7F.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-HJPIYMWD.mjs +0 -1520
  422. package/dist/lib/node-esm/chunk-HJPIYMWD.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-O36P4LN5.mjs +0 -200
  424. package/dist/lib/node-esm/chunk-O36P4LN5.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
  426. package/dist/lib/node-esm/chunk-XM4BVQQR.mjs +0 -278
  427. package/dist/lib/node-esm/chunk-XM4BVQQR.mjs.map +0 -7
  428. package/dist/lib/node-esm/chunk-XQBL2SBL.mjs +0 -17
  429. package/dist/lib/node-esm/chunk-XQBL2SBL.mjs.map +0 -7
  430. package/dist/lib/node-esm/chunk-YIO5MEPR.mjs +0 -380
  431. package/dist/lib/node-esm/chunk-YIO5MEPR.mjs.map +0 -7
  432. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
  433. package/dist/lib/node-esm/intent-resolver-HQ27YALS.mjs +0 -137
  434. package/dist/lib/node-esm/intent-resolver-HQ27YALS.mjs.map +0 -7
  435. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs +0 -18
  436. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs.map +0 -7
  437. package/dist/lib/node-esm/react-surface-UOC3CBPH.mjs +0 -91
  438. package/dist/lib/node-esm/react-surface-UOC3CBPH.mjs.map +0 -7
  439. package/dist/lib/node-esm/settings-7AUVNDM2.mjs +0 -24
  440. package/dist/lib/node-esm/settings-7AUVNDM2.mjs.map +0 -7
  441. package/dist/lib/node-esm/state-XXND44OW.mjs +0 -22
  442. package/dist/lib/node-esm/state-XXND44OW.mjs.map +0 -7
  443. package/dist/lib/node-esm/toolkit-7CH5UNSQ.mjs +0 -22
  444. package/dist/lib/node-esm/toolkit-7CH5UNSQ.mjs.map +0 -7
  445. package/dist/types/src/capabilities/ai-service.d.ts +0 -4
  446. package/dist/types/src/capabilities/ai-service.d.ts.map +0 -1
  447. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  448. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
  450. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  451. package/dist/types/src/capabilities/capabilities.d.ts +0 -11
  452. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/edge-model-resolver.d.ts +0 -4
  454. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  456. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  457. package/dist/types/src/capabilities/local-model-resolver.d.ts +0 -10
  458. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +0 -1
  459. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  460. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  461. package/dist/types/src/capabilities/settings.d.ts +0 -4
  462. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  463. package/dist/types/src/capabilities/state.d.ts +0 -4
  464. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  465. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  466. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  467. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  468. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  469. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  470. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  471. package/dist/types/src/components/ChatToolbar/ChatToolbar.d.ts +0 -6
  472. package/dist/types/src/components/ChatToolbar/ChatToolbar.d.ts.map +0 -1
  473. package/dist/types/src/components/ChatToolbar/index.d.ts +0 -2
  474. package/dist/types/src/components/ChatToolbar/index.d.ts.map +0 -1
  475. package/dist/types/src/components/ChatToolbar/useChatToolbarActions.d.ts +0 -9
  476. package/dist/types/src/components/ChatToolbar/useChatToolbarActions.d.ts.map +0 -1
  477. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +0 -1
  478. package/dist/types/src/events.d.ts +0 -4
  479. package/dist/types/src/events.d.ts.map +0 -1
  480. package/dist/types/src/functions/analysis.d.ts +0 -5
  481. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  482. package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
  483. package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
  484. package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -21
  485. package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
  486. package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -69
  487. package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
  488. package/dist/types/src/toolkits/index.d.ts +0 -3
  489. package/dist/types/src/toolkits/index.d.ts.map +0 -1
  490. package/src/capabilities/ai-service.ts +0 -27
  491. package/src/capabilities/app-graph-builder.ts +0 -194
  492. package/src/capabilities/blueprint-definition.ts +0 -66
  493. package/src/capabilities/capabilities.ts +0 -18
  494. package/src/capabilities/edge-model-resolver.ts +0 -25
  495. package/src/capabilities/intent-resolver.ts +0 -121
  496. package/src/capabilities/local-model-resolver.ts +0 -30
  497. package/src/capabilities/react-surface.tsx +0 -71
  498. package/src/capabilities/settings.ts +0 -19
  499. package/src/capabilities/state.ts +0 -20
  500. package/src/capabilities/toolkit.ts +0 -19
  501. package/src/components/BlueprintContainer.tsx +0 -30
  502. package/src/components/ChatThread/reducers.ts +0 -151
  503. package/src/components/ChatToolbar/ChatToolbar.tsx +0 -23
  504. package/src/components/ChatToolbar/index.ts +0 -5
  505. package/src/components/ChatToolbar/useChatToolbarActions.ts +0 -126
  506. package/src/components/TemplateEditor/handlebars-extension.ts +0 -166
  507. package/src/events.ts +0 -11
  508. package/src/functions/analysis.ts +0 -22
  509. package/src/hooks/useItemTypes.ts +0 -37
  510. package/src/toolkits/AssistantToolkit.ts +0 -55
  511. package/src/toolkits/SystemToolkit.ts +0 -292
  512. package/src/toolkits/index.ts +0 -6
  513. /package/dist/lib/browser/{blueprint-definition-AGTDXTXO.mjs.map → blueprint-definition-DGHH7MUU.mjs.map} +0 -0
  514. /package/dist/lib/{node-esm/blueprint-definition-CFCUD2VC.mjs.map → browser/blueprints/index.mjs.map} +0 -0
  515. /package/dist/types/src/components/TemplateEditor/{handlebars-extension.d.ts → extensions/handlebars-extension.d.ts} +0 -0
@@ -1,378 +0,0 @@
1
- // src/toolkits/AssistantToolkit.ts
2
- import * as Tool from "@effect/ai/Tool";
3
- import * as Toolkit from "@effect/ai/Toolkit";
4
- import * as Effect from "effect/Effect";
5
- import * as Record from "effect/Record";
6
- import * as Schema from "effect/Schema";
7
- import { AiContextService, ArtifactId } from "@dxos/assistant";
8
- import { Ref } from "@dxos/echo";
9
- import { DatabaseService } from "@dxos/functions";
10
- import { trim } from "@dxos/util";
11
- var Toolkit$ = Toolkit.make(Tool.make("add-to-context", {
12
- description: trim`
13
- Adds the object to the chat context.
14
- `,
15
- parameters: {
16
- id: ArtifactId.annotations({
17
- description: "The ID of the document to read."
18
- })
19
- },
20
- success: Schema.Void,
21
- failure: Schema.Never,
22
- dependencies: [
23
- AiContextService,
24
- DatabaseService
25
- ]
26
- }));
27
- (function(AssistantToolkit2) {
28
- AssistantToolkit2.Toolkit = Toolkit$;
29
- AssistantToolkit2.tools = Record.keys(Toolkit$.tools);
30
- AssistantToolkit2.createLayer = (_context) => Toolkit$.toLayer({
31
- "add-to-context": Effect.fnUntraced(function* ({ id }) {
32
- const { binder } = yield* AiContextService;
33
- const { db } = yield* DatabaseService;
34
- const ref = Ref.fromDXN(ArtifactId.toDXN(id, db.spaceId));
35
- yield* Effect.promise(() => binder.bind({
36
- blueprints: [],
37
- objects: [
38
- ref
39
- ]
40
- }));
41
- })
42
- });
43
- })(AssistantToolkit || (AssistantToolkit = {}));
44
- var AssistantToolkit;
45
-
46
- // src/toolkits/SystemToolkit.ts
47
- import * as Tool2 from "@effect/ai/Tool";
48
- import * as Toolkit2 from "@effect/ai/Toolkit";
49
- import * as Effect2 from "effect/Effect";
50
- import * as Record2 from "effect/Record";
51
- import * as Schema2 from "effect/Schema";
52
- import { Capabilities, createIntent } from "@dxos/app-framework";
53
- import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
54
- import { DXN, Filter, Obj, Relation, SchemaNotFoundError, Tag, Type } from "@dxos/echo";
55
- import { DatabaseService as DatabaseService2 } from "@dxos/functions";
56
- import { invariant } from "@dxos/invariant";
57
- import { ClientCapabilities } from "@dxos/plugin-client";
58
- import { SpaceCapabilities, getActiveSpace } from "@dxos/plugin-space";
59
- import { SpaceAction } from "@dxos/plugin-space/types";
60
- import { DataType } from "@dxos/schema";
61
- import { trim as trim2 } from "@dxos/util";
62
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/toolkits/SystemToolkit.ts";
63
- var Toolkit$2 = Toolkit2.make(
64
- //
65
- // Schema
66
- //
67
- Tool2.make("schema-list", {
68
- description: trim2`
69
- Lists schemas definitions.
70
- `,
71
- parameters: {
72
- // TODO(wittjosiah): Remove this once parameter-less tools are fixed.
73
- limit: Schema2.Number
74
- },
75
- // TODO(dmaretskyi): Effect returns ({ result, encodedResult })
76
- success: Schema2.Any,
77
- failure: Schema2.Never
78
- }),
79
- Tool2.make("schema-add", {
80
- description: trim2`
81
- Adds a schema to the space.
82
- The name will be used when displayed to the user.
83
- The typename must be in the format of "example.com/type/Type".
84
- `,
85
- parameters: {
86
- name: Schema2.String,
87
- typename: Schema2.String,
88
- jsonSchema: Schema2.Any
89
- },
90
- success: Schema2.Any,
91
- failure: Schema2.Never
92
- }),
93
- //
94
- // Objects
95
- //
96
- Tool2.make("object-create", {
97
- description: trim2`
98
- Creates a new object and adds it to the current space.
99
- Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.
100
- `,
101
- parameters: {
102
- typename: Schema2.String,
103
- data: Schema2.Any
104
- },
105
- success: Schema2.Any,
106
- failure: Schema2.Never
107
- }),
108
- Tool2.make("object-remove", {
109
- description: trim2`
110
- Removes an object or relation from the database.
111
- `,
112
- parameters: {
113
- id: ArtifactId2.annotations({
114
- description: "The ID of the object."
115
- })
116
- },
117
- success: Schema2.Any,
118
- failure: Schema2.Never
119
- }),
120
- //
121
- // Relations
122
- //
123
- Tool2.make("relation-create", {
124
- description: trim2`
125
- Creates a new relation and adds it to the current space.
126
- Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.
127
- `,
128
- parameters: {
129
- typename: Schema2.String,
130
- source: ArtifactId2.annotations({
131
- description: "The ID of the source object."
132
- }),
133
- target: ArtifactId2.annotations({
134
- description: "The ID of the target object."
135
- }),
136
- data: Schema2.Any.annotations({
137
- description: "The data to be stored in the relation."
138
- })
139
- },
140
- success: Schema2.Any,
141
- failure: Schema2.Never
142
- }),
143
- //
144
- // Tags
145
- //
146
- Tool2.make("tag-add", {
147
- description: trim2`
148
- Adds a tag to an object.
149
- Tags are objects of type ${Tag.Tag.typename}.
150
- `,
151
- parameters: {
152
- tagId: ArtifactId2.annotations({
153
- description: "The ID of the tag."
154
- }),
155
- objectId: ArtifactId2.annotations({
156
- description: "The ID of the object."
157
- })
158
- },
159
- success: Schema2.Any,
160
- failure: Schema2.Never
161
- }),
162
- Tool2.make("tag-remove", {
163
- description: trim2`
164
- Removes a tag from an object.
165
- Tags are objects of type ${Tag.Tag.typename}.
166
- `,
167
- parameters: {
168
- tagId: ArtifactId2.annotations({
169
- description: "The ID of the tag."
170
- }),
171
- objectId: ArtifactId2.annotations({
172
- description: "The ID of the object."
173
- })
174
- },
175
- success: Schema2.Any,
176
- failure: Schema2.Never
177
- })
178
- );
179
- (function(SystemToolkit2) {
180
- SystemToolkit2.Toolkit = Toolkit$2;
181
- SystemToolkit2.tools = Record2.keys(Toolkit$2.tools);
182
- SystemToolkit2.createLayer = (context) => Toolkit$2.toLayer({
183
- "schema-list": () => {
184
- const space = getActiveSpace(context);
185
- invariant(space, "No active space", {
186
- F: __dxlog_file,
187
- L: 162,
188
- S: this,
189
- A: [
190
- "space",
191
- "'No active space'"
192
- ]
193
- });
194
- return Effect2.gen(function* () {
195
- const registered = context.getCapabilities(ClientCapabilities.Schema).flat().map((schema) => {
196
- const meta = Type.getMeta(schema);
197
- return {
198
- typename: Type.getTypename(schema),
199
- jsonSchema: Type.toJsonSchema(schema),
200
- kind: meta?.sourceSchema ? "relation" : "record"
201
- };
202
- });
203
- const forms = context.getCapabilities(SpaceCapabilities.ObjectForm).map((form) => ({
204
- typename: Type.getTypename(form.objectSchema),
205
- jsonSchema: Type.toJsonSchema(form.objectSchema),
206
- kind: "item"
207
- }));
208
- const schemas = [
209
- ...registered,
210
- ...forms
211
- ];
212
- if (space) {
213
- const { objects } = yield* DatabaseService2.runQuery(Filter.type(DataType.StoredSchema));
214
- schemas.push(...objects.map((object) => ({
215
- typename: object.typename,
216
- jsonSchema: object.jsonSchema,
217
- kind: "record"
218
- })));
219
- }
220
- return schemas;
221
- }).pipe(Effect2.provide(DatabaseService2.layer(space.db)));
222
- },
223
- "schema-add": ({ name, typename, jsonSchema }) => {
224
- return Effect2.gen(function* () {
225
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
226
- const space = getActiveSpace(context);
227
- invariant(space, "No active space", {
228
- F: __dxlog_file,
229
- L: 205,
230
- S: this,
231
- A: [
232
- "space",
233
- "'No active space'"
234
- ]
235
- });
236
- const schema = Type.toEffectSchema(jsonSchema).pipe(Type.Obj({
237
- typename,
238
- version: "0.1.0"
239
- }));
240
- yield* dispatch(createIntent(SpaceAction.AddSchema, {
241
- space,
242
- name,
243
- typename,
244
- schema
245
- }));
246
- }).pipe(Effect2.orDie);
247
- },
248
- "object-create": ({ typename, data }) => {
249
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
250
- const space = getActiveSpace(context);
251
- invariant(space, "No active space", {
252
- F: __dxlog_file,
253
- L: 215,
254
- S: this,
255
- A: [
256
- "space",
257
- "'No active space'"
258
- ]
259
- });
260
- return Effect2.gen(function* () {
261
- const schemas = context.getCapabilities(ClientCapabilities.Schema).flat();
262
- const { objects } = yield* DatabaseService2.runQuery(Filter.type(DataType.StoredSchema));
263
- schemas.push(...objects.map((object2) => Type.toEffectSchema(object2.jsonSchema)));
264
- const schema = schemas.find((schema2) => Type.getTypename(schema2) === typename);
265
- if (!schema) {
266
- throw new SchemaNotFoundError(typename);
267
- }
268
- const object = Obj.make(schema, data);
269
- yield* dispatch(createIntent(SpaceAction.AddObject, {
270
- object,
271
- target: space,
272
- hidden: true
273
- }));
274
- return object;
275
- }).pipe(Effect2.provide(DatabaseService2.layer(space.db)), Effect2.orDie);
276
- },
277
- "object-remove": ({ id }) => {
278
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
279
- const space = getActiveSpace(context);
280
- invariant(space, "No active space", {
281
- F: __dxlog_file,
282
- L: 235,
283
- S: this,
284
- A: [
285
- "space",
286
- "'No active space'"
287
- ]
288
- });
289
- return Effect2.gen(function* () {
290
- const object = yield* DatabaseService2.resolve(DXN.parse(id));
291
- yield* dispatch(createIntent(SpaceAction.RemoveObjects, {
292
- objects: [
293
- object
294
- ]
295
- }));
296
- return object;
297
- }).pipe(Effect2.provide(DatabaseService2.layer(space.db)), Effect2.orDie);
298
- },
299
- "relation-create": ({ typename, source, target, data }) => {
300
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
301
- const space = getActiveSpace(context);
302
- invariant(space, "No active space", {
303
- F: __dxlog_file,
304
- L: 247,
305
- S: this,
306
- A: [
307
- "space",
308
- "'No active space'"
309
- ]
310
- });
311
- return Effect2.gen(function* () {
312
- const schemas = context.getCapabilities(ClientCapabilities.Schema).flat();
313
- const schema = schemas.find((schema2) => Type.getTypename(schema2) === typename);
314
- if (!schema) {
315
- throw new SchemaNotFoundError(typename);
316
- }
317
- const sourceObj = yield* DatabaseService2.resolve(DXN.parse(source));
318
- const targetObj = yield* DatabaseService2.resolve(DXN.parse(target));
319
- const relation = Relation.make(schema, {
320
- [Relation.Source]: sourceObj,
321
- [Relation.Target]: targetObj,
322
- ...data
323
- });
324
- yield* dispatch(createIntent(SpaceAction.AddObject, {
325
- object: relation,
326
- target: space,
327
- hidden: true
328
- }));
329
- return relation;
330
- }).pipe(Effect2.provide(DatabaseService2.layer(space.db)), Effect2.orDie);
331
- },
332
- "tag-add": ({ tagId, objectId }) => {
333
- const space = getActiveSpace(context);
334
- invariant(space, "No active space", {
335
- F: __dxlog_file,
336
- L: 270,
337
- S: this,
338
- A: [
339
- "space",
340
- "'No active space'"
341
- ]
342
- });
343
- return Effect2.gen(function* () {
344
- const object = yield* DatabaseService2.resolve(DXN.parse(objectId));
345
- const meta = Obj.getMeta(object);
346
- meta.tags = [
347
- DXN.parse(tagId).toString()
348
- ];
349
- return object;
350
- }).pipe(Effect2.provide(DatabaseService2.layer(space.db)), Effect2.orDie);
351
- },
352
- "tag-remove": ({ tagId, objectId }) => {
353
- const space = getActiveSpace(context);
354
- invariant(space, "No active space", {
355
- F: __dxlog_file,
356
- L: 282,
357
- S: this,
358
- A: [
359
- "space",
360
- "'No active space'"
361
- ]
362
- });
363
- return Effect2.gen(function* () {
364
- const object = yield* DatabaseService2.resolve(DXN.parse(objectId));
365
- const meta = Obj.getMeta(object);
366
- meta.tags = meta.tags?.filter((tag) => tag !== DXN.parse(tagId).toString());
367
- return object;
368
- }).pipe(Effect2.provide(DatabaseService2.layer(space.db)), Effect2.orDie);
369
- }
370
- });
371
- })(SystemToolkit || (SystemToolkit = {}));
372
- var SystemToolkit;
373
-
374
- export {
375
- AssistantToolkit,
376
- SystemToolkit
377
- };
378
- //# sourceMappingURL=chunk-GXHZTOWJ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/toolkits/AssistantToolkit.ts", "../../../src/toolkits/SystemToolkit.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 Effect from 'effect/Effect';\nimport type * as Layer from 'effect/Layer';\nimport * as Record from 'effect/Record';\nimport * as Schema from 'effect/Schema';\n\nimport { type PluginContext } from '@dxos/app-framework';\nimport { AiContextService, ArtifactId } from '@dxos/assistant';\nimport { Ref } from '@dxos/echo';\nimport { DatabaseService } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nconst Toolkit$ = Toolkit.make(\n Tool.make('add-to-context', {\n description: trim`\n Adds the object to the chat context.\n `,\n parameters: {\n id: ArtifactId.annotations({\n description: 'The ID of the document to read.',\n }),\n },\n success: Schema.Void,\n failure: Schema.Never,\n dependencies: [AiContextService, DatabaseService],\n }),\n);\n\nexport namespace AssistantToolkit {\n export const Toolkit = Toolkit$;\n\n export const tools = Record.keys(Toolkit$.tools);\n\n export const createLayer = (\n _context: PluginContext,\n ): Layer.Layer<Tool.Handler<any>, never, AiContextService | DatabaseService> =>\n Toolkit$.toLayer({\n 'add-to-context': Effect.fnUntraced(function* ({ id }) {\n const { binder } = yield* AiContextService;\n const { db } = yield* DatabaseService;\n const ref = Ref.fromDXN(ArtifactId.toDXN(id, db.spaceId));\n yield* Effect.promise(() =>\n binder.bind({\n blueprints: [],\n objects: [ref],\n }),\n );\n }),\n });\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Effect from 'effect/Effect';\nimport type * as Layer from 'effect/Layer';\nimport * as Record from 'effect/Record';\nimport * as Schema from 'effect/Schema';\n\nimport { Capabilities, type PluginContext, createIntent } from '@dxos/app-framework';\nimport { ArtifactId } from '@dxos/assistant';\nimport { DXN, Filter, Obj, Relation, SchemaNotFoundError, Tag, Type } from '@dxos/echo';\nimport { DatabaseService } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { SpaceCapabilities, getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { DataType } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\n// TODO(burdon): Factor out (is there a way to remove plugin deps?)\n// TODO(burdon): Reconcile with functions (currently reuses plugin framework intents).\n\nconst Toolkit$ = Toolkit.make(\n //\n // Schema\n //\n\n Tool.make('schema-list', {\n description: trim`\n Lists schemas definitions.\n `,\n parameters: {\n // TODO(wittjosiah): Remove this once parameter-less tools are fixed.\n limit: Schema.Number,\n },\n // TODO(dmaretskyi): Effect returns ({ result, encodedResult })\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n Tool.make('schema-add', {\n description: trim`\n Adds a schema to the space.\n The name will be used when displayed to the user.\n The typename must be in the format of \"example.com/type/Type\".\n `,\n parameters: {\n name: Schema.String,\n typename: Schema.String,\n jsonSchema: Schema.Any,\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n //\n // Objects\n //\n\n Tool.make('object-create', {\n description: trim`\n Creates a new object and adds it to the current space.\n Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.\n `,\n parameters: {\n typename: Schema.String,\n data: Schema.Any,\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n Tool.make('object-remove', {\n description: trim`\n Removes an object or relation from the database.\n `,\n parameters: {\n id: ArtifactId.annotations({\n description: 'The ID of the object.',\n }),\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n //\n // Relations\n //\n\n Tool.make('relation-create', {\n description: trim`\n Creates a new relation and adds it to the current space.\n Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.\n `,\n parameters: {\n typename: Schema.String,\n source: ArtifactId.annotations({\n description: 'The ID of the source object.',\n }),\n target: ArtifactId.annotations({\n description: 'The ID of the target object.',\n }),\n data: Schema.Any.annotations({\n description: 'The data to be stored in the relation.',\n }),\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n //\n // Tags\n //\n\n Tool.make('tag-add', {\n description: trim`\n Adds a tag to an object.\n Tags are objects of type ${Tag.Tag.typename}.\n `,\n parameters: {\n tagId: ArtifactId.annotations({\n description: 'The ID of the tag.',\n }),\n objectId: ArtifactId.annotations({\n description: 'The ID of the object.',\n }),\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n Tool.make('tag-remove', {\n description: trim`\n Removes a tag from an object.\n Tags are objects of type ${Tag.Tag.typename}.\n `,\n parameters: {\n tagId: ArtifactId.annotations({\n description: 'The ID of the tag.',\n }),\n objectId: ArtifactId.annotations({\n description: 'The ID of the object.',\n }),\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n);\n\nexport namespace SystemToolkit {\n export const Toolkit = Toolkit$;\n\n export const tools = Record.keys(Toolkit$.tools);\n\n export const createLayer = (context: PluginContext): Layer.Layer<Tool.Handler<any>, never, never> =>\n Toolkit$.toLayer({\n 'schema-list': () => {\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const registered = context\n // TODO(burdon): Can we remove plugin dependency? Get from layer?\n .getCapabilities(ClientCapabilities.Schema)\n .flat()\n .map((schema) => {\n const meta = Type.getMeta(schema);\n return {\n typename: Type.getTypename(schema),\n jsonSchema: Type.toJsonSchema(schema),\n kind: meta?.sourceSchema ? 'relation' : 'record',\n };\n });\n\n // TODO(burdon): Can we remove plugin dependency? Get from layer?\n const forms = context.getCapabilities(SpaceCapabilities.ObjectForm).map((form) => ({\n typename: Type.getTypename(form.objectSchema),\n jsonSchema: Type.toJsonSchema(form.objectSchema),\n kind: 'item',\n }));\n\n const schemas = [...registered, ...forms];\n if (space) {\n const { objects } = yield* DatabaseService.runQuery(Filter.type(DataType.StoredSchema));\n schemas.push(\n ...objects.map((object) => ({\n typename: object.typename,\n jsonSchema: object.jsonSchema,\n kind: 'record',\n })),\n );\n }\n\n return schemas;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)));\n },\n\n 'schema-add': ({ name, typename, jsonSchema }) => {\n return Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n const schema = Type.toEffectSchema(jsonSchema).pipe(Type.Obj({ typename, version: '0.1.0' }));\n yield* dispatch(createIntent(SpaceAction.AddSchema, { space, name, typename, schema }));\n }).pipe(Effect.orDie);\n },\n\n 'object-create': ({ typename, data }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const schemas = context.getCapabilities(ClientCapabilities.Schema).flat();\n const { objects } = yield* DatabaseService.runQuery(Filter.type(DataType.StoredSchema));\n schemas.push(...objects.map((object) => Type.toEffectSchema(object.jsonSchema)));\n const schema = schemas.find((schema) => Type.getTypename(schema) === typename);\n if (!schema) {\n throw new SchemaNotFoundError(typename);\n }\n\n const object = Obj.make(schema, data);\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space, hidden: true }));\n return object;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n\n 'object-remove': ({ id }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const object = yield* DatabaseService.resolve(DXN.parse(id));\n yield* dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object] }));\n return object;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n\n 'relation-create': ({ typename, source, target, data }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const schemas = context.getCapabilities(ClientCapabilities.Schema).flat();\n const schema = schemas.find((schema) => Type.getTypename(schema) === typename);\n if (!schema) {\n throw new SchemaNotFoundError(typename);\n }\n\n const sourceObj = yield* DatabaseService.resolve(DXN.parse(source));\n const targetObj = yield* DatabaseService.resolve(DXN.parse(target));\n const relation = Relation.make(schema, {\n [Relation.Source]: sourceObj,\n [Relation.Target]: targetObj,\n ...data,\n });\n yield* dispatch(createIntent(SpaceAction.AddObject, { object: relation, target: space, hidden: true }));\n return relation;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n\n 'tag-add': ({ tagId, objectId }) => {\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const object = yield* DatabaseService.resolve(DXN.parse(objectId));\n const meta = Obj.getMeta(object);\n meta.tags = [DXN.parse(tagId).toString()];\n return object;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n\n 'tag-remove': ({ tagId, objectId }) => {\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const object = yield* DatabaseService.resolve(DXN.parse(objectId));\n const meta = Obj.getMeta(object);\n meta.tags = meta.tags?.filter((tag) => tag !== DXN.parse(tagId).toString());\n return object;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n });\n}\n"],
5
- "mappings": "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",
6
- "names": ["Tool", "Toolkit", "Effect", "Record", "Schema", "AiContextService", "ArtifactId", "Ref", "DatabaseService", "trim", "Toolkit$", "make", "description", "trim", "parameters", "id", "ArtifactId", "annotations", "success", "Void", "failure", "Never", "dependencies", "AiContextService", "DatabaseService", "AssistantToolkit", "Toolkit", "tools", "keys", "createLayer", "_context", "toLayer", "fnUntraced", "binder", "db", "ref", "Ref", "fromDXN", "toDXN", "spaceId", "promise", "bind", "blueprints", "objects", "Tool", "Toolkit", "Effect", "Record", "Schema", "Capabilities", "createIntent", "ArtifactId", "DXN", "Filter", "Obj", "Relation", "SchemaNotFoundError", "Tag", "Type", "DatabaseService", "invariant", "ClientCapabilities", "SpaceCapabilities", "getActiveSpace", "SpaceAction", "DataType", "trim", "Toolkit$", "make", "description", "parameters", "limit", "Number", "success", "Any", "failure", "Never", "name", "String", "typename", "jsonSchema", "data", "id", "annotations", "source", "target", "tagId", "objectId", "SystemToolkit", "tools", "keys", "createLayer", "context", "toLayer", "space", "gen", "registered", "getCapabilities", "flat", "map", "schema", "meta", "getMeta", "getTypename", "toJsonSchema", "kind", "sourceSchema", "forms", "ObjectForm", "form", "objectSchema", "schemas", "objects", "runQuery", "type", "StoredSchema", "push", "object", "pipe", "provide", "layer", "db", "dispatch", "getCapability", "IntentDispatcher", "toEffectSchema", "version", "AddSchema", "orDie", "find", "AddObject", "hidden", "resolve", "parse", "RemoveObjects", "sourceObj", "targetObj", "relation", "Source", "Target", "tags", "toString", "filter", "tag"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/processor/update-name.ts", "../../../src/processor/presets.ts", "../../../src/processor/processor.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport * as Fiber from 'effect/Fiber';\nimport * as Runtime from 'effect/Runtime';\n\nimport { AiService, DEFAULT_EDGE_MODEL, type ModelName } from '@dxos/ai';\nimport { type AiConversation, AiSession } from '@dxos/assistant';\nimport { throwCause } from '@dxos/effect';\nimport { trim } from '@dxos/util';\n\nimport { type Assistant } from '../types';\n\nimport { type AiChatServices } from './processor';\n\n/**\n * Update the current chat's name.\n */\n// TODO(burdon): Convert this into a plugin tool.\nexport const updateName = async (\n runtime: Runtime.Runtime<AiChatServices>,\n conversation: AiConversation,\n chat: Assistant.Chat,\n // TODO(burdon): Use simpler model.\n model: ModelName = DEFAULT_EDGE_MODEL,\n): Promise<void> => {\n const history = await conversation.getHistory();\n const system = trim`\n It is extremely important that you respond only with the title and nothing else.\n If you cannot do this effectively respond with \"New Chat\".\n `;\n const prompt = 'Suggest a name for this chat';\n\n const fiber = Effect.gen(this, function* () {\n const session = new AiSession();\n return yield* session.run({ system, prompt, history });\n }).pipe(\n Effect.provide(AiService.model(model)),\n Effect.tap((messages) => {\n // TODO(burdon): Parse response (should update via tool).\n const message = messages.find((message) => message.sender.role === 'assistant');\n const title = message?.blocks.find((block) => block._tag === 'text')?.text;\n if (title) {\n chat.name = title;\n }\n }),\n Runtime.runFork(runtime), // Run in the background.\n );\n\n const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);\n if (!Exit.isSuccess(response)) {\n throwCause(response.cause);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type ModelName } from '@dxos/ai';\n\nconst ModelProviders = ['dxos-local', 'dxos-remote', 'lm-studio'] as const;\n\nconst ModelProvider = Schema.Literal(...ModelProviders);\ntype ModelProvider = Schema.Schema.Type<typeof ModelProvider>;\n\nexport type AiServicePreset = {\n id: string;\n provider: ModelProvider;\n model: ModelName;\n label?: string;\n};\n\nconst createModelLabel = (model: ModelName) => {\n const parts = model.split('/');\n return parts[parts.length - 1];\n};\n\n// TODO(burdon): Users should be able to create and edit presets.\nexport const AiServicePresets: AiServicePreset[] = [\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-opus-4-0' as const,\n },\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-sonnet-4-0' as const,\n },\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-3-5-haiku-20241022' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: '@google/gemma-3-27b' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: '@mlx-community/llama-3.2-3b-instruct' as const,\n },\n {\n model: 'deepseek-r1:latest' as const,\n provider: 'dxos-local' as const,\n },\n].map(\n ({ model, provider }, i) =>\n ({\n id: `preset-${i}`,\n provider,\n model,\n label: createModelLabel(model),\n }) satisfies AiServicePreset,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Registry, Rx } from '@effect-rx/rx-react';\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport * as Fiber from 'effect/Fiber';\nimport * as Option from 'effect/Option';\nimport * as Runtime from 'effect/Runtime';\n\nimport {\n AiService,\n DEFAULT_EDGE_MODEL,\n type ModelName,\n type ModelRegistry,\n type ToolExecutionService,\n type ToolResolverService,\n} from '@dxos/ai';\nimport {\n type AiConversation,\n type AiConversationRunParams,\n ArtifactDiffResolver,\n GenerationObserver,\n createSystemPrompt,\n} from '@dxos/assistant';\nimport { type Blueprint } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { throwCause } from '@dxos/effect';\nimport {\n type CredentialsService,\n type DatabaseService,\n type FunctionInvocationService,\n type QueueService,\n type TracingService,\n} from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type ContentBlock, DataType } from '@dxos/schema';\n\nimport { type Assistant } from '../types';\n\nimport { updateName } from './update-name';\n\nexport type AiChatServices =\n | CredentialsService\n | DatabaseService\n | QueueService\n | FunctionInvocationService\n | AiService.AiService\n | ToolExecutionService\n | ToolResolverService\n | TracingService;\n\nexport type AiChatProcessorOptions = {\n model?: ModelName;\n modelRegistry?: ModelRegistry;\n blueprintRegistry?: Blueprint.Registry;\n observableRegistry?: Registry.Registry;\n extensions?: ToolContextExtensions;\n} & Pick<AiConversationRunParams, 'system'>;\n\nconst defaultOptions: Partial<AiChatProcessorOptions> = {\n model: DEFAULT_EDGE_MODEL,\n};\n\n// TODO(burdon): Retry, timeout?\nexport type AiRequestOptions = {};\n\nexport type AiRequest = {\n message: string;\n options?: AiRequestOptions;\n};\n\n/**\n * Handles interactions with the AI service.\n * Handles streaming responses from the conversation.\n */\nexport class AiChatProcessor {\n private readonly _rx: Registry.Registry;\n\n /** External observer. */\n private readonly _observer: GenerationObserver;\n\n /** Currently active request fiber. */\n private _fiber: Fiber.Fiber<void, any> | undefined;\n\n /** Last request (for retries). */\n private _lastRequest: AiRequest | undefined;\n\n /** Pending messages (incl. the current user request). */\n private readonly _pending = Rx.make<DataType.Message[]>([]);\n\n /** Currently streaming message (from the AI service). */\n private readonly _streaming = Rx.make<Option.Option<DataType.Message>>(Option.none());\n\n /** Streaming state. */\n public readonly streaming = Rx.make<boolean>((get) => Option.isSome(get(this._streaming)));\n\n /** Active state. */\n public readonly active = Rx.make(false);\n\n /** Array of Messages (incl. the current message being streamed). */\n public readonly messages = Rx.make<DataType.Message[]>((get) =>\n Option.match(get(this._streaming), {\n onNone: () => get(this._pending),\n onSome: (streaming) => [...get(this._pending), streaming],\n }),\n );\n\n /** Last error. */\n public readonly error = Rx.make<Option.Option<Error>>(Option.none());\n\n constructor(\n private readonly _conversation: AiConversation,\n // TODO(dmaretskyi): Replace this with effect's ManagedRuntime wrapping this layer.\n private readonly _services: () => Promise<Runtime.Runtime<AiChatServices>>,\n private readonly _options: AiChatProcessorOptions = defaultOptions,\n ) {\n // Initialize registries and defaults before using in other logic.\n this._rx = this._options.observableRegistry ?? Registry.make();\n this._observer = GenerationObserver.make({\n onBlock: this._onBlock,\n onMessage: this._onMessage,\n });\n if (this._options.model && !this._options.system) {\n const capabilities = this._options.modelRegistry?.getCapabilities(this._options.model) ?? {};\n this._options.system = createSystemPrompt(capabilities);\n }\n }\n\n get context() {\n return this._conversation.context;\n }\n\n get conversation() {\n return this._conversation;\n }\n\n get blueprintRegistry() {\n return this._options.blueprintRegistry;\n }\n\n /**\n * Initiates a new request.\n */\n async request(requestParam: AiRequest): Promise<void> {\n if (this._fiber) {\n await this.cancel();\n }\n\n try {\n this._lastRequest = requestParam;\n this._rx.set(this.error, Option.none());\n this._rx.set(this.active, true);\n\n // Create request.\n const request = this._conversation.createRequest({\n system: this._options.system,\n prompt: requestParam.message,\n observer: this._observer,\n });\n\n const runtime = await this._services();\n\n // Create fiber.\n this._fiber = request.pipe(\n Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),\n\n // TODO(dmaretskyi): Move ArtifactDiffResolver upstream.\n Effect.provideService(ArtifactDiffResolver, this._artifactDiffResolver),\n\n Effect.asVoid,\n Runtime.runFork(runtime), // Runs in the background.\n );\n\n // Execute request.\n const response = await this._fiber.pipe(Fiber.join, Effect.runPromiseExit);\n if (!Exit.isSuccess(response) && !Cause.isInterruptedOnly(response.cause)) {\n throwCause(response.cause);\n }\n\n this._rx.set(this.error, Option.none());\n this._lastRequest = undefined;\n this._fiber = undefined;\n } catch (error) {\n log.error('request failed', { error });\n this._rx.set(this.error, Option.some(new Error('AI service error', { cause: error })));\n } finally {\n this._fiber = undefined;\n this._rx.set(this.active, false);\n }\n }\n\n /**\n * Cancels the current request.\n */\n async cancel(): Promise<void> {\n await Effect.runPromise(\n Effect.gen(this, function* () {\n if (this._fiber) {\n yield* this._fiber.pipe(Fiber.interrupt);\n }\n }),\n );\n\n this._fiber = undefined;\n this._rx.set(this.active, false);\n }\n\n /**\n * Retry last failed request.\n */\n async retry(): Promise<void> {\n if (this._lastRequest) {\n return this.request(this._lastRequest);\n }\n }\n\n /**\n * Update the current chat's name.\n */\n async updateName(chat: Assistant.Chat): Promise<void> {\n const runtime = await this._services();\n await updateName(runtime, this._conversation, chat, this._options.model);\n }\n\n // TODO(burdon): Fix/factor out.\n private _artifactDiffResolver: ArtifactDiffResolver.Service = {\n resolve: async (_artifacts) => {\n const versions = new Map();\n // await Promise.all(\n // artifacts.map(async (artifact) => {\n // const {\n // objects: [object],\n // } = await space.db.query(Filter.ids(artifact.id)).run();\n // if (!object) {\n // return;\n // }\n\n // versions.set(artifact.id, {\n // version: getVersion(object),\n // diff: `Current state: ${JSON.stringify(object)}`,\n // });\n // }),\n // );\n\n return versions;\n },\n };\n\n private _onMessage = Effect.fn(\n function* (this: AiChatProcessor, message: DataType.Message) {\n this._rx.set(this._streaming, Option.none());\n this._rx.update(this._pending, (pending) => [...pending, message]);\n }.bind(this),\n );\n\n private _onBlock = Effect.fn(\n function* (this: AiChatProcessor, block: ContentBlock.Any) {\n this._rx.update(this._streaming, (streaming) => {\n const blocks = streaming.pipe(\n Option.map((streaming) => streaming.blocks.filter((b) => !b.pending)),\n Option.getOrElse(() => []),\n );\n\n return Option.some(\n Obj.make(DataType.Message, {\n created: new Date().toISOString(),\n sender: { role: 'assistant' },\n blocks: [...blocks, block],\n }),\n );\n });\n }.bind(this),\n );\n}\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Exit", "Fiber", "Runtime", "AiService", "DEFAULT_EDGE_MODEL", "AiSession", "throwCause", "trim", "updateName", "runtime", "conversation", "chat", "model", "DEFAULT_EDGE_MODEL", "history", "getHistory", "system", "trim", "prompt", "fiber", "gen", "session", "AiSession", "run", "pipe", "provide", "AiService", "tap", "messages", "message", "find", "sender", "role", "title", "blocks", "block", "_tag", "text", "name", "runFork", "response", "join", "runPromiseExit", "isSuccess", "throwCause", "cause", "Schema", "ModelProviders", "ModelProvider", "Literal", "createModelLabel", "model", "parts", "split", "length", "AiServicePresets", "provider", "map", "i", "id", "label", "Registry", "Rx", "Cause", "Effect", "Exit", "Fiber", "Option", "Runtime", "AiService", "DEFAULT_EDGE_MODEL", "ArtifactDiffResolver", "GenerationObserver", "createSystemPrompt", "Obj", "throwCause", "log", "DataType", "defaultOptions", "model", "DEFAULT_EDGE_MODEL", "AiChatProcessor", "_rx", "_observer", "_fiber", "_lastRequest", "_pending", "Rx", "make", "_streaming", "none", "streaming", "get", "isSome", "active", "messages", "match", "onNone", "onSome", "error", "_conversation", "_services", "_options", "observableRegistry", "Registry", "GenerationObserver", "onBlock", "_onBlock", "onMessage", "_onMessage", "system", "capabilities", "modelRegistry", "getCapabilities", "createSystemPrompt", "context", "conversation", "blueprintRegistry", "request", "requestParam", "cancel", "set", "createRequest", "prompt", "message", "observer", "runtime", "pipe", "provide", "AiService", "provideService", "ArtifactDiffResolver", "_artifactDiffResolver", "asVoid", "runFork", "response", "join", "runPromiseExit", "isSuccess", "isInterruptedOnly", "cause", "throwCause", "undefined", "log", "some", "Error", "runPromise", "gen", "interrupt", "retry", "updateName", "chat", "resolve", "_artifacts", "versions", "Map", "fn", "update", "pending", "bind", "block", "blocks", "map", "filter", "b", "getOrElse", "Obj", "DataType", "Message", "created", "Date", "toISOString", "sender", "role"]
7
- }
@@ -1,182 +0,0 @@
1
- import {
2
- AssistantToolkit,
3
- SystemToolkit
4
- } from "./chunk-GXHZTOWJ.mjs";
5
-
6
- // src/capabilities/blueprint-definition.ts
7
- import { Capabilities, contributes } from "@dxos/app-framework";
8
- import { templates } from "@dxos/assistant";
9
- import { Agent, Discord, DiscordBlueprint, EntityExtraction, Linear, LinearBlueprint, Research, ResearchBlueprint, WebSearchBlueprint } from "@dxos/assistant-toolkit";
10
- import { Blueprint } from "@dxos/blueprints";
11
-
12
- // src/functions/analysis.ts
13
- import * as Effect from "effect/Effect";
14
- import * as Schema from "effect/Schema";
15
- import { defineFunction } from "@dxos/functions";
16
- import { log } from "@dxos/log";
17
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/functions/analysis.ts";
18
- var analysis_default = defineFunction({
19
- key: "dxos.org/function/assistant-analysis",
20
- name: "Assistant analysis",
21
- description: "Enter analysis analysis mode.",
22
- inputSchema: Schema.Struct({
23
- enable: Schema.Boolean.annotations({
24
- description: "Enable or disable analysis mode."
25
- })
26
- }),
27
- outputSchema: Schema.Void,
28
- handler: Effect.fn(function* ({ context, data: { enable } }) {
29
- log.info("analysis mode", {
30
- space: context.space?.id,
31
- enable
32
- }, {
33
- F: __dxlog_file,
34
- L: 20,
35
- S: this,
36
- C: (f, a) => f(...a)
37
- });
38
- })
39
- });
40
-
41
- // src/functions/object-list.ts
42
- import * as Effect2 from "effect/Effect";
43
- import * as Schema2 from "effect/Schema";
44
- import { Filter, Obj, Query } from "@dxos/echo";
45
- import { DatabaseService, defineFunction as defineFunction2 } from "@dxos/functions";
46
- import { trim } from "@dxos/util";
47
- var object_list_default = defineFunction2({
48
- key: "dxos.org/function/assistant/object-list",
49
- name: "List objects",
50
- description: (
51
- // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
52
- trim`
53
- Lists the objects of the given type.
54
- Check the get-schemas tool for available types before calling this function.
55
- `
56
- ),
57
- inputSchema: Schema2.Struct({
58
- typename: Schema2.String.annotations({
59
- description: "The typename of the objects to list."
60
- })
61
- }),
62
- outputSchema: Schema2.Struct({
63
- results: Schema2.Array(Schema2.Struct({
64
- dxn: Schema2.String.annotations({
65
- description: "The DXN of the object."
66
- }),
67
- label: Schema2.optional(Schema2.String.annotations({
68
- description: "The label of the object."
69
- }))
70
- }))
71
- }),
72
- handler: Effect2.fn(function* ({ data: { typename } }) {
73
- const [schema] = yield* DatabaseService.runSchemaQuery({
74
- typename
75
- });
76
- const filter = schema ? Filter.type(schema) : Filter.typename(typename);
77
- const { objects } = yield* DatabaseService.runQuery(Query.select(filter));
78
- const results = objects.map((object) => ({
79
- dxn: Obj.getDXN(object).toString(),
80
- label: Obj.getLabel(object)
81
- }));
82
- return {
83
- results
84
- };
85
- })
86
- });
87
-
88
- // src/functions/object-load.ts
89
- import * as Effect3 from "effect/Effect";
90
- import * as Function from "effect/Function";
91
- import * as Option from "effect/Option";
92
- import * as Schema3 from "effect/Schema";
93
- import { ArtifactId } from "@dxos/assistant";
94
- import { Obj as Obj2 } from "@dxos/echo";
95
- import { DatabaseService as DatabaseService2, defineFunction as defineFunction3 } from "@dxos/functions";
96
- var object_load_default = defineFunction3({
97
- key: "dxos.org/function/assistant/object-load",
98
- name: "Load object",
99
- description: "Loads the object.",
100
- inputSchema: Schema3.Struct({
101
- id: ArtifactId.annotations({
102
- description: "The ID of the object."
103
- }),
104
- typename: Schema3.String.annotations({
105
- description: "The typename of the object."
106
- })
107
- }),
108
- outputSchema: Schema3.Struct({
109
- // TODO(wittjosiah): Type.Obj.Any | Type.Relation.Any
110
- object: Schema3.Any
111
- }),
112
- handler: Effect3.fn(function* ({ data: { id, typename } }) {
113
- const object = yield* DatabaseService2.resolve(ArtifactId.toDXN(id));
114
- return yield* Function.pipe(Option.fromNullable(object), Option.flatMap((object2) => Obj2.getTypename(object2) === typename ? Option.some(object2) : Option.none()), Option.match({
115
- onNone: () => Effect3.fail("Object not found."),
116
- onSome: (object2) => {
117
- return Effect3.succeed({
118
- object: object2
119
- });
120
- }
121
- }));
122
- })
123
- });
124
-
125
- // src/capabilities/blueprint-definition.ts
126
- var deckTools = [
127
- "open-item"
128
- ];
129
- var functions = [
130
- analysis_default,
131
- object_list_default,
132
- object_load_default
133
- ];
134
- var tools = [
135
- ...AssistantToolkit.tools,
136
- ...SystemToolkit.tools,
137
- ...deckTools
138
- ];
139
- var ASSISTANT_BLUEPRINT_KEY = "dxos.org/blueprint/assistant";
140
- var createBlueprint = () => Blueprint.make({
141
- key: ASSISTANT_BLUEPRINT_KEY,
142
- name: "Assistant",
143
- tools: Blueprint.toolDefinitions({
144
- functions,
145
- tools
146
- }),
147
- instructions: templates.system
148
- });
149
- var blueprint = createBlueprint();
150
- var blueprint_definition_default = (() => [
151
- contributes(Capabilities.Functions, functions),
152
- contributes(Capabilities.BlueprintDefinition, blueprint),
153
- // TODO(burdon): Factor out.
154
- contributes(Capabilities.Functions, [
155
- Research.create,
156
- Research.research
157
- ]),
158
- contributes(Capabilities.BlueprintDefinition, ResearchBlueprint),
159
- // TODO(burdon): Factor out.
160
- contributes(Capabilities.Functions, [
161
- Agent.prompt,
162
- EntityExtraction.extract
163
- ]),
164
- contributes(Capabilities.BlueprintDefinition, WebSearchBlueprint),
165
- // TODO(burdon): Factor out.
166
- contributes(Capabilities.Functions, [
167
- Discord.fetch
168
- ]),
169
- contributes(Capabilities.BlueprintDefinition, DiscordBlueprint),
170
- // TODO(burdon): Factor out.
171
- contributes(Capabilities.Functions, [
172
- Linear.sync
173
- ]),
174
- contributes(Capabilities.BlueprintDefinition, LinearBlueprint)
175
- ]);
176
-
177
- export {
178
- ASSISTANT_BLUEPRINT_KEY,
179
- createBlueprint,
180
- blueprint_definition_default
181
- };
182
- //# sourceMappingURL=chunk-MEN5WTLA.mjs.map