@dxos/plugin-assistant 0.8.4-main.72ec0f3 → 0.8.4-main.765dc60934

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 (745) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/AgentArticle-5XDDEXMP.mjs +169 -0
  4. package/dist/lib/neutral/AgentArticle-5XDDEXMP.mjs.map +7 -0
  5. package/dist/lib/neutral/AgentProperties-CNH4JMDZ.mjs +100 -0
  6. package/dist/lib/neutral/AgentProperties-CNH4JMDZ.mjs.map +7 -0
  7. package/dist/lib/neutral/AssistantPlugin.mjs +10 -0
  8. package/dist/lib/neutral/AssistantPlugin.node.mjs +46 -0
  9. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +7 -0
  10. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +40 -0
  11. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +7 -0
  12. package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs +27 -0
  13. package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs.map +7 -0
  14. package/dist/lib/neutral/ChatArticle-WVAFZPVI.mjs +8 -0
  15. package/dist/lib/neutral/ChatCompanion-DFRMRUK3.mjs +133 -0
  16. package/dist/lib/neutral/ChatCompanion-DFRMRUK3.mjs.map +7 -0
  17. package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs +72 -0
  18. package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs.map +7 -0
  19. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs +28 -0
  20. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +7 -0
  21. package/dist/lib/neutral/RoutineArticle-H7ECM7AH.mjs +116 -0
  22. package/dist/lib/neutral/RoutineArticle-H7ECM7AH.mjs.map +7 -0
  23. package/dist/lib/neutral/RoutineList-CLDXGQUD.mjs +48 -0
  24. package/dist/lib/neutral/RoutineList-CLDXGQUD.mjs.map +7 -0
  25. package/dist/lib/neutral/TracePanel-HYVPDIAA.mjs +565 -0
  26. package/dist/lib/neutral/TracePanel-HYVPDIAA.mjs.map +7 -0
  27. package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs +92 -0
  28. package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs.map +7 -0
  29. package/dist/lib/neutral/ai-service-GJXMI5OI.mjs +22 -0
  30. package/dist/lib/neutral/ai-service-GJXMI5OI.mjs.map +7 -0
  31. package/dist/lib/neutral/app-graph-builder-QNKVSPPG.mjs +187 -0
  32. package/dist/lib/neutral/app-graph-builder-QNKVSPPG.mjs.map +7 -0
  33. package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs +32 -0
  34. package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs.map +7 -0
  35. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  36. package/dist/lib/neutral/capabilities/index.mjs +35 -0
  37. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  38. package/dist/lib/{browser/chunk-WBG5PTSX.mjs → neutral/chunk-4CQZCMRP.mjs} +7 -5
  39. package/dist/lib/neutral/chunk-4CQZCMRP.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-5H6UJHLF.mjs +30 -0
  41. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-CU5S7SGF.mjs +8 -0
  43. package/dist/lib/neutral/chunk-CU5S7SGF.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-ITJX2YZZ.mjs +98 -0
  45. package/dist/lib/neutral/chunk-ITJX2YZZ.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-SLIPV6NN.mjs +106 -0
  47. package/dist/lib/neutral/chunk-SLIPV6NN.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-VHPTYKYD.mjs +361 -0
  49. package/dist/lib/neutral/chunk-VHPTYKYD.mjs.map +7 -0
  50. package/dist/lib/neutral/companion-chat-provisioner-2Y6PRSDK.mjs +116 -0
  51. package/dist/lib/neutral/companion-chat-provisioner-2Y6PRSDK.mjs.map +7 -0
  52. package/dist/lib/neutral/components/index.mjs +2298 -0
  53. package/dist/lib/neutral/components/index.mjs.map +7 -0
  54. package/dist/lib/neutral/containers/index.mjs +29 -0
  55. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  56. package/dist/lib/neutral/create-chat-QQZURUBW.mjs +71 -0
  57. package/dist/lib/neutral/create-chat-QQZURUBW.mjs.map +7 -0
  58. package/dist/lib/neutral/create-object-UZCJCPWM.mjs +93 -0
  59. package/dist/lib/neutral/create-object-UZCJCPWM.mjs.map +7 -0
  60. package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs +21 -0
  61. package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs.map +7 -0
  62. package/dist/lib/neutral/ensure-companion-chat-5S4LZM2H.mjs +58 -0
  63. package/dist/lib/neutral/ensure-companion-chat-5S4LZM2H.mjs.map +7 -0
  64. package/dist/lib/neutral/hooks/index.mjs +927 -0
  65. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  66. package/dist/lib/neutral/index.mjs +32 -0
  67. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
  68. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
  69. package/dist/lib/neutral/markdown-KTBFOMFM.mjs +110 -0
  70. package/dist/lib/neutral/markdown-KTBFOMFM.mjs.map +7 -0
  71. package/dist/lib/neutral/meta.json +1 -0
  72. package/dist/lib/neutral/meta.mjs +12 -0
  73. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
  74. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
  75. package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs +19 -0
  76. package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs.map +7 -0
  77. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
  78. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
  79. package/dist/lib/neutral/operations/index.mjs +8 -0
  80. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  81. package/dist/lib/neutral/plugin.mjs +16 -0
  82. package/dist/lib/neutral/plugin.mjs.map +7 -0
  83. package/dist/lib/neutral/react-surface-T4R65UJU.mjs +174 -0
  84. package/dist/lib/neutral/react-surface-T4R65UJU.mjs.map +7 -0
  85. package/dist/lib/neutral/resolve-navigation-targets-VXBSWV5L.mjs +20 -0
  86. package/dist/lib/neutral/resolve-navigation-targets-VXBSWV5L.mjs.map +7 -0
  87. package/dist/lib/neutral/run-prompt-in-new-chat-VJXXZ6SI.mjs +103 -0
  88. package/dist/lib/neutral/run-prompt-in-new-chat-VJXXZ6SI.mjs.map +7 -0
  89. package/dist/lib/neutral/set-current-chat-ZFDCYK5I.mjs +48 -0
  90. package/dist/lib/neutral/set-current-chat-ZFDCYK5I.mjs.map +7 -0
  91. package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
  92. package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
  93. package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
  94. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
  95. package/dist/lib/neutral/testing.mjs +8 -0
  96. package/dist/lib/neutral/testing.mjs.map +7 -0
  97. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
  98. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
  99. package/dist/lib/neutral/translations.mjs +174 -0
  100. package/dist/lib/neutral/translations.mjs.map +7 -0
  101. package/dist/lib/neutral/types/index.mjs +20 -0
  102. package/dist/lib/neutral/types/index.mjs.map +7 -0
  103. package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs +54 -0
  104. package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs.map +7 -0
  105. package/dist/types/src/AssistantPlugin.d.ts +3 -1
  106. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  107. package/dist/types/src/AssistantPlugin.node.d.ts +4 -0
  108. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  109. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  110. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  112. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  114. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  116. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/index.d.ts +2 -0
  118. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/ai-service.d.ts +4 -2
  120. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  122. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/blueprint-definition.d.ts +4 -6
  124. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  126. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  128. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/edge-model-resolver.d.ts +6 -3
  130. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  131. package/dist/types/src/capabilities/index.d.ts +55 -12
  132. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/local-model-resolver.d.ts +9 -3
  134. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  136. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/migrations.d.ts +6 -0
  138. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  140. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  142. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/settings.d.ts +4 -2
  144. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  145. package/dist/types/src/capabilities/state.d.ts +19 -2
  146. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  147. package/dist/types/src/capabilities/toolkit.d.ts +4 -2
  148. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  149. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  150. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  151. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
  152. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  153. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  154. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  155. package/dist/types/src/components/Chat/Chat.d.ts +42 -43
  156. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  157. package/dist/types/src/components/Chat/context.d.ts +29 -0
  158. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  159. package/dist/types/src/components/Chat/events.d.ts +1 -1
  160. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  161. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -1
  162. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  163. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  164. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  165. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +10 -6
  166. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  167. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
  168. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
  169. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  170. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +28 -0
  171. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  172. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -5
  173. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  174. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  175. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  176. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  177. package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
  178. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  179. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
  180. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
  181. package/dist/types/src/components/ChatThread/ChatThread.d.ts +8 -5
  182. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  183. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +11 -311
  184. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  185. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  186. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +42 -0
  187. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
  188. package/dist/types/src/components/ChatThread/registry.d.ts +19 -1
  189. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  190. package/dist/types/src/components/ChatThread/sync.d.ts +45 -18
  191. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  192. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
  193. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
  194. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
  195. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
  196. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  197. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  198. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  199. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  200. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
  201. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
  202. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  203. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  204. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  205. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  206. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  207. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  208. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +12 -0
  209. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
  210. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  211. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  212. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  213. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  214. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  215. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  216. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
  217. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
  218. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  219. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  220. package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
  221. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  222. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +11 -0
  223. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  224. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +7 -0
  225. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  226. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  227. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  228. package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
  229. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
  230. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
  231. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
  232. package/dist/types/src/components/TaskList/index.d.ts +2 -0
  233. package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
  234. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +6 -5
  235. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  236. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +1 -300
  237. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  238. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +12 -3
  239. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  240. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +2 -301
  241. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  242. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  243. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -1
  244. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +5 -14
  245. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  246. package/dist/types/src/components/Toolbox/Toolbox.d.ts +14 -13
  247. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  248. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +1 -300
  249. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  250. package/dist/types/src/components/index.d.ts +4 -6
  251. package/dist/types/src/components/index.d.ts.map +1 -1
  252. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
  253. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
  254. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +21 -0
  255. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
  256. package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
  257. package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
  258. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
  259. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
  260. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts +16 -0
  261. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  262. package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
  263. package/dist/types/src/containers/AgentProperties/index.d.ts.map +1 -0
  264. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  265. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  266. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  267. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  268. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +12 -0
  269. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -0
  270. package/dist/types/src/containers/ChatArticle/index.d.ts +2 -0
  271. package/dist/types/src/containers/ChatArticle/index.d.ts.map +1 -0
  272. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +18 -0
  273. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  274. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  275. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  276. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  277. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  278. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  279. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  280. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
  281. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
  282. package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
  283. package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
  284. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  285. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  286. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
  287. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
  288. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  289. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  290. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  291. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  292. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +21 -0
  293. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  294. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  295. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  296. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +8 -0
  297. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  298. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +13 -0
  299. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
  300. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  301. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  302. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  303. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  304. package/dist/types/src/containers/TracePanel/execution-graph.d.ts +97 -0
  305. package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +1 -0
  306. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts +2 -0
  307. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts.map +1 -0
  308. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  309. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  310. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  311. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  312. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  313. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  314. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  315. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  316. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +5 -0
  317. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  318. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  319. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  320. package/dist/types/src/containers/index.d.ts +13 -0
  321. package/dist/types/src/containers/index.d.ts.map +1 -0
  322. package/dist/types/src/extensions/index.d.ts +2 -0
  323. package/dist/types/src/extensions/index.d.ts.map +1 -0
  324. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  325. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  326. package/dist/types/src/feed-logger.d.ts +13 -0
  327. package/dist/types/src/feed-logger.d.ts.map +1 -0
  328. package/dist/types/src/hooks/index.d.ts +3 -1
  329. package/dist/types/src/hooks/index.d.ts.map +1 -1
  330. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +9 -9
  331. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  332. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  333. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  334. package/dist/types/src/hooks/useChatProcessor.d.ts +8 -7
  335. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  336. package/dist/types/src/hooks/useChatServices.d.ts +5 -8
  337. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  338. package/dist/types/src/hooks/useChatToolbarActions.d.ts +3 -3
  339. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  340. package/dist/types/src/hooks/useContextBinder.d.ts +4 -3
  341. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  342. package/dist/types/src/hooks/useContextObjects.d.ts +8 -8
  343. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  344. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  345. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  346. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  347. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  348. package/dist/types/src/hooks/useFlush.d.ts +1 -1
  349. package/dist/types/src/hooks/useFlush.d.ts.map +1 -1
  350. package/dist/types/src/hooks/usePresets.d.ts +1 -1
  351. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  352. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  353. package/dist/types/src/index.d.ts +1 -6
  354. package/dist/types/src/index.d.ts.map +1 -1
  355. package/dist/types/src/meta.d.ts +4 -2
  356. package/dist/types/src/meta.d.ts.map +1 -1
  357. package/dist/types/src/operations/create-chat.d.ts +5 -0
  358. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  359. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  360. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  361. package/dist/types/src/operations/index.d.ts +3 -0
  362. package/dist/types/src/operations/index.d.ts.map +1 -0
  363. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  364. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  365. package/dist/types/src/operations/prompt.test.d.ts +2 -0
  366. package/dist/types/src/operations/prompt.test.d.ts.map +1 -0
  367. package/dist/types/src/operations/resolve-navigation-targets.d.ts +15 -0
  368. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  369. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  370. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  371. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  372. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  373. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  374. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  375. package/dist/types/src/plugin.d.ts +4 -0
  376. package/dist/types/src/plugin.d.ts.map +1 -0
  377. package/dist/types/src/processor/index.d.ts +0 -1
  378. package/dist/types/src/processor/index.d.ts.map +1 -1
  379. package/dist/types/src/processor/presets.d.ts +1 -1
  380. package/dist/types/src/processor/presets.d.ts.map +1 -1
  381. package/dist/types/src/processor/processor.d.ts +58 -34
  382. package/dist/types/src/processor/processor.d.ts.map +1 -1
  383. package/dist/types/src/testing/index.d.ts +1 -0
  384. package/dist/types/src/testing/index.d.ts.map +1 -1
  385. package/dist/types/src/testing/test-generator.d.ts +2 -2
  386. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  387. package/dist/types/src/testing/test-generator.test.d.ts +2 -0
  388. package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
  389. package/dist/types/src/testing/test-sequence.d.ts +3 -3
  390. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  391. package/dist/types/src/testing/test-services.d.ts +1 -1
  392. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  393. package/dist/types/src/testing/test-trace.d.ts +5 -0
  394. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  395. package/dist/types/src/testing/trace-timeline.test.d.ts +2 -0
  396. package/dist/types/src/testing/trace-timeline.test.d.ts.map +1 -0
  397. package/dist/types/src/testing.d.ts +2 -0
  398. package/dist/types/src/testing.d.ts.map +1 -0
  399. package/dist/types/src/translations.d.ts +2 -300
  400. package/dist/types/src/translations.d.ts.map +1 -1
  401. package/dist/types/src/types/Assistant.d.ts +33 -45
  402. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  403. package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
  404. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
  405. package/dist/types/src/types/AssistantEvents.d.ts +3 -0
  406. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
  407. package/dist/types/src/types/AssistantOperation.d.ts +141 -0
  408. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
  409. package/dist/types/src/types/Settings.d.ts +26 -0
  410. package/dist/types/src/types/Settings.d.ts.map +1 -0
  411. package/dist/types/src/types/index.d.ts +4 -2
  412. package/dist/types/src/types/index.d.ts.map +1 -1
  413. package/dist/types/src/types/service.d.ts +10 -218
  414. package/dist/types/src/types/service.d.ts.map +1 -1
  415. package/dist/types/src/util/suggestions.d.ts +9 -0
  416. package/dist/types/src/util/suggestions.d.ts.map +1 -0
  417. package/dist/types/src/util/suggestions.test.d.ts +2 -0
  418. package/dist/types/src/util/suggestions.test.d.ts.map +1 -0
  419. package/dist/types/tsconfig.tsbuildinfo +1 -1
  420. package/package.json +194 -109
  421. package/src/AssistantPlugin.node.ts +44 -0
  422. package/src/AssistantPlugin.test.ts +35 -0
  423. package/src/AssistantPlugin.ts +126 -0
  424. package/src/blueprints/assistant/blueprint.test.ts +46 -0
  425. package/src/blueprints/assistant/blueprint.ts +31 -0
  426. package/src/blueprints/assistant/index.ts +5 -0
  427. package/src/{components/ChatProgress → blueprints}/index.ts +1 -1
  428. package/src/capabilities/ai-service.ts +20 -17
  429. package/src/capabilities/app-graph-builder.ts +169 -187
  430. package/src/capabilities/blueprint-definition.ts +47 -57
  431. package/src/capabilities/companion-chat-provisioner.ts +163 -0
  432. package/src/capabilities/create-object.ts +107 -0
  433. package/src/capabilities/edge-model-resolver.ts +22 -14
  434. package/src/capabilities/index.ts +23 -14
  435. package/src/capabilities/local-model-resolver.ts +31 -13
  436. package/src/capabilities/markdown.ts +40 -0
  437. package/src/capabilities/migrations.ts +28 -0
  438. package/src/capabilities/operation-handler.ts +16 -0
  439. package/src/capabilities/react-surface.tsx +161 -73
  440. package/src/capabilities/settings.ts +24 -12
  441. package/src/capabilities/state.ts +26 -13
  442. package/src/capabilities/toolkit.ts +7 -11
  443. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +35 -0
  444. package/src/components/AssistantSettings/AssistantSettings.tsx +30 -99
  445. package/src/components/AssistantSettings/index.ts +2 -2
  446. package/src/components/Chat/Chat.tsx +128 -259
  447. package/src/components/Chat/context.ts +39 -0
  448. package/src/components/Chat/events.ts +1 -1
  449. package/src/components/ChatPrompt/ChatActions.tsx +34 -14
  450. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  451. package/src/components/ChatPrompt/ChatOptions.stories.tsx +136 -0
  452. package/src/components/ChatPrompt/ChatOptions.tsx +298 -81
  453. package/src/components/ChatPrompt/ChatPrompt.tsx +182 -0
  454. package/src/components/ChatPrompt/ChatReferences.tsx +23 -14
  455. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  456. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +2 -2
  457. package/src/components/ChatPrompt/index.ts +3 -0
  458. package/src/components/ChatThread/Anchor.stories.tsx +95 -0
  459. package/src/components/ChatThread/ChatThread.stories.tsx +71 -80
  460. package/src/components/ChatThread/ChatThread.tsx +50 -24
  461. package/src/components/ChatThread/DEBUG.md +41 -0
  462. package/src/components/ChatThread/Link.tsx +4 -4
  463. package/src/components/ChatThread/MarkdownStream.stories.tsx +281 -0
  464. package/src/components/ChatThread/registry.tsx +171 -55
  465. package/src/components/ChatThread/sync.test.ts +193 -25
  466. package/src/components/ChatThread/sync.ts +94 -92
  467. package/src/components/ChatThread/testing/reasoning.md +25 -0
  468. package/src/components/ChatThread/testing/thinking.md +21 -0
  469. package/src/components/ChatThread/testing/thread-1.md +30 -0
  470. package/src/components/ChatThread/testing/{thread.md → thread-2.md} +19 -0
  471. package/src/components/ChatThread/testing/thread-widgets.md +79 -0
  472. package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
  473. package/src/components/ChatThread/tool-widget-state.ts +48 -0
  474. package/src/components/ChatThread/widgets/FallbackWidget.tsx +26 -0
  475. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
  476. package/src/components/ChatThread/widgets/ReasoningWidget.ts +133 -0
  477. package/src/components/ChatThread/widgets/ReferenceWidget.ts +33 -0
  478. package/src/components/ChatThread/widgets/SelectWidget.ts +39 -0
  479. package/src/components/ChatThread/widgets/StatsWidget.ts +31 -0
  480. package/src/components/ChatThread/widgets/StatusWidget.ts +53 -0
  481. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  482. package/src/components/ChatThread/widgets/SummaryWidget.tsx +27 -0
  483. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +55 -0
  484. package/src/components/ChatThread/widgets/ToolWidget.tsx +156 -0
  485. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  486. package/src/components/ChatThread/widgets/index.ts +13 -0
  487. package/src/components/ProcessTree/ProcessTree.stories.tsx +83 -0
  488. package/src/components/ProcessTree/ProcessTree.tsx +119 -0
  489. package/src/components/ProcessTree/index.ts +5 -0
  490. package/src/components/TaskList/TaskList.stories.tsx +44 -0
  491. package/src/components/TaskList/TaskList.tsx +45 -0
  492. package/src/components/TaskList/index.ts +5 -0
  493. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +8 -12
  494. package/src/components/TemplateEditor/TemplateEditor.tsx +54 -43
  495. package/src/components/TemplateEditor/TemplateForm.stories.tsx +21 -15
  496. package/src/components/TemplateEditor/TemplateForm.tsx +111 -86
  497. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +15 -10
  498. package/src/components/ToolBlock/ToolBlock.tsx +26 -25
  499. package/src/components/Toolbox/Toolbox.stories.tsx +16 -18
  500. package/src/components/Toolbox/Toolbox.tsx +73 -68
  501. package/src/components/index.ts +4 -7
  502. package/src/containers/AgentArticle/AgentArticle.stories.tsx +120 -0
  503. package/src/containers/AgentArticle/AgentArticle.tsx +204 -0
  504. package/src/containers/AgentArticle/index.ts +5 -0
  505. package/src/containers/AgentProperties/AgentProperties.stories.tsx +101 -0
  506. package/src/containers/AgentProperties/AgentProperties.tsx +127 -0
  507. package/src/containers/AgentProperties/index.ts +5 -0
  508. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  509. package/src/containers/BlueprintArticle/index.ts +5 -0
  510. package/src/containers/ChatArticle/ChatArticle.tsx +107 -0
  511. package/src/containers/ChatArticle/index.ts +5 -0
  512. package/src/containers/ChatCompanion/ChatCompanion.tsx +133 -0
  513. package/src/containers/ChatCompanion/index.ts +5 -0
  514. package/src/{components → containers/ChatDialog}/ChatDialog.tsx +14 -23
  515. package/src/containers/ChatDialog/index.ts +5 -0
  516. package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
  517. package/src/containers/PlanArticle/index.ts +5 -0
  518. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
  519. package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
  520. package/src/containers/RoutineArticle/index.ts +5 -0
  521. package/src/containers/RoutineList/RoutineList.stories.tsx +130 -0
  522. package/src/containers/RoutineList/RoutineList.tsx +50 -0
  523. package/src/containers/RoutineList/index.ts +5 -0
  524. package/src/containers/TracePanel/TracePanel.stories.tsx +285 -0
  525. package/src/containers/TracePanel/TracePanel.tsx +167 -0
  526. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  527. package/src/containers/TracePanel/dxn-extractor.ts +178 -0
  528. package/src/containers/TracePanel/execution-graph.test.ts +382 -0
  529. package/src/containers/TracePanel/execution-graph.ts +621 -0
  530. package/src/containers/TracePanel/index.ts +9 -0
  531. package/src/containers/TracePanel/testing/index.ts +6 -0
  532. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  533. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  534. package/src/containers/TriggerStatus/TriggerStatus.tsx +129 -0
  535. package/src/containers/TriggerStatus/index.ts +5 -0
  536. package/src/containers/index.ts +17 -0
  537. package/src/extensions/index.ts +5 -0
  538. package/src/extensions/prompt-extension.ts +111 -0
  539. package/src/{queue-logger.ts → feed-logger.ts} +46 -22
  540. package/src/hooks/index.ts +3 -1
  541. package/src/hooks/useBlueprintRegistry.ts +48 -28
  542. package/src/hooks/useChatKeymap.ts +52 -0
  543. package/src/hooks/useChatProcessor.ts +41 -25
  544. package/src/hooks/useChatServices.ts +8 -33
  545. package/src/hooks/useChatToolbarActions.ts +97 -99
  546. package/src/hooks/useContextBinder.ts +22 -9
  547. package/src/hooks/useContextObjects.ts +17 -25
  548. package/src/hooks/useDebug.ts +38 -0
  549. package/src/hooks/useFilteredTypes.ts +37 -0
  550. package/src/hooks/usePresets.ts +2 -1
  551. package/src/hooks/useReferencesProvider.ts +5 -9
  552. package/src/index.ts +1 -7
  553. package/src/meta.ts +8 -5
  554. package/src/operations/create-chat.ts +84 -0
  555. package/src/operations/ensure-companion-chat.ts +63 -0
  556. package/src/operations/index.ts +15 -0
  557. package/src/operations/on-create-space.ts +24 -0
  558. package/src/operations/prompt.test.ts +77 -0
  559. package/src/operations/resolve-navigation-targets.ts +26 -0
  560. package/src/operations/run-prompt-in-new-chat.ts +113 -0
  561. package/src/operations/set-current-chat.ts +49 -0
  562. package/src/operations/update-chat-name.ts +61 -0
  563. package/src/plugin.ts +11 -0
  564. package/src/processor/index.ts +0 -1
  565. package/src/processor/presets.ts +11 -3
  566. package/src/processor/processor.test.ts +20 -51
  567. package/src/processor/processor.ts +235 -160
  568. package/src/testing/data/trace-timeline.dx.json +4657 -0
  569. package/src/testing/index.ts +1 -0
  570. package/src/testing/test-generator.test.ts +70 -0
  571. package/src/testing/test-generator.ts +214 -191
  572. package/src/testing/test-sequence.ts +6 -6
  573. package/src/testing/test-services.ts +9 -7
  574. package/src/testing/test-trace.ts +20 -0
  575. package/src/testing/trace-timeline.conversations.json +1 -0
  576. package/src/testing/trace-timeline.test.ts +250 -0
  577. package/src/testing.ts +7 -0
  578. package/src/translations.ts +158 -86
  579. package/src/types/Assistant.ts +17 -54
  580. package/src/types/AssistantCapabilities.ts +35 -0
  581. package/src/types/AssistantEvents.ts +11 -0
  582. package/src/types/AssistantOperation.ts +128 -0
  583. package/src/types/Settings.ts +76 -0
  584. package/src/types/index.ts +8 -2
  585. package/src/types/service.ts +14 -11
  586. package/src/util/suggestions.test.ts +52 -0
  587. package/src/util/suggestions.ts +42 -0
  588. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs +0 -36
  589. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs.map +0 -7
  590. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs +0 -158
  591. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs.map +0 -7
  592. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs +0 -77
  593. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs.map +0 -7
  594. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs +0 -90
  595. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs.map +0 -7
  596. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs +0 -59
  597. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs.map +0 -7
  598. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
  599. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
  600. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs +0 -199
  601. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs.map +0 -7
  602. package/dist/lib/browser/blueprint-definition-5FT5JGPY.mjs +0 -12
  603. package/dist/lib/browser/chunk-2BOE3OTW.mjs +0 -262
  604. package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +0 -7
  605. package/dist/lib/browser/chunk-BNTPFZ7O.mjs +0 -229
  606. package/dist/lib/browser/chunk-BNTPFZ7O.mjs.map +0 -7
  607. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs +0 -335
  608. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs.map +0 -7
  609. package/dist/lib/browser/chunk-IXIIS4QA.mjs +0 -176
  610. package/dist/lib/browser/chunk-IXIIS4QA.mjs.map +0 -7
  611. package/dist/lib/browser/chunk-LRE4VEZV.mjs +0 -16
  612. package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +0 -7
  613. package/dist/lib/browser/chunk-U62BTGDF.mjs +0 -1929
  614. package/dist/lib/browser/chunk-U62BTGDF.mjs.map +0 -7
  615. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
  616. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
  617. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
  618. package/dist/lib/browser/index.mjs +0 -382
  619. package/dist/lib/browser/index.mjs.map +0 -7
  620. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs +0 -143
  621. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs.map +0 -7
  622. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +0 -17
  623. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +0 -7
  624. package/dist/lib/browser/meta.json +0 -1
  625. package/dist/lib/browser/react-surface-YCSR2MSR.mjs +0 -98
  626. package/dist/lib/browser/react-surface-YCSR2MSR.mjs.map +0 -7
  627. package/dist/lib/browser/settings-NYJGNQ5I.mjs +0 -23
  628. package/dist/lib/browser/settings-NYJGNQ5I.mjs.map +0 -7
  629. package/dist/lib/browser/state-GG7Z3NB7.mjs +0 -25
  630. package/dist/lib/browser/state-GG7Z3NB7.mjs.map +0 -7
  631. package/dist/lib/browser/toolkit-VYDAWNE4.mjs +0 -17
  632. package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +0 -7
  633. package/dist/lib/browser/types/index.mjs +0 -19
  634. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs +0 -37
  635. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs.map +0 -7
  636. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs +0 -159
  637. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs.map +0 -7
  638. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs +0 -78
  639. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs.map +0 -7
  640. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs +0 -91
  641. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs.map +0 -7
  642. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs +0 -60
  643. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs.map +0 -7
  644. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
  645. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
  646. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs +0 -200
  647. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs.map +0 -7
  648. package/dist/lib/node-esm/blueprint-definition-XW6QQVLV.mjs +0 -13
  649. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs +0 -264
  650. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +0 -7
  651. package/dist/lib/node-esm/chunk-AB74FOA2.mjs +0 -230
  652. package/dist/lib/node-esm/chunk-AB74FOA2.mjs.map +0 -7
  653. package/dist/lib/node-esm/chunk-BHS747K7.mjs +0 -1930
  654. package/dist/lib/node-esm/chunk-BHS747K7.mjs.map +0 -7
  655. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  656. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs +0 -336
  657. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs.map +0 -7
  658. package/dist/lib/node-esm/chunk-UXTUHH24.mjs +0 -178
  659. package/dist/lib/node-esm/chunk-UXTUHH24.mjs.map +0 -7
  660. package/dist/lib/node-esm/chunk-WE6KTH72.mjs +0 -25
  661. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
  662. package/dist/lib/node-esm/chunk-YWFWT57N.mjs +0 -17
  663. package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +0 -7
  664. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
  665. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
  666. package/dist/lib/node-esm/index.mjs +0 -383
  667. package/dist/lib/node-esm/index.mjs.map +0 -7
  668. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs +0 -144
  669. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs.map +0 -7
  670. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +0 -18
  671. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +0 -7
  672. package/dist/lib/node-esm/meta.json +0 -1
  673. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs +0 -99
  674. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs.map +0 -7
  675. package/dist/lib/node-esm/settings-RRHYI5KO.mjs +0 -24
  676. package/dist/lib/node-esm/settings-RRHYI5KO.mjs.map +0 -7
  677. package/dist/lib/node-esm/state-FSUHFMDM.mjs +0 -26
  678. package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +0 -7
  679. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +0 -18
  680. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +0 -7
  681. package/dist/lib/node-esm/types/index.mjs +0 -20
  682. package/dist/types/src/capabilities/capabilities.d.ts +0 -10
  683. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  684. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  685. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  686. package/dist/types/src/components/BlueprintArticle.d.ts +0 -7
  687. package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
  688. package/dist/types/src/components/ChatCompanion.d.ts +0 -13
  689. package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
  690. package/dist/types/src/components/ChatContainer.d.ts +0 -14
  691. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  692. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  693. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +0 -7
  694. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +0 -1
  695. package/dist/types/src/components/ChatProgress/index.d.ts +0 -2
  696. package/dist/types/src/components/ChatProgress/index.d.ts.map +0 -1
  697. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  698. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  699. package/dist/types/src/components/PromptArticle.d.ts +0 -7
  700. package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
  701. package/dist/types/src/events.d.ts +0 -4
  702. package/dist/types/src/events.d.ts.map +0 -1
  703. package/dist/types/src/functions/analysis.d.ts +0 -5
  704. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  705. package/dist/types/src/functions/index.d.ts +0 -4
  706. package/dist/types/src/functions/index.d.ts.map +0 -1
  707. package/dist/types/src/functions/object-list.d.ts +0 -10
  708. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  709. package/dist/types/src/functions/object-load.d.ts +0 -8
  710. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  711. package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
  712. package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
  713. package/dist/types/src/processor/update-name.d.ts +0 -10
  714. package/dist/types/src/processor/update-name.d.ts.map +0 -1
  715. package/dist/types/src/queue-logger.d.ts +0 -11
  716. package/dist/types/src/queue-logger.d.ts.map +0 -1
  717. package/dist/types/src/types/AssistantAction.d.ts +0 -132
  718. package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
  719. package/dist/types/src/types/defs.d.ts +0 -2
  720. package/dist/types/src/types/defs.d.ts.map +0 -1
  721. package/src/AssistantPlugin.tsx +0 -185
  722. package/src/capabilities/capabilities.ts +0 -17
  723. package/src/capabilities/intent-resolver.ts +0 -147
  724. package/src/components/BlueprintArticle.tsx +0 -29
  725. package/src/components/ChatCompanion.tsx +0 -155
  726. package/src/components/ChatContainer.tsx +0 -61
  727. package/src/components/ChatProgress/ChatProgress.tsx +0 -67
  728. package/src/components/ChatThread/reducers.ts +0 -151
  729. package/src/components/PromptArticle.tsx +0 -51
  730. package/src/events.ts +0 -11
  731. package/src/functions/analysis.ts +0 -22
  732. package/src/functions/index.ts +0 -7
  733. package/src/functions/object-list.ts +0 -48
  734. package/src/functions/object-load.ts +0 -45
  735. package/src/hooks/useItemTypes.ts +0 -37
  736. package/src/processor/update-name.ts +0 -56
  737. package/src/types/AssistantAction.ts +0 -79
  738. package/src/types/defs.ts +0 -5
  739. /package/dist/lib/{browser/blueprint-definition-5FT5JGPY.mjs.map → neutral/AssistantPlugin.mjs.map} +0 -0
  740. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ChatArticle-WVAFZPVI.mjs.map} +0 -0
  741. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  742. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  743. /package/dist/lib/{node-esm/blueprint-definition-XW6QQVLV.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  744. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  745. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -0,0 +1,114 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { AgentRequestBegin, AgentRequestEnd, CompleteBlock } from '@dxos/assistant';
9
+ import { Process, Trace } from '@dxos/compute';
10
+ import { ObjectId } from '@dxos/keys';
11
+
12
+ export interface AgentScenario {
13
+ readonly prompt: string;
14
+ readonly tools: readonly string[];
15
+ }
16
+
17
+ /** Probability that any given run aborts with a simulated tool failure. */
18
+ const FAILURE_PROBABILITY = 0.1;
19
+
20
+ export const agentScenarios: readonly AgentScenario[] = [
21
+ {
22
+ prompt: 'Create an organization called "Cyberdyne Systems"',
23
+ tools: ['list-schemas', 'create-object'],
24
+ },
25
+ {
26
+ prompt: 'Search for all organizations and persons',
27
+ tools: ['list-schemas', 'query', 'query'],
28
+ },
29
+ {
30
+ prompt: 'Create a person named "John Connor"',
31
+ tools: ['create-object'],
32
+ },
33
+ ];
34
+
35
+ const delay = (ms: number) => Effect.promise(() => new Promise<void>((resolve) => setTimeout(resolve, ms)));
36
+
37
+ /**
38
+ * Write a trace event and yield to the event loop so FeedTraceSink flushes it to ECHO before continuing.
39
+ */
40
+ const writeAndFlush = <T>(eventType: Trace.EventType<T>, payload: T) =>
41
+ Effect.gen(function* () {
42
+ yield* Trace.write(eventType, payload);
43
+ yield* Effect.promise(() => new Promise((resolve) => setTimeout(resolve, 100)));
44
+ });
45
+
46
+ /**
47
+ * Storybook fixture: a {@link Process} that emits a deterministic stream of agent trace events
48
+ * (request begin/end, user message, sequential tool calls with simulated latency).
49
+ *
50
+ * Input is a scenario index into {@link agentScenarios} (modulo the array length).
51
+ */
52
+ export const SimulatedAgent = Process.make(
53
+ {
54
+ key: 'org.dxos.testing.process.agent',
55
+ input: Schema.Number,
56
+ output: Schema.Void,
57
+ services: [Trace.TraceService],
58
+ },
59
+ (ctx) =>
60
+ Effect.succeed({
61
+ onInput: (index: number) =>
62
+ Effect.gen(function* () {
63
+ const messageId = ObjectId.random();
64
+ const scenario = agentScenarios[index % agentScenarios.length];
65
+
66
+ // Decide upfront whether this run will fail (and at which tool) so the trace shows a partial sequence.
67
+ const failAtToolIndex =
68
+ Math.random() < FAILURE_PROBABILITY ? Math.floor(Math.random() * scenario.tools.length) : -1;
69
+
70
+ // Agent begins processing.
71
+ yield* writeAndFlush(AgentRequestBegin, {});
72
+
73
+ // User message.
74
+ yield* writeAndFlush(CompleteBlock, {
75
+ messageId,
76
+ role: 'user',
77
+ block: { _tag: 'text', text: scenario.prompt },
78
+ });
79
+
80
+ // Simulate tool calls sequentially with delays.
81
+ for (const [index, toolName] of scenario.tools.entries()) {
82
+ const toolCallId = ObjectId.random();
83
+
84
+ // Tool call event.
85
+ yield* writeAndFlush(CompleteBlock, {
86
+ messageId,
87
+ role: 'assistant',
88
+ block: { _tag: 'toolCall', toolCallId, name: toolName, input: '{}', providerExecuted: false },
89
+ });
90
+
91
+ // Simulate tool execution time.
92
+ yield* delay(1_000 + Math.random() * 3_000);
93
+
94
+ if (index === failAtToolIndex) {
95
+ ctx.fail(new Error(`Simulated failure in tool '${toolName}'`));
96
+ return;
97
+ }
98
+
99
+ // Tool result event.
100
+ yield* writeAndFlush(CompleteBlock, {
101
+ messageId,
102
+ role: 'assistant',
103
+ block: { _tag: 'toolResult', toolCallId, name: toolName, providerExecuted: false },
104
+ });
105
+ }
106
+
107
+ // Agent completes.
108
+ yield* writeAndFlush(AgentRequestEnd, {});
109
+ ctx.succeed();
110
+ }).pipe(Effect.orDie),
111
+ onAlarm: () => Effect.void,
112
+ onChildEvent: () => Effect.void,
113
+ }),
114
+ );
@@ -0,0 +1,45 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { type Dispatch, type SetStateAction, useEffect, useRef, useState } from 'react';
6
+
7
+ /**
8
+ * Interval (ms) between auto-played trace messages in the snapshot playback story.
9
+ */
10
+ export const PLAYBACK_INTERVAL_MS = 250;
11
+
12
+ export const STEP_STORAGE_KEY = 'plugin-assistant.trace-panel.snapshot.step';
13
+
14
+ /**
15
+ * `useState<number>` that hydrates from and persists to `localStorage`.
16
+ * The third tuple member is `true` iff a valid value was loaded on first render.
17
+ */
18
+ export const useLocalStorageNumber = (
19
+ key: string,
20
+ initial: number,
21
+ ): [number, Dispatch<SetStateAction<number>>, boolean] => {
22
+ const initRef = useRef<{ value: number; hydrated: boolean } | null>(null);
23
+ if (initRef.current === null) {
24
+ let value = initial;
25
+ let hydrated = false;
26
+ if (typeof window !== 'undefined') {
27
+ const stored = window.localStorage.getItem(key);
28
+ const parsed = stored === null ? Number.NaN : Number(stored);
29
+ if (Number.isInteger(parsed) && parsed >= 0) {
30
+ value = parsed;
31
+ hydrated = true;
32
+ }
33
+ }
34
+ initRef.current = { value, hydrated };
35
+ }
36
+
37
+ const [value, setValue] = useState(initRef.current.value);
38
+ useEffect(() => {
39
+ if (typeof window !== 'undefined') {
40
+ window.localStorage.setItem(key, String(value));
41
+ }
42
+ }, [key, value]);
43
+
44
+ return [value, setValue, initRef.current.hydrated];
45
+ };
@@ -0,0 +1,129 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import React, { useMemo } from 'react';
6
+
7
+ import { AppSurface } from '@dxos/app-toolkit/ui';
8
+ import { type InvocationsState } from '@dxos/functions-runtime';
9
+ import { useTriggerRuntimeControls } from '@dxos/plugin-automation/hooks';
10
+ import { StatusBar } from '@dxos/plugin-status-bar/components';
11
+ import { useObject } from '@dxos/react-client/echo';
12
+ import { IconButton, Popover, useTranslation } from '@dxos/react-ui';
13
+
14
+ import { meta } from '#meta';
15
+
16
+ type TriggerStatusState = 'disabled' | 'idle' | 'running' | 'edge' | 'error';
17
+
18
+ const getIcon = (state: TriggerStatusState): string => {
19
+ switch (state) {
20
+ case 'disabled':
21
+ return 'ph--lightning-slash--regular';
22
+ case 'idle':
23
+ return 'ph--lightning--regular';
24
+ case 'edge':
25
+ return 'ph--lightning--regular';
26
+ case 'running':
27
+ return 'ph--lightning--fill';
28
+ case 'error':
29
+ return 'ph--warning--regular';
30
+ }
31
+ };
32
+
33
+ const getIconClassNames = (state: TriggerStatusState): string | undefined => {
34
+ switch (state) {
35
+ case 'running':
36
+ return 'animate-pulse text-accent-text';
37
+ case 'error':
38
+ return 'text-error-text';
39
+ default:
40
+ return undefined;
41
+ }
42
+ };
43
+
44
+ export type SpaceStatusProps = AppSurface.SpaceArticleProps;
45
+
46
+ export const SpaceStatus = ({ space }: SpaceStatusProps) => {
47
+ const { t } = useTranslation(meta.id);
48
+ const { state } = useTriggerRuntimeControls(space.db);
49
+ const isEnabled = state?.enabled ?? false;
50
+ const [properties] = useObject(space.properties);
51
+ const computeEnvironment = properties.computeEnvironment ?? 'local';
52
+
53
+ // Determine the current trigger status state.
54
+ const triggerState: TriggerStatusState = useMemo(() => {
55
+ if (computeEnvironment === 'edge') {
56
+ return 'edge';
57
+ }
58
+
59
+ if (!isEnabled) {
60
+ return 'disabled';
61
+ }
62
+
63
+ // Check if there's any pending invocation.
64
+ const hasPending = state?.invocations.some((invocation) => invocation.result === null);
65
+ if (hasPending) {
66
+ return 'running';
67
+ }
68
+
69
+ // Check if the last invocation failed.
70
+ const lastInvocation = state?.invocations.at(-1);
71
+ if (lastInvocation?.result?._tag === 'Failure') {
72
+ return 'error';
73
+ }
74
+
75
+ return 'idle';
76
+ }, [computeEnvironment, isEnabled, state?.invocations]);
77
+
78
+ return (
79
+ <Popover.Root>
80
+ <Popover.Trigger asChild>
81
+ <StatusBar.Item>
82
+ <IconButton
83
+ icon={getIcon(triggerState)}
84
+ iconOnly
85
+ label={t(`trigger-status-${triggerState}.label`)}
86
+ classNames={getIconClassNames(triggerState)}
87
+ />
88
+ </StatusBar.Item>
89
+ </Popover.Trigger>
90
+ <Popover.Portal>
91
+ <Popover.Content side='left'>
92
+ <TriggerStatusPopover
93
+ state={triggerState}
94
+ currentFunctionName={
95
+ state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key
96
+ }
97
+ lastInvocation={state?.invocations.at(-1)}
98
+ />
99
+ <Popover.Arrow />
100
+ </Popover.Content>
101
+ </Popover.Portal>
102
+ </Popover.Root>
103
+ );
104
+ };
105
+
106
+ type TriggerStatusPopoverProps = {
107
+ state: TriggerStatusState;
108
+ currentFunctionName?: string;
109
+ lastInvocation?: InvocationsState;
110
+ };
111
+
112
+ const TriggerStatusPopover = ({
113
+ state,
114
+ currentFunctionName,
115
+ lastInvocation, // TODO(burdon): Show.
116
+ }: TriggerStatusPopoverProps) => {
117
+ const { t } = useTranslation(meta.id);
118
+
119
+ return (
120
+ <div className='flex flex-col gap-2 p-2 w-[240px]'>
121
+ <div className='flex flex-col gap-1'>
122
+ <div className='text-sm'>{t(`trigger-status-${state}.label`)}</div>
123
+ {currentFunctionName && state === 'running' && (
124
+ <div className='text-xs text-description'>{currentFunctionName}</div>
125
+ )}
126
+ </div>
127
+ </div>
128
+ );
129
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export { SpaceStatus, SpaceStatus as default } from './TriggerStatus';
@@ -0,0 +1,17 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type ComponentType, lazy } from 'react';
6
+
7
+ export const AgentArticle: ComponentType<any> = lazy(() => import('./AgentArticle'));
8
+ export const AgentProperties: ComponentType<any> = lazy(() => import('./AgentProperties'));
9
+ export const BlueprintArticle: ComponentType<any> = lazy(() => import('./BlueprintArticle'));
10
+ export const ChatCompanion: ComponentType<any> = lazy(() => import('./ChatCompanion'));
11
+ export const ChatArticle: ComponentType<any> = lazy(() => import('./ChatArticle'));
12
+ export const ChatDialog: ComponentType<any> = lazy(() => import('./ChatDialog'));
13
+ export const PlanArticle: ComponentType<any> = lazy(() => import('./PlanArticle'));
14
+ export const RoutineArticle: ComponentType<any> = lazy(() => import('./RoutineArticle'));
15
+ export const RoutineList: ComponentType<any> = lazy(() => import('./RoutineList'));
16
+ export const TracePanel: ComponentType<any> = lazy(() => import('./TracePanel'));
17
+ export const TriggerStatus: ComponentType<any> = lazy(() => import('./TriggerStatus'));
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export { promptRunExtension, type PromptExtensionOptions } from './prompt-extension';
@@ -0,0 +1,111 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { syntaxTree } from '@codemirror/language';
6
+ import { type Extension } from '@codemirror/state';
7
+ import { Decoration, type DecorationSet, EditorView, ViewPlugin, type ViewUpdate, WidgetType } from '@codemirror/view';
8
+
9
+ import { Domino } from '@dxos/ui';
10
+
11
+ export type PromptExtensionOptions = {
12
+ /** Called when the user clicks the run button on a prompt code block. */
13
+ onRun: (promptText: string) => void;
14
+ };
15
+
16
+ /**
17
+ * CodeMirror extension that adds a green "run" button to ```prompt fenced code blocks.
18
+ */
19
+ export const promptRunExtension = ({ onRun }: PromptExtensionOptions): Extension => {
20
+ return [
21
+ ViewPlugin.fromClass(
22
+ class {
23
+ decorations: DecorationSet;
24
+
25
+ constructor(view: EditorView) {
26
+ this.decorations = this.buildDecorations(view);
27
+ }
28
+
29
+ update(update: ViewUpdate) {
30
+ if (update.docChanged || update.viewportChanged || update.selectionSet || update.focusChanged) {
31
+ this.decorations = this.buildDecorations(update.view);
32
+ }
33
+ }
34
+
35
+ buildDecorations(view: EditorView): DecorationSet {
36
+ const decorations: Array<{ from: number; to: number; decoration: Decoration }> = [];
37
+
38
+ syntaxTree(view.state).iterate({
39
+ enter: (node) => {
40
+ if (node.name === 'FencedCode') {
41
+ const info = node.node.getChild('CodeInfo');
42
+ if (info) {
43
+ const type = view.state.sliceDoc(info.from, info.to);
44
+ const text = node.node.getChild('CodeText');
45
+ if (type === 'prompt' && text) {
46
+ const content = view.state.sliceDoc(text.from, text.to).trim();
47
+ if (content.length > 0) {
48
+ const widget = new PromptRunWidget(content, onRun);
49
+ decorations.push({
50
+ from: node.from,
51
+ to: node.from,
52
+ decoration: Decoration.widget({ widget, side: -1 }),
53
+ });
54
+ }
55
+ }
56
+ }
57
+ }
58
+ },
59
+ });
60
+
61
+ return Decoration.set(
62
+ decorations.sort((a, b) => a.from - b.from || a.to - b.to).map((d) => d.decoration.range(d.from, d.to)),
63
+ );
64
+ }
65
+ },
66
+ {
67
+ decorations: (v) => v.decorations,
68
+ },
69
+ ),
70
+ ];
71
+ };
72
+
73
+ class PromptRunWidget extends WidgetType {
74
+ constructor(
75
+ private readonly prompt: string,
76
+ private readonly onClick: (promptText: string) => void,
77
+ ) {
78
+ super();
79
+ }
80
+
81
+ override eq(other: this) {
82
+ return this.prompt === other.prompt;
83
+ }
84
+
85
+ override ignoreEvent() {
86
+ return false;
87
+ }
88
+
89
+ override toDOM() {
90
+ return Domino.of('div')
91
+ .classNames('relative')
92
+ .append(
93
+ Domino.of('button')
94
+ .classNames('dx-button absolute right-0 top-4')
95
+ .on('mousedown', (event) => {
96
+ event.preventDefault();
97
+ event.stopPropagation();
98
+ this.onClick(this.prompt);
99
+ })
100
+ .append(
101
+ Domino.of('svg', Domino.SVG)
102
+ .classNames('w-4 h-4 cursor-pointer')
103
+ .append(
104
+ Domino.of('use', Domino.SVG).attributes({
105
+ href: Domino.icon('ph--play--regular'),
106
+ }),
107
+ ),
108
+ ),
109
+ ).root;
110
+ }
111
+ }
@@ -2,48 +2,63 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type Queue, Ref, type Space, getSpace } from '@dxos/client/echo';
6
- import { type Sequence, type SequenceEvent, type SequenceLogger } from '@dxos/conductor';
7
- import { DXN, Key, Obj } from '@dxos/echo';
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Layer from 'effect/Layer';
7
+
8
+ import { createFeedServiceLayer, type Space, getSpace } from '@dxos/client/echo';
9
+ import { Sequence, type SequenceEvent, type SequenceLogger } from '@dxos/conductor';
10
+ import { DXN, Feed, Obj, Ref } from '@dxos/echo';
11
+ import { runAndForwardErrors } from '@dxos/effect';
8
12
  import { InvocationTraceEndEvent, InvocationTraceEventType, InvocationTraceStartEvent } from '@dxos/functions-runtime';
