@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
@@ -2,7 +2,8 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Registry, Rx } from '@effect-rx/rx-react';
5
+ import type * as Tool from '@effect/ai/Tool';
6
+ import { Atom, Registry } from '@effect-atom/atom-react';
6
7
  import * as Cause from 'effect/Cause';
7
8
  import * as Effect from 'effect/Effect';
8
9
  import * as Exit from 'effect/Exit';
@@ -19,32 +20,33 @@ import {
19
20
  type ToolResolverService,
20
21
  } from '@dxos/ai';
21
22
  import {
23
+ AiContextService,
22
24
  type AiConversation,
23
- type AiConversationRunParams,
24
- AiSession,
25
+ type AiConversationRunProps,
25
26
  ArtifactDiffResolver,
26
27
  GenerationObserver,
27
28
  createSystemPrompt,
28
29
  } from '@dxos/assistant';
30
+ import { formatSystemPrompt } from '@dxos/assistant';
31
+ import { type Chat } from '@dxos/assistant-toolkit';
29
32
  import { type Blueprint } from '@dxos/blueprints';
30
33
  import { Obj } from '@dxos/echo';
31
- import { throwCause } from '@dxos/effect';
34
+ import { type Database } from '@dxos/echo';
35
+ import { runAndForwardErrors, throwCause, unwrapExit } from '@dxos/effect';
32
36
  import {
33
37
  type CredentialsService,
34
- type DatabaseService,
35
38
  type FunctionInvocationService,
36
39
  type QueueService,
37
40
  type TracingService,
38
41
  } from '@dxos/functions';
39
42
  import { log } from '@dxos/log';
40
- import { type ContentBlock, DataType } from '@dxos/schema';
41
- import { trim } from '@dxos/util';
43
+ import { type ContentBlock, Message } from '@dxos/types';
42
44
 
43
- import { type Assistant } from '../types';
45
+ import { updateName } from './update-name';
44
46
 
45
47
  export type AiChatServices =
46
48
  | CredentialsService
47
- | DatabaseService
49
+ | Database.Service
48
50
  | QueueService
49
51
  | FunctionInvocationService
50
52
  | AiService.AiService
@@ -58,7 +60,7 @@ export type AiChatProcessorOptions = {
58
60
  blueprintRegistry?: Blueprint.Registry;
59
61
  observableRegistry?: Registry.Registry;
60
62
  extensions?: ToolContextExtensions;
61
- } & Pick<AiConversationRunParams, 'system'>;
63
+ } & Pick<AiConversationRunProps, 'system'>;
62
64
 
