@dxos/plugin-assistant 0.8.4-main.406dc2a → 0.8.4-main.52d7546f51

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 (543) hide show
  1. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs +30 -0
  2. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs.map +7 -0
  3. package/dist/lib/browser/ChatCompanion-JOTRKE7B.mjs +200 -0
  4. package/dist/lib/browser/ChatCompanion-JOTRKE7B.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-ESDLG5JY.mjs +73 -0
  6. package/dist/lib/browser/ChatContainer-ESDLG5JY.mjs.map +7 -0
  7. package/dist/lib/browser/ChatDialog-LKY3FTYO.mjs +85 -0
  8. package/dist/lib/browser/ChatDialog-LKY3FTYO.mjs.map +7 -0
  9. package/dist/lib/browser/InitiativeContainer-T2SQ4O6J.mjs +267 -0
  10. package/dist/lib/browser/InitiativeContainer-T2SQ4O6J.mjs.map +7 -0
  11. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs +52 -0
  12. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs.map +7 -0
  13. package/dist/lib/browser/ai-service-CY2BYPH6.mjs +22 -0
  14. package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
  15. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs +234 -0
  16. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs.map +7 -0
  17. package/dist/lib/browser/blueprint-definition-YAGWYVCL.mjs +14 -0
  18. package/dist/lib/browser/blueprints/index.mjs +12 -0
  19. package/dist/lib/browser/chunk-3ETBCBMH.mjs +47 -0
  20. package/dist/lib/browser/chunk-3ETBCBMH.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-6BVCG5SJ.mjs +230 -0
  22. package/dist/lib/browser/chunk-6BVCG5SJ.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-DKQMSMBN.mjs +326 -0
  24. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-EXVT7D4B.mjs +23 -0
  26. package/dist/lib/browser/chunk-EXVT7D4B.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-IJYAKPEU.mjs +286 -0
  28. package/dist/lib/browser/chunk-IJYAKPEU.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-POPBT2AQ.mjs +198 -0
  30. package/dist/lib/browser/chunk-POPBT2AQ.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-Q4QUMX62.mjs +1974 -0
  32. package/dist/lib/browser/chunk-Q4QUMX62.mjs.map +7 -0
  33. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
  34. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  35. package/dist/lib/browser/index.mjs +251 -215
  36. package/dist/lib/browser/index.mjs.map +4 -4
  37. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
  38. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  39. package/dist/lib/browser/meta.json +1 -1
  40. package/dist/lib/browser/operation-resolver-2673CFJS.mjs +133 -0
  41. package/dist/lib/browser/operation-resolver-2673CFJS.mjs.map +7 -0
  42. package/dist/lib/browser/react-surface-I7YJVK4K.mjs +125 -0
  43. package/dist/lib/browser/react-surface-I7YJVK4K.mjs.map +7 -0
  44. package/dist/lib/browser/repair-IRXDYF4R.mjs +51 -0
  45. package/dist/lib/browser/repair-IRXDYF4R.mjs.map +7 -0
  46. package/dist/lib/browser/settings-XF6GKHCG.mjs +33 -0
  47. package/dist/lib/browser/settings-XF6GKHCG.mjs.map +7 -0
  48. package/dist/lib/browser/state-OYDPWLKA.mjs +26 -0
  49. package/dist/lib/browser/state-OYDPWLKA.mjs.map +7 -0
  50. package/dist/lib/browser/toolkit-IDXQCSTX.mjs +19 -0
  51. package/dist/lib/browser/toolkit-IDXQCSTX.mjs.map +7 -0
  52. package/dist/lib/browser/types/index.mjs +8 -4
  53. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs +31 -0
  54. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs.map +7 -0
  55. package/dist/lib/node-esm/ChatCompanion-52OWAARX.mjs +201 -0
  56. package/dist/lib/node-esm/ChatCompanion-52OWAARX.mjs.map +7 -0
  57. package/dist/lib/node-esm/ChatContainer-VLWSQ3ZO.mjs +74 -0
  58. package/dist/lib/node-esm/ChatContainer-VLWSQ3ZO.mjs.map +7 -0
  59. package/dist/lib/node-esm/ChatDialog-5DUQIF2T.mjs +86 -0
  60. package/dist/lib/node-esm/ChatDialog-5DUQIF2T.mjs.map +7 -0
  61. package/dist/lib/node-esm/InitiativeContainer-ATD3D23L.mjs +268 -0
  62. package/dist/lib/node-esm/InitiativeContainer-ATD3D23L.mjs.map +7 -0
  63. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs +53 -0
  64. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs.map +7 -0
  65. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
  66. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  67. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs +235 -0
  68. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs.map +7 -0
  69. package/dist/lib/node-esm/{blueprint-definition-WD2IVMAI.mjs → blueprint-definition-H3LFAEK2.mjs} +6 -4
  70. package/dist/lib/node-esm/blueprint-definition-H3LFAEK2.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprints/index.mjs +13 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs +48 -0
  74. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-75PHXBN3.mjs +327 -0
  76. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-ESDMBGF7.mjs +1975 -0
  78. package/dist/lib/node-esm/chunk-ESDMBGF7.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs +199 -0
  80. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-LB72WG6R.mjs +231 -0
  82. package/dist/lib/node-esm/chunk-LB72WG6R.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-MJD5XWQV.mjs +288 -0
  84. package/dist/lib/node-esm/chunk-MJD5XWQV.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-73ABYRYX.mjs → chunk-POWB2BPC.mjs} +7 -2
  86. package/dist/lib/node-esm/chunk-POWB2BPC.mjs.map +7 -0
  87. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
  88. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  89. package/dist/lib/node-esm/index.mjs +251 -215
  90. package/dist/lib/node-esm/index.mjs.map +4 -4
  91. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
  92. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  93. package/dist/lib/node-esm/meta.json +1 -1
  94. package/dist/lib/node-esm/operation-resolver-2ZD2DXOU.mjs +134 -0
  95. package/dist/lib/node-esm/operation-resolver-2ZD2DXOU.mjs.map +7 -0
  96. package/dist/lib/node-esm/react-surface-2CWJ6GZW.mjs +126 -0
  97. package/dist/lib/node-esm/react-surface-2CWJ6GZW.mjs.map +7 -0
  98. package/dist/lib/node-esm/repair-DMI55PON.mjs +52 -0
  99. package/dist/lib/node-esm/repair-DMI55PON.mjs.map +7 -0
  100. package/dist/lib/node-esm/settings-NGGZA7S7.mjs +34 -0
  101. package/dist/lib/node-esm/settings-NGGZA7S7.mjs.map +7 -0
  102. package/dist/lib/node-esm/state-VSCPGN7R.mjs +27 -0
  103. package/dist/lib/node-esm/state-VSCPGN7R.mjs.map +7 -0
  104. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs +20 -0
  105. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs.map +7 -0
  106. package/dist/lib/node-esm/types/index.mjs +8 -4
  107. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  108. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  109. package/dist/types/src/blueprints/assistant-blueprint.d.ts +11 -0
  110. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/index.d.ts +7 -0
  112. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +6 -0
  114. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
  116. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  118. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  120. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +26 -0
  122. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +4 -0
  124. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
  126. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
  128. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/index.d.ts +10 -11
  130. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  131. package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
  132. package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
  134. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  136. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  138. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  140. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  142. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  144. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  146. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/settings/index.d.ts +15 -0
  148. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
  150. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/state/index.d.ts +11 -0
  152. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/state/state.d.ts +13 -0
  154. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
  156. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
  158. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
  159. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -2
  160. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  161. package/dist/types/src/components/BlueprintArticle.d.ts +7 -0
  162. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -0
  163. package/dist/types/src/components/Chat/Chat.d.ts +25 -13
  164. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  165. package/dist/types/src/components/Chat/events.d.ts +5 -1
  166. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  167. package/dist/types/src/components/ChatCompanion.d.ts +4 -4
  168. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  169. package/dist/types/src/components/ChatContainer.d.ts +14 -6
  170. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  171. package/dist/types/src/components/ChatDialog.d.ts +2 -2
  172. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  173. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +2 -2
  174. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  176. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
  177. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  178. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
  179. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  180. package/dist/types/src/components/ChatThread/ChatThread.d.ts +7 -10
  181. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  182. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +246 -73
  183. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
  185. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  186. package/dist/types/src/components/ChatThread/sync.d.ts +12 -6
  187. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  188. package/dist/types/src/components/InitiativeContainer.d.ts +9 -0
  189. package/dist/types/src/components/InitiativeContainer.d.ts.map +1 -0
  190. package/dist/types/src/components/PromptArticle.d.ts +7 -0
  191. package/dist/types/src/components/PromptArticle.d.ts.map +1 -0
  192. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  193. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  194. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +230 -61
  195. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  196. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +11 -1
  197. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  198. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +231 -62
  199. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  200. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  201. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  202. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  203. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  204. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  205. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +10 -8
  206. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  207. package/dist/types/src/components/Toolbox/Toolbox.d.ts +6 -7
  208. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  209. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +230 -60
  210. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  211. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts +4 -0
  212. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  213. package/dist/types/src/components/TriggerStatus/index.d.ts +2 -0
  214. package/dist/types/src/components/TriggerStatus/index.d.ts.map +1 -0
  215. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  216. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  217. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  218. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  219. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  220. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  221. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  222. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  223. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  224. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  225. package/dist/types/src/components/index.d.ts +10 -10
  226. package/dist/types/src/components/index.d.ts.map +1 -1
  227. package/dist/types/src/functions/index.d.ts +3 -3
  228. package/dist/types/src/functions/index.d.ts.map +1 -1
  229. package/dist/types/src/functions/{list.d.ts → object-list.d.ts} +3 -3
  230. package/dist/types/src/functions/object-list.d.ts.map +1 -0
  231. package/dist/types/src/functions/{load.d.ts → object-load.d.ts} +3 -3
  232. package/dist/types/src/functions/object-load.d.ts.map +1 -0
  233. package/dist/types/src/functions/object-search.d.ts +10 -0
  234. package/dist/types/src/functions/object-search.d.ts.map +1 -0
  235. package/dist/types/src/hooks/index.d.ts +2 -1
  236. package/dist/types/src/hooks/index.d.ts.map +1 -1
  237. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -5
  238. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  239. package/dist/types/src/hooks/useChatProcessor.d.ts +5 -2
  240. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  241. package/dist/types/src/hooks/useChatServices.d.ts +5 -5
  242. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  243. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  244. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  245. package/dist/types/src/hooks/useContextBinder.d.ts +2 -2
  246. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  247. package/dist/types/src/hooks/useContextObjects.d.ts +7 -7
  248. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  249. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  250. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  251. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  252. package/dist/types/src/index.d.ts +0 -1
  253. package/dist/types/src/index.d.ts.map +1 -1
  254. package/dist/types/src/meta.d.ts +2 -2
  255. package/dist/types/src/meta.d.ts.map +1 -1
  256. package/dist/types/src/processor/index.d.ts +1 -0
  257. package/dist/types/src/processor/index.d.ts.map +1 -1
  258. package/dist/types/src/processor/processor.d.ts +23 -18
  259. package/dist/types/src/processor/processor.d.ts.map +1 -1
  260. package/dist/types/src/processor/update-name.d.ts +10 -0
  261. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  262. package/dist/types/src/queue-logger.d.ts.map +1 -1
  263. package/dist/types/src/testing/test-generator.d.ts +5 -4
  264. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  265. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  266. package/dist/types/src/translations.d.ts +358 -26
  267. package/dist/types/src/translations.d.ts.map +1 -1
  268. package/dist/types/src/types/Assistant.d.ts +7 -38
  269. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  270. package/dist/types/src/types/AssistantAction.d.ts +90 -100
  271. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  272. package/dist/types/src/types/capabilities.d.ts +33 -0
  273. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  274. package/dist/types/src/types/events.d.ts +5 -0
  275. package/dist/types/src/types/events.d.ts.map +1 -0
  276. package/dist/types/src/types/index.d.ts +4 -1
  277. package/dist/types/src/types/index.d.ts.map +1 -1
  278. package/dist/types/src/types/service.d.ts +10 -212
  279. package/dist/types/src/types/service.d.ts.map +1 -1
  280. package/dist/types/tsconfig.tsbuildinfo +1 -1
  281. package/package.json +119 -90
  282. package/src/AssistantPlugin.tsx +114 -112
  283. package/src/blueprints/assistant-blueprint.ts +57 -0
  284. package/src/blueprints/index.ts +12 -0
  285. package/src/capabilities/ai-service/ai-service.ts +30 -0
  286. package/src/capabilities/ai-service/index.ts +7 -0
  287. package/src/capabilities/app-graph-builder/app-graph-builder.ts +200 -0
  288. package/src/capabilities/app-graph-builder/index.ts +7 -0
  289. package/src/capabilities/blueprint-definition/blueprint-definition.ts +74 -0
  290. package/src/capabilities/blueprint-definition/index.ts +8 -0
  291. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
  292. package/src/capabilities/edge-model-resolver/index.ts +7 -0
  293. package/src/capabilities/index.ts +10 -14
  294. package/src/capabilities/local-model-resolver/index.ts +7 -0
  295. package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
  296. package/src/capabilities/operation-resolver/index.ts +7 -0
  297. package/src/capabilities/operation-resolver/operation-resolver.ts +112 -0
  298. package/src/capabilities/react-surface/index.ts +7 -0
  299. package/src/capabilities/react-surface/react-surface.tsx +111 -0
  300. package/src/capabilities/repair/index.ts +7 -0
  301. package/src/capabilities/repair/repair.ts +62 -0
  302. package/src/capabilities/settings/index.ts +7 -0
  303. package/src/capabilities/settings/settings.ts +31 -0
  304. package/src/capabilities/state/index.ts +7 -0
  305. package/src/capabilities/state/state.ts +27 -0
  306. package/src/capabilities/toolkit/index.ts +7 -0
  307. package/src/capabilities/toolkit/toolkit.ts +27 -0
  308. package/src/components/AssistantSettings/AssistantSettings.tsx +28 -20
  309. package/src/components/BlueprintArticle.tsx +28 -0
  310. package/src/components/Chat/Chat.tsx +189 -127
  311. package/src/components/Chat/events.ts +7 -1
  312. package/src/components/ChatCompanion.tsx +191 -101
  313. package/src/components/ChatContainer.tsx +48 -31
  314. package/src/components/ChatDialog.tsx +15 -8
  315. package/src/components/ChatProgress/ChatProgress.tsx +6 -20
  316. package/src/components/ChatPrompt/ChatActions.tsx +11 -5
  317. package/src/components/ChatPrompt/ChatOptions.tsx +93 -80
  318. package/src/components/ChatPrompt/ChatReferences.tsx +7 -8
  319. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
  320. package/src/components/ChatThread/ChatThread.stories.tsx +58 -37
  321. package/src/components/ChatThread/ChatThread.tsx +35 -36
  322. package/src/components/ChatThread/Link.tsx +4 -4
  323. package/src/components/ChatThread/registry.tsx +25 -35
  324. package/src/components/ChatThread/sync.test.ts +33 -17
  325. package/src/components/ChatThread/sync.ts +53 -12
  326. package/src/components/ChatThread/testing/thread.md +37 -0
  327. package/src/components/InitiativeContainer.tsx +340 -0
  328. package/src/components/PromptArticle.tsx +49 -0
  329. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +16 -6
  330. package/src/components/TemplateEditor/TemplateEditor.tsx +24 -12
  331. package/src/components/TemplateEditor/TemplateForm.stories.tsx +17 -9
  332. package/src/components/TemplateEditor/TemplateForm.tsx +76 -29
  333. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  334. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  335. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  336. package/src/components/ToolBlock/ToolBlock.tsx +36 -45
  337. package/src/components/Toolbox/Toolbox.stories.tsx +10 -11
  338. package/src/components/Toolbox/Toolbox.tsx +54 -56
  339. package/src/components/TriggerStatus/TriggerStatus.tsx +142 -0
  340. package/src/components/{Toolbar → TriggerStatus}/index.ts +1 -1
  341. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  342. package/src/components/Typewriter/Typewriter.stories.tsx +83 -0
  343. package/src/components/Typewriter/Typewriter.tsx +54 -0
  344. package/src/components/Typewriter/assistant-extension.tsx +144 -0
  345. package/src/components/Typewriter/index.ts +5 -0
  346. package/src/components/index.ts +13 -7
  347. package/src/functions/index.ts +3 -3
  348. package/src/functions/{list.ts → object-list.ts} +8 -7
  349. package/src/functions/object-load.ts +44 -0
  350. package/src/functions/object-search.ts +46 -0
  351. package/src/hooks/index.ts +2 -1
  352. package/src/hooks/useBlueprintRegistry.ts +31 -20
  353. package/src/hooks/useChatProcessor.ts +17 -13
  354. package/src/hooks/useChatServices.ts +16 -18
  355. package/src/hooks/useChatToolbarActions.ts +122 -0
  356. package/src/hooks/useContextBinder.ts +9 -7
  357. package/src/hooks/useContextObjects.ts +13 -25
  358. package/src/hooks/useFilteredTypes.ts +37 -0
  359. package/src/hooks/useReferencesProvider.ts +7 -6
  360. package/src/index.ts +0 -1
  361. package/src/meta.ts +8 -3
  362. package/src/processor/index.ts +1 -0
  363. package/src/processor/presets.ts +1 -1
  364. package/src/processor/processor.test.ts +16 -25
  365. package/src/processor/processor.ts +72 -73
  366. package/src/processor/update-name.ts +58 -0
  367. package/src/queue-logger.ts +8 -9
  368. package/src/testing/test-generator.ts +14 -13
  369. package/src/testing/test-services.ts +8 -6
  370. package/src/translations.ts +51 -18
  371. package/src/types/Assistant.ts +4 -40
  372. package/src/types/AssistantAction.ts +67 -53
  373. package/src/types/capabilities.ts +27 -0
  374. package/src/types/events.ts +11 -0
  375. package/src/types/index.ts +6 -1
  376. package/src/types/service.ts +12 -9
  377. package/dist/lib/browser/BlueprintContainer-WX2SSDVI.mjs +0 -28
  378. package/dist/lib/browser/BlueprintContainer-WX2SSDVI.mjs.map +0 -7
  379. package/dist/lib/browser/ChatCompanion-BDZ55ZRF.mjs +0 -150
  380. package/dist/lib/browser/ChatCompanion-BDZ55ZRF.mjs.map +0 -7
  381. package/dist/lib/browser/ChatContainer-RYGNN73X.mjs +0 -73
  382. package/dist/lib/browser/ChatContainer-RYGNN73X.mjs.map +0 -7
  383. package/dist/lib/browser/ChatDialog-MVHH2U66.mjs +0 -86
  384. package/dist/lib/browser/ChatDialog-MVHH2U66.mjs.map +0 -7
  385. package/dist/lib/browser/SequenceContainer-2FEWMQGW.mjs +0 -150
  386. package/dist/lib/browser/SequenceContainer-2FEWMQGW.mjs.map +0 -7
  387. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
  388. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
  389. package/dist/lib/browser/app-graph-builder-2U7SLCRX.mjs +0 -154
  390. package/dist/lib/browser/app-graph-builder-2U7SLCRX.mjs.map +0 -7
  391. package/dist/lib/browser/blueprint-definition-NSJARW5U.mjs +0 -12
  392. package/dist/lib/browser/chunk-2CE2KPKZ.mjs +0 -175
  393. package/dist/lib/browser/chunk-2CE2KPKZ.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-43I2LR6O.mjs +0 -216
  395. package/dist/lib/browser/chunk-43I2LR6O.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-5EGXHCAZ.mjs +0 -16
  397. package/dist/lib/browser/chunk-5EGXHCAZ.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-5RICKAMN.mjs +0 -18
  399. package/dist/lib/browser/chunk-5RICKAMN.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-CQ7UHYTT.mjs +0 -296
  401. package/dist/lib/browser/chunk-CQ7UHYTT.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-FP56WB24.mjs +0 -212
  403. package/dist/lib/browser/chunk-FP56WB24.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-JZRZVB2A.mjs +0 -170
  405. package/dist/lib/browser/chunk-JZRZVB2A.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-WRJGOT5P.mjs +0 -1794
  407. package/dist/lib/browser/chunk-WRJGOT5P.mjs.map +0 -7
  408. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
  409. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
  410. package/dist/lib/browser/intent-resolver-3GOJMBXJ.mjs +0 -114
  411. package/dist/lib/browser/intent-resolver-3GOJMBXJ.mjs.map +0 -7
  412. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs +0 -17
  413. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs.map +0 -7
  414. package/dist/lib/browser/react-surface-FTKCE6GG.mjs +0 -107
  415. package/dist/lib/browser/react-surface-FTKCE6GG.mjs.map +0 -7
  416. package/dist/lib/browser/settings-HBF32KV6.mjs +0 -23
  417. package/dist/lib/browser/settings-HBF32KV6.mjs.map +0 -7
  418. package/dist/lib/browser/state-LXTS54DI.mjs +0 -21
  419. package/dist/lib/browser/state-LXTS54DI.mjs.map +0 -7
  420. package/dist/lib/browser/toolkit-NQ2GXCF5.mjs +0 -199
  421. package/dist/lib/browser/toolkit-NQ2GXCF5.mjs.map +0 -7
  422. package/dist/lib/node-esm/BlueprintContainer-4MKN6ZRB.mjs +0 -29
  423. package/dist/lib/node-esm/BlueprintContainer-4MKN6ZRB.mjs.map +0 -7
  424. package/dist/lib/node-esm/ChatCompanion-XFNXVZIP.mjs +0 -151
  425. package/dist/lib/node-esm/ChatCompanion-XFNXVZIP.mjs.map +0 -7
  426. package/dist/lib/node-esm/ChatContainer-UTJGCQXF.mjs +0 -74
  427. package/dist/lib/node-esm/ChatContainer-UTJGCQXF.mjs.map +0 -7
  428. package/dist/lib/node-esm/ChatDialog-QEYZ4IOV.mjs +0 -87
  429. package/dist/lib/node-esm/ChatDialog-QEYZ4IOV.mjs.map +0 -7
  430. package/dist/lib/node-esm/SequenceContainer-PGGJUQ46.mjs +0 -151
  431. package/dist/lib/node-esm/SequenceContainer-PGGJUQ46.mjs.map +0 -7
  432. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
  433. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
  434. package/dist/lib/node-esm/app-graph-builder-OKNLR7H2.mjs +0 -155
  435. package/dist/lib/node-esm/app-graph-builder-OKNLR7H2.mjs.map +0 -7
  436. package/dist/lib/node-esm/chunk-73ABYRYX.mjs.map +0 -7
  437. package/dist/lib/node-esm/chunk-DSE2IILK.mjs +0 -217
  438. package/dist/lib/node-esm/chunk-DSE2IILK.mjs.map +0 -7
  439. package/dist/lib/node-esm/chunk-E2WXZND7.mjs +0 -297
  440. package/dist/lib/node-esm/chunk-E2WXZND7.mjs.map +0 -7
  441. package/dist/lib/node-esm/chunk-HXIBCBH4.mjs +0 -171
  442. package/dist/lib/node-esm/chunk-HXIBCBH4.mjs.map +0 -7
  443. package/dist/lib/node-esm/chunk-TNR46C3L.mjs +0 -213
  444. package/dist/lib/node-esm/chunk-TNR46C3L.mjs.map +0 -7
  445. package/dist/lib/node-esm/chunk-U2NYUS2N.mjs +0 -177
  446. package/dist/lib/node-esm/chunk-U2NYUS2N.mjs.map +0 -7
  447. package/dist/lib/node-esm/chunk-UFKLCEAE.mjs +0 -1795
  448. package/dist/lib/node-esm/chunk-UFKLCEAE.mjs.map +0 -7
  449. package/dist/lib/node-esm/chunk-XQGWSZ4T.mjs +0 -17
  450. package/dist/lib/node-esm/chunk-XQGWSZ4T.mjs.map +0 -7
  451. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
  452. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
  453. package/dist/lib/node-esm/intent-resolver-6XLVTRDJ.mjs +0 -115
  454. package/dist/lib/node-esm/intent-resolver-6XLVTRDJ.mjs.map +0 -7
  455. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs +0 -18
  456. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs.map +0 -7
  457. package/dist/lib/node-esm/react-surface-K7ZXQLAP.mjs +0 -108
  458. package/dist/lib/node-esm/react-surface-K7ZXQLAP.mjs.map +0 -7
  459. package/dist/lib/node-esm/settings-CWP6MTWP.mjs +0 -24
  460. package/dist/lib/node-esm/settings-CWP6MTWP.mjs.map +0 -7
  461. package/dist/lib/node-esm/state-BO6GUFLB.mjs +0 -22
  462. package/dist/lib/node-esm/state-BO6GUFLB.mjs.map +0 -7
  463. package/dist/lib/node-esm/toolkit-V57PRJNG.mjs +0 -200
  464. package/dist/lib/node-esm/toolkit-V57PRJNG.mjs.map +0 -7
  465. package/dist/types/src/capabilities/ai-service.d.ts +0 -4
  466. package/dist/types/src/capabilities/ai-service.d.ts.map +0 -1
  467. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  468. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  469. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
  470. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  471. package/dist/types/src/capabilities/capabilities.d.ts +0 -11
  472. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  473. package/dist/types/src/capabilities/edge-model-resolver.d.ts +0 -4
  474. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +0 -1
  475. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  476. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  477. package/dist/types/src/capabilities/local-model-resolver.d.ts +0 -10
  478. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +0 -1
  479. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  480. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  481. package/dist/types/src/capabilities/settings.d.ts +0 -4
  482. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  483. package/dist/types/src/capabilities/state.d.ts +0 -4
  484. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  485. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  486. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  487. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  488. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  489. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  490. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  491. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  492. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  493. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  494. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  495. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  496. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  497. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -269
  498. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  499. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  500. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  501. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +0 -1
  502. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -5
  503. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  504. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  505. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  506. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +0 -11
  507. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +0 -1
  508. package/dist/types/src/events.d.ts +0 -4
  509. package/dist/types/src/events.d.ts.map +0 -1
  510. package/dist/types/src/functions/analysis.d.ts +0 -5
  511. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  512. package/dist/types/src/functions/list.d.ts.map +0 -1
  513. package/dist/types/src/functions/load.d.ts.map +0 -1
  514. package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
  515. package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
  516. package/src/capabilities/ai-service.ts +0 -27
  517. package/src/capabilities/app-graph-builder.ts +0 -163
  518. package/src/capabilities/blueprint-definition.ts +0 -64
  519. package/src/capabilities/capabilities.ts +0 -18
  520. package/src/capabilities/edge-model-resolver.ts +0 -25
  521. package/src/capabilities/intent-resolver.ts +0 -96
  522. package/src/capabilities/local-model-resolver.ts +0 -30
  523. package/src/capabilities/react-surface.tsx +0 -91
  524. package/src/capabilities/settings.ts +0 -19
  525. package/src/capabilities/state.ts +0 -20
  526. package/src/capabilities/toolkit.ts +0 -168
  527. package/src/components/BlueprintContainer.tsx +0 -24
  528. package/src/components/ChatThread/reducers.ts +0 -151
  529. package/src/components/PromptSettings.tsx +0 -90
  530. package/src/components/SequenceContainer.tsx +0 -131
  531. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -35
  532. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  533. package/src/components/SequenceEditor/index.ts +0 -5
  534. package/src/components/TemplateEditor/handlebars-extension.ts +0 -165
  535. package/src/components/Toolbar/Toolbar.tsx +0 -21
  536. package/src/components/Toolbar/useChatToolbarActions.ts +0 -126
  537. package/src/events.ts +0 -11
  538. package/src/functions/analysis.ts +0 -22
  539. package/src/functions/load.ts +0 -46
  540. package/src/hooks/useItemTypes.ts +0 -37
  541. /package/dist/lib/browser/{blueprint-definition-NSJARW5U.mjs.map → blueprint-definition-YAGWYVCL.mjs.map} +0 -0
  542. /package/dist/lib/{node-esm/blueprint-definition-WD2IVMAI.mjs.map → browser/blueprints/index.mjs.map} +0 -0
  543. /package/dist/types/src/components/TemplateEditor/{handlebars-extension.d.ts → extensions/handlebars-extension.d.ts} +0 -0
