@dxos/plugin-assistant 0.8.4-main.1f223c7 → 0.8.4-main.2244d791bb

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 (646) 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-KGPU4DLI.mjs +200 -0
  4. package/dist/lib/browser/ChatCompanion-KGPU4DLI.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-IHPTKMDK.mjs +73 -0
  6. package/dist/lib/browser/ChatContainer-IHPTKMDK.mjs.map +7 -0
  7. package/dist/lib/browser/ChatDialog-VALCOM3W.mjs +85 -0
  8. package/dist/lib/browser/ChatDialog-VALCOM3W.mjs.map +7 -0
  9. package/dist/lib/browser/InitiativeContainer-LQHJLTPE.mjs +264 -0
  10. package/dist/lib/browser/InitiativeContainer-LQHJLTPE.mjs.map +7 -0
  11. package/dist/lib/browser/PromptArticle-YJ5E2YYE.mjs +65 -0
  12. package/dist/lib/browser/PromptArticle-YJ5E2YYE.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-4D42KBDM.mjs +33 -0
  18. package/dist/lib/browser/blueprint-definition-4D42KBDM.mjs.map +7 -0
  19. package/dist/lib/browser/blueprints/index.mjs +8 -0
  20. package/dist/lib/browser/chunk-6BVCG5SJ.mjs +230 -0
  21. package/dist/lib/browser/chunk-6BVCG5SJ.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-DKQMSMBN.mjs +326 -0
  23. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-EXVT7D4B.mjs +23 -0
  25. package/dist/lib/browser/chunk-EXVT7D4B.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-JYY5AD65.mjs +286 -0
  27. package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
  28. package/dist/lib/browser/chunk-MEM7ET2A.mjs +174 -0
  29. package/dist/lib/browser/chunk-MEM7ET2A.mjs.map +7 -0
  30. package/dist/lib/browser/chunk-THZPCE3E.mjs +1968 -0
  31. package/dist/lib/browser/chunk-THZPCE3E.mjs.map +7 -0
  32. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
  33. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  34. package/dist/lib/browser/index.mjs +277 -223
  35. package/dist/lib/browser/index.mjs.map +4 -4
  36. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
  37. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  38. package/dist/lib/browser/meta.json +1 -1
  39. package/dist/lib/browser/operation-resolver-MB7OQBPT.mjs +130 -0
  40. package/dist/lib/browser/operation-resolver-MB7OQBPT.mjs.map +7 -0
  41. package/dist/lib/browser/react-surface-UHDDX6N3.mjs +125 -0
  42. package/dist/lib/browser/react-surface-UHDDX6N3.mjs.map +7 -0
  43. package/dist/lib/browser/repair-IRXDYF4R.mjs +51 -0
  44. package/dist/lib/browser/repair-IRXDYF4R.mjs.map +7 -0
  45. package/dist/lib/browser/settings-XF6GKHCG.mjs +33 -0
  46. package/dist/lib/browser/settings-XF6GKHCG.mjs.map +7 -0
  47. package/dist/lib/browser/state-OYDPWLKA.mjs +26 -0
  48. package/dist/lib/browser/state-OYDPWLKA.mjs.map +7 -0
  49. package/dist/lib/browser/toolkit-IDXQCSTX.mjs +19 -0
  50. package/dist/lib/browser/toolkit-IDXQCSTX.mjs.map +7 -0
  51. package/dist/lib/browser/types/index.mjs +8 -4
  52. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs +31 -0
  53. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs.map +7 -0
  54. package/dist/lib/node-esm/ChatCompanion-XY3MAAKH.mjs +201 -0
  55. package/dist/lib/node-esm/ChatCompanion-XY3MAAKH.mjs.map +7 -0
  56. package/dist/lib/node-esm/ChatContainer-3YXC4HOK.mjs +74 -0
  57. package/dist/lib/node-esm/ChatContainer-3YXC4HOK.mjs.map +7 -0
  58. package/dist/lib/node-esm/ChatDialog-UAYXP3UM.mjs +86 -0
  59. package/dist/lib/node-esm/ChatDialog-UAYXP3UM.mjs.map +7 -0
  60. package/dist/lib/node-esm/InitiativeContainer-EAUOSH36.mjs +265 -0
  61. package/dist/lib/node-esm/InitiativeContainer-EAUOSH36.mjs.map +7 -0
  62. package/dist/lib/node-esm/PromptArticle-U2IYPLFR.mjs +66 -0
  63. package/dist/lib/node-esm/PromptArticle-U2IYPLFR.mjs.map +7 -0
  64. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
  65. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  66. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs +235 -0
  67. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs.map +7 -0
  68. package/dist/lib/node-esm/blueprint-definition-EJOAZFY5.mjs +34 -0
  69. package/dist/lib/node-esm/blueprint-definition-EJOAZFY5.mjs.map +7 -0
  70. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  71. package/dist/lib/node-esm/chunk-3DG7AJES.mjs +1969 -0
  72. package/dist/lib/node-esm/chunk-3DG7AJES.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-75PHXBN3.mjs +327 -0
  74. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-CTHGEJJA.mjs +176 -0
  76. package/dist/lib/node-esm/chunk-CTHGEJJA.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs +288 -0
  78. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-LB72WG6R.mjs +231 -0
  80. package/dist/lib/node-esm/chunk-LB72WG6R.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-POWB2BPC.mjs +25 -0
  82. package/dist/lib/node-esm/chunk-POWB2BPC.mjs.map +7 -0
  83. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
  84. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  85. package/dist/lib/node-esm/index.mjs +277 -223
  86. package/dist/lib/node-esm/index.mjs.map +4 -4
  87. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
  88. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  89. package/dist/lib/node-esm/meta.json +1 -1
  90. package/dist/lib/node-esm/operation-resolver-VWNTUHQQ.mjs +131 -0
  91. package/dist/lib/node-esm/operation-resolver-VWNTUHQQ.mjs.map +7 -0
  92. package/dist/lib/node-esm/react-surface-DTOXFPWM.mjs +126 -0
  93. package/dist/lib/node-esm/react-surface-DTOXFPWM.mjs.map +7 -0
  94. package/dist/lib/node-esm/repair-DMI55PON.mjs +52 -0
  95. package/dist/lib/node-esm/repair-DMI55PON.mjs.map +7 -0
  96. package/dist/lib/node-esm/settings-NGGZA7S7.mjs +34 -0
  97. package/dist/lib/node-esm/settings-NGGZA7S7.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-VSCPGN7R.mjs +27 -0
  99. package/dist/lib/node-esm/state-VSCPGN7R.mjs.map +7 -0
  100. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs +20 -0
  101. package/dist/lib/node-esm/toolkit-JPRJRDDB.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 +4 -0
  106. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/assistant/functions/index.d.ts +25 -0
  108. package/dist/types/src/blueprints/assistant/functions/index.d.ts.map +1 -0
  109. package/dist/types/src/{functions/list.d.ts → blueprints/assistant/functions/object-list.d.ts} +3 -3
  110. package/dist/types/src/blueprints/assistant/functions/object-list.d.ts.map +1 -0
  111. package/dist/types/src/{functions/load.d.ts → blueprints/assistant/functions/object-load.d.ts} +3 -3
  112. package/dist/types/src/blueprints/assistant/functions/object-load.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/assistant/functions/object-search.d.ts +10 -0
  114. package/dist/types/src/blueprints/assistant/functions/object-search.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  116. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/index.d.ts +2 -0
  118. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +6 -0
  120. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
  122. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  124. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  126. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  128. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
  132. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
  134. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/index.d.ts +10 -12
  136. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
  140. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  142. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  144. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  146. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  148. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  150. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  152. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/settings/index.d.ts +15 -0
  154. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
  156. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/state/index.d.ts +11 -0
  158. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/state/state.d.ts +13 -0
  160. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
  162. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
  164. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
  165. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -2
  166. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  167. package/dist/types/src/components/BlueprintArticle.d.ts +7 -0
  168. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -0
  169. package/dist/types/src/components/Chat/Chat.d.ts +26 -13
  170. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  171. package/dist/types/src/components/Chat/events.d.ts +5 -1
  172. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  173. package/dist/types/src/components/ChatCompanion.d.ts +4 -4
  174. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatContainer.d.ts +14 -6
  176. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  177. package/dist/types/src/components/ChatDialog.d.ts +2 -2
  178. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  179. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +2 -2
  180. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  181. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  182. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
  183. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  184. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
  185. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  186. package/dist/types/src/components/ChatThread/ChatThread.d.ts +7 -8
  187. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  188. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +247 -74
  189. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
  191. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  192. package/dist/types/src/components/ChatThread/sync.d.ts +12 -6
  193. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  194. package/dist/types/src/components/InitiativeContainer/InitiativeContainer.d.ts +7 -0
  195. package/dist/types/src/components/InitiativeContainer/InitiativeContainer.d.ts.map +1 -0
  196. package/dist/types/src/components/InitiativeContainer/index.d.ts +3 -0
  197. package/dist/types/src/components/InitiativeContainer/index.d.ts.map +1 -0
  198. package/dist/types/src/components/PromptArticle.d.ts +7 -0
  199. package/dist/types/src/components/PromptArticle.d.ts.map +1 -0
  200. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  201. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  202. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +230 -61
  203. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  204. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +12 -2
  205. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  206. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +231 -62
  207. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  208. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  209. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  210. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  211. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  212. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  213. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +10 -8
  214. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  215. package/dist/types/src/components/Toolbox/Toolbox.d.ts +6 -7
  216. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  217. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +230 -61
  218. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  219. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts +4 -0
  220. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  221. package/dist/types/src/components/TriggerStatus/index.d.ts +2 -0
  222. package/dist/types/src/components/TriggerStatus/index.d.ts.map +1 -0
  223. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  224. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  225. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  226. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  227. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  228. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  229. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  230. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  231. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  232. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  233. package/dist/types/src/components/index.d.ts +10 -10
  234. package/dist/types/src/components/index.d.ts.map +1 -1
  235. package/dist/types/src/hooks/index.d.ts +2 -3
  236. package/dist/types/src/hooks/index.d.ts.map +1 -1
  237. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -4
  238. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  239. package/dist/types/src/hooks/useChatProcessor.d.ts +6 -3
  240. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  241. package/dist/types/src/hooks/useChatServices.d.ts +6 -6
  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 +3 -1
  253. package/dist/types/src/index.d.ts.map +1 -1
  254. package/dist/types/src/meta.d.ts +3 -4
  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/presets.d.ts +1 -1
  259. package/dist/types/src/processor/presets.d.ts.map +1 -1
  260. package/dist/types/src/processor/processor.d.ts +26 -20
  261. package/dist/types/src/processor/processor.d.ts.map +1 -1
  262. package/dist/types/src/processor/update-name.d.ts +10 -0
  263. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  264. package/dist/types/src/queue-logger.d.ts.map +1 -1
  265. package/dist/types/src/testing/index.d.ts +0 -2
  266. package/dist/types/src/testing/index.d.ts.map +1 -1
  267. package/dist/types/src/testing/test-generator.d.ts +6 -5
  268. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  269. package/dist/types/src/testing/test-services.d.ts +2 -2
  270. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  271. package/dist/types/src/translations.d.ts +358 -26
  272. package/dist/types/src/translations.d.ts.map +1 -1
  273. package/dist/types/src/types/Assistant.d.ts +8 -30
  274. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  275. package/dist/types/src/types/AssistantAction.d.ts +91 -101
  276. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  277. package/dist/types/src/types/capabilities.d.ts +33 -0
  278. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  279. package/dist/types/src/types/events.d.ts +5 -0
  280. package/dist/types/src/types/events.d.ts.map +1 -0
  281. package/dist/types/src/types/index.d.ts +4 -1
  282. package/dist/types/src/types/index.d.ts.map +1 -1
  283. package/dist/types/src/types/service.d.ts +14 -216
  284. package/dist/types/src/types/service.d.ts.map +1 -1
  285. package/dist/types/tsconfig.tsbuildinfo +1 -1
  286. package/package.json +121 -116
  287. package/src/AssistantPlugin.tsx +148 -148
  288. package/src/blueprints/assistant/blueprint.ts +34 -0
  289. package/src/blueprints/assistant/functions/index.ts +13 -0
  290. package/src/{functions/list.ts → blueprints/assistant/functions/object-list.ts} +10 -7
  291. package/src/blueprints/assistant/functions/object-load.ts +44 -0
  292. package/src/blueprints/assistant/functions/object-search.ts +46 -0
  293. package/src/blueprints/assistant/index.ts +5 -0
  294. package/src/{components/Toolbar → blueprints}/index.ts +1 -1
  295. package/src/capabilities/ai-service/ai-service.ts +30 -0
  296. package/src/capabilities/ai-service/index.ts +7 -0
  297. package/src/capabilities/app-graph-builder/app-graph-builder.ts +200 -0
  298. package/src/capabilities/app-graph-builder/index.ts +7 -0
  299. package/src/capabilities/blueprint-definition/blueprint-definition.ts +46 -0
  300. package/src/capabilities/blueprint-definition/index.ts +7 -0
  301. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
  302. package/src/capabilities/edge-model-resolver/index.ts +7 -0
  303. package/src/capabilities/index.ts +10 -15
  304. package/src/capabilities/local-model-resolver/index.ts +7 -0
  305. package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
  306. package/src/capabilities/operation-resolver/index.ts +7 -0
  307. package/src/capabilities/operation-resolver/operation-resolver.ts +112 -0
  308. package/src/capabilities/react-surface/index.ts +7 -0
  309. package/src/capabilities/react-surface/react-surface.tsx +111 -0
  310. package/src/capabilities/repair/index.ts +7 -0
  311. package/src/capabilities/repair/repair.ts +62 -0
  312. package/src/capabilities/settings/index.ts +7 -0
  313. package/src/capabilities/settings/settings.ts +31 -0
  314. package/src/capabilities/state/index.ts +7 -0
  315. package/src/capabilities/state/state.ts +27 -0
  316. package/src/capabilities/toolkit/index.ts +7 -0
  317. package/src/capabilities/toolkit/toolkit.ts +27 -0
  318. package/src/components/AssistantSettings/AssistantSettings.tsx +28 -20
  319. package/src/components/BlueprintArticle.tsx +28 -0
  320. package/src/components/Chat/Chat.tsx +222 -153
  321. package/src/components/Chat/events.ts +7 -1
  322. package/src/components/ChatCompanion.tsx +201 -86
  323. package/src/components/ChatContainer.tsx +48 -31
  324. package/src/components/ChatDialog.tsx +15 -8
  325. package/src/components/ChatProgress/ChatProgress.tsx +6 -21
  326. package/src/components/ChatPrompt/ChatActions.tsx +11 -5
  327. package/src/components/ChatPrompt/ChatOptions.tsx +104 -99
  328. package/src/components/ChatPrompt/ChatReferences.tsx +7 -8
  329. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
  330. package/src/components/ChatThread/ChatThread.stories.tsx +63 -43
  331. package/src/components/ChatThread/ChatThread.tsx +38 -35
  332. package/src/components/ChatThread/Link.tsx +4 -4
  333. package/src/components/ChatThread/registry.tsx +43 -41
  334. package/src/components/ChatThread/sync.test.ts +34 -18
  335. package/src/components/ChatThread/sync.ts +61 -14
  336. package/src/components/ChatThread/testing/thread.md +37 -0
  337. package/src/components/InitiativeContainer/InitiativeContainer.tsx +340 -0
  338. package/src/components/InitiativeContainer/index.ts +6 -0
  339. package/src/components/PromptArticle.tsx +58 -0
  340. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +16 -8
  341. package/src/components/TemplateEditor/TemplateEditor.tsx +26 -14
  342. package/src/components/TemplateEditor/TemplateForm.stories.tsx +17 -11
  343. package/src/components/TemplateEditor/TemplateForm.tsx +77 -30
  344. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  345. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  346. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  347. package/src/components/ToolBlock/ToolBlock.tsx +40 -49
  348. package/src/components/Toolbox/Toolbox.stories.tsx +11 -15
  349. package/src/components/Toolbox/Toolbox.tsx +54 -56
  350. package/src/components/TriggerStatus/TriggerStatus.tsx +142 -0
  351. package/src/components/{SequenceEditor → TriggerStatus}/index.ts +1 -1
  352. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  353. package/src/components/Typewriter/Typewriter.stories.tsx +83 -0
  354. package/src/components/Typewriter/Typewriter.tsx +54 -0
  355. package/src/components/Typewriter/assistant-extension.tsx +144 -0
  356. package/src/components/Typewriter/index.ts +5 -0
  357. package/src/components/index.ts +13 -7
  358. package/src/hooks/index.ts +2 -3
  359. package/src/hooks/useBlueprintRegistry.ts +48 -20
  360. package/src/hooks/useChatProcessor.ts +27 -15
  361. package/src/hooks/useChatServices.ts +19 -20
  362. package/src/hooks/useChatToolbarActions.ts +122 -0
  363. package/src/hooks/useContextBinder.ts +21 -7
  364. package/src/hooks/useContextObjects.ts +13 -25
  365. package/src/hooks/useFilteredTypes.ts +37 -0
  366. package/src/hooks/useReferencesProvider.ts +5 -8
  367. package/src/index.ts +3 -1
  368. package/src/meta.ts +11 -8
  369. package/src/processor/index.ts +1 -0
  370. package/src/processor/presets.ts +2 -2
  371. package/src/processor/processor.test.ts +24 -29
  372. package/src/processor/processor.ts +90 -96
  373. package/src/processor/update-name.ts +58 -0
  374. package/src/queue-logger.ts +8 -9
  375. package/src/testing/index.ts +0 -2
  376. package/src/testing/test-generator.ts +19 -14
  377. package/src/testing/test-services.ts +10 -14
  378. package/src/translations.ts +51 -18
  379. package/src/types/Assistant.ts +5 -38
  380. package/src/types/AssistantAction.ts +68 -54
  381. package/src/types/capabilities.ts +27 -0
  382. package/src/types/events.ts +11 -0
  383. package/src/types/index.ts +6 -1
  384. package/src/types/service.ts +25 -14
  385. package/dist/lib/browser/BlueprintContainer-BFNN6K46.mjs +0 -29
  386. package/dist/lib/browser/BlueprintContainer-BFNN6K46.mjs.map +0 -7
  387. package/dist/lib/browser/ChatCompanion-DOVN34C7.mjs +0 -126
  388. package/dist/lib/browser/ChatCompanion-DOVN34C7.mjs.map +0 -7
  389. package/dist/lib/browser/ChatContainer-XIVJTCC2.mjs +0 -75
  390. package/dist/lib/browser/ChatContainer-XIVJTCC2.mjs.map +0 -7
  391. package/dist/lib/browser/ChatDialog-EJJMK3WL.mjs +0 -88
  392. package/dist/lib/browser/ChatDialog-EJJMK3WL.mjs.map +0 -7
  393. package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs +0 -150
  394. package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs.map +0 -7
  395. package/dist/lib/browser/ai-service-YC2EQPHA.mjs +0 -22
  396. package/dist/lib/browser/ai-service-YC2EQPHA.mjs.map +0 -7
  397. package/dist/lib/browser/app-graph-builder-3C43MLCD.mjs +0 -153
  398. package/dist/lib/browser/app-graph-builder-3C43MLCD.mjs.map +0 -7
  399. package/dist/lib/browser/blueprint-definition-VHFSRTEJ.mjs +0 -12
  400. package/dist/lib/browser/chunk-C4Q2RYQM.mjs +0 -1974
  401. package/dist/lib/browser/chunk-C4Q2RYQM.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-EZUSNS2J.mjs +0 -19
  403. package/dist/lib/browser/chunk-EZUSNS2J.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-GLWD66TA.mjs +0 -161
  405. package/dist/lib/browser/chunk-GLWD66TA.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-O4LUJEDV.mjs +0 -20
  407. package/dist/lib/browser/chunk-O4LUJEDV.mjs.map +0 -7
  408. package/dist/lib/browser/chunk-PQI3MGDN.mjs +0 -169
  409. package/dist/lib/browser/chunk-PQI3MGDN.mjs.map +0 -7
  410. package/dist/lib/browser/chunk-QD4UUISH.mjs +0 -299
  411. package/dist/lib/browser/chunk-QD4UUISH.mjs.map +0 -7
  412. package/dist/lib/browser/chunk-R6LRGW3I.mjs +0 -216
  413. package/dist/lib/browser/chunk-R6LRGW3I.mjs.map +0 -7
  414. package/dist/lib/browser/chunk-SMIVXXAI.mjs +0 -202
  415. package/dist/lib/browser/chunk-SMIVXXAI.mjs.map +0 -7
  416. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs +0 -155
  417. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs.map +0 -7
  418. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs +0 -22
  419. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs.map +0 -7
  420. package/dist/lib/browser/intent-resolver-I6M3ZDAS.mjs +0 -112
  421. package/dist/lib/browser/intent-resolver-I6M3ZDAS.mjs.map +0 -7
  422. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs +0 -21
  423. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs.map +0 -7
  424. package/dist/lib/browser/react-surface-E4NAGB6R.mjs +0 -109
  425. package/dist/lib/browser/react-surface-E4NAGB6R.mjs.map +0 -7
  426. package/dist/lib/browser/settings-36V3VUMW.mjs +0 -23
  427. package/dist/lib/browser/settings-36V3VUMW.mjs.map +0 -7
  428. package/dist/lib/browser/state-AINRYS5W.mjs +0 -21
  429. package/dist/lib/browser/state-AINRYS5W.mjs.map +0 -7
  430. package/dist/lib/browser/toolkit-MPUS3U64.mjs +0 -191
  431. package/dist/lib/browser/toolkit-MPUS3U64.mjs.map +0 -7
  432. package/dist/lib/node-esm/BlueprintContainer-X4MRBKDR.mjs +0 -30
  433. package/dist/lib/node-esm/BlueprintContainer-X4MRBKDR.mjs.map +0 -7
  434. package/dist/lib/node-esm/ChatCompanion-ICWYVPRD.mjs +0 -127
  435. package/dist/lib/node-esm/ChatCompanion-ICWYVPRD.mjs.map +0 -7
  436. package/dist/lib/node-esm/ChatContainer-LMMMQD4K.mjs +0 -76
  437. package/dist/lib/node-esm/ChatContainer-LMMMQD4K.mjs.map +0 -7
  438. package/dist/lib/node-esm/ChatDialog-UUE3F7BT.mjs +0 -89
  439. package/dist/lib/node-esm/ChatDialog-UUE3F7BT.mjs.map +0 -7
  440. package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs +0 -151
  441. package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs.map +0 -7
  442. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs +0 -23
  443. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs.map +0 -7
  444. package/dist/lib/node-esm/app-graph-builder-NM3JDLQ2.mjs +0 -154
  445. package/dist/lib/node-esm/app-graph-builder-NM3JDLQ2.mjs.map +0 -7
  446. package/dist/lib/node-esm/blueprint-definition-4E6XTLVN.mjs +0 -13
  447. package/dist/lib/node-esm/chunk-4WLFSXZG.mjs +0 -170
  448. package/dist/lib/node-esm/chunk-4WLFSXZG.mjs.map +0 -7
  449. package/dist/lib/node-esm/chunk-7YOGZI66.mjs +0 -203
  450. package/dist/lib/node-esm/chunk-7YOGZI66.mjs.map +0 -7
  451. package/dist/lib/node-esm/chunk-LVTG5JTW.mjs +0 -217
  452. package/dist/lib/node-esm/chunk-LVTG5JTW.mjs.map +0 -7
  453. package/dist/lib/node-esm/chunk-QG2KT3AT.mjs +0 -163
  454. package/dist/lib/node-esm/chunk-QG2KT3AT.mjs.map +0 -7
  455. package/dist/lib/node-esm/chunk-V44ZG7CU.mjs +0 -1975
  456. package/dist/lib/node-esm/chunk-V44ZG7CU.mjs.map +0 -7
  457. package/dist/lib/node-esm/chunk-VFY2JG62.mjs +0 -22
  458. package/dist/lib/node-esm/chunk-VFY2JG62.mjs.map +0 -7
  459. package/dist/lib/node-esm/chunk-XD4CDA4R.mjs +0 -20
  460. package/dist/lib/node-esm/chunk-XD4CDA4R.mjs.map +0 -7
  461. package/dist/lib/node-esm/chunk-YU62ZWJN.mjs +0 -300
  462. package/dist/lib/node-esm/chunk-YU62ZWJN.mjs.map +0 -7
  463. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs +0 -156
  464. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs.map +0 -7
  465. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs +0 -23
  466. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs.map +0 -7
  467. package/dist/lib/node-esm/intent-resolver-VIINHFMT.mjs +0 -113
  468. package/dist/lib/node-esm/intent-resolver-VIINHFMT.mjs.map +0 -7
  469. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs +0 -22
  470. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs.map +0 -7
  471. package/dist/lib/node-esm/react-surface-5WQLRTCH.mjs +0 -110
  472. package/dist/lib/node-esm/react-surface-5WQLRTCH.mjs.map +0 -7
  473. package/dist/lib/node-esm/settings-7ZCZ6AS5.mjs +0 -24
  474. package/dist/lib/node-esm/settings-7ZCZ6AS5.mjs.map +0 -7
  475. package/dist/lib/node-esm/state-EQS5KP6M.mjs +0 -22
  476. package/dist/lib/node-esm/state-EQS5KP6M.mjs.map +0 -7
  477. package/dist/lib/node-esm/toolkit-PKVYDZ4H.mjs +0 -192
  478. package/dist/lib/node-esm/toolkit-PKVYDZ4H.mjs.map +0 -7
  479. package/dist/types/src/capabilities/ai-service.d.ts +0 -5
  480. package/dist/types/src/capabilities/ai-service.d.ts.map +0 -1
  481. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  482. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  483. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
  484. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  485. package/dist/types/src/capabilities/capabilities.d.ts +0 -32
  486. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  487. package/dist/types/src/capabilities/compute-runtime.d.ts +0 -5
  488. package/dist/types/src/capabilities/compute-runtime.d.ts.map +0 -1
  489. package/dist/types/src/capabilities/edge-model-resolver.d.ts +0 -4
  490. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +0 -1
  491. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  492. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  493. package/dist/types/src/capabilities/local-model-resolver.d.ts +0 -10
  494. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +0 -1
  495. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  496. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  497. package/dist/types/src/capabilities/settings.d.ts +0 -4
  498. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  499. package/dist/types/src/capabilities/state.d.ts +0 -4
  500. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  501. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  502. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  503. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  504. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  505. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  506. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  507. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  508. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  509. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  510. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  511. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  512. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  513. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -267
  514. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  515. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  516. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  517. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +0 -1
  518. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -5
  519. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  520. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  521. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  522. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +0 -11
  523. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +0 -1
  524. package/dist/types/src/events.d.ts +0 -4
  525. package/dist/types/src/events.d.ts.map +0 -1
  526. package/dist/types/src/execution-graph/execution-graph.d.ts +0 -21
  527. package/dist/types/src/execution-graph/execution-graph.d.ts.map +0 -1
  528. package/dist/types/src/execution-graph/index.d.ts +0 -2
  529. package/dist/types/src/execution-graph/index.d.ts.map +0 -1
  530. package/dist/types/src/functions/analysis.d.ts +0 -5
  531. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  532. package/dist/types/src/functions/index.d.ts +0 -4
  533. package/dist/types/src/functions/index.d.ts.map +0 -1
  534. package/dist/types/src/functions/list.d.ts.map +0 -1
  535. package/dist/types/src/functions/load.d.ts.map +0 -1
  536. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +0 -8
  537. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +0 -1
  538. package/dist/types/src/hooks/useExecutionGraph.d.ts +0 -6
  539. package/dist/types/src/hooks/useExecutionGraph.d.ts.map +0 -1
  540. package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
  541. package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
  542. package/dist/types/src/stories/Chat.stories.d.ts +0 -30
  543. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  544. package/dist/types/src/stories/components/BlueprintContainer.d.ts +0 -4
  545. package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +0 -1
  546. package/dist/types/src/stories/components/ChatContainer.d.ts +0 -4
  547. package/dist/types/src/stories/components/ChatContainer.d.ts.map +0 -1
  548. package/dist/types/src/stories/components/ChessContainer.d.ts +0 -4
  549. package/dist/types/src/stories/components/ChessContainer.d.ts.map +0 -1
  550. package/dist/types/src/stories/components/CommentsContainer.d.ts +0 -4
  551. package/dist/types/src/stories/components/CommentsContainer.d.ts.map +0 -1
  552. package/dist/types/src/stories/components/DebugCard.d.ts +0 -8
  553. package/dist/types/src/stories/components/DebugCard.d.ts.map +0 -1
  554. package/dist/types/src/stories/components/GraphContainer.d.ts +0 -6
  555. package/dist/types/src/stories/components/GraphContainer.d.ts.map +0 -1
  556. package/dist/types/src/stories/components/InvocationsContainer.d.ts +0 -4
  557. package/dist/types/src/stories/components/InvocationsContainer.d.ts.map +0 -1
  558. package/dist/types/src/stories/components/LoggingContainer.d.ts +0 -7
  559. package/dist/types/src/stories/components/LoggingContainer.d.ts.map +0 -1
  560. package/dist/types/src/stories/components/MessageContainer.d.ts +0 -4
  561. package/dist/types/src/stories/components/MessageContainer.d.ts.map +0 -1
  562. package/dist/types/src/stories/components/PromptContainer.d.ts +0 -6
  563. package/dist/types/src/stories/components/PromptContainer.d.ts.map +0 -1
  564. package/dist/types/src/stories/components/ResearchInputStack.d.ts +0 -4
  565. package/dist/types/src/stories/components/ResearchInputStack.d.ts.map +0 -1
  566. package/dist/types/src/stories/components/ResearchOutputStack.d.ts +0 -4
  567. package/dist/types/src/stories/components/ResearchOutputStack.d.ts.map +0 -1
  568. package/dist/types/src/stories/components/TasksContainer.d.ts +0 -4
  569. package/dist/types/src/stories/components/TasksContainer.d.ts.map +0 -1
  570. package/dist/types/src/stories/components/TokenManagerContainer.d.ts +0 -3
  571. package/dist/types/src/stories/components/TokenManagerContainer.d.ts.map +0 -1
  572. package/dist/types/src/stories/components/TriggersContainer.d.ts +0 -14
  573. package/dist/types/src/stories/components/TriggersContainer.d.ts.map +0 -1
  574. package/dist/types/src/stories/components/index.d.ts +0 -16
  575. package/dist/types/src/stories/components/index.d.ts.map +0 -1
  576. package/dist/types/src/stories/components/types.d.ts +0 -7
  577. package/dist/types/src/stories/components/types.d.ts.map +0 -1
  578. package/dist/types/src/stories/testing/data.d.ts +0 -9
  579. package/dist/types/src/stories/testing/data.d.ts.map +0 -1
  580. package/dist/types/src/stories/testing/index.d.ts +0 -3
  581. package/dist/types/src/stories/testing/index.d.ts.map +0 -1
  582. package/dist/types/src/stories/testing/schema.d.ts +0 -7
  583. package/dist/types/src/stories/testing/schema.d.ts.map +0 -1
  584. package/dist/types/src/stories/testing/testing.d.ts +0 -48
  585. package/dist/types/src/stories/testing/testing.d.ts.map +0 -1
  586. package/dist/types/src/testing/test-data.d.ts +0 -14
  587. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  588. package/dist/types/src/testing/test-functions.d.ts +0 -6
  589. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  590. package/src/capabilities/ai-service.ts +0 -28
  591. package/src/capabilities/app-graph-builder.ts +0 -162
  592. package/src/capabilities/blueprint-definition.ts +0 -58
  593. package/src/capabilities/capabilities.ts +0 -71
  594. package/src/capabilities/compute-runtime.ts +0 -124
  595. package/src/capabilities/edge-model-resolver.ts +0 -27
  596. package/src/capabilities/intent-resolver.ts +0 -94
  597. package/src/capabilities/local-model-resolver.ts +0 -32
  598. package/src/capabilities/react-surface.tsx +0 -91
  599. package/src/capabilities/settings.ts +0 -19
  600. package/src/capabilities/state.ts +0 -20
  601. package/src/capabilities/toolkit.ts +0 -163
  602. package/src/components/BlueprintContainer.tsx +0 -24
  603. package/src/components/ChatThread/reducers.ts +0 -151
  604. package/src/components/PromptSettings.tsx +0 -90
  605. package/src/components/SequenceContainer.tsx +0 -131
  606. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -33
  607. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  608. package/src/components/TemplateEditor/handlebars-extension.ts +0 -165
  609. package/src/components/Toolbar/Toolbar.tsx +0 -21
  610. package/src/components/Toolbar/useChatToolbarActions.ts +0 -126
  611. package/src/events.ts +0 -11
  612. package/src/execution-graph/execution-graph.ts +0 -211
  613. package/src/execution-graph/index.ts +0 -5
  614. package/src/functions/analysis.ts +0 -20
  615. package/src/functions/index.ts +0 -7
  616. package/src/functions/load.ts +0 -42
  617. package/src/hooks/useComputeRuntimeCallback.ts +0 -25
  618. package/src/hooks/useExecutionGraph.ts +0 -20
  619. package/src/hooks/useItemTypes.ts +0 -37
  620. package/src/stories/Chat.stories.tsx +0 -657
  621. package/src/stories/components/BlueprintContainer.tsx +0 -34
  622. package/src/stories/components/ChatContainer.tsx +0 -74
  623. package/src/stories/components/ChessContainer.tsx +0 -17
  624. package/src/stories/components/CommentsContainer.tsx +0 -25
  625. package/src/stories/components/DebugCard.tsx +0 -61
  626. package/src/stories/components/GraphContainer.tsx +0 -119
  627. package/src/stories/components/InvocationsContainer.tsx +0 -17
  628. package/src/stories/components/LoggingContainer.tsx +0 -33
  629. package/src/stories/components/MessageContainer.tsx +0 -22
  630. package/src/stories/components/PromptContainer.tsx +0 -52
  631. package/src/stories/components/ResearchInputStack.tsx +0 -30
  632. package/src/stories/components/ResearchOutputStack.tsx +0 -29
  633. package/src/stories/components/TasksContainer.tsx +0 -49
  634. package/src/stories/components/TokenManagerContainer.tsx +0 -14
  635. package/src/stories/components/TriggersContainer.tsx +0 -75
  636. package/src/stories/components/index.ts +0 -20
  637. package/src/stories/components/types.ts +0 -11
  638. package/src/stories/testing/data.ts +0 -142
  639. package/src/stories/testing/index.ts +0 -6
  640. package/src/stories/testing/schema.ts +0 -17
  641. package/src/stories/testing/testing.tsx +0 -279
  642. package/src/testing/test-data.ts +0 -245
  643. package/src/testing/test-functions.ts +0 -16
  644. /package/dist/lib/browser/{blueprint-definition-VHFSRTEJ.mjs.map → blueprints/index.mjs.map} +0 -0
  645. /package/dist/lib/node-esm/{blueprint-definition-4E6XTLVN.mjs.map → blueprints/index.mjs.map} +0 -0
  646. /package/dist/types/src/components/TemplateEditor/{handlebars-extension.d.ts → extensions/handlebars-extension.d.ts} +0 -0