9
13
  import { TraceEvent } from '@dxos/functions-runtime';
10
14
  import { InvocationOutcome } from '@dxos/functions-runtime';
11
- import { type InvocationTraceEvent } from '@dxos/functions-runtime';
12
15
  import { invariant } from '@dxos/invariant';
13
16
  import { QueueSubspaceTags } from '@dxos/keys';
14
17
 
15
- export class QueueLogger implements SequenceLogger {
18
+ export class FeedLogger implements SequenceLogger {
16
19
  private _space: Space;
17
- private _invocationTraceQueue: Queue<InvocationTraceEvent>;
20
+ private _invocationTraceFeed: Feed.Feed;
21
+ private _feedServiceLayer: Layer.Layer<Feed.FeedService>;
18
22
 
19
- constructor(private readonly sequence: Sequence) {
23
+ constructor(private readonly sequence: Sequence.Sequence) {
20
24
  const space = getSpace(sequence);
21
25
  invariant(space, 'Space not found');
22
26
  this._space = space;
23
- let dxn = this._space.properties.invocationTraceQueue?.dxn;
24
- if (!dxn) {
25
- dxn = DXN.fromQueue(QueueSubspaceTags.TRACE, this._space.id, Key.ObjectId.random());
26
- this._space.properties.invocationTraceQueue = Ref.fromDXN(dxn);
27
+ this._feedServiceLayer = createFeedServiceLayer(space.queues);
28
+
29
+ const existingFeedRef = this._space.properties.invocationTraceFeed;
30
+ if (existingFeedRef) {
31
+ // A feed reference exists; ensure its target is loaded. If not, fail loudly
32
+ // rather than silently creating a new feed and orphaning existing traces.
33
+ invariant(existingFeedRef.target, 'invocationTraceFeed reference is not yet loaded');
34
+ invariant(Feed.getQueueDxn(existingFeedRef.target), 'invocationTraceFeed has no DXN');
35
+ this._invocationTraceFeed = existingFeedRef.target;
36
+ } else {
37
+ const feed = space.db.add(Feed.make({ namespace: 'trace' }));
38
+ invariant(Feed.getQueueDxn(feed), 'New invocationTraceFeed has no DXN');
39
+ Obj.update(this._space.properties, (obj) => {
40
+ obj.invocationTraceFeed = Ref.make(feed);
41
+ });
42
+ this._invocationTraceFeed = feed;
27
43
  }
28
- this._invocationTraceQueue = this._space.queues.get(dxn);
29
44
  }
30
45
 
31
46
  log(event: SequenceEvent) {
32
47
  switch (event.type) {
33
48
  case 'begin':
34
- void this._invocationTraceQueue.append([
49
+ void this._appendToTraceFeed([
35
50
  Obj.make(InvocationTraceStartEvent, {
36
51
  type: InvocationTraceEventType.START,
37
52
  invocationId: event.invocationId,
38
53
  timestamp: Date.now(),
39
54
  input: {},
40
- invocationTraceQueue: Ref.fromDXN(this._getTraceQueueDxn(event.invocationId)),
55
+ invocationTraceFeed: Ref.fromDXN(this._getTraceFeedDXN(event.invocationId)),
41
56
  invocationTarget: Ref.make(this.sequence),
42
57
  }),
43
58
  ]);
44
59
  break;
45
60
  case 'end':
46
- void this._invocationTraceQueue.append([
61
+ void this._appendToTraceFeed([
47
62
  Obj.make(InvocationTraceEndEvent, {
48
63
  type: InvocationTraceEventType.END,
49
64
  invocationId: event.invocationId,
@@ -54,7 +69,7 @@ export class QueueLogger implements SequenceLogger {
54
69
  break;
55
70
  case 'step-start':
56
71
  case 'step-complete':
57
- void this._getTraceEventQueue(event.invocationId).append([
72
+ void this._appendTraceEvent(event.invocationId, [
58
73
  Obj.make(TraceEvent, {
59
74
  outcome: event.type,
60
75
  truncated: false,
@@ -72,7 +87,7 @@ export class QueueLogger implements SequenceLogger {
72
87
  ]);
73
88
  break;
74
89
  case 'message':
75
- void this._getTraceEventQueue(event.invocationId).append([
90
+ void this._appendTraceEvent(event.invocationId, [
76
91
  Obj.make(TraceEvent, {
77
92
  outcome: event.type,
78
93
  truncated: false,
@@ -90,7 +105,7 @@ export class QueueLogger implements SequenceLogger {
90
105
  ]);
91
106
  break;
92
107
  case 'block':
93
- void this._getTraceEventQueue(event.invocationId).append([
108
+ void this._appendTraceEvent(event.invocationId, [
94
109
  Obj.make(TraceEvent, {
95
110
  outcome: event.type,
96
111
  truncated: false,
@@ -110,12 +125,21 @@ export class QueueLogger implements SequenceLogger {
110
125
  }
111
126
  }
112
127
 
113
- private _getTraceQueueDxn(invocationId: string): DXN {
128
+ private _getTraceFeedDXN(invocationId: string): DXN {
114
129
  return DXN.fromQueue(QueueSubspaceTags.TRACE, this._space.id, invocationId);
115
130
  }
116
131
 
117
- private _getTraceEventQueue(invocationId: string): Queue<TraceEvent> {
118
- const dxn = this._getTraceQueueDxn(invocationId);
119
- return this._space.queues.get(dxn);
132
+ private _appendToTraceFeed(items: any[]): Promise<void> {
133
+ return Feed.append(this._invocationTraceFeed, items).pipe(
134
+ Effect.provide(this._feedServiceLayer),
135
+ runAndForwardErrors,
136
+ );
120
137
  }
138
+
139
+ /**
140
+ * Per-invocation trace event feeds are deprecated and no longer functional;
141
+ * this is a no-op until a replacement tracing data structure lands.
142
+ */
143
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
144
+ private async _appendTraceEvent(_invocationId: string, _items: TraceEvent[]): Promise<void> {}
121
145
  }
@@ -3,13 +3,15 @@
3
3
  //
4
4
 
5
5
  export * from './useBlueprintRegistry';
6
+ export * from './useChatKeymap';
6
7
  export * from './useChatProcessor';
7
8
  export * from './useChatServices';
8
9
  export * from './useChatToolbarActions';
9
10
  export * from './useContextBinder';
10
11
  export * from './useContextObjects';
12
+ export { useDebug } from './useDebug';
13
+ export * from './useFilteredTypes';
11
14
  export * from './useFlush';
12
- export * from './useItemTypes';
13
15
  export * from './useOnline';
14
16
  export * from './usePresets';
15
17
  export * from './useReferencesProvider';