@dxos/plugin-assistant 0.8.4-main.fcfe5033a5 → 0.8.4-staging.60fe92afc8

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 (751) 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/{browser → neutral}/blueprints/index.mjs +1 -1
  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/{browser/chunk-EZRS3J25.mjs → neutral/chunk-5H6UJHLF.mjs} +3 -3
  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/{browser/ensure-companion-chat-ZEZA34MZ.mjs → neutral/ensure-companion-chat-AMOF3C66.mjs} +14 -21
  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/integration-provider-RBD3AFJU.mjs +71 -0
  91. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs.map +7 -0
  92. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
  93. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
  94. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs +110 -0
  95. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs.map +7 -0
  96. package/dist/lib/neutral/meta.json +1 -0
  97. package/dist/lib/neutral/meta.mjs +12 -0
  98. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
  99. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
  100. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
  101. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
  102. package/dist/lib/neutral/operations/index.mjs +8 -0
  103. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  104. package/dist/lib/neutral/plugin.mjs +16 -0
  105. package/dist/lib/neutral/plugin.mjs.map +7 -0
  106. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs +174 -0
  107. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs.map +7 -0
  108. package/dist/lib/{browser/resolve-navigation-targets-NZOD66NY.mjs → neutral/resolve-navigation-targets-ZHIMMH7L.mjs} +6 -6
  109. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +7 -0
  110. package/dist/lib/{browser/run-prompt-in-new-chat-THLK5YQC.mjs → neutral/run-prompt-in-new-chat-D5IIE2C7.mjs} +22 -56
  111. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs.map +7 -0
  112. package/dist/lib/{browser/set-current-chat-LRS3VFSH.mjs → neutral/set-current-chat-VWBPSIMZ.mjs} +7 -13
  113. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs.map +7 -0
  114. package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
  115. package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
  116. package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
  117. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
  118. package/dist/lib/neutral/testing.mjs +8 -0
  119. package/dist/lib/neutral/testing.mjs.map +7 -0
  120. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +21 -0
  121. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +7 -0
  122. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
  123. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
  124. package/dist/lib/neutral/translations.mjs +179 -0
  125. package/dist/lib/neutral/translations.mjs.map +7 -0
  126. package/dist/lib/neutral/types/index.mjs +20 -0
  127. package/dist/lib/neutral/types/index.mjs.map +7 -0
  128. package/dist/lib/{browser/update-chat-name-3Y36KFAS.mjs → neutral/update-chat-name-Y7JWIP64.mjs} +26 -36
  129. package/dist/lib/neutral/update-chat-name-Y7JWIP64.mjs.map +7 -0
  130. package/dist/types/src/AssistantPlugin.d.ts +3 -1
  131. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  132. package/dist/types/src/AssistantPlugin.node.d.ts +5 -0
  133. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  134. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  135. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  136. package/dist/types/src/AssistantPlugin.workerd.d.ts +4 -0
  137. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -0
  138. package/dist/types/src/blueprints/assistant/blueprint.d.ts +2 -2
  139. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -1
  140. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +2 -0
  141. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/agent-hydrator.d.ts +5 -0
  143. package/dist/types/src/capabilities/agent-hydrator.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/agent-service.d.ts +6 -0
  145. package/dist/types/src/capabilities/agent-service.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/ai-context.d.ts +6 -0
  147. package/dist/types/src/capabilities/ai-context.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/ai-service.d.ts +2 -2
  149. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -1
  151. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  152. package/dist/types/src/capabilities/automation-templates.d.ts +6 -0
  153. package/dist/types/src/capabilities/automation-templates.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  155. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -1
  156. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  157. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  158. package/dist/types/src/capabilities/edge-model-resolver.d.ts +1 -1
  159. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  160. package/dist/types/src/capabilities/index.d.ts +36 -3
  161. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  162. package/dist/types/src/capabilities/integration-provider.d.ts +5 -0
  163. package/dist/types/src/capabilities/integration-provider.d.ts.map +1 -0
  164. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  165. package/dist/types/src/capabilities/{markdown.d.ts → markdown-extension.d.ts} +1 -1
  166. package/dist/types/src/capabilities/markdown-extension.d.ts.map +1 -0
  167. package/dist/types/src/capabilities/migrations.d.ts +2 -1
  168. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  169. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  170. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  171. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  172. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  173. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  174. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  175. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts +7 -0
  176. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts.map +1 -0
  177. package/dist/types/src/{containers → components}/AgentProperties/AgentProperties.stories.d.ts +1 -2
  178. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  179. package/dist/types/src/components/AgentProperties/index.d.ts +2 -0
  180. package/dist/types/src/components/AgentProperties/index.d.ts.map +1 -0
  181. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +1 -1
  182. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  183. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/Chat/Chat.d.ts +44 -42
  185. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  186. package/dist/types/src/components/Chat/context.d.ts +29 -0
  187. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  188. package/dist/types/src/components/Chat/events.d.ts +3 -0
  189. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  190. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +1 -1
  191. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  192. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  193. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  194. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +10 -14
  195. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  196. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +1 -1
  197. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
  198. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts +2 -9
  199. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  200. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +27 -0
  201. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  202. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +2 -2
  203. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  204. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  205. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  206. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +1 -1
  207. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  208. package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
  209. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  210. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
  211. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
  212. package/dist/types/src/components/ChatThread/ChatThread.d.ts +6 -3
  213. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  214. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +5 -5
  215. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  216. package/dist/types/src/components/ChatThread/Link.d.ts +2 -2
  217. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  218. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +8 -1
  219. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -1
  220. package/dist/types/src/components/ChatThread/registry.d.ts +18 -0
  221. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  222. package/dist/types/src/components/ChatThread/sync.d.ts +42 -16
  223. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  224. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -1
  225. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +4 -4
  226. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -1
  227. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -1
  228. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -1
  229. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -1
  230. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -1
  231. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -1
  232. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +2 -15
  233. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -1
  234. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -1
  235. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -1
  236. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -1
  237. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -1
  238. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  239. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  240. package/dist/types/src/components/ChatThread/widgets/index.d.ts +1 -2
  241. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
  242. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +4 -3
  243. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  244. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +0 -1
  245. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -1
  246. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +7 -0
  247. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +1 -0
  248. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +15 -0
  249. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +1 -0
  250. package/dist/types/src/components/RoutineProperties/index.d.ts +2 -0
  251. package/dist/types/src/components/RoutineProperties/index.d.ts.map +1 -0
  252. package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
  253. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
  254. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
  255. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
  256. package/dist/types/src/components/TaskList/index.d.ts +2 -0
  257. package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
  258. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +5 -3
  259. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  260. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  261. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +4 -5
  262. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  263. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +1 -1
  264. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  265. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  266. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -1
  267. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +4 -4
  268. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  269. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -3
  270. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  271. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  272. package/dist/types/src/components/index.d.ts +4 -0
  273. package/dist/types/src/components/index.d.ts.map +1 -1
  274. package/dist/types/src/constants.d.ts +5 -0
  275. package/dist/types/src/constants.d.ts.map +1 -0
  276. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -1
  277. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +0 -2
  278. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
  279. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -1
  280. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +1 -1
  281. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -1
  282. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +25 -0
  283. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -0
  284. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts +15 -0
  285. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts.map +1 -0
  286. package/dist/types/src/containers/ChatArticle/index.d.ts +2 -0
  287. package/dist/types/src/containers/ChatArticle/index.d.ts.map +1 -0
  288. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +11 -3
  289. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
  290. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  291. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
  292. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
  293. package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
  294. package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
  295. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  296. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  297. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
  298. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
  299. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  300. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  301. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  302. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  303. package/dist/types/src/containers/{PromptList/PromptList.stories.d.ts → RoutineList/RoutineList.stories.d.ts} +1 -1
  304. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  305. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  306. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  307. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +4 -5
  308. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  309. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +4 -3
  310. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
  311. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +6 -6
  312. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -1
  313. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -1
  314. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  315. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  316. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  317. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  318. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  319. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  320. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +3 -2
  321. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  322. package/dist/types/src/containers/TriggerStatus/index.d.ts +1 -1
  323. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -1
  324. package/dist/types/src/containers/index.d.ts +6 -5
  325. package/dist/types/src/containers/index.d.ts.map +1 -1
  326. package/dist/types/src/execution-graph/execution-graph.d.ts +108 -0
  327. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -0
  328. package/dist/types/src/execution-graph/execution-graph.test.d.ts +2 -0
  329. package/dist/types/src/execution-graph/execution-graph.test.d.ts.map +1 -0
  330. package/dist/types/src/execution-graph/index.d.ts +3 -0
  331. package/dist/types/src/execution-graph/index.d.ts.map +1 -0
  332. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts +2 -0
  333. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts.map +1 -0
  334. package/dist/types/src/execution-graph/span-tree.d.ts +76 -0
  335. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -0
  336. package/dist/types/src/execution-graph/span-tree.test.d.ts +2 -0
  337. package/dist/types/src/execution-graph/span-tree.test.d.ts.map +1 -0
  338. package/dist/types/src/execution-graph/sub-agent-delegation.test.d.ts +2 -0
  339. package/dist/types/src/execution-graph/sub-agent-delegation.test.d.ts.map +1 -0
  340. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts +40 -0
  341. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts.map +1 -0
  342. package/dist/types/src/execution-graph/testing/index.d.ts +2 -0
  343. package/dist/types/src/execution-graph/testing/index.d.ts.map +1 -0
  344. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  345. package/dist/types/src/feed-logger.d.ts +13 -0
  346. package/dist/types/src/feed-logger.d.ts.map +1 -0
  347. package/dist/types/src/functions/services.test.d.ts +2 -0
  348. package/dist/types/src/functions/services.test.d.ts.map +1 -0
  349. package/dist/types/src/hooks/index.d.ts +3 -0
  350. package/dist/types/src/hooks/index.d.ts.map +1 -1
  351. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +56 -15
  352. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  353. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  354. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  355. package/dist/types/src/hooks/useChatProcessor.d.ts +5 -5
  356. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  357. package/dist/types/src/hooks/useChatServices.d.ts +7 -3
  358. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  359. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  360. package/dist/types/src/hooks/useContextBinder.d.ts +2 -2
  361. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  362. package/dist/types/src/hooks/useContextObjects.d.ts +5 -4
  363. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  364. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  365. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  366. package/dist/types/src/hooks/useFilteredTypes.d.ts +1 -1
  367. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  368. package/dist/types/src/hooks/useFlush.d.ts +1 -1
  369. package/dist/types/src/hooks/useFlush.d.ts.map +1 -1
  370. package/dist/types/src/hooks/usePresets.d.ts +2 -2
  371. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  372. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  373. package/dist/types/src/index.d.ts +1 -4
  374. package/dist/types/src/index.d.ts.map +1 -1
  375. package/dist/types/src/meta.d.ts +3 -2
  376. package/dist/types/src/meta.d.ts.map +1 -1
  377. package/dist/types/src/operations/create-chat.d.ts +3 -3
  378. package/dist/types/src/operations/create-chat.d.ts.map +1 -1
  379. package/dist/types/src/operations/ensure-companion-chat.d.ts +3 -3
  380. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -1
  381. package/dist/types/src/operations/fork-chat.d.ts +5 -0
  382. package/dist/types/src/operations/fork-chat.d.ts.map +1 -0
  383. package/dist/types/src/operations/index.d.ts +1 -2
  384. package/dist/types/src/operations/index.d.ts.map +1 -1
  385. package/dist/types/src/operations/prompt.node.test.d.ts +2 -0
  386. package/dist/types/src/operations/prompt.node.test.d.ts.map +1 -0
  387. package/dist/types/src/operations/resolve-navigation-targets.d.ts +4 -2
  388. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
  389. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +3 -3
  390. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  391. package/dist/types/src/operations/set-current-chat.d.ts +3 -3
  392. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -1
  393. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts +5 -0
  394. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts.map +1 -0
  395. package/dist/types/src/operations/update-chat-name.d.ts +3 -3
  396. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -1
  397. package/dist/types/src/paths.d.ts +3 -0
  398. package/dist/types/src/paths.d.ts.map +1 -0
  399. package/dist/types/src/plugin.d.ts +4 -0
  400. package/dist/types/src/plugin.d.ts.map +1 -0
  401. package/dist/types/src/processor/presets.d.ts.map +1 -1
  402. package/dist/types/src/processor/processor.d.ts +263 -26
  403. package/dist/types/src/processor/processor.d.ts.map +1 -1
  404. package/dist/types/src/processor/processor.node.test.d.ts +2 -0
  405. package/dist/types/src/processor/processor.node.test.d.ts.map +1 -0
  406. package/dist/types/src/templates/automation-templates.test.d.ts +2 -0
  407. package/dist/types/src/templates/automation-templates.test.d.ts.map +1 -0
  408. package/dist/types/src/templates/daily-digest.d.ts +3 -0
  409. package/dist/types/src/templates/daily-digest.d.ts.map +1 -0
  410. package/dist/types/src/templates/index.d.ts +4 -0
  411. package/dist/types/src/templates/index.d.ts.map +1 -0
  412. package/dist/types/src/templates/research-brief.d.ts +3 -0
  413. package/dist/types/src/templates/research-brief.d.ts.map +1 -0
  414. package/dist/types/src/templates/scaffold.d.ts +17 -0
  415. package/dist/types/src/templates/scaffold.d.ts.map +1 -0
  416. package/dist/types/src/testing/index.d.ts +2 -0
  417. package/dist/types/src/testing/index.d.ts.map +1 -1
  418. package/dist/types/src/testing/snapshot.d.ts +21 -0
  419. package/dist/types/src/testing/snapshot.d.ts.map +1 -0
  420. package/dist/types/src/testing/test-generator.d.ts +2 -3
  421. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  422. package/dist/types/src/testing/test-generator.test.d.ts +2 -0
  423. package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
  424. package/dist/types/src/testing/test-sequence.d.ts +10 -3
  425. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  426. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  427. package/dist/types/src/testing/test-trace.d.ts +5 -0
  428. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  429. package/dist/types/src/testing/trace-timeline.node.test.d.ts +2 -0
  430. package/dist/types/src/testing/trace-timeline.node.test.d.ts.map +1 -0
  431. package/dist/types/src/testing.d.ts +2 -0
  432. package/dist/types/src/testing.d.ts.map +1 -0
  433. package/dist/types/src/translations.d.ts.map +1 -1
  434. package/dist/types/src/types/Assistant.d.ts +25 -8
  435. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  436. package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
  437. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
  438. package/dist/types/src/types/AssistantEvents.d.ts +3 -0
  439. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
  440. package/dist/types/src/types/AssistantOperation.d.ts +153 -0
  441. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
  442. package/dist/types/src/types/Settings.d.ts +21 -5
  443. package/dist/types/src/types/Settings.d.ts.map +1 -1
  444. package/dist/types/src/types/index.d.ts +8 -3
  445. package/dist/types/src/types/index.d.ts.map +1 -1
  446. package/dist/types/src/types/preset.d.ts +12 -0
  447. package/dist/types/src/types/preset.d.ts.map +1 -0
  448. package/dist/types/src/types/service.d.ts +2 -3
  449. package/dist/types/src/types/service.d.ts.map +1 -1
  450. package/dist/types/src/util/suggestions.d.ts +9 -0
  451. package/dist/types/src/util/suggestions.d.ts.map +1 -0
  452. package/dist/types/src/util/suggestions.test.d.ts +2 -0
  453. package/dist/types/src/util/suggestions.test.d.ts.map +1 -0
  454. package/dist/types/tsconfig.tsbuildinfo +1 -1
  455. package/package.json +177 -146
  456. package/src/AssistantPlugin.conversations.json +1 -0
  457. package/src/AssistantPlugin.node.ts +90 -0
  458. package/src/AssistantPlugin.test.ts +213 -0
  459. package/src/AssistantPlugin.ts +158 -0
  460. package/src/AssistantPlugin.workerd.ts +41 -0
  461. package/src/blueprints/assistant/{blueprint.test.ts → blueprint.node.test.ts} +5 -5
  462. package/src/blueprints/assistant/blueprint.ts +4 -4
  463. package/src/capabilities/agent-hydrator.ts +37 -0
  464. package/src/capabilities/agent-service.ts +38 -0
  465. package/src/capabilities/ai-context.ts +48 -0
  466. package/src/capabilities/ai-service.ts +31 -11
  467. package/src/capabilities/app-graph-builder.ts +106 -86
  468. package/src/capabilities/automation-templates.ts +16 -0
  469. package/src/capabilities/blueprint-definition.ts +15 -8
  470. package/src/capabilities/companion-chat-provisioner.ts +5 -5
  471. package/src/capabilities/create-object.ts +100 -0
  472. package/src/capabilities/edge-model-resolver.ts +53 -16
  473. package/src/capabilities/index.ts +23 -3
  474. package/src/capabilities/integration-provider.ts +86 -0
  475. package/src/capabilities/{markdown.ts → markdown-extension.ts} +3 -3
  476. package/src/capabilities/migrations.ts +4 -11
  477. package/src/capabilities/operation-handler.ts +1 -1
  478. package/src/capabilities/react-surface.tsx +41 -21
  479. package/src/components/AgentProperties/AgentProperties.stories.tsx +74 -0
  480. package/src/components/AgentProperties/AgentProperties.tsx +103 -0
  481. package/src/components/AgentProperties/index.ts +5 -0
  482. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +3 -2
  483. package/src/components/AssistantSettings/AssistantSettings.tsx +22 -111
  484. package/src/components/Chat/Chat.tsx +145 -277
  485. package/src/components/Chat/context.ts +39 -0
  486. package/src/components/Chat/events.ts +7 -0
  487. package/src/components/ChatPrompt/ChatActions.tsx +11 -11
  488. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  489. package/src/components/ChatPrompt/ChatOptions.stories.tsx +32 -18
  490. package/src/components/ChatPrompt/ChatOptions.tsx +121 -103
  491. package/src/components/ChatPrompt/ChatPresets.tsx +3 -7
  492. package/src/components/ChatPrompt/ChatPrompt.tsx +180 -0
  493. package/src/components/ChatPrompt/ChatReferences.tsx +9 -13
  494. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  495. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +2 -2
  496. package/src/components/ChatPrompt/index.ts +3 -0
  497. package/src/components/ChatThread/Anchor.stories.tsx +95 -0
  498. package/src/components/ChatThread/ChatThread.stories.tsx +33 -37
  499. package/src/components/ChatThread/ChatThread.tsx +47 -23
  500. package/src/components/ChatThread/DEBUG.md +41 -0
  501. package/src/components/ChatThread/Link.tsx +5 -5
  502. package/src/components/ChatThread/MarkdownStream.stories.tsx +43 -5
  503. package/src/components/ChatThread/registry.tsx +80 -28
  504. package/src/components/ChatThread/sync.test.ts +180 -22
  505. package/src/components/ChatThread/sync.ts +89 -104
  506. package/src/components/ChatThread/testing/reasoning.md +25 -0
  507. package/src/components/ChatThread/widgets/FallbackWidget.tsx +8 -6
  508. package/src/components/ChatThread/widgets/ReasoningWidget.ts +13 -7
  509. package/src/components/ChatThread/widgets/ReferenceWidget.ts +3 -1
  510. package/src/components/ChatThread/widgets/SelectWidget.ts +4 -2
  511. package/src/components/ChatThread/widgets/StatsWidget.ts +3 -1
  512. package/src/components/ChatThread/widgets/StatusWidget.ts +6 -86
  513. package/src/components/ChatThread/widgets/SuggestionWidget.ts +2 -2
  514. package/src/components/ChatThread/widgets/SummaryWidget.tsx +7 -6
  515. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +2 -1
  516. package/src/components/ChatThread/widgets/ToolWidget.tsx +42 -25
  517. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  518. package/src/components/ChatThread/widgets/index.ts +1 -2
  519. package/src/components/ProcessTree/ProcessTree.stories.tsx +13 -39
  520. package/src/components/ProcessTree/ProcessTree.tsx +101 -67
  521. package/src/components/RoutineProperties/RoutineProperties.stories.tsx +59 -0
  522. package/src/components/RoutineProperties/RoutineProperties.tsx +23 -0
  523. package/src/components/RoutineProperties/index.ts +5 -0
  524. package/src/components/TaskList/TaskList.stories.tsx +44 -0
  525. package/src/components/TaskList/TaskList.tsx +45 -0
  526. package/src/components/TaskList/index.ts +5 -0
  527. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +6 -5
  528. package/src/components/TemplateEditor/TemplateEditor.tsx +12 -10
  529. package/src/components/TemplateEditor/TemplateForm.stories.tsx +6 -9
  530. package/src/components/TemplateEditor/TemplateForm.tsx +52 -73
  531. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +2 -2
  532. package/src/components/ToolBlock/ToolBlock.tsx +25 -17
  533. package/src/components/Toolbox/Toolbox.stories.tsx +6 -5
  534. package/src/components/Toolbox/Toolbox.tsx +6 -5
  535. package/src/components/index.ts +6 -0
  536. package/src/constants.ts +9 -0
  537. package/src/containers/AgentArticle/AgentArticle.stories.tsx +19 -15
  538. package/src/containers/AgentArticle/AgentArticle.tsx +47 -53
  539. package/src/containers/AgentProperties/AgentProperties.tsx +20 -135
  540. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +2 -2
  541. package/src/containers/ChatArticle/ChatArticle.stories.tsx +78 -0
  542. package/src/containers/ChatArticle/ChatArticle.tsx +112 -0
  543. package/src/containers/ChatArticle/index.ts +5 -0
  544. package/src/containers/ChatCompanion/ChatCompanion.tsx +94 -109
  545. package/src/containers/ChatDialog/ChatDialog.tsx +6 -11
  546. package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
  547. package/src/containers/PlanArticle/index.ts +5 -0
  548. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
  549. package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
  550. package/src/containers/RoutineArticle/index.ts +5 -0
  551. package/src/containers/{PromptList/PromptList.stories.tsx → RoutineList/RoutineList.stories.tsx} +14 -13
  552. package/src/containers/{PromptList/PromptList.tsx → RoutineList/RoutineList.tsx} +9 -8
  553. package/src/containers/RoutineList/index.ts +5 -0
  554. package/src/containers/TracePanel/TracePanel.stories.tsx +285 -168
  555. package/src/containers/TracePanel/TracePanel.tsx +220 -77
  556. package/src/containers/TracePanel/dxn-extractor.test.ts +32 -32
  557. package/src/containers/TracePanel/dxn-extractor.ts +52 -64
  558. package/src/containers/TracePanel/testing/index.ts +6 -0
  559. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  560. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  561. package/src/containers/TriggerStatus/TriggerStatus.tsx +20 -34
  562. package/src/containers/TriggerStatus/index.ts +1 -1
  563. package/src/containers/index.ts +6 -5
  564. package/src/execution-graph/SPEC.md +690 -0
  565. package/src/execution-graph/execution-graph.test.ts +891 -0
  566. package/src/execution-graph/execution-graph.ts +777 -0
  567. package/src/execution-graph/index.ts +24 -0
  568. package/src/execution-graph/remote-snapshot.test.ts +116 -0
  569. package/src/execution-graph/span-tree.test.ts +249 -0
  570. package/src/execution-graph/span-tree.ts +269 -0
  571. package/src/execution-graph/sub-agent-delegation.test.ts +50 -0
  572. package/src/execution-graph/testing/collect-trace-events.ts +74 -0
  573. package/src/execution-graph/testing/index.ts +5 -0
  574. package/src/execution-graph/testing/sub-agent-delegation.json +1285 -0
  575. package/src/{queue-logger.ts → feed-logger.ts} +39 -25
  576. package/src/functions/services.test.ts +53 -0
  577. package/src/hooks/index.ts +5 -0
  578. package/src/hooks/useBlueprintRegistry.ts +62 -46
  579. package/src/hooks/useChatKeymap.ts +52 -0
  580. package/src/hooks/useChatProcessor.ts +33 -17
  581. package/src/hooks/useChatServices.ts +8 -6
  582. package/src/hooks/useChatToolbarActions.ts +98 -96
  583. package/src/hooks/useContextBinder.ts +7 -7
  584. package/src/hooks/useContextObjects.ts +6 -5
  585. package/src/hooks/useDebug.ts +38 -0
  586. package/src/hooks/useFilteredTypes.ts +18 -16
  587. package/src/hooks/usePresets.ts +5 -3
  588. package/src/hooks/useReferencesProvider.ts +7 -15
  589. package/src/index.ts +1 -5
  590. package/src/meta.ts +27 -8
  591. package/src/operations/create-chat.ts +15 -38
  592. package/src/operations/ensure-companion-chat.ts +49 -47
  593. package/src/operations/fork-chat.ts +112 -0
  594. package/src/operations/index.ts +3 -4
  595. package/src/operations/prompt.node.test.ts +82 -0
  596. package/src/operations/resolve-navigation-targets.ts +8 -3
  597. package/src/operations/run-prompt-in-new-chat.ts +87 -87
  598. package/src/operations/set-current-chat.ts +6 -7
  599. package/src/operations/toggle-trace-panel-debug.ts +27 -0
  600. package/src/operations/update-chat-name.ts +24 -20
  601. package/src/paths.ts +10 -0
  602. package/src/plugin.ts +11 -0
  603. package/src/processor/presets.ts +15 -11
  604. package/src/processor/{processor.test.ts → processor.node.test.ts} +7 -7
  605. package/src/processor/processor.ts +160 -58
  606. package/src/templates/automation-templates.test.ts +66 -0
  607. package/src/templates/daily-digest.ts +37 -0
  608. package/src/templates/index.ts +11 -0
  609. package/src/templates/research-brief.ts +40 -0
  610. package/src/templates/scaffold.ts +74 -0
  611. package/src/testing/data/trace-timeline-multiple.dx.json +1 -0
  612. package/src/testing/data/trace-timeline-remote.dx.json +1 -0
  613. package/src/testing/data/trace-timeline.dx.json +4657 -0
  614. package/src/testing/index.ts +2 -0
  615. package/src/testing/snapshot.ts +35 -0
  616. package/src/testing/test-generator.test.ts +71 -0
  617. package/src/testing/test-generator.ts +196 -205
  618. package/src/testing/test-sequence.ts +3 -3
  619. package/src/testing/test-services.ts +1 -1
  620. package/src/testing/test-trace.ts +20 -0
  621. package/src/testing/trace-timeline.node.conversations.json +1 -0
  622. package/src/testing/{trace-timeline.test.ts → trace-timeline.node.test.ts} +45 -50
  623. package/src/testing.ts +9 -0
  624. package/src/translations.ts +40 -38
  625. package/src/types/Assistant.ts +13 -1
  626. package/src/types/AssistantCapabilities.ts +35 -0
  627. package/src/types/AssistantEvents.ts +11 -0
  628. package/src/{operations/definitions.ts → types/AssistantOperation.ts} +66 -29
  629. package/src/types/Settings.ts +68 -7
  630. package/src/types/index.ts +12 -3
  631. package/src/types/preset.ts +16 -0
  632. package/src/types/service.ts +5 -10
  633. package/src/util/suggestions.test.ts +52 -0
  634. package/src/util/suggestions.ts +42 -0
  635. package/src/vite-env.d.ts +5 -0
  636. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs +0 -97
  637. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs.map +0 -7
  638. package/dist/lib/browser/chunk-ATHYBVGN.mjs +0 -176
  639. package/dist/lib/browser/chunk-ATHYBVGN.mjs.map +0 -7
  640. package/dist/lib/browser/chunk-EZRS3J25.mjs.map +0 -7
  641. package/dist/lib/browser/chunk-LMVTXH54.mjs +0 -154
  642. package/dist/lib/browser/chunk-LMVTXH54.mjs.map +0 -7
  643. package/dist/lib/browser/create-chat-LBZHGVSN.mjs +0 -82
  644. package/dist/lib/browser/create-chat-LBZHGVSN.mjs.map +0 -7
  645. package/dist/lib/browser/ensure-companion-chat-ZEZA34MZ.mjs.map +0 -7
  646. package/dist/lib/browser/index.mjs +0 -3452
  647. package/dist/lib/browser/index.mjs.map +0 -7
  648. package/dist/lib/browser/meta.json +0 -1
  649. package/dist/lib/browser/on-create-space-54RNX5JI.mjs +0 -22
  650. package/dist/lib/browser/on-create-space-54RNX5JI.mjs.map +0 -7
  651. package/dist/lib/browser/operations/index.mjs +0 -13
  652. package/dist/lib/browser/operations/index.mjs.map +0 -7
  653. package/dist/lib/browser/resolve-navigation-targets-NZOD66NY.mjs.map +0 -7
  654. package/dist/lib/browser/run-prompt-in-new-chat-THLK5YQC.mjs.map +0 -7
  655. package/dist/lib/browser/set-current-chat-LRS3VFSH.mjs.map +0 -7
  656. package/dist/lib/browser/types/index.mjs +0 -20
  657. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs.map +0 -7
  658. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs +0 -98
  659. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs.map +0 -7
  660. package/dist/lib/node-esm/blueprints/index.mjs +0 -9
  661. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  662. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs +0 -32
  663. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs.map +0 -7
  664. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs +0 -177
  665. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs.map +0 -7
  666. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs +0 -155
  667. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs.map +0 -7
  668. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs +0 -83
  669. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs.map +0 -7
  670. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs +0 -66
  671. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs.map +0 -7
  672. package/dist/lib/node-esm/index.mjs +0 -3453
  673. package/dist/lib/node-esm/index.mjs.map +0 -7
  674. package/dist/lib/node-esm/meta.json +0 -1
  675. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs +0 -23
  676. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs.map +0 -7
  677. package/dist/lib/node-esm/operations/index.mjs +0 -14
  678. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  679. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs +0 -23
  680. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs.map +0 -7
  681. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs +0 -137
  682. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs.map +0 -7
  683. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs +0 -55
  684. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs.map +0 -7
  685. package/dist/lib/node-esm/types/index.mjs +0 -21
  686. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs +0 -72
  687. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs.map +0 -7
  688. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +0 -2
  689. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +0 -1
  690. package/dist/types/src/capabilities/markdown.d.ts.map +0 -1
  691. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +0 -10
  692. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +0 -1
  693. package/dist/types/src/components/ChatProgress/index.d.ts +0 -2
  694. package/dist/types/src/components/ChatProgress/index.d.ts.map +0 -1
  695. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts +0 -14
  696. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts.map +0 -1
  697. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +0 -1
  698. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +0 -12
  699. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +0 -1
  700. package/dist/types/src/containers/ChatContainer/index.d.ts +0 -2
  701. package/dist/types/src/containers/ChatContainer/index.d.ts.map +0 -1
  702. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +0 -6
  703. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +0 -1
  704. package/dist/types/src/containers/PromptArticle/index.d.ts +0 -2
  705. package/dist/types/src/containers/PromptArticle/index.d.ts.map +0 -1
  706. package/dist/types/src/containers/PromptList/PromptList.d.ts +0 -6
  707. package/dist/types/src/containers/PromptList/PromptList.d.ts.map +0 -1
  708. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts.map +0 -1
  709. package/dist/types/src/containers/PromptList/index.d.ts +0 -2
  710. package/dist/types/src/containers/PromptList/index.d.ts.map +0 -1
  711. package/dist/types/src/containers/TracePanel/execution-graph.d.ts +0 -17
  712. package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +0 -1
  713. package/dist/types/src/operations/definitions.d.ts +0 -135
  714. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  715. package/dist/types/src/operations/on-create-space.d.ts +0 -5
  716. package/dist/types/src/operations/on-create-space.d.ts.map +0 -1
  717. package/dist/types/src/processor/processor.test.d.ts +0 -2
  718. package/dist/types/src/processor/processor.test.d.ts.map +0 -1
  719. package/dist/types/src/queue-logger.d.ts +0 -11
  720. package/dist/types/src/queue-logger.d.ts.map +0 -1
  721. package/dist/types/src/testing/trace-timeline.test.d.ts +0 -2
  722. package/dist/types/src/testing/trace-timeline.test.d.ts.map +0 -1
  723. package/dist/types/src/types/capabilities.d.ts +0 -32
  724. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  725. package/dist/types/src/types/defs.d.ts +0 -2
  726. package/dist/types/src/types/defs.d.ts.map +0 -1
  727. package/dist/types/src/types/events.d.ts +0 -5
  728. package/dist/types/src/types/events.d.ts.map +0 -1
  729. package/src/AssistantPlugin.tsx +0 -233
  730. package/src/components/ChatProgress/ChatProgress.tsx +0 -56
  731. package/src/components/ChatProgress/index.ts +0 -5
  732. package/src/components/ChatThread/widgets/PromptWidget.ts +0 -28
  733. package/src/containers/AgentProperties/AgentProperties.stories.tsx +0 -100
  734. package/src/containers/ChatContainer/ChatContainer.tsx +0 -95
  735. package/src/containers/ChatContainer/index.ts +0 -5
  736. package/src/containers/PromptArticle/PromptArticle.tsx +0 -59
  737. package/src/containers/PromptArticle/index.ts +0 -5
  738. package/src/containers/PromptList/index.ts +0 -5
  739. package/src/containers/TracePanel/execution-graph.ts +0 -425
  740. package/src/operations/on-create-space.ts +0 -24
  741. package/src/testing/trace-timeline.conversations.json +0 -1
  742. package/src/types/capabilities.ts +0 -35
  743. package/src/types/defs.ts +0 -5
  744. package/src/types/events.ts +0 -11
  745. /package/dist/lib/{browser/blueprints/index.mjs.map → neutral/AssistantPlugin.mjs.map} +0 -0
  746. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ChatArticle-VNVZCDUR.mjs.map} +0 -0
  747. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  748. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  749. /package/dist/lib/{node-esm/blueprints/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  750. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  751. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -0,0 +1,160 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/AgentArticle/AgentArticle.tsx
4
+ import { Atom, useAtomValue } from "@effect-atom/atom-react";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Option from "effect/Option";
7
+ import React, { forwardRef, useCallback, useMemo, useState } from "react";
8
+ import { Surface, useSpaceCallback } from "@dxos/app-framework/ui";
9
+ import { AppSurface, useObjectMenuItems } from "@dxos/app-toolkit/ui";
10
+ import { Agent } from "@dxos/assistant-toolkit";
11
+ import { Database, Feed, Filter, Obj, Query, Ref } from "@dxos/echo";
12
+ import { useQuery } from "@dxos/react-client/echo";
13
+ import { Card, Message, Panel, ScrollArea, Toolbar, useTranslation } from "@dxos/react-ui";
14
+ import { composable } from "@dxos/react-ui";
15
+ import { Masonry } from "@dxos/react-ui-masonry";
16
+ import { Menu } from "@dxos/react-ui-menu";
17
+ import { Focus, Mosaic } from "@dxos/react-ui-mosaic";
18
+ import { isNonNullable } from "@dxos/util";
19
+ import { meta } from "#meta";
20
+ var AgentArticle = ({ role, subject: agent }) => {
21
+ const { t } = useTranslation(meta.id);
22
+ const [tab, setTab] = useState("artifacts");
23
+ const [viewport, setViewport] = useState(null);
24
+ const spaceId = Obj.getDatabase(agent)?.spaceId;
25
+ const resetHistory = useSpaceCallback(spaceId, [
26
+ Feed.FeedService,
27
+ Database.Service
28
+ ], Effect.fnUntraced(function* () {
29
+ yield* Agent.resetChatHistory(agent);
30
+ if (!agent.feed) {
31
+ const feed = yield* Database.add(Feed.make());
32
+ Obj.update(agent, (agent2) => {
33
+ agent2.feed = Ref.make(feed);
34
+ });
35
+ }
36
+ }), [
37
+ agent
38
+ ]);
39
+ const handleResetHistory = useCallback(async () => {
40
+ await resetHistory();
41
+ }, [
42
+ resetHistory
43
+ ]);
44
+ const artifacts = useAtomValue(useMemo(() => Obj.atom(agent).pipe((agent2) => Atom.make((get) => {
45
+ return get(agent2).artifacts.map((artifact) => get(artifact.data.atom)).filter(isNonNullable);
46
+ })), [
47
+ agent
48
+ ]));
49
+ const inputFeed = useAtomValue(Obj.atom(agent).pipe((_) => Atom.make((get) => Option.fromNullable(get(_).feed).pipe(Option.map((ref) => ref.atom), Option.map(get), Option.getOrUndefined))));
50
+ const db = Obj.getDatabase(agent);
51
+ const inputObjects = useQuery(db, inputFeed ? Query.select(Filter.everything()).from(inputFeed) : Query.select(Filter.nothing()));
52
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
53
+ role
54
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
55
+ asChild: true
56
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(Toolbar.ToggleGroup, {
57
+ type: "single",
58
+ value: tab,
59
+ onValueChange: (value) => value && setTab(value)
60
+ }, /* @__PURE__ */ React.createElement(Toolbar.ToggleGroupIconItem, {
61
+ value: "artifacts",
62
+ label: t("artifacts.label"),
63
+ icon: "ph--cube--regular"
64
+ }), /* @__PURE__ */ React.createElement(Toolbar.ToggleGroupIconItem, {
65
+ value: "inputs",
66
+ label: t("inputs.label"),
67
+ icon: "ph--queue--regular"
68
+ })), /* @__PURE__ */ React.createElement(Toolbar.Separator, null), /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
69
+ icon: "ph--trash--regular",
70
+ label: t("reset-history.button"),
71
+ onCanPlay: handleResetHistory
72
+ }))), /* @__PURE__ */ React.createElement(Panel.Content, {
73
+ className: "dx-container flex flex-col"
74
+ }, tab === "artifacts" && /* @__PURE__ */ React.createElement(React.Fragment, null, artifacts.length === 0 && /* @__PURE__ */ React.createElement(Message.Root, {
75
+ classNames: "m-2",
76
+ valence: "info"
77
+ }, /* @__PURE__ */ React.createElement(Message.Title, null, t("project-empty-spec.message")), /* @__PURE__ */ React.createElement(Message.Content, null, t("project-empty-spec.description"))), /* @__PURE__ */ React.createElement(Masonry.Root, {
78
+ Tile: MasonryArtifactTile
79
+ }, /* @__PURE__ */ React.createElement(Masonry.Content, {
80
+ padding: true,
81
+ thin: true,
82
+ centered: true
83
+ }, /* @__PURE__ */ React.createElement(Masonry.Viewport, {
84
+ items: artifacts,
85
+ getId: (item) => item.id
86
+ })))), tab === "inputs" && /* @__PURE__ */ React.createElement(Mosaic.Container, {
87
+ asChild: true,
88
+ withFocus: true,
89
+ autoScroll: viewport,
90
+ classNames: "dx-document"
91
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
92
+ orientation: "vertical",
93
+ padding: true,
94
+ thin: true,
95
+ centered: true
96
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, {
97
+ ref: setViewport
98
+ }, /* @__PURE__ */ React.createElement(Mosaic.VirtualStack, {
99
+ Tile: StackTile,
100
+ classNames: "gap-2",
101
+ draggable: false,
102
+ estimateSize: () => 160,
103
+ gap: 8,
104
+ getId: (item) => item.id,
105
+ getScrollElement: () => viewport,
106
+ items: inputObjects
107
+ }))))));
108
+ };
109
+ var ArtifactTileCard = composable(({ data, ...props }, forwardedRef) => {
110
+ const objectMenuItems = useObjectMenuItems(data);
111
+ const icon = Obj.getIcon(data)?.icon ?? "ph--circle-dashed--regular";
112
+ return /* @__PURE__ */ React.createElement(Card.Root, {
113
+ ...props,
114
+ ref: forwardedRef,
115
+ "data-testid": "board-item",
116
+ fullWidth: true
117
+ }, /* @__PURE__ */ React.createElement(Card.Header, null, /* @__PURE__ */ React.createElement(Card.IconBlock, null, /* @__PURE__ */ React.createElement(Card.Icon, {
118
+ icon
119
+ })), /* @__PURE__ */ React.createElement(Card.Title, null, Obj.getLabel(data, {
120
+ fallback: "typename"
121
+ })), /* @__PURE__ */ React.createElement(Card.IconBlock, null, /* @__PURE__ */ React.createElement(Menu.Trigger, {
122
+ asChild: true,
123
+ disabled: !objectMenuItems?.length
124
+ }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
125
+ iconOnly: true,
126
+ variant: "ghost",
127
+ icon: "ph--dots-three-vertical--regular",
128
+ label: "Actions"
129
+ })), /* @__PURE__ */ React.createElement(Menu.Content, {
130
+ items: objectMenuItems
131
+ }))), /* @__PURE__ */ React.createElement(Card.Body, null, /* @__PURE__ */ React.createElement(Surface.Surface, {
132
+ type: AppSurface.Card,
133
+ limit: 1,
134
+ data: {
135
+ subject: data
136
+ }
137
+ })));
138
+ });
139
+ ArtifactTileCard.displayName = "ArtifactTileCard";
140
+ var MasonryArtifactTile = ({ data }) => /* @__PURE__ */ React.createElement(Menu.Root, null, /* @__PURE__ */ React.createElement(ArtifactTileCard, {
141
+ data
142
+ }));
143
+ var StackTile = /* @__PURE__ */ forwardRef(({ data, location, debug, current }, forwardedRef) => /* @__PURE__ */ React.createElement(Menu.Root, null, /* @__PURE__ */ React.createElement(Mosaic.Tile, {
144
+ asChild: true,
145
+ id: data.id,
146
+ data,
147
+ location,
148
+ debug
149
+ }, /* @__PURE__ */ React.createElement(Focus.Item, {
150
+ asChild: true,
151
+ current
152
+ }, /* @__PURE__ */ React.createElement(ArtifactTileCard, {
153
+ ref: forwardedRef,
154
+ data
155
+ })))));
156
+ StackTile.displayName = "StackTile";
157
+ export {
158
+ AgentArticle as default
159
+ };
160
+ //# sourceMappingURL=AgentArticle-K7XM46OQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/AgentArticle/AgentArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport React, { forwardRef, useCallback, useMemo, useState } from 'react';\n\nimport { Surface, useSpaceCallback } from '@dxos/app-framework/ui';\nimport { AppSurface, useObjectMenuItems } from '@dxos/app-toolkit/ui';\nimport { Agent } from '@dxos/assistant-toolkit';\nimport { Database, Feed, Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Card, Message, Panel, ScrollArea, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { composable } from '@dxos/react-ui';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { Menu } from '@dxos/react-ui-menu';\nimport { Focus, Mosaic, type MosaicTileProps } from '@dxos/react-ui-mosaic';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '#meta';\n\ntype Tab = 'artifacts' | 'inputs';\n\nexport type AgentArticleProps = AppSurface.ObjectArticleProps<Agent.Agent>;\n\nexport const AgentArticle = ({ role, subject: agent }: AgentArticleProps) => {\n const { t } = useTranslation(meta.id);\n const [tab, setTab] = useState<Tab>('artifacts');\n const [viewport, setViewport] = useState<HTMLElement | null>(null);\n\n const spaceId = Obj.getDatabase(agent)?.spaceId;\n // TODO(burdon): Clear input feed also.\n const resetHistory = useSpaceCallback(\n spaceId,\n [Feed.FeedService, Database.Service] as const,\n Effect.fnUntraced(function* () {\n yield* Agent.resetChatHistory(agent);\n if (!agent.feed) {\n const feed = yield* Database.add(Feed.make());\n Obj.update(agent, (agent) => {\n agent.feed = Ref.make(feed);\n });\n }\n }),\n [agent],\n );\n const handleResetHistory = useCallback(async () => {\n await resetHistory();\n }, [resetHistory]);\n\n const artifacts = useAtomValue(\n useMemo(\n () =>\n Obj.atom(agent).pipe((agent) =>\n Atom.make((get) => {\n return get(agent)\n .artifacts.map((artifact) => get(artifact.data.atom))\n .filter(isNonNullable);\n }),\n ),\n [agent],\n ),\n );\n\n const inputFeed = useAtomValue(\n Obj.atom(agent).pipe((_) =>\n Atom.make((get) =>\n Option.fromNullable(get(_).feed).pipe(\n Option.map((ref) => ref.atom),\n Option.map(get),\n Option.getOrUndefined,\n ),\n ),\n ),\n );\n\n const db = Obj.getDatabase(agent);\n const inputObjects = useQuery(\n db,\n inputFeed ? Query.select(Filter.everything()).from(inputFeed) : Query.select(Filter.nothing()),\n );\n\n return (\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <Toolbar.Root>\n <Toolbar.ToggleGroup type='single' value={tab} onValueChange={(value) => value && setTab(value as Tab)}>\n <Toolbar.ToggleGroupIconItem value='artifacts' label={t('artifacts.label')} icon='ph--cube--regular' />\n <Toolbar.ToggleGroupIconItem value='inputs' label={t('inputs.label')} icon='ph--queue--regular' />\n </Toolbar.ToggleGroup>\n <Toolbar.Separator />\n <Toolbar.IconButton\n icon='ph--trash--regular'\n label={t('reset-history.button')}\n onCanPlay={handleResetHistory}\n />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content className='dx-container flex flex-col'>\n {tab === 'artifacts' && (\n <>\n {artifacts.length === 0 && (\n <Message.Root classNames='m-2' valence='info'>\n <Message.Title>{t('project-empty-spec.message')}</Message.Title>\n <Message.Content>{t('project-empty-spec.description')}</Message.Content>\n </Message.Root>\n )}\n\n <Masonry.Root Tile={MasonryArtifactTile}>\n <Masonry.Content padding thin centered>\n <Masonry.Viewport items={artifacts} getId={(item: Obj.Unknown) => item.id} />\n </Masonry.Content>\n </Masonry.Root>\n </>\n )}\n\n {tab === 'inputs' && (\n <Mosaic.Container asChild withFocus autoScroll={viewport} classNames='dx-document'>\n <ScrollArea.Root orientation='vertical' padding thin centered>\n <ScrollArea.Viewport ref={setViewport}>\n <Mosaic.VirtualStack\n Tile={StackTile}\n classNames='gap-2'\n draggable={false}\n estimateSize={() => 160}\n gap={8}\n getId={(item: Obj.Unknown) => item.id}\n getScrollElement={() => viewport}\n items={inputObjects}\n />\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n </Mosaic.Container>\n )}\n </Panel.Content>\n </Panel.Root>\n );\n};\n\nconst ArtifactTileCard = composable<HTMLDivElement, { data: Obj.Unknown }>(({ data, ...props }, forwardedRef) => {\n const objectMenuItems = useObjectMenuItems(data);\n const icon = Obj.getIcon(data)?.icon ?? 'ph--circle-dashed--regular';\n\n return (\n <Card.Root {...props} ref={forwardedRef} data-testid='board-item' fullWidth>\n <Card.Header>\n <Card.IconBlock>\n <Card.Icon icon={icon} />\n </Card.IconBlock>\n <Card.Title>{Obj.getLabel(data, { fallback: 'typename' })}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Card.IconBlock>\n <Menu.Trigger asChild disabled={!objectMenuItems?.length}>\n <Toolbar.IconButton iconOnly variant='ghost' icon='ph--dots-three-vertical--regular' label='Actions' />\n </Menu.Trigger>\n <Menu.Content items={objectMenuItems} />\n </Card.IconBlock>\n </Card.Header>\n <Card.Body>\n <Surface.Surface\n type={AppSurface.Card}\n limit={1}\n data={{ subject: data } satisfies AppSurface.ObjectCardData}\n />\n </Card.Body>\n </Card.Root>\n );\n});\n\nArtifactTileCard.displayName = 'ArtifactTileCard';\n\nconst MasonryArtifactTile = ({ data }: { data: Obj.Unknown; index: number }) => (\n <Menu.Root>\n <ArtifactTileCard data={data} />\n </Menu.Root>\n);\n\nconst StackTile = forwardRef<HTMLDivElement, MosaicTileProps<Obj.Unknown>>(\n ({ data, location, debug, current }, forwardedRef) => (\n <Menu.Root>\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Item asChild current={current}>\n <ArtifactTileCard ref={forwardedRef} data={data} />\n </Focus.Item>\n </Mosaic.Tile>\n </Menu.Root>\n ),\n);\n\nStackTile.displayName = 'StackTile';\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "useAtomValue", "Effect", "Option", "React", "forwardRef", "useCallback", "useMemo", "useState", "Surface", "useSpaceCallback", "AppSurface", "useObjectMenuItems", "Agent", "Database", "Feed", "Filter", "Obj", "Query", "Ref", "useQuery", "Card", "Message", "Panel", "ScrollArea", "Toolbar", "useTranslation", "composable", "Masonry", "Menu", "Focus", "Mosaic", "isNonNullable", "meta", "AgentArticle", "role", "subject", "agent", "t", "id", "tab", "setTab", "viewport", "setViewport", "spaceId", "getDatabase", "resetHistory", "FeedService", "Service", "fnUntraced", "resetChatHistory", "feed", "add", "make", "update", "handleResetHistory", "artifacts", "atom", "pipe", "get", "map", "artifact", "data", "filter", "inputFeed", "_", "fromNullable", "ref", "getOrUndefined", "db", "inputObjects", "select", "everything", "from", "nothing", "Root", "asChild", "ToggleGroup", "type", "value", "onValueChange", "ToggleGroupIconItem", "label", "icon", "Separator", "IconButton", "onCanPlay", "Content", "className", "length", "classNames", "valence", "Title", "Tile", "MasonryArtifactTile", "padding", "thin", "centered", "Viewport", "items", "getId", "item", "Container", "withFocus", "autoScroll", "orientation", "VirtualStack", "StackTile", "draggable", "estimateSize", "gap", "getScrollElement", "ArtifactTileCard", "props", "forwardedRef", "objectMenuItems", "getIcon", "data-testid", "fullWidth", "Header", "IconBlock", "Icon", "getLabel", "fallback", "Trigger", "disabled", "iconOnly", "variant", "Body", "limit", "displayName", "location", "debug", "current", "Item"]
7
+ }
@@ -0,0 +1,40 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/AgentProperties/AgentProperties.tsx
4
+ import React, { useEffect } from "react";
5
+ import { useSpaceCallback } from "@dxos/app-framework/ui";
6
+ import { AgentWizardOperations } from "@dxos/assistant-toolkit";
7
+ import { Operation } from "@dxos/compute";
8
+ import { Obj, Ref } from "@dxos/echo";
9
+ import { log } from "@dxos/log";
10
+ import { AgentProperties as AgentPropertiesComponent } from "#components";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/containers/AgentProperties/AgentProperties.tsx";
12
+ var AgentProperties = ({ subject: agent }) => {
13
+ const spaceId = Obj.getDatabase(agent)?.spaceId;
14
+ const syncTriggers = useSpaceCallback(spaceId, [], () => Operation.invoke(AgentWizardOperations.SyncTriggers, {
15
+ agent: Ref.make(agent)
16
+ }), [
17
+ agent
18
+ ]);
19
+ useEffect(() => {
20
+ if (!spaceId) {
21
+ return;
22
+ }
23
+ return Obj.subscribe(agent, () => {
24
+ queueMicrotask(() => {
25
+ syncTriggers().catch((err) => log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 26, S: void 0 }));
26
+ });
27
+ });
28
+ }, [
29
+ spaceId,
30
+ agent,
31
+ syncTriggers
32
+ ]);
33
+ return /* @__PURE__ */ React.createElement(AgentPropertiesComponent, {
34
+ agent
35
+ });
36
+ };
37
+ export {
38
+ AgentProperties as default
39
+ };
40
+ //# sourceMappingURL=AgentProperties-LFTEYJ54.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/AgentProperties/AgentProperties.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect } from 'react';\n\nimport { useSpaceCallback } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Agent, AgentWizardOperations } from '@dxos/assistant-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Obj, Ref } from '@dxos/echo';\nimport { log } from '@dxos/log';\n\nimport { AgentProperties as AgentPropertiesComponent } from '#components';\n\nexport type AgentPropertiesProps = AppSurface.ObjectPropertiesProps<Agent.Agent>;\n\nexport const AgentProperties = ({ subject: agent }: AgentPropertiesProps) => {\n const spaceId = Obj.getDatabase(agent)?.spaceId;\n\n // TODO(burdon): Factor this out?\n const syncTriggers = useSpaceCallback(\n spaceId,\n [] as const,\n () => Operation.invoke(AgentWizardOperations.SyncTriggers, { agent: Ref.make(agent) }),\n [agent],\n );\n\n // Sync triggers whenever the agent mutates (e.g., subscriptions change).\n useEffect(() => {\n if (!spaceId) {\n return;\n }\n\n return Obj.subscribe(agent, () => {\n queueMicrotask(() => {\n syncTriggers().catch((err) => log.catch(err));\n });\n });\n }, [spaceId, agent, syncTriggers]);\n\n return <AgentPropertiesComponent agent={agent} />;\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,iBAAiB;AAEjC,SAASC,wBAAwB;AAEjC,SAAgBC,6BAA6B;AAC7C,SAASC,iBAAiB;AAC1B,SAASC,KAAKC,WAAW;AACzB,SAASC,WAAW;AAEpB,SAASC,mBAAmBC,gCAAgC;AAI5D,IAAA,eAAaD;AAGX,IAAA,kBAAA,CAAA,EAAA,SAAiC,MAAA,MAAA;AACjC,QAAME,UAAAA,IAAAA,YAAeR,KAAAA,GACnBS;QAEoF,eACpF,iBAAA,SAAA,CAAA,GAAA,MAAA,UAAA,OAAA,sBAAA,cAAA;IAACC,OAAAA,IAAAA,KAAAA,KAAAA;EAAM,CAAA,GAAA;IAGT;EACAX,CAAAA;YAEI,MAAA;AACF,QAAA,CAAA,SAAA;AAEA;;eAEIS,UAAAA,OAAoB,MAAEG;AACxB,qBAAA,MAAA;AACF,qBAAA,EAAA,MAAA,CAAA,QAAA,IAAA,MAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA,CAAA;MACC,CAAA;IAACF,CAAAA;;IAAgBD;IAAa;IAEjC;;;IACA;;;",
6
+ "names": ["React", "useEffect", "useSpaceCallback", "AgentWizardOperations", "Operation", "Obj", "Ref", "log", "AgentProperties", "AgentPropertiesComponent", "syncTriggers", "spaceId", "agent", "err"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ AssistantPlugin,
3
+ AssistantPlugin_default
4
+ } from "./chunk-QAZMOFPI.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+ export {
7
+ AssistantPlugin,
8
+ AssistantPlugin_default as default
9
+ };
10
+ //# sourceMappingURL=AssistantPlugin.mjs.map
@@ -0,0 +1,72 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/AssistantPlugin.node.ts
4
+ import { ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
5
+ import { AppPlugin } from "@dxos/app-toolkit";
6
+ import { AiContext } from "@dxos/assistant";
7
+ import { Agent, Chat, McpServer, Memory, Plan } from "@dxos/assistant-toolkit";
8
+ import { Blueprint, Routine } from "@dxos/compute";
9
+ import { Sequence } from "@dxos/conductor";
10
+ import { Feed } from "@dxos/echo";
11
+ import { Text } from "@dxos/schema";
12
+ import { HasSubject, Message } from "@dxos/types";
13
+ import { AgentHydrator, AgentRuntime, AiContext as AiContextCapability, AiService, AppGraphBuilder, BlueprintDefinition, CreateObject, EdgeModelResolver, LocalModelResolver, OperationHandler, Toolkit } from "#capabilities";
14
+ import { meta } from "#meta";
15
+ import { AssistantEvents } from "#types";
16
+ var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
17
+ activate: AppGraphBuilder
18
+ }), AppPlugin.addBlueprintDefinitionModule({
19
+ activate: BlueprintDefinition
20
+ }), AppPlugin.addCreateObjectModule({
21
+ activate: CreateObject
22
+ }), AppPlugin.addOperationHandlerModule({
23
+ activate: OperationHandler
24
+ }), AppPlugin.addSchemaModule({
25
+ schema: [
26
+ Chat.Chat,
27
+ Chat.CompanionTo,
28
+ Blueprint.Blueprint,
29
+ AiContext.Binding,
30
+ Feed.Feed,
31
+ HasSubject.HasSubject,
32
+ Message.Message,
33
+ Routine.Routine,
34
+ Agent.Agent,
35
+ McpServer.McpServer,
36
+ Plan.Plan,
37
+ Sequence.Sequence,
38
+ Memory.Memory,
39
+ Text.Text
40
+ ]
41
+ }), Plugin.addModule({
42
+ activatesOn: AssistantEvents.SetupAiServiceProviders,
43
+ activate: EdgeModelResolver
44
+ }), Plugin.addModule({
45
+ activatesOn: AssistantEvents.SetupAiServiceProviders,
46
+ activate: LocalModelResolver
47
+ }), Plugin.addModule((options) => ({
48
+ id: Capability.getModuleTag(AiService),
49
+ firesBeforeActivation: [
50
+ AssistantEvents.SetupAiServiceProviders
51
+ ],
52
+ activatesOn: ActivationEvents.SetupProcessManager,
53
+ activate: () => AiService(options)
54
+ })), Plugin.addModule({
55
+ activatesOn: ActivationEvents.SetupProcessManager,
56
+ activate: AiContextCapability
57
+ }), Plugin.addModule({
58
+ activatesOn: ActivationEvents.Startup,
59
+ activate: Toolkit
60
+ }), Plugin.addModule({
61
+ activatesOn: ActivationEvents.SetupProcessManager,
62
+ activate: AgentRuntime
63
+ })).pipe(Plugin.addModule({
64
+ activatesOn: ActivationEvents.ProcessManagerReady,
65
+ activate: AgentHydrator
66
+ }), Plugin.make);
67
+ var AssistantPlugin_node_default = AssistantPlugin;
68
+ export {
69
+ AssistantPlugin,
70
+ AssistantPlugin_node_default as default
71
+ };
72
+ //# sourceMappingURL=AssistantPlugin.node.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/AssistantPlugin.node.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport {\n AgentHydrator,\n AgentRuntime,\n AiContext as AiContextCapability,\n AiService,\n AppGraphBuilder,\n BlueprintDefinition,\n CreateObject,\n EdgeModelResolver,\n LocalModelResolver,\n OperationHandler,\n Toolkit,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { AssistantEvents, type AssistantPluginOptions } from '#types';\n\nexport const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta)\n .pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Blueprint.Blueprint,\n AiContext.Binding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Routine.Routine,\n Agent.Agent,\n McpServer.McpServer,\n Plan.Plan,\n Sequence.Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: EdgeModelResolver,\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: LocalModelResolver,\n }),\n Plugin.addModule((options) => ({\n id: Capability.getModuleTag(AiService),\n firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: () => AiService(options),\n })),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: AiContextCapability,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: AgentRuntime,\n }),\n )\n .pipe(\n Plugin.addModule({\n activatesOn: ActivationEvents.ProcessManagerReady,\n activate: AgentHydrator,\n }),\n Plugin.make,\n );\n\nexport default AssistantPlugin;\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkBC,YAAYC,cAAc;AACrD,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,OAAOC,MAAMC,WAAWC,QAAQC,YAAY;AACrD,SAASC,WAAWC,eAAe;AACnC,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,YAAY;AACrB,SAASC,YAAYC,eAAe;AAEpC,SACEC,eACAC,cACAd,aAAae,qBACbC,WACAC,iBACAC,qBACAC,cACAC,mBACAC,oBACAC,kBACAC,eACK;AACP,SAASC,YAAY;AACrB,SAASC,uBAAoD;AAEtD,IAAMC,kBAAkB5B,OAAO6B,OAAsCH,IAAAA,EACzEI,KACC7B,UAAU8B,kBAAkB;EAAEC,UAAUb;AAAgB,CAAA,GACxDlB,UAAUgC,6BAA6B;EAAED,UAAUZ;AAAoB,CAAA,GACvEnB,UAAUiC,sBAAsB;EAAEF,UAAUX;AAAa,CAAA,GACzDpB,UAAUkC,0BAA0B;EAAEH,UAAUR;AAAiB,CAAA,GACjEvB,UAAUmC,gBAAgB;EACxBC,QAAQ;IACNjC,KAAKA;IACLA,KAAKkC;IACL9B,UAAUA;IACVN,UAAUqC;IACV5B,KAAKA;IACLE,WAAWA;IACXC,QAAQA;IACRL,QAAQA;IACRN,MAAMA;IACNE,UAAUA;IACVE,KAAKA;IACLG,SAASA;IACTJ,OAAOA;IACPM,KAAKA;;AAET,CAAA,GACAZ,OAAOwC,UAAU;EACfC,aAAad,gBAAgBe;EAC7BV,UAAUV;AACZ,CAAA,GACAtB,OAAOwC,UAAU;EACfC,aAAad,gBAAgBe;EAC7BV,UAAUT;AACZ,CAAA,GACAvB,OAAOwC,UAAU,CAACG,aAAa;EAC7BC,IAAI7C,WAAW8C,aAAa3B,SAAAA;EAC5B4B,uBAAuB;IAACnB,gBAAgBe;;EACxCD,aAAa3C,iBAAiBiD;EAC9Bf,UAAU,MAAMd,UAAUyB,OAAAA;AAC5B,EAAA,GACA3C,OAAOwC,UAAU;EACfC,aAAa3C,iBAAiBiD;EAC9Bf,UAAUf;AACZ,CAAA,GACAjB,OAAOwC,UAAU;EACfC,aAAa3C,iBAAiBkD;EAC9BhB,UAAUP;AACZ,CAAA,GACAzB,OAAOwC,UAAU;EACfC,aAAa3C,iBAAiBiD;EAC9Bf,UAAUhB;AACZ,CAAA,CAAA,EAEDc,KACC9B,OAAOwC,UAAU;EACfC,aAAa3C,iBAAiBmD;EAC9BjB,UAAUjB;AACZ,CAAA,GACAf,OAAOkD,IAAI;AAGf,IAAA,+BAAetB;",
6
+ "names": ["ActivationEvents", "Capability", "Plugin", "AppPlugin", "AiContext", "Agent", "Chat", "McpServer", "Memory", "Plan", "Blueprint", "Routine", "Sequence", "Feed", "Text", "HasSubject", "Message", "AgentHydrator", "AgentRuntime", "AiContextCapability", "AiService", "AppGraphBuilder", "BlueprintDefinition", "CreateObject", "EdgeModelResolver", "LocalModelResolver", "OperationHandler", "Toolkit", "meta", "AssistantEvents", "AssistantPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "CompanionTo", "Binding", "addModule", "activatesOn", "SetupAiServiceProviders", "options", "id", "getModuleTag", "firesBeforeActivation", "SetupProcessManager", "Startup", "ProcessManagerReady", "make"]
7
+ }
@@ -0,0 +1,40 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/AssistantPlugin.workerd.ts
4
+ import { Plugin } from "@dxos/app-framework";
5
+ import { AppPlugin } from "@dxos/app-toolkit";
6
+ import { AiContext } from "@dxos/assistant";
7
+ import { Agent, Chat, McpServer, Memory, Plan } from "@dxos/assistant-toolkit";
8
+ import { Blueprint, Routine } from "@dxos/compute";
9
+ import { Sequence } from "@dxos/conductor";
10
+ import { Feed } from "@dxos/echo";
11
+ import { Text } from "@dxos/schema";
12
+ import { HasSubject, Message } from "@dxos/types";
13
+ import { OperationHandler } from "#capabilities";
14
+ import { meta } from "#meta";
15
+ var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
16
+ activate: OperationHandler
17
+ }), AppPlugin.addSchemaModule({
18
+ schema: [
19
+ Chat.Chat,
20
+ Chat.CompanionTo,
21
+ Blueprint.Blueprint,
22
+ AiContext.Binding,
23
+ Feed.Feed,
24
+ HasSubject.HasSubject,
25
+ Message.Message,
26
+ Routine.Routine,
27
+ Agent.Agent,
28
+ McpServer.McpServer,
29
+ Plan.Plan,
30
+ Sequence.Sequence,
31
+ Memory.Memory,
32
+ Text.Text
33
+ ]
34
+ }), Plugin.make);
35
+ var AssistantPlugin_workerd_default = AssistantPlugin;
36
+ export {
37
+ AssistantPlugin,
38
+ AssistantPlugin_workerd_default as default
39
+ };
40
+ //# sourceMappingURL=AssistantPlugin.workerd.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/AssistantPlugin.workerd.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport { OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const AssistantPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Blueprint.Blueprint,\n AiContext.Binding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Routine.Routine,\n Agent.Agent,\n McpServer.McpServer,\n Plan.Plan,\n Sequence.Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n Plugin.make,\n);\n\nexport default AssistantPlugin;\n"],
5
+ "mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,OAAOC,MAAMC,WAAWC,QAAQC,YAAY;AACrD,SAASC,WAAWC,eAAe;AACnC,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,YAAY;AACrB,SAASC,YAAYC,eAAe;AAEpC,SAASC,wBAAwB;AACjC,SAASC,YAAY;AAEd,IAAMC,kBAAkBjB,OAAOkB,OAAOF,IAAAA,EAAMG,KACjDlB,UAAUmB,0BAA0B;EAAEC,UAAUN;AAAiB,CAAA,GACjEd,UAAUqB,gBAAgB;EACxBC,QAAQ;IACNnB,KAAKA;IACLA,KAAKoB;IACLhB,UAAUA;IACVN,UAAUuB;IACVd,KAAKA;IACLE,WAAWA;IACXC,QAAQA;IACRL,QAAQA;IACRN,MAAMA;IACNE,UAAUA;IACVE,KAAKA;IACLG,SAASA;IACTJ,OAAOA;IACPM,KAAKA;;AAET,CAAA,GACAZ,OAAO0B,IAAI;AAGb,IAAA,kCAAeT;",
6
+ "names": ["Plugin", "AppPlugin", "AiContext", "Agent", "Chat", "McpServer", "Memory", "Plan", "Blueprint", "Routine", "Sequence", "Feed", "Text", "HasSubject", "Message", "OperationHandler", "meta", "AssistantPlugin", "define", "pipe", "addOperationHandlerModule", "activate", "addSchemaModule", "schema", "CompanionTo", "Binding", "make"]
7
+ }
@@ -0,0 +1,40 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/components/AssistantSettings/AssistantSettings.tsx
4
+ import React, { useMemo } from "react";
5
+ import { DEFAULT_EDGE_MODELS, DEFAULT_LMSTUDIO_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
6
+ import { useTranslation } from "@dxos/react-ui";
7
+ import { Settings as SettingsForm, createSelectField } from "@dxos/react-ui-form";
8
+ import { meta } from "#meta";
9
+ import { Assistant } from "#types";
10
+ var AssistantSettings = ({ settings, onSettingsChange }) => {
11
+ const { t } = useTranslation(meta.id);
12
+ const fieldMap = useMemo(() => ({
13
+ modelDefaults: {
14
+ edge: createSelectField({
15
+ options: DEFAULT_EDGE_MODELS
16
+ }),
17
+ ollama: createSelectField({
18
+ options: DEFAULT_OLLAMA_MODELS
19
+ }),
20
+ lmstudio: createSelectField({
21
+ options: DEFAULT_LMSTUDIO_MODELS
22
+ })
23
+ }
24
+ }), []);
25
+ return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
26
+ title: t("settings.title", {
27
+ ns: meta.id
28
+ })
29
+ }, /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
30
+ readonly: !onSettingsChange,
31
+ schema: Assistant.Settings,
32
+ fieldMap,
33
+ values: settings,
34
+ onValuesChanged: (values) => onSettingsChange?.(() => values)
35
+ })));
36
+ };
37
+ export {
38
+ AssistantSettings as default
39
+ };
40
+ //# sourceMappingURL=AssistantSettings-GG52BLKS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_LMSTUDIO_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm, createSelectField } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Assistant } from '#types';\n\nexport type AssistantSettingsProps = AppSurface.SettingsArticleProps<Assistant.Settings>;\n\nexport const AssistantSettings = ({ settings, onSettingsChange }: AssistantSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const fieldMap = useMemo(\n () => ({\n modelDefaults: {\n edge: createSelectField({ options: DEFAULT_EDGE_MODELS }),\n ollama: createSelectField({ options: DEFAULT_OLLAMA_MODELS }),\n lmstudio: createSelectField({ options: DEFAULT_LMSTUDIO_MODELS }),\n },\n }),\n [],\n );\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n <SettingsForm.FieldSet<Assistant.Settings>\n readonly={!onSettingsChange}\n schema={Assistant.Settings}\n fieldMap={fieldMap}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAE/B,SAASC,qBAAqBC,yBAAyBC,6BAA6B;AAEpF,SAASC,sBAAsB;AAC/B,SAASC,YAAYC,cAAcC,yBAAyB;AAE5D,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAInB,IAAMC,oBAAoB,CAAC,EAAEC,UAAUC,iBAAgB,MAA0B;AACtF,QAAM,EAAEC,EAAC,IAAKT,eAAeI,KAAKM,EAAE;AACpC,QAAMC,WAAWf,QACf,OAAO;IACLgB,eAAe;MACbC,MAAMV,kBAAkB;QAAEW,SAASjB;MAAoB,CAAA;MACvDkB,QAAQZ,kBAAkB;QAAEW,SAASf;MAAsB,CAAA;MAC3DiB,UAAUb,kBAAkB;QAAEW,SAAShB;MAAwB,CAAA;IACjE;EACF,IACA,CAAA,CAAE;AAGJ,SACE,sBAAA,cAACI,aAAae,UAAQ,MACpB,sBAAA,cAACf,aAAagB,SAAO;IAACC,OAAOV,EAAE,kBAAkB;MAAEW,IAAIhB,KAAKM;IAAG,CAAA;KAC7D,sBAAA,cAACR,aAAamB,UAAQ;IACpBC,UAAU,CAACd;IACXe,QAAQlB,UAAUJ;IAClBU;IACAa,QAAQjB;IACRkB,iBAAiB,CAACD,WAAWhB,mBAAmB,MAAMgB,MAAAA;;AAKhE;",
6
+ "names": ["React", "useMemo", "DEFAULT_EDGE_MODELS", "DEFAULT_LMSTUDIO_MODELS", "DEFAULT_OLLAMA_MODELS", "useTranslation", "Settings", "SettingsForm", "createSelectField", "meta", "Assistant", "AssistantSettings", "settings", "onSettingsChange", "t", "id", "fieldMap", "modelDefaults", "edge", "options", "ollama", "lmstudio", "Viewport", "Section", "title", "ns", "FieldSet", "readonly", "schema", "values", "onValuesChanged"]
7
+ }
@@ -0,0 +1,27 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/BlueprintArticle/BlueprintArticle.tsx
4
+ import React from "react";
5
+ import { Panel, Toolbar } from "@dxos/react-ui";
6
+ import { useAttention } from "@dxos/react-ui-attention";
7
+ import { TemplateEditor } from "#components";
8
+ var BlueprintArticle = ({ role, attendableId, subject }) => {
9
+ const { hasAttention } = useAttention(attendableId);
10
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
11
+ role,
12
+ classNames: "dx-document"
13
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
14
+ asChild: true
15
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
16
+ disabled: !hasAttention
17
+ })), /* @__PURE__ */ React.createElement(Panel.Content, {
18
+ asChild: true
19
+ }, /* @__PURE__ */ React.createElement(TemplateEditor, {
20
+ id: subject.id,
21
+ source: subject.instructions.source
22
+ })));
23
+ };
24
+ export {
25
+ BlueprintArticle as default
26
+ };
27
+ //# sourceMappingURL=BlueprintArticle-ZBOZNZM7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/BlueprintArticle/BlueprintArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Blueprint } from '@dxos/compute';\nimport { Panel, Toolbar } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TemplateEditor } from '#components';\n\nexport type BlueprintArticleProps = AppSurface.ObjectArticleProps<Blueprint.Blueprint>;\n\nexport const BlueprintArticle = ({ role, attendableId, subject }: BlueprintArticleProps) => {\n const { hasAttention } = useAttention(attendableId);\n\n return (\n <Panel.Root role={role} classNames='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TemplateEditor id={subject.id} source={subject.instructions.source} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,WAAW;AAIlB,SAASC,OAAOC,eAAe;AAC/B,SAASC,oBAAoB;AAE7B,SAASC,sBAAsB;AAIxB,IAAMC,mBAAmB,CAAC,EAAEC,MAAMC,cAAcC,QAAO,MAAyB;AACrF,QAAM,EAAEC,aAAY,IAAKN,aAAaI,YAAAA;AAEtC,SACE,sBAAA,cAACN,MAAMS,MAAI;IAACJ;IAAYK,YAAW;KACjC,sBAAA,cAACV,MAAMC,SAAO;IAACU,SAAAA;KACb,sBAAA,cAACV,QAAQQ,MAAI;IAACG,UAAU,CAACJ;OAE3B,sBAAA,cAACR,MAAMa,SAAO;IAACF,SAAAA;KACb,sBAAA,cAACR,gBAAAA;IAAeW,IAAIP,QAAQO;IAAIC,QAAQR,QAAQS,aAAaD;;AAIrE;",
6
+ "names": ["React", "Panel", "Toolbar", "useAttention", "TemplateEditor", "BlueprintArticle", "role", "attendableId", "subject", "hasAttention", "Root", "classNames", "asChild", "disabled", "Content", "id", "source", "instructions"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ ChatArticle
3
+ } from "./chunk-RKVVK3R3.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+ export {
6
+ ChatArticle as default
7
+ };
8
+ //# sourceMappingURL=ChatArticle-VNVZCDUR.mjs.map
@@ -0,0 +1,128 @@
1
+ import {
2
+ ChatArticle
3
+ } from "./chunk-RKVVK3R3.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/containers/ChatCompanion/ChatCompanion.tsx
7
+ import * as Option from "effect/Option";
8
+ import React, { forwardRef, useCallback, useMemo } from "react";
9
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
10
+ import { BlueprintsAnnotation } from "@dxos/app-toolkit";
11
+ import { Chat } from "@dxos/assistant-toolkit";
12
+ import { getSpace } from "@dxos/client/echo";
13
+ import { Blueprint } from "@dxos/compute";
14
+ import { Entity, Filter, Obj, Ref, Type } from "@dxos/echo";
15
+ import { SpaceOperation } from "@dxos/plugin-space";
16
+ import { useQuery, useRegistry } from "@dxos/react-client/echo";
17
+ import { useAsyncEffect } from "@dxos/react-ui";
18
+ import { useContextBinder } from "#hooks";
19
+ import { AssistantOperation } from "#types";
20
+ var ChatCompanion = /* @__PURE__ */ forwardRef(({ role = "article", subject: chat, companionTo, attendableId }, forwardedRef) => {
21
+ const { invokePromise } = useOperationInvoker();
22
+ const space = getSpace(companionTo);
23
+ useBlueprints({
24
+ subject: chat,
25
+ companionTo
26
+ });
27
+ const handleSubmit = useCallback(async () => {
28
+ if (!space || !chat || Obj.getDatabase(chat)) {
29
+ return;
30
+ }
31
+ await invokePromise(SpaceOperation.AddObject, {
32
+ object: chat,
33
+ target: space.db,
34
+ hidden: true
35
+ });
36
+ await invokePromise(SpaceOperation.AddRelation, {
37
+ db: space.db,
38
+ schema: Chat.CompanionTo,
39
+ source: chat,
40
+ target: companionTo
41
+ });
42
+ await invokePromise(AssistantOperation.SetCurrentChat, {
43
+ companionTo,
44
+ chat
45
+ });
46
+ await space.db.flush();
47
+ }, [
48
+ space,
49
+ chat,
50
+ companionTo,
51
+ invokePromise
52
+ ]);
53
+ return /* @__PURE__ */ React.createElement(ChatArticle, {
54
+ role,
55
+ subject: chat,
56
+ attendableId,
57
+ companionTo,
58
+ onSubmit: handleSubmit,
59
+ ref: forwardedRef
60
+ });
61
+ });
62
+ var useBlueprints = ({ subject: chat, companionTo }) => {
63
+ const registry = useRegistry();
64
+ const space = getSpace(companionTo);
65
+ const feedTarget = chat?.feed.target;
66
+ const binder = useContextBinder(space, feedTarget);
67
+ const blueprintKeys = useMemo(() => {
68
+ const schema = companionTo ? Obj.getType(companionTo) : void 0;
69
+ if (!schema) {
70
+ return [];
71
+ }
72
+ return Option.getOrElse(() => [])(BlueprintsAnnotation.get(Type.getSchema(schema)));
73
+ }, [
74
+ companionTo
75
+ ]);
76
+ const existingBlueprints = useQuery(space?.db, Filter.type(Blueprint.Blueprint));
77
+ const pluginBlueprints = useMemo(() => existingBlueprints.filter((blueprint) => {
78
+ const key = Obj.getMeta(blueprint).key;
79
+ return key !== void 0 && blueprintKeys.includes(key);
80
+ }), [
81
+ existingBlueprints,
82
+ blueprintKeys
83
+ ]);
84
+ useAsyncEffect(async () => {
85
+ if (!binder?.isOpen) {
86
+ return;
87
+ }
88
+ if (blueprintKeys.length > 0) {
89
+ const registryKeys = blueprintKeys.filter((key) => {
90
+ const candidate = registry.list().find((e) => Entity.getMeta(e)?.key === key);
91
+ return candidate != null && Obj.instanceOf(Blueprint.Blueprint, candidate);
92
+ });
93
+ const dbForks = pluginBlueprints.filter((bp) => !registryKeys.includes(Obj.getMeta(bp).key ?? ""));
94
+ if (registryKeys.length > 0) {
95
+ await binder.bind({
96
+ blueprints: registryKeys.map((key) => Ref.fromURI(Blueprint.registryURI(key)))
97
+ });
98
+ }
99
+ if (dbForks.length > 0) {
100
+ await binder.bind({
101
+ blueprints: dbForks.map((blueprint) => Ref.make(blueprint))
102
+ });
103
+ }
104
+ }
105
+ if (Obj.instanceOf(Blueprint.Blueprint, companionTo)) {
106
+ await binder.bind({
107
+ blueprints: [
108
+ Ref.make(companionTo)
109
+ ]
110
+ });
111
+ } else {
112
+ await binder.bind({
113
+ objects: [
114
+ Ref.make(companionTo)
115
+ ]
116
+ });
117
+ }
118
+ }, [
119
+ binder,
120
+ blueprintKeys,
121
+ pluginBlueprints,
122
+ companionTo
123
+ ]);
124
+ };
125
+ export {
126
+ ChatCompanion as default
127
+ };
128
+ //# sourceMappingURL=ChatCompanion-LBUHYWQG.mjs.map