@@ -5,54 +5,42 @@
5
5
  import { useCallback } from 'react';
6
6
 
7
7
  import { type AiContextBinder } from '@dxos/assistant';
8
- import { type DXN, type Obj, Ref } from '@dxos/echo';
9
- import { log } from '@dxos/log';
10
- import { type Space } from '@dxos/react-client/echo';
11
- import { isNonNullable } from '@dxos/util';
8
+ import { type DXN, type Database, type Obj, Ref } from '@dxos/echo';
9
+
10
+ export type UseContextObjectsProps = {
11
+ db?: Database.Database;
12
+ context?: AiContextBinder;
13
+ };
12
14
 
13
15
  export type UseContextObjects = {
14
- objects: Obj.Any[];
16
+ objects: Obj.Unknown[];
15
17
  onUpdateObject: (dxn: DXN, checked: boolean) => Promise<void>;
16
18
  };
17
19
 
18
20
  /**
19
21
  * Create reactive map of active object references (by DXN string).
20
22
  */
21
- export const useContextObjects = ({
22
- space,
23
- context,
24
- }: {
25
- space?: Space;
26
- context?: AiContextBinder;
27
- }): UseContextObjects => {
28
- const objects = context?.objects.value.map((ref) => ref.target).filter(isNonNullable) ?? [];
29
-
23
+ export const useContextObjects = ({ db, context }: UseContextObjectsProps): UseContextObjects => {
30
24
  const handleUpdateObject = useCallback<UseContextObjects['onUpdateObject']>(
31
25
  async (dxn: DXN, checked: boolean) => {
32
- if (!space || !context) {
33
- return;
34
- }
35
-
36
- // Load the object by DXN/id from the current space.
37
- const id = dxn.asEchoDXN();
38
- const object = id && (await space.db.getObjectById(id.echoId));
39
- if (!object) {
40
- log.warn('Object not found', { dxn, id });
26
+ if (!db || !context) {
41
27
  return;
42
28
  }
43
29
 
30
+ // Load the object by DXN from the current space.
44
31
  const ref = Ref.fromDXN(dxn);
32
+ await ref.load();
45
33
  if (checked) {
46
34
  await context.bind({ objects: [ref] });
47
35
  } else {
48
36
  await context.unbind({ objects: [ref] });
49
37
  }
50
38
  },
51
- [space, context],
39
+ [db, context],
52
40
  );
53
41
 
54
42
  return {
55
- objects,
43
+ objects: context?.getObjects() ?? [],
56
44
  onUpdateObject: handleUpdateObject,
57
45
  };
58
46
  };
@@ -0,0 +1,37 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Option from 'effect/Option';
6
+ import { useEffect, useState } from 'react';
7
+
8
+ import { type Database, type Type } from '@dxos/echo';
9
+ import { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';
10
+
11
+ // TODO(burdon): Pass in filter.
12
+ // TODO(wittjosiah): Factor out.
13
+ export const useFilteredTypes = (db?: Database.Database): Type.Entity.Any[] => {
14
+ const [types, setTypes] = useState<Type.Entity.Any[]>([]);
15
+ useEffect(() => {
16
+ if (!db) {
17
+ return;
18
+ }
19
+
20
+ return db.schemaRegistry.query({ location: ['database', 'runtime'] }).subscribe(
21
+ (query) => {
22
+ const types = Array.from(
23
+ new Set(
24
+ query.results
25
+ .filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)
26
+ .filter((schema) => SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false))),
27
+ ),
28
+ );
29
+
30
+ setTypes(types);
31
+ },
32
+ { fire: true },
33
+ );
34
+ }, [db]);
35
+
36
+ return types;
37
+ };
@@ -4,7 +4,6 @@
4
4
 