@@ -0,0 +1,144 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { type Diagnostic, linter } from '@codemirror/lint';
6
+ import { type Extension, StateField } from '@codemirror/state';
7
+ import { EditorView, type Tooltip, showTooltip } from '@codemirror/view';
8
+ import * as LanguageModel from '@effect/ai/LanguageModel';
9
+ import * as Effect from 'effect/Effect';
10
+ import * as Runtime from 'effect/Runtime';
11
+ import React from 'react';
12
+ import { createRoot } from 'react-dom/client';
13
+
14
+ import { unwrapExit } from '@dxos/effect';
15
+ import { log } from '@dxos/log';
16
+
17
+ import { AssistantToolbar } from './AssistantToolbar';
18
+
19
+ export const assistant = (runtime: Runtime.Runtime<LanguageModel.LanguageModel>): Extension[] => {
20
+ return [
21
+ assistantState(runtime),
22
+ assistantLinter(runtime),
23
+ EditorView.baseTheme({
24
+ '.cm-tooltip-assistant': {
25
+ backgroundColor: 'transparent !important',
26
+ border: 'none !important',
27
+ padding: '0 !important',
28
+ },
29
+ }),
30
+ ];
31
+ };
32
+
33
+ //
34
+ // Toolbar State & Tooltip
35
+ //
36
+
37
+ const assistantState = (runtime: Runtime.Runtime<LanguageModel.LanguageModel>) =>
38
+ StateField.define<Tooltip | null>({
39
+ create: () => null,
40
+ update: (tooltip, tr): Tooltip | null => {
41
+ if (tr.selection || tr.docChanged) {
42
+ const { from, to } = tr.state.selection.main;
43
+ if (from === to) {
44
+ return null;
45
+ } // No selection
46
+
47
+ // Check if we should show tooltip
48
+ // We return a tooltip object
49
+ return {
50
+ pos: from,
51
+ above: false,
52
+ strictSide: true,
53
+ create: (view) => {
54
+ const dom = document.createElement('div');
55
+ dom.classList.add('cm-tooltip-assistant');
56
+ const root = createRoot(dom);
57
+
58
+ root.render(React.createElement(AssistantToolbar, { view, runtime, from, to }));
59
+
60
+ return {
61
+ dom,
62
+ destroy: () => {
63
+ // Delay unmount to allow animations if needed, but for now just cleanup
64
+ setTimeout(() => root.unmount(), 0);
65
+ },
66
+ };
67
+ },
68
+ };
69
+ }
70
+ return tooltip;
71
+ },
72
+ provide: (f) => showTooltip.from(f),
73
+ });
74
+
75
+ //
76
+ // Linter
77
+ //
78
+
79
+ const assistantLinter = (runtime: Runtime.Runtime<LanguageModel.LanguageModel>) =>
80
+ linter(async (view) => {
81
+ const text = view.state.doc.toString();
82
+ if (text.length < 10) {
83
+ return [];
84
+ }
85
+
86
+ // Run proofreading effect
87
+ const prompt = `Proofread the following text. Identify typos and simple grammar mistakes. Return ONLY a valid JSON array of objects with fields: "original" (string), "replacement" (string), "context" (string, 3-5 words around match). Text: \n\n${text}`;
88
+
89
+ // We mocked the model behavior in the story, but here we assume the model returns a string.
90
+ // In a real implementation we would parse the JSON.
91
+ // For this refactor, we just wire it up.
92
+
93
+ // NOTE: This runs on every doc view update that triggers linter. Linter is debounced by default (750ms).
94
+
95
+ try {
96
+ const result = unwrapExit(
97
+ await Effect.gen(function* () {
98
+ const generated = yield* LanguageModel.generateText({ prompt });
99
+ return generated.text;
100
+ }).pipe(Runtime.runPromiseExit(runtime)),
101
+ );
102
+
103
+ // Parse result - assuming simpler mock response format for now or we build a robust parser
104
+ // For the purpose of this task (UX demo), we can assume the mock returns a specific format or we parse it.
105
+ // Let's assume the mock returns a JSON string.
106
+
107
+ let suggestions: any[] = [];
108
+ try {
109
+ // Find JSON in response
110
+ const match = result.match(/\[.*\]/s);
111
+ if (match) {
112
+ suggestions = JSON.parse(match[0]);
113
+ }
114
+ } catch (e) {
115
+ // failed to parse
116
+ }
117
+
118
+ const diagnostics: Diagnostic[] = [];
119
+ for (const s of suggestions) {
120
+ // Naive finding of position
121
+ const idx = text.indexOf(s.original);
122
+ if (idx !== -1) {
123
+ diagnostics.push({
124
+ from: idx,
125
+ to: idx + s.original.length,
126
+ severity: 'info',
127
+ message: `Suggestion: ${s.replacement}`,
128
+ actions: [
129
+ {
130
+ name: 'Apply',
131
+ apply: (view, from, to) => {
132
+ view.dispatch({ changes: { from, to, insert: s.replacement } });
133
+ },
134
+ },
135
+ ],
136
+ });
137
+ }
138
+ }
139
+ return diagnostics;
140
+ } catch (e) {
141
+ log.error('Proofreading failed', { error: e });
142
+ return [];
143
+ }
144
+ });
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ export * from './Typewriter';
@@ -2,18 +2,24 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { lazy } from 'react';
5
+ import { type LazyExoticComponent, lazy } from 'react';
6
6
 
7
7
  export * from './AssistantSettings';
8
8
  export * from './Chat';
9
- export * from './ChatProgress';
10
- export * from './PromptSettings';
11
9
  export * from './TemplateEditor';
12
- export * from './Toolbar';
13
10
  export * from './Toolbox';
11
+ export * from './TriggerStatus';
14
12
 
15
- export const BlueprintContainer = lazy(() => import('./BlueprintContainer'));
13
+ export const BlueprintArticle = lazy(() => import('./BlueprintArticle'));
16
14
  export const ChatCompanion = lazy(() => import('./ChatCompanion'));
17
- export const ChatContainer = lazy(() => import('./ChatContainer'));
15
+ // Type annotation needed to avoid declaration file emission issues with @dxos/assistant-toolkit types.
16
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
17
+ export const ChatContainer: LazyExoticComponent<typeof import('./ChatContainer').default> = lazy(
18
+ () => import('./ChatContainer'),
19
+ );
18
20
  export const ChatDialog = lazy(() => import('./ChatDialog'));
19
- export const SequenceContainer = lazy(() => import('./SequenceContainer'));
21
+ export const InitiativeContainer = lazy(() => import('./InitiativeContainer'));
22
+ export const PromptArticle = lazy(() => import('./PromptArticle'));
23
+
24
+ export type { ChatContainerProps } from './ChatContainer';
25
+ export type { ChatDialogProps } from './ChatDialog';
@@ -2,6 +2,6 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export { default as analysis } from './analysis';
6
- export { default as list } from './list';
7
- export { default as load } from './load';
5
+ export { default as list } from './object-list';
6
+ export { default as load } from './object-load';
7
+ export { default as search } from './object-search';
@@ -6,18 +6,19 @@ import * as Effect from 'effect/Effect';
6
6
  import * as Schema from 'effect/Schema';
