@dxos/plugin-assistant 0.8.4-main.e8ec1fe → 0.8.4-main.effb148878

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 (813) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/AgentArticle-UPXYXYFJ.mjs +166 -0
  4. package/dist/lib/neutral/AgentArticle-UPXYXYFJ.mjs.map +7 -0
  5. package/dist/lib/neutral/AgentProperties-W6LD56IB.mjs +40 -0
  6. package/dist/lib/neutral/AgentProperties-W6LD56IB.mjs.map +7 -0
  7. package/dist/lib/neutral/AssistantPlugin.mjs +10 -0
  8. package/dist/lib/neutral/AssistantPlugin.node.mjs +62 -0
  9. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +7 -0
  10. package/dist/lib/neutral/AssistantPlugin.workerd.mjs +40 -0
  11. package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +7 -0
  12. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +40 -0
  13. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +7 -0
  14. package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs +27 -0
  15. package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs.map +7 -0
  16. package/dist/lib/neutral/ChatArticle-WVAFZPVI.mjs +8 -0
  17. package/dist/lib/neutral/ChatCompanion-PA5WC4ND.mjs +133 -0
  18. package/dist/lib/neutral/ChatCompanion-PA5WC4ND.mjs.map +7 -0
  19. package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs +72 -0
  20. package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs.map +7 -0
  21. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs +28 -0
  22. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +7 -0
  23. package/dist/lib/neutral/RoutineArticle-HWB5ZQ6O.mjs +119 -0
  24. package/dist/lib/neutral/RoutineArticle-HWB5ZQ6O.mjs.map +7 -0
  25. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs +48 -0
  26. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs.map +7 -0
  27. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs +17 -0
  28. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs.map +7 -0
  29. package/dist/lib/neutral/TracePanel-75DMDJEB.mjs +136 -0
  30. package/dist/lib/neutral/TracePanel-75DMDJEB.mjs.map +7 -0
  31. package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs +92 -0
  32. package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs.map +7 -0
  33. package/dist/lib/neutral/ai-context-ERNAJDGG.mjs +42 -0
  34. package/dist/lib/neutral/ai-context-ERNAJDGG.mjs.map +7 -0
  35. package/dist/lib/neutral/ai-service-7SQH5S4F.mjs +34 -0
  36. package/dist/lib/neutral/ai-service-7SQH5S4F.mjs.map +7 -0
  37. package/dist/lib/neutral/app-graph-builder-VBWAKZE5.mjs +199 -0
  38. package/dist/lib/neutral/app-graph-builder-VBWAKZE5.mjs.map +7 -0
  39. package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs +32 -0
  40. package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs.map +7 -0
  41. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  42. package/dist/lib/neutral/capabilities/index.mjs +37 -0
  43. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-5H6UJHLF.mjs +30 -0
  45. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-6UMJI6ON.mjs +110 -0
  47. package/dist/lib/neutral/chunk-6UMJI6ON.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-CJXRQ2YX.mjs +386 -0
  49. package/dist/lib/neutral/chunk-CJXRQ2YX.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-JUCBGMF3.mjs +8 -0
  51. package/dist/lib/neutral/chunk-JUCBGMF3.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-SLIPV6NN.mjs +106 -0
  53. package/dist/lib/neutral/chunk-SLIPV6NN.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-ZWY6Y5IW.mjs +41 -0
  55. package/dist/lib/neutral/chunk-ZWY6Y5IW.mjs.map +7 -0
  56. package/dist/lib/neutral/companion-chat-provisioner-7RTSXL6M.mjs +116 -0
  57. package/dist/lib/neutral/companion-chat-provisioner-7RTSXL6M.mjs.map +7 -0
  58. package/dist/lib/neutral/components/index.mjs +2373 -0
  59. package/dist/lib/neutral/components/index.mjs.map +7 -0
  60. package/dist/lib/neutral/containers/index.mjs +29 -0
  61. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  62. package/dist/lib/neutral/create-chat-QQZURUBW.mjs +71 -0
  63. package/dist/lib/neutral/create-chat-QQZURUBW.mjs.map +7 -0
  64. package/dist/lib/neutral/create-object-XPVVVEKF.mjs +89 -0
  65. package/dist/lib/neutral/create-object-XPVVVEKF.mjs.map +7 -0
  66. package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs +21 -0
  67. package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs.map +7 -0
  68. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs +58 -0
  69. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs.map +7 -0
  70. package/dist/lib/neutral/execution-graph/index.mjs +658 -0
  71. package/dist/lib/neutral/execution-graph/index.mjs.map +7 -0
  72. package/dist/lib/neutral/hooks/index.mjs +952 -0
  73. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  74. package/dist/lib/neutral/index.mjs +32 -0
  75. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
  76. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
  77. package/dist/lib/neutral/markdown-KTBFOMFM.mjs +110 -0
  78. package/dist/lib/neutral/markdown-KTBFOMFM.mjs.map +7 -0
  79. package/dist/lib/neutral/meta.json +1 -0
  80. package/dist/lib/neutral/meta.mjs +12 -0
  81. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
  82. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
  83. package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs +19 -0
  84. package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs.map +7 -0
  85. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
  86. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
  87. package/dist/lib/neutral/operations/index.mjs +8 -0
  88. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  89. package/dist/lib/neutral/plugin.mjs +16 -0
  90. package/dist/lib/neutral/plugin.mjs.map +7 -0
  91. package/dist/lib/neutral/react-surface-CC6J7D4K.mjs +174 -0
  92. package/dist/lib/neutral/react-surface-CC6J7D4K.mjs.map +7 -0
  93. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs +22 -0
  94. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +7 -0
  95. package/dist/lib/neutral/run-prompt-in-new-chat-KPXN5YJ2.mjs +102 -0
  96. package/dist/lib/neutral/run-prompt-in-new-chat-KPXN5YJ2.mjs.map +7 -0
  97. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs +48 -0
  98. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs.map +7 -0
  99. package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
  100. package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
  101. package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
  102. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
  103. package/dist/lib/neutral/testing.mjs +8 -0
  104. package/dist/lib/neutral/testing.mjs.map +7 -0
  105. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +21 -0
  106. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +7 -0
  107. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
  108. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
  109. package/dist/lib/neutral/translations.mjs +175 -0
  110. package/dist/lib/neutral/translations.mjs.map +7 -0
  111. package/dist/lib/neutral/types/index.mjs +20 -0
  112. package/dist/lib/neutral/types/index.mjs.map +7 -0
  113. package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs +54 -0
  114. package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs.map +7 -0
  115. package/dist/types/src/AssistantPlugin.d.ts +3 -1
  116. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  117. package/dist/types/src/AssistantPlugin.node.d.ts +4 -0
  118. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  119. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  120. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  121. package/dist/types/src/AssistantPlugin.workerd.d.ts +4 -0
  122. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  124. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  125. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +2 -0
  126. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +1 -0
  127. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  128. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  129. package/dist/types/src/blueprints/index.d.ts +2 -0
  130. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/ai-context.d.ts +6 -0
  132. package/dist/types/src/capabilities/ai-context.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/ai-service.d.ts +5 -2
  134. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  136. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/blueprint-definition.d.ts +4 -6
  138. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  139. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  140. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  142. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/edge-model-resolver.d.ts +6 -3
  144. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  145. package/dist/types/src/capabilities/index.d.ts +56 -12
  146. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  147. package/dist/types/src/capabilities/local-model-resolver.d.ts +9 -3
  148. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  149. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  150. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/migrations.d.ts +6 -0
  152. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  154. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  156. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  157. package/dist/types/src/capabilities/settings.d.ts +4 -2
  158. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  159. package/dist/types/src/capabilities/state.d.ts +19 -2
  160. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  161. package/dist/types/src/capabilities/toolkit.d.ts +4 -2
  162. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  163. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts +7 -0
  164. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts.map +1 -0
  165. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts +15 -0
  166. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  167. package/dist/types/src/components/AgentProperties/index.d.ts +2 -0
  168. package/dist/types/src/components/AgentProperties/index.d.ts.map +1 -0
  169. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  170. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  171. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
  172. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  173. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  174. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  175. package/dist/types/src/components/Chat/Chat.d.ts +42 -43
  176. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  177. package/dist/types/src/components/Chat/context.d.ts +29 -0
  178. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  179. package/dist/types/src/components/Chat/events.d.ts +1 -1
  180. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  181. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -1
  182. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  183. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  184. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  185. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +10 -6
  186. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  187. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
  188. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
  189. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  190. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +28 -0
  191. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  192. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -5
  193. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  194. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  195. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  196. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  197. package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
  198. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  199. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
  200. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
  201. package/dist/types/src/components/ChatThread/ChatThread.d.ts +8 -5
  202. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  203. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +11 -311
  204. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  205. package/dist/types/src/components/ChatThread/Link.d.ts +2 -2
  206. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  207. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +42 -0
  208. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
  209. package/dist/types/src/components/ChatThread/registry.d.ts +19 -1
  210. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  211. package/dist/types/src/components/ChatThread/sync.d.ts +47 -20
  212. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  213. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
  214. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
  215. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
  216. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
  217. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  218. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  219. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  220. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  221. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
  222. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
  223. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  224. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  225. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  226. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  227. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  228. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  229. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +12 -0
  230. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
  231. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  232. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  233. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  234. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  235. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  236. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  237. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
  238. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
  239. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  240. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  241. package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
  242. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  243. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +11 -0
  244. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  245. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +7 -0
  246. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  247. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  248. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  249. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +7 -0
  250. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +1 -0
  251. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +15 -0
  252. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +1 -0
  253. package/dist/types/src/components/RoutineProperties/index.d.ts +2 -0
  254. package/dist/types/src/components/RoutineProperties/index.d.ts.map +1 -0
  255. package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
  256. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
  257. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
  258. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
  259. package/dist/types/src/components/TaskList/index.d.ts +2 -0
  260. package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
  261. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +6 -5
  262. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  263. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +1 -300
  264. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  265. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +12 -3
  266. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  267. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +2 -301
  268. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  269. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  270. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -1
  271. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +5 -14
  272. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  273. package/dist/types/src/components/Toolbox/Toolbox.d.ts +14 -13
  274. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  275. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +1 -300
  276. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  277. package/dist/types/src/components/index.d.ts +6 -6
  278. package/dist/types/src/components/index.d.ts.map +1 -1
  279. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
  280. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
  281. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +21 -0
  282. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
  283. package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
  284. package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
  285. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
  286. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
  287. package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
  288. package/dist/types/src/containers/AgentProperties/index.d.ts.map +1 -0
  289. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  290. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  291. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  292. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  293. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +12 -0
  294. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -0
  295. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts +15 -0
  296. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts.map +1 -0
  297. package/dist/types/src/containers/ChatArticle/index.d.ts +2 -0
  298. package/dist/types/src/containers/ChatArticle/index.d.ts.map +1 -0
  299. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +26 -0
  300. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  301. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  302. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  303. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  304. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  305. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  306. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  307. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
  308. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
  309. package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
  310. package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
  311. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  312. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  313. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
  314. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
  315. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  316. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  317. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  318. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  319. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +21 -0
  320. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  321. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  322. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  323. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +8 -0
  324. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  325. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +15 -0
  326. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
  327. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  328. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  329. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  330. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  331. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  332. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  333. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  334. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  335. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  336. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  337. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  338. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  339. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +5 -0
  340. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  341. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  342. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  343. package/dist/types/src/containers/index.d.ts +13 -0
  344. package/dist/types/src/containers/index.d.ts.map +1 -0
  345. package/dist/types/src/execution-graph/execution-graph.d.ts +108 -0
  346. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -0
  347. package/dist/types/src/execution-graph/execution-graph.test.d.ts +2 -0
  348. package/dist/types/src/execution-graph/execution-graph.test.d.ts.map +1 -0
  349. package/dist/types/src/execution-graph/index.d.ts +3 -0
  350. package/dist/types/src/execution-graph/index.d.ts.map +1 -0
  351. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts +2 -0
  352. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts.map +1 -0
  353. package/dist/types/src/execution-graph/span-tree.d.ts +76 -0
  354. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -0
  355. package/dist/types/src/execution-graph/span-tree.test.d.ts +2 -0
  356. package/dist/types/src/execution-graph/span-tree.test.d.ts.map +1 -0
  357. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts +40 -0
  358. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts.map +1 -0
  359. package/dist/types/src/execution-graph/testing/index.d.ts +2 -0
  360. package/dist/types/src/execution-graph/testing/index.d.ts.map +1 -0
  361. package/dist/types/src/extensions/index.d.ts +2 -0
  362. package/dist/types/src/extensions/index.d.ts.map +1 -0
  363. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  364. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  365. package/dist/types/src/feed-logger.d.ts +13 -0
  366. package/dist/types/src/feed-logger.d.ts.map +1 -0
  367. package/dist/types/src/hooks/index.d.ts +3 -1
  368. package/dist/types/src/hooks/index.d.ts.map +1 -1
  369. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +57 -11
  370. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  371. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  372. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  373. package/dist/types/src/hooks/useChatProcessor.d.ts +8 -7
  374. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  375. package/dist/types/src/hooks/useChatServices.d.ts +9 -8
  376. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  377. package/dist/types/src/hooks/useChatToolbarActions.d.ts +3 -3
  378. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  379. package/dist/types/src/hooks/useContextBinder.d.ts +4 -3
  380. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  381. package/dist/types/src/hooks/useContextObjects.d.ts +10 -9
  382. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  383. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  384. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  385. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  386. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  387. package/dist/types/src/hooks/useFlush.d.ts +1 -1
  388. package/dist/types/src/hooks/useFlush.d.ts.map +1 -1
  389. package/dist/types/src/hooks/usePresets.d.ts +1 -1
  390. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  391. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  392. package/dist/types/src/index.d.ts +1 -6
  393. package/dist/types/src/index.d.ts.map +1 -1
  394. package/dist/types/src/meta.d.ts +4 -2
  395. package/dist/types/src/meta.d.ts.map +1 -1
  396. package/dist/types/src/operations/create-chat.d.ts +5 -0
  397. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  398. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  399. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  400. package/dist/types/src/operations/index.d.ts +3 -0
  401. package/dist/types/src/operations/index.d.ts.map +1 -0
  402. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  403. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  404. package/dist/types/src/operations/prompt.node.test.d.ts +2 -0
  405. package/dist/types/src/operations/prompt.node.test.d.ts.map +1 -0
  406. package/dist/types/src/operations/resolve-navigation-targets.d.ts +17 -0
  407. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  408. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  409. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  410. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  411. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  412. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts +5 -0
  413. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts.map +1 -0
  414. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  415. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  416. package/dist/types/src/plugin.d.ts +4 -0
  417. package/dist/types/src/plugin.d.ts.map +1 -0
  418. package/dist/types/src/processor/index.d.ts +0 -1
  419. package/dist/types/src/processor/index.d.ts.map +1 -1
  420. package/dist/types/src/processor/presets.d.ts +1 -1
  421. package/dist/types/src/processor/presets.d.ts.map +1 -1
  422. package/dist/types/src/processor/processor.d.ts +257 -36
  423. package/dist/types/src/processor/processor.d.ts.map +1 -1
  424. package/dist/types/src/processor/processor.node.test.d.ts +2 -0
  425. package/dist/types/src/processor/processor.node.test.d.ts.map +1 -0
  426. package/dist/types/src/testing/index.d.ts +2 -0
  427. package/dist/types/src/testing/index.d.ts.map +1 -1
  428. package/dist/types/src/testing/snapshot.d.ts +21 -0
  429. package/dist/types/src/testing/snapshot.d.ts.map +1 -0
  430. package/dist/types/src/testing/test-generator.d.ts +2 -2
  431. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  432. package/dist/types/src/testing/test-generator.test.d.ts +2 -0
  433. package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
  434. package/dist/types/src/testing/test-sequence.d.ts +10 -3
  435. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  436. package/dist/types/src/testing/test-services.d.ts +1 -1
  437. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  438. package/dist/types/src/testing/test-trace.d.ts +5 -0
  439. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  440. package/dist/types/src/testing/trace-timeline.node.test.d.ts +2 -0
  441. package/dist/types/src/testing/trace-timeline.node.test.d.ts.map +1 -0
  442. package/dist/types/src/testing.d.ts +2 -0
  443. package/dist/types/src/testing.d.ts.map +1 -0
  444. package/dist/types/src/translations.d.ts +2 -300
  445. package/dist/types/src/translations.d.ts.map +1 -1
  446. package/dist/types/src/types/Assistant.d.ts +34 -45
  447. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  448. package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
  449. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
  450. package/dist/types/src/types/AssistantEvents.d.ts +3 -0
  451. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
  452. package/dist/types/src/types/AssistantOperation.d.ts +145 -0
  453. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
  454. package/dist/types/src/types/Settings.d.ts +27 -0
  455. package/dist/types/src/types/Settings.d.ts.map +1 -0
  456. package/dist/types/src/types/index.d.ts +4 -2
  457. package/dist/types/src/types/index.d.ts.map +1 -1
  458. package/dist/types/src/types/service.d.ts +10 -219
  459. package/dist/types/src/types/service.d.ts.map +1 -1
  460. package/dist/types/src/util/suggestions.d.ts +9 -0
  461. package/dist/types/src/util/suggestions.d.ts.map +1 -0
  462. package/dist/types/src/util/suggestions.test.d.ts +2 -0
  463. package/dist/types/src/util/suggestions.test.d.ts.map +1 -0
  464. package/dist/types/tsconfig.tsbuildinfo +1 -1
  465. package/package.json +206 -112
  466. package/src/AssistantPlugin.node.ts +71 -0
  467. package/src/AssistantPlugin.test.ts +49 -0
  468. package/src/AssistantPlugin.ts +140 -0
  469. package/src/AssistantPlugin.workerd.ts +41 -0
  470. package/src/blueprints/assistant/blueprint.node.test.ts +46 -0
  471. package/src/blueprints/assistant/blueprint.ts +31 -0
  472. package/src/blueprints/assistant/index.ts +5 -0
  473. package/src/{components/ChatProgress → blueprints}/index.ts +1 -1
  474. package/src/capabilities/ai-context.ts +85 -0
  475. package/src/capabilities/ai-service.ts +34 -17
  476. package/src/capabilities/app-graph-builder.ts +174 -187
  477. package/src/capabilities/blueprint-definition.ts +47 -57
  478. package/src/capabilities/companion-chat-provisioner.ts +163 -0
  479. package/src/capabilities/create-object.ts +98 -0
  480. package/src/capabilities/edge-model-resolver.ts +22 -14
  481. package/src/capabilities/index.ts +24 -14
  482. package/src/capabilities/local-model-resolver.ts +31 -13
  483. package/src/capabilities/markdown.ts +40 -0
  484. package/src/capabilities/migrations.ts +28 -0
  485. package/src/capabilities/operation-handler.ts +16 -0
  486. package/src/capabilities/react-surface.tsx +160 -73
  487. package/src/capabilities/settings.ts +24 -12
  488. package/src/capabilities/state.ts +26 -13
  489. package/src/capabilities/toolkit.ts +7 -11
  490. package/src/components/AgentProperties/AgentProperties.stories.tsx +74 -0
  491. package/src/components/AgentProperties/AgentProperties.tsx +102 -0
  492. package/src/components/AgentProperties/index.ts +5 -0
  493. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +35 -0
  494. package/src/components/AssistantSettings/AssistantSettings.tsx +30 -99
  495. package/src/components/AssistantSettings/index.ts +2 -2
  496. package/src/components/Chat/Chat.tsx +128 -259
  497. package/src/components/Chat/context.ts +39 -0
  498. package/src/components/Chat/events.ts +1 -1
  499. package/src/components/ChatPrompt/ChatActions.tsx +34 -14
  500. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  501. package/src/components/ChatPrompt/ChatOptions.stories.tsx +136 -0
  502. package/src/components/ChatPrompt/ChatOptions.tsx +299 -81
  503. package/src/components/ChatPrompt/ChatPrompt.tsx +182 -0
  504. package/src/components/ChatPrompt/ChatReferences.tsx +26 -16
  505. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  506. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +2 -2
  507. package/src/components/ChatPrompt/index.ts +3 -0
  508. package/src/components/ChatThread/Anchor.stories.tsx +95 -0
  509. package/src/components/ChatThread/ChatThread.stories.tsx +71 -80
  510. package/src/components/ChatThread/ChatThread.tsx +50 -24
  511. package/src/components/ChatThread/DEBUG.md +41 -0
  512. package/src/components/ChatThread/Link.tsx +6 -6
  513. package/src/components/ChatThread/MarkdownStream.stories.tsx +281 -0
  514. package/src/components/ChatThread/registry.tsx +172 -56
  515. package/src/components/ChatThread/sync.test.ts +193 -25
  516. package/src/components/ChatThread/sync.ts +96 -94
  517. package/src/components/ChatThread/testing/reasoning.md +25 -0
  518. package/src/components/ChatThread/testing/thinking.md +21 -0
  519. package/src/components/ChatThread/testing/thread-1.md +30 -0
  520. package/src/components/ChatThread/testing/{thread.md → thread-2.md} +19 -0
  521. package/src/components/ChatThread/testing/thread-widgets.md +79 -0
  522. package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
  523. package/src/components/ChatThread/tool-widget-state.ts +48 -0
  524. package/src/components/ChatThread/widgets/FallbackWidget.tsx +26 -0
  525. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
  526. package/src/components/ChatThread/widgets/ReasoningWidget.ts +133 -0
  527. package/src/components/ChatThread/widgets/ReferenceWidget.ts +33 -0
  528. package/src/components/ChatThread/widgets/SelectWidget.ts +39 -0
  529. package/src/components/ChatThread/widgets/StatsWidget.ts +31 -0
  530. package/src/components/ChatThread/widgets/StatusWidget.ts +53 -0
  531. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  532. package/src/components/ChatThread/widgets/SummaryWidget.tsx +27 -0
  533. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +55 -0
  534. package/src/components/ChatThread/widgets/ToolWidget.tsx +156 -0
  535. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  536. package/src/components/ChatThread/widgets/index.ts +13 -0
  537. package/src/components/ProcessTree/ProcessTree.stories.tsx +83 -0
  538. package/src/components/ProcessTree/ProcessTree.tsx +122 -0
  539. package/src/components/ProcessTree/index.ts +5 -0
  540. package/src/components/RoutineProperties/RoutineProperties.stories.tsx +59 -0
  541. package/src/components/RoutineProperties/RoutineProperties.tsx +23 -0
  542. package/src/components/RoutineProperties/index.ts +5 -0
  543. package/src/components/TaskList/TaskList.stories.tsx +44 -0
  544. package/src/components/TaskList/TaskList.tsx +45 -0
  545. package/src/components/TaskList/index.ts +5 -0
  546. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +8 -12
  547. package/src/components/TemplateEditor/TemplateEditor.tsx +54 -43
  548. package/src/components/TemplateEditor/TemplateForm.stories.tsx +21 -15
  549. package/src/components/TemplateEditor/TemplateForm.tsx +111 -86
  550. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +15 -10
  551. package/src/components/ToolBlock/ToolBlock.tsx +26 -25
  552. package/src/components/Toolbox/Toolbox.stories.tsx +16 -18
  553. package/src/components/Toolbox/Toolbox.tsx +74 -68
  554. package/src/components/index.ts +6 -7
  555. package/src/containers/AgentArticle/AgentArticle.stories.tsx +120 -0
  556. package/src/containers/AgentArticle/AgentArticle.tsx +197 -0
  557. package/src/containers/AgentArticle/index.ts +5 -0
  558. package/src/containers/AgentProperties/AgentProperties.tsx +43 -0
  559. package/src/containers/AgentProperties/index.ts +5 -0
  560. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  561. package/src/containers/BlueprintArticle/index.ts +5 -0
  562. package/src/containers/ChatArticle/ChatArticle.stories.tsx +76 -0
  563. package/src/containers/ChatArticle/ChatArticle.tsx +107 -0
  564. package/src/containers/ChatArticle/index.ts +5 -0
  565. package/src/containers/ChatCompanion/ChatCompanion.tsx +133 -0
  566. package/src/containers/ChatCompanion/index.ts +5 -0
  567. package/src/{components → containers/ChatDialog}/ChatDialog.tsx +14 -23
  568. package/src/containers/ChatDialog/index.ts +5 -0
  569. package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
  570. package/src/containers/PlanArticle/index.ts +5 -0
  571. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
  572. package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
  573. package/src/containers/RoutineArticle/index.ts +5 -0
  574. package/src/containers/RoutineList/RoutineList.stories.tsx +130 -0
  575. package/src/containers/RoutineList/RoutineList.tsx +50 -0
  576. package/src/containers/RoutineList/index.ts +5 -0
  577. package/src/containers/TracePanel/TracePanel.stories.tsx +319 -0
  578. package/src/containers/TracePanel/TracePanel.tsx +213 -0
  579. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  580. package/src/containers/TracePanel/dxn-extractor.ts +168 -0
  581. package/src/containers/TracePanel/index.ts +9 -0
  582. package/src/containers/TracePanel/testing/index.ts +6 -0
  583. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  584. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  585. package/src/containers/TriggerStatus/TriggerStatus.tsx +129 -0
  586. package/src/containers/TriggerStatus/index.ts +5 -0
  587. package/src/containers/index.ts +17 -0
  588. package/src/execution-graph/SPEC.md +678 -0
  589. package/src/execution-graph/execution-graph.test.ts +799 -0
  590. package/src/execution-graph/execution-graph.ts +714 -0
  591. package/src/execution-graph/index.ts +24 -0
  592. package/src/execution-graph/remote-snapshot.test.ts +116 -0
  593. package/src/execution-graph/span-tree.test.ts +249 -0
  594. package/src/execution-graph/span-tree.ts +259 -0
  595. package/src/execution-graph/testing/collect-trace-events.ts +74 -0
  596. package/src/execution-graph/testing/index.ts +5 -0
  597. package/src/extensions/index.ts +5 -0
  598. package/src/extensions/prompt-extension.ts +111 -0
  599. package/src/{queue-logger.ts → feed-logger.ts} +48 -20
  600. package/src/hooks/index.ts +3 -1
  601. package/src/hooks/useBlueprintRegistry.ts +48 -28
  602. package/src/hooks/useChatKeymap.ts +52 -0
  603. package/src/hooks/useChatProcessor.ts +57 -25
  604. package/src/hooks/useChatServices.ts +14 -37
  605. package/src/hooks/useChatToolbarActions.ts +98 -100
  606. package/src/hooks/useContextBinder.ts +22 -9
  607. package/src/hooks/useContextObjects.ts +20 -27
  608. package/src/hooks/useDebug.ts +38 -0
  609. package/src/hooks/useFilteredTypes.ts +37 -0
  610. package/src/hooks/usePresets.ts +2 -1
  611. package/src/hooks/useReferencesProvider.ts +11 -23
  612. package/src/index.ts +1 -7
  613. package/src/meta.ts +29 -8
  614. package/src/operations/create-chat.ts +84 -0
  615. package/src/operations/ensure-companion-chat.ts +63 -0
  616. package/src/operations/index.ts +16 -0
  617. package/src/operations/on-create-space.ts +24 -0
  618. package/src/operations/prompt.node.test.ts +80 -0
  619. package/src/operations/resolve-navigation-targets.ts +31 -0
  620. package/src/operations/run-prompt-in-new-chat.ts +113 -0
  621. package/src/operations/set-current-chat.ts +49 -0
  622. package/src/operations/toggle-trace-panel-debug.ts +27 -0
  623. package/src/operations/update-chat-name.ts +61 -0
  624. package/src/plugin.ts +11 -0
  625. package/src/processor/index.ts +0 -1
  626. package/src/processor/presets.ts +11 -3
  627. package/src/processor/processor.node.test.ts +41 -0
  628. package/src/processor/processor.ts +284 -160
  629. package/src/testing/data/trace-timeline-multiple.dx.json +1 -0
  630. package/src/testing/data/trace-timeline-remote.dx.json +1 -0
  631. package/src/testing/data/trace-timeline.dx.json +4657 -0
  632. package/src/testing/index.ts +2 -0
  633. package/src/testing/snapshot.ts +35 -0
  634. package/src/testing/test-generator.test.ts +71 -0
  635. package/src/testing/test-generator.ts +214 -191
  636. package/src/testing/test-sequence.ts +6 -6
  637. package/src/testing/test-services.ts +9 -7
  638. package/src/testing/test-trace.ts +20 -0
  639. package/src/testing/trace-timeline.node.conversations.json +1 -0
  640. package/src/testing/trace-timeline.node.test.ts +250 -0
  641. package/src/testing.ts +9 -0
  642. package/src/translations.ts +160 -87
  643. package/src/types/Assistant.ts +17 -54
  644. package/src/types/AssistantCapabilities.ts +35 -0
  645. package/src/types/AssistantEvents.ts +11 -0
  646. package/src/types/AssistantOperation.ts +152 -0
  647. package/src/types/Settings.ts +82 -0
  648. package/src/types/index.ts +8 -2
  649. package/src/types/service.ts +9 -11
  650. package/src/util/suggestions.test.ts +52 -0
  651. package/src/util/suggestions.ts +42 -0
  652. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs +0 -36
  653. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs.map +0 -7
  654. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs +0 -158
  655. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs.map +0 -7
  656. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs +0 -77
  657. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs.map +0 -7
  658. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs +0 -90
  659. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs.map +0 -7
  660. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs +0 -59
  661. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs.map +0 -7
  662. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
  663. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
  664. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs +0 -199
  665. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs.map +0 -7
  666. package/dist/lib/browser/blueprint-definition-5FT5JGPY.mjs +0 -12
  667. package/dist/lib/browser/chunk-2BOE3OTW.mjs +0 -262
  668. package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +0 -7
  669. package/dist/lib/browser/chunk-BNTPFZ7O.mjs +0 -229
  670. package/dist/lib/browser/chunk-BNTPFZ7O.mjs.map +0 -7
  671. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs +0 -335
  672. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs.map +0 -7
  673. package/dist/lib/browser/chunk-IXIIS4QA.mjs +0 -176
  674. package/dist/lib/browser/chunk-IXIIS4QA.mjs.map +0 -7
  675. package/dist/lib/browser/chunk-LRE4VEZV.mjs +0 -16
  676. package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +0 -7
  677. package/dist/lib/browser/chunk-U62BTGDF.mjs +0 -1929
  678. package/dist/lib/browser/chunk-U62BTGDF.mjs.map +0 -7
  679. package/dist/lib/browser/chunk-WBG5PTSX.mjs +0 -23
  680. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
  681. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
  682. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
  683. package/dist/lib/browser/index.mjs +0 -382
  684. package/dist/lib/browser/index.mjs.map +0 -7
  685. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs +0 -143
  686. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs.map +0 -7
  687. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +0 -17
  688. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +0 -7
  689. package/dist/lib/browser/meta.json +0 -1
  690. package/dist/lib/browser/react-surface-YCSR2MSR.mjs +0 -98
  691. package/dist/lib/browser/react-surface-YCSR2MSR.mjs.map +0 -7
  692. package/dist/lib/browser/settings-NYJGNQ5I.mjs +0 -23
  693. package/dist/lib/browser/settings-NYJGNQ5I.mjs.map +0 -7
  694. package/dist/lib/browser/state-GG7Z3NB7.mjs +0 -25
  695. package/dist/lib/browser/state-GG7Z3NB7.mjs.map +0 -7
  696. package/dist/lib/browser/toolkit-VYDAWNE4.mjs +0 -17
  697. package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +0 -7
  698. package/dist/lib/browser/types/index.mjs +0 -19
  699. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs +0 -37
  700. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs.map +0 -7
  701. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs +0 -159
  702. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs.map +0 -7
  703. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs +0 -78
  704. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs.map +0 -7
  705. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs +0 -91
  706. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs.map +0 -7
  707. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs +0 -60
  708. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs.map +0 -7
  709. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
  710. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
  711. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs +0 -200
  712. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs.map +0 -7
  713. package/dist/lib/node-esm/blueprint-definition-XW6QQVLV.mjs +0 -13
  714. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs +0 -264
  715. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +0 -7
  716. package/dist/lib/node-esm/chunk-AB74FOA2.mjs +0 -230
  717. package/dist/lib/node-esm/chunk-AB74FOA2.mjs.map +0 -7
  718. package/dist/lib/node-esm/chunk-BHS747K7.mjs +0 -1930
  719. package/dist/lib/node-esm/chunk-BHS747K7.mjs.map +0 -7
  720. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  721. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs +0 -336
  722. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs.map +0 -7
  723. package/dist/lib/node-esm/chunk-UXTUHH24.mjs +0 -178
  724. package/dist/lib/node-esm/chunk-UXTUHH24.mjs.map +0 -7
  725. package/dist/lib/node-esm/chunk-WE6KTH72.mjs +0 -25
  726. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
  727. package/dist/lib/node-esm/chunk-YWFWT57N.mjs +0 -17
  728. package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +0 -7
  729. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
  730. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
  731. package/dist/lib/node-esm/index.mjs +0 -383
  732. package/dist/lib/node-esm/index.mjs.map +0 -7
  733. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs +0 -144
  734. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs.map +0 -7
  735. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +0 -18
  736. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +0 -7
  737. package/dist/lib/node-esm/meta.json +0 -1
  738. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs +0 -99
  739. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs.map +0 -7
  740. package/dist/lib/node-esm/settings-RRHYI5KO.mjs +0 -24
  741. package/dist/lib/node-esm/settings-RRHYI5KO.mjs.map +0 -7
  742. package/dist/lib/node-esm/state-FSUHFMDM.mjs +0 -26
  743. package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +0 -7
  744. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +0 -18
  745. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +0 -7
  746. package/dist/lib/node-esm/types/index.mjs +0 -20
  747. package/dist/types/src/capabilities/capabilities.d.ts +0 -10
  748. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  749. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  750. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  751. package/dist/types/src/components/BlueprintArticle.d.ts +0 -7
  752. package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
  753. package/dist/types/src/components/ChatCompanion.d.ts +0 -13
  754. package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
  755. package/dist/types/src/components/ChatContainer.d.ts +0 -14
  756. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  757. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  758. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +0 -7
  759. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +0 -1
  760. package/dist/types/src/components/ChatProgress/index.d.ts +0 -2
  761. package/dist/types/src/components/ChatProgress/index.d.ts.map +0 -1
  762. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  763. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  764. package/dist/types/src/components/PromptArticle.d.ts +0 -7
  765. package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
  766. package/dist/types/src/events.d.ts +0 -4
  767. package/dist/types/src/events.d.ts.map +0 -1
  768. package/dist/types/src/functions/analysis.d.ts +0 -5
  769. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  770. package/dist/types/src/functions/index.d.ts +0 -4
  771. package/dist/types/src/functions/index.d.ts.map +0 -1
  772. package/dist/types/src/functions/object-list.d.ts +0 -10
  773. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  774. package/dist/types/src/functions/object-load.d.ts +0 -8
  775. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  776. package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
  777. package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
  778. package/dist/types/src/processor/processor.test.d.ts +0 -2
  779. package/dist/types/src/processor/processor.test.d.ts.map +0 -1
  780. package/dist/types/src/processor/update-name.d.ts +0 -10
  781. package/dist/types/src/processor/update-name.d.ts.map +0 -1
  782. package/dist/types/src/queue-logger.d.ts +0 -11
  783. package/dist/types/src/queue-logger.d.ts.map +0 -1
  784. package/dist/types/src/types/AssistantAction.d.ts +0 -132
  785. package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
  786. package/dist/types/src/types/defs.d.ts +0 -2
  787. package/dist/types/src/types/defs.d.ts.map +0 -1
  788. package/src/AssistantPlugin.tsx +0 -185
  789. package/src/capabilities/capabilities.ts +0 -17
  790. package/src/capabilities/intent-resolver.ts +0 -147
  791. package/src/components/BlueprintArticle.tsx +0 -29
  792. package/src/components/ChatCompanion.tsx +0 -155
  793. package/src/components/ChatContainer.tsx +0 -61
  794. package/src/components/ChatProgress/ChatProgress.tsx +0 -67
  795. package/src/components/ChatThread/reducers.ts +0 -151
  796. package/src/components/PromptArticle.tsx +0 -51
  797. package/src/events.ts +0 -11
  798. package/src/functions/analysis.ts +0 -22
  799. package/src/functions/index.ts +0 -7
  800. package/src/functions/object-list.ts +0 -48
  801. package/src/functions/object-load.ts +0 -45
  802. package/src/hooks/useItemTypes.ts +0 -37
  803. package/src/processor/processor.test.ts +0 -71
  804. package/src/processor/update-name.ts +0 -56
  805. package/src/types/AssistantAction.ts +0 -79
  806. package/src/types/defs.ts +0 -5
  807. /package/dist/lib/{browser/blueprint-definition-5FT5JGPY.mjs.map → neutral/AssistantPlugin.mjs.map} +0 -0
  808. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ChatArticle-WVAFZPVI.mjs.map} +0 -0
  809. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  810. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  811. /package/dist/lib/{node-esm/blueprint-definition-XW6QQVLV.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  812. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  813. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TracePanel/TracePanel.tsx", "../../../src/containers/TracePanel/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport * as Data from 'effect/Data';\nimport * as Duration from 'effect/Duration';\nimport { pipe } from 'effect/Function';\nimport React, { useCallback, useDeferredValue, useMemo, useState } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability, useAtomCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Process, Trace } from '@dxos/compute';\nimport { Filter, Query } from '@dxos/echo';\nimport { AtomQuery } from '@dxos/echo-atom';\nimport { FeedTraceSink } from '@dxos/functions-runtime';\nimport { EchoURI } from '@dxos/keys';\nimport { type Space } from '@dxos/react-client/echo';\nimport { ScrollContainer } from '@dxos/react-ui';\nimport { composable, composableProps } from '@dxos/react-ui';\nimport { useAttentionAttributes } from '@dxos/react-ui-attention';\nimport { Timeline, type Commit } from '@dxos/react-ui-components';\nimport { Syntax } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/ui-theme';\n\nimport { ProcessTree, ProcessTreeProps } from '#components';\nimport { buildExecutionGraph, type ExecutionGraph } from '#execution-graph';\nimport { AssistantCapabilities } from '#types';\n\nexport type TracePanelProps = AppSurface.SpaceArticleProps<Pick<ProcessTreeProps, 'onProcessTerminate'>>;\n\nexport const TracePanel = composable<HTMLDivElement, TracePanelProps>(\n ({ space, attendableId, onProcessTerminate, ...props }, forwardedRef) => {\n const attentionAttrs = useAttentionAttributes(attendableId);\n const { invokePromise } = useOperationInvoker();\n const settings = useAtomCapability(AssistantCapabilities.Settings);\n const tracePanelDebug = settings.tracePanelDebug ?? false;\n\n // `useDeferredValue` batches update bursts, works together with `React.memo`.\n // See the comment in `ProcessTreeContainer` for more details.\n const { branches, commits, spanTree, details } = useDeferredValue(useExecutionGraph(space));\n\n const [selectedCommit, setSelectedCommit] = useState<Commit | undefined>();\n const handleCommitSelect = useCallback(\n (commit: Commit | undefined) => {\n setSelectedCommit(commit);\n if (commit?.link) {\n const echoUri = EchoURI.tryParse(commit.link);\n const spaceId = echoUri ? EchoURI.getSpaceId(echoUri) : undefined;\n const objectId = echoUri ? EchoURI.getObjectId(echoUri) : undefined;\n if (spaceId && objectId) {\n // TODO(dmaretskyi): Navigates, but fails to open.\n void invokePromise(LayoutOperation.Open, {\n subject: [`${spaceId}:${objectId}`],\n });\n }\n }\n },\n [invokePromise, setSelectedCommit],\n );\n\n // Select current branch.\n const [currentBranch, setCurrentBranch] = useState<string | null>(null);\n const handleProcessSelect = useCallback(\n (process: Process.Info) => {\n const branch = branches.find((branch) => branch === process.pid.toString());\n if (branch) {\n setCurrentBranch(branch);\n }\n },\n [branches],\n );\n\n return (\n <div\n {...composableProps(props, {\n ...attentionAttrs,\n classNames: mx(\n 'h-full grid divide-y divide-separator',\n !tracePanelDebug && selectedCommit\n ? 'grid-rows-[minmax(0,4lh)_1fr_minmax(0,206px)]'\n : 'grid-rows-[minmax(0,4lh)_1fr]',\n ),\n })}\n ref={forwardedRef}\n >\n <ProcessTreeContainer onProcessSelect={handleProcessSelect} onProcessTerminate={onProcessTerminate} />\n\n <ScrollContainer.Root pin>\n <ScrollContainer.Content thin>\n <ScrollContainer.Fade />\n <ScrollContainer.Viewport>\n {tracePanelDebug ? (\n <Syntax.Root data={spanTree}>\n <Syntax.Content>\n <Syntax.Viewport>\n <Syntax.Code className='text-xs' />\n </Syntax.Viewport>\n </Syntax.Content>\n </Syntax.Root>\n ) : (\n <Timeline\n compact\n commits={commits}\n branches={branches}\n currentBranch={currentBranch}\n onSelect={handleCommitSelect}\n />\n )}\n </ScrollContainer.Viewport>\n <ScrollContainer.ScrollDownButton />\n </ScrollContainer.Content>\n </ScrollContainer.Root>\n\n {!tracePanelDebug && selectedCommit && (\n <Syntax.Root data={details[selectedCommit.id] ?? selectedCommit}>\n <Syntax.Content>\n <Syntax.Viewport>\n <Syntax.Code className='text-xs' />\n </Syntax.Viewport>\n </Syntax.Content>\n </Syntax.Root>\n )}\n </div>\n );\n },\n);\n\n// Stable ref.\nconst atomEmpty = Atom.make(() => [] as const);\n\ntype UseExecutionGraphOptions = {\n eventLimit?: number;\n};\n\nconst useExecutionGraph = (space: Space, { eventLimit }: UseExecutionGraphOptions = {}): ExecutionGraph => {\n const monitor = useCapability(Capabilities.ProcessMonitor);\n const processesAtom = monitor?.processTreeAtom ?? atomEmpty;\n\n const atom = useMemo(\n () => getExecutionGraph(space, processesAtom, { eventLimit }),\n [space, processesAtom, eventLimit],\n );\n\n return useAtomValue(atom);\n};\n\nconst getExecutionGraph = (\n space: Space,\n processesAtom: Atom.Atom<readonly Process.Info[]>,\n { eventLimit = 100 }: UseExecutionGraphOptions = {},\n): Atom.Atom<ExecutionGraph> => {\n const traceMessages = pipe(\n AtomQuery.make(space.db, FeedTraceSink.query),\n Atom.map((feeds) =>\n // TODO(dmaretskyi): This should be possible in a single query with properly working limit(1) and feed > feed contents traversal.\n AtomQuery.make(\n space.db,\n feeds.length > 0\n ? Query.type(Trace.Message).from(feeds[0])\n : (Query.select(Filter.nothing()) as Query.Query<never>),\n ),\n ),\n (atom) => Atom.make((get) => get(get(atom))),\n );\n\n const activeProcesses = pipe(\n processesAtom,\n Atom.debounce(Duration.millis(100)),\n Atom.map((processes) =>\n // `Data.array` does structural comparison on the array elements.\n Data.array(\n processes\n .filter((process) => process.state === Process.State.RUNNING || process.state === Process.State.HYBERNATING)\n .map(Data.struct),\n ),\n ),\n );\n\n return Atom.make((get) =>\n buildExecutionGraph({\n traceMessages: get(traceMessages),\n activeProcesses: get(activeProcesses),\n eventLimit,\n }),\n );\n};\nTracePanel.displayName = 'TracePanel';\n\n// Isolate `ProcessTree` updates from the rest of the panel.\n// TODO(dmaretskyi): Currently not useful since `useExecutionGraph` also pulls in the updates.\nconst ProcessTreeContainer = ({\n onProcessSelect,\n onProcessTerminate,\n}: Pick<ProcessTreeProps, 'onProcessSelect' | 'onProcessTerminate'>) => {\n const monitor = useCapability(Capabilities.ProcessMonitor);\n const processes = useAtomValue(monitor?.processTreeAtom ?? atomEmpty);\n\n // `processes` updates in bursts (about 14 updates per navigation).\n // `useDeferredValue` will debounce update propagation, returning stale value for short periods.\n // NOTE: `ProcessTree` MUST use `React.memo`, otherwise this will not work.\n const processesDeferred = useDeferredValue(processes);\n return (\n <ProcessTree\n processes={processesDeferred}\n onProcessSelect={onProcessSelect}\n onProcessTerminate={onProcessTerminate}\n />\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { TracePanel } from './TracePanel';\n\nexport * from './TracePanel';\n\nexport default TracePanel;\n"],
