@dxos/plugin-assistant 0.8.3 → 0.8.4-main.1c7ec43d41

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 (853) hide show
  1. package/dist/lib/browser/AssistantSettings-GG52BLKS.mjs +40 -0
  2. package/dist/lib/browser/AssistantSettings-GG52BLKS.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +31 -0
  4. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-DVOOFAWU.mjs +175 -0
  6. package/dist/lib/browser/chunk-DVOOFAWU.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  8. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-QZERAFAR.mjs +195 -0
  10. package/dist/lib/browser/chunk-QZERAFAR.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-RSLHZTJH.mjs +2253 -0
  12. package/dist/lib/browser/chunk-RSLHZTJH.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-RYVWX6AD.mjs +932 -0
  14. package/dist/lib/browser/chunk-RYVWX6AD.mjs.map +7 -0
  15. package/dist/lib/browser/cli/index.mjs +73 -0
  16. package/dist/lib/browser/cli/index.mjs.map +7 -0
  17. package/dist/lib/browser/components/index.mjs +20 -0
  18. package/dist/lib/browser/components/index.mjs.map +7 -0
  19. package/dist/lib/browser/create-chat-E2ZLVTLP.mjs +73 -0
  20. package/dist/lib/browser/create-chat-E2ZLVTLP.mjs.map +7 -0
  21. package/dist/lib/browser/ensure-companion-chat-5TPMUPUL.mjs +65 -0
  22. package/dist/lib/browser/ensure-companion-chat-5TPMUPUL.mjs.map +7 -0
  23. package/dist/lib/browser/hooks/index.mjs +39 -0
  24. package/dist/lib/browser/hooks/index.mjs.map +7 -0
  25. package/dist/lib/browser/index.mjs +68 -264
  26. package/dist/lib/browser/index.mjs.map +4 -4
  27. package/dist/lib/browser/meta.json +1 -1
  28. package/dist/lib/browser/on-create-space-4J3KTNAJ.mjs +22 -0
  29. package/dist/lib/browser/on-create-space-4J3KTNAJ.mjs.map +7 -0
  30. package/dist/lib/browser/operations/index.mjs +13 -0
  31. package/dist/lib/browser/operations/index.mjs.map +7 -0
  32. package/dist/lib/browser/resolve-navigation-targets-3ZPQE6SZ.mjs +22 -0
  33. package/dist/lib/browser/resolve-navigation-targets-3ZPQE6SZ.mjs.map +7 -0
  34. package/dist/lib/browser/run-prompt-in-new-chat-5Y5CWP6Y.mjs +106 -0
  35. package/dist/lib/browser/run-prompt-in-new-chat-5Y5CWP6Y.mjs.map +7 -0
  36. package/dist/lib/browser/set-current-chat-JCY2THT3.mjs +54 -0
  37. package/dist/lib/browser/set-current-chat-JCY2THT3.mjs.map +7 -0
  38. package/dist/lib/browser/translations.mjs +173 -0
  39. package/dist/lib/browser/translations.mjs.map +7 -0
  40. package/dist/lib/browser/types/index.mjs +8 -22
  41. package/dist/lib/browser/update-chat-name-VWKNUON7.mjs +56 -0
  42. package/dist/lib/browser/update-chat-name-VWKNUON7.mjs.map +7 -0
  43. package/dist/lib/node-esm/AssistantSettings-23A5IMHS.mjs +41 -0
  44. package/dist/lib/node-esm/AssistantSettings-23A5IMHS.mjs.map +7 -0
  45. package/dist/lib/node-esm/blueprints/index.mjs +32 -0
  46. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  47. package/dist/lib/node-esm/chunk-BHBN2PFD.mjs +2255 -0
  48. package/dist/lib/node-esm/chunk-BHBN2PFD.mjs.map +7 -0
  49. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  50. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  51. package/dist/lib/node-esm/chunk-MBDVPB4V.mjs +176 -0
  52. package/dist/lib/node-esm/chunk-MBDVPB4V.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-WTT4XU46.mjs +196 -0
  54. package/dist/lib/node-esm/chunk-WTT4XU46.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-Y2HSA4US.mjs +933 -0
  56. package/dist/lib/node-esm/chunk-Y2HSA4US.mjs.map +7 -0
  57. package/dist/lib/node-esm/cli/index.mjs +74 -0
  58. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  59. package/dist/lib/node-esm/components/index.mjs +21 -0
  60. package/dist/lib/node-esm/components/index.mjs.map +7 -0
  61. package/dist/lib/node-esm/create-chat-UQQ3542N.mjs +74 -0
  62. package/dist/lib/node-esm/create-chat-UQQ3542N.mjs.map +7 -0
  63. package/dist/lib/node-esm/ensure-companion-chat-T4YCTT73.mjs +66 -0
  64. package/dist/lib/node-esm/ensure-companion-chat-T4YCTT73.mjs.map +7 -0
  65. package/dist/lib/node-esm/hooks/index.mjs +40 -0
  66. package/dist/lib/node-esm/hooks/index.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +68 -264
  68. package/dist/lib/node-esm/index.mjs.map +4 -4
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/on-create-space-M63UBTTT.mjs +23 -0
  71. package/dist/lib/node-esm/on-create-space-M63UBTTT.mjs.map +7 -0
  72. package/dist/lib/node-esm/operations/index.mjs +14 -0
  73. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  74. package/dist/lib/node-esm/resolve-navigation-targets-HO77CAFT.mjs +23 -0
  75. package/dist/lib/node-esm/resolve-navigation-targets-HO77CAFT.mjs.map +7 -0
  76. package/dist/lib/node-esm/run-prompt-in-new-chat-V6VQJ3GL.mjs +107 -0
  77. package/dist/lib/node-esm/run-prompt-in-new-chat-V6VQJ3GL.mjs.map +7 -0
  78. package/dist/lib/node-esm/set-current-chat-FIGKWDTF.mjs +55 -0
  79. package/dist/lib/node-esm/set-current-chat-FIGKWDTF.mjs.map +7 -0
  80. package/dist/lib/node-esm/translations.mjs +174 -0
  81. package/dist/lib/node-esm/translations.mjs.map +7 -0
  82. package/dist/lib/node-esm/types/index.mjs +8 -22
  83. package/dist/lib/node-esm/update-chat-name-GV4HX32Z.mjs +57 -0
  84. package/dist/lib/node-esm/update-chat-name-GV4HX32Z.mjs.map +7 -0
  85. package/dist/types/src/AssistantPlugin.d.ts +3 -1
  86. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  87. package/dist/types/src/AssistantPlugin.node.d.ts +4 -0
  88. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  89. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  90. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  91. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  92. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  93. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  94. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  95. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  96. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  97. package/dist/types/src/blueprints/index.d.ts +2 -0
  98. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/ai-service.d.ts +6 -0
  100. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  102. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  104. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  106. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  108. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/edge-model-resolver.d.ts +7 -0
  110. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/index.d.ts +55 -6
  112. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/local-model-resolver.d.ts +16 -0
  114. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  116. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  118. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  120. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  122. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/settings.d.ts +4 -2
  124. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/state.d.ts +21 -0
  126. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/toolkit.d.ts +6 -0
  128. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  129. package/dist/types/src/cli/index.d.ts +2 -0
  130. package/dist/types/src/cli/index.d.ts.map +1 -0
  131. package/dist/types/src/cli/plugin.d.ts +10 -0
  132. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  133. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  134. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  135. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
  136. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  137. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  138. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  139. package/dist/types/src/components/Chat/Chat.d.ts +54 -0
  140. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  141. package/dist/types/src/components/Chat/context.d.ts +29 -0
  142. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  143. package/dist/types/src/components/Chat/events.d.ts +39 -0
  144. package/dist/types/src/components/Chat/events.d.ts.map +1 -0
  145. package/dist/types/src/components/Chat/index.d.ts +3 -0
  146. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  147. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +12 -0
  148. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -0
  149. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  150. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  151. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +24 -0
  152. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  153. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
  154. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
  155. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts +11 -0
  156. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -0
  157. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +28 -0
  158. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  159. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +10 -0
  160. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -0
  161. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  162. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  163. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +10 -0
  164. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -0
  165. package/dist/types/src/components/ChatPrompt/index.d.ts +9 -0
  166. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -0
  167. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
  168. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
  169. package/dist/types/src/components/ChatThread/ChatThread.d.ts +24 -0
  170. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -0
  171. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +36 -0
  172. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -0
  173. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  174. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  175. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +42 -0
  176. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
  177. package/dist/types/src/components/ChatThread/index.d.ts +2 -0
  178. package/dist/types/src/components/ChatThread/index.d.ts.map +1 -0
  179. package/dist/types/src/components/ChatThread/registry.d.ts +29 -0
  180. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  181. package/dist/types/src/components/ChatThread/sync.d.ts +69 -0
  182. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  183. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  184. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  185. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
  186. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
  187. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
  188. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
  189. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  190. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  191. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  192. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  193. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
  194. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
  195. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  196. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  197. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  198. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  199. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  200. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  201. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +12 -0
  202. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
  203. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  204. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  205. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  206. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  207. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  208. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  209. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
  210. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
  211. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  212. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  213. package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
  214. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  215. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +11 -0
  216. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  217. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +7 -0
  218. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  219. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  220. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  221. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +9 -11
  222. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  223. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +13 -7
  224. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  225. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +16 -6
  226. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  227. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +11 -3
  228. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  229. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  230. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  231. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  232. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  233. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  234. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  235. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +12 -0
  236. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  237. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  238. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  239. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  240. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  241. package/dist/types/src/components/Toolbox/Toolbox.d.ts +17 -14
  242. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  243. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +14 -5
  244. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  245. package/dist/types/src/components/index.d.ts +4 -15
  246. package/dist/types/src/components/index.d.ts.map +1 -1
  247. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
  248. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
  249. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +21 -0
  250. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
  251. package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
  252. package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
  253. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
  254. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
  255. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts +16 -0
  256. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  257. package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
  258. package/dist/types/src/containers/AgentProperties/index.d.ts.map +1 -0
  259. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  260. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  261. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  262. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  263. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +18 -0
  264. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  265. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  266. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  267. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +12 -0
  268. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  269. package/dist/types/src/containers/ChatContainer/index.d.ts +2 -0
  270. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  271. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts +7 -0
  272. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  273. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  274. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  275. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  276. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  277. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  278. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  279. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  280. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  281. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +21 -0
  282. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  283. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  284. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  285. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +8 -0
  286. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  287. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +13 -0
  288. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
  289. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  290. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  291. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  292. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  293. package/dist/types/src/containers/TracePanel/execution-graph.d.ts +97 -0
  294. package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +1 -0
  295. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts +2 -0
  296. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts.map +1 -0
  297. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  298. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  299. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  300. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  301. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  302. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  303. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  304. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  305. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +5 -0
  306. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  307. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  308. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  309. package/dist/types/src/containers/index.d.ts +12 -0
  310. package/dist/types/src/containers/index.d.ts.map +1 -0
  311. package/dist/types/src/extensions/index.d.ts +2 -0
  312. package/dist/types/src/extensions/index.d.ts.map +1 -0
  313. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  314. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  315. package/dist/types/src/hooks/index.d.ts +12 -5
  316. package/dist/types/src/hooks/index.d.ts.map +1 -1
  317. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
  318. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  319. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  320. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  321. package/dist/types/src/hooks/useChatProcessor.d.ts +13 -11
  322. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  323. package/dist/types/src/hooks/useChatServices.d.ts +10 -0
  324. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -0
  325. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  326. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  327. package/dist/types/src/hooks/useContextBinder.d.ts +5 -0
  328. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  329. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  330. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  331. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  332. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  333. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  334. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  335. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  336. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  337. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  338. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  339. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  340. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  341. package/dist/types/src/hooks/useReferencesProvider.d.ts +7 -0
  342. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -0
  343. package/dist/types/src/index.d.ts +4 -5
  344. package/dist/types/src/index.d.ts.map +1 -1
  345. package/dist/types/src/meta.d.ts +5 -4
  346. package/dist/types/src/meta.d.ts.map +1 -1
  347. package/dist/types/src/operations/create-chat.d.ts +5 -0
  348. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  349. package/dist/types/src/operations/definitions.d.ts +142 -0
  350. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  351. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  352. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  353. package/dist/types/src/operations/index.d.ts +4 -0
  354. package/dist/types/src/operations/index.d.ts.map +1 -0
  355. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  356. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  357. package/dist/types/src/operations/prompt.test.d.ts +2 -0
  358. package/dist/types/src/operations/prompt.test.d.ts.map +1 -0
  359. package/dist/types/src/operations/resolve-navigation-targets.d.ts +15 -0
  360. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  361. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  362. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  363. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  364. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  365. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  366. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  367. package/dist/types/src/processor/index.d.ts +3 -0
  368. package/dist/types/src/processor/index.d.ts.map +1 -0
  369. package/dist/types/src/processor/presets.d.ts +13 -0
  370. package/dist/types/src/processor/presets.d.ts.map +1 -0
  371. package/dist/types/src/processor/processor.d.ts +98 -0
  372. package/dist/types/src/processor/processor.d.ts.map +1 -0
  373. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  374. package/dist/types/src/queue-logger.d.ts +5 -5
  375. package/dist/types/src/queue-logger.d.ts.map +1 -1
  376. package/dist/types/src/testing/index.d.ts +3 -2
  377. package/dist/types/src/testing/index.d.ts.map +1 -1
  378. package/dist/types/src/testing/test-generator.d.ts +8 -0
  379. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  380. package/dist/types/src/testing/test-generator.test.d.ts +2 -0
  381. package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
  382. package/dist/types/src/testing/test-sequence.d.ts +4 -0
  383. package/dist/types/src/testing/test-sequence.d.ts.map +1 -0
  384. package/dist/types/src/testing/test-services.d.ts +2 -2
  385. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  386. package/dist/types/src/testing/test-trace.d.ts +5 -0
  387. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  388. package/dist/types/src/testing/trace-timeline.test.d.ts +2 -0
  389. package/dist/types/src/testing/trace-timeline.test.d.ts.map +1 -0
  390. package/dist/types/src/translations.d.ts +2 -116
  391. package/dist/types/src/translations.d.ts.map +1 -1
  392. package/dist/types/src/types/Assistant.d.ts +36 -0
  393. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  394. package/dist/types/src/types/Settings.d.ts +26 -0
  395. package/dist/types/src/types/Settings.d.ts.map +1 -0
  396. package/dist/types/src/types/capabilities.d.ts +32 -0
  397. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  398. package/dist/types/src/types/events.d.ts +5 -0
  399. package/dist/types/src/types/events.d.ts.map +1 -0
  400. package/dist/types/src/types/index.d.ts +4 -3
  401. package/dist/types/src/types/index.d.ts.map +1 -1
  402. package/dist/types/src/types/service.d.ts +14 -213
  403. package/dist/types/src/types/service.d.ts.map +1 -1
  404. package/dist/types/tsconfig.tsbuildinfo +1 -1
  405. package/package.json +173 -99
  406. package/src/AssistantPlugin.node.ts +44 -0
  407. package/src/AssistantPlugin.test.ts +35 -0
  408. package/src/AssistantPlugin.tsx +118 -116
  409. package/src/blueprints/assistant/blueprint.test.ts +46 -0
  410. package/src/blueprints/assistant/blueprint.ts +31 -0
  411. package/src/blueprints/assistant/index.ts +5 -0
  412. package/src/{experimental/transcription → blueprints}/index.ts +2 -0
  413. package/src/capabilities/ai-service.ts +30 -0
  414. package/src/capabilities/app-graph-builder.ts +178 -233
  415. package/src/capabilities/blueprint-definition.ts +56 -0
  416. package/src/capabilities/companion-chat-provisioner.ts +164 -0
  417. package/src/capabilities/create-object.ts +107 -0
  418. package/src/capabilities/edge-model-resolver.ts +33 -0
  419. package/src/capabilities/index.ts +23 -8
  420. package/src/capabilities/local-model-resolver.ts +48 -0
  421. package/src/capabilities/markdown.ts +40 -0
  422. package/src/capabilities/migrations.ts +28 -0
  423. package/src/capabilities/operation-handler.ts +16 -0
  424. package/src/capabilities/react-surface.tsx +153 -123
  425. package/src/capabilities/settings.ts +24 -12
  426. package/src/capabilities/state.ts +35 -0
  427. package/src/capabilities/toolkit.ts +13 -0
  428. package/src/cli/index.ts +5 -0
  429. package/src/cli/plugin.ts +83 -0
  430. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +35 -0
  431. package/src/components/AssistantSettings/AssistantSettings.tsx +34 -96
  432. package/src/components/AssistantSettings/index.ts +2 -2
  433. package/src/components/Chat/Chat.tsx +270 -0
  434. package/src/components/Chat/context.ts +39 -0
  435. package/src/components/Chat/events.ts +63 -0
  436. package/src/components/Chat/index.ts +7 -0
  437. package/src/components/ChatPrompt/ChatActions.tsx +75 -0
  438. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  439. package/src/components/ChatPrompt/ChatOptions.stories.tsx +136 -0
  440. package/src/components/ChatPrompt/ChatOptions.tsx +444 -0
  441. package/src/components/ChatPrompt/ChatPresets.tsx +29 -0
  442. package/src/components/ChatPrompt/ChatPrompt.tsx +182 -0
  443. package/src/components/ChatPrompt/ChatReferences.tsx +57 -0
  444. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  445. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +42 -0
  446. package/src/components/ChatPrompt/index.ts +12 -0
  447. package/src/components/ChatThread/Anchor.stories.tsx +95 -0
  448. package/src/components/ChatThread/ChatThread.stories.tsx +143 -0
  449. package/src/components/ChatThread/ChatThread.tsx +113 -0
  450. package/src/components/ChatThread/DEBUG.md +41 -0
  451. package/src/components/ChatThread/Link.tsx +26 -0
  452. package/src/components/ChatThread/MarkdownStream.stories.tsx +281 -0
  453. package/src/components/{AmbientDialog → ChatThread}/index.ts +1 -1
  454. package/src/components/ChatThread/registry.tsx +290 -0
  455. package/src/components/ChatThread/sync.test.ts +257 -0
  456. package/src/components/ChatThread/sync.ts +150 -0
  457. package/src/components/ChatThread/testing/reasoning.md +25 -0
  458. package/src/components/ChatThread/testing/thinking.md +21 -0
  459. package/src/components/ChatThread/testing/thread-1.md +30 -0
  460. package/src/components/ChatThread/testing/thread-2.md +56 -0
  461. package/src/components/ChatThread/testing/thread-widgets.md +79 -0
  462. package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
  463. package/src/components/ChatThread/tool-widget-state.ts +48 -0
  464. package/src/components/ChatThread/widgets/FallbackWidget.tsx +26 -0
  465. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
  466. package/src/components/ChatThread/widgets/ReasoningWidget.ts +133 -0
  467. package/src/components/ChatThread/widgets/ReferenceWidget.ts +33 -0
  468. package/src/components/ChatThread/widgets/SelectWidget.ts +39 -0
  469. package/src/components/ChatThread/widgets/StatsWidget.ts +31 -0
  470. package/src/components/ChatThread/widgets/StatusWidget.ts +53 -0
  471. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  472. package/src/components/ChatThread/widgets/SummaryWidget.tsx +29 -0
  473. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +55 -0
  474. package/src/components/ChatThread/widgets/ToolWidget.tsx +156 -0
  475. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  476. package/src/components/ChatThread/widgets/index.ts +13 -0
  477. package/src/components/ProcessTree/ProcessTree.stories.tsx +83 -0
  478. package/src/components/ProcessTree/ProcessTree.tsx +119 -0
  479. package/src/components/ProcessTree/index.ts +5 -0
  480. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +55 -43
  481. package/src/components/TemplateEditor/TemplateEditor.tsx +62 -60
  482. package/src/components/TemplateEditor/TemplateForm.stories.tsx +41 -30
  483. package/src/components/TemplateEditor/TemplateForm.tsx +122 -102
  484. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  485. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  486. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  487. package/src/components/ToolBlock/ToolBlock.tsx +144 -0
  488. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  489. package/src/components/ToolBlock/index.ts +6 -0
  490. package/src/components/Toolbox/Toolbox.stories.tsx +18 -30
  491. package/src/components/Toolbox/Toolbox.tsx +91 -60
  492. package/src/components/index.ts +4 -13
  493. package/src/containers/AgentArticle/AgentArticle.stories.tsx +120 -0
  494. package/src/containers/AgentArticle/AgentArticle.tsx +200 -0
  495. package/src/containers/AgentArticle/index.ts +5 -0
  496. package/src/containers/AgentProperties/AgentProperties.stories.tsx +101 -0
  497. package/src/containers/AgentProperties/AgentProperties.tsx +127 -0
  498. package/src/containers/AgentProperties/index.ts +5 -0
  499. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  500. package/src/containers/BlueprintArticle/index.ts +5 -0
  501. package/src/containers/ChatCompanion/ChatCompanion.tsx +129 -0
  502. package/src/containers/ChatCompanion/index.ts +5 -0
  503. package/src/containers/ChatContainer/ChatContainer.tsx +105 -0
  504. package/src/containers/ChatContainer/index.ts +5 -0
  505. package/src/containers/ChatDialog/ChatDialog.tsx +66 -0
  506. package/src/containers/ChatDialog/index.ts +5 -0
  507. package/src/containers/RoutineArticle/RoutineArticle.tsx +59 -0
  508. package/src/containers/RoutineArticle/index.ts +5 -0
  509. package/src/containers/RoutineList/RoutineList.stories.tsx +130 -0
  510. package/src/containers/RoutineList/RoutineList.tsx +50 -0
  511. package/src/containers/RoutineList/index.ts +5 -0
  512. package/src/containers/TracePanel/TracePanel.stories.tsx +285 -0
  513. package/src/containers/TracePanel/TracePanel.tsx +167 -0
  514. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  515. package/src/containers/TracePanel/dxn-extractor.ts +178 -0
  516. package/src/containers/TracePanel/execution-graph.test.ts +382 -0
  517. package/src/containers/TracePanel/execution-graph.ts +621 -0
  518. package/src/containers/TracePanel/index.ts +9 -0
  519. package/src/containers/TracePanel/testing/index.ts +6 -0
  520. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  521. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  522. package/src/containers/TriggerStatus/TriggerStatus.tsx +129 -0
  523. package/src/containers/TriggerStatus/index.ts +5 -0
  524. package/src/containers/index.ts +16 -0
  525. package/src/extensions/index.ts +5 -0
  526. package/src/extensions/prompt-extension.ts +111 -0
  527. package/src/hooks/index.ts +12 -6
  528. package/src/hooks/useBlueprintRegistry.ts +109 -0
  529. package/src/hooks/useChatKeymap.ts +52 -0
  530. package/src/hooks/useChatProcessor.ts +90 -0
  531. package/src/hooks/useChatServices.ts +26 -0
  532. package/src/hooks/useChatToolbarActions.ts +122 -0
  533. package/src/hooks/useContextBinder.ts +43 -0
  534. package/src/hooks/useContextObjects.ts +50 -0
  535. package/src/hooks/useDebug.ts +38 -0
  536. package/src/hooks/useFilteredTypes.ts +37 -0
  537. package/src/hooks/useFlush.ts +35 -0
  538. package/src/hooks/useOnline.ts +10 -0
  539. package/src/hooks/usePresets.ts +45 -0
  540. package/src/hooks/useReferencesProvider.ts +54 -0
  541. package/src/index.ts +8 -5
  542. package/src/meta.ts +15 -9
  543. package/src/operations/create-chat.ts +79 -0
  544. package/src/operations/definitions.ts +126 -0
  545. package/src/operations/ensure-companion-chat.ts +61 -0
  546. package/src/operations/index.ts +17 -0
  547. package/src/operations/on-create-space.ts +24 -0
  548. package/src/operations/prompt.test.ts +77 -0
  549. package/src/operations/resolve-navigation-targets.ts +26 -0
  550. package/src/operations/run-prompt-in-new-chat.ts +112 -0
  551. package/src/operations/set-current-chat.ts +50 -0
  552. package/src/operations/update-chat-name.ts +61 -0
  553. package/src/processor/index.ts +6 -0
  554. package/src/processor/presets.ts +68 -0
  555. package/src/processor/processor.test.ts +40 -0
  556. package/src/processor/processor.ts +352 -0
  557. package/src/queue-logger.ts +39 -29
  558. package/src/testing/data/trace-timeline.dx.json +4657 -0
  559. package/src/testing/index.ts +3 -2
  560. package/src/testing/test-generator.test.ts +81 -0
  561. package/src/testing/test-generator.ts +299 -0
  562. package/src/testing/test-sequence.ts +26 -0
  563. package/src/testing/test-services.ts +10 -14
  564. package/src/testing/test-trace.ts +20 -0
  565. package/src/testing/trace-timeline.conversations.json +1 -0
  566. package/src/testing/trace-timeline.test.ts +250 -0
  567. package/src/translations.ts +164 -55
  568. package/src/types/Assistant.ts +24 -0
  569. package/src/types/Settings.ts +76 -0
  570. package/src/types/capabilities.ts +35 -0
  571. package/src/types/events.ts +11 -0
  572. package/src/types/index.ts +7 -3
  573. package/src/types/service.ts +27 -16
  574. package/src/vite-env.d.ts +30 -0
  575. package/dist/lib/browser/AssistantDialog-MQOOR364.mjs +0 -47
  576. package/dist/lib/browser/AssistantDialog-MQOOR364.mjs.map +0 -7
  577. package/dist/lib/browser/BlueprintContainer-AT5Y7EXG.mjs +0 -321
  578. package/dist/lib/browser/BlueprintContainer-AT5Y7EXG.mjs.map +0 -7
  579. package/dist/lib/browser/ChatContainer-C2NEAS3A.mjs +0 -40
  580. package/dist/lib/browser/ChatContainer-C2NEAS3A.mjs.map +0 -7
  581. package/dist/lib/browser/TemplateContainer-QQHVOTSI.mjs +0 -28
  582. package/dist/lib/browser/TemplateContainer-QQHVOTSI.mjs.map +0 -7
  583. package/dist/lib/browser/ai-client-MK2ZZII2.mjs +0 -39
  584. package/dist/lib/browser/ai-client-MK2ZZII2.mjs.map +0 -7
  585. package/dist/lib/browser/app-graph-builder-E4H5DCOJ.mjs +0 -225
  586. package/dist/lib/browser/app-graph-builder-E4H5DCOJ.mjs.map +0 -7
  587. package/dist/lib/browser/chunk-AAOKC2JN.mjs +0 -208
  588. package/dist/lib/browser/chunk-AAOKC2JN.mjs.map +0 -7
  589. package/dist/lib/browser/chunk-BI6AHRNJ.mjs +0 -157
  590. package/dist/lib/browser/chunk-BI6AHRNJ.mjs.map +0 -7
  591. package/dist/lib/browser/chunk-JO4W3MF7.mjs +0 -2101
  592. package/dist/lib/browser/chunk-JO4W3MF7.mjs.map +0 -7
  593. package/dist/lib/browser/chunk-JQFUME3B.mjs +0 -87
  594. package/dist/lib/browser/chunk-JQFUME3B.mjs.map +0 -7
  595. package/dist/lib/browser/chunk-MEGMOFJB.mjs +0 -16
  596. package/dist/lib/browser/chunk-MEGMOFJB.mjs.map +0 -7
  597. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs +0 -96
  598. package/dist/lib/browser/chunk-Q6UZ4F3H.mjs.map +0 -7
  599. package/dist/lib/browser/chunk-UE3IZ4PN.mjs +0 -15
  600. package/dist/lib/browser/chunk-UE3IZ4PN.mjs.map +0 -7
  601. package/dist/lib/browser/chunk-XOZ7YMO3.mjs +0 -20
  602. package/dist/lib/browser/chunk-XOZ7YMO3.mjs.map +0 -7
  603. package/dist/lib/browser/intent-resolver-3UICTGPM.mjs +0 -43
  604. package/dist/lib/browser/intent-resolver-3UICTGPM.mjs.map +0 -7
  605. package/dist/lib/browser/react-surface-LXCNUSZN.mjs +0 -159
  606. package/dist/lib/browser/react-surface-LXCNUSZN.mjs.map +0 -7
  607. package/dist/lib/browser/settings-XRHXVWGB.mjs +0 -22
  608. package/dist/lib/browser/settings-XRHXVWGB.mjs.map +0 -7
  609. package/dist/lib/node/AssistantDialog-AN4Z6YUV.cjs +0 -73
  610. package/dist/lib/node/AssistantDialog-AN4Z6YUV.cjs.map +0 -7
  611. package/dist/lib/node/BlueprintContainer-NOWLDYCZ.cjs +0 -344
  612. package/dist/lib/node/BlueprintContainer-NOWLDYCZ.cjs.map +0 -7
  613. package/dist/lib/node/ChatContainer-VKYBQHUB.cjs +0 -68
  614. package/dist/lib/node/ChatContainer-VKYBQHUB.cjs.map +0 -7
  615. package/dist/lib/node/TemplateContainer-JZF2DCCG.cjs +0 -58
  616. package/dist/lib/node/TemplateContainer-JZF2DCCG.cjs.map +0 -7
  617. package/dist/lib/node/ai-client-7HNSMUMT.cjs +0 -53
  618. package/dist/lib/node/ai-client-7HNSMUMT.cjs.map +0 -7
  619. package/dist/lib/node/app-graph-builder-PPR5B5KU.cjs +0 -235
  620. package/dist/lib/node/app-graph-builder-PPR5B5KU.cjs.map +0 -7
  621. package/dist/lib/node/chunk-4EEWTDQK.cjs +0 -117
  622. package/dist/lib/node/chunk-4EEWTDQK.cjs.map +0 -7
  623. package/dist/lib/node/chunk-FUAGEO7Q.cjs +0 -52
  624. package/dist/lib/node/chunk-FUAGEO7Q.cjs.map +0 -7
  625. package/dist/lib/node/chunk-HRNIUYVQ.cjs +0 -128
  626. package/dist/lib/node/chunk-HRNIUYVQ.cjs.map +0 -7
  627. package/dist/lib/node/chunk-IKZBMHSW.cjs +0 -184
  628. package/dist/lib/node/chunk-IKZBMHSW.cjs.map +0 -7
  629. package/dist/lib/node/chunk-LMDJEGZ2.cjs +0 -233
  630. package/dist/lib/node/chunk-LMDJEGZ2.cjs.map +0 -7
  631. package/dist/lib/node/chunk-NIDICM57.cjs +0 -2080
  632. package/dist/lib/node/chunk-NIDICM57.cjs.map +0 -7
  633. package/dist/lib/node/chunk-P74TWGMG.cjs +0 -44
  634. package/dist/lib/node/chunk-P74TWGMG.cjs.map +0 -7
  635. package/dist/lib/node/chunk-QGPWY6GW.cjs +0 -34
  636. package/dist/lib/node/chunk-QGPWY6GW.cjs.map +0 -7
  637. package/dist/lib/node/index.cjs +0 -289
  638. package/dist/lib/node/index.cjs.map +0 -7
  639. package/dist/lib/node/intent-resolver-QSWGTKON.cjs +0 -58
  640. package/dist/lib/node/intent-resolver-QSWGTKON.cjs.map +0 -7
  641. package/dist/lib/node/meta.json +0 -1
  642. package/dist/lib/node/react-surface-D3NBYRZ6.cjs +0 -172
  643. package/dist/lib/node/react-surface-D3NBYRZ6.cjs.map +0 -7
  644. package/dist/lib/node/settings-2JXLKYGE.cjs +0 -36
  645. package/dist/lib/node/settings-2JXLKYGE.cjs.map +0 -7
  646. package/dist/lib/node/types/index.cjs +0 -54
  647. package/dist/lib/node/types/index.cjs.map +0 -7
  648. package/dist/lib/node-esm/AssistantDialog-6WEMLUPU.mjs +0 -48
  649. package/dist/lib/node-esm/AssistantDialog-6WEMLUPU.mjs.map +0 -7
  650. package/dist/lib/node-esm/BlueprintContainer-STOJAVML.mjs +0 -322
  651. package/dist/lib/node-esm/BlueprintContainer-STOJAVML.mjs.map +0 -7
  652. package/dist/lib/node-esm/ChatContainer-3MVBTUJN.mjs +0 -41
  653. package/dist/lib/node-esm/ChatContainer-3MVBTUJN.mjs.map +0 -7
  654. package/dist/lib/node-esm/TemplateContainer-SOEWY2ZN.mjs +0 -29
  655. package/dist/lib/node-esm/TemplateContainer-SOEWY2ZN.mjs.map +0 -7
  656. package/dist/lib/node-esm/ai-client-XGZBJ6BE.mjs +0 -40
  657. package/dist/lib/node-esm/ai-client-XGZBJ6BE.mjs.map +0 -7
  658. package/dist/lib/node-esm/app-graph-builder-3SY5MBIK.mjs +0 -226
  659. package/dist/lib/node-esm/app-graph-builder-3SY5MBIK.mjs.map +0 -7
  660. package/dist/lib/node-esm/chunk-34EX6E5Q.mjs +0 -18
  661. package/dist/lib/node-esm/chunk-34EX6E5Q.mjs.map +0 -7
  662. package/dist/lib/node-esm/chunk-3UEZLJ2V.mjs +0 -16
  663. package/dist/lib/node-esm/chunk-3UEZLJ2V.mjs.map +0 -7
  664. package/dist/lib/node-esm/chunk-BB2TAT4P.mjs +0 -22
  665. package/dist/lib/node-esm/chunk-BB2TAT4P.mjs.map +0 -7
  666. package/dist/lib/node-esm/chunk-CDAILLCU.mjs +0 -98
  667. package/dist/lib/node-esm/chunk-CDAILLCU.mjs.map +0 -7
  668. package/dist/lib/node-esm/chunk-J6UXXZGJ.mjs +0 -209
  669. package/dist/lib/node-esm/chunk-J6UXXZGJ.mjs.map +0 -7
  670. package/dist/lib/node-esm/chunk-OD574YIU.mjs +0 -2102
  671. package/dist/lib/node-esm/chunk-OD574YIU.mjs.map +0 -7
  672. package/dist/lib/node-esm/chunk-OYN6HLXZ.mjs +0 -88
  673. package/dist/lib/node-esm/chunk-OYN6HLXZ.mjs.map +0 -7
  674. package/dist/lib/node-esm/chunk-UCOFKNKN.mjs +0 -158
  675. package/dist/lib/node-esm/chunk-UCOFKNKN.mjs.map +0 -7
  676. package/dist/lib/node-esm/intent-resolver-E6MXTYAU.mjs +0 -44
  677. package/dist/lib/node-esm/intent-resolver-E6MXTYAU.mjs.map +0 -7
  678. package/dist/lib/node-esm/react-surface-7HA5EDWY.mjs +0 -160
  679. package/dist/lib/node-esm/react-surface-7HA5EDWY.mjs.map +0 -7
  680. package/dist/lib/node-esm/settings-5IAY6BT4.mjs +0 -23
  681. package/dist/lib/node-esm/settings-5IAY6BT4.mjs.map +0 -7
  682. package/dist/types/src/capabilities/ai-client.d.ts +0 -5
  683. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  684. package/dist/types/src/capabilities/capabilities.d.ts +0 -6
  685. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  686. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  687. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  688. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +0 -10
  689. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +0 -1
  690. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts +0 -8
  691. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +0 -1
  692. package/dist/types/src/components/AmbientDialog/index.d.ts +0 -2
  693. package/dist/types/src/components/AmbientDialog/index.d.ts.map +0 -1
  694. package/dist/types/src/components/AssistantDialog.d.ts +0 -7
  695. package/dist/types/src/components/AssistantDialog.d.ts.map +0 -1
  696. package/dist/types/src/components/BlueprintContainer.d.ts +0 -9
  697. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  698. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +0 -13
  699. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +0 -1
  700. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts +0 -8
  701. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts.map +0 -1
  702. package/dist/types/src/components/BlueprintEditor/index.d.ts +0 -2
  703. package/dist/types/src/components/BlueprintEditor/index.d.ts.map +0 -1
  704. package/dist/types/src/components/ChatContainer.d.ts +0 -11
  705. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  706. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -23
  707. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  708. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -13
  709. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  710. package/dist/types/src/components/Prompt/PromptBar.d.ts +0 -16
  711. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +0 -1
  712. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts +0 -9
  713. package/dist/types/src/components/Prompt/PromptBar.stories.d.ts.map +0 -1
  714. package/dist/types/src/components/Prompt/autocomplete.d.ts +0 -25
  715. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +0 -1
  716. package/dist/types/src/components/Prompt/index.d.ts +0 -3
  717. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  718. package/dist/types/src/components/Prompt/references.d.ts +0 -30
  719. package/dist/types/src/components/Prompt/references.d.ts.map +0 -1
  720. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  721. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  722. package/dist/types/src/components/TemplateContainer.d.ts +0 -8
  723. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  724. package/dist/types/src/components/Thread/Thread.d.ts +0 -28
  725. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  726. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  727. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  728. package/dist/types/src/components/Thread/ThreadContainer.d.ts +0 -13
  729. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +0 -1
  730. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +0 -16
  731. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +0 -1
  732. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -16
  733. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  734. package/dist/types/src/components/Thread/ToolInvocations.d.ts +0 -13
  735. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +0 -1
  736. package/dist/types/src/components/Thread/index.d.ts +0 -3
  737. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  738. package/dist/types/src/components/Thread/reducer.d.ts +0 -12
  739. package/dist/types/src/components/Thread/reducer.d.ts.map +0 -1
  740. package/dist/types/src/events.d.ts +0 -4
  741. package/dist/types/src/events.d.ts.map +0 -1
  742. package/dist/types/src/experimental/transcription/index.d.ts +0 -1
  743. package/dist/types/src/experimental/transcription/index.d.ts.map +0 -1
  744. package/dist/types/src/hooks/processor.d.ts +0 -72
  745. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  746. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  747. package/dist/types/src/hooks/useContextProvider.d.ts +0 -17
  748. package/dist/types/src/hooks/useContextProvider.d.ts.map +0 -1
  749. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -42
  750. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  751. package/dist/types/src/hooks/useServices.d.ts +0 -7
  752. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  753. package/dist/types/src/hooks/useTextInputEvents.d.ts +0 -13
  754. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +0 -1
  755. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  756. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  757. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  758. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  759. package/dist/types/src/parser/index.d.ts +0 -4
  760. package/dist/types/src/parser/index.d.ts.map +0 -1
  761. package/dist/types/src/parser/query-parser.d.ts +0 -15
  762. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  763. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  764. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  765. package/dist/types/src/parser/types.d.ts +0 -24
  766. package/dist/types/src/parser/types.d.ts.map +0 -1
  767. package/dist/types/src/stories/Prompt.stories.d.ts +0 -8
  768. package/dist/types/src/stories/Prompt.stories.d.ts.map +0 -1
  769. package/dist/types/src/stories/Query.stories.d.ts +0 -19
  770. package/dist/types/src/stories/Query.stories.d.ts.map +0 -1
  771. package/dist/types/src/stories/Research.stories.d.ts +0 -15
  772. package/dist/types/src/stories/Research.stories.d.ts.map +0 -1
  773. package/dist/types/src/stories/test-data.d.ts +0 -3
  774. package/dist/types/src/stories/test-data.d.ts.map +0 -1
  775. package/dist/types/src/stories/testing.d.ts +0 -12
  776. package/dist/types/src/stories/testing.d.ts.map +0 -1
  777. package/dist/types/src/testing/test-blueprint.d.ts +0 -8
  778. package/dist/types/src/testing/test-blueprint.d.ts.map +0 -1
  779. package/dist/types/src/testing/test-functions.d.ts +0 -3
  780. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  781. package/dist/types/src/tools/function.d.ts +0 -5
  782. package/dist/types/src/tools/function.d.ts.map +0 -1
  783. package/dist/types/src/tools/index.d.ts +0 -3
  784. package/dist/types/src/tools/index.d.ts.map +0 -1
  785. package/dist/types/src/tools/openapi.d.ts +0 -10
  786. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  787. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  788. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  789. package/dist/types/src/types/chat.d.ts +0 -23
  790. package/dist/types/src/types/chat.d.ts.map +0 -1
  791. package/dist/types/src/types/template.d.ts +0 -56
  792. package/dist/types/src/types/template.d.ts.map +0 -1
  793. package/dist/types/src/types/types.d.ts +0 -50
  794. package/dist/types/src/types/types.d.ts.map +0 -1
  795. package/src/capabilities/ai-client.ts +0 -42
  796. package/src/capabilities/capabilities.ts +0 -15
  797. package/src/capabilities/intent-resolver.ts +0 -45
  798. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +0 -84
  799. package/src/components/AmbientDialog/AmbientDialog.tsx +0 -117
  800. package/src/components/AssistantDialog.tsx +0 -37
  801. package/src/components/BlueprintContainer.tsx +0 -148
  802. package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +0 -32
  803. package/src/components/BlueprintEditor/BlueprintEditor.tsx +0 -50
  804. package/src/components/BlueprintEditor/index.ts +0 -5
  805. package/src/components/ChatContainer.tsx +0 -39
  806. package/src/components/Prompt/Prompt.stories.tsx +0 -121
  807. package/src/components/Prompt/Prompt.tsx +0 -124
  808. package/src/components/Prompt/PromptBar.stories.tsx +0 -69
  809. package/src/components/Prompt/PromptBar.tsx +0 -105
  810. package/src/components/Prompt/autocomplete.ts +0 -218
  811. package/src/components/Prompt/index.ts +0 -6
  812. package/src/components/Prompt/references.ts +0 -180
  813. package/src/components/PromptSettings.tsx +0 -91
  814. package/src/components/TemplateContainer.tsx +0 -23
  815. package/src/components/Thread/Thread.stories.tsx +0 -201
  816. package/src/components/Thread/Thread.tsx +0 -118
  817. package/src/components/Thread/ThreadContainer.stories.tsx +0 -283
  818. package/src/components/Thread/ThreadContainer.tsx +0 -105
  819. package/src/components/Thread/ThreadMessage.tsx +0 -234
  820. package/src/components/Thread/ToolInvocations.tsx +0 -106
  821. package/src/components/Thread/index.ts +0 -6
  822. package/src/components/Thread/reducer.ts +0 -52
  823. package/src/events.ts +0 -11
  824. package/src/hooks/processor.test.ts +0 -15
  825. package/src/hooks/processor.ts +0 -238
  826. package/src/hooks/useChatProcessor.tsx +0 -97
  827. package/src/hooks/useContextProvider.ts +0 -55
  828. package/src/hooks/useMessageQueue.ts +0 -22
  829. package/src/hooks/useServices.ts +0 -28
  830. package/src/hooks/useTextInputEvents.ts +0 -49
  831. package/src/parser/filter-generator.test.ts +0 -32
  832. package/src/parser/filter-generator.ts +0 -81
  833. package/src/parser/index.ts +0 -7
  834. package/src/parser/query-parser.test.ts +0 -139
  835. package/src/parser/query-parser.ts +0 -199
  836. package/src/parser/types.ts +0 -34
  837. package/src/shims.d.ts +0 -8
  838. package/src/stories/Prompt.stories.tsx +0 -60
  839. package/src/stories/Query.stories.tsx +0 -514
  840. package/src/stories/Research.stories.tsx +0 -482
  841. package/src/stories/test-data.ts +0 -128
  842. package/src/stories/testing.ts +0 -60
  843. package/src/testing/test-blueprint.ts +0 -58
  844. package/src/testing/test-functions.ts +0 -11
  845. package/src/tools/function.ts +0 -46
  846. package/src/tools/index.ts +0 -6
  847. package/src/tools/openapi.test.ts +0 -217
  848. package/src/tools/openapi.ts +0 -338
  849. package/src/types/chat.ts +0 -32
  850. package/src/types/template.ts +0 -66
  851. package/src/types/types.ts +0 -48
  852. package/src/typings.d.ts +0 -9
  853. /package/dist/types/src/{hooks → processor}/processor.test.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useBlueprintRegistry.ts", "../../../src/hooks/useChatKeymap.ts", "../../../src/hooks/useChatProcessor.ts", "../../../src/processor/presets.ts", "../../../src/processor/processor.ts", "../../../src/hooks/useChatServices.ts", "../../../src/hooks/useChatToolbarActions.ts", "../../../src/hooks/useContextBinder.ts", "../../../src/hooks/useContextObjects.ts", "../../../src/hooks/useDebug.ts", "../../../src/hooks/useFilteredTypes.ts", "../../../src/hooks/useFlush.ts", "../../../src/hooks/useOnline.ts", "../../../src/hooks/usePresets.ts", "../../../src/hooks/useReferencesProvider.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { useCapabilities } from '@dxos/app-framework/ui';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { type AiContextBinder } from '@dxos/assistant';\nimport { Blueprint } from '@dxos/compute';\nimport { type Database, Filter, Obj, Ref } from '@dxos/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { distinctBy } from '@dxos/util';\n\n/**\n * Provide a registry of blueprints from plugins.\n */\n// TODO(burdon): Reconcile with eventual public registry.\n// TODO(dmaretskyi): Reconcile with blueprint registry in compute runtime.\nexport const useBlueprintRegistry = () => {\n const blueprintDefinitions = useCapabilities(AppCapabilities.BlueprintDefinition);\n return useMemo(\n () => new Blueprint.Registry(blueprintDefinitions.map((blueprint) => blueprint.make())),\n [blueprintDefinitions],\n );\n};\n\nexport const useBlueprints = ({\n blueprintRegistry,\n db,\n}: {\n blueprintRegistry?: Blueprint.Registry;\n db?: Database.Database;\n}) => {\n const staticBlueprints = useMemo(() => blueprintRegistry?.query() ?? [], [blueprintRegistry]);\n const spaceBlueprints = useQuery(db, Filter.type(Blueprint.Blueprint));\n return useMemo(() => {\n const blueprints = distinctBy([...staticBlueprints, ...spaceBlueprints], (b) => b.key);\n blueprints.sort(({ name: a }, { name: b }) => a.localeCompare(b));\n return blueprints;\n }, [staticBlueprints, spaceBlueprints]);\n};\n\n/**\n * Create reactive map of active blueprints (by key).\n */\nexport const useActiveBlueprints = ({ context }: { context?: AiContextBinder }) => {\n const [active, setActive] = useState<Map<string, Blueprint.Blueprint>>(new Map());\n\n useEffect(() => {\n if (!context) {\n setActive(new Map());\n return;\n }\n\n const updateActive = () => {\n const blueprints = context.getBlueprints();\n setActive(new Map(blueprints.map((blueprint) => [blueprint.key, blueprint])));\n };\n\n // Set initial value.\n updateActive();\n\n // Subscribe to changes.\n return context.subscribeBlueprints(updateActive);\n }, [context]);\n\n return active;\n};\n\n// TODO(burdon): Move logic into binder.\nexport const useBlueprintHandlers = ({\n db,\n context,\n blueprintRegistry,\n}: {\n db: Database.Database;\n context?: AiContextBinder;\n blueprintRegistry?: Blueprint.Registry;\n}) => {\n const onUpdateBlueprint = useCallback(\n async (key: string, checked: boolean) => {\n if (!context || !blueprintRegistry) {\n return;\n }\n\n // Find existing cloned blueprint.\n const objects = await db.query(Filter.type(Blueprint.Blueprint)).run();\n let storedBlueprint = objects.find((blueprint) => blueprint.key === key);\n if (checked) {\n if (!storedBlueprint) {\n const blueprint = blueprintRegistry.getByKey(key);\n if (!blueprint) {\n return;\n }\n\n // NOTE: Possible race condition with other peers.\n storedBlueprint = db.add(Obj.clone(blueprint));\n }\n await context.bind({ blueprints: [Ref.make(storedBlueprint)] });\n } else if (storedBlueprint) {\n await context.unbind({ blueprints: [Ref.make(storedBlueprint)] });\n }\n },\n [db, context, blueprintRegistry],\n );\n\n return { onUpdateBlueprint };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Extension, Prec } from '@codemirror/state';\nimport { keymap } from '@codemirror/view';\nimport { useMemo } from 'react';\n\nimport { type Event } from '@dxos/async';\nimport { isTruthy } from '@dxos/util';\n\nimport { type ChatEvent } from '../components/Chat/events';\n\n/**\n * CodeMirror keymap shared by the chat document (Thread) and the prompt editor — pressing\n * Mod-Arrow keys when either editor is focused emits the corresponding `ChatEvent` on the\n * shared event bus.\n */\nexport const useChatKeymapExtensions = ({ event }: { event: Event<ChatEvent> }): Extension[] => {\n return useMemo<Extension[]>(() => {\n return [\n Prec.highest(\n keymap.of([\n {\n key: 'Mod-ArrowUp',\n preventDefault: true,\n run: () => {\n event.emit({ type: 'nav-previous' });\n return true;\n },\n shift: () => {\n event.emit({ type: 'thread-open' });\n return true;\n },\n },\n {\n key: 'Mod-ArrowDown',\n preventDefault: true,\n run: () => {\n event.emit({ type: 'nav-next' });\n return true;\n },\n shift: () => {\n event.emit({ type: 'thread-close' });\n return true;\n },\n },\n ]),\n ),\n ].filter(isTruthy);\n }, [event]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Registry, RegistryContext } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport { useContext, useMemo, useState } from 'react';\n\nimport { AiSession } from '@dxos/assistant';\nimport { type Chat } from '@dxos/assistant-toolkit';\nimport { type Blueprint } from '@dxos/compute';\nimport { Feed, Ref } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-db';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { log } from '@dxos/log';\nimport { type AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport { type Assistant } from '#types';\n\nimport { AiChatProcessor, type AiServicePreset } from '../processor';\n\nexport type UseChatProcessorProps = {\n space?: Space;\n chat?: Chat.Chat;\n preset?: AiServicePreset;\n runtime?: AutomationCapabilities.ComputeRuntime;\n blueprintRegistry?: Blueprint.Registry;\n settings?: Assistant.Settings;\n};\n\n/**\n * Configure and create AiChatProcessor.\n */\nexport const useChatProcessor = ({\n space,\n chat,\n preset,\n runtime,\n blueprintRegistry,\n settings,\n}: UseChatProcessorProps): AiChatProcessor | undefined => {\n const observableRegistry = useContext(RegistryContext);\n\n const [session, setSession] = useState<AiSession>();\n useAsyncEffect(async () => {\n if (!space || !chat) {\n return;\n }\n\n const feedTarget = chat.feed.target;\n if (!feedTarget) {\n return;\n }\n const feedServiceLayer = createFeedServiceLayer(space.queues);\n const runtime = await runAndForwardErrors(\n Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer)),\n );\n const session = new AiSession({\n feed: feedTarget,\n runtime,\n registry: observableRegistry as Registry.Registry,\n });\n await session.open();\n setSession(session);\n return () => {\n void session.close();\n setSession(undefined);\n };\n }, [space, chat?.feed.target]);\n\n const feed = chat?.feed.target;\n\n const processor = useMemo(() => {\n if (!runtime || !session || !chat || !feed) {\n return undefined;\n }\n\n log('creating processor', { preset, model: preset?.model, settings });\n return new AiChatProcessor(session, runtime, feed, {\n chat: chat ? Ref.make(chat) : undefined,\n observableRegistry,\n blueprintRegistry,\n model: preset?.model,\n });\n }, [runtime, session, blueprintRegistry, preset, feed]);\n\n return processor;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type ModelName } from '@dxos/ai';\n\nconst ModelProviders = ['dxos-local', 'dxos-remote', 'lm-studio', 'ollama'] as const;\n\nconst ModelProvider = Schema.Literal(...ModelProviders);\ntype ModelProvider = Schema.Schema.Type<typeof ModelProvider>;\n\nexport type AiServicePreset = {\n id: string;\n provider: ModelProvider;\n model: ModelName;\n label?: string;\n};\n\nconst createModelLabel = (model: ModelName) => {\n const parts = model.split('/');\n return parts[parts.length - 1];\n};\n\n// TODO(burdon): Users should be able to create and edit presets.\nexport const AiServicePresets: AiServicePreset[] = [\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-opus-4-6' as const,\n },\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-sonnet-4-5' as const,\n },\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-3-5-haiku-20241022' as const,\n },\n {\n provider: 'ollama' as const,\n model: 'gpt-oss:20b' as const,\n },\n {\n provider: 'ollama' as const,\n model: 'gemma4:latest' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: '@google/gemma-3-27b' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: '@meta/llama-3.2-3b-instruct' as const,\n },\n {\n model: 'deepseek-r1:latest' as const,\n provider: 'dxos-local' as const,\n },\n].map(\n ({ model, provider }, i) =>\n ({\n id: `preset-${i}`,\n provider,\n model,\n label: createModelLabel(model),\n }) satisfies AiServicePreset,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, Registry } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Fiber from 'effect/Fiber';\nimport * as Option from 'effect/Option';\nimport * as Stream from 'effect/Stream';\n\nimport { type AiService, DEFAULT_EDGE_MODEL, type ModelName, type ModelRegistry } from '@dxos/ai';\nimport {\n AiContextService,\n type AiSession,\n createSystemPrompt,\n formatSystemPrompt,\n McpServerError,\n PartialBlock,\n ToolExecutionServices,\n} from '@dxos/assistant';\nimport { type Chat } from '@dxos/assistant-toolkit';\nimport { type Blueprint, type Credential, Trace, Operation } from '@dxos/compute';\nimport { type Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { runAndForwardErrors, unwrapExit } from '@dxos/effect';\nimport { type QueueService } from '@dxos/functions';\nimport { AgentService } from '@dxos/functions-runtime';\nimport { log } from '@dxos/log';\nimport type { AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { Message } from '@dxos/types';\n\nimport { UpdateChatName } from '../operations/definitions';\n\n/**\n * @deprecated Services type for the old direct-conversation processor path.\n * Retained for backward compatibility with CLI and update-name.\n */\nexport type AiChatServices =\n | Credential.CredentialsService\n | Database.Service\n | QueueService\n | AiService.AiService\n | Trace.TraceService;\n\nexport type AiChatProcessorOptions = {\n model?: ModelName;\n modelRegistry?: ModelRegistry;\n blueprintRegistry?: Blueprint.Registry;\n observableRegistry?: Registry.Registry;\n /**\n * For tracing.\n */\n chat?: Ref.Ref<Chat.Chat>;\n system?: string;\n /**\n * Probability of automatically updating chat name after each request.\n * Chat name is always updated if it has no name.\n * @default 0.1 (10%)\n */\n autoUpdateNameChance?: number;\n};\n\nconst defaultOptions: Partial<AiChatProcessorOptions> = {\n model: DEFAULT_EDGE_MODEL,\n autoUpdateNameChance: 0.1,\n};\n\nexport type AiRequestOptions = {};\n\nexport type AiRequest = {\n message: string;\n options?: AiRequestOptions;\n};\n\n/**\n * Handles interactions with the AI service.\n * Uses AgentService to spawn a process-backed agent and subscribes to ephemeral trace events for streaming.\n */\nexport class AiChatProcessor {\n readonly #registry: Registry.Registry;\n\n /** Pending messages (finalized, non-streaming). */\n readonly #pending = Atom.make<Message.Message[]>([]);\n\n /** Currently streaming messages (from ephemeral trace events). */\n readonly #streaming = Atom.make<Message.Message[]>([]);\n\n /** Set of message IDs that have been finalized (non-pending delivered via ephemeral). */\n readonly #finalizedIds = new Set<string>();\n\n /** Currently active request fiber. */\n #requestFiber: Fiber.RuntimeFiber<void, unknown> | undefined;\n\n /** Last request (for retries). */\n #lastRequest: AiRequest | undefined;\n\n /** Streaming state. */\n public readonly streaming = Atom.make<boolean>((get) => get(this.#streaming).length > 0);\n\n /** Active state. */\n public readonly active = Atom.make(false);\n\n /** Array of Messages (incl. the current message being streamed). */\n public readonly messages = Atom.make<Message.Message[]>((get) => [...get(this.#pending), ...get(this.#streaming)]);\n\n /** Last error. */\n public readonly error = Atom.make<Option.Option<Error>>(Option.none());\n\n /**\n * MCP server connection errors observed during the most recent request.\n * Misconfigured/unreachable servers are dropped from the toolkit so the chat\n * keeps working; the entries here let the UI display which servers failed.\n */\n public readonly mcpErrors = Atom.make<readonly Trace.PayloadType<typeof McpServerError>[]>([]);\n\n constructor(\n private readonly _conversation: AiSession,\n private readonly _runtime: AutomationCapabilities.ComputeRuntime,\n private readonly _feed: Feed.Feed,\n private readonly _options: AiChatProcessorOptions = defaultOptions,\n ) {\n this.#registry = this._options.observableRegistry ?? Registry.make();\n if (this._options.model && !this._options.system) {\n const capabilities = this._options.modelRegistry?.getCapabilities(this._options.model) ?? {};\n this._options.system = createSystemPrompt(capabilities);\n }\n }\n\n get context() {\n return this._conversation.context;\n }\n\n get conversation() {\n return this._conversation;\n }\n\n get blueprintRegistry() {\n return this._options.blueprintRegistry;\n }\n\n get system(): string {\n return this._options.system ?? '';\n }\n\n async getTools(): Promise<Record<string, any>> {\n return this._runtime.runPromise(Effect.provide(this._conversation.getTools(), ToolExecutionServices));\n }\n\n async getSystemPrompt(): Promise<string> {\n return this._runtime.runPromise(\n Effect.gen(this, function* () {\n const blueprints = this.context.getBlueprints();\n const objects = this.context.getObjects();\n return yield* formatSystemPrompt({ system: this._options.system, blueprints, objects });\n }).pipe(Effect.provideService(AiContextService, { binder: this.context }), Effect.orDie),\n );\n }\n\n /**\n * Initiates a new request via AgentService.\n */\n async request(requestProp: AiRequest): Promise<void> {\n if (this.#requestFiber) {\n await this.cancel();\n }\n\n try {\n this.#lastRequest = requestProp;\n this.#registry.set(this.error, Option.none());\n this.#registry.set(this.mcpErrors, []);\n this.#registry.set(this.active, true);\n\n const effect = Effect.gen(this, function* () {\n // NOTE: Gets or creates a session for the feed.\n log.info('init agent session', { feed: Obj.getDXN(this._feed).toString(), model: this._options.model });\n const session = yield* AgentService.getSession(this._feed, { model: this._options.model });\n const ephemeralStream = session.subscribeEphemeral();\n yield* ephemeralStream.pipe(\n Stream.runForEach((message) =>\n Effect.sync(() => {\n for (const event of message.events) {\n if (Trace.isOfType(PartialBlock, event)) {\n this.#handleEphemeralMessage(event.data);\n } else if (Trace.isOfType(McpServerError, event)) {\n this.#handleMcpError(event.data);\n }\n }\n }),\n ),\n Effect.fork,\n );\n\n log('chat processor submitting prompt', { length: requestProp.message.length });\n yield* session.submitPrompt(requestProp.message);\n log('chat processor submitPrompt returned, waiting for agent', {});\n yield* session.waitForCompletion();\n log.info('session complete');\n\n this.#flushStreaming();\n\n yield* this.#maybeUpdateChatName();\n });\n\n this.#requestFiber = this._runtime.runFork(effect);\n\n try {\n await this._runtime.runPromise(Fiber.join(this.#requestFiber));\n } catch (err: any) {\n if (err._tag === 'InterruptedException' || err.message?.includes('interrupted')) {\n return;\n }\n throw err;\n }\n\n this.#registry.set(this.error, Option.none());\n this.#lastRequest = undefined;\n this.#requestFiber = undefined;\n } catch (err) {\n log.error('request failed', { error: err });\n this.#registry.set(this.error, Option.some(new Error('AI service error', { cause: err })));\n } finally {\n log.info('setting active to false');\n this.#registry.set(this.active, false);\n this.#requestFiber = undefined;\n }\n }\n\n /**\n * Cancels the current request.\n */\n async cancel(): Promise<void> {\n await runAndForwardErrors(\n Effect.gen(this, function* () {\n if (this.#requestFiber) {\n yield* Fiber.interrupt(this.#requestFiber);\n }\n }),\n );\n\n this.#requestFiber = undefined;\n this.#registry.set(this.active, false);\n }\n\n /**\n * Retry last failed request.\n */\n async retry(): Promise<void> {\n if (this.#lastRequest) {\n return this.request(this.#lastRequest);\n }\n }\n\n /**\n * Clears the recorded MCP server errors (e.g. after the user dismisses the warning banner).\n */\n dismissMcpErrors(): void {\n this.#registry.set(this.mcpErrors, []);\n }\n\n /**\n * Update the current chat's name.\n */\n async updateName(chat: Chat.Chat): Promise<void> {\n unwrapExit(await this._runtime.runPromiseExit(Operation.invoke(UpdateChatName, { chat })));\n }\n\n /**\n * Handles an ephemeral message from the agent process.\n * Both pending and completed blocks arrive here. Completed blocks are deduped\n * against messages already written to the feed queue to handle the race between\n * ephemeral delivery and feed replication.\n */\n #handleEphemeralMessage(event: Trace.PayloadType<typeof PartialBlock>) {\n const isPending = event.block.pending;\n const message = Obj.make(Message.Message, {\n id: event.messageId,\n created: new Date().toISOString(),\n sender: { role: event.role },\n blocks: [event.block],\n });\n\n if (isPending) {\n if (this.#finalizedIds.has(event.messageId)) {\n return;\n }\n this.#registry.update(this.#streaming, (streaming) => {\n const idx = streaming.findIndex((existing) => existing.id === event.messageId);\n if (idx >= 0) {\n const updated = [...streaming];\n updated[idx] = message;\n return updated;\n }\n return [...streaming, message];\n });\n } else {\n this.#finalizedIds.add(event.messageId);\n this.#registry.update(this.#streaming, (streaming) => streaming.filter((existing) => existing.id !== message.id));\n this.#registry.update(this.#pending, (pending) => {\n if (pending.some((existing) => existing.id === message.id)) {\n return pending;\n }\n return [...pending, message];\n });\n }\n }\n\n /**\n * Records a per-server MCP failure, deduped by url+protocol so repeat misconfigurations\n * across turns do not spam the UI.\n */\n #handleMcpError(event: Trace.PayloadType<typeof McpServerError>) {\n log.warn('MCP server error', event);\n this.#registry.update(this.mcpErrors, (errors) => {\n if (errors.some((existing) => existing.url === event.url && existing.protocol === event.protocol)) {\n return errors;\n }\n return [...errors, event];\n });\n }\n\n /**\n * Move remaining streaming messages to pending (called when agent completes).\n */\n #flushStreaming() {\n const remaining = this.#registry.get(this.#streaming);\n if (remaining.length > 0) {\n this.#registry.update(this.#pending, (pending) => [...pending, ...remaining]);\n this.#registry.set(this.#streaming, []);\n }\n this.#finalizedIds.clear();\n }\n\n /**\n * Conditionally schedule chat name update in detached fork mode.\n * Updates if chat has no name OR based on random chance (default 10%).\n */\n #maybeUpdateChatName(): Effect.Effect<void, never, Operation.Service> {\n const chat = this._options.chat?.target;\n if (!chat) {\n return Effect.void;\n }\n\n const chance = this._options.autoUpdateNameChance ?? defaultOptions.autoUpdateNameChance ?? 0.1;\n const shouldUpdate = !chat.name || Math.random() < chance;\n if (!shouldUpdate) {\n return Effect.void;\n }\n\n // TODO(dmaretskyi): Operation.schedule didn't work.\n log.info('scheduling chat name update', { hasName: !!chat.name, chance });\n return Operation.schedule(UpdateChatName, { chat });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { getPersonalSpace } from '@dxos/app-toolkit';\nimport { type Key } from '@dxos/echo';\nimport { AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { useClient } from '@dxos/react-client';\n\nexport type UseChatServicesProps = {\n id?: Key.SpaceId;\n};\n\n/**\n * Resolves the compute runtime for a space.\n */\nexport const useChatServices = ({ id }: UseChatServicesProps) => {\n const client = useClient();\n id ??= getPersonalSpace(client)?.id;\n\n const runtimeResolver = useCapability(AutomationCapabilities.ComputeRuntime);\n return useMemo(() => (!id ? undefined : runtimeResolver.getRuntime(id)), [id]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport { useMemo } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { MenuBuilder, useMenuActions } from '@dxos/react-ui-menu';\n\nimport { useChatContext } from '#components';\nimport { meta } from '#meta';\nimport { AssistantOperation } from '#operations';\n\nexport type ChatToolbarActionsProps = {\n chat?: Chat.Chat;\n companionTo?: Obj.Unknown;\n};\n\nexport const useChatToolbarActions = ({ chat, companionTo }: ChatToolbarActionsProps) => {\n const { invoke } = useOperationInvoker();\n const { db } = useChatContext('useChatToolbarActions');\n const query = companionTo\n ? Query.select(Filter.id(companionTo.id)).targetOf(Chat.CompanionTo).source()\n : Query.select(Filter.nothing());\n\n // TODO(wittjosiah): Query in react vs query in atom?\n const chats = useQuery(db, query);\n\n // Create stable reference for dependency array to avoid circular reference issues.\n return useMenuActions(\n useMemo(() => {\n return Atom.make(() => {\n const builder = MenuBuilder.make()\n .root({\n label: ['chat-toolbar.title', { ns: meta.id }],\n })\n .action(\n 'new',\n {\n label: ['new-thread.button', { ns: meta.id }],\n icon: 'ph--plus--regular',\n type: 'new',\n disabled: !companionTo,\n },\n () => {\n invariant(companionTo);\n return invoke(AssistantOperation.SetCurrentChat, {\n companionTo,\n chat: undefined,\n }).pipe(runAndForwardErrors);\n },\n )\n .action(\n 'rename',\n {\n label: ['rename-thread.button', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n type: 'rename',\n disabled: !chat,\n },\n () =>\n Effect.gen(function* () {\n invariant(chat);\n yield* invoke(AssistantOperation.UpdateChatName, { chat });\n }).pipe(runAndForwardErrors),\n )\n .action(\n 'branch',\n {\n label: ['branch-thread.menu', { ns: meta.id }],\n icon: 'ph--git-branch--regular',\n type: 'branch',\n disabled: true,\n },\n () => {},\n );\n\n if (chats.length > 0) {\n builder.group(\n 'chats',\n {\n label: ['chat-history.label', { ns: meta.id }],\n icon: 'ph--clock-counter-clockwise--regular',\n selectCardinality: 'single',\n variant: 'dropdownMenu',\n },\n (builder) => {\n chats\n // TODO(wittjosiah): This should be the default sort order.\n .toSorted((a, b) => a.id.localeCompare(b.id))\n .forEach((chat) => {\n builder.action(\n chat.id,\n {\n label: Obj.getLabel(chat) ?? ['object-name.placeholder', { ns: Chat.Chat.typename }],\n },\n () =>\n Effect.gen(function* () {\n invariant(companionTo);\n yield* invoke(AssistantOperation.SetCurrentChat, {\n companionTo,\n chat,\n });\n }).pipe(runAndForwardErrors),\n );\n });\n },\n );\n }\n\n return builder.build();\n });\n }, [chats.length, db?.spaceId, companionTo?.id, chat?.id, invoke]),\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Registry, RegistryContext } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport { useContext, useState } from 'react';\n\nimport { AiContextBinder } from '@dxos/assistant';\nimport { Feed } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-db';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nexport const useContextBinder = (\n space: Space | undefined,\n feed: Feed.Feed | undefined,\n): AiContextBinder | undefined => {\n const registry = useContext(RegistryContext) as Registry.Registry;\n const [binder, setBinder] = useState<AiContextBinder>();\n\n useAsyncEffect(async () => {\n setBinder(undefined);\n if (!space || !feed) {\n return;\n }\n\n const feedServiceLayer = createFeedServiceLayer(space.queues);\n const runtime = await runAndForwardErrors(\n Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer)),\n );\n const binder = new AiContextBinder({ feed, runtime, registry });\n await binder.open();\n setBinder(binder);\n\n return () => {\n void binder.close();\n };\n }, [space, feed]);\n\n return binder;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport { useCallback } from 'react';\n\nimport { type AiContextBinder } from '@dxos/assistant';\nimport { type DXN, type Database, type Obj } from '@dxos/echo';\n\nexport type UseContextObjectsProps = {\n db?: Database.Database;\n context?: AiContextBinder;\n};\n\nexport type UseContextObjects = {\n objects: Obj.Unknown[];\n onUpdateObject: (dxn: DXN, checked: boolean) => Promise<void>;\n};\n\nconst emptyObjectsAtom = Atom.make<Obj.Unknown[]>([]);\n\n/**\n * Create reactive map of active object references (by DXN string).\n */\nexport const useContextObjects = ({ db, context }: UseContextObjectsProps): UseContextObjects => {\n const objects = useAtomValue(context?.objects ?? emptyObjectsAtom);\n\n const handleUpdateObject = useCallback<UseContextObjects['onUpdateObject']>(\n async (dxn: DXN, checked: boolean) => {\n if (!db || !context) {\n return;\n }\n\n const ref = db.makeRef<Obj.Unknown>(dxn);\n await ref.load();\n if (checked) {\n await context.bind({ objects: [ref] });\n } else {\n await context.unbind({ objects: [ref] });\n }\n },\n [db, context],\n );\n\n return {\n objects,\n onUpdateObject: handleUpdateObject,\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { trim } from '@dxos/util';\n\nimport { type AiChatProcessor } from '../processor';\n\n/**\n * Returns an async callback that logs the chat's current context, system prompt,\n * and resolved tools to the browser console under a collapsible group.\n * Used by the chat's debug-toggle event handler.\n */\nexport const useDebug = ({ processor }: { processor: AiChatProcessor }) => {\n return useCallback(async () => {\n const objects = processor.context.getObjects();\n const blueprints = processor.context.getBlueprints();\n const system = await processor.getSystemPrompt();\n const tools = (await processor.getTools()) ?? {};\n console.group('Chat', { objects, blueprints });\n try {\n console.log(trim`\n System Prompt:\n ${system}\n `);\n console.log(trim`\n Tools:\n ${Object.values(tools)\n .map((tool) => JSON.stringify(tool, null, 2))\n .join('\\n')}\n `);\n } finally {\n console.groupEnd();\n }\n }, [processor]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { type Database, type Type } from '@dxos/echo';\nimport { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';\n\n// TODO(burdon): Pass in filter.\n// TODO(wittjosiah): Factor out.\nexport const useFilteredTypes = (db?: Database.Database): Type.AnyEntity[] => {\n const [types, setTypes] = useState<Type.AnyEntity[]>([]);\n useEffect(() => {\n if (!db) {\n return;\n }\n\n return db.schemaRegistry.query({ location: ['database', 'runtime'] }).subscribe(\n (query) => {\n const types = Array.from(\n new Set(\n query.results\n .filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)\n .filter((schema) => !SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false))),\n ),\n );\n\n setTypes(types);\n },\n { fire: true },\n );\n }, [db]);\n\n return types;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useRef, useState } from 'react';\n\nimport { type Space } from '@dxos/client/echo';\n\nexport const useFlush = (space?: Space) => {\n const [state, setState] = useState<'idle' | 'flushing' | 'flushed'>('idle');\n const resetTimer = useRef<NodeJS.Timeout | null>(null);\n\n const handleFlush = useCallback(() => {\n if (!space) {\n return;\n }\n\n queueMicrotask(async () => {\n if (resetTimer.current) {\n clearTimeout(resetTimer.current);\n }\n\n setState('flushing');\n await space.db.flush();\n setState('flushed');\n\n resetTimer.current = setTimeout(() => {\n setState('idle');\n resetTimer.current = null;\n }, 1_000);\n });\n }, [space]);\n\n return { state, handleFlush };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Dispatch, type SetStateAction, useState } from 'react';\n\nexport const useOnline = (): [boolean, Dispatch<SetStateAction<boolean>>] => {\n const [online, setOnline] = useState(true);\n return [online, setOnline];\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { type ChatPromptProps } from '#components';\n\nimport { type AiServicePreset, AiServicePresets } from '../processor';\n\nexport type UsePresets = {\n preset: AiServicePreset | undefined;\n} & Pick<ChatPromptProps, 'presets' | 'onPresetChange'>;\n\nexport const usePresets = (online: boolean): UsePresets => {\n // TODO(burdon): Memo preset for provider.\n const [preset, setPreset] = useState<AiServicePreset>();\n const presets = useMemo(\n () => AiServicePresets.filter((preset) => online === (preset.provider === 'dxos-remote')),\n [online],\n );\n const presetOptions = useMemo(\n () => presets.map(({ id, model, label }) => ({ id, label: label ?? model })),\n [presets],\n );\n useEffect(() => {\n setPreset(presets[0]);\n }, [presets]);\n\n const handlePresetChange = useCallback<NonNullable<ChatPromptProps['onPresetChange']>>(\n (id) => {\n const preset = presets.find((preset) => preset.id === id);\n if (preset) {\n setPreset(preset);\n }\n },\n [presets],\n );\n\n return {\n preset: preset,\n presets: presetOptions,\n onPresetChange: handlePresetChange,\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { type Space } from '@dxos/client/echo';\nimport { Filter, Obj } from '@dxos/echo';\nimport { type ReferencesProvider } from '@dxos/react-ui-chat';\n\n/**\n * Resolve references to objects in the space.\n */\nexport const useReferencesProvider = (space?: Space): ReferencesProvider | undefined => {\n return useMemo<ReferencesProvider | undefined>((): ReferencesProvider | undefined => {\n if (!space) {\n return undefined;\n }\n\n return {\n getReferences: async ({ query }) => {\n // TODO(burdon): Previously we filtered by types declared by the artifact definitions.\n // const schemas = blueprints.map((blueprint) => blueprint.schema).flat();\n // const objects = await space.db\n // .query(Filter.or(...schemas.map((schema) => Filter.type(schema as Type.Schema))))\n // .run();\n\n const objects = await space.db.query(Filter.everything()).run();\n\n return (\n objects\n // TODO(burdon): Remove cast ??? (+ two instances below).\n // .map((object) => {\n // log.info('object', { object, label: Obj.getLabel(object as any) });\n // return object;\n // })\n .filter((object) => stringMatch(query, Obj.getLabel(object as any) ?? ''))\n // TODO(dmaretskyi): `Type.getDXN` (at the point of writing) didn't work here as it was schema-only.\n .filter((object) => !!Obj.getDXN(object as Obj.Unknown))\n .map((object) => ({\n uri: Obj.getDXN(object as any).toString(),\n label: Obj.getLabel(object as any) ?? '',\n }))\n );\n },\n resolveReference: async ({ uri }) => {\n const object = await space.db.query(Filter.id(uri)).first();\n return { uri, label: Obj.getLabel(object) ?? '' };\n },\n } satisfies ReferencesProvider;\n }, [space]);\n};\n\nconst stringMatch = (query: string, label: string) => label.toLowerCase().startsWith(query.toLowerCase());\n"],