5
5
  import { useMemo } from 'react';
6
6
 
7
- import { Capabilities, useCapabilities } from '@dxos/app-framework';
8
7
  import { type Space } from '@dxos/client/echo';
9
8
  import { Filter, Obj } from '@dxos/echo';
10
9
  import { type ReferencesProvider } from '@dxos/react-ui-chat';
@@ -13,8 +12,6 @@ import { type ReferencesProvider } from '@dxos/react-ui-chat';
13
12
  * Resolve references to objects in the space.
14
13
  */
15
14
  export const useReferencesProvider = (space?: Space): ReferencesProvider | undefined => {
16
- const blueprints = useCapabilities(Capabilities.BlueprintDefinition);
17
-
18
15
  return useMemo<ReferencesProvider | undefined>((): ReferencesProvider | undefined => {
19
16
  if (!space) {
20
17
  return undefined;
@@ -24,11 +21,11 @@ export const useReferencesProvider = (space?: Space): ReferencesProvider | undef
24
21
  getReferences: async ({ query }) => {
25
22
  // TODO(burdon): Previously we filtered by types declared by the artifact definitions.
26
23
  // const schemas = blueprints.map((blueprint) => blueprint.schema).flat();
27
- // const { objects } = await space.db
24
+ // const objects = await space.db
28
25
  // .query(Filter.or(...schemas.map((schema) => Filter.type(schema as Type.Schema))))
29
26
  // .run();
30
27
 
31
- const { objects } = await space.db.query(Filter.everything()).run();
28
+ const objects = await space.db.query(Filter.everything()).run();
32
29
 
33
30
  return (
34
31
  objects
@@ -39,7 +36,7 @@ export const useReferencesProvider = (space?: Space): ReferencesProvider | undef
39
36
  // })
40
37
  .filter((object) => stringMatch(query, Obj.getLabel(object as any) ?? ''))
41
38
  // TODO(dmaretskyi): `Type.getDXN` (at the point of writing) didn't work here as it was schema-only.
42
- .filter((object) => !!Obj.getDXN(object as Obj.Any))
39
+ .filter((object) => !!Obj.getDXN(object as Obj.Unknown))
43
40
  .map((object) => ({
44
41
  uri: Obj.getDXN(object as any).toString(),
45
42
  label: Obj.getLabel(object as any) ?? '',
@@ -47,11 +44,11 @@ export const useReferencesProvider = (space?: Space): ReferencesProvider | undef
47
44
  );
48
45
  },
49
46
  resolveReference: async ({ uri }) => {
50
- const object = await space.db.query(Filter.ids(uri)).first();
47
+ const object = await space.db.query(Filter.id(uri)).first();
51
48
  return { uri, label: Obj.getLabel(object) ?? '' };
52
49
  },
53
50
  } satisfies ReferencesProvider;
54
- }, [space, blueprints]);
51
+ }, [space]);
55
52
  };
56
53
 
57
54
  const stringMatch = (query: string, label: string) => label.toLowerCase().startsWith(query.toLowerCase());
package/src/index.ts CHANGED
@@ -2,10 +2,12 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ export * from './blueprints';
5
6
  export * from './capabilities';
6
7
  export * from './components';
7
- export * from './events';
8
+ export * from './hooks';
8
9
  export * from './meta';
10
+ export * from './translations';
9
11
  export * from './types';
10
12
 
11
13
  export * from './AssistantPlugin';
package/src/meta.ts CHANGED
@@ -2,17 +2,20 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type PluginMeta } from '@dxos/app-framework';
5
+ import { type Plugin } from '@dxos/app-framework';
6
+ import { trim } from '@dxos/util';
6
7
 
