@dxos/plugin-assistant 0.8.4-main.fd6878d → 0.9.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 (977) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +439 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs +160 -0
  5. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs.map +7 -0
  6. package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs +40 -0
  7. package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs.map +7 -0
  8. package/dist/lib/neutral/AssistantPlugin.mjs +10 -0
  9. package/dist/lib/neutral/AssistantPlugin.node.mjs +72 -0
  10. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +7 -0
  11. package/dist/lib/neutral/AssistantPlugin.workerd.mjs +40 -0
  12. package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +7 -0
  13. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +40 -0
  14. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +7 -0
  15. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs +27 -0
  16. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs.map +7 -0
  17. package/dist/lib/neutral/ChatArticle-VNVZCDUR.mjs +8 -0
  18. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs +128 -0
  19. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs.map +7 -0
  20. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs +73 -0
  21. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs.map +7 -0
  22. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs +28 -0
  23. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +7 -0
  24. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs +119 -0
  25. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs.map +7 -0
  26. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs +48 -0
  27. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs.map +7 -0
  28. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs +17 -0
  29. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs.map +7 -0
  30. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs +167 -0
  31. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs.map +7 -0
  32. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs +93 -0
  33. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs.map +7 -0
  34. package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs +24 -0
  35. package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs.map +7 -0
  36. package/dist/lib/neutral/agent-service-WCAP5MLI.mjs +32 -0
  37. package/dist/lib/neutral/agent-service-WCAP5MLI.mjs.map +7 -0
  38. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs +42 -0
  39. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs.map +7 -0
  40. package/dist/lib/neutral/ai-service-AADUIKBY.mjs +40 -0
  41. package/dist/lib/neutral/ai-service-AADUIKBY.mjs.map +7 -0
  42. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs +232 -0
  43. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs.map +7 -0
  44. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs +115 -0
  45. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs.map +7 -0
  46. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs +39 -0
  47. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs.map +7 -0
  48. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  49. package/dist/lib/neutral/capabilities/index.mjs +45 -0
  50. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-5H6UJHLF.mjs +30 -0
  52. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +7 -0
  53. package/dist/lib/neutral/chunk-HLANPOBA.mjs +10 -0
  54. package/dist/lib/neutral/chunk-HLANPOBA.mjs.map +7 -0
  55. package/dist/lib/neutral/chunk-KLYLW4WH.mjs +9 -0
  56. package/dist/lib/neutral/chunk-KLYLW4WH.mjs.map +7 -0
  57. package/dist/lib/neutral/chunk-QAZMOFPI.mjs +130 -0
  58. package/dist/lib/neutral/chunk-QAZMOFPI.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-RKVVK3R3.mjs +110 -0
  60. package/dist/lib/neutral/chunk-RKVVK3R3.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-SMFJD7BP.mjs +8 -0
  62. package/dist/lib/neutral/chunk-SMFJD7BP.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-VTK5R4H3.mjs +9 -0
  64. package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-XYHPOGTK.mjs +43 -0
  66. package/dist/lib/neutral/chunk-XYHPOGTK.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-YXRGZYYH.mjs +392 -0
  68. package/dist/lib/neutral/chunk-YXRGZYYH.mjs.map +7 -0
  69. package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs +120 -0
  70. package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs.map +7 -0
  71. package/dist/lib/neutral/components/index.mjs +2410 -0
  72. package/dist/lib/neutral/components/index.mjs.map +7 -0
  73. package/dist/lib/neutral/containers/index.mjs +29 -0
  74. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  75. package/dist/lib/neutral/create-chat-SGGQ6HVN.mjs +54 -0
  76. package/dist/lib/neutral/create-chat-SGGQ6HVN.mjs.map +7 -0
  77. package/dist/lib/neutral/create-object-U2SOFZLR.mjs +92 -0
  78. package/dist/lib/neutral/create-object-U2SOFZLR.mjs.map +7 -0
  79. package/dist/lib/neutral/edge-model-resolver-BBVOJBGJ.mjs +55 -0
  80. package/dist/lib/neutral/edge-model-resolver-BBVOJBGJ.mjs.map +7 -0
  81. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs +58 -0
  82. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs.map +7 -0
  83. package/dist/lib/neutral/execution-graph/index.mjs +703 -0
  84. package/dist/lib/neutral/execution-graph/index.mjs.map +7 -0
  85. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs +95 -0
  86. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs.map +7 -0
  87. package/dist/lib/neutral/hooks/index.mjs +992 -0
  88. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  89. package/dist/lib/neutral/index.mjs +38 -0
  90. package/dist/lib/neutral/index.mjs.map +7 -0
  91. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs +71 -0
  92. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs.map +7 -0
  93. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
  94. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
  95. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs +110 -0
  96. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs.map +7 -0
  97. package/dist/lib/neutral/meta.json +1 -0
  98. package/dist/lib/neutral/meta.mjs +12 -0
  99. package/dist/lib/neutral/meta.mjs.map +7 -0
  100. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
  101. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
  102. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
  103. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
  104. package/dist/lib/neutral/operations/index.mjs +8 -0
  105. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  106. package/dist/lib/neutral/plugin.mjs +16 -0
  107. package/dist/lib/neutral/plugin.mjs.map +7 -0
  108. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs +174 -0
  109. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs.map +7 -0
  110. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs +22 -0
  111. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +7 -0
  112. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs +102 -0
  113. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs.map +7 -0
  114. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs +48 -0
  115. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs.map +7 -0
  116. package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
  117. package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
  118. package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
  119. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
  120. package/dist/lib/neutral/testing.mjs +8 -0
  121. package/dist/lib/neutral/testing.mjs.map +7 -0
  122. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +21 -0
  123. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +7 -0
  124. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
  125. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
  126. package/dist/lib/neutral/translations.mjs +179 -0
  127. package/dist/lib/neutral/translations.mjs.map +7 -0
  128. package/dist/lib/neutral/types/index.mjs +20 -0
  129. package/dist/lib/neutral/types/index.mjs.map +7 -0
  130. package/dist/lib/neutral/update-chat-name-Y7JWIP64.mjs +61 -0
  131. package/dist/lib/neutral/update-chat-name-Y7JWIP64.mjs.map +7 -0
  132. package/dist/types/src/AssistantPlugin.d.ts +4 -1
  133. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  134. package/dist/types/src/AssistantPlugin.node.d.ts +5 -0
  135. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  136. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  137. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  138. package/dist/types/src/AssistantPlugin.workerd.d.ts +4 -0
  139. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -0
  140. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  141. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  142. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +2 -0
  143. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +1 -0
  144. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  145. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  146. package/dist/types/src/blueprints/index.d.ts +2 -0
  147. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/agent-hydrator.d.ts +5 -0
  149. package/dist/types/src/capabilities/agent-hydrator.d.ts.map +1 -0
  150. package/dist/types/src/capabilities/agent-service.d.ts +6 -0
  151. package/dist/types/src/capabilities/agent-service.d.ts.map +1 -0
  152. package/dist/types/src/capabilities/ai-context.d.ts +6 -0
  153. package/dist/types/src/capabilities/ai-context.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/ai-service.d.ts +4 -3
  155. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  156. package/dist/types/src/capabilities/app-graph-builder.d.ts +5 -2
  157. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  158. package/dist/types/src/capabilities/automation-templates.d.ts +6 -0
  159. package/dist/types/src/capabilities/automation-templates.d.ts.map +1 -0
  160. package/dist/types/src/capabilities/blueprint-definition.d.ts +4 -2
  161. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  162. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  163. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  164. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  165. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  166. package/dist/types/src/capabilities/edge-model-resolver.d.ts +6 -4
  167. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  168. package/dist/types/src/capabilities/index.d.ts +62 -9
  169. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  170. package/dist/types/src/capabilities/integration-provider.d.ts +5 -0
  171. package/dist/types/src/capabilities/integration-provider.d.ts.map +1 -0
  172. package/dist/types/src/capabilities/local-model-resolver.d.ts +16 -0
  173. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  174. package/dist/types/src/capabilities/markdown-extension.d.ts +5 -0
  175. package/dist/types/src/capabilities/markdown-extension.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/migrations.d.ts +6 -0
  177. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  179. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  181. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  182. package/dist/types/src/capabilities/settings.d.ts +4 -2
  183. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  184. package/dist/types/src/capabilities/state.d.ts +21 -0
  185. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/toolkit.d.ts +4 -3
  187. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  188. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts +7 -0
  189. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts.map +1 -0
  190. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts +15 -0
  191. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  192. package/dist/types/src/components/AgentProperties/index.d.ts +2 -0
  193. package/dist/types/src/components/AgentProperties/index.d.ts.map +1 -0
  194. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  195. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  196. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
  197. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  198. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  199. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  200. package/dist/types/src/components/Chat/Chat.d.ts +52 -31
  201. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  202. package/dist/types/src/components/Chat/context.d.ts +29 -0
  203. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  204. package/dist/types/src/components/Chat/events.d.ts +13 -1
  205. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  206. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +3 -2
  207. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  208. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  209. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  210. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +13 -8
  211. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  212. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
  213. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
  214. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts +2 -9
  215. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  216. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +27 -0
  217. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  218. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -6
  219. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  220. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  221. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  222. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  223. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  224. package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
  225. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  226. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
  227. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
  228. package/dist/types/src/components/ChatThread/ChatThread.d.ts +16 -11
  229. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  230. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +24 -215
  231. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  232. package/dist/types/src/components/ChatThread/Link.d.ts +2 -2
  233. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  234. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +42 -0
  235. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
  236. package/dist/types/src/components/ChatThread/registry.d.ts +29 -0
  237. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  238. package/dist/types/src/components/ChatThread/sync.d.ts +69 -0
  239. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  240. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  241. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  242. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
  243. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
  244. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
  245. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
  246. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  247. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  248. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  249. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  250. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
  251. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
  252. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  253. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  254. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  255. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  256. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  257. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  258. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +12 -0
  259. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
  260. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  261. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  262. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  263. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  264. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  265. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  266. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
  267. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
  268. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  269. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  270. package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
  271. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  272. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +11 -0
  273. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  274. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +7 -0
  275. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  276. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  277. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  278. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +7 -0
  279. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +1 -0
  280. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +15 -0
  281. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +1 -0
  282. package/dist/types/src/components/RoutineProperties/index.d.ts +2 -0
  283. package/dist/types/src/components/RoutineProperties/index.d.ts.map +1 -0
  284. package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
  285. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
  286. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
  287. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
  288. package/dist/types/src/components/TaskList/index.d.ts +2 -0
  289. package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
  290. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +10 -11
  291. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  292. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +13 -7
  293. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  294. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +13 -4
  295. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  296. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +10 -2
  297. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  298. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  299. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  300. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  301. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  302. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  303. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  304. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +12 -0
  305. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  306. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  307. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  308. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  309. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  310. package/dist/types/src/components/Toolbox/Toolbox.d.ts +15 -16
  311. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  312. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +15 -5
  313. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  314. package/dist/types/src/components/index.d.ts +7 -9
  315. package/dist/types/src/components/index.d.ts.map +1 -1
  316. package/dist/types/src/constants.d.ts +5 -0
  317. package/dist/types/src/constants.d.ts.map +1 -0
  318. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
  319. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
  320. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +19 -0
  321. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
  322. package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
  323. package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
  324. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
  325. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
  326. package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
  327. package/dist/types/src/containers/AgentProperties/index.d.ts.map +1 -0
  328. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  329. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  330. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  331. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  332. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +25 -0
  333. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -0
  334. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts +15 -0
  335. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts.map +1 -0
  336. package/dist/types/src/containers/ChatArticle/index.d.ts +2 -0
  337. package/dist/types/src/containers/ChatArticle/index.d.ts.map +1 -0
  338. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +26 -0
  339. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  340. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  341. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  342. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  343. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  344. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  345. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  346. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
  347. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
  348. package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
  349. package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
  350. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  351. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  352. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
  353. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
  354. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  355. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  356. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  357. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  358. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +21 -0
  359. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  360. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  361. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  362. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +8 -0
  363. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  364. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +16 -0
  365. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
  366. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  367. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  368. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  369. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  370. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  371. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  372. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  373. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  374. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  375. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  376. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  377. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  378. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +5 -0
  379. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  380. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  381. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  382. package/dist/types/src/containers/index.d.ts +13 -0
  383. package/dist/types/src/containers/index.d.ts.map +1 -0
  384. package/dist/types/src/execution-graph/execution-graph.d.ts +108 -0
  385. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -0
  386. package/dist/types/src/execution-graph/execution-graph.test.d.ts +2 -0
  387. package/dist/types/src/execution-graph/execution-graph.test.d.ts.map +1 -0
  388. package/dist/types/src/execution-graph/index.d.ts +3 -0
  389. package/dist/types/src/execution-graph/index.d.ts.map +1 -0
  390. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts +2 -0
  391. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts.map +1 -0
  392. package/dist/types/src/execution-graph/span-tree.d.ts +76 -0
  393. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -0
  394. package/dist/types/src/execution-graph/span-tree.test.d.ts +2 -0
  395. package/dist/types/src/execution-graph/span-tree.test.d.ts.map +1 -0
  396. package/dist/types/src/execution-graph/sub-agent-delegation.test.d.ts +2 -0
  397. package/dist/types/src/execution-graph/sub-agent-delegation.test.d.ts.map +1 -0
  398. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts +40 -0
  399. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts.map +1 -0
  400. package/dist/types/src/execution-graph/testing/index.d.ts +2 -0
  401. package/dist/types/src/execution-graph/testing/index.d.ts.map +1 -0
  402. package/dist/types/src/extensions/index.d.ts +2 -0
  403. package/dist/types/src/extensions/index.d.ts.map +1 -0
  404. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  405. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  406. package/dist/types/src/feed-logger.d.ts +13 -0
  407. package/dist/types/src/feed-logger.d.ts.map +1 -0
  408. package/dist/types/src/functions/services.test.d.ts +2 -0
  409. package/dist/types/src/functions/services.test.d.ts.map +1 -0
  410. package/dist/types/src/hooks/index.d.ts +8 -4
  411. package/dist/types/src/hooks/index.d.ts.map +1 -1
  412. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +59 -14
  413. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  414. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  415. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  416. package/dist/types/src/hooks/useChatProcessor.d.ts +9 -12
  417. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  418. package/dist/types/src/hooks/useChatServices.d.ts +9 -8
  419. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  420. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  421. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  422. package/dist/types/src/hooks/useContextBinder.d.ts +5 -0
  423. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  424. package/dist/types/src/hooks/useContextObjects.d.ts +16 -0
  425. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  426. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  427. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  428. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  429. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  430. package/dist/types/src/{stories/hooks → hooks}/useFlush.d.ts +1 -1
  431. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  432. package/dist/types/src/hooks/usePresets.d.ts +3 -3
  433. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  434. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  435. package/dist/types/src/index.d.ts +2 -4
  436. package/dist/types/src/index.d.ts.map +1 -1
  437. package/dist/types/src/meta.d.ts +6 -4
  438. package/dist/types/src/meta.d.ts.map +1 -1
  439. package/dist/types/src/operations/create-chat.d.ts +5 -0
  440. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  441. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  442. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  443. package/dist/types/src/operations/fork-chat.d.ts +5 -0
  444. package/dist/types/src/operations/fork-chat.d.ts.map +1 -0
  445. package/dist/types/src/operations/index.d.ts +3 -0
  446. package/dist/types/src/operations/index.d.ts.map +1 -0
  447. package/dist/types/src/operations/prompt.node.test.d.ts +2 -0
  448. package/dist/types/src/operations/prompt.node.test.d.ts.map +1 -0
  449. package/dist/types/src/operations/resolve-navigation-targets.d.ts +17 -0
  450. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  451. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  452. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  453. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  454. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  455. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts +5 -0
  456. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts.map +1 -0
  457. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  458. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  459. package/dist/types/src/paths.d.ts +3 -0
  460. package/dist/types/src/paths.d.ts.map +1 -0
  461. package/dist/types/src/plugin.d.ts +4 -0
  462. package/dist/types/src/plugin.d.ts.map +1 -0
  463. package/dist/types/src/processor/index.d.ts +3 -0
  464. package/dist/types/src/processor/index.d.ts.map +1 -0
  465. package/dist/types/src/{hooks → processor}/presets.d.ts +2 -2
  466. package/dist/types/src/processor/presets.d.ts.map +1 -0
  467. package/dist/types/src/processor/processor.d.ts +317 -0
  468. package/dist/types/src/processor/processor.d.ts.map +1 -0
  469. package/dist/types/src/processor/processor.node.test.d.ts +2 -0
  470. package/dist/types/src/processor/processor.node.test.d.ts.map +1 -0
  471. package/dist/types/src/templates/automation-templates.test.d.ts +2 -0
  472. package/dist/types/src/templates/automation-templates.test.d.ts.map +1 -0
  473. package/dist/types/src/templates/daily-digest.d.ts +3 -0
  474. package/dist/types/src/templates/daily-digest.d.ts.map +1 -0
  475. package/dist/types/src/templates/index.d.ts +4 -0
  476. package/dist/types/src/templates/index.d.ts.map +1 -0
  477. package/dist/types/src/templates/research-brief.d.ts +3 -0
  478. package/dist/types/src/templates/research-brief.d.ts.map +1 -0
  479. package/dist/types/src/templates/scaffold.d.ts +17 -0
  480. package/dist/types/src/templates/scaffold.d.ts.map +1 -0
  481. package/dist/types/src/testing/index.d.ts +3 -1
  482. package/dist/types/src/testing/index.d.ts.map +1 -1
  483. package/dist/types/src/testing/snapshot.d.ts +21 -0
  484. package/dist/types/src/testing/snapshot.d.ts.map +1 -0
  485. package/dist/types/src/testing/test-generator.d.ts +7 -0
  486. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  487. package/dist/types/src/testing/test-generator.test.d.ts +2 -0
  488. package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
  489. package/dist/types/src/testing/test-sequence.d.ts +10 -7
  490. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  491. package/dist/types/src/testing/test-services.d.ts +2 -2
  492. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  493. package/dist/types/src/testing/test-trace.d.ts +5 -0
  494. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  495. package/dist/types/src/testing/trace-timeline.node.test.d.ts +2 -0
  496. package/dist/types/src/testing/trace-timeline.node.test.d.ts.map +1 -0
  497. package/dist/types/src/testing.d.ts +2 -0
  498. package/dist/types/src/testing.d.ts.map +1 -0
  499. package/dist/types/src/translations.d.ts +2 -76
  500. package/dist/types/src/translations.d.ts.map +1 -1
  501. package/dist/types/src/types/Assistant.d.ts +34 -37
  502. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  503. package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
  504. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
  505. package/dist/types/src/types/AssistantEvents.d.ts +3 -0
  506. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
  507. package/dist/types/src/types/AssistantOperation.d.ts +153 -0
  508. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
  509. package/dist/types/src/types/Settings.d.ts +27 -0
  510. package/dist/types/src/types/Settings.d.ts.map +1 -0
  511. package/dist/types/src/types/index.d.ts +9 -2
  512. package/dist/types/src/types/index.d.ts.map +1 -1
  513. package/dist/types/src/types/preset.d.ts +12 -0
  514. package/dist/types/src/types/preset.d.ts.map +1 -0
  515. package/dist/types/src/types/service.d.ts +13 -213
  516. package/dist/types/src/types/service.d.ts.map +1 -1
  517. package/dist/types/src/util/suggestions.d.ts +9 -0
  518. package/dist/types/src/util/suggestions.d.ts.map +1 -0
  519. package/dist/types/src/util/suggestions.test.d.ts +2 -0
  520. package/dist/types/src/util/suggestions.test.d.ts.map +1 -0
  521. package/dist/types/tsconfig.tsbuildinfo +1 -1
  522. package/package.json +198 -119
  523. package/src/AssistantPlugin.conversations.json +1 -0
  524. package/src/AssistantPlugin.node.ts +90 -0
  525. package/src/AssistantPlugin.test.ts +213 -0
  526. package/src/AssistantPlugin.ts +158 -0
  527. package/src/AssistantPlugin.workerd.ts +41 -0
  528. package/src/blueprints/assistant/blueprint.node.test.ts +46 -0
  529. package/src/blueprints/assistant/blueprint.ts +31 -0
  530. package/src/blueprints/assistant/index.ts +5 -0
  531. package/src/{components/Timeline → blueprints}/index.ts +1 -1
  532. package/src/capabilities/agent-hydrator.ts +37 -0
  533. package/src/capabilities/agent-service.ts +38 -0
  534. package/src/capabilities/ai-context.ts +48 -0
  535. package/src/capabilities/ai-service.ts +46 -24
  536. package/src/capabilities/app-graph-builder.ts +222 -154
  537. package/src/capabilities/automation-templates.ts +16 -0
  538. package/src/capabilities/blueprint-definition.ts +58 -25
  539. package/src/capabilities/companion-chat-provisioner.ts +164 -0
  540. package/src/capabilities/create-object.ts +100 -0
  541. package/src/capabilities/edge-model-resolver.ts +66 -25
  542. package/src/capabilities/index.ts +40 -10
  543. package/src/capabilities/integration-provider.ts +86 -0
  544. package/src/capabilities/local-model-resolver.ts +48 -0
  545. package/src/capabilities/markdown-extension.ts +40 -0
  546. package/src/capabilities/migrations.ts +28 -0
  547. package/src/capabilities/operation-handler.ts +16 -0
  548. package/src/capabilities/react-surface.tsx +158 -129
  549. package/src/capabilities/settings.ts +24 -12
  550. package/src/capabilities/state.ts +35 -0
  551. package/src/capabilities/toolkit.ts +7 -100
  552. package/src/components/AgentProperties/AgentProperties.stories.tsx +74 -0
  553. package/src/components/AgentProperties/AgentProperties.tsx +103 -0
  554. package/src/components/AgentProperties/index.ts +5 -0
  555. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +35 -0
  556. package/src/components/AssistantSettings/AssistantSettings.tsx +29 -91
  557. package/src/components/AssistantSettings/index.ts +2 -2
  558. package/src/components/Chat/Chat.tsx +238 -297
  559. package/src/components/Chat/context.ts +39 -0
  560. package/src/components/Chat/events.ts +21 -1
  561. package/src/components/ChatPrompt/ChatActions.tsx +36 -32
  562. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  563. package/src/components/ChatPrompt/ChatOptions.stories.tsx +136 -0
  564. package/src/components/ChatPrompt/ChatOptions.tsx +405 -42
  565. package/src/components/ChatPrompt/ChatPresets.tsx +4 -7
  566. package/src/components/ChatPrompt/ChatPrompt.tsx +180 -0
  567. package/src/components/ChatPrompt/ChatReferences.tsx +38 -40
  568. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  569. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  570. package/src/components/ChatPrompt/index.ts +3 -0
  571. package/src/components/ChatThread/Anchor.stories.tsx +95 -0
  572. package/src/components/ChatThread/ChatThread.stories.tsx +98 -219
  573. package/src/components/ChatThread/ChatThread.tsx +101 -36
  574. package/src/components/ChatThread/DEBUG.md +41 -0
  575. package/src/components/ChatThread/Link.tsx +10 -23
  576. package/src/components/ChatThread/MarkdownStream.stories.tsx +281 -0
  577. package/src/components/ChatThread/registry.tsx +290 -0
  578. package/src/components/ChatThread/sync.test.ts +257 -0
  579. package/src/components/ChatThread/sync.ts +150 -0
  580. package/src/components/ChatThread/testing/reasoning.md +25 -0
  581. package/src/components/ChatThread/testing/thinking.md +21 -0
  582. package/src/components/ChatThread/testing/thread-1.md +30 -0
  583. package/src/components/ChatThread/testing/thread-2.md +56 -0
  584. package/src/components/ChatThread/testing/thread-widgets.md +79 -0
  585. package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
  586. package/src/components/ChatThread/tool-widget-state.ts +48 -0
  587. package/src/components/ChatThread/widgets/FallbackWidget.tsx +28 -0
  588. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
  589. package/src/components/ChatThread/widgets/ReasoningWidget.ts +139 -0
  590. package/src/components/ChatThread/widgets/ReferenceWidget.ts +33 -0
  591. package/src/components/ChatThread/widgets/SelectWidget.ts +39 -0
  592. package/src/components/ChatThread/widgets/StatsWidget.ts +31 -0
  593. package/src/components/ChatThread/widgets/StatusWidget.ts +53 -0
  594. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  595. package/src/components/ChatThread/widgets/SummaryWidget.tsx +29 -0
  596. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +55 -0
  597. package/src/components/ChatThread/widgets/ToolWidget.tsx +173 -0
  598. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  599. package/src/components/ChatThread/widgets/index.ts +13 -0
  600. package/src/components/ProcessTree/ProcessTree.stories.tsx +83 -0
  601. package/src/components/ProcessTree/ProcessTree.tsx +120 -0
  602. package/src/components/ProcessTree/index.ts +5 -0
  603. package/src/components/RoutineProperties/RoutineProperties.stories.tsx +59 -0
  604. package/src/components/RoutineProperties/RoutineProperties.tsx +23 -0
  605. package/src/components/RoutineProperties/index.ts +5 -0
  606. package/src/components/TaskList/TaskList.stories.tsx +44 -0
  607. package/src/components/TaskList/TaskList.tsx +45 -0
  608. package/src/components/TaskList/index.ts +5 -0
  609. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +30 -20
  610. package/src/components/TemplateEditor/TemplateEditor.tsx +60 -72
  611. package/src/components/TemplateEditor/TemplateForm.stories.tsx +25 -21
  612. package/src/components/TemplateEditor/TemplateForm.tsx +113 -87
  613. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  614. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  615. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  616. package/src/components/ToolBlock/ToolBlock.tsx +152 -0
  617. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  618. package/src/components/ToolBlock/index.ts +6 -0
  619. package/src/components/Toolbox/Toolbox.stories.tsx +22 -27
  620. package/src/components/Toolbox/Toolbox.tsx +82 -82
  621. package/src/components/index.ts +9 -8
  622. package/src/constants.ts +9 -0
  623. package/src/containers/AgentArticle/AgentArticle.stories.tsx +124 -0
  624. package/src/containers/AgentArticle/AgentArticle.tsx +192 -0
  625. package/src/containers/AgentArticle/index.ts +5 -0
  626. package/src/containers/AgentProperties/AgentProperties.tsx +43 -0
  627. package/src/containers/AgentProperties/index.ts +5 -0
  628. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  629. package/src/containers/BlueprintArticle/index.ts +5 -0
  630. package/src/containers/ChatArticle/ChatArticle.stories.tsx +78 -0
  631. package/src/containers/ChatArticle/ChatArticle.tsx +112 -0
  632. package/src/containers/ChatArticle/index.ts +5 -0
  633. package/src/containers/ChatCompanion/ChatCompanion.tsx +127 -0
  634. package/src/containers/ChatCompanion/index.ts +5 -0
  635. package/src/containers/ChatDialog/ChatDialog.tsx +67 -0
  636. package/src/containers/ChatDialog/index.ts +5 -0
  637. package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
  638. package/src/containers/PlanArticle/index.ts +5 -0
  639. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
  640. package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
  641. package/src/containers/RoutineArticle/index.ts +5 -0
  642. package/src/containers/RoutineList/RoutineList.stories.tsx +130 -0
  643. package/src/containers/RoutineList/RoutineList.tsx +50 -0
  644. package/src/containers/RoutineList/index.ts +5 -0
  645. package/src/containers/TracePanel/TracePanel.stories.tsx +347 -0
  646. package/src/containers/TracePanel/TracePanel.tsx +257 -0
  647. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  648. package/src/containers/TracePanel/dxn-extractor.ts +166 -0
  649. package/src/containers/TracePanel/index.ts +9 -0
  650. package/src/containers/TracePanel/testing/index.ts +6 -0
  651. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  652. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  653. package/src/containers/TriggerStatus/TriggerStatus.tsx +130 -0
  654. package/src/containers/TriggerStatus/index.ts +5 -0
  655. package/src/containers/index.ts +17 -0
  656. package/src/execution-graph/SPEC.md +690 -0
  657. package/src/execution-graph/execution-graph.test.ts +891 -0
  658. package/src/execution-graph/execution-graph.ts +777 -0
  659. package/src/execution-graph/index.ts +24 -0
  660. package/src/execution-graph/remote-snapshot.test.ts +116 -0
  661. package/src/execution-graph/span-tree.test.ts +249 -0
  662. package/src/execution-graph/span-tree.ts +269 -0
  663. package/src/execution-graph/sub-agent-delegation.test.ts +50 -0
  664. package/src/execution-graph/testing/collect-trace-events.ts +74 -0
  665. package/src/execution-graph/testing/index.ts +5 -0
  666. package/src/execution-graph/testing/sub-agent-delegation.json +1285 -0
  667. package/src/extensions/index.ts +5 -0
  668. package/src/extensions/prompt-extension.ts +111 -0
  669. package/src/feed-logger.ts +149 -0
  670. package/src/functions/services.test.ts +53 -0
  671. package/src/hooks/index.ts +10 -5
  672. package/src/hooks/useBlueprintRegistry.ts +90 -44
  673. package/src/hooks/useChatKeymap.ts +52 -0
  674. package/src/hooks/useChatProcessor.ts +65 -40
  675. package/src/hooks/useChatServices.ts +16 -60
  676. package/src/hooks/useChatToolbarActions.ts +124 -0
  677. package/src/hooks/useContextBinder.ts +43 -0
  678. package/src/hooks/useContextObjects.ts +51 -0
  679. package/src/hooks/useDebug.ts +38 -0
  680. package/src/hooks/useFilteredTypes.ts +39 -0
  681. package/src/hooks/usePresets.ts +7 -5
  682. package/src/hooks/useReferencesProvider.ts +11 -22
  683. package/src/index.ts +2 -5
  684. package/src/meta.ts +35 -10
  685. package/src/operations/create-chat.ts +57 -0
  686. package/src/operations/ensure-companion-chat.ts +63 -0
  687. package/src/operations/fork-chat.ts +112 -0
  688. package/src/operations/index.ts +16 -0
  689. package/src/operations/prompt.node.test.ts +82 -0
  690. package/src/operations/resolve-navigation-targets.ts +31 -0
  691. package/src/operations/run-prompt-in-new-chat.ts +113 -0
  692. package/src/operations/set-current-chat.ts +49 -0
  693. package/src/operations/toggle-trace-panel-debug.ts +27 -0
  694. package/src/operations/update-chat-name.ts +65 -0
  695. package/src/paths.ts +10 -0
  696. package/src/plugin.ts +11 -0
  697. package/src/processor/index.ts +6 -0
  698. package/src/processor/presets.ts +72 -0
  699. package/src/processor/processor.node.test.ts +40 -0
  700. package/src/processor/processor.ts +423 -0
  701. package/src/templates/automation-templates.test.ts +66 -0
  702. package/src/templates/daily-digest.ts +37 -0
  703. package/src/templates/index.ts +11 -0
  704. package/src/templates/research-brief.ts +40 -0
  705. package/src/templates/scaffold.ts +74 -0
  706. package/src/testing/data/trace-timeline-multiple.dx.json +1 -0
  707. package/src/testing/data/trace-timeline-remote.dx.json +1 -0
  708. package/src/testing/data/trace-timeline.dx.json +4657 -0
  709. package/src/testing/index.ts +3 -1
  710. package/src/testing/snapshot.ts +35 -0
  711. package/src/testing/test-generator.test.ts +71 -0
  712. package/src/testing/test-generator.ts +284 -0
  713. package/src/testing/test-sequence.ts +7 -32
  714. package/src/testing/test-services.ts +10 -14
  715. package/src/testing/test-trace.ts +20 -0
  716. package/src/testing/trace-timeline.node.conversations.json +1 -0
  717. package/src/testing/trace-timeline.node.test.ts +241 -0
  718. package/src/testing.ts +9 -0
  719. package/src/translations.ts +167 -70
  720. package/src/types/Assistant.ts +17 -50
  721. package/src/types/AssistantCapabilities.ts +35 -0
  722. package/src/types/AssistantEvents.ts +11 -0
  723. package/src/types/AssistantOperation.ts +164 -0
  724. package/src/types/Settings.ts +82 -0
  725. package/src/types/index.ts +15 -2
  726. package/src/types/preset.ts +16 -0
  727. package/src/types/service.ts +22 -16
  728. package/src/util/suggestions.test.ts +52 -0
  729. package/src/util/suggestions.ts +42 -0
  730. package/src/vite-env.d.ts +35 -0
  731. package/dist/lib/browser/BlueprintContainer-H7H4BQ2C.mjs +0 -29
  732. package/dist/lib/browser/BlueprintContainer-H7H4BQ2C.mjs.map +0 -7
  733. package/dist/lib/browser/ChatContainer-OUVSX5V5.mjs +0 -76
  734. package/dist/lib/browser/ChatContainer-OUVSX5V5.mjs.map +0 -7
  735. package/dist/lib/browser/ChatDialog-P4FLEOHG.mjs +0 -86
  736. package/dist/lib/browser/ChatDialog-P4FLEOHG.mjs.map +0 -7
  737. package/dist/lib/browser/SequenceContainer-627OQ557.mjs +0 -163
  738. package/dist/lib/browser/SequenceContainer-627OQ557.mjs.map +0 -7
  739. package/dist/lib/browser/ai-service-7KJ5LXBT.mjs +0 -22
  740. package/dist/lib/browser/ai-service-7KJ5LXBT.mjs.map +0 -7
  741. package/dist/lib/browser/app-graph-builder-AVHHQ3KV.mjs +0 -166
  742. package/dist/lib/browser/app-graph-builder-AVHHQ3KV.mjs.map +0 -7
  743. package/dist/lib/browser/blueprint-definition-CMGIZAOW.mjs +0 -146
  744. package/dist/lib/browser/blueprint-definition-CMGIZAOW.mjs.map +0 -7
  745. package/dist/lib/browser/chunk-BRLHDHOF.mjs +0 -244
  746. package/dist/lib/browser/chunk-BRLHDHOF.mjs.map +0 -7
  747. package/dist/lib/browser/chunk-HRLMD35M.mjs +0 -191
  748. package/dist/lib/browser/chunk-HRLMD35M.mjs.map +0 -7
  749. package/dist/lib/browser/chunk-LKP65RPA.mjs +0 -20
  750. package/dist/lib/browser/chunk-LKP65RPA.mjs.map +0 -7
  751. package/dist/lib/browser/chunk-NZDCKQ6W.mjs +0 -89
  752. package/dist/lib/browser/chunk-NZDCKQ6W.mjs.map +0 -7
  753. package/dist/lib/browser/chunk-QB7OVS6Z.mjs +0 -16
  754. package/dist/lib/browser/chunk-QB7OVS6Z.mjs.map +0 -7
  755. package/dist/lib/browser/chunk-VEBVAHNM.mjs +0 -2231
  756. package/dist/lib/browser/chunk-VEBVAHNM.mjs.map +0 -7
  757. package/dist/lib/browser/edge-model-resolver-2HB4PCWH.mjs +0 -24
  758. package/dist/lib/browser/edge-model-resolver-2HB4PCWH.mjs.map +0 -7
  759. package/dist/lib/browser/index.mjs +0 -293
  760. package/dist/lib/browser/index.mjs.map +0 -7
  761. package/dist/lib/browser/intent-resolver-MVOIEJXZ.mjs +0 -81
  762. package/dist/lib/browser/intent-resolver-MVOIEJXZ.mjs.map +0 -7
  763. package/dist/lib/browser/meta.json +0 -1
  764. package/dist/lib/browser/react-surface-4HXS3YLT.mjs +0 -163
  765. package/dist/lib/browser/react-surface-4HXS3YLT.mjs.map +0 -7
  766. package/dist/lib/browser/settings-G2EZXMWT.mjs +0 -23
  767. package/dist/lib/browser/settings-G2EZXMWT.mjs.map +0 -7
  768. package/dist/lib/browser/toolkit-IW4FBLLB.mjs +0 -105
  769. package/dist/lib/browser/toolkit-IW4FBLLB.mjs.map +0 -7
  770. package/dist/lib/browser/types/index.mjs +0 -19
  771. package/dist/lib/node-esm/BlueprintContainer-VH4EE4CM.mjs +0 -30
  772. package/dist/lib/node-esm/BlueprintContainer-VH4EE4CM.mjs.map +0 -7
  773. package/dist/lib/node-esm/ChatContainer-D5FABDNE.mjs +0 -77
  774. package/dist/lib/node-esm/ChatContainer-D5FABDNE.mjs.map +0 -7
  775. package/dist/lib/node-esm/ChatDialog-NKWVXHJP.mjs +0 -87
  776. package/dist/lib/node-esm/ChatDialog-NKWVXHJP.mjs.map +0 -7
  777. package/dist/lib/node-esm/SequenceContainer-EQ5NP2PG.mjs +0 -164
  778. package/dist/lib/node-esm/SequenceContainer-EQ5NP2PG.mjs.map +0 -7
  779. package/dist/lib/node-esm/ai-service-LDD32477.mjs +0 -23
  780. package/dist/lib/node-esm/ai-service-LDD32477.mjs.map +0 -7
  781. package/dist/lib/node-esm/app-graph-builder-RMOUJMMG.mjs +0 -167
  782. package/dist/lib/node-esm/app-graph-builder-RMOUJMMG.mjs.map +0 -7
  783. package/dist/lib/node-esm/blueprint-definition-AEWYMW6I.mjs +0 -147
  784. package/dist/lib/node-esm/blueprint-definition-AEWYMW6I.mjs.map +0 -7
  785. package/dist/lib/node-esm/chunk-3SOC5GOP.mjs +0 -2232
  786. package/dist/lib/node-esm/chunk-3SOC5GOP.mjs.map +0 -7
  787. package/dist/lib/node-esm/chunk-F7RXCX5Y.mjs +0 -192
  788. package/dist/lib/node-esm/chunk-F7RXCX5Y.mjs.map +0 -7
  789. package/dist/lib/node-esm/chunk-GAWXJ7K5.mjs +0 -90
  790. package/dist/lib/node-esm/chunk-GAWXJ7K5.mjs.map +0 -7
  791. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  792. package/dist/lib/node-esm/chunk-KOC6ESG7.mjs +0 -22
  793. package/dist/lib/node-esm/chunk-KOC6ESG7.mjs.map +0 -7
  794. package/dist/lib/node-esm/chunk-RD755HN3.mjs +0 -245
  795. package/dist/lib/node-esm/chunk-RD755HN3.mjs.map +0 -7
  796. package/dist/lib/node-esm/chunk-X6AANUHZ.mjs +0 -17
  797. package/dist/lib/node-esm/chunk-X6AANUHZ.mjs.map +0 -7
  798. package/dist/lib/node-esm/edge-model-resolver-UDDR2IA6.mjs +0 -25
  799. package/dist/lib/node-esm/edge-model-resolver-UDDR2IA6.mjs.map +0 -7
  800. package/dist/lib/node-esm/index.mjs +0 -294
  801. package/dist/lib/node-esm/index.mjs.map +0 -7
  802. package/dist/lib/node-esm/intent-resolver-DTDNCX3C.mjs +0 -82
  803. package/dist/lib/node-esm/intent-resolver-DTDNCX3C.mjs.map +0 -7
  804. package/dist/lib/node-esm/meta.json +0 -1
  805. package/dist/lib/node-esm/react-surface-V6JNEZVO.mjs +0 -164
  806. package/dist/lib/node-esm/react-surface-V6JNEZVO.mjs.map +0 -7
  807. package/dist/lib/node-esm/settings-AIP5FOJG.mjs +0 -24
  808. package/dist/lib/node-esm/settings-AIP5FOJG.mjs.map +0 -7
  809. package/dist/lib/node-esm/toolkit-2VNUL77B.mjs +0 -106
  810. package/dist/lib/node-esm/toolkit-2VNUL77B.mjs.map +0 -7
  811. package/dist/lib/node-esm/types/index.mjs +0 -20
  812. package/dist/types/src/capabilities/capabilities.d.ts +0 -11
  813. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  814. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  815. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  816. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  817. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  818. package/dist/types/src/components/ChatContainer.d.ts +0 -12
  819. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  820. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  821. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -18
  822. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  823. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
  824. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  825. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  826. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  827. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  828. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  829. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  830. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  831. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  832. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  833. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
  834. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  835. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  836. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  837. package/dist/types/src/components/Timeline/Timeline.d.ts +0 -24
  838. package/dist/types/src/components/Timeline/Timeline.d.ts.map +0 -1
  839. package/dist/types/src/components/Timeline/Timeline.stories.d.ts +0 -9
  840. package/dist/types/src/components/Timeline/Timeline.stories.d.ts.map +0 -1
  841. package/dist/types/src/components/Timeline/index.d.ts +0 -2
  842. package/dist/types/src/components/Timeline/index.d.ts.map +0 -1
  843. package/dist/types/src/events.d.ts +0 -4
  844. package/dist/types/src/events.d.ts.map +0 -1
  845. package/dist/types/src/functions/analysis.d.ts +0 -5
  846. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  847. package/dist/types/src/functions/index.d.ts +0 -4
  848. package/dist/types/src/functions/index.d.ts.map +0 -1
  849. package/dist/types/src/functions/list.d.ts +0 -10
  850. package/dist/types/src/functions/list.d.ts.map +0 -1
  851. package/dist/types/src/functions/load.d.ts +0 -8
  852. package/dist/types/src/functions/load.d.ts.map +0 -1
  853. package/dist/types/src/hooks/chat-processor.d.ts +0 -72
  854. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  855. package/dist/types/src/hooks/errors.d.ts +0 -4
  856. package/dist/types/src/hooks/errors.d.ts.map +0 -1
  857. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  858. package/dist/types/src/hooks/useResolveRef.d.ts +0 -4
  859. package/dist/types/src/hooks/useResolveRef.d.ts.map +0 -1
  860. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  861. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  862. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  863. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  864. package/dist/types/src/parser/index.d.ts +0 -4
  865. package/dist/types/src/parser/index.d.ts.map +0 -1
  866. package/dist/types/src/parser/query-parser.d.ts +0 -15
  867. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  868. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  869. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  870. package/dist/types/src/parser/types.d.ts +0 -24
  871. package/dist/types/src/parser/types.d.ts.map +0 -1
  872. package/dist/types/src/queue-logger.d.ts +0 -11
  873. package/dist/types/src/queue-logger.d.ts.map +0 -1
  874. package/dist/types/src/stories/Chat.stories.d.ts +0 -268
  875. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  876. package/dist/types/src/stories/components/BlueprintContainer.d.ts +0 -5
  877. package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +0 -1
  878. package/dist/types/src/stories/components/ChatContainer.d.ts +0 -5
  879. package/dist/types/src/stories/components/ChatContainer.d.ts.map +0 -1
  880. package/dist/types/src/stories/components/GraphContainer.d.ts +0 -6
  881. package/dist/types/src/stories/components/GraphContainer.d.ts.map +0 -1
  882. package/dist/types/src/stories/components/LoggingContainer.d.ts +0 -5
  883. package/dist/types/src/stories/components/LoggingContainer.d.ts.map +0 -1
  884. package/dist/types/src/stories/components/SurfaceContainer.d.ts +0 -8
  885. package/dist/types/src/stories/components/SurfaceContainer.d.ts.map +0 -1
  886. package/dist/types/src/stories/components/TasksContainer.d.ts +0 -5
  887. package/dist/types/src/stories/components/TasksContainer.d.ts.map +0 -1
  888. package/dist/types/src/stories/components/index.d.ts +0 -8
  889. package/dist/types/src/stories/components/index.d.ts.map +0 -1
  890. package/dist/types/src/stories/components/types.d.ts +0 -7
  891. package/dist/types/src/stories/components/types.d.ts.map +0 -1
  892. package/dist/types/src/stories/hooks/index.d.ts +0 -3
  893. package/dist/types/src/stories/hooks/index.d.ts.map +0 -1
  894. package/dist/types/src/stories/hooks/useFlush.d.ts.map +0 -1
  895. package/dist/types/src/stories/hooks/useMatcherExtension.d.ts +0 -3
  896. package/dist/types/src/stories/hooks/useMatcherExtension.d.ts.map +0 -1
  897. package/dist/types/src/stories/testing/data.d.ts +0 -142
  898. package/dist/types/src/stories/testing/data.d.ts.map +0 -1
  899. package/dist/types/src/stories/testing/index.d.ts +0 -3
  900. package/dist/types/src/stories/testing/index.d.ts.map +0 -1
  901. package/dist/types/src/stories/testing/testing.d.ts +0 -26
  902. package/dist/types/src/stories/testing/testing.d.ts.map +0 -1
  903. package/dist/types/src/testing/test-functions.d.ts +0 -6
  904. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  905. package/dist/types/src/tools/function.d.ts +0 -5
  906. package/dist/types/src/tools/function.d.ts.map +0 -1
  907. package/dist/types/src/tools/index.d.ts +0 -3
  908. package/dist/types/src/tools/index.d.ts.map +0 -1
  909. package/dist/types/src/tools/openapi.d.ts +0 -10
  910. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  911. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  912. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  913. package/dist/types/src/types/AssistantAction.d.ts +0 -90
  914. package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
  915. package/dist/types/src/types/defs.d.ts +0 -2
  916. package/dist/types/src/types/defs.d.ts.map +0 -1
  917. package/src/AssistantPlugin.tsx +0 -145
  918. package/src/capabilities/capabilities.ts +0 -22
  919. package/src/capabilities/intent-resolver.ts +0 -73
  920. package/src/components/BlueprintContainer.tsx +0 -24
  921. package/src/components/ChatContainer.tsx +0 -69
  922. package/src/components/ChatDialog.tsx +0 -68
  923. package/src/components/ChatThread/ChatMessage.tsx +0 -282
  924. package/src/components/ChatThread/ToolBlock.tsx +0 -125
  925. package/src/components/ChatThread/reducer.ts +0 -52
  926. package/src/components/PromptSettings.tsx +0 -89
  927. package/src/components/SequenceContainer.tsx +0 -133
  928. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -33
  929. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  930. package/src/components/SequenceEditor/index.ts +0 -5
  931. package/src/components/Timeline/Timeline.stories.tsx +0 -53
  932. package/src/components/Timeline/Timeline.tsx +0 -159
  933. package/src/events.ts +0 -11
  934. package/src/functions/analysis.ts +0 -20
  935. package/src/functions/index.ts +0 -7
  936. package/src/functions/list.ts +0 -42
  937. package/src/functions/load.ts +0 -43
  938. package/src/hooks/chat-processor.ts +0 -260
  939. package/src/hooks/errors.ts +0 -8
  940. package/src/hooks/presets.ts +0 -53
  941. package/src/hooks/useResolveRef.ts +0 -33
  942. package/src/parser/filter-generator.test.ts +0 -32
  943. package/src/parser/filter-generator.ts +0 -74
  944. package/src/parser/index.ts +0 -7
  945. package/src/parser/query-parser.test.ts +0 -139
  946. package/src/parser/query-parser.ts +0 -199
  947. package/src/parser/types.ts +0 -34
  948. package/src/queue-logger.ts +0 -125
  949. package/src/shims.d.ts +0 -8
  950. package/src/stories/Chat.stories.tsx +0 -317
  951. package/src/stories/components/BlueprintContainer.tsx +0 -34
  952. package/src/stories/components/ChatContainer.tsx +0 -80
  953. package/src/stories/components/GraphContainer.tsx +0 -118
  954. package/src/stories/components/LoggingContainer.tsx +0 -22
  955. package/src/stories/components/SurfaceContainer.tsx +0 -62
  956. package/src/stories/components/TasksContainer.tsx +0 -51
  957. package/src/stories/components/index.ts +0 -12
  958. package/src/stories/components/types.ts +0 -11
  959. package/src/stories/hooks/index.ts +0 -6
  960. package/src/stories/hooks/useMatcherExtension.ts +0 -45
  961. package/src/stories/testing/data.ts +0 -130
  962. package/src/stories/testing/index.ts +0 -6
  963. package/src/stories/testing/testing.tsx +0 -162
  964. package/src/testing/test-functions.ts +0 -16
  965. package/src/tools/function.ts +0 -49
  966. package/src/tools/index.ts +0 -6
  967. package/src/tools/openapi.test.ts +0 -219
  968. package/src/tools/openapi.ts +0 -341
  969. package/src/types/AssistantAction.ts +0 -54
  970. package/src/types/defs.ts +0 -5
  971. package/src/typings.d.ts +0 -9
  972. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/AssistantPlugin.mjs.map} +0 -0
  973. /package/dist/lib/{browser/types/index.mjs.map → neutral/ChatArticle-VNVZCDUR.mjs.map} +0 -0
  974. /package/dist/lib/{node-esm/types → neutral/blueprints}/index.mjs.map +0 -0
  975. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  976. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  977. /package/src/{stories/hooks → hooks}/useFlush.ts +0 -0
