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

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 (254) hide show
  1. package/dist/lib/neutral/{AgentArticle-K7XM46OQ.mjs → AgentArticle-2BEPWUMN.mjs} +9 -7
  2. package/dist/lib/neutral/AgentArticle-2BEPWUMN.mjs.map +7 -0
  3. package/dist/lib/neutral/AssistantPlugin.mjs +1 -1
  4. package/dist/lib/neutral/{AssistantSettings-GG52BLKS.mjs → AssistantSettings-7ALY4BMS.mjs} +3 -3
  5. package/dist/lib/neutral/AssistantSettings-7ALY4BMS.mjs.map +7 -0
  6. package/dist/lib/neutral/{ChatArticle-VNVZCDUR.mjs → ChatArticle-KT46SUFU.mjs} +2 -2
  7. package/dist/lib/neutral/{ChatCompanion-LBUHYWQG.mjs → ChatCompanion-YHC43RYQ.mjs} +4 -4
  8. package/dist/lib/neutral/ChatCompanion-YHC43RYQ.mjs.map +7 -0
  9. package/dist/lib/neutral/{ChatDialog-DCA6FLOV.mjs → ChatDialog-YZDZLIQA.mjs} +5 -4
  10. package/dist/lib/neutral/ChatDialog-YZDZLIQA.mjs.map +7 -0
  11. package/dist/lib/neutral/{PlanArticle-TS5ULWYS.mjs → PlanArticle-VPK2IYWU.mjs} +8 -2
  12. package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs.map +7 -0
  13. package/dist/lib/neutral/{RoutineArticle-5NYXHRG6.mjs → RoutineArticle-FK5BXQN5.mjs} +3 -3
  14. package/dist/lib/neutral/RoutineArticle-FK5BXQN5.mjs.map +7 -0
  15. package/dist/lib/neutral/SpaceHomePrompt-HTWQKLGI.mjs +113 -0
  16. package/dist/lib/neutral/SpaceHomePrompt-HTWQKLGI.mjs.map +7 -0
  17. package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs +50 -0
  18. package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs.map +7 -0
  19. package/dist/lib/neutral/TracePanel-T552TAOH.mjs +12 -0
  20. package/dist/lib/neutral/TracePanel-T552TAOH.mjs.map +7 -0
  21. package/dist/lib/neutral/{TriggerStatus-X7Y5JFZJ.mjs → TriggerStatus-RBOHHDOK.mjs} +3 -3
  22. package/dist/lib/neutral/TriggerStatus-RBOHHDOK.mjs.map +7 -0
  23. package/dist/lib/neutral/{agent-service-WCAP5MLI.mjs → agent-service-WV5CSHAG.mjs} +4 -2
  24. package/dist/lib/neutral/{agent-service-WCAP5MLI.mjs.map → agent-service-WV5CSHAG.mjs.map} +3 -3
  25. package/dist/lib/neutral/{app-graph-builder-WUFHQH3Y.mjs → app-graph-builder-PTSRZXRN.mjs} +13 -13
  26. package/dist/lib/neutral/app-graph-builder-PTSRZXRN.mjs.map +7 -0
  27. package/dist/lib/neutral/{blueprint-definition-MH2QLYQH.mjs → blueprint-definition-2XPYI35X.mjs} +4 -3
  28. package/dist/lib/neutral/blueprint-definition-2XPYI35X.mjs.map +7 -0
  29. package/dist/lib/neutral/capabilities/index.mjs +8 -8
  30. package/dist/lib/neutral/capabilities/index.mjs.map +2 -2
  31. package/dist/lib/neutral/{chunk-HLANPOBA.mjs → chunk-35EL65O4.mjs} +3 -3
  32. package/dist/lib/neutral/chunk-35EL65O4.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-54W7N6M6.mjs +445 -0
  34. package/dist/lib/neutral/chunk-54W7N6M6.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-YXRGZYYH.mjs → chunk-5KB2WRI2.mjs} +6 -6
  36. package/dist/lib/neutral/chunk-5KB2WRI2.mjs.map +7 -0
  37. package/dist/lib/neutral/{TracePanel-KTZJ6JNR.mjs → chunk-5LKNH7FD.mjs} +5 -20
  38. package/dist/lib/neutral/chunk-5LKNH7FD.mjs.map +7 -0
  39. package/dist/lib/neutral/{chunk-SMFJD7BP.mjs → chunk-7FQT4XMI.mjs} +2 -2
  40. package/dist/lib/neutral/{chunk-RKVVK3R3.mjs → chunk-H77JTXAN.mjs} +17 -9
  41. package/dist/lib/neutral/chunk-H77JTXAN.mjs.map +7 -0
  42. package/dist/lib/neutral/{chunk-QAZMOFPI.mjs → chunk-IQZJ5TTM.mjs} +4 -4
  43. package/dist/lib/neutral/chunk-IQZJ5TTM.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-ZNDQVYUN.mjs +53 -0
  45. package/dist/lib/neutral/chunk-ZNDQVYUN.mjs.map +7 -0
  46. package/dist/lib/neutral/components/index.mjs +296 -109
  47. package/dist/lib/neutral/components/index.mjs.map +3 -3
  48. package/dist/lib/neutral/containers/index.mjs +12 -8
  49. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  50. package/dist/lib/neutral/{create-chat-SGGQ6HVN.mjs → create-chat-Z3FNA6OJ.mjs} +2 -2
  51. package/dist/lib/neutral/{create-chat-SGGQ6HVN.mjs.map → create-chat-Z3FNA6OJ.mjs.map} +2 -2
  52. package/dist/lib/neutral/{create-object-U2SOFZLR.mjs → create-object-BJUDDKQQ.mjs} +2 -2
  53. package/dist/lib/neutral/execution-graph/index.mjs +156 -0
  54. package/dist/lib/neutral/execution-graph/index.mjs.map +4 -4
  55. package/dist/lib/neutral/{fork-chat-34KEF4ZJ.mjs → fork-chat-UYXYT6BT.mjs} +4 -4
  56. package/dist/lib/neutral/fork-chat-UYXYT6BT.mjs.map +7 -0
  57. package/dist/lib/neutral/hooks/index.mjs +233 -438
  58. package/dist/lib/neutral/hooks/index.mjs.map +4 -4
  59. package/dist/lib/neutral/index.mjs +3 -3
  60. package/dist/lib/neutral/markdown-extension-IJ5RQMQ4.mjs +126 -0
  61. package/dist/lib/neutral/markdown-extension-IJ5RQMQ4.mjs.map +7 -0
  62. package/dist/lib/neutral/meta.json +1 -1
  63. package/dist/lib/neutral/meta.mjs +1 -1
  64. package/dist/lib/neutral/operations/index.mjs +1 -1
  65. package/dist/lib/neutral/plugin.mjs +2 -2
  66. package/dist/lib/neutral/{react-surface-XRTBW5OJ.mjs → react-surface-ES7UHZ65.mjs} +29 -17
  67. package/dist/lib/neutral/react-surface-ES7UHZ65.mjs.map +7 -0
  68. package/dist/lib/neutral/{run-prompt-in-new-chat-D5IIE2C7.mjs → run-prompt-in-new-chat-NIAGCKQV.mjs} +11 -8
  69. package/dist/lib/neutral/run-prompt-in-new-chat-NIAGCKQV.mjs.map +7 -0
  70. package/dist/lib/neutral/{settings-W4BLWQ53.mjs → settings-7Q3RITIT.mjs} +3 -3
  71. package/dist/lib/neutral/{settings-W4BLWQ53.mjs.map → settings-7Q3RITIT.mjs.map} +3 -3
  72. package/dist/lib/neutral/{state-H3G7QCU6.mjs → state-XO2UYSSG.mjs} +2 -2
  73. package/dist/lib/neutral/{state-H3G7QCU6.mjs.map → state-XO2UYSSG.mjs.map} +3 -3
  74. package/dist/lib/neutral/testing.mjs +1 -1
  75. package/dist/lib/neutral/translations.mjs +18 -11
  76. package/dist/lib/neutral/translations.mjs.map +3 -3
  77. package/dist/lib/neutral/types/index.mjs +1 -1
  78. package/dist/types/dx.config.d.ts +28 -0
  79. package/dist/types/dx.config.d.ts.map +1 -0
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/index.d.ts +17 -57
  83. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  85. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  86. package/dist/types/src/components/Chat/Chat.d.ts +6 -3
  87. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  88. package/dist/types/src/components/Chat/Chat.stories.d.ts +32 -0
  89. package/dist/types/src/components/Chat/Chat.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  91. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  92. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +6 -0
  93. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  94. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +1 -0
  95. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -1
  96. package/dist/types/src/components/TaskList/TaskList.d.ts +8 -0
  97. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -1
  98. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +3 -0
  99. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
  100. package/dist/types/src/components/index.d.ts +1 -0
  101. package/dist/types/src/components/index.d.ts.map +1 -1
  102. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +2 -2
  103. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
  104. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +2 -2
  105. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  106. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -1
  107. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts +15 -0
  108. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -0
  109. package/dist/types/src/containers/SpaceHomePrompt/index.d.ts +2 -0
  110. package/dist/types/src/containers/SpaceHomePrompt/index.d.ts.map +1 -0
  111. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +13 -0
  112. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -0
  113. package/dist/types/src/containers/SpaceHomeSuggestions/index.d.ts +2 -0
  114. package/dist/types/src/containers/SpaceHomeSuggestions/index.d.ts.map +1 -0
  115. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  116. package/dist/types/src/containers/index.d.ts +2 -0
  117. package/dist/types/src/containers/index.d.ts.map +1 -1
  118. package/dist/types/src/execution-graph/execution-graph.d.ts +18 -0
  119. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
  120. package/dist/types/src/execution-graph/index.d.ts +2 -1
  121. package/dist/types/src/execution-graph/index.d.ts.map +1 -1
  122. package/dist/types/src/execution-graph/pending-block-status.d.ts +26 -0
  123. package/dist/types/src/execution-graph/pending-block-status.d.ts.map +1 -0
  124. package/dist/types/src/execution-graph/pending-block-status.test.d.ts +2 -0
  125. package/dist/types/src/execution-graph/pending-block-status.test.d.ts.map +1 -0
  126. package/dist/types/src/extensions/prompt-extension.d.ts +1 -1
  127. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  128. package/dist/types/src/feed-logger.d.ts +3 -2
  129. package/dist/types/src/feed-logger.d.ts.map +1 -1
  130. package/dist/types/src/hooks/index.d.ts +2 -0
  131. package/dist/types/src/hooks/index.d.ts.map +1 -1
  132. package/dist/types/src/hooks/useProcessEphemeralStatus.d.ts +10 -0
  133. package/dist/types/src/hooks/useProcessEphemeralStatus.d.ts.map +1 -0
  134. package/dist/types/src/hooks/useTraceMessages.d.ts +12 -0
  135. package/dist/types/src/hooks/useTraceMessages.d.ts.map +1 -0
  136. package/dist/types/src/meta.d.ts +28 -2
  137. package/dist/types/src/meta.d.ts.map +1 -1
  138. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  139. package/dist/types/src/paths.d.ts.map +1 -1
  140. package/dist/types/src/processor/processor.d.ts +23 -0
  141. package/dist/types/src/processor/processor.d.ts.map +1 -1
  142. package/dist/types/src/translations.d.ts.map +1 -1
  143. package/dist/types/src/types/Assistant.d.ts +1 -1
  144. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
  145. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -1
  146. package/dist/types/src/types/AssistantOperation.d.ts +7 -7
  147. package/dist/types/src/util/error-cause.d.ts +3 -0
  148. package/dist/types/src/util/error-cause.d.ts.map +1 -0
  149. package/dist/types/tsconfig.tsbuildinfo +1 -1
  150. package/dx.config.ts +38 -0
  151. package/package.json +71 -70
  152. package/src/AssistantPlugin.conversations.json +1 -1
  153. package/src/AssistantPlugin.test.ts +1 -1
  154. package/src/AssistantPlugin.ts +2 -2
  155. package/src/capabilities/agent-service.ts +5 -1
  156. package/src/capabilities/app-graph-builder.ts +15 -20
  157. package/src/capabilities/blueprint-definition.ts +2 -0
  158. package/src/capabilities/index.ts +1 -7
  159. package/src/capabilities/markdown-extension.ts +5 -1
  160. package/src/capabilities/react-surface.tsx +38 -23
  161. package/src/capabilities/settings.ts +2 -2
  162. package/src/capabilities/state.ts +1 -1
  163. package/src/components/AgentProperties/AgentProperties.tsx +1 -1
  164. package/src/components/AssistantSettings/AssistantSettings.tsx +2 -2
  165. package/src/components/Chat/Chat.stories.tsx +94 -0
  166. package/src/components/Chat/Chat.tsx +39 -6
  167. package/src/components/ChatPrompt/ChatActions.tsx +4 -2
  168. package/src/components/ChatPrompt/ChatMcpErrors.tsx +1 -1
  169. package/src/components/ChatPrompt/ChatOptions.tsx +26 -29
  170. package/src/components/ChatPrompt/ChatPrompt.tsx +1 -1
  171. package/src/components/ChatPrompt/ChatReferences.tsx +1 -1
  172. package/src/components/ChatThread/Anchor.stories.tsx +1 -1
  173. package/src/components/ChatThread/ChatThread.stories.tsx +1 -1
  174. package/src/components/ChatThread/DEBUG.md +23 -0
  175. package/src/components/ChatThread/widgets/SummaryWidget.tsx +1 -1
  176. package/src/components/ChatThread/widgets/ToolWidget.tsx +1 -1
  177. package/src/components/ProcessTree/ProcessTree.stories.tsx +7 -0
  178. package/src/components/ProcessTree/ProcessTree.tsx +191 -88
  179. package/src/components/TaskList/TaskList.stories.tsx +23 -2
  180. package/src/components/TaskList/TaskList.tsx +122 -28
  181. package/src/components/TemplateEditor/TemplateEditor.tsx +1 -1
  182. package/src/components/TemplateEditor/TemplateForm.tsx +1 -1
  183. package/src/components/ToolBlock/ToolBlock.tsx +1 -1
  184. package/src/components/index.ts +1 -0
  185. package/src/containers/AgentArticle/AgentArticle.stories.tsx +4 -4
  186. package/src/containers/AgentArticle/AgentArticle.tsx +9 -9
  187. package/src/containers/ChatArticle/ChatArticle.tsx +18 -10
  188. package/src/containers/ChatCompanion/ChatCompanion.tsx +2 -2
  189. package/src/containers/ChatDialog/ChatDialog.tsx +5 -3
  190. package/src/containers/PlanArticle/PlanArticle.tsx +5 -1
  191. package/src/containers/RoutineArticle/RoutineArticle.tsx +2 -2
  192. package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +105 -0
  193. package/src/containers/SpaceHomePrompt/index.ts +5 -0
  194. package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +69 -0
  195. package/src/containers/SpaceHomeSuggestions/index.ts +5 -0
  196. package/src/containers/TracePanel/TracePanel.tsx +3 -30
  197. package/src/containers/TriggerStatus/TriggerStatus.tsx +2 -2
  198. package/src/containers/index.ts +2 -0
  199. package/src/execution-graph/execution-graph.ts +130 -0
  200. package/src/execution-graph/index.ts +10 -0
  201. package/src/execution-graph/pending-block-status.test.ts +114 -0
  202. package/src/execution-graph/pending-block-status.ts +88 -0
  203. package/src/execution-graph/sub-agent-delegation.test.ts +16 -1
  204. package/src/extensions/prompt-extension.ts +102 -73
  205. package/src/feed-logger.ts +21 -19
  206. package/src/hooks/index.ts +2 -0
  207. package/src/hooks/useChatProcessor.ts +1 -1
  208. package/src/hooks/useChatServices.ts +2 -2
  209. package/src/hooks/useChatToolbarActions.ts +5 -5
  210. package/src/hooks/useContextBinder.ts +1 -1
  211. package/src/hooks/useProcessEphemeralStatus.ts +192 -0
  212. package/src/hooks/useTraceMessages.ts +41 -0
  213. package/src/meta.ts +3 -31
  214. package/src/operations/create-chat.ts +1 -1
  215. package/src/operations/fork-chat.ts +3 -3
  216. package/src/operations/run-prompt-in-new-chat.ts +5 -3
  217. package/src/paths.ts +2 -2
  218. package/src/processor/processor.node.test.ts +71 -1
  219. package/src/processor/processor.ts +58 -2
  220. package/src/testing/data/trace-timeline-multiple.dx.json +1 -1
  221. package/src/testing/data/trace-timeline-remote.dx.json +1 -1
  222. package/src/testing/data/trace-timeline.dx.json +0 -1
  223. package/src/translations.ts +18 -10
  224. package/src/types/AssistantCapabilities.ts +3 -3
  225. package/src/types/AssistantEvents.ts +1 -1
  226. package/src/types/AssistantOperation.ts +1 -1
  227. package/src/util/error-cause.ts +21 -0
  228. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs.map +0 -7
  229. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +0 -7
  230. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs.map +0 -7
  231. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs.map +0 -7
  232. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +0 -7
  233. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs.map +0 -7
  234. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs.map +0 -7
  235. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs.map +0 -7
  236. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs.map +0 -7
  237. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs.map +0 -7
  238. package/dist/lib/neutral/chunk-HLANPOBA.mjs.map +0 -7
  239. package/dist/lib/neutral/chunk-QAZMOFPI.mjs.map +0 -7
  240. package/dist/lib/neutral/chunk-RKVVK3R3.mjs.map +0 -7
  241. package/dist/lib/neutral/chunk-VTK5R4H3.mjs +0 -9
  242. package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +0 -7
  243. package/dist/lib/neutral/chunk-XYHPOGTK.mjs +0 -43
  244. package/dist/lib/neutral/chunk-XYHPOGTK.mjs.map +0 -7
  245. package/dist/lib/neutral/chunk-YXRGZYYH.mjs.map +0 -7
  246. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs.map +0 -7
  247. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs +0 -110
  248. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs.map +0 -7
  249. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs.map +0 -7
  250. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs.map +0 -7
  251. package/src/testing/trace-timeline.node.conversations.json +0 -1
  252. /package/dist/lib/neutral/{ChatArticle-VNVZCDUR.mjs.map → ChatArticle-KT46SUFU.mjs.map} +0 -0
  253. /package/dist/lib/neutral/{chunk-SMFJD7BP.mjs.map → chunk-7FQT4XMI.mjs.map} +0 -0
  254. /package/dist/lib/neutral/{create-object-U2SOFZLR.mjs.map → create-object-BJUDDKQQ.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TriggerStatus/TriggerStatus.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { type InvocationsState } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation/hooks';\nimport { StatusBar } from '@dxos/plugin-status-bar/components';\nimport { useObject } from '@dxos/react-client/echo';\nimport { IconButton, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\ntype TriggerStatusState = 'disabled' | 'idle' | 'running' | 'edge' | 'error';\n\nconst getIcon = (state: TriggerStatusState): string => {\n switch (state) {\n case 'disabled':\n return 'ph--lightning-slash--regular';\n case 'idle':\n return 'ph--lightning--regular';\n case 'edge':\n return 'ph--lightning--regular';\n case 'running':\n return 'ph--lightning--fill';\n case 'error':\n return 'ph--warning--regular';\n }\n};\n\nconst getIconClassNames = (state: TriggerStatusState): string | undefined => {\n switch (state) {\n case 'running':\n return 'animate-pulse text-accent-text';\n case 'error':\n return 'text-error-text';\n default:\n return undefined;\n }\n};\n\nexport type SpaceStatusProps = AppSurface.SpaceArticleProps;\n\nexport const SpaceStatus = ({ space }: SpaceStatusProps) => {\n const { t } = useTranslation(meta.profile.key);\n const { state } = useTriggerRuntimeControls(space.db);\n const isEnabled = state?.enabled ?? false;\n const [properties] = useObject(space.properties);\n const computeEnvironment = properties.computeEnvironment ?? 'local';\n\n // Determine the current trigger status state.\n const triggerState: TriggerStatusState = useMemo(() => {\n if (computeEnvironment === 'edge') {\n return 'edge';\n }\n\n if (!isEnabled) {\n return 'disabled';\n }\n\n // Check if there's any pending invocation.\n const hasPending = state?.invocations.some((invocation) => invocation.result === null);\n if (hasPending) {\n return 'running';\n }\n\n // Check if the last invocation failed.\n const lastInvocation = state?.invocations.at(-1);\n if (lastInvocation?.result?._tag === 'Failure') {\n return 'error';\n }\n\n return 'idle';\n }, [computeEnvironment, isEnabled, state?.invocations]);\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item>\n <IconButton\n variant='ghost'\n icon={getIcon(triggerState)}\n iconOnly\n label={t(`trigger-status-${triggerState}.label`)}\n classNames={getIconClassNames(triggerState)}\n />\n </StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='left'>\n <TriggerStatusPopover\n state={triggerState}\n currentFunctionName={\n state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key\n }\n lastInvocation={state?.invocations.at(-1)}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ntype TriggerStatusPopoverProps = {\n state: TriggerStatusState;\n currentFunctionName?: string;\n lastInvocation?: InvocationsState;\n};\n\nconst TriggerStatusPopover = ({\n state,\n currentFunctionName,\n lastInvocation, // TODO(burdon): Show.\n}: TriggerStatusPopoverProps) => {\n const { t } = useTranslation(meta.profile.key);\n\n return (\n <div className='flex flex-col gap-2 p-2 w-[240px]'>\n <div className='flex flex-col gap-1'>\n <div className='text-sm'>{t(`trigger-status-${state}.label`)}</div>\n {currentFunctionName && state === 'running' && (\n <div className='text-xs text-description'>{currentFunctionName}</div>\n )}\n </div>\n </div>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,SAASC,sBAAsB;AAEpD,SAASC,YAAY;AAIrB,IAAMC,UAAU,CAACC,UAAAA;AACf,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;EACX;AACF;AAEA,IAAMC,oBAAoB,CAACD,UAAAA;AACzB,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT;AACE,aAAOE;EACX;AACF;AAIO,IAAMC,cAAc,CAAC,EAAEC,MAAK,MAAoB;AACrD,QAAM,EAAEC,EAAC,IAAKR,eAAeC,KAAKQ,QAAQC,GAAG;AAC7C,QAAM,EAAEP,MAAK,IAAKR,0BAA0BY,MAAMI,EAAE;AACpD,QAAMC,YAAYT,OAAOU,WAAW;AACpC,QAAM,CAACC,UAAAA,IAAcjB,UAAUU,MAAMO,UAAU;AAC/C,QAAMC,qBAAqBD,WAAWC,sBAAsB;AAG5D,QAAMC,eAAmCtB,QAAQ,MAAA;AAC/C,QAAIqB,uBAAuB,QAAQ;AACjC,aAAO;IACT;AAEA,QAAI,CAACH,WAAW;AACd,aAAO;IACT;AAGA,UAAMK,aAAad,OAAOe,YAAYC,KAAK,CAACC,eAAeA,WAAWC,WAAW,IAAA;AACjF,QAAIJ,YAAY;AACd,aAAO;IACT;AAGA,UAAMK,iBAAiBnB,OAAOe,YAAYK,GAAG,EAAC;AAC9C,QAAID,gBAAgBD,QAAQG,SAAS,WAAW;AAC9C,aAAO;IACT;AAEA,WAAO;EACT,GAAG;IAACT;IAAoBH;IAAWT,OAAOe;GAAY;AAEtD,SACE,sBAAA,cAACnB,QAAQ0B,MAAI,MACX,sBAAA,cAAC1B,QAAQ2B,SAAO;IAACC,SAAAA;KACf,sBAAA,cAAC/B,UAAUgC,MAAI,MACb,sBAAA,cAAC9B,YAAAA;IACC+B,SAAQ;IACRC,MAAM5B,QAAQc,YAAAA;IACde,UAAAA;IACAC,OAAOxB,EAAE,kBAAkBQ,YAAAA,QAAoB;IAC/CiB,YAAY7B,kBAAkBY,YAAAA;QAIpC,sBAAA,cAACjB,QAAQmC,QAAM,MACb,sBAAA,cAACnC,QAAQoC,SAAO;IAACC,MAAK;KACpB,sBAAA,cAACC,sBAAAA;IACClC,OAAOa;IACPsB,qBACEnC,OAAOe,YAAYK,GAAG,EAAC,GAAIgB,UAAUtC,KAAKuC,QAAQrC,OAAOe,YAAYK,GAAG,EAAC,GAAIgB,UAAUtC,KAAKS;IAE9FY,gBAAgBnB,OAAOe,YAAYK,GAAG,EAAC;MAEzC,sBAAA,cAACxB,QAAQ0C,OAAK,IAAA,CAAA,CAAA,CAAA;AAKxB;AAQA,IAAMJ,uBAAuB,CAAC,EAC5BlC,OACAmC,qBACAhB,eAAc,MACY;AAC1B,QAAM,EAAEd,EAAC,IAAKR,eAAeC,KAAKQ,QAAQC,GAAG;AAE7C,SACE,sBAAA,cAACgC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAWnC,EAAE,kBAAkBL,KAAAA,QAAa,CAAA,GAC1DmC,uBAAuBnC,UAAU,aAChC,sBAAA,cAACuC,OAAAA;IAAIC,WAAU;KAA4BL,mBAAAA,CAAAA,CAAAA;AAKrD;",
6
+ "names": ["React", "useMemo", "useTriggerRuntimeControls", "StatusBar", "useObject", "IconButton", "Popover", "useTranslation", "meta", "getIcon", "state", "getIconClassNames", "undefined", "SpaceStatus", "space", "t", "profile", "key", "db", "isEnabled", "enabled", "properties", "computeEnvironment", "triggerState", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "Root", "Trigger", "asChild", "Item", "variant", "icon", "iconOnly", "label", "classNames", "Portal", "Content", "side", "TriggerStatusPopover", "currentFunctionName", "function", "name", "Arrow", "div", "className"]
7
+ }
@@ -19,8 +19,10 @@ var AgentServiceSpec = LayerSpec.make({
19
19
  ]
20
20
  }, () => Layer.unwrapEffect(Effect.gen(function* () {
21
21
  const strategies = yield* Capability.getAll(AutomationCapabilities.AgentDelegationStrategy);
22
+ const completionGuards = yield* Capability.getAll(AutomationCapabilities.AgentCompletionGuard);
22
23
  return AgentService.layer({
23
- delegationStrategy: strategies[0]
24
+ delegationStrategy: strategies[0],
25
+ completionGuard: completionGuards[0]
24
26
  });
25
27
  })));