7
- export const ASSISTANT_PLUGIN = 'dxos.org/plugin/assistant';
8
-
9
- export const ASSISTANT_DIALOG = `${ASSISTANT_PLUGIN}/assistant/dialog`;
10
-
11
- export const meta: PluginMeta = {
12
- id: ASSISTANT_PLUGIN,
8
+ export const meta: Plugin.Meta = {
9
+ id: 'dxos.org/plugin/assistant',
13
10
  name: 'Assistant',
14
- description: 'The Assistant plugin allows you to chat with your spaces inside of Composer.',
11
+ description: trim`
12
+ Intelligent AI assistant that can analyze and interact with objects across your spaces.
13
+ Chat naturally to get insights, search content, and perform actions using AI-powered context awareness.
14
+ `,
15
15
  icon: 'ph--atom--regular',
16
+ iconHue: 'sky',
16
17
  source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-assistant',
17
18
  tags: ['labs'],
18
19
  };
20
+
21
+ export const ASSISTANT_DIALOG = `${meta.id}/assistant/dialog`;
@@ -4,3 +4,4 @@
4
4
 
5
5
  export * from './presets';
6
6
  export * from './processor';
7
+ export * from './update-name';
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { type ModelName } from '@dxos/ai';
8
8
 
@@ -43,7 +43,7 @@ export const AiServicePresets: AiServicePreset[] = [
43
43
  },
44
44
  {
45
45
  provider: 'lm-studio' as const,
46
- model: '@mlx-community/llama-3.2-3b-instruct' as const,
46
+ model: '@meta/llama-3.2-3b-instruct' as const,
47
47
  },
48
48
  {
49
49
  model: 'deepseek-r1:latest' as const,
@@ -2,37 +2,31 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { AiTool, AiToolkit } from '@effect/ai';
5
+ import * as Tool from '@effect/ai/Tool';
6
+ import * as Toolkit from '@effect/ai/Toolkit';
6
7
  import { describe, it } from '@effect/vitest';
7
- import { Effect, Layer, Schema } from 'effect';
8
+ import * as Effect from 'effect/Effect';
9
+ import * as Layer from 'effect/Layer';
10
+ import * as Schema from 'effect/Schema';
8
11
 
9
12
  import { AiService } from '@dxos/ai';
10
13
  import { AiServiceTestingPreset } from '@dxos/ai/testing';
11
- import { AiConversation, makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from '@dxos/assistant';
12
- import { TestHelpers } from '@dxos/effect';
13
- import {
14
- ComputeEventLogger,
15
- CredentialsService,
16
- LocalFunctionExecutionService,
17
- QueueService,
18
- RemoteFunctionExecutionService,
19
- TracingService,
20
- } from '@dxos/functions';
21
- import { TestDatabaseLayer } from '@dxos/functions/testing';
22
- import { type DataType } from '@dxos/schema';
14
+ import { AiConversation, GenericToolkit, ToolExecutionServices } from '@dxos/assistant';
15
+ import { acquireReleaseResource } from '@dxos/effect';
16
+ import { TestHelpers } from '@dxos/effect/testing';
17
+ import { CredentialsService, QueueService, TracingService } from '@dxos/functions';
18
+ import { FunctionInvocationServiceLayerTestMocked, TestDatabaseLayer } from '@dxos/functions-runtime/testing';
19
+ import { type Message } from '@dxos/types';
23
20
 
24
21
  import { AiChatProcessor, type AiChatServices } from './processor';
25
22
 
26
- class TestToolkit extends AiToolkit.make(
27
- AiTool.make('random', {
23
+ const TestToolkit = Toolkit.make(
24
+ Tool.make('random', {
28
25
  description: 'Random number generator',
29
26
  parameters: {},
30
27
  success: Schema.Number,
31
28
  }),
32
- ) {}
33
-
34
- // TODO(burdon): Create minimal toolkit.
35
- const toolkit = AiToolkit.merge(TestToolkit) as AiToolkit.Any as AiToolkit.AiToolkit<AiTool.Any>;
29
+ );
36
30
 
37
31
  // TODO(burdon): Explain structure.
38
32
  const TestServicesLayer = Layer.mergeAll(
@@ -43,27 +37,28 @@ const TestServicesLayer = Layer.mergeAll(
43
37
  // types: [],
44
38
  }),
45
39
  // CredentialsService.configuredLayer([{ service: 'exa.ai', apiKey: EXA_API_KEY }]),
46
- LocalFunctionExecutionService.layer,
47
- RemoteFunctionExecutionService.mockLayer,
40
+ FunctionInvocationServiceLayerTestMocked({ functions: [] }).pipe(Layer.provideMerge(TracingService.layerNoop)),
48
41
  );
49
42
 
50
43
  const TestLayer: Layer.Layer<AiChatServices, never, never> = Layer.mergeAll(
51
44
  AiService.model('@anthropic/claude-opus-4-0'),
52
- makeToolResolverFromFunctions([], toolkit),
53
- makeToolExecutionServiceFromFunctions([], toolkit, toolkit.toLayer({}) as any),
45
+ ToolExecutionServices,
54
46
  CredentialsService.layerFromDatabase(),
55
- ComputeEventLogger.layerFromTracing,
56
- ).pipe(Layer.provideMerge(TestServicesLayer), Layer.orDie);
47
+ ).pipe(
48
+ Layer.provideMerge(GenericToolkit.providerLayer(GenericToolkit.make(TestToolkit, TestToolkit.toLayer({} as any)))),
49
+ Layer.provideMerge(TestServicesLayer),
50
+ Layer.orDie,
51
+ );
57
52
 
58
53
  // TODO(burdon): Create actual test with mock LLM.
59
54
  describe('Chat processor', () => {
60
- it.effect(
55
+ it.scoped(
61
56
  'basic',
62
57
  Effect.fn(
63
58
  function* ({ expect }) {
64
59
  const services = yield* Effect.runtime<AiChatServices>();
65
- const queue = yield* QueueService.createQueue<DataType.Message>();
66
- const conversation = new AiConversation({ queue });
60
+ const queue = yield* QueueService.createQueue<Message.Message>();
61
+ const conversation = yield* acquireReleaseResource(() => new AiConversation({ queue }));
67
62
  const processor = new AiChatProcessor(conversation, async () => services);
68
63
  const result = yield* Effect.promise(() => processor.request({ message: 'Hello' }));
69
64
  void processor.cancel();
@@ -2,8 +2,14 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Registry, Rx } from '@effect-rx/rx-react';
6
- import { Cause, Effect, Exit, Fiber, Option, Runtime } from 'effect';
5
+ import type * as Tool from '@effect/ai/Tool';
6
+ import { Atom, Registry } from '@effect-atom/atom-react';
7
+ import * as Cause from 'effect/Cause';
8
+ import * as Effect from 'effect/Effect';
9
+ import * as Exit from 'effect/Exit';
10
+ import * as Fiber from 'effect/Fiber';
11
+ import * as Option from 'effect/Option';
12
+ import * as Runtime from 'effect/Runtime';
7
13
 
8
14
  import {
9
15
  AiService,
@@ -14,34 +20,35 @@ import {
14
20
  type ToolResolverService,
15
21
  } from '@dxos/ai';
16
22
  import {
23
+ AiContextService,
17
24
  type AiConversation,
18
- type AiConversationRunParams,
19
- AiSession,
25
+ type AiConversationRunProps,
20
26
  ArtifactDiffResolver,
21
27
  GenerationObserver,
22
28
  createSystemPrompt,
23
29
  } from '@dxos/assistant';
30
+ import { formatSystemPrompt } from '@dxos/assistant';
31
+ import { type Chat } from '@dxos/assistant-toolkit';
24
32
  import { type Blueprint } from '@dxos/blueprints';
25
33
  import { Obj } from '@dxos/echo';
26
- import { throwCause } from '@dxos/effect';
34
+ import { type Database } from '@dxos/echo';
35
+ import { runAndForwardErrors, throwCause, unwrapExit } from '@dxos/effect';
27
36
  import {
28
37
  type CredentialsService,
29
- type DatabaseService,
38
+ type FunctionInvocationService,
30
39
  type QueueService,
31
- type RemoteFunctionExecutionService,
32
40
  type TracingService,
33
41
  } from '@dxos/functions';
34
42
  import { log } from '@dxos/log';
35
- import { type ContentBlock, DataType } from '@dxos/schema';
36
- import { trim } from '@dxos/util';
43
+ import { type ContentBlock, Message } from '@dxos/types';
37
44
 
38
- import { type Assistant } from '../types';
45
+ import { updateName } from './update-name';
39
46
 
40
47
  export type AiChatServices =
41
48
  | CredentialsService
42
- | DatabaseService
49
+ | Database.Service
43
50
  | QueueService
44
- | RemoteFunctionExecutionService
51
+ | FunctionInvocationService
45
52
  | AiService.AiService
46
53
  | ToolExecutionService
47
54
  | ToolResolverService
@@ -53,7 +60,7 @@ export type AiChatProcessorOptions = {
53
60
  blueprintRegistry?: Blueprint.Registry;
54
61
  observableRegistry?: Registry.Registry;
55
62
  extensions?: ToolContextExtensions;
56
- } & Pick<AiConversationRunParams, 'system'>;
63
+ } & Pick<AiConversationRunProps, 'system'>;
57
64
 
58
65
  const defaultOptions: Partial<AiChatProcessorOptions> = {
59
66
  model: DEFAULT_EDGE_MODEL,
@@ -72,39 +79,34 @@ export type AiRequest = {
72
79
  * Handles streaming responses from the conversation.
73
80
  */
74
81
  export class AiChatProcessor {
75
- private readonly _rx: Registry.Registry;
82
+ private readonly _registry: Registry.Registry;
76
83
 
77
84
  /** External observer. */
78
85
  private readonly _observer: GenerationObserver;
79
86
 
87
+ /** Pending messages (incl. the current user request). */
88
+ private readonly _pending = Atom.make<Message.Message[]>([]);
89
+
90
+ /** Currently streaming message (from the AI service). */
91
+ private readonly _streaming = Atom.make<Message.Message[]>([]);
92
+
80
93
  /** Currently active request fiber. */
81
94
  private _fiber: Fiber.Fiber<void, any> | undefined;
82
95
 
83
96
  /** Last request (for retries). */
84
97
  private _lastRequest: AiRequest | undefined;
85
98
 
86
- /** Pending messages (incl. the current user request). */
87
- private readonly _pending = Rx.make<DataType.Message[]>([]);
88
-
89
- /** Currently streaming message (from the AI service). */
90
- private readonly _streaming = Rx.make<Option.Option<DataType.Message>>(Option.none());
91
-
92
99
  /** Streaming state. */
93
- public readonly streaming = Rx.make<boolean>((get) => Option.isSome(get(this._streaming)));
100
+ public readonly streaming = Atom.make<boolean>((get) => get(this._streaming).length > 0);
94
101
 
95
102
  /** Active state. */
96
- public readonly active = Rx.make(false);
103
+ public readonly active = Atom.make(false);
97
104
 
98
105
  /** Array of Messages (incl. the current message being streamed). */
99
- public readonly messages = Rx.make<DataType.Message[]>((get) =>
100
- Option.match(get(this._streaming), {
101
- onNone: () => get(this._pending),
102
- onSome: (streaming) => [...get(this._pending), streaming],
103
- }),
104
- );
106
+ public readonly messages = Atom.make<Message.Message[]>((get) => [...get(this._pending), ...get(this._streaming)]);
105
107
 
106
108
  /** Last error. */
107
- public readonly error = Rx.make<Option.Option<Error>>(Option.none());
109
+ public readonly error = Atom.make<Option.Option<Error>>(Option.none());
108
110
 
109
111
  constructor(
110
112
  private readonly _conversation: AiConversation,
@@ -113,7 +115,7 @@ export class AiChatProcessor {
113
115
  private readonly _options: AiChatProcessorOptions = defaultOptions,
114
116
  ) {
115
117
  // Initialize registries and defaults before using in other logic.
116
- this._rx = this._options.observableRegistry ?? Registry.make();
118
+ this._registry = this._options.observableRegistry ?? Registry.make();
117
119
  this._observer = GenerationObserver.make({
118
120
  onBlock: this._onBlock,
119
121
  onMessage: this._onMessage,
@@ -136,41 +138,59 @@ export class AiChatProcessor {
136
138
  return this._options.blueprintRegistry;
137
139
  }
138
140
 
141
+ get system(): string {
142
+ return this._options.system ?? '';
143
+ }
144
+
145
+ async getTools(): Promise<Record<string, Tool.Any>> {
146
+ return unwrapExit(await this._conversation.getTools().pipe(await Runtime.runPromiseExit(await this._services())));
147
+ }
148
+
149
+ async getSystemPrompt(): Promise<string> {
150
+ return unwrapExit(
151
+ await Effect.gen(this, function* () {
152
+ const blueprints = this.context.getBlueprints();
153
+ const objects = this.context.getObjects();
154
+ const system = yield* formatSystemPrompt({ system: this._options.system, blueprints, objects });
155
+ return system;
156
+ }).pipe(
157
+ Effect.provideService(AiContextService, {
158
+ binder: this.context,
159
+ }),
160
+ await Runtime.runPromiseExit(await this._services()),
161
+ ),
162
+ );
163
+ }
164
+
139
165
  /**
140
166
  * Initiates a new request.
141
167
  */
142
- async request(requestParam: AiRequest): Promise<void> {
168
+ async request(requestProp: AiRequest): Promise<void> {
143
169
  if (this._fiber) {
144
170
  await this.cancel();
145
171
  }
146
172
 
147
173
  try {
148
- this._lastRequest = requestParam;
149
- this._rx.set(this.error, Option.none());
150
- this._rx.set(this.active, true);
174
+ this._lastRequest = requestProp;
175
+ this._registry.set(this.error, Option.none());
176
+ this._registry.set(this.active, true);
177
+
178
+ const services = await this._services();
151
179
 
152
180
  // Create request.
153
181
  const request = this._conversation.createRequest({
154
182
  system: this._options.system,
155
- prompt: requestParam.message,
183
+ prompt: requestProp.message,
156
184
  observer: this._observer,
157
185
  });
158
186
 
159
- const runtime = await this._services();
160
-
161
187
  // Create fiber.
162
188
  this._fiber = request.pipe(
163
189
  Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),
164
-
165
190
  // TODO(dmaretskyi): Move ArtifactDiffResolver upstream.
166
191
  Effect.provideService(ArtifactDiffResolver, this._artifactDiffResolver),
167
-
168
192
  Effect.asVoid,
169
- Effect.tapErrorCause((cause) => {
170
- log.error('request failed', { cause });
171
- return Effect.void;
172
- }),
173
- Runtime.runFork(runtime), // Runs in the background.
193
+ Runtime.runFork(services), // Runs in the background.
174
194
  );
175
195
 
176
196
  // Execute request.
@@ -179,15 +199,15 @@ export class AiChatProcessor {
179
199
  throwCause(response.cause);
180
200
  }
181
201
 
182
- this._rx.set(this.error, Option.none());
202
+ this._registry.set(this.error, Option.none());
183
203
  this._lastRequest = undefined;
184
204
  this._fiber = undefined;
185
205
  } catch (err) {
186
- log.error('request failed', { err });
187
- this._rx.set(this.error, Option.some(new Error('AI service error', { cause: err })));
206
+ log.error('request failed', { error: err });
207
+ this._registry.set(this.error, Option.some(new Error('AI service error', { cause: err })));
188
208
  } finally {
209
+ this._registry.set(this.active, false);
189
210
  this._fiber = undefined;
190
- this._rx.set(this.active, false);
191
211
  }
192
212
  }
193
213
 
@@ -195,7 +215,7 @@ export class AiChatProcessor {
195
215
  * Cancels the current request.
196
216
  */
197
217
  async cancel(): Promise<void> {
198
- await Effect.runPromise(
218
+ await runAndForwardErrors(
199
219
  Effect.gen(this, function* () {
200
220
  if (this._fiber) {
201
221
  yield* this._fiber.pipe(Fiber.interrupt);
@@ -204,7 +224,7 @@ export class AiChatProcessor {
204
224
  );
205
225
 
206
226
  this._fiber = undefined;
207
- this._rx.set(this.active, false);
227
+ this._registry.set(this.active, false);
208
228
  }
209
229
 
210
230
  /**
@@ -219,35 +239,9 @@ export class AiChatProcessor {
219
239
  /**
220
240
  * Update the current chat's name.
221
241
  */
222
- async updateName(chat: Assistant.Chat): Promise<void> {
242
+ async updateName(chat: Chat.Chat): Promise<void> {
223
243
  const runtime = await this._services();
224
-
225
- const system = trim`
226
- It is extremely important that you respond only with the title and nothing else.
227
- If you cannot do this effectively respond with "New Chat".
228
- `;
229
-
230
- const history = await this._conversation.getHistory();
231
- const fiber = Effect.gen(this, function* () {
232
- const session = new AiSession();
233
- return yield* session.run({ system, prompt: 'Suggest a name for this chat', history });
234
- }).pipe(
235
- // TODO(burdon): Use simpler model.
236
- Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),
237
- Effect.tap((messages) => {
238
- const message = messages.find((message) => message.sender.role === 'assistant');
239
- const title = message?.blocks.find((b) => b._tag === 'text')?.text;
240
- if (title) {
241
- chat.name = title;
242
- }
243
- }),
244
- Runtime.runFork(runtime), // Run in the background.
245
- );
246
-
247
- const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);
248
- if (!Exit.isSuccess(response)) {
249
- throwCause(response.cause);
250
- }
244
+ await updateName(runtime, this._conversation, chat, this._options.model);
251
245
  }
252
246
 
253
247
  // TODO(burdon): Fix/factor out.
@@ -258,7 +252,7 @@ export class AiChatProcessor {
258
252
  // artifacts.map(async (artifact) => {
259
253
  // const {
260
254
  // objects: [object],
261
- // } = await space.db.query(Filter.ids(artifact.id)).run();
255
+ // } = await space.db.query(Filter.id(artifact.id)).run();
262
256
  // if (!object) {
263
257
  // return;
264
258
  // }
@@ -274,29 +268,29 @@ export class AiChatProcessor {
274
268
  },
275
269
  };
276
270
 
277
- private _onMessage = Effect.fn(
278
- function* (this: AiChatProcessor, message: DataType.Message) {
279
- this._rx.set(this._streaming, Option.none());
280
- this._rx.update(this._pending, (pending) => [...pending, message]);
281
- }.bind(this),
282
- );
283
-
271
+ // TODO(dmaretskyi): Due to the way effect streams do buffering, we cannot rely on _onBlock and _onMessage to be called in order.
284
272
  private _onBlock = Effect.fn(
285
273
  function* (this: AiChatProcessor, block: ContentBlock.Any) {
286
- this._rx.update(this._streaming, (streaming) => {
287
- const blocks = streaming.pipe(
288
- Option.map((streaming) => streaming.blocks.filter((b) => !b.pending)),
289
- Option.getOrElse(() => []),
290
- );
291
-
292
- return Option.some(
293
- Obj.make(DataType.Message, {
274
+ this._registry.update(this._streaming, (streaming) => {
275
+ const blocks = streaming.filter((message) => message.blocks.every((block) => !block.pending));
276
+
277
+ // AiSession emits a message per each assistant content-block, so we do the same.
278
+ return [
279
+ ...blocks,
280
+ Obj.make(Message.Message, {
294
281
  created: new Date().toISOString(),
295
282
  sender: { role: 'assistant' },
296
- blocks: [...blocks, block],
283
+ blocks: [block],
297
284
  }),
298
- );
285
+ ];
299
286
  });
300
287
  }.bind(this),
301
288
  );
289
+
290
+ private _onMessage = Effect.fn(
291
+ function* (this: AiChatProcessor, message: Message.Message) {
292
+ this._registry.set(this._streaming, []);
293
+ this._registry.update(this._pending, (pending) => [...pending, message]);
294
+ }.bind(this),
295
+ );
302
296
  }