7
7
 
8
8
  import { Filter, Obj, Query } from '@dxos/echo';
9
- import { DatabaseService, defineFunction } from '@dxos/functions';
9
+ import { Database } from '@dxos/echo';
10
+ import { defineFunction } from '@dxos/functions';
10
11
  import { trim } from '@dxos/util';
11
12
 
12
- // TODO(burdon): Factor out to space plugin.
13
+ // TODO(burdon): Move to toolkit (i.e., tool not function).
13
14
  export default defineFunction({
14
- key: 'dxos.org/function/assistant/list',
15
- name: 'Assistant list',
15
+ key: 'dxos.org/function/assistant/object-list',
16
+ name: 'List objects',
16
17
  description:
17
18
  // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
18
19
  trim`
19
20
  Lists the objects of the given type.
20
- Check the list-schemas tool for available types before calling this function.
21
+ Check the get-schemas tool for available types before calling this function.
21
22
  `,
22
23
  inputSchema: Schema.Struct({
23
24
  typename: Schema.String.annotations({
@@ -34,10 +35,10 @@ export default defineFunction({
34
35
  }),
35
36
  handler: Effect.fn(function* ({ data: { typename } }) {
36
37
  // TODO(wittjosiah): Typename query is not working for dynamic schemas.
37
- const [schema] = yield* DatabaseService.runSchemaQuery({ typename });
38
+ const [schema] = yield* Database.runSchemaQuery({ typename });
38
39
  const filter = schema ? Filter.type(schema) : Filter.typename(typename);
39
40
 
40
- const { objects } = yield* DatabaseService.runQuery(Query.select(filter));
41
+ const objects = yield* Database.runQuery(Query.select(filter));
41
42
  const results = objects.map((object) => ({
42
43
  dxn: Obj.getDXN(object).toString(),
43
44
  label: Obj.getLabel(object),
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Function from 'effect/Function';
7
+ import * as Option from 'effect/Option';
8
+ import * as Schema from 'effect/Schema';
9
+
10
+ import { Database, Entity, Type } from '@dxos/echo';
11
+ import { defineFunction } from '@dxos/functions';
12
+
13
+ // TODO(burdon): Move to toolkit (i.e., tool not function).
14
+ export default defineFunction({
15
+ key: 'dxos.org/function/assistant/object-load',
16
+ name: 'Load object',
17
+ description: 'Loads the object.',
18
+ inputSchema: Schema.Struct({
19
+ object: Type.Ref(Type.Obj).annotations({
20
+ description: 'The ID of the object.',
21
+ }),
22
+ typename: Schema.String.annotations({
23
+ description: 'The typename of the object.',
24
+ }),
25
+ }),
26
+ outputSchema: Schema.Struct({
27
+ // TODO(wittjosiah): Type.Entity.Any
28
+ object: Schema.Any,
29
+ }),
30
+ handler: Effect.fn(function* ({ data: { object, typename } }) {
31
+ const loadedObject = yield* Database.load(object);
32
+ return yield* Function.pipe(
33
+ Option.fromNullable(loadedObject),
34
+ Option.flatMap((obj) => (Entity.getTypename(obj) === typename ? Option.some(obj) : Option.none())),
35
+ Option.match({
36
+ onNone: () => Effect.fail('Object not found.'),
37
+ onSome: (obj) => {
38
+ // log.info('object', { object: obj });
39
+ return Effect.succeed({ object: obj });
40
+ },
41
+ }),
42
+ );
43
+ }),
44
+ });
@@ -0,0 +1,46 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { Filter, Obj, Query } from '@dxos/echo';
9
+ import { Database } from '@dxos/echo';
10
+ import { defineFunction } from '@dxos/functions';
11
+ import { trim } from '@dxos/util';
12
+
13
+ // TODO(burdon): Move to toolkit (i.e., tool not function).
14
+ export default defineFunction({
15
+ key: 'dxos.org/function/assistant/object-search',
16
+ name: 'Search objects',
17
+ description:
18
+ // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
19
+ trim`
20
+ Searches the objects using full-text search.
21
+ `,
22
+ inputSchema: Schema.Struct({
23
+ query: Schema.String.annotations({
24
+ description: 'The query to search for.',
25
+ }),
26
+ }),
27
+ outputSchema: Schema.Struct({
28
+ results: Schema.Array(
29
+ Schema.Struct({
30
+ dxn: Schema.String.annotations({ description: 'The DXN of the object.' }),
31
+ label: Schema.optional(Schema.String.annotations({ description: 'The label of the object.' })),
32
+ }),
33
+ ),
34
+ }),
35
+ handler: Effect.fn(function* ({ data: { query } }) {
36
+ const objects = yield* Database.runQuery(
37
+ Query.select(Filter.text(query, { type: 'full-text' })).options({ allQueuesFromSpaces: true }),
38
+ );
39
+ const results = objects.map((object) => ({
40
+ dxn: Obj.getDXN(object).toString(),
41
+ label: Obj.getLabel(object),
42
+ }));
43
+
44
+ return { results };
45
+ }),
46
+ });
@@ -5,10 +5,11 @@
5
5
  export * from './useBlueprintRegistry';
6
6
  export * from './useChatProcessor';
7
7
  export * from './useChatServices';
8
+ export * from './useChatToolbarActions';
8
9
  export * from './useContextBinder';
9
10
  export * from './useContextObjects';
11
+ export * from './useFilteredTypes';
10
12
  export * from './useFlush';
11
- export * from './useItemTypes';
12
13
  export * from './useOnline';
13
14
  export * from './usePresets';
14
15
  export * from './useReferencesProvider';
@@ -2,35 +2,34 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { useSignalEffect } from '@preact/signals-react';
6
- import { useCallback, useMemo, useState } from 'react';
5
+ import { useCallback, useEffect, useMemo, useState } from 'react';
7
6
 
8
- import { Capabilities, useCapabilities } from '@dxos/app-framework';
7
+ import { useCapabilities } from '@dxos/app-framework/ui';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
9
  import { type AiContextBinder } from '@dxos/assistant';
10
10
  import { Blueprint } from '@dxos/blueprints';
11
- import { type Space } from '@dxos/client/echo';
12
- import { Filter, Obj, Ref } from '@dxos/echo';
11
+ import { type Database, Filter, Obj, Ref } from '@dxos/echo';
13
12
  import { useQuery } from '@dxos/react-client/echo';
14
- import { distinctBy, isNonNullable } from '@dxos/util';
13
+ import { distinctBy } from '@dxos/util';
15
14
 
16
15
  /**
17
16
  * Provide a registry of blueprints from plugins.
18
17
  */
19
18
  // TODO(burdon): Reconcile with eventual public registry.
20
19
  export const useBlueprintRegistry = () => {
21
- const blueprints = useCapabilities(Capabilities.BlueprintDefinition);
20
+ const blueprints = useCapabilities(AppCapabilities.BlueprintDefinition);
22
21
  return useMemo(() => new Blueprint.Registry(blueprints), [blueprints]);
23
22
  };
24
23
 
25
24
  export const useBlueprints = ({
26
25
  blueprintRegistry,
27
- space,
26
+ db,
28
27
  }: {
29
28
  blueprintRegistry?: Blueprint.Registry;
30
- space?: Space;
29
+ db?: Database.Database;
31
30
  }) => {
32
31
  const staticBlueprints = useMemo(() => blueprintRegistry?.query() ?? [], [blueprintRegistry]);
33
- const spaceBlueprints = useQuery(space, Filter.type(Blueprint.Blueprint));
32
+ const spaceBlueprints = useQuery(db, Filter.type(Blueprint.Blueprint));
34
33
  return useMemo(() => {
35
34
  const blueprints = distinctBy([...staticBlueprints, ...spaceBlueprints], (b) => b.key);
36
35
  blueprints.sort(({ name: a }, { name: b }) => a.localeCompare(b));
@@ -44,22 +43,34 @@ export const useBlueprints = ({
44
43
  export const useActiveBlueprints = ({ context }: { context?: AiContextBinder }) => {
45
44
  const [active, setActive] = useState<Map<string, Blueprint.Blueprint>>(new Map());
46
45
 
47
- useSignalEffect(() => {
48
- const refs = [...(context?.blueprints.value ?? [])];
49
- const blueprints = refs.map((ref) => ref.target).filter(isNonNullable);
50
- setActive(new Map(blueprints.map((blueprint) => [blueprint.key, blueprint])));
51
- });
46
+ useEffect(() => {
47
+ if (!context) {
48
+ setActive(new Map());
49
+ return;
50
+ }
51
+
52
+ const updateActive = () => {
53
+ const blueprints = context.getBlueprints();
54
+ setActive(new Map(blueprints.map((blueprint) => [blueprint.key, blueprint])));
55
+ };
56
+
57
+ // Set initial value.
58
+ updateActive();
59
+
60
+ // Subscribe to changes.
61
+ return context.subscribeBlueprints(updateActive);
62
+ }, [context]);
52
63
 
53
64
  return active;
54
65
  };
55
66
 
56
67
  // TODO(burdon): Move logic into binder.
57
68
  export const useBlueprintHandlers = ({
58
- space,
69
+ db,
59
70
  context,
60
71
  blueprintRegistry,
61
72
  }: {
62
- space: Space;
73
+ db: Database.Database;
63
74
  context?: AiContextBinder;
64
75
  blueprintRegistry?: Blueprint.Registry;
65
76
  }) => {
@@ -70,7 +81,7 @@ export const useBlueprintHandlers = ({
70
81
  }
71
82
 
72
83
  // Find existing cloned blueprint.
73
- const { objects } = await space.db.query(Filter.type(Blueprint.Blueprint)).run();
84
+ const objects = await db.query(Filter.type(Blueprint.Blueprint)).run();
74
85
  let storedBlueprint = objects.find((blueprint) => blueprint.key === key);
75
86
  if (checked) {
76
87
  if (!storedBlueprint) {
@@ -80,14 +91,14 @@ export const useBlueprintHandlers = ({
80
91
  }
81
92
 
82
93
  // NOTE: Possible race condition with other peers.
83
- storedBlueprint = space.db.add(Obj.clone(blueprint));
94
+ storedBlueprint = db.add(Obj.clone(blueprint));
84
95
  }
85
96
  await context.bind({ blueprints: [Ref.make(storedBlueprint)] });
86
97
  } else if (storedBlueprint) {
87
98
  await context.unbind({ blueprints: [Ref.make(storedBlueprint)] });
88
99
  }
89
100
  },
90
- [space, context, blueprintRegistry],
101
+ [db, context, blueprintRegistry],
91
102
  );
92
103
 
93
104
  return { onUpdateBlueprint };
@@ -2,21 +2,23 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { RegistryContext } from '@effect-rx/rx-react';
5
+ import { type Registry, RegistryContext } from '@effect-atom/atom-react';
6
6
  import type * as Runtime from 'effect/Runtime';
7
7
  import { useContext, useMemo, useState } from 'react';
8
8
 
9
9
  import { AiConversation } from '@dxos/assistant';
10
+ import { type Chat } from '@dxos/assistant-toolkit';
10
11
  import { type Blueprint } from '@dxos/blueprints';
11
12
  import { log } from '@dxos/log';
12
- import { type Queue } from '@dxos/react-client/echo';
13
+ import { type Queue, type Space } from '@dxos/react-client/echo';
13
14
  import { useAsyncEffect } from '@dxos/react-ui';
14
15
 
15
16
  import { AiChatProcessor, type AiChatServices, type AiServicePreset } from '../processor';
16
17
  import { type Assistant } from '../types';
17
18
 
18
19
  export type UseChatProcessorProps = {
19
- chat?: Assistant.Chat;
20
+ space?: Space;
21
+ chat?: Chat.Chat;
20
22
  preset?: AiServicePreset;
21
23
  services?: () => Promise<Runtime.Runtime<AiChatServices>>;
22
24
  blueprintRegistry?: Blueprint.Registry;
@@ -27,6 +29,7 @@ export type UseChatProcessorProps = {
27
29
  * Configure and create AiChatProcessor.
28
30
  */
29
31
  export const useChatProcessor = ({
32
+ space,
30
33
  chat,
31
34
  preset,
32
35
  services,
@@ -38,18 +41,24 @@ export const useChatProcessor = ({
38
41
  // Create conversation from chat queue.
39
42
  const [conversation, setConversation] = useState<AiConversation>();
40
43
  useAsyncEffect(async () => {
41
- if (!chat?.queue.target) {
44
+ if (!space || !chat) {
42
45
  return;
43
46
  }
44
47
 
45
- const conversation = new AiConversation({ queue: chat.queue.target as Queue<any> });
48
+ // NOTE: Passing in space and getting queue from space rather than resolving the reference.
49
+ // This is because if the chat isn't in a space yet, the reference will not be resolvable.
50
+ const queue = space.queues.get(chat.queue.dxn);
51
+ const conversation = new AiConversation({
52
+ queue: queue as Queue<any>,
53
+ registry: observableRegistry as Registry.Registry,
54
+ });
46
55
  await conversation.open();
47
56
  setConversation(conversation);
48
-
49
57
  return () => {
50
58
  void conversation.close();
59
+ setConversation(undefined);
51
60
  };
52
- }, [chat?.queue.target]);
61
+ }, [space, chat?.queue.dxn.toString()]);
53
62
 
54
63
  // Create processor.
55
64
  const processor = useMemo(() => {
@@ -57,12 +66,7 @@ export const useChatProcessor = ({
57
66
  return undefined;
58
67
  }
59
68
 
60
- log('creating processor', {
61
- preset,
62
- model: preset?.model,
63
- settings,
64
- });
65
-
69
+ log('creating processor', { preset, model: preset?.model, settings });
66
70
  return new AiChatProcessor(conversation, services, {
67
71
  observableRegistry,
68
72
  blueprintRegistry,
@@ -6,18 +6,19 @@ import * as Effect from 'effect/Effect';
6
6
  import type * as Runtime from 'effect/Runtime';
7
7
  import { useMemo } from 'react';
8
8
 
9
- import { useCapability } from '@dxos/app-framework';
10
- import { type Space } from '@dxos/client/echo';
9
+ import { useCapability } from '@dxos/app-framework/ui';
10
+ import { type Chat } from '@dxos/assistant-toolkit';
11
+ import { type Key } from '@dxos/echo';
11
12
  import { TracingService } from '@dxos/functions';
13
+ import { TracingServiceExt } from '@dxos/functions-runtime';
12
14
  import { AutomationCapabilities } from '@dxos/plugin-automation';
13
15
  import { useClient } from '@dxos/react-client';
14
16
 
15
17
  import { type AiChatServices } from '../processor';
16
- import { type Assistant } from '../types';
17
18
 
18
19
  export type UseChatServicesProps = {
19
- space?: Space;
20
- chat?: Assistant.Chat;
20
+ id?: Key.SpaceId;
21
+ chat?: Chat.Chat;
21
22
  };
22
23
 
23
24
  /**
@@ -25,25 +26,22 @@ export type UseChatServicesProps = {
25
26
  */
26
27
  // TODO(dmaretskyi): Better return type.
27
28
  export const useChatServices = ({
28
- space,
29
+ id,
29
30
  chat,
30
31
  }: UseChatServicesProps): (() => Promise<Runtime.Runtime<AiChatServices>>) | undefined => {
31
32
  const client = useClient();
32
- space ??= client.spaces.default;
33
-
34
- const computeRuntimeResolver = useCapability(AutomationCapabilities.ComputeRuntime);
33
+ id ??= client.spaces.default.id;
35
34
 
35
+ const runtimeResolver = useCapability(AutomationCapabilities.ComputeRuntime);
36
36
  return useMemo(() => {
37
- const runtime = computeRuntimeResolver.getRuntime(space.id);
37
+ const runtime = runtimeResolver.getRuntime(id);
38
38
  return () =>
39
39
  runtime.runPromise(
40
- Effect.gen(function* () {
41
- return yield* Effect.runtime<AiChatServices>().pipe(
42
- Effect.provide(
43
- chat?.traceQueue?.target ? TracingService.layerQueue(chat.traceQueue?.target) : TracingService.layerNoop,
44
- ),
45
- );
46
- }),
40
+ Effect.runtime<AiChatServices>().pipe(
41
+ Effect.provide(
42
+ chat?.traceQueue?.target ? TracingServiceExt.layerQueue(chat.traceQueue?.target) : TracingService.layerNoop,
43
+ ),
44
+ ),
47
45
  );
48
- }, [space, chat?.traceQueue?.target]);
46
+ }, [id, chat?.traceQueue?.target]);
49
47
  };