26
28
  var agent_service_default = Capability.makeModule(() => Effect.succeed([
@@ -29,4 +31,4 @@ var agent_service_default = Capability.makeModule(() => Effect.succeed([
29
31
  export {
30
32
  agent_service_default as default
31
33
  };
32
- //# sourceMappingURL=agent-service-WCAP5MLI.mjs.map
34
+ //# sourceMappingURL=agent-service-WV5CSHAG.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/agent-service.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayerSpec } from '@dxos/compute';\nimport { ProcessManager } from '@dxos/compute-runtime';\nimport { AgentService } from '@dxos/functions-runtime';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\n\n//\n// Capability Module\n//\n// Owns the application-affinity {@link AgentService} layer for process-backed agents.\n//\n\nconst AgentServiceSpec = LayerSpec.make(\n {\n affinity: 'application',\n requires: [ProcessManager.ProcessManagerService, Capability.Service],\n provides: [AgentService.AgentService],\n },\n () =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n // Optional supervisor behaviour, contributed by a plugin that knows the agent/plan model.\n const strategies = yield* Capability.getAll(AutomationCapabilities.AgentDelegationStrategy);\n return AgentService.layer({ delegationStrategy: strategies[0] });\n }),\n ),\n);\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(Capabilities.LayerSpec, AgentServiceSpec)]),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,8BAA8B;AAQvC,IAAMC,mBAAmBJ,UAAUK,KACjC;EACEC,UAAU;EACVC,UAAU;IAACN,eAAeO;IAAuBT,WAAWU;;EAC5DC,UAAU;IAACR,aAAaA;;AAC1B,GACA,MACQS,mBACGC,WAAI,aAAA;AAET,QAAMC,aAAa,OAAOd,WAAWe,OAAOX,uBAAuBY,uBAAuB;AAC1F,SAAOb,aAAac,MAAM;IAAEC,oBAAoBJ,WAAW,CAAA;EAAG,CAAA;AAChE,CAAA,CAAA,CAAA;AAIN,IAAA,wBAAed,WAAWmB,WAAW,MAC5BC,eAAQ;EAACpB,WAAWqB,YAAYtB,aAAaE,WAAWI,gBAAAA;CAAkB,CAAA;",
6
- "names": ["Effect", "Layer", "Capabilities", "Capability", "LayerSpec", "ProcessManager", "AgentService", "AutomationCapabilities", "AgentServiceSpec", "make", "affinity", "requires", "ProcessManagerService", "Service", "provides", "unwrapEffect", "gen", "strategies", "getAll", "AgentDelegationStrategy", "layer", "delegationStrategy", "makeModule", "succeed", "contributes"]
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayerSpec } from '@dxos/compute';\nimport { ProcessManager } from '@dxos/compute-runtime';\nimport { AgentService } from '@dxos/functions-runtime';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\n\n//\n// Capability Module\n//\n// Owns the application-affinity {@link AgentService} layer for process-backed agents.\n//\n\nconst AgentServiceSpec = LayerSpec.make(\n {\n affinity: 'application',\n requires: [ProcessManager.ProcessManagerService, Capability.Service],\n provides: [AgentService.AgentService],\n },\n () =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n // Optional supervisor behaviour, contributed by a plugin that knows the agent/plan model.\n const strategies = yield* Capability.getAll(AutomationCapabilities.AgentDelegationStrategy);\n const completionGuards = yield* Capability.getAll(AutomationCapabilities.AgentCompletionGuard);\n return AgentService.layer({\n delegationStrategy: strategies[0],\n completionGuard: completionGuards[0],\n });\n }),\n ),\n);\n\nexport default Capability.makeModule(() =>\n Effect.succeed([Capability.contributes(Capabilities.LayerSpec, AgentServiceSpec)]),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,8BAA8B;AAQvC,IAAMC,mBAAmBJ,UAAUK,KACjC;EACEC,UAAU;EACVC,UAAU;IAACN,eAAeO;IAAuBT,WAAWU;;EAC5DC,UAAU;IAACR,aAAaA;;AAC1B,GACA,MACQS,mBACGC,WAAI,aAAA;AAET,QAAMC,aAAa,OAAOd,WAAWe,OAAOX,uBAAuBY,uBAAuB;AAC1F,QAAMC,mBAAmB,OAAOjB,WAAWe,OAAOX,uBAAuBc,oBAAoB;AAC7F,SAAOf,aAAagB,MAAM;IACxBC,oBAAoBN,WAAW,CAAA;IAC/BO,iBAAiBJ,iBAAiB,CAAA;EACpC,CAAA;AACF,CAAA,CAAA,CAAA;AAIN,IAAA,wBAAejB,WAAWsB,WAAW,MAC5BC,eAAQ;EAACvB,WAAWwB,YAAYzB,aAAaE,WAAWI,gBAAAA;CAAkB,CAAA;",
6
+ "names": ["Effect", "Layer", "Capabilities", "Capability", "LayerSpec", "ProcessManager", "AgentService", "AutomationCapabilities", "AgentServiceSpec", "make", "affinity", "requires", "ProcessManagerService", "Service", "provides", "unwrapEffect", "gen", "strategies", "getAll", "AgentDelegationStrategy", "completionGuards", "AgentCompletionGuard", "layer", "delegationStrategy", "completionGuard", "makeModule", "succeed", "contributes"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getChatsPath
3
- } from "./chunk-HLANPOBA.mjs";
3
+ } from "./chunk-35EL65O4.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/capabilities/app-graph-builder.ts
@@ -8,7 +8,7 @@ import * as Effect from "effect/Effect";
8
8
  import { pipe } from "effect/Function";
9
9
  import * as Option from "effect/Option";
10
10
  import { Capability } from "@dxos/app-framework";
11
- import { AppCapabilities, AppNode, LayoutOperation, createTypeSectionExtension, createTypeSectionPathResolver, getActiveSpace, getPersonalSpace } from "@dxos/app-toolkit";
11
+ import { AppCapabilities, AppNode, AppSpace, LayoutOperation, TypeSection } from "@dxos/app-toolkit";
12
12
  import { AgentPrompt, Chat } from "@dxos/assistant-toolkit";
13
13
  import { isSpace } from "@dxos/client/echo";
14
14
  import { Operation, Routine } from "@dxos/compute";
@@ -49,7 +49,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
49
49
  label: [
50
50
  "chat-update-name.label",
51
51
  {
52
- ns: meta.id
52
+ ns: meta.profile.key
53
53
  }
54
54
  ],
55
55
  icon: "ph--magic-wand--regular",
@@ -68,7 +68,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
68
68
  data: Effect.fnUntraced(function* () {
69
69
  const capabilities2 = yield* Capability.Service;
70
70
  const client = yield* Capability.get(ClientCapabilities.Client);
71
- const space = getActiveSpace(client, capabilities2) ?? getPersonalSpace(client);
71
+ const space = AppSpace.getActiveSpace(client, capabilities2) ?? AppSpace.getPersonalSpace(client);
72
72
  if (!space) {
73
73
  return;
74
74
  }
@@ -88,7 +88,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
88
88
  label: [
89
89
  "import-compute-operations.label",
90
90
  {
91
- ns: meta.id
91
+ ns: meta.profile.key
92
92
  }
93
93
  ],
94
94
  icon: "ph--download-simple--regular"
@@ -101,7 +101,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
101
101
  label: [
102
102
  "toggle-trace-panel-debug.label",
103
103
  {
104
- ns: meta.id
104
+ ns: meta.profile.key
105
105
  }
106
106
  ],
107
107
  icon: "ph--brackets-curly--regular"
@@ -124,7 +124,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
124
124
  label: [
125
125
  "assistant-chat.label",
126
126
  {
127
- ns: meta.id
127
+ ns: meta.profile.key
128
128
  }
129
129
  ],
130
130
  icon: "ph--sparkle--regular",
@@ -143,7 +143,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
143
143
  label: [
144
144
  "invocations.label",
145
145
  {
146
- ns: meta.id
146
+ ns: meta.profile.key
147
147
  }
148
148
  ],
149
149
  icon: "ph--clock-countdown--regular",
@@ -160,7 +160,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
160
160
  label: [
161
161
  "trace.label",
162
162
  {
163
- ns: meta.id
163
+ ns: meta.profile.key
164
164
  }
165
165
  ],
166
166
  icon: "ph--line-segments--regular",
@@ -170,7 +170,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
170
170
  ])
171
171
  }),
172
172
  // Section node: standalone Chat.Chat objects per space (companions are excluded).
173
- createTypeSectionExtension(Chat.Chat, {
173
+ TypeSection.createTypeSectionExtension(Chat.Chat, {
174
174
  // Exclude chats that are the source of a CompanionTo relation; those belong to
175
175
  // their primary object's companion panel and should not appear in the top-level list.
176
176
  query: Query.without(Query.select(Filter.type(Chat.Chat)), Query.select(Filter.type(Chat.Chat)).sourceOf(Chat.CompanionTo).source())
@@ -211,7 +211,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
211
211
  label: [
212
212
  "create-chat.label",
213
213
  {
214
- ns: meta.id
214
+ ns: meta.profile.key
215
215
  }
216
216
  ],
217
217
  icon: "ph--plus--regular",
@@ -223,10 +223,10 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
223
223
  ]);
224
224
  return [
225
225
  Capability.contributes(AppCapabilities.AppGraphBuilder, extensions),
226
- Capability.contributes(AppCapabilities.NavigationPathResolver, createTypeSectionPathResolver(Chat.Chat))
226
+ Capability.contributes(AppCapabilities.NavigationPathResolver, TypeSection.createTypeSectionPathResolver(Chat.Chat))
227
227
  ];
228
228
  }));
229
229
  export {
230
230
  app_graph_builder_default as default
231
231
  };
232
- //# sourceMappingURL=app-graph-builder-WUFHQH3Y.mjs.map
232
+ //# sourceMappingURL=app-graph-builder-PTSRZXRN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport { pipe } from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode, AppSpace, LayoutOperation, TypeSection } from '@dxos/app-toolkit';\nimport { AgentPrompt, Chat } from '@dxos/assistant-toolkit';\nimport { isSpace } from '@dxos/client/echo';\nimport { Operation, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Database, Filter, Obj, Query, Type, type Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { linkedSegment } from '@dxos/react-ui-attention';\n\nimport { ASSISTANT_COMPANION_VARIANT, meta } from '#meta';\nimport { AssistantCapabilities, AssistantOperation } from '#types';\n\nimport { getChatsPath } from '../paths';\n\n/** Operation definitions to seed as `PersistentOperation` records for automation / triggers. */\nconst computeOperationsToImport = [AgentPrompt] as const;\n\n/** Match ECHO objects that are NOT chats. */\nconst whenNonChatObject = NodeMatcher.whenAll(\n NodeMatcher.whenEchoObject,\n NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)),\n);\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'root',\n type: Chat.Chat,\n actions: (chat) => {\n return Effect.succeed([\n Node.makeAction({\n id: AssistantOperation.UpdateChatName.meta.key,\n data: () =>\n Effect.gen(function* () {\n // TODO(dmaretskyi): This goes away when composer will have unified operation invocations.\n const db = Obj.getDatabase(chat);\n invariant(db);\n yield* Operation.invoke(AssistantOperation.UpdateChatName, { chat }, { spaceId: db.spaceId });\n }),\n properties: {\n label: ['chat-update-name.label', { ns: meta.profile.key }],\n icon: 'ph--magic-wand--regular',\n disposition: 'list-item',\n },\n }),\n ]);\n },\n }),\n\n GraphBuilder.createExtension({\n id: 'assistant',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n Node.makeAction({\n id: 'importComputeOperations',\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = AppSpace.getActiveSpace(client, capabilities) ?? AppSpace.getPersonalSpace(client);\n if (!space) {\n return;\n }\n for (const definition of computeOperationsToImport) {\n const key = definition.meta.key;\n if (!key) {\n continue;\n }\n const existing = yield* Effect.promise(\n (): Promise<Operation.PersistentOperation[]> =>\n space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run(),\n );\n if (existing.length === 0) {\n space.db.add(Operation.serialize(definition));\n }\n }\n yield* Database.flush();\n }),\n properties: {\n label: ['import-compute-operations.label', { ns: meta.profile.key }],\n icon: 'ph--download-simple--regular',\n },\n }),\n Node.makeAction({\n id: AssistantOperation.ToggleTracePanelDebug.meta.key,\n data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),\n properties: {\n label: ['toggle-trace-panel-debug.label', { ns: meta.profile.key }],\n icon: 'ph--brackets-curly--regular',\n },\n }),\n ]),\n }),\n\n // Don't show assistant companion when a chat is already the primary object.\n GraphBuilder.createExtension({\n id: 'companionChat',\n match: whenNonChatObject,\n connector: (object, get) =>\n Effect.gen(function* () {\n const state = get(yield* Capability.get(AssistantCapabilities.State));\n const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));\n const objectUri = Obj.getURI(object);\n\n // Resolve chat from persisted state or transient cache.\n const chat = pipe(\n Option.fromNullable(state.currentChat[objectUri]),\n Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryMake(dxnStr))),\n Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))),\n Option.map((ref) => get(Obj.atom(ref as Ref.Ref<Obj.Unknown>))),\n Option.filter(Obj.isObject),\n Option.orElse(() => pipe(Option.fromNullable(cache[objectUri]), Option.filter(Obj.isObject))),\n Option.getOrNull,\n );\n\n return [\n AppNode.makeCompanion({\n id: linkedSegment(ASSISTANT_COMPANION_VARIANT),\n label: ['assistant-chat.label', { ns: meta.profile.key }],\n icon: 'ph--sparkle--regular',\n data: chat,\n position: 'first',\n }),\n ];\n }),\n }),\n\n GraphBuilder.createExtension({\n id: 'invocations',\n match: NodeMatcher.whenAny(\n NodeMatcher.whenEchoTypeMatches(Sequence.Sequence),\n NodeMatcher.whenEchoTypeMatches(Routine.Routine),\n ),\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'invocations',\n label: ['invocations.label', { ns: meta.profile.key }],\n icon: 'ph--clock-countdown--regular',\n data: 'invocations',\n }),\n ]),\n }),\n\n GraphBuilder.createExtension({\n id: 'trace',\n match: NodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: linkedSegment('trace'),\n label: ['trace.label', { ns: meta.profile.key }],\n icon: 'ph--line-segments--regular',\n data: 'trace',\n position: 'last',\n }),\n ]),\n }),\n\n // Section node: standalone Chat.Chat objects per space (companions are excluded).\n TypeSection.createTypeSectionExtension(Chat.Chat, {\n // Exclude chats that are the source of a CompanionTo relation; those belong to\n // their primary object's companion panel and should not appear in the top-level list.\n query: Query.without(\n Query.select(Filter.type(Chat.Chat)),\n Query.select(Filter.type(Chat.Chat)).sourceOf(Chat.CompanionTo).source(),\n ),\n }),\n\n // Create-chat action on the Chats section header.\n GraphBuilder.createExtension({\n id: 'chatsSectionActions',\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return node.type === Type.getTypename(Chat.Chat) && space ? Option.some(space) : Option.none();\n },\n actions: (space) =>\n Effect.succeed([\n Node.makeAction({\n id: 'create-chat',\n data: () =>\n Effect.gen(function* () {\n const { object: chat } = yield* Operation.invoke(\n AssistantOperation.CreateChat,\n { db: space.db },\n { spaceId: space.db.spaceId },\n );\n const { subject } = yield* Operation.invoke(\n SpaceOperation.AddObject,\n { object: chat, target: space.db, hidden: true, targetNodeId: getChatsPath(space.db.spaceId) },\n { spaceId: space.db.spaceId },\n );\n yield* Operation.invoke(\n LayoutOperation.Open,\n { subject: [...subject] },\n { spaceId: space.db.spaceId },\n );\n }),\n properties: {\n label: ['create-chat.label', { ns: meta.profile.key }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n },\n }),\n ]),\n }),\n ]);\n\n return [\n Capability.contributes(AppCapabilities.AppGraphBuilder, extensions),\n Capability.contributes(\n AppCapabilities.NavigationPathResolver,\n TypeSection.createTypeSectionPathResolver(Chat.Chat),\n ),\n ];\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "pipe", "Option", "Capability", "AppCapabilities", "AppNode", "AppSpace", "LayoutOperation", "TypeSection", "AgentPrompt", "Chat", "isSpace", "Operation", "Routine", "Sequence", "DXN", "Database", "Filter", "Obj", "Query", "Type", "invariant", "ClientCapabilities", "GraphBuilder", "Node", "NodeMatcher", "SpaceOperation", "linkedSegment", "ASSISTANT_COMPANION_VARIANT", "meta", "AssistantCapabilities", "AssistantOperation", "Service", "extensions", "GraphBuilder", "createTypeExtension", "Chat", "actions", "Effect", "Node", "makeAction", "AssistantOperation", "data", "db", "Obj", "getDatabase", "Operation", "chat", "spaceId", "properties", "label", "icon", "disposition", "NodeMatcher", "whenRoot", "client", "Capability", "space", "AppSpace", "getActiveSpace", "capabilities", "key", "serialize", "definition", "whenNonChatObject", "connector", "cache", "AssistantCapabilities", "objectUri", "getURI", "object", "Option", "fromNullable", "AppNode", "makeCompanion", "position", "whenAny", "makeDeckCompanion", "linkedSegment", "TypeSection", "node", "succeed", "subject", "target", "hidden", "targetNodeId", "getChatsPath", "invoke"]
7
+ }
@@ -4,7 +4,7 @@ import "./chunk-J5LGTIGS.mjs";
4
4
  import * as Effect from "effect/Effect";
