@dxos/plugin-assistant 0.10.0 → 0.11.0

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 (611) hide show
  1. package/PLUGIN.mdl +3 -28
  2. package/dist/lib/AssistantPlugin.mjs +2 -0
  3. package/dist/lib/AssistantPlugin.node.mjs +55 -0
  4. package/dist/lib/AssistantPlugin.node.mjs.map +1 -0
  5. package/dist/lib/AssistantPlugin.workerd.mjs +43 -0
  6. package/dist/lib/AssistantPlugin.workerd.mjs.map +1 -0
  7. package/dist/lib/capabilities.mjs +24 -0
  8. package/dist/lib/capabilities.mjs.map +1 -0
  9. package/dist/lib/chunk-AgentArticle.mjs +52 -0
  10. package/dist/lib/chunk-AgentArticle.mjs.map +1 -0
  11. package/dist/lib/chunk-AgentProperties.mjs +35 -0
  12. package/dist/lib/chunk-AgentProperties.mjs.map +1 -0
  13. package/dist/lib/chunk-AssistantPlugin.mjs +88 -0
  14. package/dist/lib/chunk-AssistantPlugin.mjs.map +1 -0
  15. package/dist/lib/chunk-AssistantSettings.mjs +285 -0
  16. package/dist/lib/chunk-AssistantSettings.mjs.map +1 -0
  17. package/dist/lib/chunk-ChatArticle.mjs +121 -0
  18. package/dist/lib/chunk-ChatArticle.mjs.map +1 -0
  19. package/dist/lib/chunk-ChatCompanion.mjs +116 -0
  20. package/dist/lib/chunk-ChatCompanion.mjs.map +1 -0
  21. package/dist/lib/chunk-ChatDialog.mjs +73 -0
  22. package/dist/lib/chunk-ChatDialog.mjs.map +1 -0
  23. package/dist/lib/chunk-IntegrationPrompt.mjs +73 -0
  24. package/dist/lib/chunk-IntegrationPrompt.mjs.map +1 -0
  25. package/dist/lib/chunk-SpaceHomePrompt.mjs +104 -0
  26. package/dist/lib/chunk-SpaceHomePrompt.mjs.map +1 -0
  27. package/dist/lib/chunk-SpaceHomeSuggestions.mjs +60 -0
  28. package/dist/lib/chunk-SpaceHomeSuggestions.mjs.map +1 -0
  29. package/dist/lib/chunk-TracePanel.mjs +127 -0
  30. package/dist/lib/chunk-TracePanel.mjs.map +1 -0
  31. package/dist/lib/chunk-TracePanel2.mjs +7 -0
  32. package/dist/lib/chunk-TracePanel2.mjs.map +1 -0
  33. package/dist/lib/chunk-TriggerStatus.mjs +72 -0
  34. package/dist/lib/chunk-TriggerStatus.mjs.map +1 -0
  35. package/dist/lib/chunk-agent-hydrator.mjs +22 -0
  36. package/dist/lib/chunk-agent-hydrator.mjs.map +1 -0
  37. package/dist/lib/chunk-agent-service.mjs +21 -0
  38. package/dist/lib/chunk-agent-service.mjs.map +1 -0
  39. package/dist/lib/{neutral/ai-context-LIKJYMIN.mjs → chunk-ai-context.mjs} +8 -12
  40. package/dist/lib/chunk-ai-context.mjs.map +1 -0
  41. package/dist/lib/chunk-ai-service.mjs +27 -0
  42. package/dist/lib/chunk-ai-service.mjs.map +1 -0
  43. package/dist/lib/chunk-app-graph-builder.mjs +179 -0
  44. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
  45. package/dist/lib/chunk-automation-templates.mjs +99 -0
  46. package/dist/lib/chunk-automation-templates.mjs.map +1 -0
  47. package/dist/lib/chunk-companion-chat-provisioner.mjs +123 -0
  48. package/dist/lib/chunk-companion-chat-provisioner.mjs.map +1 -0
  49. package/dist/lib/chunk-connector.mjs +60 -0
  50. package/dist/lib/chunk-connector.mjs.map +1 -0
  51. package/dist/lib/chunk-constants.mjs +9 -0
  52. package/dist/lib/chunk-constants.mjs.map +1 -0
  53. package/dist/lib/chunk-context.mjs +7 -0
  54. package/dist/lib/chunk-context.mjs.map +1 -0
  55. package/dist/lib/chunk-create-chat.mjs +53 -0
  56. package/dist/lib/chunk-create-chat.mjs.map +1 -0
  57. package/dist/lib/chunk-create-object.mjs +70 -0
  58. package/dist/lib/chunk-create-object.mjs.map +1 -0
  59. package/dist/lib/chunk-edge-model-resolver.mjs +64 -0
  60. package/dist/lib/chunk-edge-model-resolver.mjs.map +1 -0
  61. package/dist/lib/chunk-ensure-companion-chat.mjs +49 -0
  62. package/dist/lib/chunk-ensure-companion-chat.mjs.map +1 -0
  63. package/dist/lib/chunk-extensions.mjs +78 -0
  64. package/dist/lib/chunk-extensions.mjs.map +1 -0
  65. package/dist/lib/chunk-fork-chat.mjs +83 -0
  66. package/dist/lib/chunk-fork-chat.mjs.map +1 -0
  67. package/dist/lib/chunk-generate-home-suggestions.mjs +71 -0
  68. package/dist/lib/chunk-generate-home-suggestions.mjs.map +1 -0
  69. package/dist/lib/chunk-local-model-resolver.mjs +25 -0
  70. package/dist/lib/chunk-local-model-resolver.mjs.map +1 -0
  71. package/dist/lib/chunk-markdown-extension.mjs +27 -0
  72. package/dist/lib/chunk-markdown-extension.mjs.map +1 -0
  73. package/dist/lib/{neutral/chunk-L7AR4VTA.mjs → chunk-meta.mjs} +20 -25
  74. package/dist/lib/chunk-meta.mjs.map +1 -0
  75. package/dist/lib/chunk-operation-handler.mjs +13 -0
  76. package/dist/lib/chunk-operation-handler.mjs.map +1 -0
  77. package/dist/lib/chunk-paths.mjs +8 -0
  78. package/dist/lib/chunk-paths.mjs.map +1 -0
  79. package/dist/lib/chunk-processor.mjs +432 -0
  80. package/dist/lib/chunk-processor.mjs.map +1 -0
  81. package/dist/lib/chunk-react-surface.mjs +177 -0
  82. package/dist/lib/chunk-react-surface.mjs.map +1 -0
  83. package/dist/lib/chunk-run-prompt-in-new-chat.mjs +96 -0
  84. package/dist/lib/chunk-run-prompt-in-new-chat.mjs.map +1 -0
  85. package/dist/lib/chunk-set-current-chat.mjs +43 -0
  86. package/dist/lib/chunk-set-current-chat.mjs.map +1 -0
  87. package/dist/lib/chunk-settings.mjs +23 -0
  88. package/dist/lib/chunk-settings.mjs.map +1 -0
  89. package/dist/lib/chunk-skill-definition.mjs +42 -0
  90. package/dist/lib/chunk-skill-definition.mjs.map +1 -0
  91. package/dist/lib/chunk-skills.mjs +19 -0
  92. package/dist/lib/chunk-skills.mjs.map +1 -0
  93. package/dist/lib/chunk-state.mjs +32 -0
  94. package/dist/lib/chunk-state.mjs.map +1 -0
  95. package/dist/lib/chunk-toggle-trace-panel-debug.mjs +18 -0
  96. package/dist/lib/chunk-toggle-trace-panel-debug.mjs.map +1 -0
  97. package/dist/lib/chunk-toolkit.mjs +12 -0
  98. package/dist/lib/chunk-toolkit.mjs.map +1 -0
  99. package/dist/lib/chunk-types.mjs +332 -0
  100. package/dist/lib/chunk-types.mjs.map +1 -0
  101. package/dist/lib/chunk-update-chat-name.mjs +63 -0
  102. package/dist/lib/chunk-update-chat-name.mjs.map +1 -0
  103. package/dist/lib/components.mjs +2616 -0
  104. package/dist/lib/components.mjs.map +1 -0
  105. package/dist/lib/containers.mjs +17 -0
  106. package/dist/lib/containers.mjs.map +1 -0
  107. package/dist/lib/execution-graph.mjs +961 -0
  108. package/dist/lib/execution-graph.mjs.map +1 -0
  109. package/dist/lib/extensions.mjs +2 -0
  110. package/dist/lib/hooks.mjs +674 -0
  111. package/dist/lib/hooks.mjs.map +1 -0
  112. package/dist/lib/index.mjs +5 -0
  113. package/dist/lib/meta.mjs +2 -0
  114. package/dist/lib/operations.mjs +7 -0
  115. package/dist/lib/operations.mjs.map +1 -0
  116. package/dist/lib/plugin.mjs +9 -0
  117. package/dist/lib/plugin.mjs.map +1 -0
  118. package/dist/lib/plugin.workerd.mjs +2 -0
  119. package/dist/lib/skills.mjs +2 -0
  120. package/dist/lib/testing.mjs +2 -0
  121. package/dist/lib/translations.mjs +207 -0
  122. package/dist/lib/translations.mjs.map +1 -0
  123. package/dist/lib/types.mjs +2 -0
  124. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  125. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -1
  126. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -1
  127. package/dist/types/src/capabilities/AssistantSurfaces.d.ts +22 -0
  128. package/dist/types/src/capabilities/AssistantSurfaces.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/agent-hydrator.d.ts +1 -1
  130. package/dist/types/src/capabilities/agent-service.d.ts +1 -1
  131. package/dist/types/src/capabilities/agent-service.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/ai-context.d.ts +1 -1
  133. package/dist/types/src/capabilities/ai-service.d.ts +1 -1
  134. package/dist/types/src/capabilities/app-graph-builder.d.ts +12 -1
  135. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/automation-templates.d.ts +1 -1
  137. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +1 -1
  138. package/dist/types/src/capabilities/connector.d.ts +1 -1
  139. package/dist/types/src/capabilities/create-object.d.ts +1 -1
  140. package/dist/types/src/capabilities/edge-model-resolver.d.ts +1 -1
  141. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  142. package/dist/types/src/capabilities/index.d.ts +0 -2
  143. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  144. package/dist/types/src/capabilities/local-model-resolver.d.ts +1 -1
  145. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  146. package/dist/types/src/capabilities/markdown-extension.d.ts +1 -1
  147. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  148. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  149. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/settings.d.ts +1 -1
  151. package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -1
  152. package/dist/types/src/capabilities/standalone-chats-query.test.d.ts +2 -0
  153. package/dist/types/src/capabilities/standalone-chats-query.test.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/state.d.ts +1 -1
  155. package/dist/types/src/capabilities/toolkit.d.ts +1 -1
  156. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts +4 -1
  157. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts.map +1 -1
  158. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/Chat/Chat.d.ts +21 -8
  160. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  161. package/dist/types/src/components/Chat/{Chat.stories.d.ts → Error.stories.d.ts} +1 -1
  162. package/dist/types/src/components/Chat/Error.stories.d.ts.map +1 -0
  163. package/dist/types/src/components/Chat/context.d.ts +8 -0
  164. package/dist/types/src/components/Chat/context.d.ts.map +1 -1
  165. package/dist/types/src/components/Chat/events.d.ts +5 -0
  166. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  167. package/dist/types/src/components/Chat/thread.d.ts +42 -0
  168. package/dist/types/src/components/Chat/thread.d.ts.map +1 -0
  169. package/dist/types/src/components/Chat/thread.test.d.ts +2 -0
  170. package/dist/types/src/components/Chat/thread.test.d.ts.map +1 -0
  171. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  172. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
  173. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +5 -3
  174. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatPrompt/index.d.ts +0 -1
  176. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  177. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -1
  178. package/dist/types/src/components/ChatThread/ChatThread.d.ts +8 -3
  179. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  180. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +30 -2
  181. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  182. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  183. package/dist/types/src/components/ChatThread/index.d.ts +1 -0
  184. package/dist/types/src/components/ChatThread/index.d.ts.map +1 -1
  185. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  186. package/dist/types/src/components/ChatThread/sync/index.d.ts +3 -0
  187. package/dist/types/src/components/ChatThread/sync/index.d.ts.map +1 -0
  188. package/dist/types/src/components/ChatThread/{sync.d.ts → sync/sync.d.ts} +46 -2
  189. package/dist/types/src/components/ChatThread/sync/sync.d.ts.map +1 -0
  190. package/dist/types/src/components/ChatThread/sync/sync.test.d.ts.map +1 -0
  191. package/dist/types/src/components/ChatThread/sync/tool-widget-state.d.ts.map +1 -0
  192. package/dist/types/src/components/ChatThread/sync/tool-widget-state.test.d.ts.map +1 -0
  193. package/dist/types/src/components/ChatThread/widgets/BranchWidget.d.ts +15 -0
  194. package/dist/types/src/components/ChatThread/widgets/BranchWidget.d.ts.map +1 -0
  195. package/dist/types/src/components/ChatThread/widgets/BranchWidget.stories.d.ts +21 -0
  196. package/dist/types/src/components/ChatThread/widgets/BranchWidget.stories.d.ts.map +1 -0
  197. package/dist/types/src/components/ChatThread/widgets/BranchWidget.test.d.ts +2 -0
  198. package/dist/types/src/components/ChatThread/widgets/BranchWidget.test.d.ts.map +1 -0
  199. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -1
  200. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -1
  201. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +1 -2
  202. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -1
  203. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +6 -0
  204. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -1
  205. package/dist/types/src/components/ChatThread/widgets/format-time.d.ts +2 -0
  206. package/dist/types/src/components/ChatThread/widgets/format-time.d.ts.map +1 -0
  207. package/dist/types/src/components/ChatThread/widgets/index.d.ts +4 -1
  208. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
  209. package/dist/types/src/components/ChatThread/widgets/is-tool-message.d.ts +3 -0
  210. package/dist/types/src/components/ChatThread/widgets/is-tool-message.d.ts.map +1 -0
  211. package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.d.ts +16 -0
  212. package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.d.ts.map +1 -0
  213. package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.stories.d.ts +210 -0
  214. package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.stories.d.ts.map +1 -0
  215. package/dist/types/src/components/ConnectorAuthMenu/index.d.ts +2 -0
  216. package/dist/types/src/components/ConnectorAuthMenu/index.d.ts.map +1 -0
  217. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +1 -1
  218. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  219. package/dist/types/src/components/TaskList/TaskList.d.ts +9 -11
  220. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -1
  221. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +3 -4
  222. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
  223. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +1 -2
  224. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  225. package/dist/types/src/components/ToolBlock/index.d.ts +1 -0
  226. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -1
  227. package/dist/types/src/components/ToolBlock/is-tool-message.d.ts +3 -0
  228. package/dist/types/src/components/ToolBlock/is-tool-message.d.ts.map +1 -0
  229. package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
  230. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  231. package/dist/types/src/components/index.d.ts +1 -0
  232. package/dist/types/src/components/index.d.ts.map +1 -1
  233. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +5 -2
  234. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -1
  235. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
  236. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +4 -1
  237. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -1
  238. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts +4 -1
  239. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  240. package/dist/types/src/containers/AssistantSettings/AssistantSettings.stories.d.ts +4 -1
  241. package/dist/types/src/containers/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
  242. package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts +4 -6
  243. package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts.map +1 -1
  244. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
  245. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts +22 -1
  246. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts.map +1 -1
  247. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
  248. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts +4 -1
  249. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  250. package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts +4 -7
  251. package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts.map +1 -1
  252. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts +4 -9
  253. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -1
  254. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +5 -7
  255. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -1
  256. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +1 -1
  257. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  258. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
  259. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +15 -1
  260. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  261. package/dist/types/src/containers/index.d.ts +0 -1
  262. package/dist/types/src/containers/index.d.ts.map +1 -1
  263. package/dist/types/src/execution-graph/execution-graph.d.ts +12 -1
  264. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
  265. package/dist/types/src/execution-graph/index.d.ts +1 -1
  266. package/dist/types/src/execution-graph/index.d.ts.map +1 -1
  267. package/dist/types/src/execution-graph/pending-block-status.d.ts.map +1 -1
  268. package/dist/types/src/execution-graph/span-tree.d.ts +17 -0
  269. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -1
  270. package/dist/types/src/feed-logger.d.ts +1 -1
  271. package/dist/types/src/feed-logger.d.ts.map +1 -1
  272. package/dist/types/src/hooks/index.d.ts +1 -1
  273. package/dist/types/src/hooks/index.d.ts.map +1 -1
  274. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  275. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  276. package/dist/types/src/hooks/useContextObjects.d.ts +1 -1
  277. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  278. package/dist/types/src/hooks/useSelectionContext.d.ts +13 -0
  279. package/dist/types/src/hooks/useSelectionContext.d.ts.map +1 -0
  280. package/dist/types/src/hooks/useSelectionContext.test.d.ts +2 -0
  281. package/dist/types/src/hooks/useSelectionContext.test.d.ts.map +1 -0
  282. package/dist/types/src/hooks/useTraceMessages.d.ts.map +1 -1
  283. package/dist/types/src/operations/index.d.ts.map +1 -1
  284. package/dist/types/src/processor/index.d.ts +1 -0
  285. package/dist/types/src/processor/index.d.ts.map +1 -1
  286. package/dist/types/src/processor/processor.d.ts +5 -2
  287. package/dist/types/src/processor/processor.d.ts.map +1 -1
  288. package/dist/types/src/processor/prompt.d.ts +18 -0
  289. package/dist/types/src/processor/prompt.d.ts.map +1 -0
  290. package/dist/types/src/processor/prompt.test.d.ts +2 -0
  291. package/dist/types/src/processor/prompt.test.d.ts.map +1 -0
  292. package/dist/types/src/processor/streaming.node.test.d.ts +2 -0
  293. package/dist/types/src/processor/streaming.node.test.d.ts.map +1 -0
  294. package/dist/types/src/skills/assistant/skill.d.ts.map +1 -1
  295. package/dist/types/src/templates/scaffold.d.ts +1 -1
  296. package/dist/types/src/templates/scaffold.d.ts.map +1 -1
  297. package/dist/types/src/translations.d.ts.map +1 -1
  298. package/dist/types/src/types/AssistantCapabilities.d.ts +1 -1
  299. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
  300. package/dist/types/src/types/AssistantOperation.d.ts +2 -13
  301. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -1
  302. package/dist/types/src/types/ChatSurface.d.ts +2 -2
  303. package/dist/types/src/types/ChatSurface.d.ts.map +1 -1
  304. package/dist/types/src/types/Ollama.d.ts +1 -1
  305. package/dist/types/src/types/Ollama.d.ts.map +1 -1
  306. package/dist/types/tsconfig.tsbuildinfo +1 -1
  307. package/dx.config.ts +1 -0
  308. package/package.json +106 -105
  309. package/src/AssistantPlugin.node.ts +1 -2
  310. package/src/AssistantPlugin.test.ts +60 -62
  311. package/src/AssistantPlugin.ts +1 -10
  312. package/src/AssistantPlugin.workerd.ts +1 -2
  313. package/src/capabilities/AssistantSurfaces.tsx +86 -0
  314. package/src/capabilities/agent-service.ts +1 -1
  315. package/src/capabilities/app-graph-builder.ts +31 -17
  316. package/src/capabilities/companion-chat-provisioner.ts +12 -11
  317. package/src/capabilities/connector.ts +3 -3
  318. package/src/capabilities/edge-model-resolver.ts +5 -2
  319. package/src/capabilities/index.ts +0 -2
  320. package/src/capabilities/react-surface.ts +135 -0
  321. package/src/capabilities/skill-definition.ts +4 -0
  322. package/src/capabilities/standalone-chats-query.test.ts +51 -0
  323. package/src/capabilities/state.ts +1 -1
  324. package/src/components/AgentProperties/AgentProperties.stories.tsx +6 -7
  325. package/src/components/AgentProperties/AgentProperties.tsx +37 -30
  326. package/src/components/Chat/Chat.tsx +275 -59
  327. package/src/components/Chat/{Chat.stories.tsx → Error.stories.tsx} +1 -1
  328. package/src/components/Chat/context.ts +8 -0
  329. package/src/components/Chat/events.ts +5 -0
  330. package/src/components/Chat/thread.test.ts +127 -0
  331. package/src/components/Chat/thread.ts +87 -0
  332. package/src/components/ChatPrompt/ChatActions.tsx +8 -8
  333. package/src/components/ChatPrompt/ChatMcpErrors.tsx +2 -2
  334. package/src/components/ChatPrompt/ChatOptions.stories.tsx +2 -1
  335. package/src/components/ChatPrompt/ChatOptions.tsx +5 -5
  336. package/src/components/ChatPrompt/ChatPrompt.tsx +33 -6
  337. package/src/components/ChatPrompt/index.ts +0 -1
  338. package/src/components/ChatThread/Anchor.stories.tsx +2 -1
  339. package/src/components/ChatThread/ChatThread.stories.tsx +99 -4
  340. package/src/components/ChatThread/ChatThread.tsx +34 -6
  341. package/src/components/ChatThread/Link.tsx +1 -0
  342. package/src/components/ChatThread/index.ts +2 -0
  343. package/src/components/ChatThread/registry.tsx +28 -4
  344. package/src/components/ChatThread/sync/index.ts +6 -0
  345. package/src/components/ChatThread/{sync.test.ts → sync/sync.test.ts} +167 -7
  346. package/src/components/ChatThread/{sync.ts → sync/sync.ts} +97 -3
  347. package/src/components/ChatThread/{tool-widget-state.ts → sync/tool-widget-state.ts} +1 -3
  348. package/src/components/ChatThread/widgets/BranchWidget.stories.tsx +83 -0
  349. package/src/components/ChatThread/widgets/BranchWidget.test.ts +55 -0
  350. package/src/components/ChatThread/widgets/BranchWidget.tsx +61 -0
  351. package/src/components/ChatThread/widgets/FallbackWidget.tsx +2 -2
  352. package/src/components/ChatThread/widgets/ReasoningWidget.ts +1 -1
  353. package/src/components/ChatThread/widgets/ReferenceWidget.ts +1 -6
  354. package/src/components/ChatThread/widgets/SuggestionWidget.ts +12 -3
  355. package/src/components/ChatThread/widgets/SummaryWidget.tsx +1 -1
  356. package/src/components/ChatThread/widgets/ToolWidget.tsx +15 -9
  357. package/src/components/ChatThread/widgets/defaults.ts +7 -1
  358. package/src/components/ChatThread/widgets/format-time.ts +45 -0
  359. package/src/components/ChatThread/widgets/index.ts +4 -1
  360. package/src/components/ChatThread/widgets/is-tool-message.ts +13 -0
  361. package/src/components/ConnectorAuthMenu/ConnectorAuthMenu.stories.tsx +177 -0
  362. package/src/components/ConnectorAuthMenu/ConnectorAuthMenu.tsx +82 -0
  363. package/src/components/ConnectorAuthMenu/index.ts +5 -0
  364. package/src/components/ProcessTree/ProcessTree.stories.tsx +1 -1
  365. package/src/components/TaskList/TaskList.stories.tsx +19 -26
  366. package/src/components/TaskList/TaskList.tsx +32 -104
  367. package/src/components/ToolBlock/ToolBlock.tsx +1 -5
  368. package/src/components/ToolBlock/index.ts +1 -0
  369. package/src/components/ToolBlock/is-tool-message.ts +13 -0
  370. package/src/components/Toolbox/Toolbox.tsx +1 -1
  371. package/src/components/index.ts +1 -0
  372. package/src/containers/AgentArticle/AgentArticle.stories.tsx +18 -11
  373. package/src/containers/AgentArticle/AgentArticle.tsx +27 -151
  374. package/src/containers/AgentProperties/AgentProperties.tsx +21 -17
  375. package/src/containers/AssistantSettings/AssistantSettings.tsx +2 -0
  376. package/src/containers/AssistantSettings/OllamaModels.tsx +6 -4
  377. package/src/containers/ChatArticle/ChatArticle.stories.tsx +200 -27
  378. package/src/containers/ChatArticle/ChatArticle.tsx +25 -5
  379. package/src/containers/ChatCompanion/ChatCompanion.tsx +45 -10
  380. package/src/containers/ChatDialog/ChatDialog.tsx +4 -1
  381. package/src/containers/IntegrationPrompt/IntegrationPrompt.tsx +9 -6
  382. package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +2 -0
  383. package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +40 -39
  384. package/src/containers/TracePanel/TracePanel.stories.tsx +9 -4
  385. package/src/containers/TracePanel/TracePanel.tsx +22 -6
  386. package/src/containers/TriggerStatus/TriggerStatus.tsx +9 -16
  387. package/src/containers/index.ts +0 -1
  388. package/src/execution-graph/SPEC.md +60 -2
  389. package/src/execution-graph/execution-graph.ts +15 -2
  390. package/src/execution-graph/index.ts +1 -0
  391. package/src/execution-graph/pending-block-status.ts +3 -2
  392. package/src/execution-graph/span-tree.test.ts +87 -1
  393. package/src/execution-graph/span-tree.ts +95 -0
  394. package/src/feed-logger.ts +6 -6
  395. package/src/hooks/index.ts +1 -1
  396. package/src/hooks/useChatProcessor.ts +2 -1
  397. package/src/hooks/useChatToolbarActions.ts +22 -19
  398. package/src/hooks/useContextObjects.ts +9 -3
  399. package/src/hooks/useSelectionContext.test.ts +93 -0
  400. package/src/hooks/useSelectionContext.ts +72 -0
  401. package/src/hooks/useSkillRegistry.ts +1 -1
  402. package/src/hooks/useTraceMessages.ts +5 -3
  403. package/src/operations/create-chat.ts +2 -2
  404. package/src/operations/fork-chat.ts +2 -2
  405. package/src/operations/generate-home-suggestions.test.ts +2 -2
  406. package/src/operations/index.ts +0 -1
  407. package/src/operations/prompt.node.test.ts +1 -1
  408. package/src/paths.ts +3 -3
  409. package/src/processor/index.ts +1 -0
  410. package/src/processor/processor.node.test.ts +1 -1
  411. package/src/processor/processor.ts +33 -5
  412. package/src/processor/prompt.test.ts +37 -0
  413. package/src/processor/prompt.ts +42 -0
  414. package/src/processor/streaming.node.test.ts +196 -0
  415. package/src/skills/assistant/skill.node.test.ts +2 -2
  416. package/src/skills/assistant/skill.ts +3 -5
  417. package/src/templates/routine-templates.test.ts +1 -2
  418. package/src/templates/scaffold.ts +3 -3
  419. package/src/testing/data/trace-timeline-multiple.dx.json +1 -1
  420. package/src/testing/data/trace-timeline-remote.dx.json +1 -1
  421. package/src/testing/data/trace-timeline.dx.json +1 -2
  422. package/src/testing/trace-timeline.node.test.ts +3 -3
  423. package/src/translations.ts +11 -10
  424. package/src/types/AssistantCapabilities.ts +1 -1
  425. package/src/types/AssistantOperation.ts +8 -31
  426. package/src/types/ChatSurface.ts +3 -3
  427. package/src/types/Ollama.ts +1 -1
  428. package/dist/lib/neutral/AgentArticle-GV6EEW3I.mjs +0 -161
  429. package/dist/lib/neutral/AgentArticle-GV6EEW3I.mjs.map +0 -7
  430. package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs +0 -40
  431. package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs.map +0 -7
  432. package/dist/lib/neutral/AssistantPlugin.mjs +0 -10
  433. package/dist/lib/neutral/AssistantPlugin.mjs.map +0 -7
  434. package/dist/lib/neutral/AssistantPlugin.node.mjs +0 -72
  435. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +0 -7
  436. package/dist/lib/neutral/AssistantPlugin.workerd.mjs +0 -13
  437. package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +0 -7
  438. package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs +0 -302
  439. package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs.map +0 -7
  440. package/dist/lib/neutral/ChatArticle-OO7GGEFW.mjs +0 -8
  441. package/dist/lib/neutral/ChatArticle-OO7GGEFW.mjs.map +0 -7
  442. package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs +0 -128
  443. package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs.map +0 -7
  444. package/dist/lib/neutral/ChatDialog-5MXN4MXS.mjs +0 -74
  445. package/dist/lib/neutral/ChatDialog-5MXN4MXS.mjs.map +0 -7
  446. package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs +0 -72
  447. package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs.map +0 -7
  448. package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs +0 -34
  449. package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs.map +0 -7
  450. package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs +0 -114
  451. package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs.map +0 -7
  452. package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs +0 -63
  453. package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs.map +0 -7
  454. package/dist/lib/neutral/TracePanel-JKNWADJ4.mjs +0 -12
  455. package/dist/lib/neutral/TracePanel-JKNWADJ4.mjs.map +0 -7
  456. package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs +0 -95
  457. package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs.map +0 -7
  458. package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs +0 -23
  459. package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs.map +0 -7
  460. package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs +0 -32
  461. package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs.map +0 -7
  462. package/dist/lib/neutral/ai-context-LIKJYMIN.mjs.map +0 -7
  463. package/dist/lib/neutral/ai-service-DM6YXWUC.mjs +0 -44
  464. package/dist/lib/neutral/ai-service-DM6YXWUC.mjs.map +0 -7
  465. package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs +0 -249
  466. package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs.map +0 -7
  467. package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs +0 -97
  468. package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs.map +0 -7
  469. package/dist/lib/neutral/capabilities/index.mjs +0 -47
  470. package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
  471. package/dist/lib/neutral/chunk-5IHQ52KJ.mjs +0 -9
  472. package/dist/lib/neutral/chunk-5IHQ52KJ.mjs.map +0 -7
  473. package/dist/lib/neutral/chunk-6Q4OBGIK.mjs +0 -420
  474. package/dist/lib/neutral/chunk-6Q4OBGIK.mjs.map +0 -7
  475. package/dist/lib/neutral/chunk-BXI2R4OO.mjs +0 -410
  476. package/dist/lib/neutral/chunk-BXI2R4OO.mjs.map +0 -7
  477. package/dist/lib/neutral/chunk-CMPLPDYE.mjs +0 -30
  478. package/dist/lib/neutral/chunk-CMPLPDYE.mjs.map +0 -7
  479. package/dist/lib/neutral/chunk-GPHT3HYS.mjs +0 -8
  480. package/dist/lib/neutral/chunk-GPHT3HYS.mjs.map +0 -7
  481. package/dist/lib/neutral/chunk-HKLSFB5I.mjs +0 -90
  482. package/dist/lib/neutral/chunk-HKLSFB5I.mjs.map +0 -7
  483. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  484. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  485. package/dist/lib/neutral/chunk-L7AR4VTA.mjs.map +0 -7
  486. package/dist/lib/neutral/chunk-LS72HWMM.mjs +0 -42
  487. package/dist/lib/neutral/chunk-LS72HWMM.mjs.map +0 -7
  488. package/dist/lib/neutral/chunk-OZWZGIV2.mjs +0 -12
  489. package/dist/lib/neutral/chunk-OZWZGIV2.mjs.map +0 -7
  490. package/dist/lib/neutral/chunk-QOKLFHUS.mjs +0 -13
  491. package/dist/lib/neutral/chunk-QOKLFHUS.mjs.map +0 -7
  492. package/dist/lib/neutral/chunk-SCTHQVIJ.mjs +0 -155
  493. package/dist/lib/neutral/chunk-SCTHQVIJ.mjs.map +0 -7
  494. package/dist/lib/neutral/chunk-U4LTLBAX.mjs +0 -56
  495. package/dist/lib/neutral/chunk-U4LTLBAX.mjs.map +0 -7
  496. package/dist/lib/neutral/chunk-UPKFUZ6V.mjs +0 -115
  497. package/dist/lib/neutral/chunk-UPKFUZ6V.mjs.map +0 -7
  498. package/dist/lib/neutral/chunk-V2Y4XE3O.mjs +0 -12
  499. package/dist/lib/neutral/chunk-V2Y4XE3O.mjs.map +0 -7
  500. package/dist/lib/neutral/chunk-VTK5R4H3.mjs +0 -9
  501. package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +0 -7
  502. package/dist/lib/neutral/chunk-XVGEJWJX.mjs +0 -133
  503. package/dist/lib/neutral/chunk-XVGEJWJX.mjs.map +0 -7
  504. package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs +0 -126
  505. package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs.map +0 -7
  506. package/dist/lib/neutral/components/index.mjs +0 -2527
  507. package/dist/lib/neutral/components/index.mjs.map +0 -7
  508. package/dist/lib/neutral/connector-ITLLTBPZ.mjs +0 -70
  509. package/dist/lib/neutral/connector-ITLLTBPZ.mjs.map +0 -7
  510. package/dist/lib/neutral/containers/index.mjs +0 -31
  511. package/dist/lib/neutral/containers/index.mjs.map +0 -7
  512. package/dist/lib/neutral/create-chat-YGVZZYGP.mjs +0 -56
  513. package/dist/lib/neutral/create-chat-YGVZZYGP.mjs.map +0 -7
  514. package/dist/lib/neutral/create-object-5PAEJ6KM.mjs +0 -76
  515. package/dist/lib/neutral/create-object-5PAEJ6KM.mjs.map +0 -7
  516. package/dist/lib/neutral/edge-model-resolver-WDJWDZTT.mjs +0 -55
  517. package/dist/lib/neutral/edge-model-resolver-WDJWDZTT.mjs.map +0 -7
  518. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs +0 -58
  519. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs.map +0 -7
  520. package/dist/lib/neutral/execution-graph/index.mjs +0 -977
  521. package/dist/lib/neutral/execution-graph/index.mjs.map +0 -7
  522. package/dist/lib/neutral/extensions/index.mjs +0 -8
  523. package/dist/lib/neutral/extensions/index.mjs.map +0 -7
  524. package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs +0 -92
  525. package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs.map +0 -7
  526. package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs +0 -93
  527. package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs.map +0 -7
  528. package/dist/lib/neutral/hooks/index.mjs +0 -877
  529. package/dist/lib/neutral/hooks/index.mjs.map +0 -7
  530. package/dist/lib/neutral/index.mjs +0 -42
  531. package/dist/lib/neutral/index.mjs.map +0 -7
  532. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +0 -24
  533. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +0 -7
  534. package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs +0 -41
  535. package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs.map +0 -7
  536. package/dist/lib/neutral/meta.json +0 -1
  537. package/dist/lib/neutral/meta.mjs +0 -12
  538. package/dist/lib/neutral/meta.mjs.map +0 -7
  539. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +0 -28
  540. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +0 -7
  541. package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs +0 -18
  542. package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs.map +0 -7
  543. package/dist/lib/neutral/operation-handler-2LEN45GP.mjs +0 -8
  544. package/dist/lib/neutral/operation-handler-2LEN45GP.mjs.map +0 -7
  545. package/dist/lib/neutral/operations/index.mjs +0 -8
  546. package/dist/lib/neutral/operations/index.mjs.map +0 -7
  547. package/dist/lib/neutral/plugin.mjs +0 -16
  548. package/dist/lib/neutral/plugin.mjs.map +0 -7
  549. package/dist/lib/neutral/plugin.workerd.mjs +0 -13
  550. package/dist/lib/neutral/plugin.workerd.mjs.map +0 -7
  551. package/dist/lib/neutral/react-surface-HEJEK44F.mjs +0 -171
  552. package/dist/lib/neutral/react-surface-HEJEK44F.mjs.map +0 -7
  553. package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs +0 -28
  554. package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs.map +0 -7
  555. package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs +0 -102
  556. package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs.map +0 -7
  557. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs +0 -48
  558. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs.map +0 -7
  559. package/dist/lib/neutral/settings-7Q3RITIT.mjs +0 -28
  560. package/dist/lib/neutral/settings-7Q3RITIT.mjs.map +0 -7
  561. package/dist/lib/neutral/skill-definition-553MQRTR.mjs +0 -8
  562. package/dist/lib/neutral/skill-definition-553MQRTR.mjs.map +0 -7
  563. package/dist/lib/neutral/skills/index.mjs +0 -8
  564. package/dist/lib/neutral/skills/index.mjs.map +0 -7
  565. package/dist/lib/neutral/state-4LGAKSSD.mjs +0 -34
  566. package/dist/lib/neutral/state-4LGAKSSD.mjs.map +0 -7
  567. package/dist/lib/neutral/testing.mjs +0 -8
  568. package/dist/lib/neutral/testing.mjs.map +0 -7
  569. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +0 -21
  570. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +0 -7
  571. package/dist/lib/neutral/toolkit-ETWLG5NT.mjs +0 -8
  572. package/dist/lib/neutral/toolkit-ETWLG5NT.mjs.map +0 -7
  573. package/dist/lib/neutral/translations.mjs +0 -217
  574. package/dist/lib/neutral/translations.mjs.map +0 -7
  575. package/dist/lib/neutral/types/index.mjs +0 -24
  576. package/dist/lib/neutral/types/index.mjs.map +0 -7
  577. package/dist/lib/neutral/update-chat-name-IJJELRR6.mjs +0 -61
  578. package/dist/lib/neutral/update-chat-name-IJJELRR6.mjs.map +0 -7
  579. package/dist/types/src/capabilities/migrations.d.ts +0 -5
  580. package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
  581. package/dist/types/src/capabilities/navigation-resolver.d.ts +0 -5
  582. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +0 -1
  583. package/dist/types/src/components/Chat/Chat.stories.d.ts.map +0 -1
  584. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +0 -10
  585. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +0 -1
  586. package/dist/types/src/components/ChatThread/sync.d.ts.map +0 -1
  587. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +0 -1
  588. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +0 -1
  589. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +0 -1
  590. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +0 -6
  591. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +0 -1
  592. package/dist/types/src/containers/PlanArticle/index.d.ts +0 -2
  593. package/dist/types/src/containers/PlanArticle/index.d.ts.map +0 -1
  594. package/dist/types/src/hooks/useFlush.d.ts +0 -6
  595. package/dist/types/src/hooks/useFlush.d.ts.map +0 -1
  596. package/dist/types/src/operations/resolve-navigation-targets.d.ts +0 -5
  597. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +0 -1
  598. package/src/AssistantPlugin.conversations.json +0 -1
  599. package/src/capabilities/migrations.ts +0 -28
  600. package/src/capabilities/navigation-resolver.ts +0 -20
  601. package/src/capabilities/react-surface.tsx +0 -177
  602. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +0 -42
  603. package/src/components/ChatThread/DEBUG.md +0 -64
  604. package/src/containers/PlanArticle/PlanArticle.tsx +0 -37
  605. package/src/containers/PlanArticle/index.ts +0 -5
  606. package/src/hooks/useFlush.ts +0 -35
  607. package/src/operations/resolve-navigation-targets.ts +0 -44
  608. /package/dist/types/src/components/ChatThread/{sync.test.d.ts → sync/sync.test.d.ts} +0 -0
  609. /package/dist/types/src/components/ChatThread/{tool-widget-state.d.ts → sync/tool-widget-state.d.ts} +0 -0
  610. /package/dist/types/src/components/ChatThread/{tool-widget-state.test.d.ts → sync/tool-widget-state.test.d.ts} +0 -0
  611. /package/src/components/ChatThread/{tool-widget-state.test.ts → sync/tool-widget-state.test.ts} +0 -0
