@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,72 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/containers/IntegrationPrompt/IntegrationPrompt.tsx
4
- import React, { useMemo } from "react";
5
- import { Surface, useCapabilities } from "@dxos/app-framework/ui";
6
- import { useActiveSpace } from "@dxos/app-toolkit/ui";
7
- import { Connector, ConnectorAuth } from "@dxos/plugin-connector";
8
- import { Icon, useTranslation } from "@dxos/react-ui";
9
- import { meta } from "#meta";
10
- var IntegrationPrompt = ({ service }) => {
11
- const { t } = useTranslation(meta.profile.key);
12
- const space = useActiveSpace();
13
- const connectors = useCapabilities(Connector).flat();
14
- const matched = useMemo(() => service ? matchConnectors(connectors, service) : [], [
15
- connectors,
16
- service
17
- ]);
18
- if (!service) {
19
- return null;
20
- }
21
- const label = matched[0]?.label ?? service;
22
- const connectorIds = matched.map((connector) => connector.id);
23
- return /* @__PURE__ */ React.createElement("div", {
24
- role: "group",
25
- className: "flex flex-col gap-2 my-2 p-3 border border-subdued-separator rounded-sm"
26
- }, /* @__PURE__ */ React.createElement("div", {
27
- className: "flex items-center gap-2"
28
- }, /* @__PURE__ */ React.createElement(Icon, {
29
- icon: "ph--plugs--regular",
30
- size: 5,
31
- classNames: "shrink-0 text-subdued"
32
- }), /* @__PURE__ */ React.createElement("div", {
33
- className: "flex flex-col min-w-0"
34
- }, /* @__PURE__ */ React.createElement("p", {
35
- className: "text-sm font-medium truncate"
36
- }, t("integration-prompt.title", {
37
- service: label
38
- })), /* @__PURE__ */ React.createElement("p", {
39
- className: "text-sm text-subdued"
40
- }, connectorIds.length > 0 ? t("integration-prompt.description", {
41
- service: label
42
- }) : t("integration-prompt.unavailable", {
43
- service: label
44
- })))), connectorIds.length > 0 && space && /* @__PURE__ */ React.createElement("div", {
45
- className: "flex justify-end"
46
- }, /* @__PURE__ */ React.createElement(Surface.Surface, {
47
- type: ConnectorAuth,
48
- data: {
49
- connectorIds
50
- },
51
- limit: 1
52
- })));
53
- };
54
- var matchConnectors = (connectors, service) => {
55
- const needle = service.trim().toLowerCase();
56
- const base = needle.split(/[.@/]/)[0];
57
- if (!needle || !base) {
58
- return [];
59
- }
60
- return connectors.filter((connector) => {
61
- const candidates = [
62
- connector.id,
63
- connector.source,
64
- connector.label
65
- ].filter((value) => typeof value === "string").map((value) => value.toLowerCase());
66
- return candidates.some((value) => value === needle || value === base || value.includes(base));
67
- });
68
- };
69
- export {
70
- IntegrationPrompt as default
71
- };
72
- //# sourceMappingURL=IntegrationPrompt-2HJQFYJE.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/IntegrationPrompt/IntegrationPrompt.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface, useCapabilities } from '@dxos/app-framework/ui';\nimport { useActiveSpace } from '@dxos/app-toolkit/ui';\nimport { Connector, ConnectorAuth, type ConnectorEntry } from '@dxos/plugin-connector';\nimport { Icon, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport type IntegrationPromptProps = {\n /** Service the agent needs access to, e.g. `gmail.com`. */\n service?: string;\n};\n\n/**\n * Agent-facing connector prompt: rendered when the assistant needs a service the user has not yet\n * connected. Resolves the matching {@link Connector} entries for `service` and offers to connect via\n * the shared connector-auth surface, so the user can grant access inline instead of the agent failing\n * silently.\n */\nexport const IntegrationPrompt = ({ service }: IntegrationPromptProps) => {\n const { t } = useTranslation(meta.profile.key);\n const space = useActiveSpace();\n const connectors = useCapabilities(Connector).flat();\n const matched = useMemo(() => (service ? matchConnectors(connectors, service) : []), [connectors, service]);\n\n if (!service) {\n return null;\n }\n\n const label = matched[0]?.label ?? service;\n const connectorIds = matched.map((connector) => connector.id);\n\n return (\n <div role='group' className='flex flex-col gap-2 my-2 p-3 border border-subdued-separator rounded-sm'>\n <div className='flex items-center gap-2'>\n <Icon icon='ph--plugs--regular' size={5} classNames='shrink-0 text-subdued' />\n <div className='flex flex-col min-w-0'>\n <p className='text-sm font-medium truncate'>{t('integration-prompt.title', { service: label })}</p>\n <p className='text-sm text-subdued'>\n {connectorIds.length > 0\n ? t('integration-prompt.description', { service: label })\n : t('integration-prompt.unavailable', { service: label })}\n </p>\n </div>\n </div>\n {connectorIds.length > 0 && space && (\n <div className='flex justify-end'>\n <Surface.Surface type={ConnectorAuth} data={{ connectorIds }} limit={1} />\n </div>\n )}\n </div>\n );\n};\n\n/**\n * Connectors whose id, source, or label relate to the requested service. Matches on the service's\n * leading token (e.g. `gmail` from `gmail.com`) so model-supplied hostnames resolve to connectors\n * keyed by short id or provider domain.\n */\nconst matchConnectors = (connectors: ConnectorEntry[], service: string): ConnectorEntry[] => {\n const needle = service.trim().toLowerCase();\n // A malformed service (e.g. `.gmail.com` or `/`) can yield an empty base token, which would make\n // `value.includes(base)` match every connector; bail so the unavailable state is shown instead.\n const base = needle.split(/[.@/]/)[0];\n if (!needle || !base) {\n return [];\n }\n return connectors.filter((connector) => {\n const candidates = [connector.id, connector.source, connector.label]\n .filter((value): value is string => typeof value === 'string')\n .map((value) => value.toLowerCase());\n return candidates.some((value) => value === needle || value === base || value.includes(base));\n });\n};\n"],
5
- "mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAE/B,SAASC,SAASC,uBAAuB;AACzC,SAASC,sBAAsB;AAC/B,SAASC,WAAWC,qBAA0C;AAC9D,SAASC,MAAMC,sBAAsB;AAErC,SAASC,YAAY;AAad,IAAMC,oBAAoB,CAAC,EAAEC,QAAO,MAA0B;AACnE,QAAM,EAAEC,EAAC,IAAKJ,eAAeC,KAAKI,QAAQC,GAAG;AAC7C,QAAMC,QAAQX,eAAAA;AACd,QAAMY,aAAab,gBAAgBE,SAAAA,EAAWY,KAAI;AAClD,QAAMC,UAAUjB,QAAQ,MAAOU,UAAUQ,gBAAgBH,YAAYL,OAAAA,IAAW,CAAA,GAAK;IAACK;IAAYL;GAAQ;AAE1G,MAAI,CAACA,SAAS;AACZ,WAAO;EACT;AAEA,QAAMS,QAAQF,QAAQ,CAAA,GAAIE,SAAST;AACnC,QAAMU,eAAeH,QAAQI,IAAI,CAACC,cAAcA,UAAUC,EAAE;AAE5D,SACE,sBAAA,cAACC,OAAAA;IAAIC,MAAK;IAAQC,WAAU;KAC1B,sBAAA,cAACF,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACpB,MAAAA;IAAKqB,MAAK;IAAqBC,MAAM;IAAGC,YAAW;MACpD,sBAAA,cAACL,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACI,KAAAA;IAAEJ,WAAU;KAAgCf,EAAE,4BAA4B;IAAED,SAASS;EAAM,CAAA,CAAA,GAC5F,sBAAA,cAACW,KAAAA;IAAEJ,WAAU;KACVN,aAAaW,SAAS,IACnBpB,EAAE,kCAAkC;IAAED,SAASS;EAAM,CAAA,IACrDR,EAAE,kCAAkC;IAAED,SAASS;EAAM,CAAA,CAAA,CAAA,CAAA,GAI9DC,aAAaW,SAAS,KAAKjB,SAC1B,sBAAA,cAACU,OAAAA;IAAIE,WAAU;KACb,sBAAA,cAACzB,QAAQA,SAAO;IAAC+B,MAAM3B;IAAe4B,MAAM;MAAEb;IAAa;IAAGc,OAAO;;AAK/E;AAOA,IAAMhB,kBAAkB,CAACH,YAA8BL,YAAAA;AACrD,QAAMyB,SAASzB,QAAQ0B,KAAI,EAAGC,YAAW;AAGzC,QAAMC,OAAOH,OAAOI,MAAM,OAAA,EAAS,CAAA;AACnC,MAAI,CAACJ,UAAU,CAACG,MAAM;AACpB,WAAO,CAAA;EACT;AACA,SAAOvB,WAAWyB,OAAO,CAAClB,cAAAA;AACxB,UAAMmB,aAAa;MAACnB,UAAUC;MAAID,UAAUoB;MAAQpB,UAAUH;MAC3DqB,OAAO,CAACG,UAA2B,OAAOA,UAAU,QAAA,EACpDtB,IAAI,CAACsB,UAAUA,MAAMN,YAAW,CAAA;AACnC,WAAOI,WAAWG,KAAK,CAACD,UAAUA,UAAUR,UAAUQ,UAAUL,QAAQK,MAAME,SAASP,IAAAA,CAAAA;EACzF,CAAA;AACF;",
6
- "names": ["React", "useMemo", "Surface", "useCapabilities", "useActiveSpace", "Connector", "ConnectorAuth", "Icon", "useTranslation", "meta", "IntegrationPrompt", "service", "t", "profile", "key", "space", "connectors", "flat", "matched", "matchConnectors", "label", "connectorIds", "map", "connector", "id", "div", "role", "className", "icon", "size", "classNames", "p", "length", "type", "data", "limit", "needle", "trim", "toLowerCase", "base", "split", "filter", "candidates", "source", "value", "some", "includes"]
7
- }
@@ -1,34 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/containers/PlanArticle/PlanArticle.tsx
4
- import React from "react";
5
- import { getSpace } from "@dxos/client/echo";
6
- import { Panel, ScrollArea, Toolbar } from "@dxos/react-ui";
7
- import { useAttention } from "@dxos/react-ui-attention";
8
- import { TaskList } from "#components";
9
- import { useTraceMessages } from "#hooks";
10
- var PlanArticle = ({ role, attendableId, subject }) => {
11
- const { hasAttention } = useAttention(attendableId);
12
- const space = getSpace(subject);
13
- const traceMessages = useTraceMessages(space);
14
- return /* @__PURE__ */ React.createElement(Panel.Root, {
15
- role,
16
- classNames: "dx-document"
17
- }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
18
- asChild: true
19
- }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
20
- disabled: !hasAttention
21
- })), /* @__PURE__ */ React.createElement(Panel.Content, {
22
- asChild: true
23
- }, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
24
- orientation: "vertical"
25
- }, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, null, /* @__PURE__ */ React.createElement(TaskList, {
26
- plan: subject,
27
- space,
28
- traceMessages
29
- })))));
30
- };
31
- export {
32
- PlanArticle as default
33
- };
34
- //# sourceMappingURL=PlanArticle-VPK2IYWU.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/PlanArticle/PlanArticle.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Plan } from '@dxos/assistant-toolkit';\nimport { getSpace } from '@dxos/client/echo';\nimport { Panel, ScrollArea, Toolbar } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TaskList } from '#components';\nimport { useTraceMessages } from '#hooks';\n\nexport type PlanArticleProps = AppSurface.ObjectArticleProps<Plan.Plan>;\n\nexport const PlanArticle = ({ role, attendableId, subject }: PlanArticleProps) => {\n const { hasAttention } = useAttention(attendableId);\n const space = getSpace(subject);\n const traceMessages = useTraceMessages(space);\n\n return (\n <Panel.Root role={role} classNames='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <ScrollArea.Root orientation='vertical'>\n <ScrollArea.Viewport>\n <TaskList plan={subject} space={space} traceMessages={traceMessages} />\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
5
- "mappings": ";;;AAIA,OAAOA,WAAW;AAIlB,SAASC,gBAAgB;AACzB,SAASC,OAAOC,YAAYC,eAAe;AAC3C,SAASC,oBAAoB;AAE7B,SAASC,gBAAgB;AACzB,SAASC,wBAAwB;AAI1B,IAAMC,cAAc,CAAC,EAAEC,MAAMC,cAAcC,QAAO,MAAoB;AAC3E,QAAM,EAAEC,aAAY,IAAKP,aAAaK,YAAAA;AACtC,QAAMG,QAAQZ,SAASU,OAAAA;AACvB,QAAMG,gBAAgBP,iBAAiBM,KAAAA;AAEvC,SACE,sBAAA,cAACX,MAAMa,MAAI;IAACN;IAAYO,YAAW;KACjC,sBAAA,cAACd,MAAME,SAAO;IAACa,SAAAA;KACb,sBAAA,cAACb,QAAQW,MAAI;IAACG,UAAU,CAACN;OAE3B,sBAAA,cAACV,MAAMiB,SAAO;IAACF,SAAAA;KACb,sBAAA,cAACd,WAAWY,MAAI;IAACK,aAAY;KAC3B,sBAAA,cAACjB,WAAWkB,UAAQ,MAClB,sBAAA,cAACf,UAAAA;IAASgB,MAAMX;IAASE;IAAcC;;AAMnD;",
6
- "names": ["React", "getSpace", "Panel", "ScrollArea", "Toolbar", "useAttention", "TaskList", "useTraceMessages", "PlanArticle", "role", "attendableId", "subject", "hasAttention", "space", "traceMessages", "Root", "classNames", "asChild", "disabled", "Content", "orientation", "Viewport", "plan"]
7
- }
@@ -1,114 +0,0 @@
1
- import {
2
- getChatPath
3
- } from "./chunk-OZWZGIV2.mjs";
4
- import "./chunk-J5LGTIGS.mjs";
5
-
6
- // src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx
7
- import React, { useEffect, useMemo, useState } from "react";
8
- import { Provider } from "@dxos/ai";
9
- import { Capabilities } from "@dxos/app-framework";
10
- import { useAtomCapability, useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
11
- import { LayoutOperation } from "@dxos/app-toolkit";
12
- import { Event } from "@dxos/async";
13
- import { useRegistry } from "@dxos/react-client/echo";
14
- import { useTranslation } from "@dxos/react-ui";
15
- import { ChatPrompt } from "#components";
16
- import { useChatProcessor, useChatServices, usePresets } from "#hooks";
17
- import { meta } from "#meta";
18
- import { AssistantCapabilities, AssistantOperation } from "#types";
19
- var SpaceHomePrompt = ({ space }) => {
20
- const { t } = useTranslation(meta.profile.key);
21
- const { invokePromise } = useOperationInvoker();
22
- const registry = useRegistry();
23
- const atomRegistry = useCapability(Capabilities.AtomRegistry);
24
- const stateAtom = useCapability(AssistantCapabilities.State);
25
- const runtime = useChatServices({
26
- id: space?.id
27
- });
28
- const settings = useAtomCapability(AssistantCapabilities.Settings);
29
- const { preset, ...presetProps } = usePresets(settings);
30
- const online = preset?.provider === Provider.edge.id;
31
- const [chat, setChat] = useState();
32
- const [nonce, setNonce] = useState(0);
33
- useEffect(() => {
34
- if (!space) {
35
- setChat(void 0);
36
- return;
37
- }
38
- let cancelled = false;
39
- void invokePromise(AssistantOperation.CreateChat, {
40
- db: space.db,
41
- addToSpace: false
42
- }).then((result) => {
43
- if (!cancelled) {
44
- setChat(result.data?.object);
45
- }
46
- });
47
- return () => {
48
- cancelled = true;
49
- };
50
- }, [
51
- space,
52
- nonce,
53
- invokePromise
54
- ]);
55
- const processor = useChatProcessor({
56
- space,
57
- chat,
58
- preset,
59
- runtime,
60
- registry
61
- });
62
- const event = useMemo(() => new Event(), []);
63
- useEffect(() => {
64
- return event.on((ev) => {
65
- if (ev.type !== "submit") {
66
- return;
67
- }
68
- const text = ev.text.trim();
69
- if (!space || !chat || text.length === 0) {
70
- return;
71
- }
72
- space.db.add(chat);
73
- const chatPath = getChatPath(space.db.spaceId, chat.id);
74
- atomRegistry.update(stateAtom, (current) => ({
75
- ...current,
76
- pendingPrompts: {
77
- ...current.pendingPrompts,
78
- [chatPath]: text
79
- }
80
- }));
81
- void invokePromise(LayoutOperation.Open, {
82
- subject: [
83
- chatPath
84
- ]
85
- });
86
- setNonce((current) => current + 1);
87
- });
88
- }, [
89
- event,
90
- space,
91
- chat,
92
- atomRegistry,
93
- stateAtom,
94
- invokePromise
95
- ]);
96
- if (!processor || !chat || !space) {
97
- return null;
98
- }
99
- return /* @__PURE__ */ React.createElement(ChatPrompt, {
100
- ...presetProps,
101
- outline: true,
102
- chat,
103
- db: space.db,
104
- processor,
105
- event,
106
- preset: preset?.id,
107
- online,
108
- placeholder: t("space-home.prompt.placeholder")
109
- });
110
- };
111
- export {
112
- SpaceHomePrompt as default
113
- };
114
- //# sourceMappingURL=SpaceHomePrompt-ISAB76LD.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Provider } from '@dxos/ai';\nimport { Capabilities } from '@dxos/app-framework';\nimport { useAtomCapability, useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Event } from '@dxos/async';\nimport { type Space, useRegistry } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { type ChatEvent, ChatPrompt } from '#components';\nimport { useChatProcessor, useChatServices, usePresets } from '#hooks';\nimport { meta } from '#meta';\nimport { AssistantCapabilities, AssistantOperation, type ChatType } from '#types';\n\nimport { getChatPath } from '../../paths';\n\ntype SpaceScopedProps = {\n space?: Space;\n};\n\n/**\n * Home article pinned-bottom contributor: the assistant prompt. Backed by an ephemeral in-memory\n * chat whose sole responsibility is to collect the user's text, context bindings, and preset\n * choice, then on submit: persist the chat to the space, queue the text as a pending prompt, and\n * navigate to it. AI generation runs in the opened chat view — the processor here exists only to\n * back the context-binder UI.\n */\nexport const SpaceHomePrompt = ({ space }: SpaceScopedProps) => {\n const { t } = useTranslation(meta.profile.key);\n const { invokePromise } = useOperationInvoker();\n\n const registry = useRegistry();\n const atomRegistry = useCapability(Capabilities.AtomRegistry);\n const stateAtom = useCapability(AssistantCapabilities.State);\n const runtime = useChatServices({ id: space?.id });\n const settings = useAtomCapability(AssistantCapabilities.Settings);\n const { preset, ...presetProps } = usePresets(settings);\n // The remote (online) service is the edge provider; the resolved preset carries the active provider.\n const online = preset?.provider === Provider.edge.id;\n\n // In-memory backing chat (not yet added to the space). `nonce` forces a fresh chat after submit.\n const [chat, setChat] = useState<ChatType.Chat>();\n const [nonce, setNonce] = useState(0);\n useEffect(() => {\n if (!space) {\n setChat(undefined);\n return;\n }\n let cancelled = false;\n void invokePromise(AssistantOperation.CreateChat, { db: space.db, addToSpace: false }).then((result) => {\n if (!cancelled) {\n setChat(result.data?.object);\n }\n });\n return () => {\n cancelled = true;\n };\n }, [space, nonce, invokePromise]);\n\n const processor = useChatProcessor({ space, chat, preset, runtime, registry });\n\n const event = useMemo(() => new Event<ChatEvent>(), []);\n useEffect(() => {\n return event.on((ev) => {\n if (ev.type !== 'submit') {\n return;\n }\n const text = ev.text.trim();\n if (!space || !chat || text.length === 0) {\n return;\n }\n\n // Persist the in-memory chat, queue the prompt, and open the chat (which submits it).\n space.db.add(chat);\n const chatPath = getChatPath(space.db.spaceId, chat.id);\n atomRegistry.update(stateAtom, (current) => ({\n ...current,\n pendingPrompts: { ...current.pendingPrompts, [chatPath]: text },\n }));\n void invokePromise(LayoutOperation.Open, { subject: [chatPath] });\n setNonce((current) => current + 1);\n });\n }, [event, space, chat, atomRegistry, stateAtom, invokePromise]);\n\n if (!processor || !chat || !space) {\n return null;\n }\n\n return (\n <ChatPrompt\n {...presetProps}\n outline\n chat={chat}\n db={space.db}\n processor={processor}\n event={event}\n preset={preset?.id}\n online={online}\n placeholder={t('space-home.prompt.placeholder')}\n />\n );\n};\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,SAASC,WAAWC,SAASC,gBAAgB;AAEpD,SAASC,gBAAgB;AACzB,SAASC,oBAAoB;AAC7B,SAASC,mBAAmBC,eAAeC,2BAA2B;AACtE,SAASC,uBAAuB;AAChC,SAASC,aAAa;AACtB,SAAqBC,mBAAmB;AACxC,SAASC,sBAAsB;AAE/B,SAAyBC,kBAAkB;AAC3C,SAASC,kBAAkBC,iBAAiBC,kBAAkB;AAC9D,SAASC,YAAY;AACrB,SAASC,uBAAuBC,0BAAyC;AAelE,IAAMC,kBAAkB,CAAC,EAAEC,MAAK,MAAoB;AACzD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,QAAQC,GAAG;AAC7C,QAAM,EAAEC,cAAa,IAAKC,oBAAAA;AAE1B,QAAMC,WAAWC,YAAAA;AACjB,QAAMC,eAAeC,cAAcC,aAAaC,YAAY;AAC5D,QAAMC,YAAYH,cAAcI,sBAAsBC,KAAK;AAC3D,QAAMC,UAAUC,gBAAgB;IAAEC,IAAInB,OAAOmB;EAAG,CAAA;AAChD,QAAMC,WAAWC,kBAAkBN,sBAAsBO,QAAQ;AACjE,QAAM,EAAEC,QAAQ,GAAGC,YAAAA,IAAgBC,WAAWL,QAAAA;AAE9C,QAAMM,SAASH,QAAQI,aAAaC,SAASC,KAAKV;AAGlD,QAAM,CAACW,MAAMC,OAAAA,IAAWC,SAAAA;AACxB,QAAM,CAACC,OAAOC,QAAAA,IAAYF,SAAS,CAAA;AACnCG,YAAU,MAAA;AACR,QAAI,CAACnC,OAAO;AACV+B,cAAQK,MAAAA;AACR;IACF;AACA,QAAIC,YAAY;AAChB,SAAK/B,cAAcgC,mBAAmBC,YAAY;MAAEC,IAAIxC,MAAMwC;MAAIC,YAAY;IAAM,CAAA,EAAGC,KAAK,CAACC,WAAAA;AAC3F,UAAI,CAACN,WAAW;AACdN,gBAAQY,OAAOC,MAAMC,MAAAA;MACvB;IACF,CAAA;AACA,WAAO,MAAA;AACLR,kBAAY;IACd;EACF,GAAG;IAACrC;IAAOiC;IAAO3B;GAAc;AAEhC,QAAMwC,YAAYC,iBAAiB;IAAE/C;IAAO8B;IAAMP;IAAQN;IAAST;EAAS,CAAA;AAE5E,QAAMwC,QAAQC,QAAQ,MAAM,IAAIC,MAAAA,GAAoB,CAAA,CAAE;AACtDf,YAAU,MAAA;AACR,WAAOa,MAAMG,GAAG,CAACC,OAAAA;AACf,UAAIA,GAAGC,SAAS,UAAU;AACxB;MACF;AACA,YAAMC,OAAOF,GAAGE,KAAKC,KAAI;AACzB,UAAI,CAACvD,SAAS,CAAC8B,QAAQwB,KAAKE,WAAW,GAAG;AACxC;MACF;AAGAxD,YAAMwC,GAAGiB,IAAI3B,IAAAA;AACb,YAAM4B,WAAWC,YAAY3D,MAAMwC,GAAGoB,SAAS9B,KAAKX,EAAE;AACtDT,mBAAamD,OAAO/C,WAAW,CAACgD,aAAa;QAC3C,GAAGA;QACHC,gBAAgB;UAAE,GAAGD,QAAQC;UAAgB,CAACL,QAAAA,GAAWJ;QAAK;MAChE,EAAA;AACA,WAAKhD,cAAc0D,gBAAgBC,MAAM;QAAEC,SAAS;UAACR;;MAAU,CAAA;AAC/DxB,eAAS,CAAC4B,YAAYA,UAAU,CAAA;IAClC,CAAA;EACF,GAAG;IAACd;IAAOhD;IAAO8B;IAAMpB;IAAcI;IAAWR;GAAc;AAE/D,MAAI,CAACwC,aAAa,CAAChB,QAAQ,CAAC9B,OAAO;AACjC,WAAO;EACT;AAEA,SACE,sBAAA,cAACmE,YAAAA;IACE,GAAG3C;IACJ4C,SAAAA;IACAtC;IACAU,IAAIxC,MAAMwC;IACVM;IACAE;IACAzB,QAAQA,QAAQJ;IAChBO;IACA2C,aAAapE,EAAE,+BAAA;;AAGrB;",
6
- "names": ["React", "useEffect", "useMemo", "useState", "Provider", "Capabilities", "useAtomCapability", "useCapability", "useOperationInvoker", "LayoutOperation", "Event", "useRegistry", "useTranslation", "ChatPrompt", "useChatProcessor", "useChatServices", "usePresets", "meta", "AssistantCapabilities", "AssistantOperation", "SpaceHomePrompt", "space", "t", "useTranslation", "meta", "profile", "key", "invokePromise", "useOperationInvoker", "registry", "useRegistry", "atomRegistry", "useCapability", "Capabilities", "AtomRegistry", "stateAtom", "AssistantCapabilities", "State", "runtime", "useChatServices", "id", "settings", "useAtomCapability", "Settings", "preset", "presetProps", "usePresets", "online", "provider", "Provider", "edge", "chat", "setChat", "useState", "nonce", "setNonce", "useEffect", "undefined", "cancelled", "AssistantOperation", "CreateChat", "db", "addToSpace", "then", "result", "data", "object", "processor", "useChatProcessor", "event", "useMemo", "Event", "on", "ev", "type", "text", "trim", "length", "add", "chatPath", "getChatPath", "spaceId", "update", "current", "pendingPrompts", "LayoutOperation", "Open", "subject", "ChatPrompt", "outline", "placeholder"]
7
- }
@@ -1,63 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx
4
- import React, { useCallback } from "react";
5
- import { useOperationInvoker } from "@dxos/app-framework/ui";
6
- import { RoutineOperation } from "@dxos/plugin-routine/types";
7
- import { Card, IconButton, useTranslation } from "@dxos/react-ui";
8
- import { useHomeSuggestions } from "#hooks";
9
- import { meta } from "#meta";
10
- var SpaceHomeSuggestions = ({ space }) => {
11
- const { t } = useTranslation(meta.profile.key);
12
- const { invokePromise } = useOperationInvoker();
13
- const suggestions = useHomeSuggestions(space);
14
- const handleRunPrompt = useCallback((prompt) => {
15
- if (!space) {
16
- return;
17
- }
18
- void invokePromise(RoutineOperation.RunPromptInNewChat, {
19
- db: space.db,
20
- instructions: prompt
21
- });
22
- }, [
23
- invokePromise,
24
- space
25
- ]);
26
- if (!suggestions) {
27
- return null;
28
- }
29
- return /* @__PURE__ */ React.createElement("div", {
30
- className: "flex justify-center w-full"
31
- }, /* @__PURE__ */ React.createElement("div", {
32
- className: "flex flex-col gap-trim-sm w-full max-w-[40rem]"
33
- }, /* @__PURE__ */ React.createElement("h2", {
34
- className: "text-sm font-medium text-description"
35
- }, t("space-home.suggestions.heading")), /* @__PURE__ */ React.createElement("div", {
36
- className: "flex flex-col gap-3"
37
- }, suggestions.map((prompt, index) => /* @__PURE__ */ React.createElement("div", {
38
- key: `${index}:${prompt}`,
39
- role: "button",
40
- tabIndex: 0,
41
- className: "cursor-pointer w-full",
42
- onClick: () => handleRunPrompt(prompt),
43
- onKeyDown: (e) => {
44
- if (e.key === "Enter" || e.key === " ") {
45
- e.preventDefault();
46
- handleRunPrompt(prompt);
47
- }
48
- }
49
- }, /* @__PURE__ */ React.createElement(Card.Root, {
50
- fullWidth: true
51
- }, /* @__PURE__ */ React.createElement(Card.Header, null, /* @__PURE__ */ React.createElement(Card.Block, null, /* @__PURE__ */ React.createElement(IconButton, {
52
- variant: "ghost",
53
- label: prompt,
54
- icon: "ph--sparkle--regular",
55
- iconOnly: true,
56
- tabIndex: -1,
57
- "aria-hidden": true
58
- })), /* @__PURE__ */ React.createElement(Card.Title, null, prompt))))))));
59
- };
60
- export {
61
- SpaceHomeSuggestions as default
62
- };
63
- //# sourceMappingURL=SpaceHomeSuggestions-IDH77QQR.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { RoutineOperation } from '@dxos/plugin-routine/types';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Card, IconButton, useTranslation } from '@dxos/react-ui';\n\nimport { useHomeSuggestions } from '#hooks';\nimport { meta } from '#meta';\n\ntype SpaceScopedProps = {\n space?: Space;\n};\n\n/**\n * Home content contributor: starter-prompt cards. Each card runs its prompt in a new chat via the\n * assistant operation. Always renders (below the recent-objects masonry) so the Home page offers\n * quick entry points regardless of whether recent objects exist.\n */\nexport const SpaceHomeSuggestions = ({ space }: SpaceScopedProps) => {\n const { t } = useTranslation(meta.profile.key);\n const { invokePromise } = useOperationInvoker();\n const suggestions = useHomeSuggestions(space);\n\n const handleRunPrompt = useCallback(\n (prompt: string) => {\n if (!space) {\n return;\n }\n void invokePromise(RoutineOperation.RunPromptInNewChat, { db: space.db, instructions: prompt });\n },\n [invokePromise, space],\n );\n\n if (!suggestions) {\n return null;\n }\n\n return (\n <div className='flex justify-center w-full'>\n <div className='flex flex-col gap-trim-sm w-full max-w-[40rem]'>\n <h2 className='text-sm font-medium text-description'>{t('space-home.suggestions.heading')}</h2>\n <div className='flex flex-col gap-3'>\n {suggestions.map((prompt, index) => (\n <div\n key={`${index}:${prompt}`}\n role='button'\n tabIndex={0}\n className='cursor-pointer w-full'\n onClick={() => handleRunPrompt(prompt)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleRunPrompt(prompt);\n }\n }}\n >\n <Card.Root fullWidth>\n <Card.Header>\n <Card.Block>\n <IconButton\n variant='ghost'\n label={prompt}\n icon='ph--sparkle--regular'\n iconOnly\n tabIndex={-1}\n aria-hidden\n />\n </Card.Block>\n <Card.Title>{prompt}</Card.Title>\n </Card.Header>\n </Card.Root>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n"],
5
- "mappings": ";;;AAIA,OAAOA,SAASC,mBAAmB;AAEnC,SAASC,2BAA2B;AACpC,SAASC,wBAAwB;AAEjC,SAASC,MAAMC,YAAYC,sBAAsB;AAEjD,SAASC,0BAA0B;AACnC,SAASC,YAAY;AAWd,IAAMC,uBAAuB,CAAC,EAAEC,MAAK,MAAoB;AAC9D,QAAM,EAAEC,EAAC,IAAKL,eAAeE,KAAKI,QAAQC,GAAG;AAC7C,QAAM,EAAEC,cAAa,IAAKZ,oBAAAA;AAC1B,QAAMa,cAAcR,mBAAmBG,KAAAA;AAEvC,QAAMM,kBAAkBf,YACtB,CAACgB,WAAAA;AACC,QAAI,CAACP,OAAO;AACV;IACF;AACA,SAAKI,cAAcX,iBAAiBe,oBAAoB;MAAEC,IAAIT,MAAMS;MAAIC,cAAcH;IAAO,CAAA;EAC/F,GACA;IAACH;IAAeJ;GAAM;AAGxB,MAAI,CAACK,aAAa;AAChB,WAAO;EACT;AAEA,SACE,sBAAA,cAACM,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACC,MAAAA;IAAGD,WAAU;KAAwCX,EAAE,gCAAA,CAAA,GACxD,sBAAA,cAACU,OAAAA;IAAIC,WAAU;KACZP,YAAYS,IAAI,CAACP,QAAQQ,UACxB,sBAAA,cAACJ,OAAAA;IACCR,KAAK,GAAGY,KAAAA,IAASR,MAAAA;IACjBS,MAAK;IACLC,UAAU;IACVL,WAAU;IACVM,SAAS,MAAMZ,gBAAgBC,MAAAA;IAC/BY,WAAW,CAACC,MAAAA;AACV,UAAIA,EAAEjB,QAAQ,WAAWiB,EAAEjB,QAAQ,KAAK;AACtCiB,UAAEC,eAAc;AAChBf,wBAAgBC,MAAAA;MAClB;IACF;KAEA,sBAAA,cAACb,KAAK4B,MAAI;IAACC,WAAAA;KACT,sBAAA,cAAC7B,KAAK8B,QAAM,MACV,sBAAA,cAAC9B,KAAK+B,OAAK,MACT,sBAAA,cAAC9B,YAAAA;IACC+B,SAAQ;IACRC,OAAOpB;IACPqB,MAAK;IACLC,UAAAA;IACAZ,UAAU;IACVa,eAAAA;OAGJ,sBAAA,cAACpC,KAAKqC,OAAK,MAAExB,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAS/B;",
6
- "names": ["React", "useCallback", "useOperationInvoker", "RoutineOperation", "Card", "IconButton", "useTranslation", "useHomeSuggestions", "meta", "SpaceHomeSuggestions", "space", "t", "profile", "key", "invokePromise", "suggestions", "handleRunPrompt", "prompt", "RunPromptInNewChat", "db", "instructions", "div", "className", "h2", "map", "index", "role", "tabIndex", "onClick", "onKeyDown", "e", "preventDefault", "Root", "fullWidth", "Header", "Block", "variant", "label", "icon", "iconOnly", "aria-hidden", "Title"]
7
- }
@@ -1,12 +0,0 @@
1
- import {
2
- TracePanel
3
- } from "./chunk-SCTHQVIJ.mjs";
4
- import "./chunk-J5LGTIGS.mjs";
5
-
6
- // src/containers/TracePanel/index.ts
7
- var TracePanel_default = TracePanel;
8
- export {
9
- TracePanel,
10
- TracePanel_default as default
11
- };
12
- //# sourceMappingURL=TracePanel-JKNWADJ4.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/TracePanel/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { TracePanel } from './TracePanel';\n\nexport * from './TracePanel';\n\nexport default TracePanel;\n"],
5
- "mappings": ";;;;;;AAQA,IAAA,qBAAeA;",
6
- "names": ["TracePanel"]
7
- }
@@ -1,95 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/containers/TriggerStatus/TriggerStatus.tsx
4
- import React, { useMemo } from "react";
5
- import { useTriggerRuntimeControls } from "@dxos/plugin-routine/hooks";
6
- import { StatusBar } from "@dxos/plugin-status-bar/components";
7
- import { useMulticastObservable } from "@dxos/react-client";
8
- import { SpaceState, useObject } from "@dxos/react-client/echo";
9
- import { IconButton, Popover, useTranslation } from "@dxos/react-ui";
10
- import { meta } from "#meta";
11
- var getIcon = (state) => {
12
- switch (state) {
13
- case "disabled":
14
- return "ph--lightning-slash--regular";
15
- case "idle":
16
- return "ph--lightning--regular";
17
- case "edge":
18
- return "ph--lightning--regular";
19
- case "running":
20
- return "ph--lightning--fill";
21
- case "error":
22
- return "ph--warning--regular";
23
- }
24
- };
25
- var getIconClassNames = (state) => {
26
- switch (state) {
27
- case "running":
28
- return "animate-pulse text-accent-text";
29
- case "error":
30
- return "text-error-text";
31
- default:
32
- return void 0;
33
- }
34
- };
35
- var SpaceStatus = ({ space }) => {
36
- const { t } = useTranslation(meta.profile.key);
37
- const { state } = useTriggerRuntimeControls(space.db);
38
- const isEnabled = state?.enabled ?? false;
39
- const spaceState = useMulticastObservable(space.state);
40
- const [properties] = useObject(spaceState === SpaceState.SPACE_READY ? space.properties : void 0);
41
- const computeEnvironment = properties?.computeEnvironment ?? "local";
42
- const triggerState = useMemo(() => {
43
- if (computeEnvironment === "edge") {
44
- return "edge";
45
- }
46
- if (!isEnabled) {
47
- return "disabled";
48
- }
49
- const hasPending = state?.invocations.some((invocation) => invocation.result === null);
50
- if (hasPending) {
51
- return "running";
52
- }
53
- const lastInvocation = state?.invocations.at(-1);
54
- if (lastInvocation?.result?._tag === "Failure") {
55
- return "error";
56
- }
57
- return "idle";
58
- }, [
59
- computeEnvironment,
60
- isEnabled,
61
- state?.invocations
62
- ]);
63
- return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
64
- asChild: true
65
- }, /* @__PURE__ */ React.createElement(StatusBar.Item, null, /* @__PURE__ */ React.createElement(IconButton, {
66
- variant: "ghost",
67
- icon: getIcon(triggerState),
68
- iconOnly: true,
69
- label: t(`trigger-status-${triggerState}.label`),
70
- classNames: getIconClassNames(triggerState)
71
- }))), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
72
- side: "left"
73
- }, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
74
- state: triggerState,
75
- currentFunctionName: state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key,
76
- lastInvocation: state?.invocations.at(-1)
77
- }), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
78
- };
79
- var TriggerStatusPopover = ({ state, currentFunctionName, lastInvocation }) => {
80
- const { t } = useTranslation(meta.profile.key);
81
- return /* @__PURE__ */ React.createElement("div", {
82
- className: "flex flex-col gap-2 p-2 w-[240px]"
83
- }, /* @__PURE__ */ React.createElement("div", {
84
- className: "flex flex-col gap-1"
85
- }, /* @__PURE__ */ React.createElement("div", {
86
- className: "text-sm"
87
- }, t(`trigger-status-${state}.label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("div", {
88
- className: "text-xs text-description"
89
- }, currentFunctionName)));
90
- };
91
- export {
92
- SpaceStatus,
93
- SpaceStatus as default
94
- };
95
- //# sourceMappingURL=TriggerStatus-FURRBHYA.mjs.map
@@ -1,7 +0,0 @@
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-routine/hooks';\nimport { StatusBar } from '@dxos/plugin-status-bar/components';\nimport { useMulticastObservable } from '@dxos/react-client';\nimport { SpaceState, 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.profile.key);\n const { state } = useTriggerRuntimeControls(space.db);\n const isEnabled = state?.enabled ?? false;\n // `space.properties` throws until the space finishes initializing (e.g. right after joining);\n // gate on `space.state` so this component doesn't crash for a freshly-joined space.\n const spaceState = useMulticastObservable(space.state);\n const [properties] = useObject(spaceState === SpaceState.SPACE_READY ? space.properties : undefined);\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 variant='ghost'\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.profile.key);\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,8BAA8B;AACvC,SAASC,YAAYC,iBAAiB;AACtC,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,QAAQC,GAAG;AAC7C,QAAM,EAAEP,MAAK,IAAKV,0BAA0Bc,MAAMI,EAAE;AACpD,QAAMC,YAAYT,OAAOU,WAAW;AAGpC,QAAMC,aAAanB,uBAAuBY,MAAMJ,KAAK;AACrD,QAAM,CAACY,UAAAA,IAAclB,UAAUiB,eAAelB,WAAWoB,cAAcT,MAAMQ,aAAaV,MAAAA;AAC1F,QAAMY,qBAAqBF,YAAYE,sBAAsB;AAG7D,QAAMC,eAAmC1B,QAAQ,MAAA;AAC/C,QAAIyB,uBAAuB,QAAQ;AACjC,aAAO;IACT;AAEA,QAAI,CAACL,WAAW;AACd,aAAO;IACT;AAGA,UAAMO,aAAahB,OAAOiB,YAAYC,KAAK,CAACC,eAAeA,WAAWC,WAAW,IAAA;AACjF,QAAIJ,YAAY;AACd,aAAO;IACT;AAGA,UAAMK,iBAAiBrB,OAAOiB,YAAYK,GAAG,EAAC;AAC9C,QAAID,gBAAgBD,QAAQG,SAAS,WAAW;AAC9C,aAAO;IACT;AAEA,WAAO;EACT,GAAG;IAACT;IAAoBL;IAAWT,OAAOiB;GAAY;AAEtD,SACE,sBAAA,cAACrB,QAAQ4B,MAAI,MACX,sBAAA,cAAC5B,QAAQ6B,SAAO;IAACC,SAAAA;KACf,sBAAA,cAACnC,UAAUoC,MAAI,MACb,sBAAA,cAAChC,YAAAA;IACCiC,SAAQ;IACRC,MAAM9B,QAAQgB,YAAAA;IACde,UAAAA;IACAC,OAAO1B,EAAE,kBAAkBU,YAAAA,QAAoB;IAC/CiB,YAAY/B,kBAAkBc,YAAAA;QAIpC,sBAAA,cAACnB,QAAQqC,QAAM,MACb,sBAAA,cAACrC,QAAQsC,SAAO;IAACC,MAAK;KACpB,sBAAA,cAACC,sBAAAA;IACCpC,OAAOe;IACPsB,qBACErC,OAAOiB,YAAYK,GAAG,EAAC,GAAIgB,UAAUxC,KAAKyC,QAAQvC,OAAOiB,YAAYK,GAAG,EAAC,GAAIgB,UAAUxC,KAAKS;IAE9Fc,gBAAgBrB,OAAOiB,YAAYK,GAAG,EAAC;MAEzC,sBAAA,cAAC1B,QAAQ4C,OAAK,IAAA,CAAA,CAAA,CAAA;AAKxB;AAQA,IAAMJ,uBAAuB,CAAC,EAC5BpC,OACAqC,qBACAhB,eAAc,MACY;AAC1B,QAAM,EAAEhB,EAAC,IAAKR,eAAeC,KAAKQ,QAAQC,GAAG;AAE7C,SACE,sBAAA,cAACkC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAWrC,EAAE,kBAAkBL,KAAAA,QAAa,CAAA,GAC1DqC,uBAAuBrC,UAAU,aAChC,sBAAA,cAACyC,OAAAA;IAAIC,WAAU;KAA4BL,mBAAAA,CAAAA,CAAAA;AAKrD;",
6
- "names": ["React", "useMemo", "useTriggerRuntimeControls", "StatusBar", "useMulticastObservable", "SpaceState", "useObject", "IconButton", "Popover", "useTranslation", "meta", "getIcon", "state", "getIconClassNames", "undefined", "SpaceStatus", "space", "t", "profile", "key", "db", "isEnabled", "enabled", "spaceState", "properties", "SPACE_READY", "computeEnvironment", "triggerState", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "Root", "Trigger", "asChild", "Item", "variant", "icon", "iconOnly", "label", "classNames", "Portal", "Content", "side", "TriggerStatusPopover", "currentFunctionName", "function", "name", "Arrow", "div", "className"]
7
- }
@@ -1,23 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/agent-hydrator.ts
4
- import * as Cause from "effect/Cause";
5
- import * as Effect from "effect/Effect";
6
- import { Capabilities, Capability } from "@dxos/app-framework";
7
- import { AgentService, ServiceResolver } from "@dxos/compute";
8
- import { log } from "@dxos/log";
9
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/agent-hydrator.ts";
10
- var agent_hydrator_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
- const runtime = yield* Capability.get(Capabilities.ProcessManagerRuntime);
12
- runtime.runFork(Effect.gen(function* () {
13
- const service = yield* AgentService.AgentService;
14
- yield* service.hydrate();
15
- }).pipe(Effect.provide(ServiceResolver.provide({}, AgentService.AgentService)), Effect.catchAllCause((cause) => Effect.sync(() => log.warn("agent hydrate failed", {
16
- cause: Cause.pretty(cause)
17
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 19, S: this })))));
18
- return Capability.contributes(Capabilities.Null, null);
19
- }));
20
- export {
21
- agent_hydrator_default as default
22
- };
23
- //# sourceMappingURL=agent-hydrator-OBO3RHLO.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/agent-hydrator.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AgentService, ServiceResolver } from '@dxos/compute';\nimport { log } from '@dxos/log';\n\n//\n// Capability Module\n//\n// Rehydrates durable agent processes once {@link ActivationEvents.ProcessManagerReady} fires.\n//\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const runtime = yield* Capability.get(Capabilities.ProcessManagerRuntime);\n\n runtime.runFork(\n Effect.gen(function* () {\n const service = yield* AgentService.AgentService;\n yield* service.hydrate();\n }).pipe(\n Effect.provide(ServiceResolver.provide({}, AgentService.AgentService)),\n Effect.catchAllCause((cause) =>\n Effect.sync(() => log.warn('agent hydrate failed', { cause: Cause.pretty(cause) })),\n ),\n ),\n );\n\n return Capability.contributes(Capabilities.Null, null);\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,WAAW;AACvB,YAAYC,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,cAAcC,uBAAuB;AAC9C,SAASC,WAAW;AAEpB,IAAE,eAAA;IAUEC,yBAAQC,WACNP,WAAW,kBAAA,aAAA;QACT,UAAMQ,OAAU,WAAOL,IAAAA,aAAaA,qBAAY;UAChD,QAAeM,WAAO,aAAA;AACrBC,UACDV,UAAOW,OAAQP,aAAgBO;mBAE+BZ,QAAMa;UAAc,eAAA,gBAAA,QAAA,CAAA,GAAA,aAAA,YAAA,CAAA,GAAA,qBAAA,CAAA,UAAA,YAAA,MAAA,IAAA,KAAA,wBAAA;IAK/EV,OAAWW,aAAYZ,KAAAA;EAEhC,GAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;",
6
- "names": ["Cause", "Effect", "Capabilities", "Capability", "AgentService", "ServiceResolver", "log", "runtime", "runFork", "service", "hydrate", "pipe", "provide", "pretty", "contributes"]
7
- }
@@ -1,32 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/agent-service.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 { AgentService, LayerSpec } from "@dxos/compute";
8
- import { ProcessManager } from "@dxos/compute-runtime";
9
- import { AgentService as AgentServiceRuntime } from "@dxos/functions-runtime";
10
- import { RoutineCapabilities } from "@dxos/plugin-routine";
11
- var AgentServiceSpec = LayerSpec.make({
12
- affinity: "application",
13
- requires: [
14
- ProcessManager.ProcessManagerService,
15
- Capability.Service
16
- ],
17
- provides: [
18
- AgentService.AgentService
19
- ]
20
- }, () => Layer.unwrapEffect(Effect.gen(function* () {
21
- const strategies = yield* Capability.getAll(RoutineCapabilities.AgentDelegationStrategy);
22
- return AgentServiceRuntime.layer({
23
- delegationStrategy: strategies[0]
24
- });
25
- })));
26
- var agent_service_default = Capability.makeModule(() => Effect.succeed([
27
- Capability.contributes(Capabilities.LayerSpec, AgentServiceSpec)
28
- ]));
29
- export {
30
- agent_service_default as default
31
- };
32
- //# sourceMappingURL=agent-service-XFJ4VQMT.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/agent-service.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 { AgentService, LayerSpec } from '@dxos/compute';\nimport { ProcessManager } from '@dxos/compute-runtime';\nimport { AgentService as AgentServiceRuntime } from '@dxos/functions-runtime';\nimport { RoutineCapabilities } from '@dxos/plugin-routine';\n\n//\n// Capability Module\n//\n// Owns the application-affinity {@link AgentService} layer for process-backed agents.\n//\n\nconst AgentServiceSpec = LayerSpec.make(\n {\n affinity: 'application',\n requires: [ProcessManager.ProcessManagerService, Capability.Service],\n provides: [AgentService.AgentService],\n },\n () =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n // Optional supervisor behaviour, contributed by a plugin that knows the agent/plan model.\n const strategies = yield* Capability.getAll(RoutineCapabilities.AgentDelegationStrategy);\n return AgentServiceRuntime.layer({\n delegationStrategy: strategies[0],\n });\n }),\n ),\n);\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(Capabilities.LayerSpec, AgentServiceSpec)]),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,cAAcC,iBAAiB;AACxC,SAASC,sBAAsB;AAC/B,SAASF,gBAAgBG,2BAA2B;AACpD,SAASC,2BAA2B;AAQpC,IAAMC,mBAAmBJ,UAAUK,KACjC;EACEC,UAAU;EACVC,UAAU;IAACN,eAAeO;IAAuBV,WAAWW;;EAC5DC,UAAU;IAACX,aAAaA;;AAC1B,GACA,MACQY,mBACGC,WAAI,aAAA;AAET,QAAMC,aAAa,OAAOf,WAAWgB,OAAOX,oBAAoBY,uBAAuB;AACvF,SAAOb,oBAAoBc,MAAM;IAC/BC,oBAAoBJ,WAAW,CAAA;EACjC,CAAA;AACF,CAAA,CAAA,CAAA;AAIN,IAAA,wBAAef,WAAWoB,WAAW,MAC5BC,eAAQ;EAACrB,WAAWsB,YAAYvB,aAAaG,WAAWI,gBAAAA;CAAkB,CAAA;",
6
- "names": ["Effect", "Layer", "Capabilities", "Capability", "AgentService", "LayerSpec", "ProcessManager", "AgentServiceRuntime", "RoutineCapabilities", "AgentServiceSpec", "make", "affinity", "requires", "ProcessManagerService", "Service", "provides", "unwrapEffect", "gen", "strategies", "getAll", "AgentDelegationStrategy", "layer", "delegationStrategy", "makeModule", "succeed", "contributes"]
7
- }
@@ -1,7 +0,0 @@
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';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Harness } from '@dxos/assistant';\nimport { type LayerSpec } from '@dxos/compute';\n\n//\n// Capability Module\n//\n// Contributes the process-affinity `LayerSpec` that materialises\n// {@link Harness.HarnessService} from the resolution context's `conversation` DXN.\n//\n\n// Annotated so the contributed `LayerSpec` type is nameable in the emitted declaration.\nconst harnessSpec: LayerSpec.LayerSpec = Harness.layerSpec;\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(Capabilities.LayerSpec, harnessSpec)]),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AAWxB,IAAMC,cAAmCD,QAAQE;AAEjD,IAAA,qBAAeH,WAAWI,WAAW,MAC5BC,eAAQ;EAACL,WAAWM,YAAYP,aAAaQ,WAAWL,WAAAA;CAAa,CAAA;",
6
- "names": ["Effect", "Capabilities", "Capability", "Harness", "harnessSpec", "layerSpec", "makeModule", "succeed", "contributes", "LayerSpec"]
7
- }
@@ -1,44 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/ai-service.ts
4
- import * as Context from "effect/Context";
5
- import * as Effect from "effect/Effect";
6
- import * as Layer from "effect/Layer";
7
- import { AiModelResolver, AiService, Provider } from "@dxos/ai";
8
- import { Capabilities, Capability } from "@dxos/app-framework";
9
- import { AppCapabilities } from "@dxos/app-toolkit";
10
- import { Credential, LayerSpec } from "@dxos/compute";
11
- var ai_service_default = Capability.makeModule(Effect.fnUntraced(function* (options) {
12
- const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);
13
- const combinedLayer = resolvers.reduce(
14
- (acc, resolver) => resolver.pipe(Layer.provide(acc)),
15
- // Empty resolver as the terminal fallback (provider is irrelevant — the map is empty).
16
- AiModelResolver.AiModelResolver.fromModelMap({
17
- name: "Fallback"
18
- }, Provider.edge.id, Effect.succeed({}))
19
- );
20
- let aiServiceLayer = AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer));
21
- const aiServiceMiddleware = options?.aiServiceMiddleware;
22
- if (aiServiceMiddleware) {
23
- aiServiceLayer = aiServiceLayer.pipe(Layer.map((context) => {
24
- const aiService = Context.get(context, AiService.AiService);
25
- return Context.make(AiService.AiService, aiServiceMiddleware(aiService));
26
- }));
27
- }
28
- const aiServiceSpec = LayerSpec.make({
29
- affinity: "space",
30
- requires: [
31
- Credential.CredentialsService
32
- ],
33
- provides: [
34
- AiService.AiService
35
- ]
36
- }, () => aiServiceLayer);
37
- return [
38
- Capability.contributes(Capabilities.LayerSpec, aiServiceSpec)
39
- ];
40
- }));
41
- export {
42
- ai_service_default as default
43
- };
44
- //# sourceMappingURL=ai-service-DM6YXWUC.mjs.map