5
5
  import { Capabilities, Capability } from "@dxos/app-framework";
6
6
  import { AppCapabilities } from "@dxos/app-toolkit";
7
- import { AgentBlueprint, AgentBlueprintHandlers, AgentHandlers, AgentWizardBlueprint, AgentWizardHandlers, BlueprintManagerBlueprint, BlueprintManagerHandlers, BrowserBlueprint, DatabaseBlueprint, DatabaseHandlers, DiscordBlueprint, LinearBlueprint, PlanningBlueprint, WebSearchBlueprint, WebSearchHandlers, MemoryBlueprint, AutomationBlueprint, DelegationBlueprint, DelegationHandlers, makeDelegationStrategy } from "@dxos/assistant-toolkit";
7
+ import { AgentBlueprint, AgentBlueprintHandlers, AgentHandlers, AgentWizardBlueprint, AgentWizardHandlers, BlueprintManagerBlueprint, BlueprintManagerHandlers, BrowserBlueprint, DatabaseBlueprint, DatabaseHandlers, DiscordBlueprint, LinearBlueprint, PlanningBlueprint, WebSearchBlueprint, WebSearchHandlers, MemoryBlueprint, AutomationBlueprint, DelegationBlueprint, DelegationHandlers, makeDelegationStrategy, makePlanCompletionGuard } from "@dxos/assistant-toolkit";
8
8
  import { AutomationCapabilities } from "@dxos/plugin-automation";