63
65
  const defaultOptions: Partial<AiChatProcessorOptions> = {
64
66
  model: DEFAULT_EDGE_MODEL,
@@ -77,31 +79,31 @@ export type AiRequest = {
77
79
  * Handles streaming responses from the conversation.
78
80
  */
79
81
  export class AiChatProcessor {
80
- private readonly _rx: Registry.Registry;
82
+ private readonly _registry: Registry.Registry;
81
83
 
82
84
  /** External observer. */
83
85
  private readonly _observer: GenerationObserver;
84
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<Option.Option<Message.Message>>(Option.none());
92
+
85
93
  /** Currently active request fiber. */
86
94
  private _fiber: Fiber.Fiber<void, any> | undefined;
87
95
 
88
96
  /** Last request (for retries). */
89
97
  private _lastRequest: AiRequest | undefined;
90
98
 
91
- /** Pending messages (incl. the current user request). */
92
- private readonly _pending = Rx.make<DataType.Message[]>([]);
93
-
94
- /** Currently streaming message (from the AI service). */
95
- private readonly _streaming = Rx.make<Option.Option<DataType.Message>>(Option.none());
96
-
97
99
  /** Streaming state. */
98
- public readonly streaming = Rx.make<boolean>((get) => Option.isSome(get(this._streaming)));
100
+ public readonly streaming = Atom.make<boolean>((get) => Option.isSome(get(this._streaming)));
99
101
 
100
102
  /** Active state. */
101
- public readonly active = Rx.make(false);
103
+ public readonly active = Atom.make(false);
102
104
 
103
105
  /** Array of Messages (incl. the current message being streamed). */
104
- public readonly messages = Rx.make<DataType.Message[]>((get) =>
106
+ public readonly messages = Atom.make<Message.Message[]>((get) =>
105
107
  Option.match(get(this._streaming), {
106
108
  onNone: () => get(this._pending),
107
109
  onSome: (streaming) => [...get(this._pending), streaming],
@@ -109,7 +111,7 @@ export class AiChatProcessor {
109
111
  );
110
112
 
111
113
  /** Last error. */
112
- public readonly error = Rx.make<Option.Option<Error>>(Option.none());
114
+ public readonly error = Atom.make<Option.Option<Error>>(Option.none());
113
115
 
114
116
  constructor(
115
117
  private readonly _conversation: AiConversation,
@@ -118,7 +120,7 @@ export class AiChatProcessor {
118
120
  private readonly _options: AiChatProcessorOptions = defaultOptions,
119
121
  ) {
120
122
  // Initialize registries and defaults before using in other logic.
121
- this._rx = this._options.observableRegistry ?? Registry.make();
123
+ this._registry = this._options.observableRegistry ?? Registry.make();
122
124
  this._observer = GenerationObserver.make({
123
125
  onBlock: this._onBlock,
124
126
  onMessage: this._onMessage,
@@ -141,37 +143,59 @@ export class AiChatProcessor {
141
143
  return this._options.blueprintRegistry;
142
144
  }
143
145
 
146
+ get system(): string {
147
+ return this._options.system ?? '';
148
+ }
149
+
150
+ async getTools(): Promise<Record<string, Tool.Any>> {
151
+ return unwrapExit(await this._conversation.getTools().pipe(await Runtime.runPromiseExit(await this._services())));
152
+ }
153
+
154
+ async getSystemPrompt(): Promise<string> {
155
+ return unwrapExit(
156
+ await Effect.gen(this, function* () {
157
+ const blueprints = this.context.getBlueprints();
158
+ const objects = this.context.getObjects();
159
+ const system = yield* formatSystemPrompt({ system: this._options.system, blueprints, objects });
160
+ return system;
161
+ }).pipe(
162
+ Effect.provideService(AiContextService, {
163
+ binder: this.context,
164
+ }),
165
+ await Runtime.runPromiseExit(await this._services()),
166
+ ),
167
+ );
168
+ }
169
+
144
170
  /**
145
171
  * Initiates a new request.
146
172
  */
147
- async request(requestParam: AiRequest): Promise<void> {
173
+ async request(requestProp: AiRequest): Promise<void> {
148
174
  if (this._fiber) {
149
175
  await this.cancel();
150
176
  }
151
177
 
152
178
  try {
153
- this._lastRequest = requestParam;
154
- this._rx.set(this.error, Option.none());
155
- this._rx.set(this.active, true);
179
+ this._lastRequest = requestProp;
180
+ this._registry.set(this.error, Option.none());
181
+ this._registry.set(this.active, true);
182
+
183
+ const services = await this._services();
156
184
 
157
185
  // Create request.
158
186
  const request = this._conversation.createRequest({
159
187
  system: this._options.system,
160
- prompt: requestParam.message,
188
+ prompt: requestProp.message,
161
189
  observer: this._observer,
162
190
  });
163
191
 
164
- const runtime = await this._services();
165
-
166
192
  // Create fiber.
167
193
  this._fiber = request.pipe(
168
194
  Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),
169
-
170
195
  // TODO(dmaretskyi): Move ArtifactDiffResolver upstream.
171
196
  Effect.provideService(ArtifactDiffResolver, this._artifactDiffResolver),
172
-
173
197
  Effect.asVoid,
174
- Runtime.runFork(runtime), // Runs in the background.
198
+ Runtime.runFork(services), // Runs in the background.
175
199
  );
176
200
 
177
201
  // Execute request.
@@ -180,15 +204,15 @@ export class AiChatProcessor {
180
204
  throwCause(response.cause);
181
205
  }
182
206
 
183
- this._rx.set(this.error, Option.none());
207
+ this._registry.set(this.error, Option.none());
184
208
  this._lastRequest = undefined;
185
209
  this._fiber = undefined;
186
- } catch (error) {
187
- log.error('request failed', { error });
188
- this._rx.set(this.error, Option.some(new Error('AI service error', { cause: error })));
210
+ } catch (err) {
211
+ log.error('request failed', { error: err });
212
+ this._registry.set(this.error, Option.some(new Error('AI service error', { cause: err })));
189
213
  } finally {
214
+ this._registry.set(this.active, false);
190
215
  this._fiber = undefined;
191
- this._rx.set(this.active, false);
192
216
  }
193
217
  }
194
218
 
@@ -196,7 +220,7 @@ export class AiChatProcessor {
196
220
  * Cancels the current request.
197
221
  */
198
222
  async cancel(): Promise<void> {
199
- await Effect.runPromise(
223
+ await runAndForwardErrors(
200
224
  Effect.gen(this, function* () {
201
225
  if (this._fiber) {
202
226
  yield* this._fiber.pipe(Fiber.interrupt);
@@ -205,7 +229,7 @@ export class AiChatProcessor {
205
229
  );
206
230
 
207
231
  this._fiber = undefined;
208
- this._rx.set(this.active, false);
232
+ this._registry.set(this.active, false);
209
233
  }
210
234
 
211
235
  /**
@@ -220,34 +244,9 @@ export class AiChatProcessor {
220
244
  /**
221
245
  * Update the current chat's name.
222
246
  */
223
- async updateName(chat: Assistant.Chat): Promise<void> {
247
+ async updateName(chat: Chat.Chat): Promise<void> {
224
248
  const runtime = await this._services();
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
- }
249
+ await updateName(runtime, this._conversation, chat, this._options.model);
251
250
  }
252
251
 
253
252
  // TODO(burdon): Fix/factor out.
@@ -258,7 +257,7 @@ export class AiChatProcessor {
258
257
  // artifacts.map(async (artifact) => {
259
258
  // const {
260
259
  // objects: [object],
261
- // } = await space.db.query(Filter.ids(artifact.id)).run();
260
+ // } = await space.db.query(Filter.id(artifact.id)).run();
262
261
  // if (!object) {
263
262
  // return;
264
263
  // }
@@ -275,22 +274,22 @@ export class AiChatProcessor {
275
274
  };
276
275
 
277
276
  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]);
277
+ function* (this: AiChatProcessor, message: Message.Message) {
278
+ this._registry.set(this._streaming, Option.none());
279
+ this._registry.update(this._pending, (pending) => [...pending, message]);
281
280
  }.bind(this),
282
281
  );
283
282
 
284
283
  private _onBlock = Effect.fn(
285
284
  function* (this: AiChatProcessor, block: ContentBlock.Any) {
286
- this._rx.update(this._streaming, (streaming) => {
285
+ this._registry.update(this._streaming, (streaming) => {
287
286
  const blocks = streaming.pipe(
288
- Option.map((streaming) => streaming.blocks.filter((b) => !b.pending)),
287
+ Option.map((streaming) => streaming.blocks.filter((b: ContentBlock.Any) => !b.pending)),
289
288
  Option.getOrElse(() => []),
290
289
  );
291
290
 
292
291
  return Option.some(
293
- Obj.make(DataType.Message, {
292
+ Obj.make(Message.Message, {
294
293
  created: new Date().toISOString(),
295
294
  sender: { role: 'assistant' },
296
295
  blocks: [...blocks, block],
@@ -0,0 +1,58 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Exit from 'effect/Exit';
7
+ import * as Fiber from 'effect/Fiber';
8
+ import * as Runtime from 'effect/Runtime';
9
+
10
+ import { AiService, DEFAULT_EDGE_MODEL, type ModelName } from '@dxos/ai';
11
+ import { type AiConversation, AiSession } from '@dxos/assistant';
12
+ import { type Chat } from '@dxos/assistant-toolkit';
13
+ import { Obj } from '@dxos/echo';
14
+ import { throwCause } from '@dxos/effect';
15
+ import { trim } from '@dxos/util';
16
+
17
+ import { type AiChatServices } from './processor';
18
+
19
+ /**
20
+ * Update the current chat's name.
21
+ */
22
+ // TODO(burdon): Convert this into a plugin tool.
23
+ export const updateName = async (
24
+ runtime: Runtime.Runtime<AiChatServices>,
25
+ conversation: AiConversation,
26
+ chat: Chat.Chat,
27
+ model: ModelName = DEFAULT_EDGE_MODEL,
28
+ ): Promise<void> => {
29
+ const history = await conversation.getHistory();
30
+ const system = trim`
31
+ It is extremely important that you respond only with the title and nothing else.
32
+ If you cannot do this effectively respond with "New Chat".
33
+ `;
34
+ const prompt = 'Suggest a name for this chat';
35
+
36
+ const fiber = Effect.gen(this, function* () {
37
+ const session = new AiSession();
38
+ return yield* session.run({ system, prompt, history });
39
+ }).pipe(
40
+ Effect.provide(AiService.model(model)),
41
+ Effect.tap((messages) => {
42
+ // TODO(burdon): Parse response (should update via tool).
43
+ const message = messages.find((message) => message.sender.role === 'assistant');
44
+ const title = message?.blocks.find((block) => block._tag === 'text')?.text;
45
+ if (title) {
46
+ Obj.change(chat, (c) => {
47
+ c.name = title;
48
+ });
49
+ }
50
+ }),
51
+ Runtime.runFork(runtime), // Run in the background.
52
+ );
53
+
54
+ const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);
55
+ if (!Exit.isSuccess(response)) {
56
+ throwCause(response.cause);
57
+ }
58
+ };
@@ -5,14 +5,10 @@
5
5
  import { type Queue, Ref, type Space, getSpace } from '@dxos/client/echo';
6
6
  import { type Sequence, type SequenceEvent, type SequenceLogger } from '@dxos/conductor';
7
7
  import { DXN, Key, Obj } from '@dxos/echo';
8
- import {
9
- InvocationOutcome,
10
- InvocationTraceEndEvent,
11
- type InvocationTraceEvent,
12
- InvocationTraceEventType,
13
- InvocationTraceStartEvent,
14
- TraceEvent,
15
- } from '@dxos/functions';
8
+ import { InvocationTraceEndEvent, InvocationTraceEventType, InvocationTraceStartEvent } from '@dxos/functions-runtime';
9
+ import { TraceEvent } from '@dxos/functions-runtime';
10
+ import { InvocationOutcome } from '@dxos/functions-runtime';
11
+ import { type InvocationTraceEvent } from '@dxos/functions-runtime';
16
12
  import { invariant } from '@dxos/invariant';
17
13
  import { QueueSubspaceTags } from '@dxos/keys';
18
14
 
@@ -27,7 +23,10 @@ export class QueueLogger implements SequenceLogger {
27
23
  let dxn = this._space.properties.invocationTraceQueue?.dxn;
28
24
  if (!dxn) {
29
25
  dxn = DXN.fromQueue(QueueSubspaceTags.TRACE, this._space.id, Key.ObjectId.random());
30
- this._space.properties.invocationTraceQueue = Ref.fromDXN(dxn);
26
+ const newDxn = dxn;
27
+ Obj.change(this._space.properties, (p) => {
28
+ p.invocationTraceQueue = Ref.fromDXN(newDxn);
29
+ });
31
30
  }
32
31
  this._invocationTraceQueue = this._space.queues.get(dxn);
33
32
  }
@@ -5,21 +5,22 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Obj } from '@dxos/echo';
8
- import { ContextQueueService, DatabaseService } from '@dxos/functions';
8
+ import { Database } from '@dxos/echo';
9
+ import { ContextQueueService } from '@dxos/functions';
9
10
  import { faker } from '@dxos/random';
10
11
  import { renderObjectLink } from '@dxos/react-ui-components';
11
- import { type ContentBlock, DataType } from '@dxos/schema';
12
+ import { type Actor, type ContentBlock, Message, Organization } from '@dxos/types';
12
13
  import { trim } from '@dxos/util';
13
14
 
14
- export const createMessage = (role: DataType.ActorRole, blocks: ContentBlock.Any[]): DataType.Message => {
15
- return Obj.make(DataType.Message, {
15
+ export const createMessage = (role: Actor.Role, blocks: ContentBlock.Any[]): Message.Message => {
16
+ return Obj.make(Message.Message, {
16
17
  created: new Date().toISOString(),
17
18
  sender: { role },
18
19
  blocks,
19
20
  });
20
21
  };
21
22
 
22
- export type MessageGenerator = Effect.Effect<void, never, DatabaseService | ContextQueueService>;
23
+ export type MessageGenerator = Effect.Effect<void, never, Database.Service | ContextQueueService>;
23
24
 
24
25
  export const createMessageGenerator = (): MessageGenerator[] => [
25
26
  Effect.gen(function* () {
@@ -70,9 +71,9 @@ export const createMessageGenerator = (): MessageGenerator[] => [
70
71
  [
71
72
  faker.lorem.paragraph(),
72
73
  '',
73
- ...Array.from({ length: faker.number.int({ min: 3, max: 5 }) }).map(
74
- (_, idx) => `${idx + 1}. ${faker.lorem.paragraph()}`,
75
- ),
74
+ ...Array.from({
75
+ length: faker.number.int({ min: 3, max: 5 }),
76
+ }).map((_, idx) => `${idx + 1}. ${faker.lorem.paragraph()}`),
76
77
  ].join('\n') + '\n',
77
78
  },
78
79
  ]),
@@ -145,11 +146,11 @@ export const createMessageGenerator = (): MessageGenerator[] => [
145
146
 
146
147
  Effect.gen(function* () {
147
148
  const { queue } = yield* ContextQueueService;
148
- const { db } = yield* DatabaseService;
149
- const obj1 = db.add(Obj.make(DataType.Organization, { name: 'DXOS' }));
150
- // const obj2 = db.add(Obj.make(DataType.Person, { fullName: 'Alice' }));
151
- // const obj3 = db.add(Obj.make(DataType.Person, { fullName: 'Bob' }));
152
- // const obj4 = db.add(Obj.make(DataType.Person, { fullName: 'Charlie' }));
149
+ const { db } = yield* Database.Service;
150
+ const obj1 = db.add(Obj.make(Organization.Organization, { name: 'DXOS' }));
151
+ // const obj2 = db.add(Obj.make(Person.Person, { fullName: 'Alice' }));
152
+ // const obj3 = db.add(Obj.make(Person.Person, { fullName: 'Bob' }));
153
+ // const obj4 = db.add(Obj.make(Person.Person, { fullName: 'Charlie' }));
153
154
  yield* Effect.promise(() =>
154
155
  queue.append([
155
156
  createMessage('assistant', [
@@ -2,10 +2,12 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Obj } from '@dxos/echo';
5
+ import { Obj, type Type } from '@dxos/echo';
6
6
 
7
7
  import { type ApiAuthorization, type BaseServiceRegistry, ServiceType, categoryIcons } from '../types';
8
8
 
9
+ const ServiceTypeSchema = ServiceType as unknown as Type.Obj.Any;
10
+
9
11
  export class MockServiceRegistry implements BaseServiceRegistry {
10
12
  async queryServices(): Promise<ServiceType[]> {
11
13
  return TEST_SERVICES;
@@ -48,7 +50,7 @@ const VISUAL_CROSSING_CREDENTIALS: ApiAuthorization = {
48
50
  // - e.g., https://github.com/konfig-sdks/openapi-examples/blob/main/xkcd/openapi.yaml
49
51
 
50
52
  const TEST_SERVICES: ServiceType[] = [
51
- Obj.make(ServiceType, {
53
+ Obj.make(ServiceTypeSchema, {
52
54
  serviceId: 'amadeus.com/service/FlightSearch',
53
55
  name: 'Amadeus Flight Search',
54
56
  description: 'Search for local and international flights.',
@@ -62,7 +64,7 @@ const TEST_SERVICES: ServiceType[] = [
62
64
  ],
63
65
  }),
64
66
 
65
- Obj.make(ServiceType, {
67
+ Obj.make(ServiceTypeSchema, {
66
68
  serviceId: 'amadeus.com/service/HotelSearch',
67
69
  name: 'Amadeus Hotel Search',
68
70
  description: 'Search for local and international hotels.',
@@ -76,7 +78,7 @@ const TEST_SERVICES: ServiceType[] = [
76
78
  ],
77
79
  }),
78
80
 
79
- Obj.make(ServiceType, {
81
+ Obj.make(ServiceTypeSchema, {
80
82
  serviceId: 'visualcrossing.com/service/Weather',
81
83
  name: 'Visual Crossing Weather',
82
84
  description: 'Search for global weather forecasts.',
@@ -91,7 +93,7 @@ const TEST_SERVICES: ServiceType[] = [
91
93
  }),
92
94
 
93
95
  // TODO(burdon): Needs auth.
94
- Obj.make(ServiceType, {
96
+ Obj.make(ServiceTypeSchema, {
95
97
  serviceId: 'abstractapi.com/service/GeoLocation',
96
98
  name: 'Abstract GeoLocation',
97
99
  description: 'Get the location of any IP address.',
@@ -109,7 +111,7 @@ const TEST_SERVICES: ServiceType[] = [
109
111
  //
110
112
 
111
113
  ...Array.from({ length: 20 }, (_, i) =>
112
- Obj.make(ServiceType, {
114
+ Obj.make(ServiceTypeSchema, {
113
115
  serviceId: `example.com/service/test-${i}`,
114
116
  name: `Test ${i}`,
115
117
  description: `Test ${i}`,
@@ -2,12 +2,13 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Blueprint } from '@dxos/blueprints';
5
+ import { Chat, Initiative } from '@dxos/assistant-toolkit';
6
+ import { Blueprint, Prompt } from '@dxos/blueprints';
6
7
  import { Sequence } from '@dxos/conductor';
8
+ import { Type } from '@dxos/echo';
7
9
  import { type Resource } from '@dxos/react-ui';
8
10
 
9
11
  import { meta } from './meta';
10
- import { Assistant } from './types';
11
12
 
12
13
  // TODO(burdon): Standardize translation names.
13
14
  export const translations = [
@@ -22,6 +23,17 @@ export const translations = [
22
23
  'object name placeholder': 'New blueprint',
23
24
  'rename object label': 'Rename blueprint',
24
25
  'delete object label': 'Delete blueprint',
26
+ 'object deleted label': 'Blueprint deleted',
27
+ },
28
+ [Type.getTypename(Prompt.Prompt)]: {
29
+ 'typename label': 'Prompt',
30
+ 'typename label_zero': 'Prompts',
31
+ 'typename label_one': 'Prompt',
32
+ 'typename label_other': 'Prompts',
33
+ 'object name placeholder': 'New prompt',
34
+ 'rename object label': 'Rename prompt',
35
+ 'delete object label': 'Delete prompt',
36
+ 'object deleted label': 'Prompt deleted',
25
37
  },
26
38
  // TODO(burdon): From conductor.
27
39
  [Sequence.typename]: {
@@ -32,12 +44,24 @@ export const translations = [
32
44
  'object name placeholder': 'New sequence',
33
45
  'rename object label': 'Rename sequence',
34
46
  'delete object label': 'Delete sequence',
47
+ 'object deleted label': 'Sequence deleted',
35
48
  },
36
- [Assistant.Chat.typename]: {
49
+ [Chat.Chat.typename]: {
37
50
  'typename label': 'AI Chat',
38
51
  'object name placeholder': 'New AI Chat',
39
52
  'rename object label': 'Rename AI Chat',
40
53
  'delete object label': 'Delete AI Chat',
54
+ 'object deleted label': 'AI Chat deleted',
55
+ },
56
+ [Initiative.Initiative.typename]: {
57
+ 'typename label': 'Initiative',
58
+ 'typename label_zero': 'Initiatives',
59
+ 'typename label_one': 'Initiative',
60
+ 'typename label_other': 'Initiatives',
61
+ 'object name placeholder': 'New initiative',
62
+ 'rename object label': 'Rename initiative',
63
+ 'delete object label': 'Delete initiative',
64
+ 'object deleted label': 'Initiative deleted',
41
65
  },
42
66
  // TODO(burdon): Reconcile with react-ui-chat.
43
67
  [meta.id]: {
@@ -61,36 +85,35 @@ export const translations = [
61
85
  'type filter placeholder': 'Type',
62
86
  'any type filter label': 'Any',
63
87
  'no blueprint message': 'No active blueprints',
64
- 'calling tool label': 'Calling tool...',
65
- 'calling label': 'Calling',
66
- 'error label': 'Error',
88
+ 'tool call label': 'Calling tool...',
89
+ 'tool result label': 'Success',
90
+ 'tool error label': 'Tool call failed',
67
91
 
68
- 'sequence logs label': 'Logs',
92
+ 'invocations label': 'Invocations',
69
93
 
70
94
  'assistant dialog title': 'Assistant',
71
95
  'open assistant label': 'Open assistant',
96
+ 'reset blueprints label': 'Reset blueprints',
72
97
 
73
98
  'no tools': 'No tools are configured',
74
99
  'no results': 'No results',
75
100
 
76
- 'button retry': 'Retry',
77
- 'button suggestion': 'Assistant suggestion',
78
- 'button select option': 'Select option',
79
- 'button cancel': 'Cancel',
80
- 'button save': 'Save',
81
- 'button run': 'Run',
82
- 'button new thread': 'New Chat',
101
+ 'cancel button': 'Cancel',
102
+ 'save button': 'Save',
103
+ 'new thread button': 'New Chat',
104
+ 'rename thread button': 'Rename Chat',
83
105
  'chat history label': 'Chat History',
106
+ 'chat update name label': 'Update AI Chat name',
84
107
 
85
108
  'toolkit label': 'Toolkit',
86
109
  'summary label': 'Summary',
87
110
 
88
111
  'search placeholder': 'Search...',
89
112
  'prompt placeholder': 'Enter question or command...',
90
- 'button context objects': 'Add to context',
91
- 'button context settings': 'Chat settings',
92
- 'button microphone': 'Click to speak',
93
- 'button cancel processing': 'Stop processing',
113
+ 'context objects button': 'Add to context',
114
+ 'context settings button': 'Chat settings',
115
+ 'microphone button': 'Click to speak',
116
+ 'cancel processing button': 'Stop processing',
94
117
  'blueprints in context title': 'Blueprints',
95
118
  'objects in context title': 'Content',
96
119
  'remove object in context label': 'Remove document',
@@ -101,6 +124,16 @@ export const translations = [
101
124
  'settings llm provider label': 'LLM provider',
102
125
  'settings edge llm model label': 'Remote language model',
103
126
  'settings ollama llm model label': 'Ollama language model',
127
+
128
+ // Trigger status
129
+ 'trigger status disabled label': 'Triggers disabled',
130
+ 'trigger status idle label': 'Triggers idle',
131
+ 'trigger status running label': 'Trigger running',
132
+ 'trigger status error label': 'Trigger error',
133
+ 'trigger runtime label': 'Trigger Runtime',
134
+ 'trigger runtime description': 'Enable automatic trigger execution',
135
+ 'trigger last invocation label': 'Last run',
136
+ 'trigger duration label': 'Duration',
104
137
  },
105
138
  },
106
139
  },