5
+ "mappings": "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",
6
+ "names": ["useCallback", "useEffect", "useMemo", "useState", "useCapabilities", "AppCapabilities", "Blueprint", "Filter", "Obj", "Ref", "useQuery", "distinctBy", "useBlueprintRegistry", "blueprintDefinitions", "BlueprintDefinition", "Registry", "map", "blueprint", "make", "useBlueprints", "blueprintRegistry", "db", "staticBlueprints", "query", "spaceBlueprints", "type", "blueprints", "b", "key", "sort", "name", "a", "localeCompare", "useActiveBlueprints", "context", "active", "setActive", "Map", "updateActive", "getBlueprints", "subscribeBlueprints", "useBlueprintHandlers", "onUpdateBlueprint", "checked", "objects", "run", "storedBlueprint", "find", "getByKey", "add", "clone", "bind", "unbind", "Prec", "keymap", "useMemo", "isTruthy", "useChatKeymapExtensions", "event", "highest", "of", "key", "preventDefault", "run", "emit", "type", "shift", "filter", "RegistryContext", "Effect", "useContext", "useMemo", "useState", "AiSession", "Ref", "createFeedServiceLayer", "runAndForwardErrors", "log", "useAsyncEffect", "Schema", "ModelProviders", "ModelProvider", "Literal", "createModelLabel", "model", "parts", "split", "length", "AiServicePresets", "provider", "map", "i", "id", "label", "Atom", "Registry", "Effect", "Fiber", "Option", "Stream", "DEFAULT_EDGE_MODEL", "AiContextService", "createSystemPrompt", "formatSystemPrompt", "McpServerError", "PartialBlock", "ToolExecutionServices", "Trace", "Operation", "Obj", "runAndForwardErrors", "unwrapExit", "AgentService", "log", "Message", "defaultOptions", "autoUpdateNameChance", "Atom", "make", "messages", "error", "_conversation", "_runtime", "_feed", "_options", "capabilities", "getCapabilities", "system", "createSystemPrompt", "context", "conversation", "blueprintRegistry", "getTools", "getSystemPrompt", "blueprints", "objects", "getObjects", "formatSystemPrompt", "Effect", "binder", "orDie", "set", "active", "gen", "log", "model", "Obj", "session", "AgentService", "ephemeralStream", "event", "message", "isOfType", "PartialBlock", "McpServerError", "data", "length", "requestProp", "submitPrompt", "waitForCompletion", "info", "runFork", "runPromise", "Fiber", "join", "err", "_tag", "includes", "undefined", "chat", "Message", "id", "messageId", "created", "Date", "toISOString", "sender", "role", "blocks", "isPending", "updated", "streaming", "update", "pending", "existing", "errors", "protocol", "remaining", "clear", "void", "shouldUpdate", "chance", "__dxlog_file", "session", "useState", "useAsyncEffect", "space", "AiSession", "feed", "feedTarget", "runtime", "registry", "open", "setSession", "close", "chat", "undefined", "model", "settings", "observableRegistry", "blueprintRegistry", "preset", "useMemo", "useCapability", "getPersonalSpace", "AutomationCapabilities", "useClient", "useChatServices", "id", "client", "runtimeResolver", "ComputeRuntime", "undefined", "getRuntime", "Atom", "Effect", "useMemo", "useOperationInvoker", "Chat", "Filter", "Obj", "Query", "runAndForwardErrors", "invariant", "useQuery", "MenuBuilder", "useMenuActions", "useChatContext", "meta", "AssistantOperation", "__dxlog_file", "useChatToolbarActions", "db", "query", "companionTo", "select", "chats", "builder", "label", "action", "icon", "type", "disabled", "chat", "undefined", "pipe", "invoke", "length", "selectCardinality", "variant", "getLabel", "RegistryContext", "Effect", "useContext", "useState", "AiContextBinder", "createFeedServiceLayer", "runAndForwardErrors", "useAsyncEffect", "useContextBinder", "space", "feed", "registry", "binder", "setBinder", "undefined", "feedServiceLayer", "queues", "runtime", "pipe", "provide", "open", "close", "Atom", "useAtomValue", "useCallback", "emptyObjectsAtom", "make", "useContextObjects", "db", "context", "objects", "handleUpdateObject", "dxn", "checked", "ref", "makeRef", "load", "bind", "unbind", "onUpdateObject", "useCallback", "trim", "useDebug", "processor", "objects", "context", "getObjects", "blueprints", "getBlueprints", "system", "getSystemPrompt", "tools", "getTools", "console", "group", "log", "Object", "values", "map", "tool", "JSON", "stringify", "join", "groupEnd", "Option", "useEffect", "useState", "EntityKind", "SystemTypeAnnotation", "getTypeAnnotation", "useFilteredTypes", "db", "types", "setTypes", "schemaRegistry", "query", "location", "subscribe", "Array", "from", "Set", "results", "filter", "schema", "kind", "Relation", "get", "pipe", "getOrElse", "fire", "useCallback", "useRef", "useState", "useFlush", "space", "state", "setState", "resetTimer", "handleFlush", "queueMicrotask", "current", "clearTimeout", "db", "flush", "setTimeout", "useState", "useOnline", "online", "setOnline", "useCallback", "useEffect", "useMemo", "useState", "usePresets", "online", "preset", "setPreset", "useState", "presets", "useMemo", "AiServicePresets", "filter", "provider", "presetOptions", "map", "id", "model", "label", "useEffect", "handlePresetChange", "useCallback", "find", "onPresetChange", "useMemo", "Filter", "Obj", "useReferencesProvider", "space", "undefined", "getReferences", "query", "objects", "db", "everything", "run", "filter", "object", "stringMatch", "getLabel", "getDXN", "map", "uri", "toString", "label", "resolveReference", "id", "first", "toLowerCase", "startsWith"]
7
+ }
@@ -0,0 +1,73 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/cli/plugin.ts
4
+ import { ActivationEvents, Plugin } from "@dxos/app-framework";
5
+ import { AppPlugin } from "@dxos/app-toolkit";
6
+ import { ContextBinding } from "@dxos/assistant";
7
+ import { Agent, Chat, McpServer, Memory, Plan } from "@dxos/assistant-toolkit";
8
+ import { Blueprint, Routine } from "@dxos/compute";
9
+ import { Sequence } from "@dxos/conductor";
10
+ import { Feed } from "@dxos/echo";
11
+ import { ClientEvents } from "@dxos/plugin-client/types";
12
+ import { Text } from "@dxos/schema";
13
+ import { HasSubject, Message } from "@dxos/types";
14
+ import { AiService, BlueprintDefinition, EdgeModelResolver, LocalModelResolver, Migrations, OperationHandler, Toolkit } from "#capabilities";
15
+ import { meta } from "#meta";
16
+ import { AssistantEvents } from "#types";
17
+ var AssistantPlugin = Plugin.define(meta).pipe(
18
+ // Headless plugin has no ReactSurface; full Assistant fires SetupArtifactDefinition from the surface module.
19
+ // Activate blueprint definitions on Startup so AgentHandlers (and other blueprint ops) register in CLI/tests.
20
+ AppPlugin.addBlueprintDefinitionModule({
21
+ activate: BlueprintDefinition,
22
+ activatesOn: ActivationEvents.Startup
23
+ }),
24
+ AppPlugin.addOperationHandlerModule({
25
+ activate: OperationHandler
26
+ }),
27
+ AppPlugin.addSchemaModule({
28
+ schema: [
29
+ Chat.Chat,
30
+ Chat.CompanionTo,
31
+ Blueprint.Blueprint,
32
+ ContextBinding,
33
+ Feed.Feed,
34
+ HasSubject.HasSubject,
35
+ Message.Message,
36
+ Routine.Routine,
37
+ Agent.Agent,
38
+ McpServer.McpServer,
39
+ Plan.Plan,
40
+ Sequence,
41
+ Memory.Memory,
42
+ Text.Text
43
+ ]
44
+ }),
45
+ Plugin.addModule({
46
+ activatesOn: AssistantEvents.SetupAiServiceProviders,
47
+ activate: EdgeModelResolver
48
+ }),
49
+ Plugin.addModule({
50
+ activatesOn: AssistantEvents.SetupAiServiceProviders,
51
+ activate: LocalModelResolver
52
+ }),
53
+ Plugin.addModule({
54
+ firesBeforeActivation: [
55
+ AssistantEvents.SetupAiServiceProviders
56
+ ],
57
+ activatesOn: ActivationEvents.Startup,
58
+ activate: AiService
59
+ }),
60
+ Plugin.addModule({
61
+ activatesOn: ActivationEvents.Startup,
62
+ activate: Toolkit
63
+ }),
64
+ Plugin.addModule({
65
+ activatesOn: ClientEvents.SetupMigration,
66
+ activate: Migrations
67
+ }),
68
+ Plugin.make
69
+ );
70
+ export {
71
+ AssistantPlugin
72
+ };
73
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { ActivationEvents, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { ContextBinding } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { ClientEvents } from '@dxos/plugin-client/types';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport {\n AiService,\n BlueprintDefinition,\n EdgeModelResolver,\n LocalModelResolver,\n Migrations,\n OperationHandler,\n Toolkit,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { AssistantEvents } from '#types';\n\n/**\n * Headless variant of `AssistantPlugin` for Node-only contexts (CLI, tests).\n * Omits modules that depend on browser globals or the React/UI stack:\n * translations, ReactSurface, MarkdownExtension, AppGraphBuilder, Settings,\n * AssistantState, CompanionChatProvisioner, metadata (`createObject` hooks),\n * and the `on-space-created` hook.\n */\nexport const AssistantPlugin = Plugin.define(meta).pipe(\n // Headless plugin has no ReactSurface; full Assistant fires SetupArtifactDefinition from the surface module.\n // Activate blueprint definitions on Startup so AgentHandlers (and other blueprint ops) register in CLI/tests.\n AppPlugin.addBlueprintDefinitionModule({\n activate: BlueprintDefinition,\n activatesOn: ActivationEvents.Startup,\n }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Blueprint.Blueprint,\n ContextBinding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Routine.Routine,\n Agent.Agent,\n McpServer.McpServer,\n Plan.Plan,\n Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: EdgeModelResolver,\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: LocalModelResolver,\n }),\n Plugin.addModule({\n firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],\n activatesOn: ActivationEvents.Startup,\n activate: AiService,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.SetupMigration,\n activate: Migrations,\n }),\n Plugin.make,\n);\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkBC,cAAc;AACzC,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,OAAOC,MAAMC,WAAWC,QAAQC,YAAY;AACrD,SAASC,WAAWC,eAAe;AACnC,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,YAAYC,eAAe;AAEpC,SACEC,WACAC,qBACAC,mBACAC,oBACAC,YACAC,kBACAC,eACK;AACP,SAASC,YAAY;AACrB,SAASC,uBAAuB;AASzB,IAAMC,kBAAkBzB,OAAO0B,OAAOH,IAAAA,EAAMI;;;EAGjD1B,UAAU2B,6BAA6B;IACrCC,UAAUZ;IACVa,aAAa/B,iBAAiBgC;EAChC,CAAA;EACA9B,UAAU+B,0BAA0B;IAAEH,UAAUR;EAAiB,CAAA;EACjEpB,UAAUgC,gBAAgB;IACxBC,QAAQ;MACN9B,KAAKA;MACLA,KAAK+B;MACL3B,UAAUA;MACVN;MACAS,KAAKA;MACLG,WAAWA;MACXC,QAAQA;MACRN,QAAQA;MACRN,MAAMA;MACNE,UAAUA;MACVE,KAAKA;MACLG;MACAJ,OAAOA;MACPO,KAAKA;;EAET,CAAA;EACAb,OAAOoC,UAAU;IACfN,aAAaN,gBAAgBa;IAC7BR,UAAUX;EACZ,CAAA;EACAlB,OAAOoC,UAAU;IACfN,aAAaN,gBAAgBa;IAC7BR,UAAUV;EACZ,CAAA;EACAnB,OAAOoC,UAAU;IACfE,uBAAuB;MAACd,gBAAgBa;;IACxCP,aAAa/B,iBAAiBgC;IAC9BF,UAAUb;EACZ,CAAA;EACAhB,OAAOoC,UAAU;IACfN,aAAa/B,iBAAiBgC;IAC9BF,UAAUP;EACZ,CAAA;EACAtB,OAAOoC,UAAU;IACfN,aAAalB,aAAa2B;IAC1BV,UAAUT;EACZ,CAAA;EACApB,OAAOwC;AAAI;",
6
+ "names": ["ActivationEvents", "Plugin", "AppPlugin", "ContextBinding", "Agent", "Chat", "McpServer", "Memory", "Plan", "Blueprint", "Routine", "Sequence", "Feed", "ClientEvents", "Text", "HasSubject", "Message", "AiService", "BlueprintDefinition", "EdgeModelResolver", "LocalModelResolver", "Migrations", "OperationHandler", "Toolkit", "meta", "AssistantEvents", "AssistantPlugin", "define", "pipe", "addBlueprintDefinitionModule", "activate", "activatesOn", "Startup", "addOperationHandlerModule", "addSchemaModule", "schema", "CompanionTo", "addModule", "SetupAiServiceProviders", "firesBeforeActivation", "SetupMigration", "make"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import {
2
+ AssistantSettings,
3
+ Chat,
4
+ ProcessTree,
5
+ TemplateEditor,
6
+ Toolbox,
7
+ ToolboxPanel,
8
+ useChatContext
9
+ } from "../chunk-RSLHZTJH.mjs";
10
+ import "../chunk-J5LGTIGS.mjs";
11
+ export {
12
+ AssistantSettings,
13
+ Chat,
14
+ ProcessTree,
15
+ TemplateEditor,
16
+ Toolbox,
17
+ ToolboxPanel,
18
+ useChatContext
19
+ };
20
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,73 @@
1
+ import {
2
+ CreateChat
3
+ } from "./chunk-DVOOFAWU.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/operations/create-chat.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capabilities, Capability } from "@dxos/app-framework";
9
+ import { AiContextBinder } from "@dxos/assistant";
10
+ import { Chat, DatabaseBlueprint, AgentWizardBlueprint } from "@dxos/assistant-toolkit";
11
+ import { Blueprint, Operation } from "@dxos/compute";
12
+ import { Feed, Filter, Obj, Ref } from "@dxos/echo";
13
+ import { createFeedServiceLayer } from "@dxos/echo-db";
14
+ import { invariant } from "@dxos/invariant";
15
+ import { ClientCapabilities } from "@dxos/plugin-client/types";
16
+ import { AssistantBlueprint } from "#blueprints";
17
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/operations/create-chat.ts";
18
+ var handler = CreateChat.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ db, name, addToSpace = true }) {
19
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
20
+ const client = yield* Capability.get(ClientCapabilities.Client);
21
+ const space = client.spaces.get(db.spaceId);
22
+ invariant(space, "Space not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 19, S: this, A: ["space", "'Space not found'"] });
23
+ const feed = space.db.add(Feed.make());
24
+ const chat = Chat.make({
25
+ name,
26
+ feed: Ref.make(feed)
27
+ });
28
+ Obj.setParent(feed, chat);
29
+ if (addToSpace) {
30
+ space.db.add(chat);
31
+ }
32
+ const blueprints = yield* Effect.promise(() => db.query(Filter.type(Blueprint.Blueprint)).run());
33
+ let defaultAssistantBlueprint = blueprints.find((blueprint) => blueprint.key === AssistantBlueprint.key);
34
+ if (!defaultAssistantBlueprint) {
35
+ defaultAssistantBlueprint = db.add(AssistantBlueprint.make());
36
+ }
37
+ let defaultDatabaseBlueprint = blueprints.find((blueprint) => blueprint.key === DatabaseBlueprint.key);
38
+ if (!defaultDatabaseBlueprint) {
39
+ defaultDatabaseBlueprint = db.add(DatabaseBlueprint.make());
40
+ }
41
+ let defaultAgentWizardBlueprint = blueprints.find((blueprint) => blueprint.key === AgentWizardBlueprint.key);
42
+ if (!defaultAgentWizardBlueprint) {
43
+ defaultAgentWizardBlueprint = db.add(AgentWizardBlueprint.make());
44
+ }
45
+ const { BlueprintManagerBlueprint } = yield* Effect.promise(() => import("@dxos/assistant-toolkit"));
46
+ let defaultBlueprintManagerBlueprint = blueprints.find((blueprint) => blueprint.key === BlueprintManagerBlueprint.key);
47
+ if (!defaultBlueprintManagerBlueprint) {
48
+ defaultBlueprintManagerBlueprint = db.add(BlueprintManagerBlueprint.make());
49
+ }
50
+ const feedServiceLayer = createFeedServiceLayer(space.queues);
51
+ const runtime2 = yield* Effect.runtime().pipe(Effect.provide(feedServiceLayer));
52
+ const binder = new AiContextBinder({
53
+ feed,
54
+ runtime: runtime2,
55
+ registry
56
+ });
57
+ yield* Effect.promise(() => binder.use((b) => b.bind({
58
+ blueprints: [
59
+ Ref.make(defaultAssistantBlueprint),
60
+ Ref.make(defaultDatabaseBlueprint),
61
+ Ref.make(defaultAgentWizardBlueprint),
62
+ Ref.make(defaultBlueprintManagerBlueprint)
63
+ ]
64
+ })));
65
+ return {
66
+ object: chat
67
+ };
68
+ })));
69
+ var create_chat_default = handler;
70
+ export {
71
+ create_chat_default as default
72
+ };
73
+ //# sourceMappingURL=create-chat-E2ZLVTLP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-chat.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AiContextBinder } from '@dxos/assistant';\nimport { Chat, DatabaseBlueprint, AgentWizardBlueprint } from '@dxos/assistant-toolkit';\nimport { Blueprint, Operation } from '@dxos/compute';\nimport { Feed, Filter, Obj, Ref } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client/types';\n\nimport { AssistantBlueprint } from '#blueprints';\n\nimport { CreateChat } from './definitions';\n\nconst handler: Operation.WithHandler<typeof CreateChat> = CreateChat.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ db, name, addToSpace = true }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found');\n const feed = space.db.add(Feed.make());\n const chat = Chat.make({ name, feed: Ref.make(feed) });\n Obj.setParent(feed, chat);\n if (addToSpace) {\n space.db.add(chat);\n }\n\n // TODO(wittjosiah): This should be a space-level setting.\n // TODO(burdon): Clone when activated. Copy-on-write for template.\n const blueprints = yield* Effect.promise(() => db.query(Filter.type(Blueprint.Blueprint)).run());\n let defaultAssistantBlueprint = blueprints.find((blueprint) => blueprint.key === AssistantBlueprint.key);\n if (!defaultAssistantBlueprint) {\n defaultAssistantBlueprint = db.add(AssistantBlueprint.make());\n }\n let defaultDatabaseBlueprint = blueprints.find((blueprint) => blueprint.key === DatabaseBlueprint.key);\n if (!defaultDatabaseBlueprint) {\n defaultDatabaseBlueprint = db.add(DatabaseBlueprint.make());\n }\n let defaultAgentWizardBlueprint = blueprints.find((blueprint) => blueprint.key === AgentWizardBlueprint.key);\n if (!defaultAgentWizardBlueprint) {\n defaultAgentWizardBlueprint = db.add(AgentWizardBlueprint.make());\n }\n // Dynamic import to avoid circular dependency with the barrel that also exports BlueprintManagerHandlers.\n const { BlueprintManagerBlueprint } = yield* Effect.promise(() => import('@dxos/assistant-toolkit'));\n let defaultBlueprintManagerBlueprint = blueprints.find(\n (blueprint) => blueprint.key === BlueprintManagerBlueprint.key,\n );\n if (!defaultBlueprintManagerBlueprint) {\n defaultBlueprintManagerBlueprint = db.add(BlueprintManagerBlueprint.make());\n }\n\n const feedServiceLayer = createFeedServiceLayer(space.queues);\n const runtime = yield* Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer));\n const binder = new AiContextBinder({ feed, runtime, registry });\n yield* Effect.promise(() =>\n binder.use((b: AiContextBinder) =>\n b.bind({\n blueprints: [\n Ref.make(defaultAssistantBlueprint!),\n Ref.make(defaultDatabaseBlueprint!),\n Ref.make(defaultAgentWizardBlueprint!),\n Ref.make(defaultBlueprintManagerBlueprint!),\n ],\n }),\n ),\n );\n\n return { object: chat };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,MAAMC,mBAAmBC,4BAA4B;AAC9D,SAASC,WAAWC,iBAAiB;AACrC,SAASC,MAAMC,QAAQC,KAAKC,WAAW;AACvC,SAASC,8BAA8B;AACvC,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AAEnC,SAASC,0BAA0B;AAInC,IAAA,eAA0DC;IAIpD,UAAMC,WAAgBC,KAAAA,UAAeC,YAAmBC,kBAAM,WAAA,EAAA,IAAA,MAAA,aAAA,KAAA,GAAA;AAC9D,QAAMC,WAAQJ,OAAOK,WAAcC,IAAAA,aAAO,YAAA;AAC1CC,QAAAA,SAAUH,OAAO,WAAA,IAAA,mBAAA,MAAA;AACjB,QAAMI,QAAOJ,OAAQ,OAAKK,IAAKC,GAAI,OAAA;AACnC,YAAMC,OAAOC,mBAAU,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,SAAA,mBAAA,EAAA,CAAA;QAAEC,OAAAA,MAAAA,GAAAA,IAAAA,KAAAA,KAAAA,CAAAA;QAAML,OAAMM,KAAQ,KAACN;IAAM;IAChDO,MAAAA,IAAUP,KAAAA,IAAMG;EACpB,CAAA;MACEP,UAASY,MAAIL,IAAAA;AACf,MAAA,YAAA;AAEA,UAAA,GAAA,IAAA,IAAA;EACA;AAGA,QAAKM,aAAAA,OAA2B,eAAA,MAAA,GAAA,MAAA,OAAA,KAAA,UAAA,SAAA,CAAA,EAAA,IAAA,CAAA;MAC9BA,4BAA4BC,WAAOC,KAAAA,CAAAA,cAAmBT,UAAI,QAAA,mBAAA,GAAA;AAC5D,MAAA,CAAA,2BAAA;AACIU,gCAA2BC,GAAAA,IAAAA,mBAAiBC,KAAcA,CAAAA;EAC9D;MACEF,2BAA2BF,WAAOK,KAAAA,CAAAA,cAAsB,UAAA,QAAA,kBAAA,GAAA;AAC1D,MAAA,CAAA,0BAAA;AACIC,+BAAAA,GAA8BH,IAAAA,kBAAiBC,KAAAA,CAAAA;EACnD;MACEE,8BAA8BN,WAAOO,KAAAA,CAAAA,cAAqBf,UAAI,QAAA,qBAAA,GAAA;AAChE,MAAA,CAAA,6BAAA;AACA,kCAAA,GAAA,IAAA,qBAAA,KAAA,CAAA;EACA;AAIA,QAAKgB,EAAAA,0BAAAA,IAAAA,OAAkC,eAAA,MAAA,OAAA,yBAAA,CAAA;MACrCA,mCAAmCR,WAAOS,KAAAA,CAAAA,cAAAA,UAA8B,QAAA,0BAAA,GAAA;AAC1E,MAAA,CAAA,kCAAA;AAEA,uCAAyBC,GAAAA,IAAAA,0BAAmC,KAAA,CAAA;EAC5D;AACA,QAAMC,mBAAaC,uBAAgB,MAAA,MAAA;QAAEtB,WAAAA,OAAAA,eAAAA,EAAAA,KAAAA,eAAAA,gBAAAA,CAAAA;QAAMuB,SAAAA,IAAAA,gBAAAA;IAASC;IAAS,SAAAD;IAC7D;;wBAIYrB,MAAKO,OAAAA,IAAAA,CAAAA,MAAAA,EAAAA,KAAAA;gBACD;MACRH,IAAIJ,KAAKc,yBAAAA;MACTV,IAAIJ,KAAKgB,wBAAAA;MACV,IAAA,KAAA,2BAAA;MACH,IAAA,KAAA,gCAAA;IAIG;EAAEO,CAAAA,CAAAA,CAAAA;AAAa,SAAA;IACxB,QAAA;EAIJ;;;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AiContextBinder", "Chat", "DatabaseBlueprint", "AgentWizardBlueprint", "Blueprint", "Operation", "Feed", "Filter", "Obj", "Ref", "createFeedServiceLayer", "invariant", "ClientCapabilities", "AssistantBlueprint", "CreateChat", "client", "Capability", "ClientCapabilities", "Client", "space", "spaces", "spaceId", "invariant", "feed", "Feed", "make", "chat", "Chat", "name", "Ref", "setParent", "add", "defaultAssistantBlueprint", "db", "AssistantBlueprint", "defaultDatabaseBlueprint", "blueprints", "blueprint", "DatabaseBlueprint", "defaultAgentWizardBlueprint", "AgentWizardBlueprint", "defaultBlueprintManagerBlueprint", "BlueprintManagerBlueprint", "createFeedServiceLayer", "binder", "AiContextBinder", "runtime", "registry", "object"]
7
+ }
@@ -0,0 +1,65 @@
1
+ import {
2
+ AssistantCapabilities
3
+ } from "./chunk-QZERAFAR.mjs";
4
+ import {
5
+ CreateChat,
6
+ EnsureCompanionChat,
7
+ SetCurrentChat
8
+ } from "./chunk-DVOOFAWU.mjs";
9
+ import "./chunk-J5LGTIGS.mjs";
10
+
11
+ // src/operations/ensure-companion-chat.ts
12
+ import * as Effect from "effect/Effect";
13
+ import { Capabilities, Capability } from "@dxos/app-framework";
14
+ import { Chat } from "@dxos/assistant-toolkit";
15
+ import { Operation } from "@dxos/compute";
16
+ import { Filter, Obj, Query } from "@dxos/echo";
17
+ var handler = EnsureCompanionChat.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ db, companionTo }) {
18
+ const operationInvoker = yield* Capability.get(Capabilities.OperationInvoker);
19
+ const companionDxn = Obj.getDXN(companionTo).toString();
20
+ const existingChats = yield* Effect.promise(() => db.query(Query.select(Filter.id(companionTo.id)).targetOf(Chat.CompanionTo).source()).run());
21
+ if (existingChats.length > 0) {
22
+ const chat2 = existingChats.at(-1);
23
+ yield* Capabilities.updateAtomValue(AssistantCapabilities.CompanionChatCache, (current) => ({
24
+ ...current,
25
+ [companionDxn]: chat2
26
+ }));
27
+ yield* Effect.promise(() => operationInvoker.invokePromise(SetCurrentChat, {
28
+ companionTo,
29
+ chat: chat2
30
+ }));
31
+ return {
32
+ chat: chat2,
33
+ persisted: true
34
+ };
35
+ }
36
+ const cache = yield* Capabilities.getAtomValue(AssistantCapabilities.CompanionChatCache);
37
+ const cached = cache[companionDxn];
38
+ if (cached) {
39
+ return {
40
+ chat: cached,
41
+ persisted: false
42
+ };
43
+ }
44
+ const { data } = yield* Effect.promise(() => operationInvoker.invokePromise(CreateChat, {
45
+ db,
46
+ addToSpace: false
47
+ }));
48
+ if (!data?.object) {
49
+ return yield* Effect.fail(new Error("CreateChat did not return a chat object"));
50
+ }
51
+ const chat = data.object;
52
+ yield* Capabilities.updateAtomValue(AssistantCapabilities.CompanionChatCache, (current) => ({
53
+ ...current,
54
+ [companionDxn]: chat
55
+ }));
56
+ return {
57
+ chat,
58
+ persisted: false
59
+ };
60
+ })));
61
+ var ensure_companion_chat_default = handler;
62
+ export {
63
+ ensure_companion_chat_default as default
64
+ };
65
+ //# sourceMappingURL=ensure-companion-chat-5TPMUPUL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/ensure-companion-chat.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Query } from '@dxos/echo';\n\nimport { AssistantCapabilities } from '../types';\nimport { CreateChat, EnsureCompanionChat, SetCurrentChat } from './definitions';\n\nconst handler: Operation.WithHandler<typeof EnsureCompanionChat> = EnsureCompanionChat.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ db, companionTo }) {\n const operationInvoker = yield* Capability.get(Capabilities.OperationInvoker);\n const companionDxn = Obj.getDXN(companionTo).toString();\n\n // 1. Look for an existing persisted companion chat in the space.\n const existingChats = yield* Effect.promise(() =>\n db.query(Query.select(Filter.id(companionTo.id)).targetOf(Chat.CompanionTo).source()).run(),\n );\n if (existingChats.length > 0) {\n const chat = existingChats.at(-1) as Chat.Chat;\n // Cache the persisted chat so the graph connector can resolve it immediately\n // via the cache fallback, without waiting for AtomObj.make(ref) to hydrate.\n yield* Capabilities.updateAtomValue(AssistantCapabilities.CompanionChatCache, (current) => ({\n ...current,\n [companionDxn]: chat,\n }));\n yield* Effect.promise(() => operationInvoker.invokePromise(SetCurrentChat, { companionTo, chat }));\n return { chat, persisted: true };\n }\n\n // 2. Return cached transient chat for this companion if present.\n const cache = yield* Capabilities.getAtomValue(AssistantCapabilities.CompanionChatCache);\n const cached = cache[companionDxn] as Chat.Chat | undefined;\n if (cached) {\n return { chat: cached, persisted: false };\n }\n\n // 3. Create a new transient chat, cache it, and return it without persisting.\n const { data } = yield* Effect.promise(() =>\n operationInvoker.invokePromise(CreateChat, { db, addToSpace: false }),\n );\n if (!data?.object) {\n return yield* Effect.fail(new Error('CreateChat did not return a chat object'));\n }\n const chat = data.object;\n yield* Capabilities.updateAtomValue(AssistantCapabilities.CompanionChatCache, (current) => ({\n ...current,\n [companionDxn]: chat,\n }));\n return { chat, persisted: false };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,KAAKC,aAAa;AAKnC,IAAMC,UAA6DC,oBAAoBC,KACrFC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,IAAIC,YAAW,GAAE;AAC9C,QAAMC,mBAAmB,OAAOC,WAAWC,IAAIC,aAAaC,gBAAgB;AAC5E,QAAMC,eAAeC,IAAIC,OAAOR,WAAAA,EAAaS,SAAQ;AAGrD,QAAMC,gBAAgB,OAAcC,eAAQ,MAC1CZ,GAAGa,MAAMC,MAAMC,OAAOC,OAAOC,GAAGhB,YAAYgB,EAAE,CAAA,EAAGC,SAASC,KAAKC,WAAW,EAAEC,OAAM,CAAA,EAAIC,IAAG,CAAA;AAE3F,MAAIX,cAAcY,SAAS,GAAG;AAC5B,UAAMC,QAAOb,cAAcc,GAAG,EAAC;AAG/B,WAAOpB,aAAaqB,gBAAgBC,sBAAsBC,oBAAoB,CAACC,aAAa;MAC1F,GAAGA;MACH,CAACtB,YAAAA,GAAeiB;IAClB,EAAA;AACA,WAAcZ,eAAQ,MAAMV,iBAAiB4B,cAAcC,gBAAgB;MAAE9B;MAAauB,MAAAA;IAAK,CAAA,CAAA;AAC/F,WAAO;MAAEA,MAAAA;MAAMQ,WAAW;IAAK;EACjC;AAGA,QAAMC,QAAQ,OAAO5B,aAAa6B,aAAaP,sBAAsBC,kBAAkB;AACvF,QAAMO,SAASF,MAAM1B,YAAAA;AACrB,MAAI4B,QAAQ;AACV,WAAO;MAAEX,MAAMW;MAAQH,WAAW;IAAM;EAC1C;AAGA,QAAM,EAAEI,KAAI,IAAK,OAAcxB,eAAQ,MACrCV,iBAAiB4B,cAAcO,YAAY;IAAErC;IAAIsC,YAAY;EAAM,CAAA,CAAA;AAErE,MAAI,CAACF,MAAMG,QAAQ;AACjB,WAAO,OAAcC,YAAK,IAAIC,MAAM,yCAAA,CAAA;EACtC;AACA,QAAMjB,OAAOY,KAAKG;AAClB,SAAOlC,aAAaqB,gBAAgBC,sBAAsBC,oBAAoB,CAACC,aAAa;IAC1F,GAAGA;IACH,CAACtB,YAAAA,GAAeiB;EAClB,EAAA;AACA,SAAO;IAAEA;IAAMQ,WAAW;EAAM;AAClC,CAAA,CAAA,CAAA;AAIJ,IAAA,gCAAetC;",
6
+ "names": ["Effect", "Capabilities", "Capability", "Chat", "Operation", "Filter", "Obj", "Query", "handler", "EnsureCompanionChat", "pipe", "Operation", "withHandler", "fnUntraced", "db", "companionTo", "operationInvoker", "Capability", "get", "Capabilities", "OperationInvoker", "companionDxn", "Obj", "getDXN", "toString", "existingChats", "promise", "query", "Query", "select", "Filter", "id", "targetOf", "Chat", "CompanionTo", "source", "run", "length", "chat", "at", "updateAtomValue", "AssistantCapabilities", "CompanionChatCache", "current", "invokePromise", "SetCurrentChat", "persisted", "cache", "getAtomValue", "cached", "data", "CreateChat", "addToSpace", "object", "fail", "Error"]
7
+ }
@@ -0,0 +1,39 @@
1
+ import {
2
+ useActiveBlueprints,
3
+ useBlueprintHandlers,
4
+ useBlueprintRegistry,
5
+ useBlueprints,
6
+ useChatKeymapExtensions,
7
+ useChatProcessor,
8
+ useChatServices,
9
+ useChatToolbarActions,
10
+ useContextBinder,
11
+ useContextObjects,
12
+ useDebug,
13
+ useFilteredTypes,
14
+ useFlush,
15
+ useOnline,
16
+ usePresets,
17
+ useReferencesProvider
18
+ } from "../chunk-RYVWX6AD.mjs";
19
+ import "../chunk-DVOOFAWU.mjs";
20
+ import "../chunk-J5LGTIGS.mjs";
21
+ export {
22
+ useActiveBlueprints,
23
+ useBlueprintHandlers,
24
+ useBlueprintRegistry,
25
+ useBlueprints,
26
+ useChatKeymapExtensions,
27
+ useChatProcessor,
28
+ useChatServices,
29
+ useChatToolbarActions,
30
+ useContextBinder,
31
+ useContextObjects,
32
+ useDebug,
33
+ useFilteredTypes,
34
+ useFlush,
35
+ useOnline,
36
+ usePresets,
37
+ useReferencesProvider
38
+ };
39
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }