@dxos/plugin-assistant 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393

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 (547) hide show
  1. package/dist/lib/neutral/AgentArticle-5XDDEXMP.mjs +169 -0
  2. package/dist/lib/neutral/AgentArticle-5XDDEXMP.mjs.map +7 -0
  3. package/dist/lib/neutral/AgentProperties-CNH4JMDZ.mjs +100 -0
  4. package/dist/lib/neutral/AgentProperties-CNH4JMDZ.mjs.map +7 -0
  5. package/dist/lib/neutral/AssistantPlugin.mjs +99 -0
  6. package/dist/lib/neutral/AssistantPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/AssistantPlugin.node.mjs +46 -0
  8. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +40 -0
  10. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +7 -0
  11. package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs +27 -0
  12. package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs.map +7 -0
  13. package/dist/lib/neutral/ChatCompanion-L33PFOFB.mjs +130 -0
  14. package/dist/lib/neutral/ChatCompanion-L33PFOFB.mjs.map +7 -0
  15. package/dist/lib/neutral/ChatContainer-VYVJYPPN.mjs +8 -0
  16. package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs +72 -0
  17. package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs.map +7 -0
  18. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs +28 -0
  19. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +7 -0
  20. package/dist/lib/neutral/RoutineArticle-H7ECM7AH.mjs +116 -0
  21. package/dist/lib/neutral/RoutineArticle-H7ECM7AH.mjs.map +7 -0
  22. package/dist/lib/neutral/RoutineList-CLDXGQUD.mjs +48 -0
  23. package/dist/lib/neutral/RoutineList-CLDXGQUD.mjs.map +7 -0
  24. package/dist/lib/neutral/TracePanel-HYVPDIAA.mjs +565 -0
  25. package/dist/lib/neutral/TracePanel-HYVPDIAA.mjs.map +7 -0
  26. package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs +92 -0
  27. package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs.map +7 -0
  28. package/dist/lib/neutral/ai-service-GJXMI5OI.mjs +22 -0
  29. package/dist/lib/neutral/ai-service-GJXMI5OI.mjs.map +7 -0
  30. package/dist/lib/neutral/app-graph-builder-LHRT43KA.mjs +189 -0
  31. package/dist/lib/neutral/app-graph-builder-LHRT43KA.mjs.map +7 -0
  32. package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs +32 -0
  33. package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs.map +7 -0
  34. package/dist/lib/{browser → neutral}/blueprints/index.mjs +1 -1
  35. package/dist/lib/neutral/capabilities/index.mjs +35 -0
  36. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-4CQZCMRP.mjs +25 -0
  38. package/dist/lib/neutral/chunk-4CQZCMRP.mjs.map +7 -0
  39. package/dist/lib/{browser/chunk-EZRS3J25.mjs → neutral/chunk-5H6UJHLF.mjs} +3 -3
  40. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-A4SCD32D.mjs +106 -0
  42. package/dist/lib/neutral/chunk-A4SCD32D.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-OT2QDO3T.mjs +8 -0
  44. package/dist/lib/neutral/chunk-OT2QDO3T.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-VHPTYKYD.mjs +361 -0
  46. package/dist/lib/neutral/chunk-VHPTYKYD.mjs.map +7 -0
  47. package/dist/lib/neutral/companion-chat-provisioner-2Y6PRSDK.mjs +116 -0
  48. package/dist/lib/neutral/companion-chat-provisioner-2Y6PRSDK.mjs.map +7 -0
  49. package/dist/lib/neutral/components/index.mjs +2297 -0
  50. package/dist/lib/neutral/components/index.mjs.map +7 -0
  51. package/dist/lib/neutral/containers/index.mjs +29 -0
  52. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  53. package/dist/lib/{browser/create-chat-LBZHGVSN.mjs → neutral/create-chat-5VM2UUWY.mjs} +8 -19
  54. package/dist/lib/neutral/create-chat-5VM2UUWY.mjs.map +7 -0
  55. package/dist/lib/neutral/create-object-UZCJCPWM.mjs +93 -0
  56. package/dist/lib/neutral/create-object-UZCJCPWM.mjs.map +7 -0
  57. package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs +21 -0
  58. package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs.map +7 -0
  59. package/dist/lib/{browser/ensure-companion-chat-ZEZA34MZ.mjs → neutral/ensure-companion-chat-5S4LZM2H.mjs} +10 -17
  60. package/dist/lib/neutral/ensure-companion-chat-5S4LZM2H.mjs.map +7 -0
  61. package/dist/lib/neutral/hooks/index.mjs +930 -0
  62. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  63. package/dist/lib/neutral/index.mjs +32 -0
  64. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
  65. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
  66. package/dist/lib/neutral/markdown-KTBFOMFM.mjs +110 -0
  67. package/dist/lib/neutral/markdown-KTBFOMFM.mjs.map +7 -0
  68. package/dist/lib/neutral/meta.json +1 -0
  69. package/dist/lib/neutral/meta.mjs +12 -0
  70. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
  71. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
  72. package/dist/lib/{browser/on-create-space-54RNX5JI.mjs → neutral/on-create-space-Q2R7OSP6.mjs} +5 -8
  73. package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs.map +7 -0
  74. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
  75. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
  76. package/dist/lib/neutral/operations/index.mjs +8 -0
  77. package/dist/lib/neutral/plugin.mjs +16 -0
  78. package/dist/lib/neutral/plugin.mjs.map +7 -0
  79. package/dist/lib/neutral/react-surface-2WAPE25I.mjs +174 -0
  80. package/dist/lib/neutral/react-surface-2WAPE25I.mjs.map +7 -0
  81. package/dist/lib/{browser/resolve-navigation-targets-NZOD66NY.mjs → neutral/resolve-navigation-targets-VXBSWV5L.mjs} +4 -6
  82. package/dist/lib/neutral/resolve-navigation-targets-VXBSWV5L.mjs.map +7 -0
  83. package/dist/lib/{browser/run-prompt-in-new-chat-THLK5YQC.mjs → neutral/run-prompt-in-new-chat-XEPT5MOM.mjs} +14 -50
  84. package/dist/lib/neutral/run-prompt-in-new-chat-XEPT5MOM.mjs.map +7 -0
  85. package/dist/lib/{browser/set-current-chat-LRS3VFSH.mjs → neutral/set-current-chat-ZFDCYK5I.mjs} +5 -11
  86. package/dist/lib/neutral/set-current-chat-ZFDCYK5I.mjs.map +7 -0
  87. package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
  88. package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
  89. package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
  90. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
  91. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
  92. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
  93. package/dist/lib/neutral/translations.mjs +174 -0
  94. package/dist/lib/neutral/translations.mjs.map +7 -0
  95. package/dist/lib/neutral/types/index.mjs +20 -0
  96. package/dist/lib/neutral/types/index.mjs.map +7 -0
  97. package/dist/lib/{browser/update-chat-name-3Y36KFAS.mjs → neutral/update-chat-name-ENXRUMDJ.mjs} +8 -25
  98. package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs.map +7 -0
  99. package/dist/types/src/AssistantPlugin.d.ts +1 -0
  100. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  101. package/dist/types/src/AssistantPlugin.node.d.ts +4 -0
  102. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  103. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  104. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  105. package/dist/types/src/blueprints/assistant/blueprint.d.ts +2 -2
  106. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  112. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/index.d.ts +27 -1
  115. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/migrations.d.ts +2 -1
  119. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  121. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  126. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +1 -1
  127. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  128. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
  129. package/dist/types/src/components/Chat/Chat.d.ts +36 -40
  130. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  131. package/dist/types/src/components/Chat/context.d.ts +29 -0
  132. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  133. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  134. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  135. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  136. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +7 -5
  137. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  138. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +1 -1
  139. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  141. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +28 -0
  142. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  143. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +2 -2
  144. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  145. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  146. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  147. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  148. package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
  149. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  150. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -1
  151. package/dist/types/src/components/ChatThread/ChatThread.d.ts +6 -3
  152. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  153. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +5 -5
  154. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  155. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  156. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +1 -1
  157. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -1
  158. package/dist/types/src/components/ChatThread/registry.d.ts +18 -0
  159. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  160. package/dist/types/src/components/ChatThread/sync.d.ts +1 -1
  161. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  162. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -1
  163. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +4 -4
  164. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -1
  165. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -1
  166. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -1
  167. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -1
  168. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -1
  169. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -1
  170. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +2 -15
  171. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -1
  172. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -1
  173. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -1
  174. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -1
  176. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  177. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  178. package/dist/types/src/components/ChatThread/widgets/index.d.ts +1 -2
  179. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
  180. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +2 -1
  181. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  182. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +0 -1
  183. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
  185. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
  186. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
  187. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
  188. package/dist/types/src/components/TaskList/index.d.ts +2 -0
  189. package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
  190. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -2
  191. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  192. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  193. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +4 -5
  194. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  195. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +1 -1
  196. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  197. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  198. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -1
  199. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +4 -4
  200. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  201. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -3
  202. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  203. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  204. package/dist/types/src/components/index.d.ts +1 -0
  205. package/dist/types/src/components/index.d.ts.map +1 -1
  206. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -1
  207. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
  208. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -1
  209. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +1 -1
  210. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +1 -1
  211. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -1
  212. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +1 -1
  213. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
  214. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -1
  215. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  216. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
  217. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
  218. package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
  219. package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  221. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  222. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
  223. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
  224. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  225. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  226. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  227. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  228. package/dist/types/src/containers/{PromptList/PromptList.stories.d.ts → RoutineList/RoutineList.stories.d.ts} +1 -1
  229. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  230. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  231. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  232. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +3 -2
  233. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  234. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +1 -4
  235. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
  236. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +1 -1
  237. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -1
  238. package/dist/types/src/containers/TracePanel/execution-graph.d.ts +81 -1
  239. package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +1 -1
  240. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts +2 -0
  241. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts.map +1 -0
  242. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -1
  243. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  244. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  245. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  246. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  247. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  248. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  249. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  250. package/dist/types/src/containers/index.d.ts +5 -4
  251. package/dist/types/src/containers/index.d.ts.map +1 -1
  252. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  253. package/dist/types/src/feed-logger.d.ts +13 -0
  254. package/dist/types/src/feed-logger.d.ts.map +1 -0
  255. package/dist/types/src/hooks/index.d.ts +2 -0
  256. package/dist/types/src/hooks/index.d.ts.map +1 -1
  257. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +4 -4
  258. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  259. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  260. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  261. package/dist/types/src/hooks/useChatProcessor.d.ts +2 -2
  262. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  263. package/dist/types/src/hooks/useChatServices.d.ts +1 -1
  264. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  265. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  266. package/dist/types/src/hooks/useContextBinder.d.ts +2 -2
  267. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  268. package/dist/types/src/hooks/useContextObjects.d.ts +2 -2
  269. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  270. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  271. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  272. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  273. package/dist/types/src/hooks/useFlush.d.ts +1 -1
  274. package/dist/types/src/hooks/useFlush.d.ts.map +1 -1
  275. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  276. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  277. package/dist/types/src/index.d.ts +0 -4
  278. package/dist/types/src/index.d.ts.map +1 -1
  279. package/dist/types/src/operations/create-chat.d.ts +3 -3
  280. package/dist/types/src/operations/create-chat.d.ts.map +1 -1
  281. package/dist/types/src/operations/ensure-companion-chat.d.ts +3 -3
  282. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -1
  283. package/dist/types/src/operations/index.d.ts +1 -2
  284. package/dist/types/src/operations/index.d.ts.map +1 -1
  285. package/dist/types/src/operations/on-create-space.d.ts +3 -3
  286. package/dist/types/src/operations/on-create-space.d.ts.map +1 -1
  287. package/dist/types/src/operations/resolve-navigation-targets.d.ts +1 -1
  288. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
  289. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +3 -3
  290. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  291. package/dist/types/src/operations/set-current-chat.d.ts +3 -3
  292. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -1
  293. package/dist/types/src/operations/update-chat-name.d.ts +3 -3
  294. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -1
  295. package/dist/types/src/plugin.d.ts +4 -0
  296. package/dist/types/src/plugin.d.ts.map +1 -0
  297. package/dist/types/src/processor/processor.d.ts +30 -12
  298. package/dist/types/src/processor/processor.d.ts.map +1 -1
  299. package/dist/types/src/testing/index.d.ts +1 -0
  300. package/dist/types/src/testing/index.d.ts.map +1 -1
  301. package/dist/types/src/testing/test-generator.d.ts +2 -3
  302. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  303. package/dist/types/src/testing/test-sequence.d.ts +3 -3
  304. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  305. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  306. package/dist/types/src/testing/test-trace.d.ts +5 -0
  307. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  308. package/dist/types/src/translations.d.ts.map +1 -1
  309. package/dist/types/src/types/Assistant.d.ts +22 -6
  310. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  311. package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
  312. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
  313. package/dist/types/src/types/AssistantEvents.d.ts +3 -0
  314. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
  315. package/dist/types/src/{operations/definitions.d.ts → types/AssistantOperation.d.ts} +27 -20
  316. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
  317. package/dist/types/src/types/Settings.d.ts +20 -5
  318. package/dist/types/src/types/Settings.d.ts.map +1 -1
  319. package/dist/types/src/types/index.d.ts +3 -3
  320. package/dist/types/src/types/index.d.ts.map +1 -1
  321. package/dist/types/src/types/service.d.ts +1 -1
  322. package/dist/types/src/types/service.d.ts.map +1 -1
  323. package/dist/types/tsconfig.tsbuildinfo +1 -1
  324. package/package.json +156 -117
  325. package/src/AssistantPlugin.node.ts +44 -0
  326. package/src/AssistantPlugin.test.ts +35 -0
  327. package/src/AssistantPlugin.ts +126 -0
  328. package/src/blueprints/assistant/blueprint.test.ts +3 -3
  329. package/src/blueprints/assistant/blueprint.ts +4 -4
  330. package/src/capabilities/app-graph-builder.ts +42 -12
  331. package/src/capabilities/blueprint-definition.ts +2 -4
  332. package/src/capabilities/companion-chat-provisioner.ts +4 -5
  333. package/src/capabilities/create-object.ts +107 -0
  334. package/src/capabilities/index.ts +3 -1
  335. package/src/capabilities/markdown.ts +1 -1
  336. package/src/capabilities/migrations.ts +4 -11
  337. package/src/capabilities/operation-handler.ts +1 -1
  338. package/src/capabilities/react-surface.tsx +28 -14
  339. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +3 -2
  340. package/src/components/AssistantSettings/AssistantSettings.tsx +22 -111
  341. package/src/components/Chat/Chat.tsx +85 -259
  342. package/src/components/Chat/context.ts +39 -0
  343. package/src/components/ChatPrompt/ChatActions.tsx +10 -10
  344. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  345. package/src/components/ChatPrompt/ChatOptions.stories.tsx +28 -14
  346. package/src/components/ChatPrompt/ChatOptions.tsx +100 -60
  347. package/src/components/ChatPrompt/ChatPrompt.tsx +182 -0
  348. package/src/components/ChatPrompt/ChatReferences.tsx +4 -4
  349. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  350. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
  351. package/src/components/ChatPrompt/index.ts +3 -0
  352. package/src/components/ChatThread/Anchor.stories.tsx +3 -3
  353. package/src/components/ChatThread/ChatThread.stories.tsx +27 -30
  354. package/src/components/ChatThread/ChatThread.tsx +31 -18
  355. package/src/components/ChatThread/DEBUG.md +41 -0
  356. package/src/components/ChatThread/MarkdownStream.stories.tsx +5 -4
  357. package/src/components/ChatThread/registry.tsx +61 -18
  358. package/src/components/ChatThread/sync.test.ts +84 -18
  359. package/src/components/ChatThread/sync.ts +1 -1
  360. package/src/components/ChatThread/widgets/ReasoningWidget.ts +7 -7
  361. package/src/components/ChatThread/widgets/ReferenceWidget.ts +3 -1
  362. package/src/components/ChatThread/widgets/SelectWidget.ts +3 -1
  363. package/src/components/ChatThread/widgets/StatsWidget.ts +3 -1
  364. package/src/components/ChatThread/widgets/StatusWidget.ts +5 -83
  365. package/src/components/ChatThread/widgets/SuggestionWidget.ts +1 -1
  366. package/src/components/ChatThread/widgets/SummaryWidget.tsx +3 -4
  367. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +2 -1
  368. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  369. package/src/components/ChatThread/widgets/index.ts +1 -2
  370. package/src/components/ProcessTree/ProcessTree.stories.tsx +12 -38
  371. package/src/components/ProcessTree/ProcessTree.tsx +69 -36
  372. package/src/components/TaskList/TaskList.stories.tsx +44 -0
  373. package/src/components/TaskList/TaskList.tsx +45 -0
  374. package/src/{cli → components/TaskList}/index.ts +1 -1
  375. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +4 -3
  376. package/src/components/TemplateEditor/TemplateEditor.tsx +5 -5
  377. package/src/components/TemplateEditor/TemplateForm.stories.tsx +6 -9
  378. package/src/components/TemplateEditor/TemplateForm.tsx +51 -72
  379. package/src/components/Toolbox/Toolbox.stories.tsx +6 -5
  380. package/src/components/Toolbox/Toolbox.tsx +4 -4
  381. package/src/components/index.ts +1 -0
  382. package/src/containers/AgentArticle/AgentArticle.stories.tsx +8 -8
  383. package/src/containers/AgentArticle/AgentArticle.tsx +12 -8
  384. package/src/containers/AgentProperties/AgentProperties.stories.tsx +6 -5
  385. package/src/containers/AgentProperties/AgentProperties.tsx +6 -6
  386. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +1 -1
  387. package/src/containers/ChatCompanion/ChatCompanion.tsx +13 -26
  388. package/src/containers/ChatContainer/ChatContainer.tsx +20 -8
  389. package/src/containers/ChatDialog/ChatDialog.tsx +3 -9
  390. package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
  391. package/src/containers/PlanArticle/index.ts +5 -0
  392. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
  393. package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
  394. package/src/containers/RoutineArticle/index.ts +5 -0
  395. package/src/containers/{PromptList/PromptList.stories.tsx → RoutineList/RoutineList.stories.tsx} +13 -12
  396. package/src/containers/{PromptList/PromptList.tsx → RoutineList/RoutineList.tsx} +8 -7
  397. package/src/containers/RoutineList/index.ts +5 -0
  398. package/src/containers/TracePanel/TracePanel.stories.tsx +215 -202
  399. package/src/containers/TracePanel/TracePanel.tsx +101 -47
  400. package/src/containers/TracePanel/dxn-extractor.test.ts +7 -7
  401. package/src/containers/TracePanel/dxn-extractor.ts +11 -11
  402. package/src/containers/TracePanel/execution-graph.test.ts +382 -0
  403. package/src/containers/TracePanel/execution-graph.ts +380 -211
  404. package/src/containers/TracePanel/testing/index.ts +6 -0
  405. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  406. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  407. package/src/containers/TriggerStatus/TriggerStatus.tsx +1 -1
  408. package/src/containers/index.ts +5 -4
  409. package/src/{queue-logger.ts → feed-logger.ts} +38 -28
  410. package/src/hooks/index.ts +2 -0
  411. package/src/hooks/useBlueprintRegistry.ts +4 -4
  412. package/src/hooks/useChatKeymap.ts +52 -0
  413. package/src/hooks/useChatProcessor.ts +4 -4
  414. package/src/hooks/useChatServices.ts +1 -1
  415. package/src/hooks/useChatToolbarActions.ts +1 -1
  416. package/src/hooks/useContextBinder.ts +4 -4
  417. package/src/hooks/useContextObjects.ts +2 -2
  418. package/src/hooks/useDebug.ts +38 -0
  419. package/src/index.ts +0 -5
  420. package/src/operations/create-chat.ts +7 -9
  421. package/src/operations/ensure-companion-chat.ts +49 -47
  422. package/src/operations/index.ts +1 -3
  423. package/src/operations/on-create-space.ts +4 -4
  424. package/src/operations/prompt.test.ts +9 -11
  425. package/src/operations/resolve-navigation-targets.ts +3 -3
  426. package/src/operations/run-prompt-in-new-chat.ts +85 -86
  427. package/src/operations/set-current-chat.ts +4 -5
  428. package/src/operations/update-chat-name.ts +4 -4
  429. package/src/plugin.ts +11 -0
  430. package/src/processor/processor.test.ts +2 -2
  431. package/src/processor/processor.ts +49 -18
  432. package/src/testing/data/trace-timeline.dx.json +3737 -1200
  433. package/src/testing/index.ts +1 -0
  434. package/src/testing/test-generator.test.ts +41 -52
  435. package/src/testing/test-generator.ts +177 -192
  436. package/src/testing/test-sequence.ts +3 -3
  437. package/src/testing/test-trace.ts +20 -0
  438. package/src/testing/trace-timeline.conversations.json +1 -1
  439. package/src/testing/trace-timeline.test.ts +53 -49
  440. package/src/translations.ts +29 -33
  441. package/src/types/Assistant.ts +13 -1
  442. package/src/types/AssistantCapabilities.ts +35 -0
  443. package/src/types/AssistantEvents.ts +11 -0
  444. package/src/{operations/definitions.ts → types/AssistantOperation.ts} +5 -4
  445. package/src/types/Settings.ts +62 -7
  446. package/src/types/index.ts +5 -3
  447. package/src/types/service.ts +1 -1
  448. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs +0 -97
  449. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs.map +0 -7
  450. package/dist/lib/browser/chunk-ATHYBVGN.mjs +0 -176
  451. package/dist/lib/browser/chunk-ATHYBVGN.mjs.map +0 -7
  452. package/dist/lib/browser/chunk-EZRS3J25.mjs.map +0 -7
  453. package/dist/lib/browser/chunk-LMVTXH54.mjs +0 -154
  454. package/dist/lib/browser/chunk-LMVTXH54.mjs.map +0 -7
  455. package/dist/lib/browser/cli/index.mjs +0 -74
  456. package/dist/lib/browser/cli/index.mjs.map +0 -7
  457. package/dist/lib/browser/create-chat-LBZHGVSN.mjs.map +0 -7
  458. package/dist/lib/browser/ensure-companion-chat-ZEZA34MZ.mjs.map +0 -7
  459. package/dist/lib/browser/index.mjs +0 -3446
  460. package/dist/lib/browser/index.mjs.map +0 -7
  461. package/dist/lib/browser/meta.json +0 -1
  462. package/dist/lib/browser/on-create-space-54RNX5JI.mjs.map +0 -7
  463. package/dist/lib/browser/operations/index.mjs +0 -13
  464. package/dist/lib/browser/operations/index.mjs.map +0 -7
  465. package/dist/lib/browser/resolve-navigation-targets-NZOD66NY.mjs.map +0 -7
  466. package/dist/lib/browser/run-prompt-in-new-chat-THLK5YQC.mjs.map +0 -7
  467. package/dist/lib/browser/set-current-chat-LRS3VFSH.mjs.map +0 -7
  468. package/dist/lib/browser/types/index.mjs +0 -20
  469. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs.map +0 -7
  470. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs +0 -98
  471. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs.map +0 -7
  472. package/dist/lib/node-esm/blueprints/index.mjs +0 -9
  473. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  474. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs +0 -32
  475. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs.map +0 -7
  476. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs +0 -177
  477. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs.map +0 -7
  478. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs +0 -155
  479. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs.map +0 -7
  480. package/dist/lib/node-esm/cli/index.mjs +0 -75
  481. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  482. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs +0 -83
  483. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs.map +0 -7
  484. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs +0 -66
  485. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs.map +0 -7
  486. package/dist/lib/node-esm/index.mjs +0 -3447
  487. package/dist/lib/node-esm/index.mjs.map +0 -7
  488. package/dist/lib/node-esm/meta.json +0 -1
  489. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs +0 -23
  490. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs.map +0 -7
  491. package/dist/lib/node-esm/operations/index.mjs +0 -14
  492. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  493. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs +0 -23
  494. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs.map +0 -7
  495. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs +0 -137
  496. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs.map +0 -7
  497. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs +0 -55
  498. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs.map +0 -7
  499. package/dist/lib/node-esm/types/index.mjs +0 -21
  500. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs +0 -72
  501. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs.map +0 -7
  502. package/dist/types/src/cli/index.d.ts +0 -2
  503. package/dist/types/src/cli/index.d.ts.map +0 -1
  504. package/dist/types/src/cli/plugin.d.ts +0 -10
  505. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  506. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +0 -10
  507. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +0 -1
  508. package/dist/types/src/components/ChatProgress/index.d.ts +0 -2
  509. package/dist/types/src/components/ChatProgress/index.d.ts.map +0 -1
  510. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts +0 -15
  511. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts.map +0 -1
  512. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +0 -6
  513. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +0 -1
  514. package/dist/types/src/containers/PromptArticle/index.d.ts +0 -2
  515. package/dist/types/src/containers/PromptArticle/index.d.ts.map +0 -1
  516. package/dist/types/src/containers/PromptList/PromptList.d.ts +0 -6
  517. package/dist/types/src/containers/PromptList/PromptList.d.ts.map +0 -1
  518. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts.map +0 -1
  519. package/dist/types/src/containers/PromptList/index.d.ts +0 -2
  520. package/dist/types/src/containers/PromptList/index.d.ts.map +0 -1
  521. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  522. package/dist/types/src/queue-logger.d.ts +0 -11
  523. package/dist/types/src/queue-logger.d.ts.map +0 -1
  524. package/dist/types/src/types/capabilities.d.ts +0 -32
  525. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  526. package/dist/types/src/types/defs.d.ts +0 -2
  527. package/dist/types/src/types/defs.d.ts.map +0 -1
  528. package/dist/types/src/types/events.d.ts +0 -5
  529. package/dist/types/src/types/events.d.ts.map +0 -1
  530. package/src/AssistantPlugin.tsx +0 -238
  531. package/src/cli/plugin.ts +0 -84
  532. package/src/components/ChatProgress/ChatProgress.tsx +0 -56
  533. package/src/components/ChatProgress/index.ts +0 -5
  534. package/src/components/ChatThread/widgets/PromptWidget.ts +0 -30
  535. package/src/containers/PromptArticle/PromptArticle.tsx +0 -59
  536. package/src/containers/PromptArticle/index.ts +0 -5
  537. package/src/containers/PromptList/index.ts +0 -5
  538. package/src/types/capabilities.ts +0 -35
  539. package/src/types/defs.ts +0 -5
  540. package/src/types/events.ts +0 -11
  541. /package/dist/lib/{browser/blueprints/index.mjs.map → neutral/ChatContainer-VYVJYPPN.mjs.map} +0 -0
  542. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  543. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  544. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  545. /package/dist/lib/{node-esm/blueprints → neutral}/index.mjs.map +0 -0
  546. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
  547. /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
@@ -0,0 +1,169 @@
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 Function from "effect/Function";
7
+ import * as Option from "effect/Option";
8
+ import React, { forwardRef, useCallback, useMemo, useState } from "react";
9
+ import { Surface, useCapabilities } from "@dxos/app-framework/ui";
10
+ import { AppSurface, useObjectMenuItems } from "@dxos/app-toolkit/ui";
11
+ import { Agent } from "@dxos/assistant-toolkit";
12
+ import { Annotation, Filter, Obj, Query, Ref } from "@dxos/echo";
13
+ import { AtomObj, AtomRef } from "@dxos/echo-atom";
14
+ import { QueueService } from "@dxos/functions";
15
+ import { AutomationCapabilities } from "@dxos/plugin-automation";
16
+ import { useQuery } from "@dxos/react-client/echo";
17
+ import { Card, Message, Panel, ScrollArea, Toolbar, useTranslation } from "@dxos/react-ui";
18
+ import { Masonry } from "@dxos/react-ui-masonry";
19
+ import { Menu } from "@dxos/react-ui-menu";
20
+ import { Focus, Mosaic } from "@dxos/react-ui-mosaic";
21
+ import { composable } from "@dxos/ui-theme";
22
+ import { isNonNullable } from "@dxos/util";
23
+ import { meta } from "#meta";
24
+ var AgentArticle = ({ role, subject: agent }) => {
25
+ const { t } = useTranslation(meta.id);
26
+ const [tab, setTab] = useState("artifacts");
27
+ const [viewport, setViewport] = useState(null);
28
+ const [computeRuntime] = useCapabilities(AutomationCapabilities.ComputeRuntime);
29
+ const handleResetHistory = useCallback(async () => {
30
+ if (!computeRuntime) {
31
+ return;
32
+ }
33
+ const space = Obj.getDatabase(agent);
34
+ if (!space) {
35
+ return;
36
+ }
37
+ const runtime = computeRuntime.getRuntime(space.spaceId);
38
+ await runtime.runPromise(Agent.resetChatHistory(agent));
39
+ if (!agent.feed) {
40
+ await runtime.runPromise(Effect.gen(function* () {
41
+ const queue = yield* QueueService.createQueue();
42
+ Obj.update(agent, (agent2) => {
43
+ agent2.feed = Ref.fromDXN(queue.dxn);
44
+ });
45
+ }));
46
+ }
47
+ }, [
48
+ agent,
49
+ computeRuntime
50
+ ]);
51
+ const artifacts = useAtomValue(useMemo(() => AtomObj.make(agent).pipe((agent2) => Atom.make((get) => {
52
+ return get(agent2).artifacts.map((artifact) => get(AtomRef.make(artifact.data))).filter(isNonNullable);
53
+ })), [
54
+ agent
55
+ ]));
56
+ const inputFeed = useAtomValue(AtomObj.make(agent).pipe((_) => Atom.make((get) => Option.fromNullable(get(_).feed).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined))));
57
+ const db = Obj.getDatabase(agent);
58
+ const inputObjects = useQuery(db, inputFeed ? Query.select(Filter.everything()).from(inputFeed) : Query.select(Filter.nothing()));
59
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
60
+ role
61
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
62
+ asChild: true
63
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(Toolbar.ToggleGroup, {
64
+ type: "single",
65
+ value: tab,
66
+ onValueChange: (value) => value && setTab(value)
67
+ }, /* @__PURE__ */ React.createElement(Toolbar.ToggleGroupIconItem, {
68
+ value: "artifacts",
69
+ label: t("artifacts.label"),
70
+ icon: "ph--cube--regular"
71
+ }), /* @__PURE__ */ React.createElement(Toolbar.ToggleGroupIconItem, {
72
+ value: "inputs",
73
+ label: t("inputs.label"),
74
+ icon: "ph--queue--regular"
75
+ })), /* @__PURE__ */ React.createElement(Toolbar.Separator, null), /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
76
+ icon: "ph--trash--regular",
77
+ label: t("reset-history.button"),
78
+ onCanPlay: handleResetHistory
79
+ }))), /* @__PURE__ */ React.createElement(Panel.Content, {
80
+ className: "dx-container flex flex-col"
81
+ }, tab === "artifacts" && /* @__PURE__ */ React.createElement(React.Fragment, null, artifacts.length === 0 && /* @__PURE__ */ React.createElement(Message.Root, {
82
+ classNames: "m-2",
83
+ valence: "info"
84
+ }, /* @__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, {
85
+ Tile: MasonryArtifactTile
86
+ }, /* @__PURE__ */ React.createElement(Masonry.Content, {
87
+ padding: true,
88
+ thin: true,
89
+ centered: true
90
+ }, /* @__PURE__ */ React.createElement(Masonry.Viewport, {
91
+ items: artifacts,
92
+ getId: (item) => item.id
93
+ })))), tab === "inputs" && /* @__PURE__ */ React.createElement(Mosaic.Container, {
94
+ asChild: true,
95
+ withFocus: true,
96
+ autoScroll: viewport,
97
+ classNames: "dx-document"
98
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
99
+ orientation: "vertical",
100
+ padding: true,
101
+ thin: true,
102
+ centered: true
103
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, {
104
+ ref: setViewport
105
+ }, /* @__PURE__ */ React.createElement(Mosaic.VirtualStack, {
106
+ Tile: StackTile,
107
+ classNames: "gap-2",
108
+ draggable: false,
109
+ estimateSize: () => 160,
110
+ gap: 8,
111
+ getId: (item) => item.id,
112
+ getScrollElement: () => viewport,
113
+ items: inputObjects
114
+ }))))));
115
+ };
116
+ var ArtifactTileCard = composable(({ data, ...props }, forwardedRef) => {
117
+ const objectMenuItems = useObjectMenuItems(data);
118
+ const icon = Function.pipe(Obj.getSchema(data), Option.fromNullable, Option.flatMap(Annotation.IconAnnotation.get), Option.map(({ icon: icon2 }) => icon2), Option.getOrElse(() => "ph--placeholder--regular"));
119
+ return /* @__PURE__ */ React.createElement(Card.Root, {
120
+ ...props,
121
+ ref: forwardedRef,
122
+ "data-testid": "board-item",
123
+ fullWidth: true
124
+ }, /* @__PURE__ */ React.createElement(Card.Toolbar, null, /* @__PURE__ */ React.createElement(Card.IconBlock, {
125
+ padding: true
126
+ }, /* @__PURE__ */ React.createElement(Card.Icon, {
127
+ icon
128
+ })), /* @__PURE__ */ React.createElement(Card.Title, null, Obj.getLabel(data)), /* @__PURE__ */ React.createElement(Card.IconBlock, {
129
+ padding: true
130
+ }, /* @__PURE__ */ React.createElement(Menu.Trigger, {
131
+ asChild: true,
132
+ disabled: !objectMenuItems?.length
133
+ }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
134
+ iconOnly: true,
135
+ variant: "ghost",
136
+ icon: "ph--dots-three-vertical--regular",
137
+ label: "Actions"
138
+ })), /* @__PURE__ */ React.createElement(Menu.Content, {
139
+ items: objectMenuItems
140
+ }))), /* @__PURE__ */ React.createElement(Card.Content, null, /* @__PURE__ */ React.createElement(Surface.Surface, {
141
+ type: AppSurface.Card,
142
+ limit: 1,
143
+ data: {
144
+ subject: data
145
+ }
146
+ })));
147
+ });
148
+ ArtifactTileCard.displayName = "ArtifactTileCard";
149
+ var MasonryArtifactTile = ({ data }) => /* @__PURE__ */ React.createElement(Menu.Root, null, /* @__PURE__ */ React.createElement(ArtifactTileCard, {
150
+ data
151
+ }));
152
+ var StackTile = /* @__PURE__ */ forwardRef(({ data, location, debug, current }, forwardedRef) => /* @__PURE__ */ React.createElement(Menu.Root, null, /* @__PURE__ */ React.createElement(Mosaic.Tile, {
153
+ asChild: true,
154
+ id: data.id,
155
+ data,
156
+ location,
157
+ debug
158
+ }, /* @__PURE__ */ React.createElement(Focus.Item, {
159
+ asChild: true,
160
+ current
161
+ }, /* @__PURE__ */ React.createElement(ArtifactTileCard, {
162
+ ref: forwardedRef,
163
+ data
164
+ })))));
165
+ StackTile.displayName = "StackTile";
166
+ export {
167
+ AgentArticle as default
168
+ };
169
+ //# sourceMappingURL=AgentArticle-5XDDEXMP.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 Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport React, { forwardRef, useCallback, useMemo, useState } from 'react';\n\nimport { Surface, useCapabilities } from '@dxos/app-framework/ui';\nimport { AppSurface, useObjectMenuItems } from '@dxos/app-toolkit/ui';\nimport { Agent } from '@dxos/assistant-toolkit';\nimport { Annotation, Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { QueueService } from '@dxos/functions';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Card, Message, Panel, ScrollArea, Toolbar, useTranslation } 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 { composable } from '@dxos/ui-theme';\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 [computeRuntime] = useCapabilities(AutomationCapabilities.ComputeRuntime);\n // TODO(burdon): Clear input queue also.\n const handleResetHistory = useCallback(async () => {\n if (!computeRuntime) {\n return;\n }\n\n const space = Obj.getDatabase(agent);\n if (!space) {\n return;\n }\n\n const runtime = computeRuntime.getRuntime(space.spaceId);\n await runtime.runPromise(Agent.resetChatHistory(agent));\n if (!agent.feed) {\n await runtime.runPromise(\n Effect.gen(function* () {\n const queue = yield* QueueService.createQueue();\n Obj.update(agent, (agent) => {\n agent.feed = Ref.fromDXN(queue.dxn);\n });\n }),\n );\n }\n }, [agent, computeRuntime]);\n\n const artifacts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(agent).pipe((agent) =>\n Atom.make((get) => {\n return get(agent)\n .artifacts.map((artifact) => get(AtomRef.make(artifact.data)))\n .filter(isNonNullable);\n }),\n ),\n [agent],\n ),\n );\n\n const inputFeed = useAtomValue(\n AtomObj.make(agent).pipe((_) =>\n Atom.make((get) =>\n Option.fromNullable(get(_).feed).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined),\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 = Function.pipe(\n Obj.getSchema(data),\n Option.fromNullable,\n Option.flatMap(Annotation.IconAnnotation.get),\n Option.map(({ icon }) => icon),\n Option.getOrElse(() => 'ph--placeholder--regular'),\n );\n\n return (\n <Card.Root {...props} ref={forwardedRef} data-testid='board-item' fullWidth>\n <Card.Toolbar>\n <Card.IconBlock padding>\n <Card.Icon icon={icon} />\n </Card.IconBlock>\n <Card.Title>{Obj.getLabel(data)}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Card.IconBlock padding>\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.Toolbar>\n <Card.Content>\n <Surface.Surface\n type={AppSurface.Card}\n limit={1}\n data={{ subject: data } satisfies AppSurface.ObjectCardData}\n />\n </Card.Content>\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", "Function", "Option", "React", "forwardRef", "useCallback", "useMemo", "useState", "Surface", "useCapabilities", "AppSurface", "useObjectMenuItems", "Agent", "Annotation", "Filter", "Obj", "Query", "Ref", "AtomObj", "AtomRef", "QueueService", "AutomationCapabilities", "useQuery", "Card", "Message", "Panel", "ScrollArea", "Toolbar", "useTranslation", "Masonry", "Menu", "Focus", "Mosaic", "composable", "isNonNullable", "meta", "AgentArticle", "role", "subject", "agent", "t", "id", "tab", "setTab", "viewport", "setViewport", "computeRuntime", "ComputeRuntime", "handleResetHistory", "space", "getDatabase", "runtime", "getRuntime", "spaceId", "runPromise", "resetChatHistory", "feed", "gen", "queue", "createQueue", "update", "fromDXN", "dxn", "artifacts", "make", "pipe", "get", "map", "artifact", "data", "filter", "inputFeed", "_", "fromNullable", "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", "ref", "VirtualStack", "StackTile", "draggable", "estimateSize", "gap", "getScrollElement", "ArtifactTileCard", "props", "forwardedRef", "objectMenuItems", "getSchema", "flatMap", "IconAnnotation", "getOrElse", "data-testid", "fullWidth", "IconBlock", "Icon", "getLabel", "Trigger", "disabled", "iconOnly", "variant", "limit", "displayName", "location", "debug", "current", "Item"]
7
+ }
@@ -0,0 +1,100 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/AgentProperties/AgentProperties.tsx
4
+ import { Atom } from "@effect-atom/atom";
5
+ import { useAtomValue } from "@effect-atom/atom-react";
6
+ import * as Option from "effect/Option";
7
+ import React, { useCallback, useEffect, useMemo } from "react";
8
+ import { useCapability } from "@dxos/app-framework/ui";
9
+ import { SyncTriggers } from "@dxos/assistant-toolkit";
10
+ import { Operation } from "@dxos/compute";
11
+ import { DXN, Filter, Obj, Ref } from "@dxos/echo";
12
+ import { AtomObj } from "@dxos/echo-atom";
13
+ import { log } from "@dxos/log";
14
+ import { AutomationCapabilities } from "@dxos/plugin-automation";
15
+ import { useQuery } from "@dxos/react-client/echo";
16
+ import { Input, useTranslation } from "@dxos/react-ui";
17
+ import { FeedAnnotation } from "@dxos/schema";
18
+ import { meta } from "#meta";
19
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/containers/AgentProperties/AgentProperties.tsx";
20
+ var AgentProperties = ({ subject: agent }) => {
21
+ const { t } = useTranslation(meta.id);
22
+ const db = Obj.getDatabase(agent);
23
+ const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
24
+ useEffect(() => {
25
+ if (!db) {
26
+ return;
27
+ }
28
+ return Obj.subscribe(agent, () => {
29
+ queueMicrotask(() => {
30
+ const runtime = computeRuntime.getRuntime(db.spaceId);
31
+ runtime.runPromise(Operation.invoke(SyncTriggers, {
32
+ agent: Ref.make(agent)
33
+ })).catch((err) => log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 33, S: void 0 }));
34
+ });
35
+ });
36
+ }, [
37
+ db,
38
+ agent,
39
+ computeRuntime
40
+ ]);
41
+ const feedFilter = useMemo(() => {
42
+ if (!db) {
43
+ return Filter.nothing();
44
+ }
45
+ const schemas = db.schemaRegistry.query({
46
+ location: [
47
+ "database",
48
+ "runtime"
49
+ ]
50
+ }).runSync();
51
+ const feedSchemas = schemas.filter((schema) => {
52
+ const annotation = FeedAnnotation.get(schema);
53
+ return Option.isSome(annotation) && annotation.value === true;
54
+ });
55
+ return feedSchemas.length === 0 ? Filter.nothing() : Filter.or(...feedSchemas.map((schema) => Filter.type(schema)));
56
+ }, [
57
+ db
58
+ ]);
59
+ const subscribedObjects = useQuery(db, feedFilter);
60
+ const existingSubscriptions = useAtomValue(useMemo(() => AtomObj.make(agent).pipe((_) => Atom.make((get) => {
61
+ const agentObj = get(_);
62
+ const selectedSubscriptions = subscribedObjects.filter((object) => agentObj.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj.getDXN(object))));
63
+ return selectedSubscriptions;
64
+ })), [
65
+ agent,
66
+ subscribedObjects
67
+ ]));
68
+ const handleSubscriptionChange = useCallback((object, checked) => {
69
+ Obj.update(agent, (agent2) => {
70
+ if (checked) {
71
+ agent2.subscriptions.push(Ref.fromDXN(Obj.getDXN(object)));
72
+ } else {
73
+ agent2.subscriptions = agent2.subscriptions.filter((subscription) => !DXN.equals(subscription.dxn, Obj.getDXN(object)));
74
+ }
75
+ });
76
+ }, [
77
+ agent
78
+ ]);
79
+ if (subscribedObjects.length === 0) {
80
+ return null;
81
+ }
82
+ return /* @__PURE__ */ React.createElement("div", {
83
+ className: "dx-expander flex flex-col"
84
+ }, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, {
85
+ classNames: "mt-form-gap"
86
+ }, t("subscriptions.label"))), subscribedObjects.map((object) => /* @__PURE__ */ React.createElement(Input.Root, {
87
+ key: object.id
88
+ }, /* @__PURE__ */ React.createElement("div", {
89
+ className: "flex items-center gap-2"
90
+ }, /* @__PURE__ */ React.createElement(Input.Checkbox, {
91
+ checked: existingSubscriptions.includes(object),
92
+ onCheckedChange: (checked) => {
93
+ handleSubscriptionChange(object, checked === true);
94
+ }
95
+ }), /* @__PURE__ */ React.createElement(Input.Label, null, Obj.getLabel(object) ?? object.id)))));
96
+ };
97
+ export {
98
+ AgentProperties as default
99
+ };
100
+ //# sourceMappingURL=AgentProperties-CNH4JMDZ.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 { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport * as Option from 'effect/Option';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Agent, SyncTriggers } from '@dxos/assistant-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { DXN, Filter, Obj, Ref } from '@dxos/echo';\nimport { AtomObj } from '@dxos/echo-atom';\nimport { log } from '@dxos/log';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { FeedAnnotation } from '@dxos/schema';\n\nimport { meta } from '#meta';\n\nexport type AgentPropertiesProps = AppSurface.ObjectPropertiesProps<Agent.Agent>;\n\nexport const AgentProperties = ({ subject: agent }: AgentPropertiesProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(agent);\n\n // TODO(burdon): Factor out (separate component from container)?\n const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);\n useEffect(() => {\n if (!db) {\n return;\n }\n\n return Obj.subscribe(agent, () => {\n queueMicrotask(() => {\n const runtime = computeRuntime.getRuntime(db.spaceId);\n runtime\n .runPromise(\n Operation.invoke(SyncTriggers, {\n agent: Ref.make(agent),\n }),\n )\n .catch((err) => log.catch(err));\n });\n });\n }, [db, agent, computeRuntime]);\n\n // Build a filter matching objects of any schema annotated as a feed.\n const feedFilter = useMemo(() => {\n if (!db) {\n return Filter.nothing();\n }\n\n const schemas = db.schemaRegistry.query({ location: ['database', 'runtime'] }).runSync();\n const feedSchemas = schemas.filter((schema) => {\n const annotation = FeedAnnotation.get(schema);\n return Option.isSome(annotation) && annotation.value === true;\n });\n\n return feedSchemas.length === 0 ? Filter.nothing() : Filter.or(...feedSchemas.map((schema) => Filter.type(schema)));\n }, [db]);\n\n const subscribedObjects = useQuery(db, feedFilter);\n\n // Query all existing subscriptions (e.g., mail, calendar, etc.)\n const existingSubscriptions = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(agent).pipe((_) =>\n Atom.make((get) => {\n const agentObj = get(_);\n const selectedSubscriptions: Obj.Unknown[] = subscribedObjects.filter((object) =>\n agentObj.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj.getDXN(object))),\n );\n\n return selectedSubscriptions;\n }),\n ),\n [agent, subscribedObjects],\n ),\n );\n\n // Create/remove agent subscription.\n const handleSubscriptionChange = useCallback(\n (object: Obj.Unknown, checked: boolean) => {\n Obj.update(agent, (agent) => {\n if (checked) {\n agent.subscriptions.push(Ref.fromDXN(Obj.getDXN(object)));\n } else {\n agent.subscriptions = agent.subscriptions.filter(\n (subscription) => !DXN.equals(subscription.dxn, Obj.getDXN(object)),\n );\n }\n });\n },\n [agent],\n );\n\n if (subscribedObjects.length === 0) {\n return null;\n }\n\n return (\n <div className='dx-expander flex flex-col'>\n <Input.Root>\n <Input.Label classNames='mt-form-gap'>{t('subscriptions.label')}</Input.Label>\n </Input.Root>\n\n {subscribedObjects.map((object) => (\n <Input.Root key={object.id}>\n <div className='flex items-center gap-2'>\n <Input.Checkbox\n checked={existingSubscriptions.includes(object)}\n onCheckedChange={(checked) => {\n handleSubscriptionChange(object, checked === true);\n }}\n />\n <Input.Label>{Obj.getLabel(object) ?? object.id}</Input.Label>\n </div>\n </Input.Root>\n ))}\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "useAtomValue", "Option", "React", "useCallback", "useEffect", "useMemo", "useCapability", "SyncTriggers", "Operation", "DXN", "Filter", "Obj", "Ref", "AtomObj", "log", "AutomationCapabilities", "useQuery", "Input", "useTranslation", "FeedAnnotation", "meta", "AgentProperties", "db", "agent", "computeRuntime", "runtime", "runPromise", "make", "catch", "err", "nothing", "schemas", "schemaRegistry", "runSync", "annotation", "isSome", "feedSchemas", "or", "existingSubscriptions", "selectedSubscriptions", "subscribedObjects", "filter", "object", "agentObj", "subscriptions", "some", "subscription", "classNames", "map", "div", "className", "Checkbox", "checked", "onCheckedChange", "handleSubscriptionChange"]
7
+ }
@@ -0,0 +1,99 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/AssistantPlugin.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
6
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
7
+ import { AiContext } from "@dxos/assistant";
8
+ import { Agent, Chat, McpServer, Memory, Plan } from "@dxos/assistant-toolkit";
9
+ import { Blueprint, Operation, Routine } from "@dxos/compute";
10
+ import { Sequence } from "@dxos/conductor";
11
+ import { Feed } from "@dxos/echo";
12
+ import { ClientEvents } from "@dxos/plugin-client";
13
+ import { DeckEvents } from "@dxos/plugin-deck";
14
+ import { MarkdownEvents } from "@dxos/plugin-markdown";
15
+ import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
16
+ import { Text } from "@dxos/schema";
17
+ import { HasSubject, Message } from "@dxos/types";
18
+ import { AiService, AppGraphBuilder, AssistantState, BlueprintDefinition, CompanionChatProvisioner, CreateObject, EdgeModelResolver, LocalModelResolver, MarkdownExtension, Migrations, OperationHandler, ReactSurface, Settings, Toolkit } from "#capabilities";
19
+ import { meta } from "#meta";
20
+ import { translations } from "#translations";
21
+ import { AssistantEvents, AssistantOperation } from "#types";
22
+ var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
23
+ activate: AppGraphBuilder
24
+ }), AppPlugin.addBlueprintDefinitionModule({
25
+ activate: BlueprintDefinition
26
+ }), AppPlugin.addCreateObjectModule({
27
+ activate: CreateObject
28
+ }), AppPlugin.addOperationHandlerModule({
29
+ activate: OperationHandler
30
+ }), AppPlugin.addSchemaModule({
31
+ schema: [
32
+ Chat.Chat,
33
+ Chat.CompanionTo,
34
+ Blueprint.Blueprint,
35
+ AiContext.Binding,
36
+ Feed.Feed,
37
+ HasSubject.HasSubject,
38
+ Message.Message,
39
+ Routine.Routine,
40
+ Agent.Agent,
41
+ McpServer.McpServer,
42
+ Plan.Plan,
43
+ Sequence.Sequence,
44
+ Memory.Memory,
45
+ Text.Text
46
+ ]
47
+ }), AppPlugin.addSettingsModule({
48
+ activate: Settings
49
+ }), AppPlugin.addSurfaceModule({
50
+ activate: ReactSurface,
51
+ firesBeforeActivation: [
52
+ AppActivationEvents.SetupArtifactDefinition
53
+ ]
54
+ }), AppPlugin.addTranslationsModule({
55
+ translations
56
+ }), Plugin.addModule({
57
+ id: "markdown",
58
+ activatesOn: MarkdownEvents.SetupExtensions,
59
+ activate: MarkdownExtension
60
+ }), Plugin.addModule({
61
+ // TODO(wittjosiah): Does not integrate with settings store.
62
+ // Should this be a different event?
63
+ // Should settings store be renamed to be more generic?
64
+ activatesOn: AppActivationEvents.SetupSettings,
65
+ activate: AssistantState
66
+ }), Plugin.addModule({
67
+ id: "on-space-created",
68
+ activatesOn: SpaceEvents.SpaceCreated,
69
+ activate: () => Effect.succeed(Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(AssistantOperation.OnCreateSpace, params)))
70
+ }), Plugin.addModule({
71
+ activatesOn: AssistantEvents.SetupAiServiceProviders,
72
+ activate: EdgeModelResolver
73
+ }), Plugin.addModule({
74
+ activatesOn: AssistantEvents.SetupAiServiceProviders,
75
+ activate: LocalModelResolver
76
+ }), Plugin.addModule({
77
+ firesBeforeActivation: [
78
+ AssistantEvents.SetupAiServiceProviders
79
+ ],
80
+ // TODO(dmaretskyi): This should activate lazily when the AI chat is used.
81
+ activatesOn: ActivationEvents.Startup,
82
+ activate: AiService
83
+ }), Plugin.addModule({
84
+ // TODO(wittjosiah): Use a different event.
85
+ activatesOn: ActivationEvents.Startup,
86
+ activate: Toolkit
87
+ }), Plugin.addModule({
88
+ activatesOn: ActivationEvent.allOf(ActivationEvents.OperationInvokerReady, AppActivationEvents.AppGraphReady, DeckEvents.StateReady),
89
+ activate: CompanionChatProvisioner
90
+ }), Plugin.addModule({
91
+ activatesOn: ClientEvents.SetupMigration,
92
+ activate: Migrations
93
+ }), Plugin.make);
94
+ var AssistantPlugin_default = AssistantPlugin;
95
+ export {
96
+ AssistantPlugin,
97
+ AssistantPlugin_default as default
98
+ };
99
+ //# sourceMappingURL=AssistantPlugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/AssistantPlugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { ActivationEvent, ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';\nimport { Blueprint, Operation, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { DeckEvents } from '@dxos/plugin-deck';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport {\n AiService,\n AppGraphBuilder,\n AssistantState,\n BlueprintDefinition,\n CompanionChatProvisioner,\n CreateObject,\n EdgeModelResolver,\n LocalModelResolver,\n MarkdownExtension,\n Migrations,\n OperationHandler,\n ReactSurface,\n Settings,\n Toolkit,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { AssistantEvents, AssistantOperation } from '#types';\n\nexport const AssistantPlugin = Plugin.define(meta).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 AppPlugin.addSettingsModule({ activate: Settings }),\n AppPlugin.addSurfaceModule({\n activate: ReactSurface,\n firesBeforeActivation: [AppActivationEvents.SetupArtifactDefinition],\n }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n id: 'markdown',\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: MarkdownExtension,\n }),\n Plugin.addModule({\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: AppActivationEvents.SetupSettings,\n activate: AssistantState,\n }),\n Plugin.addModule({\n id: 'on-space-created',\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) =>\n Operation.invoke(AssistantOperation.OnCreateSpace, params),\n ),\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({\n firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],\n // TODO(dmaretskyi): This should activate lazily when the AI chat is used.\n activatesOn: ActivationEvents.Startup,\n activate: AiService,\n }),\n Plugin.addModule({\n // TODO(wittjosiah): Use a different event.\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(\n ActivationEvents.OperationInvokerReady,\n AppActivationEvents.AppGraphReady,\n DeckEvents.StateReady,\n ),\n activate: CompanionChatProvisioner,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.SetupMigration,\n activate: Migrations,\n }),\n Plugin.make,\n);\n\nexport default AssistantPlugin;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiBC,kBAAkBC,YAAYC,cAAc;AACtE,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,iBAAiB;AAC1B,SAASC,OAAOC,MAAMC,WAAWC,QAAQC,YAAY;AACrD,SAASC,WAAWC,WAAWC,eAAe;AAC9C,SAASC,gBAAgB;AACzB,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,mBAAmBC,mBAAmB;AAC/C,SAASC,YAAY;AACrB,SAASC,YAAYC,eAAe;AAEpC,SACEC,WACAC,iBACAC,gBACAC,qBACAC,0BACAC,cACAC,mBACAC,oBACAC,mBACAC,YACAC,kBACAC,cACAC,UACAC,eACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,iBAAiBC,0BAA0B;AAE7C,IAAMC,kBAAkBxC,OAAOyC,OAAOL,IAAAA,EAAMM,KACjDxC,UAAUyC,kBAAkB;EAAEC,UAAUrB;AAAgB,CAAA,GACxDrB,UAAU2C,6BAA6B;EAAED,UAAUnB;AAAoB,CAAA,GACvEvB,UAAU4C,sBAAsB;EAAEF,UAAUjB;AAAa,CAAA,GACzDzB,UAAU6C,0BAA0B;EAAEH,UAAUZ;AAAiB,CAAA,GACjE9B,UAAU8C,gBAAgB;EACxBC,QAAQ;IACN5C,KAAKA;IACLA,KAAK6C;IACLzC,UAAUA;IACVN,UAAUgD;IACVtC,KAAKA;IACLO,WAAWA;IACXC,QAAQA;IACRV,QAAQA;IACRP,MAAMA;IACNE,UAAUA;IACVE,KAAKA;IACLI,SAASA;IACTL,OAAOA;IACPY,KAAKA;;AAET,CAAA,GACAjB,UAAUkD,kBAAkB;EAAER,UAAUV;AAAS,CAAA,GACjDhC,UAAUmD,iBAAiB;EACzBT,UAAUX;EACVqB,uBAAuB;IAACrD,oBAAoBsD;;AAC9C,CAAA,GACArD,UAAUsD,sBAAsB;EAAEnB;AAAa,CAAA,GAC/CrC,OAAOyD,UAAU;EACfC,IAAI;EACJC,aAAa3C,eAAe4C;EAC5BhB,UAAUd;AACZ,CAAA,GACA9B,OAAOyD,UAAU;;;;EAIfE,aAAa1D,oBAAoB4D;EACjCjB,UAAUpB;AACZ,CAAA,GACAxB,OAAOyD,UAAU;EACfC,IAAI;EACJC,aAAazC,YAAY4C;EACzBlB,UAAU,MACDmB,eACLhE,WAAWiE,YAAY/C,kBAAkBgD,eAAe,CAACC,WACvDxD,UAAUyD,OAAO5B,mBAAmB0B,eAAeC,MAAAA,CAAAA,CAAAA;AAG3D,CAAA,GACAlE,OAAOyD,UAAU;EACfE,aAAarB,gBAAgB8B;EAC7BxB,UAAUhB;AACZ,CAAA,GACA5B,OAAOyD,UAAU;EACfE,aAAarB,gBAAgB8B;EAC7BxB,UAAUf;AACZ,CAAA,GACA7B,OAAOyD,UAAU;EACfH,uBAAuB;IAAChB,gBAAgB8B;;;EAExCT,aAAa7D,iBAAiBuE;EAC9BzB,UAAUtB;AACZ,CAAA,GACAtB,OAAOyD,UAAU;;EAEfE,aAAa7D,iBAAiBuE;EAC9BzB,UAAUT;AACZ,CAAA,GACAnC,OAAOyD,UAAU;EACfE,aAAa9D,gBAAgByE,MAC3BxE,iBAAiByE,uBACjBtE,oBAAoBuE,eACpBzD,WAAW0D,UAAU;EAEvB7B,UAAUlB;AACZ,CAAA,GACA1B,OAAOyD,UAAU;EACfE,aAAa7C,aAAa4D;EAC1B9B,UAAUb;AACZ,CAAA,GACA/B,OAAO2E,IAAI;AAGb,IAAA,0BAAenC;",
6
+ "names": ["Effect", "ActivationEvent", "ActivationEvents", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "AiContext", "Agent", "Chat", "McpServer", "Memory", "Plan", "Blueprint", "Operation", "Routine", "Sequence", "Feed", "ClientEvents", "DeckEvents", "MarkdownEvents", "SpaceCapabilities", "SpaceEvents", "Text", "HasSubject", "Message", "AiService", "AppGraphBuilder", "AssistantState", "BlueprintDefinition", "CompanionChatProvisioner", "CreateObject", "EdgeModelResolver", "LocalModelResolver", "MarkdownExtension", "Migrations", "OperationHandler", "ReactSurface", "Settings", "Toolkit", "meta", "translations", "AssistantEvents", "AssistantOperation", "AssistantPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "CompanionTo", "Binding", "addSettingsModule", "addSurfaceModule", "firesBeforeActivation", "SetupArtifactDefinition", "addTranslationsModule", "addModule", "id", "activatesOn", "SetupExtensions", "SetupSettings", "SpaceCreated", "succeed", "contributes", "OnCreateSpace", "params", "invoke", "SetupAiServiceProviders", "Startup", "allOf", "OperationInvokerReady", "AppGraphReady", "StateReady", "SetupMigration", "make"]
7
+ }
@@ -0,0 +1,46 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/AssistantPlugin.node.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 { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from "#capabilities";
14
+ import { meta } from "#meta";
15
+ var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
16
+ activate: AppGraphBuilder
17
+ }), AppPlugin.addBlueprintDefinitionModule({
18
+ activate: BlueprintDefinition
19
+ }), AppPlugin.addCreateObjectModule({
20
+ activate: CreateObject
21
+ }), AppPlugin.addOperationHandlerModule({
22
+ activate: OperationHandler
23
+ }), AppPlugin.addSchemaModule({
24
+ schema: [
25
+ Chat.Chat,
26
+ Chat.CompanionTo,
27
+ Blueprint.Blueprint,
28
+ AiContext.Binding,
29
+ Feed.Feed,
30
+ HasSubject.HasSubject,
31
+ Message.Message,
32
+ Routine.Routine,
33
+ Agent.Agent,
34
+ McpServer.McpServer,
35
+ Plan.Plan,
36
+ Sequence.Sequence,
37
+ Memory.Memory,
38
+ Text.Text
39
+ ]
40
+ }), Plugin.make);
41
+ var AssistantPlugin_node_default = AssistantPlugin;
42
+ export {
43
+ AssistantPlugin,
44
+ AssistantPlugin_node_default as default
45
+ };
46
+ //# 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 { 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 { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const AssistantPlugin = Plugin.define(meta).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.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,iBAAiBC,qBAAqBC,cAAcC,wBAAwB;AACrF,SAASC,YAAY;AAEd,IAAMC,kBAAkBpB,OAAOqB,OAAOF,IAAAA,EAAMG,KACjDrB,UAAUsB,kBAAkB;EAAEC,UAAUT;AAAgB,CAAA,GACxDd,UAAUwB,6BAA6B;EAAED,UAAUR;AAAoB,CAAA,GACvEf,UAAUyB,sBAAsB;EAAEF,UAAUP;AAAa,CAAA,GACzDhB,UAAU0B,0BAA0B;EAAEH,UAAUN;AAAiB,CAAA,GACjEjB,UAAU2B,gBAAgB;EACxBC,QAAQ;IACNzB,KAAKA;IACLA,KAAK0B;IACLtB,UAAUA;IACVN,UAAU6B;IACVpB,KAAKA;IACLE,WAAWA;IACXC,QAAQA;IACRL,QAAQA;IACRN,MAAMA;IACNE,UAAUA;IACVE,KAAKA;IACLG,SAASA;IACTJ,OAAOA;IACPM,KAAKA;;AAET,CAAA,GACAZ,OAAOgC,IAAI;AAGb,IAAA,+BAAeZ;",
6
+ "names": ["Plugin", "AppPlugin", "AiContext", "Agent", "Chat", "McpServer", "Memory", "Plan", "Blueprint", "Routine", "Sequence", "Feed", "Text", "HasSubject", "Message", "AppGraphBuilder", "BlueprintDefinition", "CreateObject", "OperationHandler", "meta", "AssistantPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "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
+ template: subject.instructions
22
+ })));
23
+ };
24
+ export {
25
+ BlueprintArticle as default
26
+ };
27
+ //# sourceMappingURL=BlueprintArticle-U7LUBFOS.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} template={subject.instructions} />\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,UAAUR,QAAQS;;AAI1D;",
6
+ "names": ["React", "Panel", "Toolbar", "useAttention", "TemplateEditor", "BlueprintArticle", "role", "attendableId", "subject", "hasAttention", "Root", "classNames", "asChild", "disabled", "Content", "id", "template", "instructions"]
7
+ }