@@ -1,10 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- export {
8
- __export
9
- };
10
- //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts", "../../../dx.config.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { DXN } from '@dxos/keys';\n\nimport config from '../dx.config';\n\nexport const meta = Plugin.getMetaFromConfig(config);\n\nexport const ASSISTANT_DIALOG = DXN.make(`${meta.profile.key}.assistantDialog`);\n\n/** Companion variant identifier for the assistant chat panel. */\nexport const ASSISTANT_COMPANION_VARIANT = 'assistant-chat';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Config2 } from '@dxos/app-framework/config';\nimport { trim } from '@dxos/util';\n\nexport default Config2.make({\n plugin: {\n key: 'org.dxos.plugin.assistant',\n name: 'Assistant',\n author: 'DXOS',\n description: trim`\n AssistantPlugin brings a conversational AI assistant into DXOS Composer, letting users chat naturally\n with objects in their spaces. Every Chat is a first-class ECHO object — messages are persisted,\n replicated across peers in real time, and can be bound to any document or collection as a companion\n panel that appears alongside the primary view.\n\n AI capabilities are delivered through a flexible multi-provider model layer. Users can route requests\n to the DXOS Edge service, a locally running Ollama instance, or LM Studio, and switch providers at\n any time in Settings. Each provider can be configured with a preferred model, and the runtime\n automatically falls back when a provider is unavailable.\n\n Skills give every chat a specialised identity. Built-in skills cover general assistance,\n web browsing, database interaction, web search, Discord and Linear integration, autonomous agents,\n planning, memory, automation, and a wizard for authoring new skills. Binding a skill\n changes the system instructions and the tool set exposed to the model in a single step.\n\n Tool execution runs through the DXOS compute runtime so every AI action — opening a document,\n searching the web, querying a database — produces a structured execution trace. The optional\n TracePanel visualises that trace as a commit graph or raw JSON, giving developers full observability\n into what the model did and why.\n `,\n icon: { key: 'ph--sparkle--regular', hue: 'sky' },\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-assistant',\n spec: 'PLUGIN.mdl',\n },\n});\n"],
5
- "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,WAAW;;;ACDpB,SAASC,eAAe;AACxB,SAASC,YAAY;AAErB,IAAA,oBAAeD,QAAQE,KAAK;EAC1BC,QAAQ;IACNC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,aAAaN;;;;;;;;;;;;;;;;;;;;;IAqBbO,MAAM;MAAEJ,KAAK;MAAwBK,KAAK;IAAM;IAChDC,QAAQ;IACRC,MAAM;EACR;AACF,CAAA;;;AD5BO,IAAMC,OAAOC,OAAOC,kBAAkBC,iBAAAA;AAEtC,IAAMC,mBAAmBC,IAAIC,KAAK,GAAGN,KAAKO,QAAQC,GAAG,kBAAkB;AAGvE,IAAMC,8BAA8B;",
6
- "names": ["Plugin", "DXN", "Config2", "trim", "make", "plugin", "key", "name", "author", "description", "icon", "hue", "source", "spec", "meta", "Plugin", "getMetaFromConfig", "config", "ASSISTANT_DIALOG", "DXN", "make", "profile", "key", "ASSISTANT_COMPANION_VARIANT"]
7
- }
@@ -1,42 +0,0 @@
1
- // src/capabilities/skill-definition.ts
2
- import * as Effect from "effect/Effect";
3
- import { Capabilities, Capability } from "@dxos/app-framework";
4
- import { AppCapabilities } from "@dxos/app-toolkit";
5
- import { AgentHandlers, AgentSkill, AgentSkillHandlers, AgentWizardHandlers, AgentWizardSkill, AlarmHandlers, AlarmSkill, AutomationSkill, BrowserSkill, ConnectorsSkill, DatabaseHandlers, DatabaseSkill, DelegationHandlers, DelegationSkill, DiscordSkill, LinearSkill, MemorySkill, PlanningHandlers, PlanningSkill, SkillManagerHandlers, SkillManagerSkill, WebSearchHandlers, WebSearchSkill, makeDelegationStrategy } from "@dxos/assistant-toolkit";
6
- import { RoutineCapabilities } from "@dxos/plugin-routine";
7
- import { AssistantSkill } from "#skills";
8
- var skillDefinition = () => Effect.succeed([
9
- Capability.contributes(AppCapabilities.SkillDefinition, AssistantSkill),
10
- Capability.contributes(AppCapabilities.SkillDefinition, BrowserSkill),
11
- Capability.contributes(AppCapabilities.SkillDefinition, ConnectorsSkill),
12
- Capability.contributes(AppCapabilities.SkillDefinition, DatabaseSkill),
13
- Capability.contributes(AppCapabilities.SkillDefinition, WebSearchSkill),
14
- Capability.contributes(AppCapabilities.SkillDefinition, DiscordSkill),
15
- Capability.contributes(AppCapabilities.SkillDefinition, LinearSkill),
16
- Capability.contributes(AppCapabilities.SkillDefinition, AgentSkill),
17
- Capability.contributes(AppCapabilities.SkillDefinition, PlanningSkill),
18
- Capability.contributes(AppCapabilities.SkillDefinition, MemorySkill),
19
- Capability.contributes(AppCapabilities.SkillDefinition, AutomationSkill),
20
- Capability.contributes(AppCapabilities.SkillDefinition, SkillManagerSkill),
21
- Capability.contributes(AppCapabilities.SkillDefinition, AgentWizardSkill),
22
- Capability.contributes(AppCapabilities.SkillDefinition, DelegationSkill),
23
- Capability.contributes(AppCapabilities.SkillDefinition, AlarmSkill),
24
- Capability.contributes(Capabilities.OperationHandler, AgentHandlers),
25
- Capability.contributes(Capabilities.OperationHandler, AgentSkillHandlers),
26
- Capability.contributes(Capabilities.OperationHandler, SkillManagerHandlers),
27
- Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),
28
- Capability.contributes(Capabilities.OperationHandler, WebSearchHandlers),
29
- Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers),
30
- Capability.contributes(Capabilities.OperationHandler, DelegationHandlers),
31
- Capability.contributes(Capabilities.OperationHandler, PlanningHandlers),
32
- Capability.contributes(Capabilities.OperationHandler, AlarmHandlers),
33
- // Run the conversational agent as a supervisor: delegate in-progress plan tasks to sub-agents
34
- // and fold their results back into the conversation (consumed by the AgentService LayerSpec).
35
- Capability.contributes(RoutineCapabilities.AgentDelegationStrategy, makeDelegationStrategy())
36
- ]);
37
- var skill_definition_default = skillDefinition;
38
-
39
- export {
40
- skill_definition_default
41
- };
42
- //# sourceMappingURL=chunk-LS72HWMM.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/skill-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 AgentHandlers,\n AgentSkill,\n AgentSkillHandlers,\n AgentWizardHandlers,\n AgentWizardSkill,\n AlarmHandlers,\n AlarmSkill,\n AutomationSkill,\n BrowserSkill,\n ConnectorsSkill,\n DatabaseHandlers,\n DatabaseSkill,\n DelegationHandlers,\n DelegationSkill,\n DiscordSkill,\n LinearSkill,\n MemorySkill,\n PlanningHandlers,\n PlanningSkill,\n SkillManagerHandlers,\n SkillManagerSkill,\n WebSearchHandlers,\n WebSearchSkill,\n makeDelegationStrategy,\n} from '@dxos/assistant-toolkit';\nimport { RoutineCapabilities } from '@dxos/plugin-routine';\n\nimport { AssistantSkill } from '#skills';\n\nconst skillDefinition = () =>\n Effect.succeed([\n Capability.contributes(AppCapabilities.SkillDefinition, AssistantSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, BrowserSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, ConnectorsSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, DatabaseSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, WebSearchSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, DiscordSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, LinearSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, AgentSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, PlanningSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, MemorySkill),\n Capability.contributes(AppCapabilities.SkillDefinition, AutomationSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, SkillManagerSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, AgentWizardSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, DelegationSkill),\n Capability.contributes(AppCapabilities.SkillDefinition, AlarmSkill),\n\n Capability.contributes(Capabilities.OperationHandler, AgentHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentSkillHandlers),\n Capability.contributes(Capabilities.OperationHandler, SkillManagerHandlers),\n Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),\n Capability.contributes(Capabilities.OperationHandler, WebSearchHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers),\n Capability.contributes(Capabilities.OperationHandler, DelegationHandlers),\n Capability.contributes(Capabilities.OperationHandler, PlanningHandlers),\n Capability.contributes(Capabilities.OperationHandler, AlarmHandlers),\n\n // Run the conversational agent as a supervisor: delegate in-progress plan tasks to sub-agents\n // and fold their results back into the conversation (consumed by the AgentService LayerSpec).\n Capability.contributes(RoutineCapabilities.AgentDelegationStrategy, makeDelegationStrategy()),\n ]);\n\nexport default skillDefinition;\n"],
5
- "mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SACEC,eACAC,YACAC,oBACAC,qBACAC,kBACAC,eACAC,YACAC,iBACAC,cACAC,iBACAC,kBACAC,eACAC,oBACAC,iBACAC,cACAC,aACAC,aACAC,kBACAC,eACAC,sBACAC,mBACAC,mBACAC,gBACAC,8BACK;AACP,SAASC,2BAA2B;AAEpC,SAASC,sBAAsB;AAE/B,IAAMC,kBAAkB,MACfC,eAAQ;EACb7B,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBJ,cAAAA;EACxD3B,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBrB,YAAAA;EACxDV,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBpB,eAAAA;EACxDX,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBlB,aAAAA;EACxDb,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBP,cAAAA;EACxDxB,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBf,YAAAA;EACxDhB,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBd,WAAAA;EACxDjB,WAAW8B,YAAY7B,gBAAgB8B,iBAAiB5B,UAAAA;EACxDH,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBX,aAAAA;EACxDpB,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBb,WAAAA;EACxDlB,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBtB,eAAAA;EACxDT,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBT,iBAAAA;EACxDtB,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBzB,gBAAAA;EACxDN,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBhB,eAAAA;EACxDf,WAAW8B,YAAY7B,gBAAgB8B,iBAAiBvB,UAAAA;EAExDR,WAAW8B,YAAY/B,aAAaiC,kBAAkB9B,aAAAA;EACtDF,WAAW8B,YAAY/B,aAAaiC,kBAAkB5B,kBAAAA;EACtDJ,WAAW8B,YAAY/B,aAAaiC,kBAAkBX,oBAAAA;EACtDrB,WAAW8B,YAAY/B,aAAaiC,kBAAkBpB,gBAAAA;EACtDZ,WAAW8B,YAAY/B,aAAaiC,kBAAkBT,iBAAAA;EACtDvB,WAAW8B,YAAY/B,aAAaiC,kBAAkB3B,mBAAAA;EACtDL,WAAW8B,YAAY/B,aAAaiC,kBAAkBlB,kBAAAA;EACtDd,WAAW8B,YAAY/B,aAAaiC,kBAAkBb,gBAAAA;EACtDnB,WAAW8B,YAAY/B,aAAaiC,kBAAkBzB,aAAAA;;;EAItDP,WAAW8B,YAAYJ,oBAAoBO,yBAAyBR,uBAAAA,CAAAA;CACrE;AAEH,IAAA,2BAAeG;",
6
- "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "AgentHandlers", "AgentSkill", "AgentSkillHandlers", "AgentWizardHandlers", "AgentWizardSkill", "AlarmHandlers", "AlarmSkill", "AutomationSkill", "BrowserSkill", "ConnectorsSkill", "DatabaseHandlers", "DatabaseSkill", "DelegationHandlers", "DelegationSkill", "DiscordSkill", "LinearSkill", "MemorySkill", "PlanningHandlers", "PlanningSkill", "SkillManagerHandlers", "SkillManagerSkill", "WebSearchHandlers", "WebSearchSkill", "makeDelegationStrategy", "RoutineCapabilities", "AssistantSkill", "skillDefinition", "succeed", "contributes", "SkillDefinition", "OperationHandler", "AgentDelegationStrategy"]
7
- }
@@ -1,12 +0,0 @@
1
- // src/paths.ts
2
- import { Paths } from "@dxos/app-toolkit";
3
- import { Chat } from "@dxos/assistant-toolkit";
4
- var { getSectionPath: getChatsPath, getObjectPath: getChatPath } = Paths.createTypeSectionPaths(Chat.Chat, {
5
- groupId: Paths.GroupSegments.ai
6
- });
7
-
8
- export {
9
- getChatsPath,
10
- getChatPath
11
- };
12
- //# sourceMappingURL=chunk-OZWZGIV2.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/paths.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Paths } from '@dxos/app-toolkit';\nimport { Chat } from '@dxos/assistant-toolkit';\n\nconst { getSectionPath: getChatsPath, getObjectPath: getChatPath } = Paths.createTypeSectionPaths(Chat.Chat, {\n groupId: Paths.GroupSegments.ai,\n});\n\nexport { getChatPath, getChatsPath };\n"],
5
- "mappings": ";AAIA,SAASA,aAAa;AACtB,SAASC,YAAY;AAErB,IAAM,EAAEC,gBAAgBC,cAAcC,eAAeC,YAAW,IAAKL,MAAMM,uBAAuBL,KAAKA,MAAM;EAC3GM,SAASP,MAAMQ,cAAcC;AAC/B,CAAA;",
6
- "names": ["Paths", "Chat", "getSectionPath", "getChatsPath", "getObjectPath", "getChatPath", "createTypeSectionPaths", "groupId", "GroupSegments", "ai"]
7
- }
@@ -1,13 +0,0 @@
1
- // src/capabilities/toolkit.ts
2
- import * as Effect from "effect/Effect";
3
- import { Capability } from "@dxos/app-framework";
4
- import { AppCapabilities } from "@dxos/app-toolkit";
5
- import { WebSearchToolkitOpaque } from "@dxos/assistant-toolkit";
6
- var toolkit_default = Capability.makeModule(() => Effect.succeed([
7
- Capability.contributes(AppCapabilities.Toolkit, WebSearchToolkitOpaque)
8
- ]));
9
-
10
- export {
11
- toolkit_default
12
- };
13
- //# sourceMappingURL=chunk-QOKLFHUS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/toolkit.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { WebSearchToolkitOpaque } from '@dxos/assistant-toolkit';\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(AppCapabilities.Toolkit, WebSearchToolkitOpaque)]),\n);\n"],
5
- "mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,8BAA8B;AAEvC,IAAA,kBAAeF,WAAWG,WAAW,MAC5BC,eAAQ;EAACJ,WAAWK,YAAYJ,gBAAgBK,SAASJ,sBAAAA;CAAwB,CAAA;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "WebSearchToolkitOpaque", "makeModule", "succeed", "contributes", "Toolkit"]
7
- }
@@ -1,155 +0,0 @@
1
- // src/containers/TracePanel/TracePanel.tsx
2
- import { Atom } from "@effect-atom/atom";
3
- import { useAtomValue } from "@effect-atom/atom-react";
4
- import * as Data from "effect/Data";
5
- import * as Duration from "effect/Duration";
6
- import { pipe } from "effect/Function";
7
- import React, { useCallback, useDeferredValue, useEffect, useMemo, useState } from "react";
8
- import { Capabilities } from "@dxos/app-framework";
9
- import { useAtomCapability, useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
10
- import { LayoutOperation } from "@dxos/app-toolkit";
11
- import { Process } from "@dxos/compute";
12
- import { EID } from "@dxos/keys";
13
- import { ScrollContainer } from "@dxos/react-ui";
14
- import { composable, composableProps } from "@dxos/react-ui";
15
- import { useAttentionAttributes } from "@dxos/react-ui-attention";
16
- import { Timeline } from "@dxos/react-ui-components";
17
- import { Syntax } from "@dxos/react-ui-syntax-highlighter";
18
- import { mx } from "@dxos/ui-theme";
19
- import { ProcessTree } from "#components";
20
- import { buildExecutionGraph } from "#execution-graph";
21
- import { getTraceMessagesAtom, useTraceMessages } from "#hooks";
22
- import { AssistantCapabilities } from "#types";
23
- var TracePanel = composable(({ space, attendableId, onProcessTerminate, ...props }, forwardedRef) => {
24
- const attentionAttrs = useAttentionAttributes(attendableId);
25
- const { invokePromise } = useOperationInvoker();
26
- const settings = useAtomCapability(AssistantCapabilities.Settings);
27
- const tracePanelDebug = settings.tracePanelDebug ?? false;
28
- const { branches, commits, spanTree, details } = useDeferredValue(useExecutionGraph(space));
29
- const traceMessages = useTraceMessages(space);
30
- useEffect(() => {
31
- if (!import.meta.env.DEV) {
32
- return;
33
- }
34
- const debugGlobal = globalThis;
35
- debugGlobal.dxosDumpTrace = () => {
36
- const data = traceMessages.map((message) => ({
37
- meta: message.meta,
38
- isEphemeral: message.isEphemeral,
39
- events: message.events
40
- }));
41
- const json = JSON.stringify(data, null, 2);
42
- console.log(json);
43
- void navigator.clipboard?.writeText(json);
44
- return `dxosDumpTrace: ${data.length} message(s) copied to clipboard`;
45
- };
46
- return () => {
47
- delete debugGlobal.dxosDumpTrace;
48
- };
49
- }, [
50
- traceMessages
51
- ]);
52
- const [selectedCommit, setSelectedCommit] = useState();
53
- const handleCommitSelect = useCallback((commit) => {
54
- setSelectedCommit(commit);
55
- if (commit?.link) {
56
- const echoUri = EID.tryParse(commit.link);
57
- const spaceId = echoUri ? EID.getSpaceId(echoUri) : void 0;
58
- const objectId = echoUri ? EID.getEntityId(echoUri) : void 0;
59
- if (spaceId && objectId) {
60
- void invokePromise(LayoutOperation.Open, {
61
- subject: [
62
- `${spaceId}:${objectId}`
63
- ]
64
- });
65
- }
66
- }
67
- }, [
68
- invokePromise,
69
- setSelectedCommit
70
- ]);
71
- const [currentBranch, setCurrentBranch] = useState(null);
72
- const handleProcessSelect = useCallback((process) => {
73
- const branch = branches.find((branch2) => branch2 === process.pid.toString());
74
- if (branch) {
75
- setCurrentBranch(branch);
76
- }
77
- }, [
78
- branches
79
- ]);
80
- return /* @__PURE__ */ React.createElement("div", {
81
- ...composableProps(props, {
82
- ...attentionAttrs,
83
- classNames: mx("h-full grid divide-y divide-separator", !tracePanelDebug && selectedCommit ? "grid-rows-[minmax(0,160px)_1fr_minmax(0,206px)]" : "grid-rows-[minmax(0,160px)_1fr]")
84
- }),
85
- ref: forwardedRef
86
- }, /* @__PURE__ */ React.createElement(ProcessTreeContainer, {
87
- onProcessSelect: handleProcessSelect,
88
- onProcessTerminate
89
- }), /* @__PURE__ */ React.createElement(ScrollContainer.Root, {
90
- pin: true
91
- }, /* @__PURE__ */ React.createElement(ScrollContainer.Content, {
92
- thin: true
93
- }, /* @__PURE__ */ React.createElement(ScrollContainer.Fade, null), /* @__PURE__ */ React.createElement(ScrollContainer.Viewport, null, tracePanelDebug ? /* @__PURE__ */ React.createElement(Syntax.Root, {
94
- data: spanTree
95
- }, /* @__PURE__ */ React.createElement(Syntax.Content, null, /* @__PURE__ */ React.createElement(Syntax.Viewport, null, /* @__PURE__ */ React.createElement(Syntax.Code, {
96
- className: "text-xs"
97
- })))) : /* @__PURE__ */ React.createElement(Timeline, {
98
- compact: true,
99
- commits,
100
- branches,
101
- currentBranch,
102
- onSelect: handleCommitSelect
103
- })), /* @__PURE__ */ React.createElement(ScrollContainer.ScrollDownButton, null))), !tracePanelDebug && selectedCommit && /* @__PURE__ */ React.createElement(Syntax.Root, {
104
- data: details[selectedCommit.id] ?? selectedCommit
105
- }, /* @__PURE__ */ React.createElement(Syntax.Content, null, /* @__PURE__ */ React.createElement(Syntax.Viewport, null, /* @__PURE__ */ React.createElement(Syntax.Code, {
106
- className: "text-xs"
107
- })))));
108
- });
109
- var atomEmpty = Atom.make(() => []);
110
- var useExecutionGraph = (space, { collapseCompletedSpans, eventLimit } = {}) => {
111
- const monitor = useCapability(Capabilities.ProcessMonitor);
112
- const processesAtom = monitor?.processTreeAtom ?? atomEmpty;
113
- const atom = useMemo(() => getExecutionGraph(space, processesAtom, {
114
- collapseCompletedSpans,
115
- eventLimit
116
- }), [
117
- space,
118
- processesAtom,
119
- collapseCompletedSpans,
120
- eventLimit
121
- ]);
122
- return useAtomValue(atom);
123
- };
124
- var getExecutionGraph = (space, processesAtom, { collapseCompletedSpans = true, eventLimit = 100 } = {}) => {
125
- const traceMessages = getTraceMessagesAtom(space);
126
- const activeProcesses = pipe(processesAtom, Atom.debounce(Duration.millis(500)), Atom.map((processes) => (
127
- // `Data.array` does structural comparison on the array elements.
128
- Data.array(processes.filter((process) => process.state === Process.State.RUNNING || process.state === Process.State.HYBERNATING).map(Data.struct))
129
- )));
130
- return Atom.make((get) => buildExecutionGraph({
131
- traceMessages: get(traceMessages),
132
- activeProcesses: get(activeProcesses),
133
- collapseCompletedSpans,
134
- eventLimit
135
- }));
136
- };
137
- TracePanel.displayName = "TracePanel";
138
- var ProcessTreeContainer = ({ onProcessSelect, onProcessTerminate }) => {
139
- const monitor = useCapability(Capabilities.ProcessMonitor);
140
- const processes = useAtomValue(useMemo(() => monitor?.processTreeAtom.pipe(Atom.debounce(Duration.millis(500))) ?? atomEmpty, [
141
- monitor
142
- ]));
143
- const processesDeferred = useDeferredValue(processes);
144
- return /* @__PURE__ */ React.createElement(ProcessTree, {
145
- processes: processesDeferred,
146
- depth: 3,
147
- onProcessSelect,
148
- onProcessTerminate
149
- });
150
- };
151
-
152
- export {
153
- TracePanel
154
- };
155
- //# sourceMappingURL=chunk-SCTHQVIJ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/TracePanel/TracePanel.tsx"],
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, useEffect, useMemo, useState } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useAtomCapability, useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Process } from '@dxos/compute';\nimport { EID } 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 { type Commit, Timeline } 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 { type ExecutionGraph, buildExecutionGraph } from '#execution-graph';\nimport { getTraceMessagesAtom, useTraceMessages } from '#hooks';\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 // Debug hatch (dev builds only): expose the raw trace messages (the exact `buildExecutionGraph`\n // input) so a real trace can be captured as a test fixture. While the TracePanel is mounted, run\n // `dxosDumpTrace()` in the console — it copies the serialized `Trace.Message[]` to the clipboard\n // (and logs it). Gated on `import.meta.env.DEV` so it's stripped from production builds.\n const traceMessages = useTraceMessages(space);\n useEffect(() => {\n if (!import.meta.env.DEV) {\n return;\n }\n // Attach a debug hatch to the global object (a genuine global-augmentation boundary).\n const debugGlobal = globalThis as typeof globalThis & { dxosDumpTrace?: () => string };\n debugGlobal.dxosDumpTrace = () => {\n const data = traceMessages.map((message) => ({\n meta: message.meta,\n isEphemeral: message.isEphemeral,\n events: message.events,\n }));\n const json = JSON.stringify(data, null, 2);\n // eslint-disable-next-line no-console\n console.log(json);\n void navigator.clipboard?.writeText(json);\n return `dxosDumpTrace: ${data.length} message(s) copied to clipboard`;\n };\n return () => {\n delete debugGlobal.dxosDumpTrace;\n };\n }, [traceMessages]);\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 = EID.tryParse(commit.link);\n const spaceId = echoUri ? EID.getSpaceId(echoUri) : undefined;\n const objectId = echoUri ? EID.getEntityId(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,160px)_1fr_minmax(0,206px)]'\n : 'grid-rows-[minmax(0,160px)_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 collapseCompletedSpans?: boolean;\n eventLimit?: number;\n};\n\nconst useExecutionGraph = (\n space: Space,\n { collapseCompletedSpans, eventLimit }: UseExecutionGraphOptions = {},\n): ExecutionGraph => {\n const monitor = useCapability(Capabilities.ProcessMonitor);\n const processesAtom = monitor?.processTreeAtom ?? atomEmpty;\n\n const atom = useMemo(\n () => getExecutionGraph(space, processesAtom, { collapseCompletedSpans, eventLimit }),\n [space, processesAtom, collapseCompletedSpans, eventLimit],\n );\n\n return useAtomValue(atom);\n};\n\nconst getExecutionGraph = (\n space: Space,\n processesAtom: Atom.Atom<readonly Process.Info[]>,\n { collapseCompletedSpans = true, eventLimit = 100 }: UseExecutionGraphOptions = {},\n): Atom.Atom<ExecutionGraph> => {\n const traceMessages = getTraceMessagesAtom(space);\n\n const activeProcesses = pipe(\n processesAtom,\n Atom.debounce(Duration.millis(500)),\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 collapseCompletedSpans,\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(\n useMemo(() => monitor?.processTreeAtom.pipe(Atom.debounce(Duration.millis(500))) ?? atomEmpty, [monitor]),\n );\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 depth={3}\n onProcessSelect={onProcessSelect}\n onProcessTerminate={onProcessTerminate}\n />\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["Atom", "useAtomValue", "Data", "Duration", "pipe", "React", "useCallback", "useDeferredValue", "useEffect", "useMemo", "useState", "Capabilities", "useAtomCapability", "useCapability", "useOperationInvoker", "LayoutOperation", "Process", "EID", "ScrollContainer", "composable", "composableProps", "useAttentionAttributes", "Timeline", "Syntax", "mx", "ProcessTree", "buildExecutionGraph", "getTraceMessagesAtom", "useTraceMessages", "AssistantCapabilities", "TracePanel", "space", "attendableId", "onProcessTerminate", "props", "forwardedRef", "attentionAttrs", "invokePromise", "settings", "Settings", "tracePanelDebug", "branches", "commits", "spanTree", "details", "useExecutionGraph", "traceMessages", "env", "DEV", "debugGlobal", "globalThis", "dxosDumpTrace", "data", "map", "message", "meta", "isEphemeral", "events", "json", "JSON", "stringify", "console", "log", "navigator", "clipboard", "writeText", "length", "selectedCommit", "setSelectedCommit", "handleCommitSelect", "commit", "link", "echoUri", "tryParse", "spaceId", "getSpaceId", "undefined", "objectId", "getEntityId", "Open", "subject", "currentBranch", "setCurrentBranch", "handleProcessSelect", "process", "branch", "find", "pid", "toString", "div", "classNames", "ref", "ProcessTreeContainer", "onProcessSelect", "Root", "pin", "Content", "thin", "Fade", "Viewport", "Code", "className", "compact", "onSelect", "ScrollDownButton", "id", "atomEmpty", "make", "collapseCompletedSpans", "eventLimit", "monitor", "ProcessMonitor", "processesAtom", "processTreeAtom", "atom", "getExecutionGraph", "activeProcesses", "debounce", "millis", "processes", "array", "filter", "state", "State", "RUNNING", "HYBERNATING", "struct", "get", "displayName", "processesDeferred", "depth"]
7
- }
@@ -1,56 +0,0 @@
1
- import {
2
- operation_handler_default
3
- } from "./chunk-V2Y4XE3O.mjs";
4
- import {
5
- skill_definition_default
6
- } from "./chunk-LS72HWMM.mjs";
7
- import {
8
- toolkit_default
9
- } from "./chunk-QOKLFHUS.mjs";
10
-
11
- // src/AssistantPlugin.workerd.ts
12
- import { ActivationEvents, Plugin } from "@dxos/app-framework";
13
- import { AppPlugin } from "@dxos/app-toolkit";
14
- import { AiContext } from "@dxos/assistant";
15
- import { Agent, Chat, McpServer, Memory, Plan } from "@dxos/assistant-toolkit";
16
- import { Instructions, Skill } from "@dxos/compute";
17
- import { Sequence } from "@dxos/conductor";
18
- import { Feed } from "@dxos/echo";
19
- import { Text } from "@dxos/schema";
20
- import { HasSubject, Message } from "@dxos/types";
21
- import { meta } from "#meta";
22
- var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addSkillDefinitionModule({
23
- id: "skill-definition",
24
- activate: skill_definition_default
25
- }), AppPlugin.addOperationHandlerModule({
26
- id: "operation-handler",
27
- activate: operation_handler_default
28
- }), Plugin.addModule({
29
- id: "toolkit",
30
- activatesOn: ActivationEvents.Startup,
31
- activate: toolkit_default
32
- }), AppPlugin.addSchemaModule({
33
- schema: [
34
- Chat.Chat,
35
- Chat.CompanionTo,
36
- Skill.Skill,
37
- AiContext.Binding,
38
- Feed.Feed,
39
- HasSubject.HasSubject,
40
- Message.Message,
41
- Instructions.Instructions,
42
- Agent.Agent,
43
- McpServer.McpServer,
44
- Plan.Plan,
45
- Sequence.Sequence,
46
- Memory.Memory,
47
- Text.Text
48
- ]
49
- }), Plugin.make);
50
- var AssistantPlugin_workerd_default = AssistantPlugin;
51
-
52
- export {
53
- AssistantPlugin,
54
- AssistantPlugin_workerd_default
55
- };
56
- //# sourceMappingURL=chunk-U4LTLBAX.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/AssistantPlugin.workerd.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvents, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';\nimport { Instructions, Skill } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nimport OperationHandler from './capabilities/operation-handler';\nimport SkillDefinition from './capabilities/skill-definition';\nimport Toolkit from './capabilities/toolkit';\n\nexport const AssistantPlugin = Plugin.define(meta).pipe(\n AppPlugin.addSkillDefinitionModule({ id: 'skill-definition', activate: SkillDefinition }),\n AppPlugin.addOperationHandlerModule({ id: 'operation-handler', activate: OperationHandler }),\n Plugin.addModule({\n id: 'toolkit',\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Skill.Skill,\n AiContext.Binding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Instructions.Instructions,\n Agent.Agent,\n McpServer.McpServer,\n Plan.Plan,\n Sequence.Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n Plugin.make,\n);\n\nexport default AssistantPlugin;\n"],
5
- "mappings": ";;;;;;;;;;;AAIA,SAASA,kBAAkBC,cAAc;AACzC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,OAAOC,MAAMC,WAAWC,QAAQC,YAAY;AACrD,SAASC,cAAcC,aAAa;AACpC,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,YAAY;AACrB,SAASC,YAAYC,eAAe;AAEpC,SAASC,YAAY;AAMd,IAAMC,kBAAkBC,OAAOC,OAAOC,IAAAA,EAAMC,KACjDC,UAAUC,yBAAyB;EAAEC,IAAI;EAAoBC,UAAUC;AAAgB,CAAA,GACvFJ,UAAUK,0BAA0B;EAAEH,IAAI;EAAqBC,UAAUG;AAAiB,CAAA,GAC1FV,OAAOW,UAAU;EACfL,IAAI;EACJM,aAAaC,iBAAiBC;EAC9BP,UAAUQ;AACZ,CAAA,GACAX,UAAUY,gBAAgB;EACxBC,QAAQ;IACNC,KAAKA;IACLA,KAAKC;IACLC,MAAMA;IACNC,UAAUC;IACVC,KAAKA;IACLC,WAAWA;IACXC,QAAQA;IACRC,aAAaA;IACbC,MAAMA;IACNC,UAAUA;IACVC,KAAKA;IACLC,SAASA;IACTC,OAAOA;IACPC,KAAKA;;AAET,CAAA,GACAhC,OAAOiC,IAAI;AAGb,IAAA,kCAAelC;",
6
- "names": ["ActivationEvents", "Plugin", "AppPlugin", "AiContext", "Agent", "Chat", "McpServer", "Memory", "Plan", "Instructions", "Skill", "Sequence", "Feed", "Text", "HasSubject", "Message", "meta", "AssistantPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addSkillDefinitionModule", "id", "activate", "SkillDefinition", "addOperationHandlerModule", "OperationHandler", "addModule", "activatesOn", "ActivationEvents", "Startup", "Toolkit", "addSchemaModule", "schema", "Chat", "CompanionTo", "Skill", "AiContext", "Binding", "Feed", "HasSubject", "Message", "Instructions", "Agent", "McpServer", "Plan", "Sequence", "Memory", "Text", "make"]
7
- }
@@ -1,115 +0,0 @@
1
- // src/containers/ChatArticle/ChatArticle.tsx
2
- import React, { forwardRef, useCallback, useEffect, useRef } from "react";
3
- import { Provider } from "@dxos/ai";
4
- import { Capabilities } from "@dxos/app-framework";
5
- import { useAtomCapability, useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
6
- import { getSpace } from "@dxos/client/echo";
7
- import { ClientOperation } from "@dxos/plugin-client";
8
- import { useObject, useRegistry } from "@dxos/react-client/echo";
9
- import { Panel } from "@dxos/react-ui";
10
- import { Chat as ChatComponent } from "#components";
11
- import { useChatProcessor, useChatServices, usePresets } from "#hooks";
12
- import { AssistantCapabilities } from "#types";
13
- var ChatArticle = /* @__PURE__ */ forwardRef(({ role, attendableId, subject: chat, companionTo, onEvent, onSubmit }, forwardedRef) => {
14
- const registry = useRegistry();
15
- const settings = useAtomCapability(AssistantCapabilities.Settings);
16
- const atomRegistry = useCapability(Capabilities.AtomRegistry);
17
- const stateAtom = useCapability(AssistantCapabilities.State);
18
- const space = getSpace(chat) ?? getSpace(companionTo);
19
- const runtime = useChatServices({
20
- id: space?.id
21
- });
22
- const { preset, ...chatProps } = usePresets(settings);
23
- const online = preset?.provider === Provider.edge.id;
24
- const processor = useChatProcessor({
25
- space,
26
- chat,
27
- preset,
28
- runtime,
29
- registry,
30
- settings
31
- });
32
- const [chatViewType] = useObject(chat, "viewType");
33
- const viewType = chatViewType ?? settings.chatView;
34
- const { invokePromise } = useOperationInvoker();
35
- const handleViewUsage = useCallback(() => {
36
- void invokePromise(ClientOperation.OpenUsage, void 0);
37
- }, [
38
- invokePromise
39
- ]);
40
- const pendingSubmitted = useRef(false);
41
- useEffect(() => {
42
- pendingSubmitted.current = false;
43
- }, [
44
- attendableId
45
- ]);
46
- useEffect(() => {
47
- if (!processor || !attendableId || pendingSubmitted.current) {
48
- return;
49
- }
50
- const state = atomRegistry.get(stateAtom);
51
- const pendingPrompt = state.pendingPrompts[attendableId];
52
- if (pendingPrompt) {
53
- pendingSubmitted.current = true;
54
- atomRegistry.update(stateAtom, (current) => {
55
- const { [attendableId]: _, ...rest } = current.pendingPrompts;
56
- return {
57
- ...current,
58
- pendingPrompts: rest
59
- };
60
- });
61
- void processor.request({
62
- message: pendingPrompt
63
- });
64
- }
65
- }, [
66
- processor,
67
- attendableId,
68
- atomRegistry,
69
- stateAtom
70
- ]);
71
- if (!processor) {
72
- return null;
73
- }
74
- return /* @__PURE__ */ React.createElement(ChatComponent.Root, {
75
- chat,
76
- db: space?.db,
77
- processor,
78
- onEvent,
79
- onSubmit
80
- }, /* @__PURE__ */ React.createElement(Panel.Root, {
81
- role,
82
- ref: forwardedRef
83
- }, /* @__PURE__ */ React.createElement(Panel.Toolbar, null, /* @__PURE__ */ React.createElement(ChatComponent.Toolbar, {
84
- classNames: "dx-document",
85
- attendableId,
86
- companionTo
87
- })), /* @__PURE__ */ React.createElement(Panel.Content, null, /* @__PURE__ */ React.createElement(ChatComponent.Content, null, /* @__PURE__ */ React.createElement("div", {
88
- className: "dx-container relative"
89
- }, /* @__PURE__ */ React.createElement(ChatComponent.Thread, {
90
- viewType,
91
- onViewUsage: handleViewUsage
92
- }), viewType !== "summary" && /* @__PURE__ */ React.createElement("div", {
93
- className: "absolute bottom-2 left-0 right-0"
94
- }, /* @__PURE__ */ React.createElement("div", {
95
- className: "dx-document px-4"
96
- }, /* @__PURE__ */ React.createElement(ChatComponent.Status, {
97
- classNames: "px-3 rounded-sm bg-group-surface"
98
- })))), /* @__PURE__ */ React.createElement("div", {
99
- className: "dx-document px-4 pb-4"
100
- }, /* @__PURE__ */ React.createElement("div", {
101
- className: "flex flex-col items-center py-2 overflow-hidden"
102
- }, /* @__PURE__ */ React.createElement(ChatComponent.TaskList, {
103
- classNames: "max-h-[120px] border border-separator rounded-sm text-description"
104
- })), /* @__PURE__ */ React.createElement(ChatComponent.Prompt, {
105
- ...chatProps,
106
- outline: true,
107
- preset: preset?.id,
108
- online
109
- }))))));
110
- });
111
-
112
- export {
113
- ChatArticle
114
- };
115
- //# sourceMappingURL=chunk-UPKFUZ6V.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/ChatArticle/ChatArticle.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { forwardRef, useCallback, useEffect, useRef } from 'react';\n\nimport { Provider } from '@dxos/ai';\nimport { Capabilities } from '@dxos/app-framework';\nimport { useAtomCapability, useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { getSpace } from '@dxos/client/echo';\nimport { type Obj } from '@dxos/echo';\nimport { ClientOperation } from '@dxos/plugin-client';\nimport { useObject, useRegistry } from '@dxos/react-client/echo';\nimport { Panel } from '@dxos/react-ui';\n\nimport { Chat as ChatComponent, type ChatRootProps } from '#components';\nimport { useChatProcessor, useChatServices, usePresets } from '#hooks';\nimport { type Assistant, AssistantCapabilities, type ChatType } from '#types';\n\nexport type ChatArticleProps = AppSurface.ObjectSectionProps<ChatType.Chat> & {\n companionTo?: Obj.Unknown;\n} & Pick<ChatRootProps, 'onEvent' | 'onSubmit'>;\n\nexport const ChatArticle = forwardRef<HTMLDivElement, ChatArticleProps>(\n ({ role, attendableId, subject: chat, companionTo, onEvent, onSubmit }, forwardedRef) => {\n const registry = useRegistry();\n const settings = useAtomCapability(AssistantCapabilities.Settings);\n const atomRegistry = useCapability(Capabilities.AtomRegistry);\n const stateAtom = useCapability(AssistantCapabilities.State);\n // Transient (pre-submit) chats have no database; fall back to the companion's space.\n const space = getSpace(chat) ?? getSpace(companionTo);\n const runtime = useChatServices({ id: space?.id });\n\n const { preset, ...chatProps } = usePresets(settings);\n // The provider is configured in settings; the chat surfaces it as a read-only online indicator.\n const online = preset?.provider === Provider.edge.id;\n const processor = useChatProcessor({ space, chat, preset, runtime, registry, settings });\n\n // Subscribe to the view type via `useObject` so the thread re-renders when ChatOptions changes it;\n // a direct `chat.viewType` read in render does not establish a reactive dependency.\n const [chatViewType] = useObject(chat, 'viewType');\n const viewType = (chatViewType as Assistant.ChatView | undefined) ?? settings.chatView;\n\n const { invokePromise } = useOperationInvoker();\n const handleViewUsage = useCallback(() => {\n void invokePromise(ClientOperation.OpenUsage, undefined);\n }, [invokePromise]);\n\n // Reset the one-shot guard when the target conversation changes, so a pending prompt for a new\n // `attendableId` is still auto-submitted within the same mount.\n const pendingSubmitted = useRef(false);\n useEffect(() => {\n pendingSubmitted.current = false;\n }, [attendableId]);\n\n useEffect(() => {\n if (!processor || !attendableId || pendingSubmitted.current) {\n return;\n }\n\n const state = atomRegistry.get(stateAtom);\n const pendingPrompt = state.pendingPrompts[attendableId];\n if (pendingPrompt) {\n pendingSubmitted.current = true;\n atomRegistry.update(stateAtom, (current) => {\n const { [attendableId]: _, ...rest } = current.pendingPrompts;\n return { ...current, pendingPrompts: rest };\n });\n\n void processor.request({ message: pendingPrompt });\n }\n }, [processor, attendableId, atomRegistry, stateAtom]);\n\n if (!processor) {\n return null;\n }\n\n return (\n <ChatComponent.Root chat={chat} db={space?.db} processor={processor} onEvent={onEvent} onSubmit={onSubmit}>\n <Panel.Root role={role} ref={forwardedRef}>\n <Panel.Toolbar>\n <ChatComponent.Toolbar classNames='dx-document' attendableId={attendableId} companionTo={companionTo} />\n </Panel.Toolbar>\n <Panel.Content>\n <ChatComponent.Content>\n <div className='dx-container relative'>\n <ChatComponent.Thread viewType={viewType} onViewUsage={handleViewUsage} />\n {viewType !== 'summary' && (\n <div className='absolute bottom-2 left-0 right-0'>\n <div className='dx-document px-4'>\n <ChatComponent.Status classNames='px-3 rounded-sm bg-group-surface' />\n </div>\n </div>\n )}\n </div>\n <div className='dx-document px-4 pb-4'>\n <div className='flex flex-col items-center py-2 overflow-hidden'>\n <ChatComponent.TaskList classNames='max-h-[120px] border border-separator rounded-sm text-description' />\n </div>\n <ChatComponent.Prompt {...chatProps} outline preset={preset?.id} online={online} />\n </div>\n </ChatComponent.Content>\n </Panel.Content>\n </Panel.Root>\n </ChatComponent.Root>\n );\n },\n);\n"],
5
- "mappings": "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",
6
- "names": ["React", "forwardRef", "useCallback", "useEffect", "useRef", "Provider", "Capabilities", "useAtomCapability", "useCapability", "useOperationInvoker", "getSpace", "ClientOperation", "useObject", "useRegistry", "Panel", "Chat", "ChatComponent", "useChatProcessor", "useChatServices", "usePresets", "AssistantCapabilities", "ChatArticle", "role", "attendableId", "subject", "chat", "companionTo", "onEvent", "onSubmit", "forwardedRef", "registry", "settings", "Settings", "atomRegistry", "AtomRegistry", "stateAtom", "State", "space", "runtime", "id", "preset", "chatProps", "online", "provider", "edge", "processor", "chatViewType", "viewType", "chatView", "invokePromise", "handleViewUsage", "OpenUsage", "undefined", "pendingSubmitted", "current", "state", "get", "pendingPrompt", "pendingPrompts", "update", "_", "rest", "request", "message", "Root", "db", "ref", "Toolbar", "classNames", "Content", "div", "className", "Thread", "onViewUsage", "Status", "TaskList", "Prompt", "outline"]
7
- }
@@ -1,12 +0,0 @@
1
- // src/capabilities/operation-handler.ts
2
- import * as Effect from "effect/Effect";
3
- import { Capabilities, Capability } from "@dxos/app-framework";
4
- import { AssistantOperationHandlerSet } from "#operations";
5
- var operation_handler_default = Capability.makeModule(Effect.fnUntraced(function* () {
6
- return Capability.contributes(Capabilities.OperationHandler, AssistantOperationHandlerSet);
7
- }));
8
-
9
- export {
10
- operation_handler_default
11
- };
12
- //# sourceMappingURL=chunk-V2Y4XE3O.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/operation-handler.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 type { OperationHandlerSet } from '@dxos/compute';\n\nimport { AssistantOperationHandlerSet } from '#operations';\n\nexport default Capability.makeModule<OperationHandlerSet.OperationHandlerSet>(\n Effect.fnUntraced(function* () {\n return Capability.contributes(Capabilities.OperationHandler, AssistantOperationHandlerSet);\n }),\n);\n"],
5
- "mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AAGzC,SAASC,oCAAoC;AAE7C,IAAA,4BAAeD,WAAWE,WACjBC,kBAAW,aAAA;AAChB,SAAOH,WAAWI,YAAYL,aAAaM,kBAAkBJ,4BAAAA;AAC/D,CAAA,CAAA;",
6
- "names": ["Effect", "Capabilities", "Capability", "AssistantOperationHandlerSet", "makeModule", "fnUntraced", "contributes", "OperationHandler"]
7
- }
@@ -1,9 +0,0 @@
1
- // src/components/Chat/context.ts
2
- import { createContext } from "@radix-ui/react-context";
3
- var [ChatContextProvider, useChatContext] = createContext("Chat");
4
-
5
- export {
6
- ChatContextProvider,
7
- useChatContext
8
- };
9
- //# sourceMappingURL=chunk-VTK5R4H3.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/Chat/context.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\n\nimport { type Chat as ChatModule } from '@dxos/assistant-toolkit';\nimport { type Event } from '@dxos/async';\nimport { type Database } from '@dxos/echo';\nimport { type Message } from '@dxos/types';\n\nimport { type AiChatProcessor } from '../../processor';\nimport { type ChatEvent } from './events';\n\n/**\n * Wall-clock timestamps for the most-recent (or in-flight) request, lifted out of\n * `ChatStreamStatus` so the elapsed value survives across re-mounts triggered when wire's\n * drip queue toggles `wireDrainingEffect` (which removes/restores the footer block widget).\n * `endedAt` is `null` while the request is still active.\n */\nexport type ChatRequestTiming = {\n startedAt: number;\n endedAt: number | null;\n};\n\nexport type ChatContextValue = {\n debug?: boolean;\n event: Event<ChatEvent>;\n db?: Database.Database;\n chat?: ChatModule.Chat;\n messages: Message.Message[];\n processor: AiChatProcessor;\n requestTiming: ChatRequestTiming | null;\n};\n\n// Internal: not re-exported from `Chat/index.ts`. Accessed by sibling components in this\n// package (e.g. `ChatStreamStatus`) without dragging in `Chat.tsx`'s heavy transitive\n// imports (transcription, etc.).\nexport const [ChatContextProvider, useChatContext] = createContext<ChatContextValue>('Chat');\n"],
5
- "mappings": ";AAIA,SAASA,qBAAqB;AAkCvB,IAAM,CAACC,qBAAqBC,cAAAA,IAAkBF,cAAgC,MAAA;",
6
- "names": ["createContext", "ChatContextProvider", "useChatContext"]
7
- }