9
9
  import { AssistantBlueprint } from "#blueprints";
10
10
  var blueprintDefinition = () => Effect.succeed([
@@ -30,10 +30,11 @@ var blueprintDefinition = () => Effect.succeed([
30
30
  Capability.contributes(Capabilities.OperationHandler, DelegationHandlers),
31
31
  // Run the conversational agent as a supervisor: delegate in-progress plan tasks to sub-agents
32
32
  // and fold their results back into the conversation (consumed by the AgentService LayerSpec).
33
- Capability.contributes(AutomationCapabilities.AgentDelegationStrategy, makeDelegationStrategy())
33
+ Capability.contributes(AutomationCapabilities.AgentDelegationStrategy, makeDelegationStrategy()),
34
+ Capability.contributes(AutomationCapabilities.AgentCompletionGuard, makePlanCompletionGuard())
34
35
  ]);
35
36
  var blueprint_definition_default = blueprintDefinition;
36
37
  export {
37
38
  blueprint_definition_default as default
38
39
  };
39
- //# sourceMappingURL=blueprint-definition-MH2QLYQH.mjs.map
40
+ //# sourceMappingURL=blueprint-definition-2XPYI35X.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport {\n AgentBlueprint,\n AgentBlueprintHandlers,\n AgentHandlers,\n AgentWizardBlueprint,\n AgentWizardHandlers,\n BlueprintManagerBlueprint,\n BlueprintManagerHandlers,\n BrowserBlueprint,\n DatabaseBlueprint,\n DatabaseHandlers,\n DiscordBlueprint,\n LinearBlueprint,\n PlanningBlueprint,\n WebSearchBlueprint,\n WebSearchHandlers,\n MemoryBlueprint,\n AutomationBlueprint,\n DelegationBlueprint,\n DelegationHandlers,\n makeDelegationStrategy,\n makePlanCompletionGuard,\n} from '@dxos/assistant-toolkit';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\n\nimport { AssistantBlueprint } from '#blueprints';\n\n// NOTE: Explicit annotation required: d.ts emit cannot portably name the inferred @dxos/compute types (TS2883).\nconst blueprintDefinition: () => Effect.Effect<Capability.Capability<unknown>[]> = () =>\n Effect.succeed([\n Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AgentBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AutomationBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BlueprintManagerBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AgentWizardBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DelegationBlueprint),\n\n Capability.contributes(Capabilities.OperationHandler, AgentHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentBlueprintHandlers),\n Capability.contributes(Capabilities.OperationHandler, BlueprintManagerHandlers),\n Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),\n Capability.contributes(Capabilities.OperationHandler, WebSearchHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers),\n Capability.contributes(Capabilities.OperationHandler, DelegationHandlers),\n\n // Run the conversational agent as a supervisor: delegate in-progress plan tasks to sub-agents\n // and fold their results back into the conversation (consumed by the AgentService LayerSpec).\n Capability.contributes(AutomationCapabilities.AgentDelegationStrategy, makeDelegationStrategy()),\n Capability.contributes(AutomationCapabilities.AgentCompletionGuard, makePlanCompletionGuard()),\n ]);\n\nexport default blueprintDefinition;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SACEC,gBACAC,wBACAC,eACAC,sBACAC,qBACAC,2BACAC,0BACAC,kBACAC,mBACAC,kBACAC,kBACAC,iBACAC,mBACAC,oBACAC,mBACAC,iBACAC,qBACAC,qBACAC,oBACAC,wBACAC,+BACK;AACP,SAASC,8BAA8B;AAEvC,SAASC,0BAA0B;AAGnC,IAAMC,sBAA6E,MAC1EC,eAAQ;EACb1B,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBJ,kBAAAA;EAC5DxB,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBnB,gBAAAA;EAC5DT,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBlB,iBAAAA;EAC5DV,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBb,kBAAAA;EAC5Df,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBhB,gBAAAA;EAC5DZ,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBf,eAAAA;EAC5Db,WAAW2B,YAAY1B,gBAAgB2B,qBAAqB1B,cAAAA;EAC5DF,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBd,iBAAAA;EAC5Dd,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBX,eAAAA;EAC5DjB,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBV,mBAAAA;EAC5DlB,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBrB,yBAAAA;EAC5DP,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBvB,oBAAAA;EAC5DL,WAAW2B,YAAY1B,gBAAgB2B,qBAAqBT,mBAAAA;EAE5DnB,WAAW2B,YAAY5B,aAAa8B,kBAAkBzB,aAAAA;EACtDJ,WAAW2B,YAAY5B,aAAa8B,kBAAkB1B,sBAAAA;EACtDH,WAAW2B,YAAY5B,aAAa8B,kBAAkBrB,wBAAAA;EACtDR,WAAW2B,YAAY5B,aAAa8B,kBAAkBlB,gBAAAA;EACtDX,WAAW2B,YAAY5B,aAAa8B,kBAAkBb,iBAAAA;EACtDhB,WAAW2B,YAAY5B,aAAa8B,kBAAkBvB,mBAAAA;EACtDN,WAAW2B,YAAY5B,aAAa8B,kBAAkBT,kBAAAA;;;EAItDpB,WAAW2B,YAAYJ,uBAAuBO,yBAAyBT,uBAAAA,CAAAA;EACvErB,WAAW2B,YAAYJ,uBAAuBQ,sBAAsBT,wBAAAA,CAAAA;CACrE;AAEH,IAAA,+BAAeG;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "AgentBlueprint", "AgentBlueprintHandlers", "AgentHandlers", "AgentWizardBlueprint", "AgentWizardHandlers", "BlueprintManagerBlueprint", "BlueprintManagerHandlers", "BrowserBlueprint", "DatabaseBlueprint", "DatabaseHandlers", "DiscordBlueprint", "LinearBlueprint", "PlanningBlueprint", "WebSearchBlueprint", "WebSearchHandlers", "MemoryBlueprint", "AutomationBlueprint", "DelegationBlueprint", "DelegationHandlers", "makeDelegationStrategy", "makePlanCompletionGuard", "AutomationCapabilities", "AssistantBlueprint", "blueprintDefinition", "succeed", "contributes", "BlueprintDefinition", "OperationHandler", "AgentDelegationStrategy", "AgentCompletionGuard"]
7
+ }
@@ -3,23 +3,23 @@ import "../chunk-J5LGTIGS.mjs";
3
3
  // src/capabilities/index.ts
4
4
  import { Capability } from "@dxos/app-framework";
5
5
  var AgentHydrator = Capability.lazy("AgentHydrator", () => import("../agent-hydrator-PJBYVMBW.mjs"));
6
- var AgentRuntime = Capability.lazy("AgentRuntime", () => import("../agent-service-WCAP5MLI.mjs"));
6
+ var AgentRuntime = Capability.lazy("AgentRuntime", () => import("../agent-service-WV5CSHAG.mjs"));
7
7
  var AiContext = Capability.lazy("AiContext", () => import("../ai-context-7WRHWYXY.mjs"));
8
8
  var AiService = Capability.lazy("AiService", () => import("../ai-service-AADUIKBY.mjs"));
9
9
  var IntegrationProvider = Capability.lazy("AnthropicIntegrationProvider", () => import("../integration-provider-RBD3AFJU.mjs"));
10
- var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-WUFHQH3Y.mjs"));
10
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-PTSRZXRN.mjs"));
11
11
  var AutomationTemplates = Capability.lazy("AutomationTemplates", () => import("../automation-templates-M2XQWGR6.mjs"));
12
- var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-MH2QLYQH.mjs"));
12
+ var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-2XPYI35X.mjs"));
13
13
  var CompanionChatProvisioner = Capability.lazy("CompanionChatProvisioner", () => import("../companion-chat-provisioner-YZZ73P6E.mjs"));
14
- var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-U2SOFZLR.mjs"));
14
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-BJUDDKQQ.mjs"));
15
15
  var EdgeModelResolver = Capability.lazy("EdgeModelResolver", () => import("../edge-model-resolver-BBVOJBGJ.mjs"));
16
16
  var LocalModelResolver = Capability.lazy("LocalModelResolver", () => import("../local-model-resolver-I2BENFFS.mjs"));
17
- var MarkdownExtension = Capability.lazy("MarkdownExtension", () => import("../markdown-extension-YMIFDMYF.mjs"));
17
+ var MarkdownExtension = Capability.lazy("MarkdownExtension", () => import("../markdown-extension-IJ5RQMQ4.mjs"));
18
18
  var Migrations = Capability.lazy("AssistantMigrations", () => import("../migrations-7DEMVBOG.mjs"));
19
19
  var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-SF36MOB5.mjs"));
20
- var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-XRTBW5OJ.mjs"));
21
- var Settings = Capability.lazy("Settings", () => import("../settings-W4BLWQ53.mjs"));
22
- var AssistantState = Capability.lazy("AssistantState", () => import("../state-H3G7QCU6.mjs"));
20
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-ES7UHZ65.mjs"));
21
+ var Settings = Capability.lazy("Settings", () => import("../settings-7Q3RITIT.mjs"));
22
+ var AssistantState = Capability.lazy("AssistantState", () => import("../state-XO2UYSSG.mjs"));
23
23
  var Toolkit = Capability.lazy("Toolkit", () => import("../toolkit-GVWXPDLJ.mjs"));
24
24
  export {
25
25
  AgentHydrator,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/capabilities/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport type { OperationHandlerSet } from '@dxos/compute';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\n\nimport type { AssistantPluginOptions } from '#types';\n\nexport const AgentHydrator = Capability.lazy('AgentHydrator', () => import('./agent-hydrator'));\nexport const AgentRuntime = Capability.lazy<void, Capability.Any[]>('AgentRuntime', () => import('./agent-service'));\nexport const AiContext = Capability.lazy<void, Capability.Any[]>('AiContext', () => import('./ai-context'));\nexport const AiService = Capability.lazy<AssistantPluginOptions | void, Capability.Any[]>(\n 'AiService',\n () => import('./ai-service'),\n);\nexport const IntegrationProvider = Capability.lazy(\n 'AnthropicIntegrationProvider',\n () => import('./integration-provider'),\n);\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\n// Explicit annotation: the contributed capability type references `Template` from @dxos/plugin-automation,\n// so the inferred lazy type needs annotating to stay portable (TS2883).\nexport const AutomationTemplates: Capability.LazyCapability<\n void,\n Capability.Capability<typeof AutomationCapabilities.Template>[]\n> = Capability.lazy('AutomationTemplates', () => import('./automation-templates'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CompanionChatProvisioner = Capability.lazy(\n 'CompanionChatProvisioner',\n () => import('./companion-chat-provisioner'),\n);\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const EdgeModelResolver = Capability.lazy('EdgeModelResolver', () => import('./edge-model-resolver'));\nexport const LocalModelResolver = Capability.lazy('LocalModelResolver', () => import('./local-model-resolver'));\nexport const MarkdownExtension = Capability.lazy('MarkdownExtension', () => import('./markdown-extension'));\nexport const Migrations = Capability.lazy('AssistantMigrations', () => import('./migrations'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const Settings = Capability.lazy('Settings', () => import('./settings'));\nexport const AssistantState = Capability.lazy('AssistantState', () => import('./state'));\nexport const Toolkit = Capability.lazy('Toolkit', () => import('./toolkit'));\n"],
5
- "mappings": ";;;AAIA,SAASA,kBAAkB;AAMpB,IAAMC,gBAAgBD,WAAWE,KAAK,iBAAiB,MAAM,OAAO,gCAAA,CAAA;AACpE,IAAMC,eAAeH,WAAWE,KAA6B,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAC1F,IAAME,YAAYJ,WAAWE,KAA6B,aAAa,MAAM,OAAO,4BAAA,CAAA;AACpF,IAAMG,YAAYL,WAAWE,KAClC,aACA,MAAM,OAAO,4BAAA,CAAA;AAER,IAAMI,sBAAsBN,WAAWE,KAC5C,gCACA,MAAM,OAAO,sCAAA,CAAA;AAER,IAAMK,kBAAkBP,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AAGxE,IAAMM,sBAGTR,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AACjD,IAAMO,sBAAsBT,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAMQ,2BAA2BV,WAAWE,KACjD,4BACA,MAAM,OAAO,4CAAA,CAAA;AAER,IAAMS,eAAeX,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMU,oBAAoBZ,WAAWE,KAAK,qBAAqB,MAAM,OAAO,qCAAA,CAAA;AAC5E,IAAMW,qBAAqBb,WAAWE,KAAK,sBAAsB,MAAM,OAAO,sCAAA,CAAA;AAC9E,IAAMY,oBAAoBd,WAAWE,KAAK,qBAAqB,MAAM,OAAO,oCAAA,CAAA;AAC5E,IAAMa,aAAaf,WAAWE,KAAK,uBAAuB,MAAM,OAAO,4BAAA,CAAA;AACvE,IAAMc,mBAAmBhB,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMe,eAAejB,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMgB,WAAWlB,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMiB,iBAAiBnB,WAAWE,KAAK,kBAAkB,MAAM,OAAO,uBAAA,CAAA;AACtE,IAAMkB,UAAUpB,WAAWE,KAAK,WAAW,MAAM,OAAO,yBAAA,CAAA;",
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport type { OperationHandlerSet } from '@dxos/compute';\n\nimport type { AssistantPluginOptions } from '#types';\n\nexport const AgentHydrator = Capability.lazy('AgentHydrator', () => import('./agent-hydrator'));\nexport const AgentRuntime = Capability.lazy<void, Capability.Any[]>('AgentRuntime', () => import('./agent-service'));\nexport const AiContext = Capability.lazy<void, Capability.Any[]>('AiContext', () => import('./ai-context'));\nexport const AiService = Capability.lazy<AssistantPluginOptions | void, Capability.Any[]>(\n 'AiService',\n () => import('./ai-service'),\n);\nexport const IntegrationProvider = Capability.lazy(\n 'AnthropicIntegrationProvider',\n () => import('./integration-provider'),\n);\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const AutomationTemplates = Capability.lazy('AutomationTemplates', () => import('./automation-templates'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CompanionChatProvisioner = Capability.lazy(\n 'CompanionChatProvisioner',\n () => import('./companion-chat-provisioner'),\n);\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const EdgeModelResolver = Capability.lazy('EdgeModelResolver', () => import('./edge-model-resolver'));\nexport const LocalModelResolver = Capability.lazy('LocalModelResolver', () => import('./local-model-resolver'));\nexport const MarkdownExtension = Capability.lazy('MarkdownExtension', () => import('./markdown-extension'));\nexport const Migrations = Capability.lazy('AssistantMigrations', () => import('./migrations'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const Settings = Capability.lazy('Settings', () => import('./settings'));\nexport const AssistantState = Capability.lazy('AssistantState', () => import('./state'));\nexport const Toolkit = Capability.lazy('Toolkit', () => import('./toolkit'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAKpB,IAAMC,gBAAgBD,WAAWE,KAAK,iBAAiB,MAAM,OAAO,gCAAA,CAAA;AACpE,IAAMC,eAAeH,WAAWE,KAA6B,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAC1F,IAAME,YAAYJ,WAAWE,KAA6B,aAAa,MAAM,OAAO,4BAAA,CAAA;AACpF,IAAMG,YAAYL,WAAWE,KAClC,aACA,MAAM,OAAO,4BAAA,CAAA;AAER,IAAMI,sBAAsBN,WAAWE,KAC5C,gCACA,MAAM,OAAO,sCAAA,CAAA;AAER,IAAMK,kBAAkBP,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMM,sBAAsBR,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAMO,sBAAsBT,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAMQ,2BAA2BV,WAAWE,KACjD,4BACA,MAAM,OAAO,4CAAA,CAAA;AAER,IAAMS,eAAeX,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMU,oBAAoBZ,WAAWE,KAAK,qBAAqB,MAAM,OAAO,qCAAA,CAAA;AAC5E,IAAMW,qBAAqBb,WAAWE,KAAK,sBAAsB,MAAM,OAAO,sCAAA,CAAA;AAC9E,IAAMY,oBAAoBd,WAAWE,KAAK,qBAAqB,MAAM,OAAO,oCAAA,CAAA;AAC5E,IAAMa,aAAaf,WAAWE,KAAK,uBAAuB,MAAM,OAAO,4BAAA,CAAA;AACvE,IAAMc,mBAAmBhB,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMe,eAAejB,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMgB,WAAWlB,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMiB,iBAAiBnB,WAAWE,KAAK,kBAAkB,MAAM,OAAO,uBAAA,CAAA;AACtE,IAAMkB,UAAUpB,WAAWE,KAAK,WAAW,MAAM,OAAO,yBAAA,CAAA;",
6
6
  "names": ["Capability", "AgentHydrator", "lazy", "AgentRuntime", "AiContext", "AiService", "IntegrationProvider", "AppGraphBuilder", "AutomationTemplates", "BlueprintDefinition", "CompanionChatProvisioner", "CreateObject", "EdgeModelResolver", "LocalModelResolver", "MarkdownExtension", "Migrations", "OperationHandler", "ReactSurface", "Settings", "AssistantState", "Toolkit"]
7
7
  }
@@ -1,10 +1,10 @@
1
1
  // src/paths.ts
2
- import { createTypeSectionPaths } from "@dxos/app-toolkit";
2
+ import { Paths } from "@dxos/app-toolkit";
3
3
  import { Chat } from "@dxos/assistant-toolkit";
4
- var { getSectionPath: getChatsPath, getObjectPath: getChatPath } = createTypeSectionPaths(Chat.Chat);
4
+ var { getSectionPath: getChatsPath, getObjectPath: getChatPath } = Paths.createTypeSectionPaths(Chat.Chat);
5
5
 
6
6
  export {
7
7
  getChatsPath,
8
8
  getChatPath
9
9
  };
10
- //# sourceMappingURL=chunk-HLANPOBA.mjs.map
10
+ //# sourceMappingURL=chunk-35EL65O4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/paths.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Paths } from '@dxos/app-toolkit';\nimport { Chat } from '@dxos/assistant-toolkit';\n\nconst { getSectionPath: getChatsPath, getObjectPath: getChatPath } = Paths.createTypeSectionPaths(Chat.Chat);\n\nexport { getChatsPath, getChatPath };\n"],
5
+ "mappings": ";AAIA,SAASA,aAAa;AACtB,SAASC,YAAY;AAErB,IAAM,EAAEC,gBAAgBC,cAAcC,eAAeC,YAAW,IAAKL,MAAMM,uBAAuBL,KAAKA,IAAI;",
6
+ "names": ["Paths", "Chat", "getSectionPath", "getChatsPath", "getObjectPath", "getChatPath", "createTypeSectionPaths"]
7
+ }