@@ -0,0 +1,93 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/TriggerStatus/TriggerStatus.tsx
4
+ import React, { useMemo } from "react";
5
+ import { useTriggerRuntimeControls } from "@dxos/plugin-automation/hooks";
6
+ import { StatusBar } from "@dxos/plugin-status-bar/components";
7
+ import { useObject } from "@dxos/react-client/echo";
8
+ import { IconButton, Popover, useTranslation } from "@dxos/react-ui";
9
+ import { meta } from "#meta";
10
+ var getIcon = (state) => {
11
+ switch (state) {
12
+ case "disabled":
13
+ return "ph--lightning-slash--regular";
14
+ case "idle":
15
+ return "ph--lightning--regular";
16
+ case "edge":
17
+ return "ph--lightning--regular";
18
+ case "running":
19
+ return "ph--lightning--fill";
20
+ case "error":
21
+ return "ph--warning--regular";
22
+ }
23
+ };
24
+ var getIconClassNames = (state) => {
25
+ switch (state) {
26
+ case "running":
27
+ return "animate-pulse text-accent-text";
28
+ case "error":
29
+ return "text-error-text";
30
+ default:
31
+ return void 0;
32
+ }
33
+ };
34
+ var SpaceStatus = ({ space }) => {
35
+ const { t } = useTranslation(meta.id);
36
+ const { state } = useTriggerRuntimeControls(space.db);
37
+ const isEnabled = state?.enabled ?? false;
38
+ const [properties] = useObject(space.properties);
39
+ const computeEnvironment = properties.computeEnvironment ?? "local";
40
+ const triggerState = useMemo(() => {
41
+ if (computeEnvironment === "edge") {
42
+ return "edge";
43
+ }
44
+ if (!isEnabled) {
45
+ return "disabled";
46
+ }
47
+ const hasPending = state?.invocations.some((invocation) => invocation.result === null);
48
+ if (hasPending) {
49
+ return "running";
50
+ }
51
+ const lastInvocation = state?.invocations.at(-1);
52
+ if (lastInvocation?.result?._tag === "Failure") {
53
+ return "error";
54
+ }
55
+ return "idle";
56
+ }, [
57
+ computeEnvironment,
58
+ isEnabled,
59
+ state?.invocations
60
+ ]);
61
+ return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
62
+ asChild: true
63
+ }, /* @__PURE__ */ React.createElement(StatusBar.Item, null, /* @__PURE__ */ React.createElement(IconButton, {
64
+ variant: "ghost",
65
+ icon: getIcon(triggerState),
66
+ iconOnly: true,
67
+ label: t(`trigger-status-${triggerState}.label`),
68
+ classNames: getIconClassNames(triggerState)
69
+ }))), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
70
+ side: "left"
71
+ }, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
72
+ state: triggerState,
73
+ currentFunctionName: state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key,
74
+ lastInvocation: state?.invocations.at(-1)
75
+ }), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
76
+ };
77
+ var TriggerStatusPopover = ({ state, currentFunctionName, lastInvocation }) => {
78
+ const { t } = useTranslation(meta.id);
79
+ return /* @__PURE__ */ React.createElement("div", {
80
+ className: "flex flex-col gap-2 p-2 w-[240px]"
81
+ }, /* @__PURE__ */ React.createElement("div", {
82
+ className: "flex flex-col gap-1"
83
+ }, /* @__PURE__ */ React.createElement("div", {
84
+ className: "text-sm"
85
+ }, t(`trigger-status-${state}.label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("div", {
86
+ className: "text-xs text-description"
87
+ }, currentFunctionName)));
88
+ };
89
+ export {
90
+ SpaceStatus,
91
+ SpaceStatus as default
92
+ };
93
+ //# sourceMappingURL=TriggerStatus-X7Y5JFZJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TriggerStatus/TriggerStatus.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { type InvocationsState } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation/hooks';\nimport { StatusBar } from '@dxos/plugin-status-bar/components';\nimport { useObject } from '@dxos/react-client/echo';\nimport { IconButton, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\ntype TriggerStatusState = 'disabled' | 'idle' | 'running' | 'edge' | 'error';\n\nconst getIcon = (state: TriggerStatusState): string => {\n switch (state) {\n case 'disabled':\n return 'ph--lightning-slash--regular';\n case 'idle':\n return 'ph--lightning--regular';\n case 'edge':\n return 'ph--lightning--regular';\n case 'running':\n return 'ph--lightning--fill';\n case 'error':\n return 'ph--warning--regular';\n }\n};\n\nconst getIconClassNames = (state: TriggerStatusState): string | undefined => {\n switch (state) {\n case 'running':\n return 'animate-pulse text-accent-text';\n case 'error':\n return 'text-error-text';\n default:\n return undefined;\n }\n};\n\nexport type SpaceStatusProps = AppSurface.SpaceArticleProps;\n\nexport const SpaceStatus = ({ space }: SpaceStatusProps) => {\n const { t } = useTranslation(meta.id);\n const { state } = useTriggerRuntimeControls(space.db);\n const isEnabled = state?.enabled ?? false;\n const [properties] = useObject(space.properties);\n const computeEnvironment = properties.computeEnvironment ?? 'local';\n\n // Determine the current trigger status state.\n const triggerState: TriggerStatusState = useMemo(() => {\n if (computeEnvironment === 'edge') {\n return 'edge';\n }\n\n if (!isEnabled) {\n return 'disabled';\n }\n\n // Check if there's any pending invocation.\n const hasPending = state?.invocations.some((invocation) => invocation.result === null);\n if (hasPending) {\n return 'running';\n }\n\n // Check if the last invocation failed.\n const lastInvocation = state?.invocations.at(-1);\n if (lastInvocation?.result?._tag === 'Failure') {\n return 'error';\n }\n\n return 'idle';\n }, [computeEnvironment, isEnabled, state?.invocations]);\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item>\n <IconButton\n 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.id);\n\n return (\n <div className='flex flex-col gap-2 p-2 w-[240px]'>\n <div className='flex flex-col gap-1'>\n <div className='text-sm'>{t(`trigger-status-${state}.label`)}</div>\n {currentFunctionName && state === 'running' && (\n <div className='text-xs text-description'>{currentFunctionName}</div>\n )}\n </div>\n </div>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,SAASC,sBAAsB;AAEpD,SAASC,YAAY;AAIrB,IAAMC,UAAU,CAACC,UAAAA;AACf,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;EACX;AACF;AAEA,IAAMC,oBAAoB,CAACD,UAAAA;AACzB,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT;AACE,aAAOE;EACX;AACF;AAIO,IAAMC,cAAc,CAAC,EAAEC,MAAK,MAAoB;AACrD,QAAM,EAAEC,EAAC,IAAKR,eAAeC,KAAKQ,EAAE;AACpC,QAAM,EAAEN,MAAK,IAAKR,0BAA0BY,MAAMG,EAAE;AACpD,QAAMC,YAAYR,OAAOS,WAAW;AACpC,QAAM,CAACC,UAAAA,IAAchB,UAAUU,MAAMM,UAAU;AAC/C,QAAMC,qBAAqBD,WAAWC,sBAAsB;AAG5D,QAAMC,eAAmCrB,QAAQ,MAAA;AAC/C,QAAIoB,uBAAuB,QAAQ;AACjC,aAAO;IACT;AAEA,QAAI,CAACH,WAAW;AACd,aAAO;IACT;AAGA,UAAMK,aAAab,OAAOc,YAAYC,KAAK,CAACC,eAAeA,WAAWC,WAAW,IAAA;AACjF,QAAIJ,YAAY;AACd,aAAO;IACT;AAGA,UAAMK,iBAAiBlB,OAAOc,YAAYK,GAAG,EAAC;AAC9C,QAAID,gBAAgBD,QAAQG,SAAS,WAAW;AAC9C,aAAO;IACT;AAEA,WAAO;EACT,GAAG;IAACT;IAAoBH;IAAWR,OAAOc;GAAY;AAEtD,SACE,sBAAA,cAAClB,QAAQyB,MAAI,MACX,sBAAA,cAACzB,QAAQ0B,SAAO;IAACC,SAAAA;KACf,sBAAA,cAAC9B,UAAU+B,MAAI,MACb,sBAAA,cAAC7B,YAAAA;IACC8B,SAAQ;IACRC,MAAM3B,QAAQa,YAAAA;IACde,UAAAA;IACAC,OAAOvB,EAAE,kBAAkBO,YAAAA,QAAoB;IAC/CiB,YAAY5B,kBAAkBW,YAAAA;QAIpC,sBAAA,cAAChB,QAAQkC,QAAM,MACb,sBAAA,cAAClC,QAAQmC,SAAO;IAACC,MAAK;KACpB,sBAAA,cAACC,sBAAAA;IACCjC,OAAOY;IACPsB,qBACElC,OAAOc,YAAYK,GAAG,EAAC,GAAIgB,UAAUrC,KAAKsC,QAAQpC,OAAOc,YAAYK,GAAG,EAAC,GAAIgB,UAAUrC,KAAKuC;IAE9FnB,gBAAgBlB,OAAOc,YAAYK,GAAG,EAAC;MAEzC,sBAAA,cAACvB,QAAQ0C,OAAK,IAAA,CAAA,CAAA,CAAA;AAKxB;AAQA,IAAML,uBAAuB,CAAC,EAC5BjC,OACAkC,qBACAhB,eAAc,MACY;AAC1B,QAAM,EAAEb,EAAC,IAAKR,eAAeC,KAAKQ,EAAE;AAEpC,SACE,sBAAA,cAACiC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAWnC,EAAE,kBAAkBL,KAAAA,QAAa,CAAA,GAC1DkC,uBAAuBlC,UAAU,aAChC,sBAAA,cAACuC,OAAAA;IAAIC,WAAU;KAA4BN,mBAAAA,CAAAA,CAAAA;AAKrD;",
6
+ "names": ["React", "useMemo", "useTriggerRuntimeControls", "StatusBar", "useObject", "IconButton", "Popover", "useTranslation", "meta", "getIcon", "state", "getIconClassNames", "undefined", "SpaceStatus", "space", "t", "id", "db", "isEnabled", "enabled", "properties", "computeEnvironment", "triggerState", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "Root", "Trigger", "asChild", "Item", "variant", "icon", "iconOnly", "label", "classNames", "Portal", "Content", "side", "TriggerStatusPopover", "currentFunctionName", "function", "name", "key", "Arrow", "div", "className"]
7
+ }
@@ -0,0 +1,24 @@
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 { ServiceResolver } from "@dxos/compute";
8
+ import { AgentService } from "@dxos/functions-runtime";
9
+ import { log } from "@dxos/log";
10
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/agent-hydrator.ts";
11
+ var agent_hydrator_default = Capability.makeModule(Effect.fnUntraced(function* () {
12
+ const runtime = yield* Capability.get(Capabilities.ProcessManagerRuntime);
13
+ runtime.runFork(Effect.gen(function* () {
14
+ const service = yield* AgentService.AgentService;
15
+ yield* service.hydrate();
16
+ }).pipe(Effect.provide(ServiceResolver.provide({}, AgentService.AgentService)), Effect.catchAllCause((cause) => Effect.sync(() => log.warn("agent hydrate failed", {
17
+ cause: Cause.pretty(cause)
18
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 20, S: this })))));
19
+ return Capability.contributes(Capabilities.Null, null);
20
+ }));
21
+ export {
22
+ agent_hydrator_default as default
23
+ };
24
+ //# sourceMappingURL=agent-hydrator-PJBYVMBW.mjs.map
@@ -0,0 +1,7 @@
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 { ServiceResolver } from '@dxos/compute';\nimport { AgentService } from '@dxos/functions-runtime';\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,uBAAuB;AAChC,SAASC,oBAAoB;AAC7B,SAASC,WAAW;AAEpB,IAAE,eAAA;IAUEC,yBAAQC,WACNP,WAAW,kBAAA,aAAA;QACT,UAAMQ,OAAU,WAAOJ,IAAAA,aAAaA,qBAAY;UAChD,QAAeK,WAAO,aAAA;AACrBC,UACDV,UAAOW,OAAQR,aAAgBQ;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", "ServiceResolver", "AgentService", "log", "runtime", "runFork", "service", "hydrate", "pipe", "provide", "pretty", "contributes"]
7
+ }
@@ -0,0 +1,32 @@
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 { LayerSpec } from "@dxos/compute";
8
+ import { ProcessManager } from "@dxos/compute-runtime";
9
+ import { AgentService } from "@dxos/functions-runtime";
10
+ import { AutomationCapabilities } from "@dxos/plugin-automation";
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(AutomationCapabilities.AgentDelegationStrategy);
22
+ return AgentService.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-WCAP5MLI.mjs.map
@@ -0,0 +1,7 @@
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 { LayerSpec } from '@dxos/compute';\nimport { ProcessManager } from '@dxos/compute-runtime';\nimport { AgentService } from '@dxos/functions-runtime';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\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(AutomationCapabilities.AgentDelegationStrategy);\n return AgentService.layer({ delegationStrategy: strategies[0] });\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,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,8BAA8B;AAQvC,IAAMC,mBAAmBJ,UAAUK,KACjC;EACEC,UAAU;EACVC,UAAU;IAACN,eAAeO;IAAuBT,WAAWU;;EAC5DC,UAAU;IAACR,aAAaA;;AAC1B,GACA,MACQS,mBACGC,WAAI,aAAA;AAET,QAAMC,aAAa,OAAOd,WAAWe,OAAOX,uBAAuBY,uBAAuB;AAC1F,SAAOb,aAAac,MAAM;IAAEC,oBAAoBJ,WAAW,CAAA;EAAG,CAAA;AAChE,CAAA,CAAA,CAAA;AAIN,IAAA,wBAAed,WAAWmB,WAAW,MAC5BC,eAAQ;EAACpB,WAAWqB,YAAYtB,aAAaE,WAAWI,gBAAAA;CAAkB,CAAA;",
6
+ "names": ["Effect", "Layer", "Capabilities", "Capability", "LayerSpec", "ProcessManager", "AgentService", "AutomationCapabilities", "AgentServiceSpec", "make", "affinity", "requires", "ProcessManagerService", "Service", "provides", "unwrapEffect", "gen", "strategies", "getAll", "AgentDelegationStrategy", "layer", "delegationStrategy", "makeModule", "succeed", "contributes"]
7
+ }
@@ -0,0 +1,42 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/ai-context.ts
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import { Capabilities, Capability } from "@dxos/app-framework";
7
+ import { AiContext } from "@dxos/assistant";
8
+ import { LayerSpec, ServiceNotAvailableError } from "@dxos/compute";
9
+ import { Database, EID, Feed } from "@dxos/echo";
10
+ import { EffectEx } from "@dxos/effect";
11
+ var AiContextSpec = LayerSpec.make({
12
+ affinity: "process",
13
+ requires: [
14
+ Database.Service,
15
+ Feed.FeedService
16
+ ],
17
+ provides: [
18
+ AiContext.Service
19
+ ]
20
+ }, (context) => Layer.scoped(AiContext.Service, Effect.gen(function* () {
21
+ if (!context.conversation) {
22
+ return yield* Effect.die(new ServiceNotAvailableError(AiContext.Service.key, {
23
+ message: `Service not available: ${AiContext.Service.key} \u2014 process spawn is missing 'conversation' in environment (set via Operation.withInvocationOptions or ProcessManager.spawn environment)`
24
+ }));
25
+ }
26
+ const feed = yield* Database.resolve(EID.parse(context.conversation), Feed.Feed).pipe(Effect.orDie);
27
+ const runtime2 = yield* Effect.runtime();
28
+ const binder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({
29
+ feed,
30
+ runtime: runtime2
31
+ }));
32
+ return {
33
+ binder
34
+ };
35
+ })));
36
+ var ai_context_default = Capability.makeModule(() => Effect.succeed([
37
+ Capability.contributes(Capabilities.LayerSpec, AiContextSpec)
38
+ ]));
39
+ export {
40
+ ai_context_default as default
41
+ };
42
+ //# sourceMappingURL=ai-context-7WRHWYXY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-context.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AiContext } from '@dxos/assistant';\nimport { LayerSpec, ServiceNotAvailableError } from '@dxos/compute';\nimport { Database, EID, Feed } from '@dxos/echo';\nimport { EffectEx } from '@dxos/effect';\n\n//\n// Capability Module\n//\n// Contributes a process-affinity `LayerSpec` that materialises\n// {@link AiContext.Service} from the resolution context's `conversation` DXN.\n//\n\nconst AiContextSpec = LayerSpec.make(\n {\n affinity: 'process',\n requires: [Database.Service, Feed.FeedService],\n provides: [AiContext.Service],\n },\n (context) =>\n Layer.scoped(\n AiContext.Service,\n Effect.gen(function* () {\n if (!context.conversation) {\n return yield* Effect.die(\n new ServiceNotAvailableError(AiContext.Service.key, {\n message: `Service not available: ${AiContext.Service.key} — process spawn is missing 'conversation' in environment (set via Operation.withInvocationOptions or ProcessManager.spawn environment)`,\n }),\n );\n }\n const feed = yield* Database.resolve(EID.parse(context.conversation), Feed.Feed).pipe(Effect.orDie);\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const binder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));\n return { binder };\n }),\n ),\n);\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(Capabilities.LayerSpec, AiContextSpec)]),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,WAAWC,gCAAgC;AACpD,SAASC,UAAUC,KAAKC,YAAY;AACpC,SAASC,gBAAgB;AASzB,IAAMC,gBAAgBN,UAAUO,KAC9B;EACEC,UAAU;EACVC,UAAU;IAACP,SAASQ;IAASN,KAAKO;;EAClCC,UAAU;IAACb,UAAUW;;AACvB,GACA,CAACG,YACOC,aACJf,UAAUW,SACHK,WAAI,aAAA;AACT,MAAI,CAACF,QAAQG,cAAc;AACzB,WAAO,OAAcC,WACnB,IAAIhB,yBAAyBF,UAAUW,QAAQQ,KAAK;MAClDC,SAAS,0BAA0BpB,UAAUW,QAAQQ,GAAG;IAC1D,CAAA,CAAA;EAEJ;AACA,QAAME,OAAO,OAAOlB,SAASmB,QAAQlB,IAAImB,MAAMT,QAAQG,YAAY,GAAGZ,KAAKA,IAAI,EAAEmB,KAAYC,YAAK;AAClG,QAAMC,WAAU,OAAcA,eAAO;AACrC,QAAMC,SAAS,OAAOrB,SAASsB,uBAAuB,MAAM,IAAI5B,UAAU6B,OAAO;IAAER;IAAMK,SAAAA;EAAQ,CAAA,CAAA;AACjG,SAAO;IAAEC;EAAO;AAClB,CAAA,CAAA,CAAA;AAIN,IAAA,qBAAe5B,WAAW+B,WAAW,MAC5BC,eAAQ;EAAChC,WAAWiC,YAAYlC,aAAaG,WAAWM,aAAAA;CAAe,CAAA;",
6
+ "names": ["Effect", "Layer", "Capabilities", "Capability", "AiContext", "LayerSpec", "ServiceNotAvailableError", "Database", "EID", "Feed", "EffectEx", "AiContextSpec", "make", "affinity", "requires", "Service", "FeedService", "provides", "context", "scoped", "gen", "conversation", "die", "key", "message", "feed", "resolve", "parse", "pipe", "orDie", "runtime", "binder", "acquireReleaseResource", "Binder", "makeModule", "succeed", "contributes"]
7
+ }
@@ -0,0 +1,40 @@
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 } 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((acc, resolver) => resolver.pipe(Layer.provide(acc)), AiModelResolver.AiModelResolver.fromModelMap({
14
+ name: "Fallback"
15
+ }, Effect.succeed({})));
16
+ let aiServiceLayer = AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer));
17
+ const aiServiceMiddleware = options?.aiServiceMiddleware;
18
+ if (aiServiceMiddleware) {
19
+ aiServiceLayer = aiServiceLayer.pipe(Layer.map((context) => {
20
+ const aiService = Context.get(context, AiService.AiService);
21
+ return Context.make(AiService.AiService, aiServiceMiddleware(aiService));
22
+ }));
23
+ }
24
+ const aiServiceSpec = LayerSpec.make({
25
+ affinity: "space",
26
+ requires: [
27
+ Credential.CredentialsService
28
+ ],
29
+ provides: [
30
+ AiService.AiService
31
+ ]
32
+ }, () => aiServiceLayer);
33
+ return [
34
+ Capability.contributes(Capabilities.LayerSpec, aiServiceSpec)
35
+ ];
36
+ }));
37
+ export {
38
+ ai_service_default as default
39
+ };
40
+ //# sourceMappingURL=ai-service-AADUIKBY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-service.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { AiModelResolver, AiService } from '@dxos/ai';\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Credential, LayerSpec } from '@dxos/compute';\n\nimport type { AssistantPluginOptions } from '#types';\n\nexport default Capability.makeModule<AssistantPluginOptions | void, Capability.Any[]>(\n Effect.fnUntraced(function* (options) {\n const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);\n\n // TODO(dmaretskyi): Extract function to reduce them.\n const combinedLayer = resolvers.reduce(\n (acc, resolver) => resolver.pipe(Layer.provide(acc)),\n AiModelResolver.AiModelResolver.fromModelMap({ name: 'Fallback' }, Effect.succeed({})), // Empty resolver as fallback.\n );\n\n let aiServiceLayer: Layer.Layer<AiService.AiService, never, Credential.CredentialsService> =\n AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer));\n\n const aiServiceMiddleware = options?.aiServiceMiddleware;\n if (aiServiceMiddleware) {\n aiServiceLayer = aiServiceLayer.pipe(\n Layer.map((context) => {\n const aiService = Context.get(context, AiService.AiService);\n return Context.make(AiService.AiService, aiServiceMiddleware(aiService));\n }),\n );\n }\n\n const aiServiceSpec = LayerSpec.make(\n {\n affinity: 'space',\n requires: [Credential.CredentialsService],\n provides: [AiService.AiService],\n },\n () => aiServiceLayer,\n );\n\n return [Capability.contributes(Capabilities.LayerSpec, aiServiceSpec)];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,aAAa;AACzB,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiBC,iBAAiB;AAC3C,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,YAAYC,iBAAiB;AAItC,IAAA,qBAAeH,WAAWI,WACjBC,kBAAW,WAAWC,SAAO;AAClC,QAAMC,YAAY,OAAOP,WAAWQ,OAAOP,gBAAgBJ,eAAe;AAG1E,QAAMY,gBAAgBF,UAAUG,OAC9B,CAACC,KAAKC,aAAaA,SAASC,KAAWC,cAAQH,GAAAA,CAAAA,GAC/Cd,gBAAgBA,gBAAgBkB,aAAa;IAAEC,MAAM;EAAW,GAAUC,eAAQ,CAAC,CAAA,CAAA,CAAA;AAGrF,MAAIC,iBACFrB,gBAAgBA,gBAAgBsB,eAAeN,KAAWC,cAAQL,aAAAA,CAAAA;AAEpE,QAAMW,sBAAsBd,SAASc;AACrC,MAAIA,qBAAqB;AACvBF,qBAAiBA,eAAeL,KACxBQ,UAAI,CAACC,YAAAA;AACT,YAAMC,YAAoBC,YAAIF,SAASxB,UAAUA,SAAS;AAC1D,aAAe2B,aAAK3B,UAAUA,WAAWsB,oBAAoBG,SAAAA,CAAAA;IAC/D,CAAA,CAAA;EAEJ;AAEA,QAAMG,gBAAgBvB,UAAUsB,KAC9B;IACEE,UAAU;IACVC,UAAU;MAAC1B,WAAW2B;;IACtBC,UAAU;MAAChC,UAAUA;;EACvB,GACA,MAAMoB,cAAAA;AAGR,SAAO;IAAClB,WAAW+B,YAAYhC,aAAaI,WAAWuB,aAAAA;;AACzD,CAAA,CAAA;",
6
+ "names": ["Context", "Effect", "Layer", "AiModelResolver", "AiService", "Capabilities", "Capability", "AppCapabilities", "Credential", "LayerSpec", "makeModule", "fnUntraced", "options", "resolvers", "getAll", "combinedLayer", "reduce", "acc", "resolver", "pipe", "provide", "fromModelMap", "name", "succeed", "aiServiceLayer", "buildAiService", "aiServiceMiddleware", "map", "context", "aiService", "get", "make", "aiServiceSpec", "affinity", "requires", "CredentialsService", "provides", "contributes"]
7
+ }
@@ -0,0 +1,232 @@
1
+ import {
2
+ getChatsPath
3
+ } from "./chunk-HLANPOBA.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/capabilities/app-graph-builder.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { pipe } from "effect/Function";
9
+ import * as Option from "effect/Option";
10
+ import { Capability } from "@dxos/app-framework";
11
+ import { AppCapabilities, AppNode, LayoutOperation, createTypeSectionExtension, createTypeSectionPathResolver, getActiveSpace, getPersonalSpace } from "@dxos/app-toolkit";
12
+ import { AgentPrompt, Chat } from "@dxos/assistant-toolkit";
13
+ import { isSpace } from "@dxos/client/echo";
14
+ import { Operation, Routine } from "@dxos/compute";
15
+ import { Sequence } from "@dxos/conductor";
16
+ import { DXN, Database, Filter, Obj, Query, Type } from "@dxos/echo";
17
+ import { invariant } from "@dxos/invariant";
18
+ import { ClientCapabilities } from "@dxos/plugin-client";
19
+ import { GraphBuilder, Node, NodeMatcher } from "@dxos/plugin-graph";
20
+ import { SpaceOperation } from "@dxos/plugin-space";
21
+ import { linkedSegment } from "@dxos/react-ui-attention";
22
+ import { ASSISTANT_COMPANION_VARIANT, meta } from "#meta";
23
+ import { AssistantCapabilities, AssistantOperation } from "#types";
24
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
25
+ var computeOperationsToImport = [
26
+ AgentPrompt
27
+ ];
28
+ var whenNonChatObject = NodeMatcher.whenAll(NodeMatcher.whenEchoObject, NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)));
29
+ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
30
+ const capabilities = yield* Capability.Service;
31
+ const extensions = yield* Effect.all([
32
+ GraphBuilder.createTypeExtension({
33
+ id: "root",
34
+ type: Chat.Chat,
35
+ actions: (chat) => {
36
+ return Effect.succeed([
37
+ Node.makeAction({
38
+ id: AssistantOperation.UpdateChatName.meta.key,
39
+ data: () => Effect.gen(function* () {
40
+ const db = Obj.getDatabase(chat);
41
+ invariant(db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 39, S: this, A: ["db", ""] });
42
+ yield* Operation.invoke(AssistantOperation.UpdateChatName, {
43
+ chat
44
+ }, {
45
+ spaceId: db.spaceId
46
+ });
47
+ }),
48
+ properties: {
49
+ label: [
50
+ "chat-update-name.label",
51
+ {
52
+ ns: meta.id
53
+ }
54
+ ],
55
+ icon: "ph--magic-wand--regular",
56
+ disposition: "list-item"
57
+ }
58
+ })
59
+ ]);
60
+ }
61
+ }),
62
+ GraphBuilder.createExtension({
63
+ id: "assistant",
64
+ match: NodeMatcher.whenRoot,
65
+ actions: () => Effect.succeed([
66
+ Node.makeAction({
67
+ id: "importComputeOperations",
68
+ data: Effect.fnUntraced(function* () {
69
+ const capabilities2 = yield* Capability.Service;
70
+ const client = yield* Capability.get(ClientCapabilities.Client);
71
+ const space = getActiveSpace(client, capabilities2) ?? getPersonalSpace(client);
72
+ if (!space) {
73
+ return;
74
+ }
75
+ for (const definition of computeOperationsToImport) {
76
+ const key = definition.meta.key;
77
+ if (!key) {
78
+ continue;
79
+ }
80
+ const existing = yield* Effect.promise(() => space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run());
81
+ if (existing.length === 0) {
82
+ space.db.add(Operation.serialize(definition));
83
+ }
84
+ }
85
+ yield* Database.flush();
86
+ }),
87
+ properties: {
88
+ label: [
89
+ "import-compute-operations.label",
90
+ {
91
+ ns: meta.id
92
+ }
93
+ ],
94
+ icon: "ph--download-simple--regular"
95
+ }
96
+ }),
97
+ Node.makeAction({
98
+ id: AssistantOperation.ToggleTracePanelDebug.meta.key,
99
+ data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),
100
+ properties: {
101
+ label: [
102
+ "toggle-trace-panel-debug.label",
103
+ {
104
+ ns: meta.id
105
+ }
106
+ ],
107
+ icon: "ph--brackets-curly--regular"
108
+ }
109
+ })
110
+ ])
111
+ }),
112
+ // Don't show assistant companion when a chat is already the primary object.
113
+ GraphBuilder.createExtension({
114
+ id: "companionChat",
115
+ match: whenNonChatObject,
116
+ connector: (object, get) => Effect.gen(function* () {
117
+ const state = get(yield* Capability.get(AssistantCapabilities.State));
118
+ const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));
119
+ const objectUri = Obj.getURI(object);
120
+ const chat = pipe(Option.fromNullable(state.currentChat[objectUri]), Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryMake(dxnStr))), Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))), Option.map((ref) => get(Obj.atom(ref))), Option.filter(Obj.isObject), Option.orElse(() => pipe(Option.fromNullable(cache[objectUri]), Option.filter(Obj.isObject))), Option.getOrNull);
121
+ return [
122
+ AppNode.makeCompanion({
123
+ id: linkedSegment(ASSISTANT_COMPANION_VARIANT),
124
+ label: [
125
+ "assistant-chat.label",
126
+ {
127
+ ns: meta.id
128
+ }
129
+ ],
130
+ icon: "ph--sparkle--regular",
131
+ data: chat,
132
+ position: "first"
133
+ })
134
+ ];
135
+ })
136
+ }),
137
+ GraphBuilder.createExtension({
138
+ id: "invocations",
139
+ match: NodeMatcher.whenAny(NodeMatcher.whenEchoTypeMatches(Sequence.Sequence), NodeMatcher.whenEchoTypeMatches(Routine.Routine)),
140
+ connector: () => Effect.succeed([
141
+ AppNode.makeCompanion({
142
+ id: "invocations",
143
+ label: [
144
+ "invocations.label",
145
+ {
146
+ ns: meta.id
147
+ }
148
+ ],
149
+ icon: "ph--clock-countdown--regular",
150
+ data: "invocations"
151
+ })
152
+ ])
153
+ }),
154
+ GraphBuilder.createExtension({
155
+ id: "trace",
156
+ match: NodeMatcher.whenRoot,
157
+ connector: () => Effect.succeed([
158
+ AppNode.makeDeckCompanion({
159
+ id: linkedSegment("trace"),
160
+ label: [
161
+ "trace.label",
162
+ {
163
+ ns: meta.id
164
+ }
165
+ ],
166
+ icon: "ph--line-segments--regular",
167
+ data: "trace",
168
+ position: "last"
169
+ })
170
+ ])
171
+ }),
172
+ // Section node: standalone Chat.Chat objects per space (companions are excluded).
173
+ createTypeSectionExtension(Chat.Chat, {
174
+ // Exclude chats that are the source of a CompanionTo relation; those belong to
175
+ // their primary object's companion panel and should not appear in the top-level list.
176
+ query: Query.without(Query.select(Filter.type(Chat.Chat)), Query.select(Filter.type(Chat.Chat)).sourceOf(Chat.CompanionTo).source())
177
+ }),
178
+ // Create-chat action on the Chats section header.
179
+ GraphBuilder.createExtension({
180
+ id: "chatsSectionActions",
181
+ match: (node) => {
182
+ const space = isSpace(node.properties.space) ? node.properties.space : void 0;
183
+ return node.type === Type.getTypename(Chat.Chat) && space ? Option.some(space) : Option.none();
184
+ },
185
+ actions: (space) => Effect.succeed([
186
+ Node.makeAction({
187
+ id: "create-chat",
188
+ data: () => Effect.gen(function* () {
189
+ const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, {
190
+ db: space.db
191
+ }, {
192
+ spaceId: space.db.spaceId
193
+ });
194
+ const { subject } = yield* Operation.invoke(SpaceOperation.AddObject, {
195
+ object: chat,
196
+ target: space.db,
197
+ hidden: true,
198
+ targetNodeId: getChatsPath(space.db.spaceId)
199
+ }, {
200
+ spaceId: space.db.spaceId
201
+ });
202
+ yield* Operation.invoke(LayoutOperation.Open, {
203
+ subject: [
204
+ ...subject
205
+ ]
206
+ }, {
207
+ spaceId: space.db.spaceId
208
+ });
209
+ }),
210
+ properties: {
211
+ label: [
212
+ "create-chat.label",
213
+ {
214
+ ns: meta.id
215
+ }
216
+ ],
217
+ icon: "ph--plus--regular",
218
+ disposition: "list-item-primary"
219
+ }
220
+ })
221
+ ])
222
+ })
223
+ ]);
224
+ return [
225
+ Capability.contributes(AppCapabilities.AppGraphBuilder, extensions),
226
+ Capability.contributes(AppCapabilities.NavigationPathResolver, createTypeSectionPathResolver(Chat.Chat))
227
+ ];
228
+ }));
229
+ export {
230
+ app_graph_builder_default as default
231
+ };
232
+ //# sourceMappingURL=app-graph-builder-WUFHQH3Y.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport { pipe } from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capability } from '@dxos/app-framework';\nimport {\n AppCapabilities,\n AppNode,\n LayoutOperation,\n createTypeSectionExtension,\n createTypeSectionPathResolver,\n getActiveSpace,\n getPersonalSpace,\n} from '@dxos/app-toolkit';\nimport { AgentPrompt, Chat } from '@dxos/assistant-toolkit';\nimport { isSpace } from '@dxos/client/echo';\nimport { Operation, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Database, Filter, Obj, Query, Type, type Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { linkedSegment } from '@dxos/react-ui-attention';\n\nimport { ASSISTANT_COMPANION_VARIANT, meta } from '#meta';\nimport { AssistantCapabilities, AssistantOperation } from '#types';\n\nimport { getChatsPath } from '../paths';\n\n/** Operation definitions to seed as `PersistentOperation` records for automation / triggers. */\nconst computeOperationsToImport = [AgentPrompt] as const;\n\n/** Match ECHO objects that are NOT chats. */\nconst whenNonChatObject = NodeMatcher.whenAll(\n NodeMatcher.whenEchoObject,\n NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)),\n);\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'root',\n type: Chat.Chat,\n actions: (chat) => {\n return Effect.succeed([\n Node.makeAction({\n id: AssistantOperation.UpdateChatName.meta.key,\n data: () =>\n Effect.gen(function* () {\n // TODO(dmaretskyi): This goes away when composer will have unified operation invocations.\n const db = Obj.getDatabase(chat);\n invariant(db);\n yield* Operation.invoke(AssistantOperation.UpdateChatName, { chat }, { spaceId: db.spaceId });\n }),\n properties: {\n label: ['chat-update-name.label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n disposition: 'list-item',\n },\n }),\n ]);\n },\n }),\n\n GraphBuilder.createExtension({\n id: 'assistant',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n Node.makeAction({\n id: 'importComputeOperations',\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);\n if (!space) {\n return;\n }\n for (const definition of computeOperationsToImport) {\n const key = definition.meta.key;\n if (!key) {\n continue;\n }\n const existing = yield* Effect.promise(\n (): Promise<Operation.PersistentOperation[]> =>\n space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run(),\n );\n if (existing.length === 0) {\n space.db.add(Operation.serialize(definition));\n }\n }\n yield* Database.flush();\n }),\n properties: {\n label: ['import-compute-operations.label', { ns: meta.id }],\n icon: 'ph--download-simple--regular',\n },\n }),\n Node.makeAction({\n id: AssistantOperation.ToggleTracePanelDebug.meta.key,\n data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),\n properties: {\n label: ['toggle-trace-panel-debug.label', { ns: meta.id }],\n icon: 'ph--brackets-curly--regular',\n },\n }),\n ]),\n }),\n\n // Don't show assistant companion when a chat is already the primary object.\n GraphBuilder.createExtension({\n id: 'companionChat',\n match: whenNonChatObject,\n connector: (object, get) =>\n Effect.gen(function* () {\n const state = get(yield* Capability.get(AssistantCapabilities.State));\n const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));\n const objectUri = Obj.getURI(object);\n\n // Resolve chat from persisted state or transient cache.\n const chat = pipe(\n Option.fromNullable(state.currentChat[objectUri]),\n Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryMake(dxnStr))),\n Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))),\n Option.map((ref) => get(Obj.atom(ref as Ref.Ref<Obj.Unknown>))),\n Option.filter(Obj.isObject),\n Option.orElse(() => pipe(Option.fromNullable(cache[objectUri]), Option.filter(Obj.isObject))),\n Option.getOrNull,\n );\n\n return [\n AppNode.makeCompanion({\n id: linkedSegment(ASSISTANT_COMPANION_VARIANT),\n label: ['assistant-chat.label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n data: chat,\n position: 'first',\n }),\n ];\n }),\n }),\n\n GraphBuilder.createExtension({\n id: 'invocations',\n match: NodeMatcher.whenAny(\n NodeMatcher.whenEchoTypeMatches(Sequence.Sequence),\n NodeMatcher.whenEchoTypeMatches(Routine.Routine),\n ),\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'invocations',\n label: ['invocations.label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n data: 'invocations',\n }),\n ]),\n }),\n\n GraphBuilder.createExtension({\n id: 'trace',\n match: NodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: linkedSegment('trace'),\n label: ['trace.label', { ns: meta.id }],\n icon: 'ph--line-segments--regular',\n data: 'trace' as const,\n position: 'last',\n }),\n ]),\n }),\n\n // Section node: standalone Chat.Chat objects per space (companions are excluded).\n createTypeSectionExtension(Chat.Chat, {\n // Exclude chats that are the source of a CompanionTo relation; those belong to\n // their primary object's companion panel and should not appear in the top-level list.\n query: Query.without(\n Query.select(Filter.type(Chat.Chat)),\n Query.select(Filter.type(Chat.Chat)).sourceOf(Chat.CompanionTo).source(),\n ),\n }),\n\n // Create-chat action on the Chats section header.\n GraphBuilder.createExtension({\n id: 'chatsSectionActions',\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return node.type === Type.getTypename(Chat.Chat) && space ? Option.some(space) : Option.none();\n },\n actions: (space) =>\n Effect.succeed([\n Node.makeAction({\n id: 'create-chat',\n data: () =>\n Effect.gen(function* () {\n const { object: chat } = yield* Operation.invoke(\n AssistantOperation.CreateChat,\n { db: space.db },\n { spaceId: space.db.spaceId },\n );\n const { subject } = yield* Operation.invoke(\n SpaceOperation.AddObject,\n { object: chat, target: space.db, hidden: true, targetNodeId: getChatsPath(space.db.spaceId) },\n { spaceId: space.db.spaceId },\n );\n yield* Operation.invoke(\n LayoutOperation.Open,\n { subject: [...subject] },\n { spaceId: space.db.spaceId },\n );\n }),\n properties: {\n label: ['create-chat.label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n },\n }),\n ]),\n }),\n ]);\n\n return [\n Capability.contributes(AppCapabilities.AppGraphBuilder, extensions),\n Capability.contributes(AppCapabilities.NavigationPathResolver, createTypeSectionPathResolver(Chat.Chat)),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AACxB,SAASC,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SACEC,iBACAC,SACAC,iBACAC,4BACAC,+BACAC,gBACAC,wBACK;AACP,SAASC,aAAaC,YAAY;AAClC,SAASC,eAAe;AACxB,SAASC,WAAWC,eAAe;AACnC,SAASC,gBAAgB;AACzB,SAASC,KAAKC,UAAUC,QAAQC,KAAKC,OAAOC,YAAsB;AAClE,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,cAAcC,MAAMC,mBAAmB;AAChD,SAASC,sBAAsB;AAC/B,SAASC,qBAAqB;AAE9B,SAASC,6BAA6BC,YAAY;AAClD,SAASC,uBAAuBC,0BAA0B;AAI1D,IAAA,eAAA;AAC+C,IAAA,4BAAA;EAE/C;AAMA;AAE2CC,IAAO,oBAAA,YAAA,QAAA,YAAA,gBAAA,YAAA,QAAA,YAAA,oBAAA,KAAA,IAAA,CAAA,CAAA;IAE9C,4BAAMC,WAAa,WAAkB,kBAAA,aAAA;QACnCC,eAAaC,OAAAA,WAAoB;qBAC3B,OAAA,WAAA;iBACEC,oBAAS;MACfC,IAAAA;YACE,KAAOC;eACLC,CAAAA,SAAKC;eACCC,eAAAA;eACJC,WACEJ;mCACE,eAAA,KAAA;wBACMK,WAAKC,aAAIC;AAEf,oBAAA,KAAOC,IAAAA,YAAiBL,IAAAA;wBAAqCM,IAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,MAAAA,EAAAA,EAAAA,CAAAA;AAAK,qBAAG,UAAA,OAAA,mBAAA,gBAAA;gBAAEC;cAAoB,GAAA;gBAC7F,SAAA,GAAA;cACFC,CAAAA;YACEC,CAAAA;wBAAQ;qBAA0B;;gBAAc;kBAAE,IAAA,KAAA;gBAClDC;cACAC;cACF,MAAA;cACF,aAAA;YACD;UACH,CAAA;QACF,CAAA;MAEAlB;;iBAESmB,gBAAYC;MACnBjB,IAAAA;yBAESG;qBACC,eAAA;aACJE,WAAMJ;cACJ;gBACMiB,kBAAS,aAAOC;AACtB,kBAAMC,gBAAQC,OAAAA,WAAuBC;AACrC,kBAAKF,SAAO,OAAA,WAAA,IAAA,mBAAA,MAAA;kBACV,QAAA,eAAA,QAAAE,aAAA,KAAA,iBAAA,MAAA;AACF,gBAAA,CAAA,OAAA;AACA;;uBAEOC,cAAK,2BAAA;oBACR,MAAA,WAAA,KAAA;AACF,kBAAA,CAAA,KAAA;AACA;cAIA;oBACEH,WAAaX,OAAUe,eAAUC,MAAAA,MAAAA,GAAAA,MAAAA,OAAAA,IAAAA,OAAAA,KAAAA,UAAAA,mBAAAA,GAAAA,OAAAA,IAAAA,GAAAA,CAAAA,CAAAA,EAAAA,IAAAA,CAAAA;AACnC,kBAAA,SAAA,WAAA,GAAA;AACF,sBAAA,GAAA,IAAA,UAAA,UAAA,UAAA,CAAA;cACA;YACF;AACAb,mBAAAA,SAAY,MAAA;;sBACF;mBAAmC;;cAAc;gBAAE,IAAA,KAAA;cAC3DE;YACF;YACF,MAAA;UACAZ;;aAEEG,WAAYI;UACZG,IAAAA,mBAAY,sBAAA,KAAA;gBACVC,MAAAA,UAAO,OAAA,mBAAA,uBAAA,CAAA,CAAA;sBAAC;mBAAkC;;cAAc;gBAAE,IAAA,KAAA;cAC1DC;YACF;YACF,MAAA;UACD;QACL,CAAA;MAEA,CAAA;IACAjB,CAAAA;;iBAES6B,gBAAAA;MACPC,IAAAA;;iBAGI,CAAA,QAAMC,QAAY,WAAOT,aAAeU;AACxC,cAAMC,QAAAA,IAAYvB,OAAIwB,WAAOC,IAAAA,sBAAAA,KAAAA,CAAAA;AAE7B,cAAA,QAAA,IAAA,OAAA,WAAA,IAAA,sBAAwD,kBAAA,CAAA;AACxD,cAAMtB,YACJuB,IAAAA,OAAOC,MAAAA;cAUPC,OAAQC,KAAa,oBAAC,MAAA,YAAA,SAAA,CAAA,GAAA,eAAA,CAAA,WAAA,oBAAA,IAAA,QAAA,MAAA,CAAA,CAAA,GAAA,eAAA,CAAA,QAAA,oBAAA,IAAA,YAAA,MAAA,GAAA,QAAA,GAAA,CAAA,CAAA,GAAA,WAAA,CAAA,QAAA,IAAA,IAAA,KAAA,GAAA,CAAA,CAAA,GAAA,cAAA,IAAA,QAAA,GAAA,cAAA,MAAA,KAAA,oBAAA,MAAA,SAAA,CAAA,GAAA,cAAA,IAAA,QAAA,CAAA,CAAA,GAAA,gBAAA;;kBAEpBvB,cAAO;gBAAC,cAAA,2BAAA;mBAAwB;;cAAc;gBAAE,IAAA,KAAA;cAChDC;YACAT;YACAgC,MAAAA;YACF,MAAA;YACD,UAAA;UACH,CAAA;QACJ;MAEAxC,CAAAA;;iBAESmB,gBAAYsB;MAInBX,IAAAA;yBAEYS,QAAAA,YAAc,oBAAA,SAAA,QAAA,GAAA,YAAA,oBAAA,QAAA,OAAA,CAAA;uBAChB,eAAA;gBACJvB,cAAO;cAAC;iBAAqB;;YAAc;cAAE,IAAA,KAAA;YAC7CC;UACAT;UACF,MAAA;UACD,MAAA;QACL,CAAA;MAEAR,CAAAA;;iBAESmB,gBAAYC;MACnBU,IAAAA;yBAEYY;uBACFC,eAAc;gBAClB3B,kBAAO;cAAC,cAAA,OAAA;iBAAe;;YAAc;cAAE,IAAA,KAAA;YACvCC;UACAT;UACAgC,MAAAA;UACF,MAAA;UACD,UAAA;QACL,CAAA;MAEA,CAAA;IACAI,CAAAA;;+BAEE,KAAA,MAAA;;;MAOF,OAAA,MAAA,QAAA,MAAA,OAAA,OAAA,KAAkD,KAAA,IAAA,CAAA,GAAA,MAAA,OAAA,OAAA,KAAA,KAAA,IAAA,CAAA,EAAA,SAAA,KAAA,WAAA,EAAA,OAAA,CAAA;IAClD5C,CAAAA;;iBAEU6C,gBAAAA;UACN;aACA,CAAA,SAAOA;AACT,cAAA,QAAA,QAAA,KAAA,WAAA,KAAA,IAAA,KAAA,WAAA,QAAA;AACA1C,eAAUoB,KAAAA,SACDuB,KAAAA,YAAQ,KAAA,IAAA,KAAA,QAAA,YAAA,KAAA,IAAA,YAAA;;0BAEP,eAAA;aACJtC,WACEJ;;sBAGUmB,WAAAA,aAAQ;AAAC,kBACf,EAAA,QAAA,KAAA,IAAA,OAAA,UAAA,OAAA,mBAAA,YAAA;cAAET,IAAAA,MAASS;YAAiB,GAAA;cAE9B,SAAQwB,MAAS,GAAG;;kBAEFC,EAAAA,QAAQzB,IAAQ,OAAA,UAAA,OAAA,eAAA,WAAA;cAAE0B,QAAQ;cAAMC,QAAAA,MAAcC;cAC9D,QAAA;cAAErC,cAASS,aAAgB,MAAA,GAAA,OAAA;YAAC,GAAA;cAE9B,SAAOX,MAAUwC,GAAAA;;6BAEAL,OAAAA,gBAAAA,MAAAA;uBAAQ;gBACvB,GAAA;cAAEjC;YAA0B,GAAA;cAEhC,SAAA,MAAA,GAAA;YACFC,CAAAA;UACEC,CAAAA;sBAAQ;mBAAqB;;cAAc;gBAAE,IAAA,KAAA;cAC7CC;YACAC;YACF,MAAA;YACF,aAAA;UACD;QACL,CAAA;MACD,CAAA;IAED,CAAA;;SAEEI;IACD,WAAA,YAAA,gBAAA,iBAAA,UAAA;IAEH,WAAA,YAAA,gBAAA,wBAAA,8BAAA,KAAA,IAAA,CAAA;;;",
6
+ "names": ["Effect", "pipe", "Option", "Capability", "AppCapabilities", "AppNode", "LayoutOperation", "createTypeSectionExtension", "createTypeSectionPathResolver", "getActiveSpace", "getPersonalSpace", "AgentPrompt", "Chat", "isSpace", "Operation", "Routine", "Sequence", "DXN", "Database", "Filter", "Obj", "Query", "Type", "invariant", "ClientCapabilities", "GraphBuilder", "Node", "NodeMatcher", "SpaceOperation", "linkedSegment", "ASSISTANT_COMPANION_VARIANT", "meta", "AssistantCapabilities", "AssistantOperation", "Service", "extensions", "GraphBuilder", "createTypeExtension", "Chat", "actions", "Effect", "Node", "makeAction", "AssistantOperation", "data", "db", "Obj", "getDatabase", "Operation", "chat", "spaceId", "properties", "label", "icon", "disposition", "NodeMatcher", "whenRoot", "client", "Capability", "space", "getActiveSpace", "capabilities", "key", "serialize", "definition", "whenNonChatObject", "connector", "cache", "AssistantCapabilities", "objectUri", "getURI", "object", "Option", "fromNullable", "AppNode", "makeCompanion", "position", "whenAny", "makeDeckCompanion", "linkedSegment", "createTypeSectionExtension", "node", "succeed", "subject", "target", "hidden", "targetNodeId", "getChatsPath", "invoke"]
7
+ }