5
+ "mappings": ";;;AAIA,SAASA,YAAY;AACrB,SAASC,oBAAoB;AAC7B,YAAYC,UAAU;AACtB,YAAYC,cAAc;AAC1B,SAASC,YAAY;AACrB,OAAOC,SAASC,aAAaC,kBAAkBC,SAASC,gBAAgB;AAExE,SAASC,oBAAoB;AAC7B,SAASC,eAAeC,mBAAmBC,2BAA2B;AACtE,SAASC,uBAAuB;AAEhC,SAASC,SAASC,aAAa;AAC/B,SAASC,QAAQC,aAAa;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAC9B,SAASC,eAAe;AAExB,SAASC,uBAAuB;AAChC,SAASC,YAAYC,uBAAuB;AAC5C,SAASC,8BAA8B;AACvC,SAASC,gBAA6B;AACtC,SAASC,cAAc;AACvB,SAASC,UAAU;AAEnB,SAASC,mBAAqC;AAC9C,SAASC,2BAAgD;AACzD,SAASC,6BAA6B;AAI/B,IAAMC,aAAaT,WACxB,CAAC,EAAEU,OAAOC,cAAcC,oBAAoB,GAAGC,MAAAA,GAASC,iBAAAA;AACtD,QAAMC,iBAAiBb,uBAAuBS,YAAAA;AAC9C,QAAM,EAAEK,cAAa,IAAK1B,oBAAAA;AAC1B,QAAM2B,WAAW5B,kBAAkBmB,sBAAsBU,QAAQ;AACjE,QAAMC,kBAAkBF,SAASE,mBAAmB;AAIpD,QAAM,EAAEC,UAAUC,SAASC,UAAUC,QAAO,IAAKvC,iBAAiBwC,kBAAkBd,KAAAA,CAAAA;AAEpF,QAAM,CAACe,gBAAgBC,iBAAAA,IAAqBxC,SAAAA;AAC5C,QAAMyC,qBAAqB5C,YACzB,CAAC6C,WAAAA;AACCF,sBAAkBE,MAAAA;AAClB,QAAIA,QAAQC,MAAM;AAChB,YAAMC,UAAUhC,QAAQiC,SAASH,OAAOC,IAAI;AAC5C,YAAMG,UAAUF,UAAUhC,QAAQmC,WAAWH,OAAAA,IAAWI;AACxD,YAAMC,WAAWL,UAAUhC,QAAQsC,YAAYN,OAAAA,IAAWI;AAC1D,UAAIF,WAAWG,UAAU;AAEvB,aAAKnB,cAAczB,gBAAgB8C,MAAM;UACvCC,SAAS;YAAC,GAAGN,OAAAA,IAAWG,QAAAA;;QAC1B,CAAA;MACF;IACF;EACF,GACA;IAACnB;IAAeU;GAAkB;AAIpC,QAAM,CAACa,eAAeC,gBAAAA,IAAoBtD,SAAwB,IAAA;AAClE,QAAMuD,sBAAsB1D,YAC1B,CAAC2D,YAAAA;AACC,UAAMC,SAASvB,SAASwB,KAAK,CAACD,YAAWA,YAAWD,QAAQG,IAAIC,SAAQ,CAAA;AACxE,QAAIH,QAAQ;AACVH,uBAAiBG,MAAAA;IACnB;EACF,GACA;IAACvB;GAAS;AAGZ,SACE,sBAAA,cAAC2B,OAAAA;IACE,GAAG9C,gBAAgBY,OAAO;MACzB,GAAGE;MACHiC,YAAY3C,GACV,yCACA,CAACc,mBAAmBM,iBAChB,kDACA,+BAAA;IAER,CAAA;IACAwB,KAAKnC;KAEL,sBAAA,cAACoC,sBAAAA;IAAqBC,iBAAiBV;IAAqB7B;MAE5D,sBAAA,cAACb,gBAAgBqD,MAAI;IAACC,KAAAA;KACpB,sBAAA,cAACtD,gBAAgBuD,SAAO;IAACC,MAAAA;KACvB,sBAAA,cAACxD,gBAAgByD,MAAI,IAAA,GACrB,sBAAA,cAACzD,gBAAgB0D,UAAQ,MACtBtC,kBACC,sBAAA,cAACf,OAAOgD,MAAI;IAACM,MAAMpC;KACjB,sBAAA,cAAClB,OAAOkD,SAAO,MACb,sBAAA,cAAClD,OAAOqD,UAAQ,MACd,sBAAA,cAACrD,OAAOuD,MAAI;IAACC,WAAU;UAK7B,sBAAA,cAACzD,UAAAA;IACC0D,SAAAA;IACAxC;IACAD;IACAmB;IACAuB,UAAUnC;OAIhB,sBAAA,cAAC5B,gBAAgBgE,kBAAgB,IAAA,CAAA,CAAA,GAIpC,CAAC5C,mBAAmBM,kBACnB,sBAAA,cAACrB,OAAOgD,MAAI;IAACM,MAAMnC,QAAQE,eAAeuC,EAAE,KAAKvC;KAC/C,sBAAA,cAACrB,OAAOkD,SAAO,MACb,sBAAA,cAAClD,OAAOqD,UAAQ,MACd,sBAAA,cAACrD,OAAOuD,MAAI;IAACC,WAAU;;AAOrC,CAAA;AAIF,IAAMK,YAAYxF,KAAKyF,KAAK,MAAM,CAAA,CAAE;AAMpC,IAAM1C,oBAAoB,CAACd,OAAc,EAAEyD,WAAU,IAA+B,CAAC,MAAC;AACpF,QAAMC,UAAUhF,cAAcD,aAAakF,cAAc;AACzD,QAAMC,gBAAgBF,SAASG,mBAAmBN;AAElD,QAAMO,OAAOvF,QACX,MAAMwF,kBAAkB/D,OAAO4D,eAAe;IAAEH;EAAW,CAAA,GAC3D;IAACzD;IAAO4D;IAAeH;GAAW;AAGpC,SAAOzF,aAAa8F,IAAAA;AACtB;AAEA,IAAMC,oBAAoB,CACxB/D,OACA4D,eACA,EAAEH,aAAa,IAAG,IAA+B,CAAC,MAAC;AAEnD,QAAMO,gBAAgB7F,KACpBe,UAAUsE,KAAKxD,MAAMiE,IAAI9E,cAAc+E,KAAK,GAC5CnG,KAAKoG,IAAI,CAACC;;IAERlF,UAAUsE,KACRxD,MAAMiE,IACNG,MAAMC,SAAS,IACXpF,MAAMqF,KAAKvF,MAAMwF,OAAO,EAAEC,KAAKJ,MAAM,CAAA,CAAE,IACtCnF,MAAMwF,OAAOzF,OAAO0F,QAAO,CAAA,CAAA;GAAA,GAGpC,CAACZ,SAAS/F,KAAKyF,KAAK,CAACmB,QAAQA,IAAIA,IAAIb,IAAAA,CAAAA,CAAAA,CAAAA;AAGvC,QAAMc,kBAAkBzG,KACtByF,eACA7F,KAAK8G,SAAkBC,gBAAO,GAAA,CAAA,GAC9B/G,KAAKoG,IAAI,CAACY;;IAEHC,WACHD,UACGE,OAAO,CAACjD,YAAYA,QAAQkD,UAAUpG,QAAQqG,MAAMC,WAAWpD,QAAQkD,UAAUpG,QAAQqG,MAAME,WAAW,EAC1GlB,IAASmB,WAAM,CAAA;GAAA,CAAA;AAKxB,SAAOvH,KAAKyF,KAAK,CAACmB,QAChB9E,oBAAoB;IAClBmE,eAAeW,IAAIX,aAAAA;IACnBY,iBAAiBD,IAAIC,eAAAA;IACrBnB;EACF,CAAA,CAAA;AAEJ;AACA1D,WAAWwF,cAAc;AAIzB,IAAM/C,uBAAuB,CAAC,EAC5BC,iBACAvC,mBAAkB,MAC+C;AACjE,QAAMwD,UAAUhF,cAAcD,aAAakF,cAAc;AACzD,QAAMoB,YAAY/G,aAAa0F,SAASG,mBAAmBN,SAAAA;AAK3D,QAAMiC,oBAAoBlH,iBAAiByG,SAAAA;AAC3C,SACE,sBAAA,cAACnF,aAAAA;IACCmF,WAAWS;IACX/C;IACAvC;;AAGN;;;AC5MA,IAAA,qBAAeuF;",
6
+ "names": ["Atom", "useAtomValue", "Data", "Duration", "pipe", "React", "useCallback", "useDeferredValue", "useMemo", "useState", "Capabilities", "useCapability", "useAtomCapability", "useOperationInvoker", "LayoutOperation", "Process", "Trace", "Filter", "Query", "AtomQuery", "FeedTraceSink", "EchoURI", "ScrollContainer", "composable", "composableProps", "useAttentionAttributes", "Timeline", "Syntax", "mx", "ProcessTree", "buildExecutionGraph", "AssistantCapabilities", "TracePanel", "space", "attendableId", "onProcessTerminate", "props", "forwardedRef", "attentionAttrs", "invokePromise", "settings", "Settings", "tracePanelDebug", "branches", "commits", "spanTree", "details", "useExecutionGraph", "selectedCommit", "setSelectedCommit", "handleCommitSelect", "commit", "link", "echoUri", "tryParse", "spaceId", "getSpaceId", "undefined", "objectId", "getObjectId", "Open", "subject", "currentBranch", "setCurrentBranch", "handleProcessSelect", "process", "branch", "find", "pid", "toString", "div", "classNames", "ref", "ProcessTreeContainer", "onProcessSelect", "Root", "pin", "Content", "thin", "Fade", "Viewport", "data", "Code", "className", "compact", "onSelect", "ScrollDownButton", "id", "atomEmpty", "make", "eventLimit", "monitor", "ProcessMonitor", "processesAtom", "processTreeAtom", "atom", "getExecutionGraph", "traceMessages", "db", "query", "map", "feeds", "length", "type", "Message", "from", "select", "nothing", "get", "activeProcesses", "debounce", "millis", "processes", "array", "filter", "state", "State", "RUNNING", "HYBERNATING", "struct", "displayName", "processesDeferred", "TracePanel"]
7
+ }
@@ -0,0 +1,92 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/TriggerStatus/TriggerStatus.tsx
4
+ import React, { useMemo } from "react";
5
+ import { useTriggerRuntimeControls } from "@dxos/plugin-automation/hooks";
6
+ import { StatusBar } from "@dxos/plugin-status-bar/components";
7
+ import { useObject } from "@dxos/react-client/echo";
8
+ import { IconButton, Popover, useTranslation } from "@dxos/react-ui";
9
+ import { meta } from "#meta";
10
+ var getIcon = (state) => {
11
+ switch (state) {
12
+ case "disabled":
13
+ return "ph--lightning-slash--regular";
14
+ case "idle":
15
+ return "ph--lightning--regular";
16
+ case "edge":
17
+ return "ph--lightning--regular";
18
+ case "running":
19
+ return "ph--lightning--fill";
20
+ case "error":
21
+ return "ph--warning--regular";
22
+ }
23
+ };
24
+ var getIconClassNames = (state) => {
25
+ switch (state) {
26
+ case "running":
27
+ return "animate-pulse text-accent-text";
28
+ case "error":
29
+ return "text-error-text";
30
+ default:
31
+ return void 0;
32
+ }
33
+ };
34
+ var SpaceStatus = ({ space }) => {
35
+ const { t } = useTranslation(meta.id);
36
+ const { state } = useTriggerRuntimeControls(space.db);
37
+ const isEnabled = state?.enabled ?? false;
38
+ const [properties] = useObject(space.properties);
39
+ const computeEnvironment = properties.computeEnvironment ?? "local";
40
+ const triggerState = useMemo(() => {
41
+ if (computeEnvironment === "edge") {
42
+ return "edge";
43
+ }
44
+ if (!isEnabled) {
45
+ return "disabled";
46
+ }
47
+ const hasPending = state?.invocations.some((invocation) => invocation.result === null);
48
+ if (hasPending) {
49
+ return "running";
50
+ }
51
+ const lastInvocation = state?.invocations.at(-1);
52
+ if (lastInvocation?.result?._tag === "Failure") {
53
+ return "error";
54
+ }
55
+ return "idle";
56
+ }, [
57
+ computeEnvironment,
58
+ isEnabled,
59
+ state?.invocations
60
+ ]);
61
+ return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
62
+ asChild: true
63
+ }, /* @__PURE__ */ React.createElement(StatusBar.Item, null, /* @__PURE__ */ React.createElement(IconButton, {
64
+ icon: getIcon(triggerState),
65
+ iconOnly: true,
66
+ label: t(`trigger-status-${triggerState}.label`),
67
+ classNames: getIconClassNames(triggerState)
68
+ }))), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
69
+ side: "left"
70
+ }, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
71
+ state: triggerState,
72
+ currentFunctionName: state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key,
73
+ lastInvocation: state?.invocations.at(-1)
74
+ }), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
75
+ };
76
+ var TriggerStatusPopover = ({ state, currentFunctionName, lastInvocation }) => {
77
+ const { t } = useTranslation(meta.id);
78
+ return /* @__PURE__ */ React.createElement("div", {
79
+ className: "flex flex-col gap-2 p-2 w-[240px]"
80
+ }, /* @__PURE__ */ React.createElement("div", {
81
+ className: "flex flex-col gap-1"
82
+ }, /* @__PURE__ */ React.createElement("div", {
83
+ className: "text-sm"
84
+ }, t(`trigger-status-${state}.label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("div", {
85
+ className: "text-xs text-description"
86
+ }, currentFunctionName)));
87
+ };
88
+ export {
89
+ SpaceStatus,
90
+ SpaceStatus as default
91
+ };
92
+ //# sourceMappingURL=TriggerStatus-WTFYUIG5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TriggerStatus/TriggerStatus.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { type InvocationsState } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation/hooks';\nimport { StatusBar } from '@dxos/plugin-status-bar/components';\nimport { useObject } from '@dxos/react-client/echo';\nimport { IconButton, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\ntype TriggerStatusState = 'disabled' | 'idle' | 'running' | 'edge' | 'error';\n\nconst getIcon = (state: TriggerStatusState): string => {\n switch (state) {\n case 'disabled':\n return 'ph--lightning-slash--regular';\n case 'idle':\n return 'ph--lightning--regular';\n case 'edge':\n return 'ph--lightning--regular';\n case 'running':\n return 'ph--lightning--fill';\n case 'error':\n return 'ph--warning--regular';\n }\n};\n\nconst getIconClassNames = (state: TriggerStatusState): string | undefined => {\n switch (state) {\n case 'running':\n return 'animate-pulse text-accent-text';\n case 'error':\n return 'text-error-text';\n default:\n return undefined;\n }\n};\n\nexport type SpaceStatusProps = AppSurface.SpaceArticleProps;\n\nexport const SpaceStatus = ({ space }: SpaceStatusProps) => {\n const { t } = useTranslation(meta.id);\n const { state } = useTriggerRuntimeControls(space.db);\n const isEnabled = state?.enabled ?? false;\n const [properties] = useObject(space.properties);\n const computeEnvironment = properties.computeEnvironment ?? 'local';\n\n // Determine the current trigger status state.\n const triggerState: TriggerStatusState = useMemo(() => {\n if (computeEnvironment === 'edge') {\n return 'edge';\n }\n\n if (!isEnabled) {\n return 'disabled';\n }\n\n // Check if there's any pending invocation.\n const hasPending = state?.invocations.some((invocation) => invocation.result === null);\n if (hasPending) {\n return 'running';\n }\n\n // Check if the last invocation failed.\n const lastInvocation = state?.invocations.at(-1);\n if (lastInvocation?.result?._tag === 'Failure') {\n return 'error';\n }\n\n return 'idle';\n }, [computeEnvironment, isEnabled, state?.invocations]);\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item>\n <IconButton\n icon={getIcon(triggerState)}\n iconOnly\n label={t(`trigger-status-${triggerState}.label`)}\n classNames={getIconClassNames(triggerState)}\n />\n </StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='left'>\n <TriggerStatusPopover\n state={triggerState}\n currentFunctionName={\n state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key\n }\n lastInvocation={state?.invocations.at(-1)}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ntype TriggerStatusPopoverProps = {\n state: TriggerStatusState;\n currentFunctionName?: string;\n lastInvocation?: InvocationsState;\n};\n\nconst TriggerStatusPopover = ({\n state,\n currentFunctionName,\n lastInvocation, // TODO(burdon): Show.\n}: TriggerStatusPopoverProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <div className='flex flex-col gap-2 p-2 w-[240px]'>\n <div className='flex flex-col gap-1'>\n <div className='text-sm'>{t(`trigger-status-${state}.label`)}</div>\n {currentFunctionName && state === 'running' && (\n <div className='text-xs text-description'>{currentFunctionName}</div>\n )}\n </div>\n </div>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,SAASC,sBAAsB;AAEpD,SAASC,YAAY;AAIrB,IAAMC,UAAU,CAACC,UAAAA;AACf,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;EACX;AACF;AAEA,IAAMC,oBAAoB,CAACD,UAAAA;AACzB,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT;AACE,aAAOE;EACX;AACF;AAIO,IAAMC,cAAc,CAAC,EAAEC,MAAK,MAAoB;AACrD,QAAM,EAAEC,EAAC,IAAKR,eAAeC,KAAKQ,EAAE;AACpC,QAAM,EAAEN,MAAK,IAAKR,0BAA0BY,MAAMG,EAAE;AACpD,QAAMC,YAAYR,OAAOS,WAAW;AACpC,QAAM,CAACC,UAAAA,IAAchB,UAAUU,MAAMM,UAAU;AAC/C,QAAMC,qBAAqBD,WAAWC,sBAAsB;AAG5D,QAAMC,eAAmCrB,QAAQ,MAAA;AAC/C,QAAIoB,uBAAuB,QAAQ;AACjC,aAAO;IACT;AAEA,QAAI,CAACH,WAAW;AACd,aAAO;IACT;AAGA,UAAMK,aAAab,OAAOc,YAAYC,KAAK,CAACC,eAAeA,WAAWC,WAAW,IAAA;AACjF,QAAIJ,YAAY;AACd,aAAO;IACT;AAGA,UAAMK,iBAAiBlB,OAAOc,YAAYK,GAAG,EAAC;AAC9C,QAAID,gBAAgBD,QAAQG,SAAS,WAAW;AAC9C,aAAO;IACT;AAEA,WAAO;EACT,GAAG;IAACT;IAAoBH;IAAWR,OAAOc;GAAY;AAEtD,SACE,sBAAA,cAAClB,QAAQyB,MAAI,MACX,sBAAA,cAACzB,QAAQ0B,SAAO;IAACC,SAAAA;KACf,sBAAA,cAAC9B,UAAU+B,MAAI,MACb,sBAAA,cAAC7B,YAAAA;IACC8B,MAAM1B,QAAQa,YAAAA;IACdc,UAAAA;IACAC,OAAOtB,EAAE,kBAAkBO,YAAAA,QAAoB;IAC/CgB,YAAY3B,kBAAkBW,YAAAA;QAIpC,sBAAA,cAAChB,QAAQiC,QAAM,MACb,sBAAA,cAACjC,QAAQkC,SAAO;IAACC,MAAK;KACpB,sBAAA,cAACC,sBAAAA;IACChC,OAAOY;IACPqB,qBACEjC,OAAOc,YAAYK,GAAG,EAAC,GAAIe,UAAUpC,KAAKqC,QAAQnC,OAAOc,YAAYK,GAAG,EAAC,GAAIe,UAAUpC,KAAKsC;IAE9FlB,gBAAgBlB,OAAOc,YAAYK,GAAG,EAAC;MAEzC,sBAAA,cAACvB,QAAQyC,OAAK,IAAA,CAAA,CAAA,CAAA;AAKxB;AAQA,IAAML,uBAAuB,CAAC,EAC5BhC,OACAiC,qBACAf,eAAc,MACY;AAC1B,QAAM,EAAEb,EAAC,IAAKR,eAAeC,KAAKQ,EAAE;AAEpC,SACE,sBAAA,cAACgC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAWlC,EAAE,kBAAkBL,KAAAA,QAAa,CAAA,GAC1DiC,uBAAuBjC,UAAU,aAChC,sBAAA,cAACsC,OAAAA;IAAIC,WAAU;KAA4BN,mBAAAA,CAAAA,CAAAA;AAKrD;",
6
+ "names": ["React", "useMemo", "useTriggerRuntimeControls", "StatusBar", "useObject", "IconButton", "Popover", "useTranslation", "meta", "getIcon", "state", "getIconClassNames", "undefined", "SpaceStatus", "space", "t", "id", "db", "isEnabled", "enabled", "properties", "computeEnvironment", "triggerState", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "Root", "Trigger", "asChild", "Item", "icon", "iconOnly", "label", "classNames", "Portal", "Content", "side", "TriggerStatusPopover", "currentFunctionName", "function", "name", "key", "Arrow", "div", "className"]
7
+ }
@@ -0,0 +1,42 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/ai-context.ts
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import { Capabilities, Capability } from "@dxos/app-framework";
7
+ import { AiContext } from "@dxos/assistant";
8
+ import { LayerSpec, ServiceNotAvailableError } from "@dxos/compute";
9
+ import { Database, EchoURI, Feed } from "@dxos/echo";
10
+ import { acquireReleaseResource } from "@dxos/effect";
11
+ var AiContextSpec = LayerSpec.make({
12
+ affinity: "process",
13
+ requires: [
14
+ Database.Service,
15
+ Feed.FeedService
16
+ ],
17
+ provides: [
18
+ AiContext.Service
19
+ ]
20
+ }, (context) => Layer.scoped(AiContext.Service, Effect.gen(function* () {
21
+ if (!context.conversation) {
22
+ return yield* Effect.die(new ServiceNotAvailableError(AiContext.Service.key, {
23
+ message: `Service not available: ${AiContext.Service.key} \u2014 process spawn is missing 'conversation' in environment (set via Operation.withInvocationOptions or ProcessManager.spawn environment)`
24
+ }));
25
+ }
26
+ const feed = yield* Database.resolve(EchoURI.parse(context.conversation), Feed.Feed).pipe(Effect.orDie);
27
+ const runtime2 = yield* Effect.runtime();
28
+ const binder = yield* acquireReleaseResource(() => new AiContext.Binder({
29
+ feed,
30
+ runtime: runtime2
31
+ }));
32
+ return {
33
+ binder
34
+ };
35
+ })));
36
+ var ai_context_default = Capability.makeModule(() => Effect.succeed([
37
+ Capability.contributes(Capabilities.LayerSpec, AiContextSpec)
38
+ ]));
39
+ export {
40
+ ai_context_default as default
41
+ };
42
+ //# sourceMappingURL=ai-context-ERNAJDGG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-context.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AiContext } from '@dxos/assistant';\nimport { LayerSpec, ServiceNotAvailableError } from '@dxos/compute';\nimport { Database, EchoURI, Feed } from '@dxos/echo';\nimport { acquireReleaseResource } from '@dxos/effect';\n\n//\n// Capability Module\n//\n// Contributes a process-affinity `LayerSpec` that materialises\n// {@link AiContext.Service} from the resolution context's `conversation` DXN.\n//\n// Previously, `AiContext.Service` was provided only inline by the assistant\n// plugin processor and by `AiSession.createRequest`. That works while the\n// formatting code runs inside the calling fiber, but breaks the moment any\n// nested call crosses a process boundary via `Operation.invoke` — the spawned\n// process gets its own `ServiceResolver`/`LayerStack` and there is no\n// production provider for `AiContext.Service` to back it.\n//\n// The dispatcher path (trigger → AgentWorker → AiSession.createRequest →\n// formatSystemPrompt → Template.processTemplate → Operation.invoke(GetContext))\n// hits exactly this gap: `GetContext` declares `services: [AiContext.Service,\n// Database.Service]`, the child spawn inherits `space` + `conversation` from\n// the parent's environment (see TriggerDispatcher + Operation.invoke), but\n// then `LayerStack` has nothing to satisfy `AiContext.Service` with.\n//\n// This spec mirrors the test-layer factory in\n// `@dxos/functions-runtime/testing` so the production resolver behaves the\n// same way: load the conversation feed via `Database.Service`, hand it to an\n// `AiContext.Binder`, and scope the binder to the process slice's lifetime.\n//\n\n/**\n * Process-affinity LayerSpec for {@link AiContext.Service}.\n *\n * The factory runs once per process slice (keyed on space + conversation +\n * process id). If `context.conversation` is absent the slice fails with a\n * `ServiceNotAvailable` defect — there is no useful binder to build without\n * a conversation feed, and a precise error at slice init beats a silent\n * binder that throws on first use.\n */\nconst AiContextSpec = LayerSpec.make(\n {\n affinity: 'process',\n requires: [Database.Service, Feed.FeedService],\n provides: [AiContext.Service],\n },\n (context) =>\n Layer.scoped(\n AiContext.Service,\n Effect.gen(function* () {\n // The spec is registered unconditionally so the LayerStack knows how\n // to satisfy `AiContext.Service` in principle. Surface a precise\n // failure when the conversation context is missing — this happens\n // when an operation that requires `AiContext.Service` is invoked\n // without going through `Operation.withInvocationOptions({\n // conversation })` (or equivalent spawn `environment`). Raised as a\n // defect because the spec's factory must produce\n // `Layer<..., never, ...>`; the trigger dispatcher's `causeToError`\n // path still surfaces the original message in logs.\n if (!context.conversation) {\n return yield* Effect.die(\n new ServiceNotAvailableError(AiContext.Service.key, {\n message: `Service not available: ${AiContext.Service.key} — process spawn is missing 'conversation' in environment (set via Operation.withInvocationOptions or ProcessManager.spawn environment)`,\n }),\n );\n }\n const feed = yield* Database.resolve(EchoURI.parse(context.conversation), Feed.Feed).pipe(Effect.orDie);\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const binder = yield* acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));\n return { binder };\n }),\n ),\n);\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(Capabilities.LayerSpec, AiContextSpec)]),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,WAAWC,gCAAgC;AACpD,SAASC,UAAUC,SAASC,YAAY;AACxC,SAASC,8BAA8B;AAqCvC,IAAMC,gBAAgBN,UAAUO,KAC9B;EACEC,UAAU;EACVC,UAAU;IAACP,SAASQ;IAASN,KAAKO;;EAClCC,UAAU;IAACb,UAAUW;;AACvB,GACA,CAACG,YACOC,aACJf,UAAUW,SACHK,WAAI,aAAA;AAUT,MAAI,CAACF,QAAQG,cAAc;AACzB,WAAO,OAAcC,WACnB,IAAIhB,yBAAyBF,UAAUW,QAAQQ,KAAK;MAClDC,SAAS,0BAA0BpB,UAAUW,QAAQQ,GAAG;IAC1D,CAAA,CAAA;EAEJ;AACA,QAAME,OAAO,OAAOlB,SAASmB,QAAQlB,QAAQmB,MAAMT,QAAQG,YAAY,GAAGZ,KAAKA,IAAI,EAAEmB,KAAYC,YAAK;AACtG,QAAMC,WAAU,OAAcA,eAAO;AACrC,QAAMC,SAAS,OAAOrB,uBAAuB,MAAM,IAAIN,UAAU4B,OAAO;IAAEP;IAAMK,SAAAA;EAAQ,CAAA,CAAA;AACxF,SAAO;IAAEC;EAAO;AAClB,CAAA,CAAA,CAAA;AAIN,IAAA,qBAAe5B,WAAW8B,WAAW,MAC5BC,eAAQ;EAAC/B,WAAWgC,YAAYjC,aAAaG,WAAWM,aAAAA;CAAe,CAAA;",
6
+ "names": ["Effect", "Layer", "Capabilities", "Capability", "AiContext", "LayerSpec", "ServiceNotAvailableError", "Database", "EchoURI", "Feed", "acquireReleaseResource", "AiContextSpec", "make", "affinity", "requires", "Service", "FeedService", "provides", "context", "scoped", "gen", "conversation", "die", "key", "message", "feed", "resolve", "parse", "pipe", "orDie", "runtime", "binder", "Binder", "makeModule", "succeed", "contributes"]
7
+ }
@@ -0,0 +1,34 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/ai-service.ts
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import { AiModelResolver, AiService } from "@dxos/ai";
7
+ import { Capabilities, Capability } from "@dxos/app-framework";
8
+ import { AppCapabilities } from "@dxos/app-toolkit";
9
+ import { LayerSpec } from "@dxos/compute";
10
+ var ai_service_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
+ const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);
12
+ const combinedLayer = resolvers.reduce((acc, resolver) => resolver.pipe(Layer.provide(acc)), AiModelResolver.AiModelResolver.fromModelMap({
13
+ name: "Fallback"
14
+ }, Effect.succeed({})));
15
+ const aiServiceLayer = AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer));
16
+ const aiServiceSpec = LayerSpec.make({
17
+ affinity: "application",
18
+ requires: [],
19
+ provides: [
20
+ AiService.AiService
21
+ ]
22
+ }, () => aiServiceLayer);
23
+ return [
24
+ // Deprecated: `AppCapabilities.AiServiceLayer` is retained for non-process-manager
25
+ // call sites (e.g. legacy CLI paths). New consumers should resolve `AiService.AiService`
26
+ // through the process manager runtime via the `LayerSpec` contribution below.
27
+ Capability.contributes(AppCapabilities.AiServiceLayer, aiServiceLayer),
28
+ Capability.contributes(Capabilities.LayerSpec, aiServiceSpec)
29
+ ];
30
+ }));
31
+ export {
32
+ ai_service_default as default
33
+ };
34
+ //# sourceMappingURL=ai-service-7SQH5S4F.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-service.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { AiModelResolver, AiService } from '@dxos/ai';\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { LayerSpec } from '@dxos/compute';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);\n\n // TODO(dmaretskyi): Extract function to reduce them.\n const combinedLayer = resolvers.reduce(\n (acc, resolver) => resolver.pipe(Layer.provide(acc)),\n AiModelResolver.AiModelResolver.fromModelMap({ name: 'Fallback' }, Effect.succeed({})), // Empty resolver as fallback.\n );\n\n const aiServiceLayer: Layer.Layer<AiService.AiService> = AiModelResolver.AiModelResolver.buildAiService.pipe(\n Layer.provide(combinedLayer),\n );\n\n const aiServiceSpec = LayerSpec.make(\n {\n affinity: 'application',\n requires: [],\n provides: [AiService.AiService],\n },\n () => aiServiceLayer,\n );\n\n return [\n // Deprecated: `AppCapabilities.AiServiceLayer` is retained for non-process-manager\n // call sites (e.g. legacy CLI paths). New consumers should resolve `AiService.AiService`\n // through the process manager runtime via the `LayerSpec` contribution below.\n Capability.contributes(AppCapabilities.AiServiceLayer, aiServiceLayer),\n Capability.contributes(Capabilities.LayerSpec, aiServiceSpec),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiBC,iBAAiB;AAC3C,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAE1B,IAAA,qBAAeF,WAAWG,WACjBC,kBAAW,aAAA;AAChB,QAAMC,YAAY,OAAOL,WAAWM,OAAOL,gBAAgBJ,eAAe;AAG1E,QAAMU,gBAAgBF,UAAUG,OAC9B,CAACC,KAAKC,aAAaA,SAASC,KAAWC,cAAQH,GAAAA,CAAAA,GAC/CZ,gBAAgBA,gBAAgBgB,aAAa;IAAEC,MAAM;EAAW,GAAUC,eAAQ,CAAC,CAAA,CAAA,CAAA;AAGrF,QAAMC,iBAAmDnB,gBAAgBA,gBAAgBoB,eAAeN,KAChGC,cAAQL,aAAAA,CAAAA;AAGhB,QAAMW,gBAAgBhB,UAAUiB,KAC9B;IACEC,UAAU;IACVC,UAAU,CAAA;IACVC,UAAU;MAACxB,UAAUA;;EACvB,GACA,MAAMkB,cAAAA;AAGR,SAAO;;;;IAILhB,WAAWuB,YAAYtB,gBAAgBuB,gBAAgBR,cAAAA;IACvDhB,WAAWuB,YAAYxB,aAAaG,WAAWgB,aAAAA;;AAEnD,CAAA,CAAA;",
6
+ "names": ["Effect", "Layer", "AiModelResolver", "AiService", "Capabilities", "Capability", "AppCapabilities", "LayerSpec", "makeModule", "fnUntraced", "resolvers", "getAll", "combinedLayer", "reduce", "acc", "resolver", "pipe", "provide", "fromModelMap", "name", "succeed", "aiServiceLayer", "buildAiService", "aiServiceSpec", "make", "affinity", "requires", "provides", "contributes", "AiServiceLayer"]
7
+ }
@@ -0,0 +1,199 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/app-graph-builder.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { pipe } from "effect/Function";
6
+ import * as Option from "effect/Option";
7
+ import { Capability } from "@dxos/app-framework";
8
+ import { AppCapabilities, AppNode, getActiveSpace, getPersonalSpace } from "@dxos/app-toolkit";
9
+ import { AgentPrompt, Chat } from "@dxos/assistant-toolkit";
10
+ import { Blueprint, Operation, Routine } from "@dxos/compute";
11
+ import { Sequence } from "@dxos/conductor";
12
+ import { DXN, Database, Filter, Obj } from "@dxos/echo";
13
+ import { AtomObj } from "@dxos/echo-atom";
14
+ import { invariant } from "@dxos/invariant";
15
+ import { ClientCapabilities } from "@dxos/plugin-client";
16
+ import { GraphBuilder, Node, NodeMatcher } from "@dxos/plugin-graph";
17
+ import { linkedSegment } from "@dxos/react-ui-attention";
18
+ import { ASSISTANT_COMPANION_VARIANT, meta } from "#meta";
19
+ import { AssistantCapabilities, AssistantOperation } from "#types";
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
21
+ var computeOperationsToImport = [
22
+ AgentPrompt
23
+ ];
24
+ var whenNonChatObject = NodeMatcher.whenAll(NodeMatcher.whenEchoObject, NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)));
25
+ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
26
+ const capabilities = yield* Capability.Service;
27
+ const extensions = yield* Effect.all([
28
+ GraphBuilder.createTypeExtension({
29
+ id: "root",
30
+ type: Chat.Chat,
31
+ actions: (chat) => {
32
+ return Effect.succeed([
33
+ Node.makeAction({
34
+ id: AssistantOperation.UpdateChatName.meta.key,
35
+ data: () => Effect.gen(function* () {
36
+ const db = Obj.getDatabase(chat);
37
+ invariant(db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 37, S: this, A: ["db", ""] });
38
+ yield* Operation.invoke(AssistantOperation.UpdateChatName, {
39
+ chat
40
+ }, {
41
+ spaceId: db.spaceId
42
+ });
43
+ }),
44
+ properties: {
45
+ label: [
46
+ "chat-update-name.label",
47
+ {
48
+ ns: meta.id
49
+ }
50
+ ],
51
+ icon: "ph--magic-wand--regular",
52
+ disposition: "list-item"
53
+ }
54
+ })
55
+ ]);
56
+ }
57
+ }),
58
+ GraphBuilder.createExtension({
59
+ id: "assistant",
60
+ match: NodeMatcher.whenRoot,
61
+ actions: () => Effect.succeed([
62
+ Node.makeAction({
63
+ id: "import-compute-operations",
64
+ data: Effect.fnUntraced(function* () {
65
+ const capabilities2 = yield* Capability.Service;
66
+ const client = yield* Capability.get(ClientCapabilities.Client);
67
+ const space = getActiveSpace(client, capabilities2) ?? getPersonalSpace(client);
68
+ if (!space) {
69
+ return;
70
+ }
71
+ for (const definition of computeOperationsToImport) {
72
+ const key = definition.meta.key;
73
+ if (!key) {
74
+ continue;
75
+ }
76
+ const existing = yield* Effect.promise(() => space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run());
77
+ if (existing.length === 0) {
78
+ space.db.add(Operation.serialize(definition));
79
+ }
80
+ }
81
+ yield* Database.flush();
82
+ }),
83
+ properties: {
84
+ label: [
85
+ "import-compute-operations.label",
86
+ {
87
+ ns: meta.id
88
+ }
89
+ ],
90
+ icon: "ph--download-simple--regular"
91
+ }
92
+ }),
93
+ Node.makeAction({
94
+ id: AssistantOperation.ToggleTracePanelDebug.meta.key,
95
+ data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),
96
+ properties: {
97
+ label: [
98
+ "toggle-trace-panel-debug.label",
99
+ {
100
+ ns: meta.id
101
+ }
102
+ ],
103
+ icon: "ph--brackets-curly--regular"
104
+ }
105
+ }),
106
+ Node.makeAction({
107
+ id: "reset-blueprints",
108
+ data: Effect.fnUntraced(function* () {
109
+ const capabilities2 = yield* Capability.Service;
110
+ const client = yield* Capability.get(ClientCapabilities.Client);
111
+ const space = getActiveSpace(client, capabilities2) ?? getPersonalSpace(client);
112
+ if (!space) {
113
+ return;
114
+ }
115
+ const blueprints = yield* Effect.promise(() => space.db.query(Filter.type(Blueprint.Blueprint)).run());
116
+ for (const blueprint of blueprints) {
117
+ space.db.remove(blueprint);
118
+ }
119
+ yield* Database.flush();
120
+ }),
121
+ properties: {
122
+ label: [
123
+ "reset-blueprints.label",
124
+ {
125
+ ns: meta.id
126
+ }
127
+ ],
128
+ icon: "ph--arrow-clockwise--regular"
129
+ }
130
+ })
131
+ ])
132
+ }),
133
+ // Don't show assistant companion when a chat is already the primary object.
134
+ GraphBuilder.createExtension({
135
+ id: "companion-chat",
136
+ match: whenNonChatObject,
137
+ connector: (object, get) => Effect.gen(function* () {
138
+ const state = get(yield* Capability.get(AssistantCapabilities.State));
139
+ const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));
140
+ const objectUri = Obj.getURI(object);
141
+ const chat = pipe(Option.fromNullable(state.currentChat[objectUri]), Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryMake(dxnStr))), Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))), Option.map((ref) => get(AtomObj.make(ref))), Option.filter(Obj.isObject), Option.orElse(() => pipe(Option.fromNullable(cache[objectUri]), Option.filter(Obj.isObject))), Option.getOrNull);
142
+ return [
143
+ AppNode.makeCompanion({
144
+ id: linkedSegment(ASSISTANT_COMPANION_VARIANT),
145
+ label: [
146
+ "assistant-chat.label",
147
+ {
148
+ ns: meta.id
149
+ }
150
+ ],
151
+ icon: "ph--sparkle--regular",
152
+ data: chat,
153
+ position: "first"
154
+ })
155
+ ];
156
+ })
157
+ }),
158
+ GraphBuilder.createExtension({
159
+ id: "invocations",
160
+ match: NodeMatcher.whenAny(NodeMatcher.whenEchoTypeMatches(Sequence.Sequence), NodeMatcher.whenEchoTypeMatches(Routine.Routine)),
161
+ connector: () => Effect.succeed([
162
+ AppNode.makeCompanion({
163
+ id: "invocations",
164
+ label: [
165
+ "invocations.label",
166
+ {
167
+ ns: meta.id
168
+ }
169
+ ],
170
+ icon: "ph--clock-countdown--regular",
171
+ data: "invocations"
172
+ })
173
+ ])
174
+ }),
175
+ GraphBuilder.createExtension({
176
+ id: "trace",
177
+ match: NodeMatcher.whenRoot,
178
+ connector: () => Effect.succeed([
179
+ AppNode.makeDeckCompanion({
180
+ id: linkedSegment("trace"),
181
+ label: [
182
+ "trace.label",
183
+ {
184
+ ns: meta.id
185
+ }
186
+ ],
187
+ icon: "ph--line-segments--regular",
188
+ data: "trace",
189
+ position: "last"
190
+ })
191
+ ])
192
+ })
193
+ ]);
194
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
195
+ }));
196
+ export {
197
+ app_graph_builder_default as default
198
+ };
199
+ //# sourceMappingURL=app-graph-builder-VBWAKZE5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport { pipe } from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode, getActiveSpace, getPersonalSpace } from '@dxos/app-toolkit';\nimport { AgentPrompt, Chat } from '@dxos/assistant-toolkit';\nimport { Blueprint, Operation, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Database, Filter, Obj, type Ref } from '@dxos/echo';\nimport { AtomObj } from '@dxos/echo-atom';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { linkedSegment } from '@dxos/react-ui-attention';\n\nimport { ASSISTANT_COMPANION_VARIANT, meta } from '#meta';\nimport { AssistantCapabilities, AssistantOperation } from '#types';\n\n/** Operation definitions to seed as `PersistentOperation` records for automation / triggers. */\nconst computeOperationsToImport = [AgentPrompt] as const;\n\n/** Match ECHO objects that are NOT chats. */\nconst whenNonChatObject = NodeMatcher.whenAll(\n NodeMatcher.whenEchoObject,\n NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)),\n);\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'root',\n type: Chat.Chat,\n actions: (chat) => {\n return Effect.succeed([\n Node.makeAction({\n id: AssistantOperation.UpdateChatName.meta.key,\n data: () =>\n Effect.gen(function* () {\n // TODO(dmaretskyi): This goes away when composer will have unified operation invocations.\n const db = Obj.getDatabase(chat);\n invariant(db);\n yield* Operation.invoke(AssistantOperation.UpdateChatName, { chat }, { spaceId: db.spaceId });\n }),\n properties: {\n label: ['chat-update-name.label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n disposition: 'list-item',\n },\n }),\n ]);\n },\n }),\n\n GraphBuilder.createExtension({\n id: 'assistant',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n Node.makeAction({\n id: 'import-compute-operations',\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);\n if (!space) {\n return;\n }\n for (const definition of computeOperationsToImport) {\n const key = definition.meta.key;\n if (!key) {\n continue;\n }\n const existing = yield* Effect.promise(\n (): Promise<Operation.PersistentOperation[]> =>\n space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run(),\n );\n if (existing.length === 0) {\n space.db.add(Operation.serialize(definition));\n }\n }\n yield* Database.flush();\n }),\n properties: {\n label: ['import-compute-operations.label', { ns: meta.id }],\n icon: 'ph--download-simple--regular',\n },\n }),\n Node.makeAction({\n id: AssistantOperation.ToggleTracePanelDebug.meta.key,\n data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),\n properties: {\n label: ['toggle-trace-panel-debug.label', { ns: meta.id }],\n icon: 'ph--brackets-curly--regular',\n },\n }),\n Node.makeAction({\n id: 'reset-blueprints',\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);\n if (!space) {\n return;\n }\n const blueprints = yield* Effect.promise(\n (): Promise<Blueprint.Blueprint[]> => space.db.query(Filter.type(Blueprint.Blueprint)).run(),\n );\n for (const blueprint of blueprints) {\n space.db.remove(blueprint);\n }\n yield* Database.flush();\n }),\n properties: {\n label: ['reset-blueprints.label', { ns: meta.id }],\n icon: 'ph--arrow-clockwise--regular',\n },\n }),\n ]),\n }),\n\n // Don't show assistant companion when a chat is already the primary object.\n GraphBuilder.createExtension({\n id: 'companion-chat',\n match: whenNonChatObject,\n connector: (object, get) =>\n Effect.gen(function* () {\n const state = get(yield* Capability.get(AssistantCapabilities.State));\n const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));\n const objectUri = Obj.getURI(object);\n\n // Resolve chat from persisted state or transient cache.\n const chat = pipe(\n Option.fromNullable(state.currentChat[objectUri]),\n Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryMake(dxnStr))),\n Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))),\n Option.map((ref) => get(AtomObj.make(ref as Ref.Ref<Obj.Unknown>))),\n Option.filter(Obj.isObject),\n Option.orElse(() => pipe(Option.fromNullable(cache[objectUri]), Option.filter(Obj.isObject))),\n Option.getOrNull,\n );\n\n return [\n AppNode.makeCompanion({\n id: linkedSegment(ASSISTANT_COMPANION_VARIANT),\n label: ['assistant-chat.label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n data: chat,\n position: 'first',\n }),\n ];\n }),\n }),\n\n GraphBuilder.createExtension({\n id: 'invocations',\n match: NodeMatcher.whenAny(\n NodeMatcher.whenEchoTypeMatches(Sequence.Sequence),\n NodeMatcher.whenEchoTypeMatches(Routine.Routine),\n ),\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'invocations',\n label: ['invocations.label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n data: 'invocations',\n }),\n ]),\n }),\n\n GraphBuilder.createExtension({\n id: 'trace',\n match: NodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: linkedSegment('trace'),\n label: ['trace.label', { ns: meta.id }],\n icon: 'ph--line-segments--regular',\n data: 'trace' as const,\n position: 'last',\n }),\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "pipe", "Option", "Capability", "AppCapabilities", "AppNode", "getActiveSpace", "getPersonalSpace", "AgentPrompt", "Chat", "Blueprint", "Operation", "Routine", "Sequence", "DXN", "Database", "Filter", "Obj", "AtomObj", "invariant", "ClientCapabilities", "GraphBuilder", "Node", "NodeMatcher", "linkedSegment", "ASSISTANT_COMPANION_VARIANT", "meta", "AssistantCapabilities", "AssistantOperation", "Service", "extensions", "createTypeExtension", "actions", "makeAction", "data", "db", "getDatabase", "chat", "spaceId", "properties", "label", "icon", "disposition", "whenRoot", "client", "space", "capabilities", "key", "serialize", "definition", "blueprint", "flush", "whenNonChatObject", "connector", "cache", "objectUri", "getURI", "object", "fromNullable", "makeCompanion", "position", "whenAny", "makeDeckCompanion"]
7
+ }
@@ -0,0 +1,32 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/blueprint-definition.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capabilities, Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities } from "@dxos/app-toolkit";
7
+ import { AgentBlueprint, AgentBlueprintHandlers, AgentHandlers, AgentWizardBlueprint, AgentWizardHandlers, BlueprintManagerBlueprint, BlueprintManagerHandlers, BrowserBlueprint, DatabaseBlueprint, DatabaseHandlers, DiscordBlueprint, LinearBlueprint, PlanningBlueprint, WebSearchBlueprint, MemoryBlueprint, AutomationBlueprint } from "@dxos/assistant-toolkit";
8
+ import { AssistantBlueprint } from "#blueprints";
9
+ var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
10
+ Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint),
11
+ Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),
12
+ Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),
13
+ Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),
14
+ Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),
15
+ Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),
16
+ Capability.contributes(AppCapabilities.BlueprintDefinition, AgentBlueprint),
17
+ Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),
18
+ Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),
19
+ Capability.contributes(AppCapabilities.BlueprintDefinition, AutomationBlueprint),
20
+ Capability.contributes(AppCapabilities.BlueprintDefinition, BlueprintManagerBlueprint),
21
+ Capability.contributes(AppCapabilities.BlueprintDefinition, AgentWizardBlueprint),
22
+ Capability.contributes(Capabilities.OperationHandler, AgentHandlers),
23
+ Capability.contributes(Capabilities.OperationHandler, AgentBlueprintHandlers),
24
+ Capability.contributes(Capabilities.OperationHandler, BlueprintManagerHandlers),
25
+ Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),
26
+ Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers)
27
+ ]));
28
+ var blueprint_definition_default = blueprintDefinition;
29
+ export {
30
+ blueprint_definition_default as default
31
+ };
32
+ //# sourceMappingURL=blueprint-definition-VXJYQ5AE.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.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 { AppCapabilities } from '@dxos/app-toolkit';\nimport {\n AgentBlueprint,\n AgentBlueprintHandlers,\n AgentHandlers,\n AgentWizardBlueprint,\n AgentWizardHandlers,\n BlueprintManagerBlueprint,\n BlueprintManagerHandlers,\n BrowserBlueprint,\n DatabaseBlueprint,\n DatabaseHandlers,\n DiscordBlueprint,\n LinearBlueprint,\n PlanningBlueprint,\n WebSearchBlueprint,\n MemoryBlueprint,\n AutomationBlueprint,\n} from '@dxos/assistant-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { AssistantBlueprint } from '#blueprints';\n\n// TODO(dmaretskyi): Force this type for all Capability.makeModule calls.\nconst blueprintDefinition: () => Effect.Effect<Capability.Capability<unknown>[]> = Capability.makeModule(() =>\n Effect.succeed([\n Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AgentBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AutomationBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BlueprintManagerBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AgentWizardBlueprint),\n\n Capability.contributes(Capabilities.OperationHandler, AgentHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentBlueprintHandlers),\n Capability.contributes(Capabilities.OperationHandler, BlueprintManagerHandlers),\n Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers),\n ]),\n);\n\nexport default blueprintDefinition;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SACEC,gBACAC,wBACAC,eACAC,sBACAC,qBACAC,2BACAC,0BACAC,kBACAC,mBACAC,kBACAC,kBACAC,iBACAC,mBACAC,oBACAC,iBACAC,2BACK;AAIP,SAASC,0BAA0B;AAGnC,IAAMC,sBAA6EnB,WAAWoB,WAAW,MAChGC,eAAQ;EACbrB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBL,kBAAAA;EAC5DlB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBd,gBAAAA;EAC5DT,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBb,iBAAAA;EAC5DV,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBR,kBAAAA;EAC5Df,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBX,gBAAAA;EAC5DZ,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBV,eAAAA;EAC5Db,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBrB,cAAAA;EAC5DF,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBT,iBAAAA;EAC5Dd,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBP,eAAAA;EAC5DhB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBN,mBAAAA;EAC5DjB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBhB,yBAAAA;EAC5DP,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBlB,oBAAAA;EAE5DL,WAAWsB,YAAYvB,aAAayB,kBAAkBpB,aAAAA;EACtDJ,WAAWsB,YAAYvB,aAAayB,kBAAkBrB,sBAAAA;EACtDH,WAAWsB,YAAYvB,aAAayB,kBAAkBhB,wBAAAA;EACtDR,WAAWsB,YAAYvB,aAAayB,kBAAkBb,gBAAAA;EACtDX,WAAWsB,YAAYvB,aAAayB,kBAAkBlB,mBAAAA;CACvD,CAAA;AAGH,IAAA,+BAAea;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "AgentBlueprint", "AgentBlueprintHandlers", "AgentHandlers", "AgentWizardBlueprint", "AgentWizardHandlers", "BlueprintManagerBlueprint", "BlueprintManagerHandlers", "BrowserBlueprint", "DatabaseBlueprint", "DatabaseHandlers", "DiscordBlueprint", "LinearBlueprint", "PlanningBlueprint", "WebSearchBlueprint", "MemoryBlueprint", "AutomationBlueprint", "AssistantBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition", "OperationHandler"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ blueprint_default
3
+ } from "../chunk-5H6UJHLF.mjs";
4
+ import "../chunk-J5LGTIGS.mjs";
5
+ export {
6
+ blueprint_default as AssistantBlueprint
7
+ };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,37 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/index.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var AiContext = Capability.lazy("AiContext", () => import("../ai-context-ERNAJDGG.mjs"));
6
+ var AiService = Capability.lazy("AiService", () => import("../ai-service-7SQH5S4F.mjs"));
7
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-VBWAKZE5.mjs"));
8
+ var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-VXJYQ5AE.mjs"));
9
+ var CompanionChatProvisioner = Capability.lazy("CompanionChatProvisioner", () => import("../companion-chat-provisioner-7RTSXL6M.mjs"));
10
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-XPVVVEKF.mjs"));
11
+ var EdgeModelResolver = Capability.lazy("EdgeModelResolver", () => import("../edge-model-resolver-XDNBZ3US.mjs"));
12
+ var LocalModelResolver = Capability.lazy("LocalModelResolver", () => import("../local-model-resolver-I2BENFFS.mjs"));
13
+ var MarkdownExtension = Capability.lazy("MarkdownExtension", () => import("../markdown-KTBFOMFM.mjs"));
14
+ var Migrations = Capability.lazy("AssistantMigrations", () => import("../migrations-7DEMVBOG.mjs"));
15
+ var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-SF36MOB5.mjs"));
16
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-CC6J7D4K.mjs"));
17
+ var Settings = Capability.lazy("Settings", () => import("../settings-W4BLWQ53.mjs"));
18
+ var AssistantState = Capability.lazy("AssistantState", () => import("../state-H3G7QCU6.mjs"));
19
+ var Toolkit = Capability.lazy("Toolkit", () => import("../toolkit-GVWXPDLJ.mjs"));
20
+ export {
21
+ AiContext,
22
+ AiService,
23
+ AppGraphBuilder,
24
+ AssistantState,
25
+ BlueprintDefinition,
26
+ CompanionChatProvisioner,
27
+ CreateObject,
28
+ EdgeModelResolver,
29
+ LocalModelResolver,
30
+ MarkdownExtension,
31
+ Migrations,
32
+ OperationHandler,
33
+ ReactSurface,
34
+ Settings,
35
+ Toolkit
36
+ };
37
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, OperationHandlerSet } from '@dxos/compute';\n\nexport const AiContext = Capability.lazy<void, Capability.Any[]>('AiContext', () => import('./ai-context'));\nexport const AiService = Capability.lazy<void, Capability.Any[]>('AiService', () => import('./ai-service'));\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CompanionChatProvisioner = Capability.lazy(\n 'CompanionChatProvisioner',\n () => import('./companion-chat-provisioner'),\n);\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const EdgeModelResolver = Capability.lazy('EdgeModelResolver', () => import('./edge-model-resolver'));\nexport const LocalModelResolver = Capability.lazy('LocalModelResolver', () => import('./local-model-resolver'));\nexport const MarkdownExtension = Capability.lazy('MarkdownExtension', () => import('./markdown'));\nexport const Migrations = Capability.lazy('AssistantMigrations', () => import('./migrations'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const Settings = Capability.lazy('Settings', () => import('./settings'));\nexport const AssistantState = Capability.lazy('AssistantState', () => import('./state'));\nexport const Toolkit = Capability.lazy('Toolkit', () => import('./toolkit'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,YAAYD,WAAWE,KAA6B,aAAa,MAAM,OAAO,4BAAA,CAAA;AACpF,IAAMC,YAAYH,WAAWE,KAA6B,aAAa,MAAM,OAAO,4BAAA,CAAA;AACpF,IAAME,kBAAkBJ,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMG,sBAAsBL,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAMI,2BAA2BN,WAAWE,KACjD,4BACA,MAAM,OAAO,4CAAA,CAAA;AAER,IAAMK,eAAeP,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMM,oBAAoBR,WAAWE,KAAK,qBAAqB,MAAM,OAAO,qCAAA,CAAA;AAC5E,IAAMO,qBAAqBT,WAAWE,KAAK,sBAAsB,MAAM,OAAO,sCAAA,CAAA;AAC9E,IAAMQ,oBAAoBV,WAAWE,KAAK,qBAAqB,MAAM,OAAO,0BAAA,CAAA;AAC5E,IAAMS,aAAaX,WAAWE,KAAK,uBAAuB,MAAM,OAAO,4BAAA,CAAA;AACvE,IAAMU,mBAAmBZ,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMW,eAAeb,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMY,WAAWd,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMa,iBAAiBf,WAAWE,KAAK,kBAAkB,MAAM,OAAO,uBAAA,CAAA;AACtE,IAAMc,UAAUhB,WAAWE,KAAK,WAAW,MAAM,OAAO,yBAAA,CAAA;",
6
+ "names": ["Capability", "AiContext", "lazy", "AiService", "AppGraphBuilder", "BlueprintDefinition", "CompanionChatProvisioner", "CreateObject", "EdgeModelResolver", "LocalModelResolver", "MarkdownExtension", "Migrations", "OperationHandler", "ReactSurface", "Settings", "AssistantState", "Toolkit"]
7
+ }