@dxos/plugin-assistant 0.9.0 → 0.9.1-staging.ee54ba693a

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 (619) hide show
  1. package/PLUGIN.mdl +18 -24
  2. package/dist/lib/neutral/{AgentArticle-K7XM46OQ.mjs → AgentArticle-GV6EEW3I.mjs} +9 -8
  3. package/dist/lib/neutral/AgentArticle-GV6EEW3I.mjs.map +7 -0
  4. package/dist/lib/neutral/AssistantPlugin.mjs +1 -1
  5. package/dist/lib/neutral/AssistantPlugin.node.mjs +6 -6
  6. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +3 -3
  7. package/dist/lib/neutral/AssistantPlugin.workerd.mjs +7 -34
  8. package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +4 -4
  9. package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs +302 -0
  10. package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs.map +7 -0
  11. package/dist/lib/neutral/{ChatArticle-VNVZCDUR.mjs → ChatArticle-OO7GGEFW.mjs} +2 -2
  12. package/dist/lib/neutral/{ChatCompanion-LBUHYWQG.mjs → ChatCompanion-GIFJRY6I.mjs} +28 -28
  13. package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs.map +7 -0
  14. package/dist/lib/neutral/{ChatDialog-DCA6FLOV.mjs → ChatDialog-5MXN4MXS.mjs} +9 -8
  15. package/dist/lib/neutral/ChatDialog-5MXN4MXS.mjs.map +7 -0
  16. package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs +72 -0
  17. package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs.map +7 -0
  18. package/dist/lib/neutral/{PlanArticle-TS5ULWYS.mjs → PlanArticle-VPK2IYWU.mjs} +8 -2
  19. package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs.map +7 -0
  20. package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs +114 -0
  21. package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs.map +7 -0
  22. package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs +63 -0
  23. package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs.map +7 -0
  24. package/dist/lib/neutral/TracePanel-JKNWADJ4.mjs +12 -0
  25. package/dist/lib/neutral/TracePanel-JKNWADJ4.mjs.map +7 -0
  26. package/dist/lib/neutral/{TriggerStatus-X7Y5JFZJ.mjs → TriggerStatus-FURRBHYA.mjs} +9 -7
  27. package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs.map +7 -0
  28. package/dist/lib/neutral/{agent-hydrator-PJBYVMBW.mjs → agent-hydrator-OBO3RHLO.mjs} +3 -4
  29. package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs.map +7 -0
  30. package/dist/lib/neutral/{agent-service-WCAP5MLI.mjs → agent-service-XFJ4VQMT.mjs} +6 -6
  31. package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs.map +7 -0
  32. package/dist/lib/neutral/ai-context-LIKJYMIN.mjs +14 -0
  33. package/dist/lib/neutral/ai-context-LIKJYMIN.mjs.map +7 -0
  34. package/dist/lib/neutral/{ai-service-AADUIKBY.mjs → ai-service-DM6YXWUC.mjs} +9 -5
  35. package/dist/lib/neutral/ai-service-DM6YXWUC.mjs.map +7 -0
  36. package/dist/lib/neutral/{app-graph-builder-WUFHQH3Y.mjs → app-graph-builder-OPVOEQY7.mjs} +45 -28
  37. package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs.map +7 -0
  38. package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs +97 -0
  39. package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs.map +7 -0
  40. package/dist/lib/neutral/capabilities/index.mjs +21 -19
  41. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  42. package/dist/lib/neutral/{chunk-KLYLW4WH.mjs → chunk-5IHQ52KJ.mjs} +1 -1
  43. package/dist/lib/neutral/chunk-5IHQ52KJ.mjs.map +7 -0
  44. package/dist/lib/neutral/{chunk-YXRGZYYH.mjs → chunk-6Q4OBGIK.mjs} +87 -59
  45. package/dist/lib/neutral/chunk-6Q4OBGIK.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-BXI2R4OO.mjs +410 -0
  47. package/dist/lib/neutral/chunk-BXI2R4OO.mjs.map +7 -0
  48. package/dist/lib/neutral/{chunk-5H6UJHLF.mjs → chunk-CMPLPDYE.mjs} +12 -12
  49. package/dist/lib/neutral/chunk-CMPLPDYE.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-GPHT3HYS.mjs +8 -0
  51. package/dist/lib/neutral/{chunk-SMFJD7BP.mjs.map → chunk-GPHT3HYS.mjs.map} +2 -2
  52. package/dist/lib/neutral/chunk-HKLSFB5I.mjs +90 -0
  53. package/dist/lib/neutral/chunk-HKLSFB5I.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-L7AR4VTA.mjs +53 -0
  55. package/dist/lib/neutral/chunk-L7AR4VTA.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-LS72HWMM.mjs +42 -0
  57. package/dist/lib/neutral/chunk-LS72HWMM.mjs.map +7 -0
  58. package/dist/lib/neutral/{chunk-HLANPOBA.mjs → chunk-OZWZGIV2.mjs} +5 -3
  59. package/dist/lib/neutral/chunk-OZWZGIV2.mjs.map +7 -0
  60. package/dist/lib/neutral/{toolkit-GVWXPDLJ.mjs → chunk-QOKLFHUS.mjs} +3 -4
  61. package/dist/lib/neutral/{toolkit-GVWXPDLJ.mjs.map → chunk-QOKLFHUS.mjs.map} +1 -1
  62. package/dist/lib/neutral/{TracePanel-KTZJ6JNR.mjs → chunk-SCTHQVIJ.mjs} +11 -23
  63. package/dist/lib/neutral/chunk-SCTHQVIJ.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-U4LTLBAX.mjs +56 -0
  65. package/dist/lib/neutral/chunk-U4LTLBAX.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-RKVVK3R3.mjs → chunk-UPKFUZ6V.mjs} +22 -17
  67. package/dist/lib/neutral/chunk-UPKFUZ6V.mjs.map +7 -0
  68. package/dist/lib/neutral/{operation-handler-SF36MOB5.mjs → chunk-V2Y4XE3O.mjs} +3 -4
  69. package/dist/lib/neutral/{operation-handler-SF36MOB5.mjs.map → chunk-V2Y4XE3O.mjs.map} +1 -1
  70. package/dist/lib/neutral/chunk-XVGEJWJX.mjs +133 -0
  71. package/dist/lib/neutral/chunk-XVGEJWJX.mjs.map +7 -0
  72. package/dist/lib/neutral/{companion-chat-provisioner-YZZ73P6E.mjs → companion-chat-provisioner-IQV5VIVE.mjs} +14 -8
  73. package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs.map +7 -0
  74. package/dist/lib/neutral/components/index.mjs +749 -632
  75. package/dist/lib/neutral/components/index.mjs.map +4 -4
  76. package/dist/lib/neutral/{integration-provider-RBD3AFJU.mjs → connector-ITLLTBPZ.mjs} +13 -14
  77. package/dist/lib/neutral/connector-ITLLTBPZ.mjs.map +7 -0
  78. package/dist/lib/neutral/containers/index.mjs +15 -13
  79. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  80. package/dist/lib/neutral/{create-chat-SGGQ6HVN.mjs → create-chat-YGVZZYGP.mjs} +18 -16
  81. package/dist/lib/neutral/create-chat-YGVZZYGP.mjs.map +7 -0
  82. package/dist/lib/neutral/{create-object-U2SOFZLR.mjs → create-object-5PAEJ6KM.mjs} +11 -27
  83. package/dist/lib/neutral/create-object-5PAEJ6KM.mjs.map +7 -0
  84. package/dist/lib/neutral/{edge-model-resolver-BBVOJBGJ.mjs → edge-model-resolver-WDJWDZTT.mjs} +2 -2
  85. package/dist/lib/neutral/execution-graph/index.mjs +336 -62
  86. package/dist/lib/neutral/execution-graph/index.mjs.map +4 -4
  87. package/dist/lib/neutral/extensions/index.mjs +8 -0
  88. package/dist/lib/neutral/{fork-chat-34KEF4ZJ.mjs → fork-chat-RMAAYYQF.mjs} +16 -19
  89. package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs.map +7 -0
  90. package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs +93 -0
  91. package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs.map +7 -0
  92. package/dist/lib/neutral/hooks/index.mjs +393 -508
  93. package/dist/lib/neutral/hooks/index.mjs.map +4 -4
  94. package/dist/lib/neutral/index.mjs +14 -10
  95. package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs +41 -0
  96. package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs.map +7 -0
  97. package/dist/lib/neutral/meta.json +1 -1
  98. package/dist/lib/neutral/meta.mjs +1 -1
  99. package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs +18 -0
  100. package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs.map +7 -0
  101. package/dist/lib/neutral/operation-handler-2LEN45GP.mjs +8 -0
  102. package/dist/lib/neutral/operation-handler-2LEN45GP.mjs.map +7 -0
  103. package/dist/lib/neutral/operations/index.mjs +1 -1
  104. package/dist/lib/neutral/plugin.mjs +2 -2
  105. package/dist/lib/neutral/plugin.workerd.mjs +13 -0
  106. package/dist/lib/neutral/plugin.workerd.mjs.map +7 -0
  107. package/dist/lib/neutral/{react-surface-XRTBW5OJ.mjs → react-surface-HEJEK44F.mjs} +42 -45
  108. package/dist/lib/neutral/react-surface-HEJEK44F.mjs.map +7 -0
  109. package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs +28 -0
  110. package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs.map +7 -0
  111. package/dist/lib/neutral/{run-prompt-in-new-chat-D5IIE2C7.mjs → run-prompt-in-new-chat-RNUJE2FM.mjs} +31 -31
  112. package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs.map +7 -0
  113. package/dist/lib/neutral/{settings-W4BLWQ53.mjs → settings-7Q3RITIT.mjs} +3 -3
  114. package/dist/lib/neutral/{settings-W4BLWQ53.mjs.map → settings-7Q3RITIT.mjs.map} +3 -3
  115. package/dist/lib/neutral/skill-definition-553MQRTR.mjs +8 -0
  116. package/dist/lib/neutral/skill-definition-553MQRTR.mjs.map +7 -0
  117. package/dist/lib/neutral/skills/index.mjs +8 -0
  118. package/dist/lib/neutral/skills/index.mjs.map +7 -0
  119. package/dist/lib/neutral/{state-H3G7QCU6.mjs → state-4LGAKSSD.mjs} +9 -3
  120. package/dist/lib/neutral/state-4LGAKSSD.mjs.map +7 -0
  121. package/dist/lib/neutral/testing.mjs +1 -1
  122. package/dist/lib/neutral/toolkit-ETWLG5NT.mjs +8 -0
  123. package/dist/lib/neutral/toolkit-ETWLG5NT.mjs.map +7 -0
  124. package/dist/lib/neutral/translations.mjs +69 -31
  125. package/dist/lib/neutral/translations.mjs.map +3 -3
  126. package/dist/lib/neutral/types/index.mjs +5 -1
  127. package/dist/lib/neutral/{update-chat-name-Y7JWIP64.mjs → update-chat-name-IJJELRR6.mjs} +3 -3
  128. package/dist/lib/neutral/{update-chat-name-Y7JWIP64.mjs.map → update-chat-name-IJJELRR6.mjs.map} +2 -2
  129. package/dist/types/dx.config.d.ts +28 -0
  130. package/dist/types/dx.config.d.ts.map +1 -0
  131. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  132. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/agent-hydrator.d.ts +1 -1
  134. package/dist/types/src/capabilities/agent-service.d.ts +1 -2
  135. package/dist/types/src/capabilities/agent-service.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/ai-context.d.ts +1 -2
  137. package/dist/types/src/capabilities/ai-context.d.ts.map +1 -1
  138. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -3
  139. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/automation-templates.d.ts +1 -2
  141. package/dist/types/src/capabilities/automation-templates.d.ts.map +1 -1
  142. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +1 -1
  143. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -1
  144. package/dist/types/src/capabilities/{integration-provider.d.ts → connector.d.ts} +2 -2
  145. package/dist/types/src/capabilities/connector.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/create-object.d.ts +1 -27
  147. package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
  148. package/dist/types/src/capabilities/index.d.ts +18 -57
  149. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/markdown-extension.d.ts +1 -1
  151. package/dist/types/src/capabilities/migrations.d.ts +1 -2
  152. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  153. package/dist/types/src/capabilities/navigation-resolver.d.ts +5 -0
  154. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  156. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  157. package/dist/types/src/capabilities/settings.d.ts +1 -2
  158. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  159. package/dist/types/src/capabilities/skill-definition.d.ts +5 -0
  160. package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/state.d.ts +1 -17
  162. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  163. package/dist/types/src/capabilities/toolkit.d.ts +1 -2
  164. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  165. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/Chat/Chat.d.ts +10 -8
  167. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  168. package/dist/types/src/components/Chat/Chat.stories.d.ts +32 -0
  169. package/dist/types/src/components/Chat/Chat.stories.d.ts.map +1 -0
  170. package/dist/types/src/components/Chat/events.d.ts +0 -4
  171. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  172. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -2
  173. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  174. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +2 -2
  176. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +5 -5
  178. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -1
  179. package/dist/types/src/components/ChatPrompt/useChatVoiceInput.d.ts +9 -0
  180. package/dist/types/src/components/ChatPrompt/useChatVoiceInput.d.ts.map +1 -0
  181. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +4 -4
  182. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  183. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +2 -2
  184. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -1
  185. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  186. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +2 -2
  187. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -1
  188. package/dist/types/src/components/ChatThread/widgets/SurfaceWidget.d.ts +11 -0
  189. package/dist/types/src/components/ChatThread/widgets/SurfaceWidget.d.ts.map +1 -0
  190. package/dist/types/src/components/ChatThread/widgets/index.d.ts +1 -0
  191. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
  192. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +6 -0
  193. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  194. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +1 -0
  195. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -1
  196. package/dist/types/src/components/TaskList/TaskList.d.ts +8 -0
  197. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -1
  198. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +5 -2
  199. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
  200. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -3
  201. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  202. package/dist/types/src/components/index.d.ts +1 -4
  203. package/dist/types/src/components/index.d.ts.map +1 -1
  204. package/dist/types/src/constants.d.ts +1 -1
  205. package/dist/types/src/constants.d.ts.map +1 -1
  206. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +2 -2
  207. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
  208. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts +1 -1
  209. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
  210. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
  211. package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts +12 -0
  212. package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts.map +1 -0
  213. package/dist/types/src/{components/TemplateEditor/TemplateEditor.stories.d.ts → containers/AssistantSettings/OllamaModels.stories.d.ts} +9 -7
  214. package/dist/types/src/containers/AssistantSettings/OllamaModels.stories.d.ts.map +1 -0
  215. package/dist/types/src/{components → containers}/AssistantSettings/index.d.ts.map +1 -1
  216. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +3 -10
  217. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
  218. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +4 -11
  219. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
  220. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  221. package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts +13 -0
  222. package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts.map +1 -0
  223. package/dist/types/src/containers/IntegrationPrompt/index.d.ts +2 -0
  224. package/dist/types/src/{components/RoutineProperties → containers/IntegrationPrompt}/index.d.ts.map +1 -1
  225. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -1
  226. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts +15 -0
  227. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -0
  228. package/dist/types/src/containers/SpaceHomePrompt/index.d.ts +2 -0
  229. package/dist/types/src/containers/SpaceHomePrompt/index.d.ts.map +1 -0
  230. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +13 -0
  231. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -0
  232. package/dist/types/src/containers/SpaceHomeSuggestions/index.d.ts +2 -0
  233. package/dist/types/src/containers/SpaceHomeSuggestions/index.d.ts.map +1 -0
  234. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  235. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
  236. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +1 -1
  237. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -1
  238. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  239. package/dist/types/src/containers/index.d.ts +4 -3
  240. package/dist/types/src/containers/index.d.ts.map +1 -1
  241. package/dist/types/src/execution-graph/execution-graph.d.ts +20 -1
  242. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
  243. package/dist/types/src/execution-graph/index.d.ts +3 -2
  244. package/dist/types/src/execution-graph/index.d.ts.map +1 -1
  245. package/dist/types/src/execution-graph/pending-block-status.d.ts +26 -0
  246. package/dist/types/src/execution-graph/pending-block-status.d.ts.map +1 -0
  247. package/dist/types/src/execution-graph/pending-block-status.test.d.ts +2 -0
  248. package/dist/types/src/execution-graph/pending-block-status.test.d.ts.map +1 -0
  249. package/dist/types/src/execution-graph/span-tree.d.ts +13 -0
  250. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -1
  251. package/dist/types/src/extensions/index.d.ts +1 -1
  252. package/dist/types/src/extensions/index.d.ts.map +1 -1
  253. package/dist/types/src/extensions/prompt-extension.d.ts +1 -1
  254. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  255. package/dist/types/src/feed-logger.d.ts +3 -2
  256. package/dist/types/src/feed-logger.d.ts.map +1 -1
  257. package/dist/types/src/hooks/index.d.ts +4 -2
  258. package/dist/types/src/hooks/index.d.ts.map +1 -1
  259. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  260. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  261. package/dist/types/src/hooks/useHomeSuggestions.d.ts +8 -0
  262. package/dist/types/src/hooks/useHomeSuggestions.d.ts.map +1 -0
  263. package/dist/types/src/hooks/usePresets.d.ts +6 -2
  264. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  265. package/dist/types/src/hooks/useProcessEphemeralStatus.d.ts +10 -0
  266. package/dist/types/src/hooks/useProcessEphemeralStatus.d.ts.map +1 -0
  267. package/dist/types/src/hooks/useSkillRegistry.d.ts +21 -0
  268. package/dist/types/src/hooks/useSkillRegistry.d.ts.map +1 -0
  269. package/dist/types/src/hooks/useTraceMessages.d.ts +12 -0
  270. package/dist/types/src/hooks/useTraceMessages.d.ts.map +1 -0
  271. package/dist/types/src/index.d.ts +1 -1
  272. package/dist/types/src/index.d.ts.map +1 -1
  273. package/dist/types/src/meta.d.ts +32 -2
  274. package/dist/types/src/meta.d.ts.map +1 -1
  275. package/dist/types/src/operations/create-chat.d.ts.map +1 -1
  276. package/dist/types/src/operations/fork-chat.d.ts.map +1 -1
  277. package/dist/types/src/operations/generate-home-suggestions.d.ts +5 -0
  278. package/dist/types/src/operations/generate-home-suggestions.d.ts.map +1 -0
  279. package/dist/types/src/operations/generate-home-suggestions.test.d.ts +2 -0
  280. package/dist/types/src/operations/generate-home-suggestions.test.d.ts.map +1 -0
  281. package/dist/types/src/operations/index.d.ts.map +1 -1
  282. package/dist/types/src/operations/resolve-navigation-targets.d.ts +3 -15
  283. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
  284. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +2 -2
  285. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  286. package/dist/types/src/paths.d.ts +1 -1
  287. package/dist/types/src/paths.d.ts.map +1 -1
  288. package/dist/types/src/plugin.workerd.d.ts +2 -0
  289. package/dist/types/src/plugin.workerd.d.ts.map +1 -0
  290. package/dist/types/src/processor/presets.d.ts +20 -9
  291. package/dist/types/src/processor/presets.d.ts.map +1 -1
  292. package/dist/types/src/processor/processor.d.ts +33 -209
  293. package/dist/types/src/processor/processor.d.ts.map +1 -1
  294. package/dist/types/src/skills/assistant/index.d.ts +2 -0
  295. package/dist/types/src/skills/assistant/index.d.ts.map +1 -0
  296. package/dist/types/src/skills/assistant/skill.d.ts +4 -0
  297. package/dist/types/src/skills/assistant/skill.d.ts.map +1 -0
  298. package/dist/types/src/skills/assistant/skill.node.test.d.ts +2 -0
  299. package/dist/types/src/skills/assistant/skill.node.test.d.ts.map +1 -0
  300. package/dist/types/src/skills/index.d.ts.map +1 -0
  301. package/dist/types/src/templates/daily-digest.d.ts +2 -2
  302. package/dist/types/src/templates/daily-digest.d.ts.map +1 -1
  303. package/dist/types/src/templates/index.d.ts +3 -3
  304. package/dist/types/src/templates/index.d.ts.map +1 -1
  305. package/dist/types/src/templates/research-brief.d.ts +2 -2
  306. package/dist/types/src/templates/research-brief.d.ts.map +1 -1
  307. package/dist/types/src/templates/routine-templates.test.d.ts +2 -0
  308. package/dist/types/src/templates/routine-templates.test.d.ts.map +1 -0
  309. package/dist/types/src/templates/scaffold.d.ts +9 -9
  310. package/dist/types/src/templates/scaffold.d.ts.map +1 -1
  311. package/dist/types/src/testing/test-generator.d.ts +1 -1
  312. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  313. package/dist/types/src/testing/test-sequence.d.ts +1 -8
  314. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  315. package/dist/types/src/testing/test-trace.d.ts.map +1 -1
  316. package/dist/types/src/translations.d.ts.map +1 -1
  317. package/dist/types/src/types/Assistant.d.ts +5 -12
  318. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  319. package/dist/types/src/types/AssistantCapabilities.d.ts +21 -0
  320. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
  321. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -1
  322. package/dist/types/src/types/AssistantOperation.d.ts +17 -110
  323. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -1
  324. package/dist/types/src/types/ChatSurface.d.ts +12 -0
  325. package/dist/types/src/types/ChatSurface.d.ts.map +1 -0
  326. package/dist/types/src/types/Ollama.d.ts +44 -0
  327. package/dist/types/src/types/Ollama.d.ts.map +1 -0
  328. package/dist/types/src/types/Settings.d.ts +5 -4
  329. package/dist/types/src/types/Settings.d.ts.map +1 -1
  330. package/dist/types/src/types/index.d.ts +2 -0
  331. package/dist/types/src/types/index.d.ts.map +1 -1
  332. package/dist/types/src/types/service.d.ts +4 -3
  333. package/dist/types/src/types/service.d.ts.map +1 -1
  334. package/dist/types/src/util/error-cause.d.ts +3 -0
  335. package/dist/types/src/util/error-cause.d.ts.map +1 -0
  336. package/dist/types/src/util/suggestions.d.ts +1 -1
  337. package/dist/types/tsconfig.tsbuildinfo +1 -1
  338. package/dx.config.ts +38 -0
  339. package/package.json +103 -90
  340. package/src/AssistantPlugin.conversations.json +1 -1
  341. package/src/AssistantPlugin.node.ts +5 -5
  342. package/src/AssistantPlugin.test.ts +27 -41
  343. package/src/AssistantPlugin.ts +14 -12
  344. package/src/AssistantPlugin.workerd.ts +15 -6
  345. package/src/capabilities/agent-hydrator.ts +1 -2
  346. package/src/capabilities/agent-service.ts +7 -5
  347. package/src/capabilities/ai-context.ts +7 -32
  348. package/src/capabilities/ai-service.ts +3 -2
  349. package/src/capabilities/app-graph-builder.ts +43 -28
  350. package/src/capabilities/automation-templates.ts +3 -3
  351. package/src/capabilities/companion-chat-provisioner.ts +22 -6
  352. package/src/capabilities/{integration-provider.ts → connector.ts} +7 -12
  353. package/src/capabilities/create-object.ts +9 -26
  354. package/src/capabilities/index.ts +4 -12
  355. package/src/capabilities/markdown-extension.ts +7 -4
  356. package/src/capabilities/navigation-resolver.ts +20 -0
  357. package/src/capabilities/react-surface.tsx +55 -52
  358. package/src/capabilities/settings.ts +2 -2
  359. package/src/capabilities/skill-definition.ts +72 -0
  360. package/src/capabilities/state.ts +8 -1
  361. package/src/components/AgentProperties/AgentProperties.stories.tsx +1 -2
  362. package/src/components/AgentProperties/AgentProperties.tsx +1 -1
  363. package/src/components/Chat/Chat.stories.tsx +94 -0
  364. package/src/components/Chat/Chat.tsx +67 -16
  365. package/src/components/Chat/events.ts +0 -6
  366. package/src/components/ChatPrompt/ChatActions.tsx +185 -20
  367. package/src/components/ChatPrompt/ChatMcpErrors.tsx +1 -1
  368. package/src/components/ChatPrompt/ChatOptions.stories.tsx +3 -3
  369. package/src/components/ChatPrompt/ChatOptions.tsx +43 -50
  370. package/src/components/ChatPrompt/ChatPrompt.tsx +31 -47
  371. package/src/components/ChatPrompt/ChatReferences.tsx +1 -1
  372. package/src/components/ChatPrompt/useChatVoiceInput.ts +103 -0
  373. package/src/components/ChatThread/Anchor.stories.tsx +1 -1
  374. package/src/components/ChatThread/ChatThread.stories.tsx +7 -16
  375. package/src/components/ChatThread/DEBUG.md +23 -0
  376. package/src/components/ChatThread/MarkdownStream.stories.tsx +3 -3
  377. package/src/components/ChatThread/registry.tsx +43 -17
  378. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +2 -2
  379. package/src/components/ChatThread/widgets/SummaryWidget.tsx +1 -1
  380. package/src/components/ChatThread/widgets/SurfaceWidget.tsx +41 -0
  381. package/src/components/ChatThread/widgets/ToolWidget.tsx +1 -1
  382. package/src/components/ChatThread/widgets/index.ts +1 -0
  383. package/src/components/ProcessTree/ProcessTree.stories.tsx +7 -0
  384. package/src/components/ProcessTree/ProcessTree.tsx +183 -88
  385. package/src/components/TaskList/TaskList.stories.tsx +24 -3
  386. package/src/components/TaskList/TaskList.tsx +122 -28
  387. package/src/components/ToolBlock/ToolBlock.tsx +1 -1
  388. package/src/components/Toolbox/Toolbox.tsx +11 -11
  389. package/src/components/index.ts +1 -6
  390. package/src/constants.ts +1 -1
  391. package/src/containers/AgentArticle/AgentArticle.stories.tsx +12 -13
  392. package/src/containers/AgentArticle/AgentArticle.tsx +10 -10
  393. package/src/{components → containers}/AssistantSettings/AssistantSettings.stories.tsx +3 -2
  394. package/src/containers/AssistantSettings/AssistantSettings.tsx +90 -0
  395. package/src/containers/AssistantSettings/OllamaModels.stories.tsx +108 -0
  396. package/src/containers/AssistantSettings/OllamaModels.tsx +255 -0
  397. package/src/containers/ChatArticle/ChatArticle.stories.tsx +3 -3
  398. package/src/containers/ChatArticle/ChatArticle.tsx +25 -28
  399. package/src/containers/ChatCompanion/ChatCompanion.tsx +27 -27
  400. package/src/containers/ChatDialog/ChatDialog.tsx +10 -7
  401. package/src/containers/IntegrationPrompt/IntegrationPrompt.tsx +79 -0
  402. package/src/containers/IntegrationPrompt/index.ts +5 -0
  403. package/src/containers/PlanArticle/PlanArticle.tsx +5 -1
  404. package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +107 -0
  405. package/src/containers/SpaceHomePrompt/index.ts +5 -0
  406. package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +83 -0
  407. package/src/containers/SpaceHomeSuggestions/index.ts +5 -0
  408. package/src/containers/TracePanel/TracePanel.stories.tsx +89 -47
  409. package/src/containers/TracePanel/TracePanel.tsx +15 -37
  410. package/src/containers/TracePanel/dxn-extractor.test.ts +2 -2
  411. package/src/containers/TriggerStatus/TriggerStatus.tsx +10 -6
  412. package/src/containers/index.ts +4 -3
  413. package/src/execution-graph/SPEC.md +1 -1
  414. package/src/execution-graph/execution-graph.test.ts +213 -25
  415. package/src/execution-graph/execution-graph.ts +337 -70
  416. package/src/execution-graph/index.ts +15 -5
  417. package/src/execution-graph/pending-block-status.test.ts +114 -0
  418. package/src/execution-graph/pending-block-status.ts +88 -0
  419. package/src/execution-graph/span-tree.test.ts +33 -1
  420. package/src/execution-graph/span-tree.ts +43 -2
  421. package/src/execution-graph/sub-agent-delegation.test.ts +34 -19
  422. package/src/extensions/index.ts +1 -1
  423. package/src/extensions/prompt-extension.ts +102 -73
  424. package/src/feed-logger.ts +24 -22
  425. package/src/functions/services.test.ts +4 -4
  426. package/src/hooks/index.ts +4 -2
  427. package/src/hooks/useChatProcessor.ts +12 -16
  428. package/src/hooks/useChatServices.ts +2 -2
  429. package/src/hooks/useChatToolbarActions.ts +5 -5
  430. package/src/hooks/useContextBinder.ts +2 -4
  431. package/src/hooks/useDebug.ts +2 -2
  432. package/src/hooks/useHomeSuggestions.ts +55 -0
  433. package/src/hooks/usePresets.ts +80 -11
  434. package/src/hooks/useProcessEphemeralStatus.ts +192 -0
  435. package/src/hooks/useReferencesProvider.ts +1 -1
  436. package/src/hooks/useSkillRegistry.ts +125 -0
  437. package/src/hooks/useTraceMessages.ts +41 -0
  438. package/src/index.ts +1 -1
  439. package/src/meta.ts +3 -31
  440. package/src/operations/create-chat.ts +11 -12
  441. package/src/operations/fork-chat.ts +15 -20
  442. package/src/operations/generate-home-suggestions.test.ts +103 -0
  443. package/src/operations/generate-home-suggestions.ts +116 -0
  444. package/src/operations/index.ts +1 -0
  445. package/src/operations/prompt.node.test.ts +14 -17
  446. package/src/operations/resolve-navigation-targets.ts +32 -19
  447. package/src/operations/run-prompt-in-new-chat.ts +34 -35
  448. package/src/operations/update-chat-name.ts +2 -2
  449. package/src/paths.ts +5 -3
  450. package/src/plugin.workerd.ts +5 -0
  451. package/src/processor/presets.ts +38 -61
  452. package/src/processor/processor.node.test.ts +72 -2
  453. package/src/processor/processor.ts +91 -21
  454. package/src/skills/assistant/index.ts +5 -0
  455. package/src/{blueprints/assistant/blueprint.node.test.ts → skills/assistant/skill.node.test.ts} +8 -8
  456. package/src/{blueprints/assistant/blueprint.ts → skills/assistant/skill.ts} +9 -9
  457. package/src/templates/daily-digest.ts +10 -12
  458. package/src/templates/index.ts +3 -3
  459. package/src/templates/research-brief.ts +15 -13
  460. package/src/templates/routine-templates.test.ts +55 -0
  461. package/src/templates/scaffold.ts +22 -57
  462. package/src/testing/data/trace-timeline-multiple.dx.json +1 -1
  463. package/src/testing/data/trace-timeline-remote.dx.json +1 -1
  464. package/src/testing/data/trace-timeline.dx.json +3430 -1093
  465. package/src/testing/test-generator.test.ts +26 -22
  466. package/src/testing/test-generator.ts +4 -8
  467. package/src/testing/test-trace.ts +2 -1
  468. package/src/testing/trace-timeline.node.test.ts +14 -14
  469. package/src/translations.ts +74 -31
  470. package/src/types/Assistant.ts +3 -1
  471. package/src/types/AssistantCapabilities.ts +24 -3
  472. package/src/types/AssistantEvents.ts +1 -1
  473. package/src/types/AssistantOperation.ts +22 -33
  474. package/src/types/ChatSurface.ts +16 -0
  475. package/src/types/Ollama.ts +59 -0
  476. package/src/types/Settings.ts +12 -10
  477. package/src/types/index.ts +3 -0
  478. package/src/types/service.ts +14 -14
  479. package/src/util/error-cause.ts +21 -0
  480. package/src/util/suggestions.ts +1 -1
  481. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs.map +0 -7
  482. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +0 -40
  483. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +0 -7
  484. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs +0 -27
  485. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs.map +0 -7
  486. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs.map +0 -7
  487. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs.map +0 -7
  488. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +0 -7
  489. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs +0 -119
  490. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs.map +0 -7
  491. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs +0 -48
  492. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs.map +0 -7
  493. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs +0 -17
  494. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs.map +0 -7
  495. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs.map +0 -7
  496. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs.map +0 -7
  497. package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs.map +0 -7
  498. package/dist/lib/neutral/agent-service-WCAP5MLI.mjs.map +0 -7
  499. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs +0 -42
  500. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs.map +0 -7
  501. package/dist/lib/neutral/ai-service-AADUIKBY.mjs.map +0 -7
  502. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs.map +0 -7
  503. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs +0 -115
  504. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs.map +0 -7
  505. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs +0 -39
  506. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs.map +0 -7
  507. package/dist/lib/neutral/blueprints/index.mjs +0 -8
  508. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +0 -7
  509. package/dist/lib/neutral/chunk-HLANPOBA.mjs.map +0 -7
  510. package/dist/lib/neutral/chunk-KLYLW4WH.mjs.map +0 -7
  511. package/dist/lib/neutral/chunk-QAZMOFPI.mjs +0 -130
  512. package/dist/lib/neutral/chunk-QAZMOFPI.mjs.map +0 -7
  513. package/dist/lib/neutral/chunk-RKVVK3R3.mjs.map +0 -7
  514. package/dist/lib/neutral/chunk-SMFJD7BP.mjs +0 -8
  515. package/dist/lib/neutral/chunk-XYHPOGTK.mjs +0 -43
  516. package/dist/lib/neutral/chunk-XYHPOGTK.mjs.map +0 -7
  517. package/dist/lib/neutral/chunk-YXRGZYYH.mjs.map +0 -7
  518. package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs.map +0 -7
  519. package/dist/lib/neutral/create-chat-SGGQ6HVN.mjs.map +0 -7
  520. package/dist/lib/neutral/create-object-U2SOFZLR.mjs.map +0 -7
  521. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs.map +0 -7
  522. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs.map +0 -7
  523. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs +0 -110
  524. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs.map +0 -7
  525. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs.map +0 -7
  526. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs +0 -22
  527. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +0 -7
  528. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs.map +0 -7
  529. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +0 -7
  530. package/dist/types/src/blueprints/assistant/blueprint.d.ts +0 -4
  531. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +0 -1
  532. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +0 -2
  533. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +0 -1
  534. package/dist/types/src/blueprints/assistant/index.d.ts +0 -2
  535. package/dist/types/src/blueprints/assistant/index.d.ts.map +0 -1
  536. package/dist/types/src/blueprints/index.d.ts.map +0 -1
  537. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  538. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  539. package/dist/types/src/capabilities/integration-provider.d.ts.map +0 -1
  540. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
  541. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +0 -7
  542. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +0 -1
  543. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +0 -15
  544. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +0 -1
  545. package/dist/types/src/components/RoutineProperties/index.d.ts +0 -2
  546. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +0 -13
  547. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +0 -1
  548. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +0 -1
  549. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +0 -21
  550. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +0 -1
  551. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +0 -16
  552. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +0 -1
  553. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +0 -12
  554. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +0 -1
  555. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +0 -3
  556. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +0 -1
  557. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +0 -8
  558. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +0 -1
  559. package/dist/types/src/components/TemplateEditor/index.d.ts +0 -2
  560. package/dist/types/src/components/TemplateEditor/index.d.ts.map +0 -1
  561. package/dist/types/src/components/TemplateEditor/types.d.ts +0 -18
  562. package/dist/types/src/components/TemplateEditor/types.d.ts.map +0 -1
  563. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +0 -6
  564. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +0 -1
  565. package/dist/types/src/containers/BlueprintArticle/index.d.ts +0 -2
  566. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +0 -1
  567. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +0 -6
  568. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +0 -1
  569. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +0 -15
  570. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +0 -1
  571. package/dist/types/src/containers/RoutineArticle/index.d.ts +0 -2
  572. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +0 -1
  573. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +0 -6
  574. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +0 -1
  575. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +0 -21
  576. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +0 -1
  577. package/dist/types/src/containers/RoutineList/index.d.ts +0 -2
  578. package/dist/types/src/containers/RoutineList/index.d.ts.map +0 -1
  579. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +0 -66
  580. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +0 -1
  581. package/dist/types/src/hooks/useOnline.d.ts +0 -3
  582. package/dist/types/src/hooks/useOnline.d.ts.map +0 -1
  583. package/dist/types/src/templates/automation-templates.test.d.ts +0 -2
  584. package/dist/types/src/templates/automation-templates.test.d.ts.map +0 -1
  585. package/src/blueprints/assistant/index.ts +0 -5
  586. package/src/capabilities/blueprint-definition.ts +0 -65
  587. package/src/components/AssistantSettings/AssistantSettings.tsx +0 -43
  588. package/src/components/RoutineProperties/RoutineProperties.stories.tsx +0 -59
  589. package/src/components/RoutineProperties/RoutineProperties.tsx +0 -23
  590. package/src/components/RoutineProperties/index.ts +0 -5
  591. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +0 -95
  592. package/src/components/TemplateEditor/TemplateEditor.tsx +0 -80
  593. package/src/components/TemplateEditor/TemplateForm.stories.tsx +0 -76
  594. package/src/components/TemplateEditor/TemplateForm.tsx +0 -204
  595. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +0 -274
  596. package/src/components/TemplateEditor/extensions/index.ts +0 -6
  597. package/src/components/TemplateEditor/extensions/xml-extension.ts +0 -64
  598. package/src/components/TemplateEditor/index.ts +0 -5
  599. package/src/components/TemplateEditor/types.tsx +0 -28
  600. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +0 -29
  601. package/src/containers/BlueprintArticle/index.ts +0 -5
  602. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +0 -75
  603. package/src/containers/RoutineArticle/RoutineArticle.tsx +0 -109
  604. package/src/containers/RoutineArticle/index.ts +0 -5
  605. package/src/containers/RoutineList/RoutineList.stories.tsx +0 -130
  606. package/src/containers/RoutineList/RoutineList.tsx +0 -50
  607. package/src/containers/RoutineList/index.ts +0 -5
  608. package/src/hooks/useBlueprintRegistry.ts +0 -125
  609. package/src/hooks/useOnline.ts +0 -10
  610. package/src/templates/automation-templates.test.ts +0 -66
  611. package/src/testing/trace-timeline.node.conversations.json +0 -1
  612. /package/dist/lib/neutral/{ChatArticle-VNVZCDUR.mjs.map → ChatArticle-OO7GGEFW.mjs.map} +0 -0
  613. /package/dist/lib/neutral/{edge-model-resolver-BBVOJBGJ.mjs.map → edge-model-resolver-WDJWDZTT.mjs.map} +0 -0
  614. /package/dist/lib/neutral/{blueprints → extensions}/index.mjs.map +0 -0
  615. /package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.stories.d.ts +0 -0
  616. /package/dist/types/src/{components → containers}/AssistantSettings/index.d.ts +0 -0
  617. /package/dist/types/src/{blueprints → skills}/index.d.ts +0 -0
  618. /package/src/{components → containers}/AssistantSettings/index.ts +0 -0
  619. /package/src/{blueprints → skills}/index.ts +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  ASSISTANT_COMPANION_VARIANT,
3
3
  ASSISTANT_DIALOG,
4
4
  meta
5
- } from "./chunk-XYHPOGTK.mjs";
5
+ } from "./chunk-L7AR4VTA.mjs";
6
6
  import "./chunk-J5LGTIGS.mjs";
7
7
  export {
8
8
  ASSISTANT_COMPANION_VARIANT,
@@ -0,0 +1,18 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/navigation-resolver.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities, Paths, TypeSection } from "@dxos/app-toolkit";
7
+ import { Chat } from "@dxos/assistant-toolkit";
8
+ var navigation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* () {
9
+ return [
10
+ Capability.contributes(AppCapabilities.NavigationPathResolver, TypeSection.createTypeSectionPathResolver(Chat.Chat, {
11
+ groupId: Paths.GroupSegments.ai
12
+ }))
13
+ ];
14
+ }));
15
+ export {
16
+ navigation_resolver_default as default
17
+ };
18
+ //# sourceMappingURL=navigation-resolver-PYGP2DAW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/navigation-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, Paths, TypeSection } from '@dxos/app-toolkit';\nimport { Chat } from '@dxos/assistant-toolkit';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return [\n Capability.contributes(\n AppCapabilities.NavigationPathResolver,\n TypeSection.createTypeSectionPathResolver(Chat.Chat, { groupId: Paths.GroupSegments.ai }),\n ),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,OAAOC,mBAAmB;AACpD,SAASC,YAAY;AAErB,IAAA,8BAAeJ,WAAWK,WACjBC,kBAAW,aAAA;AAChB,SAAO;IACLN,WAAWO,YACTN,gBAAgBO,wBAChBL,YAAYM,8BAA8BL,KAAKA,MAAM;MAAEM,SAASR,MAAMS,cAAcC;IAAG,CAAA,CAAA;;AAG7F,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "Paths", "TypeSection", "Chat", "makeModule", "fnUntraced", "contributes", "NavigationPathResolver", "createTypeSectionPathResolver", "groupId", "GroupSegments", "ai"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ operation_handler_default
3
+ } from "./chunk-V2Y4XE3O.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+ export {
6
+ operation_handler_default as default
7
+ };
8
+ //# sourceMappingURL=operation-handler-2LEN45GP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AssistantOperationHandlerSet
3
- } from "../chunk-SMFJD7BP.mjs";
3
+ } from "../chunk-GPHT3HYS.mjs";
4
4
  import "../chunk-J5LGTIGS.mjs";
5
5
  export {
6
6
  AssistantOperationHandlerSet
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AssistantOperationHandlerSet
3
- } from "./chunk-SMFJD7BP.mjs";
3
+ } from "./chunk-GPHT3HYS.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-XYHPOGTK.mjs";
6
+ } from "./chunk-L7AR4VTA.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/plugin.ts
@@ -0,0 +1,13 @@
1
+ import {
2
+ AssistantPlugin,
3
+ AssistantPlugin_workerd_default
4
+ } from "./chunk-U4LTLBAX.mjs";
5
+ import "./chunk-V2Y4XE3O.mjs";
6
+ import "./chunk-LS72HWMM.mjs";
7
+ import "./chunk-QOKLFHUS.mjs";
8
+ import "./chunk-J5LGTIGS.mjs";
9
+ export {
10
+ AssistantPlugin,
11
+ AssistantPlugin_workerd_default as default
12
+ };
13
+ //# sourceMappingURL=plugin.workerd.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -6,22 +6,24 @@ import React, { useEffect } from "react";
6
6
  import { Capabilities, Capability } from "@dxos/app-framework";
7
7
  import { Surface, useSettingsState } from "@dxos/app-framework/ui";
8
8
  import { AppSurface, useActiveSpace } from "@dxos/app-toolkit/ui";
9
- import { Chat, Agent, Plan } from "@dxos/assistant-toolkit";
9
+ import { Agent, Chat, Plan } from "@dxos/assistant-toolkit";
10
10
  import { getSpace } from "@dxos/client/echo";
11
- import { Blueprint, Routine } from "@dxos/compute";
11
+ import { Instructions } from "@dxos/compute";
12
12
  import { Sequence } from "@dxos/conductor";
13
13
  import { InvocationTraceContainer } from "@dxos/devtools";
14
14
  import { Feed, Obj } from "@dxos/echo";
15
15
  import { log } from "@dxos/log";
16
+ import { SpaceHomeContent, SpaceHomePinBottom } from "@dxos/plugin-space";
16
17
  import { Panel } from "@dxos/react-ui";
17
- import { AssistantSettings } from "#components";
18
- import { BlueprintArticle, ChatCompanion, ChatArticle, ChatDialog, AgentArticle, AgentProperties, PlanArticle, RoutineArticle, RoutineList, TracePanel, TriggerStatus } from "#containers";
18
+ import { Position } from "@dxos/util";
19
+ import { AgentArticle, AgentProperties, AssistantSettings, ChatArticle, ChatCompanion, ChatDialog, IntegrationPrompt, PlanArticle, SpaceHomePrompt, SpaceHomeSuggestions, TracePanel, TriggerStatus } from "#containers";
19
20
  import { ASSISTANT_COMPANION_VARIANT, ASSISTANT_DIALOG, meta } from "#meta";
21
+ import { ChatSurface } from "#types";
20
22
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/react-surface.tsx";
21
23
  var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
22
24
  Surface.create({
23
25
  id: "pluginSettings",
24
- filter: AppSurface.settings(AppSurface.Article, meta.id),
26
+ filter: AppSurface.settings(AppSurface.Article, meta.profile.key),
25
27
  component: ({ data: { subject } }) => {
26
28
  const { settings, updateSettings } = useSettingsState(subject.atom);
27
29
  return /* @__PURE__ */ React.createElement(AssistantSettings, {
@@ -30,10 +32,24 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
30
32
  });
31
33
  }
32
34
  }),
35
+ Surface.create({
36
+ id: "spaceHomePrompt",
37
+ filter: Surface.makeFilter(SpaceHomePinBottom),
38
+ component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceHomePrompt, {
39
+ space: data.space
40
+ })
41
+ }),
42
+ Surface.create({
43
+ id: "spaceHomeSuggestions",
44
+ filter: Surface.makeFilter(SpaceHomeContent),
45
+ position: Position.last,
46
+ component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceHomeSuggestions, {
47
+ space: data.space
48
+ })
49
+ }),
33
50
  Surface.create({
34
51
  id: "chat",
35
- role: "article",
36
- filter: (data) => typeof data.attendableId === "string" && Obj.instanceOf(Chat.Chat, data.subject) && data.variant !== ASSISTANT_COMPANION_VARIANT,
52
+ filter: AppSurface.object(AppSurface.Article, Chat.Chat, (data) => data.variant !== ASSISTANT_COMPANION_VARIANT),
37
53
  component: ({ data, role, ref }) => {
38
54
  return /* @__PURE__ */ React.createElement(ChatArticle, {
39
55
  role,
@@ -53,7 +69,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
53
69
  })
54
70
  }),
55
71
  Surface.create({
56
- id: "agentProperties",
72
+ id: "objectProperties",
57
73
  filter: AppSurface.object(AppSurface.ObjectProperties, Agent.Agent),
58
74
  component: ({ data }) => /* @__PURE__ */ React.createElement(AgentProperties, {
59
75
  subject: data.subject
@@ -61,8 +77,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
61
77
  }),
62
78
  Surface.create({
63
79
  id: "companionChat",
64
- role: "article",
65
- filter: (data) => typeof data.attendableId === "string" && Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === null),
80
+ filter: Surface.makeFilter(AppSurface.Article, (data) => Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === null)),
66
81
  component: ({ data: { subject, attendableId, companionTo }, role, ref }) => /* @__PURE__ */ React.createElement(ChatCompanion, {
67
82
  role,
68
83
  subject,
@@ -73,19 +88,16 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
73
88
  }),
74
89
  Surface.create({
75
90
  id: "companionInvocations",
76
- role: "article",
77
- filter: (data) => (Obj.instanceOf(Sequence.Sequence, data.companionTo) || Obj.instanceOf(Routine.Routine, data.companionTo)) && data.subject === "invocations",
91
+ filter: AppSurface.allOf(AppSurface.literal(AppSurface.Article, "invocations"), AppSurface.oneOf(AppSurface.companion(AppSurface.Article, Sequence.Sequence), AppSurface.companion(AppSurface.Article, Instructions.Instructions))),
78
92
  component: ({ data, role }) => {
79
93
  const space = getSpace(data.companionTo);
80
94
  const feed = space?.properties.invocationTraceFeed?.target;
81
95
  const feedDXN = feed ? Feed.getQueueUri(feed) : void 0;
82
- const target = Obj.instanceOf(Routine.Routine, data.companionTo) ? void 0 : data.companionTo;
96
+ const target = Obj.instanceOf(Instructions.Instructions, data.companionTo) ? void 0 : data.companionTo;
83
97
  return /* @__PURE__ */ React.createElement(Panel.Root, {
84
98
  role,
85
99
  className: "dx-document"
86
- }, /* @__PURE__ */ React.createElement(Panel.Content, {
87
- asChild: true
88
- }, /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
100
+ }, /* @__PURE__ */ React.createElement(Panel.Content, null, /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
89
101
  db: space?.db,
90
102
  feedDXN,
91
103
  target,
@@ -93,24 +105,6 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
93
105
  })));
94
106
  }
95
107
  }),
96
- Surface.create({
97
- id: "blueprint",
98
- filter: AppSurface.object(AppSurface.Article, Blueprint.Blueprint),
99
- component: ({ data, role }) => /* @__PURE__ */ React.createElement(BlueprintArticle, {
100
- role,
101
- subject: data.subject,
102
- attendableId: data.attendableId
103
- })
104
- }),
105
- Surface.create({
106
- id: "prompt",
107
- filter: AppSurface.object(AppSurface.Article, Routine.Routine),
108
- component: ({ data, role }) => /* @__PURE__ */ React.createElement(RoutineArticle, {
109
- role,
110
- subject: data.subject,
111
- attendableId: data.attendableId
112
- })
113
- }),
114
108
  Surface.create({
115
109
  id: "plan",
116
110
  filter: AppSurface.object(AppSurface.Article, Plan.Plan),
@@ -127,14 +121,14 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
127
121
  }),
128
122
  Surface.create({
129
123
  id: "trace",
130
- filter: AppSurface.literal(Surface.makeType("deck-companion--trace"), "trace"),
124
+ filter: Surface.makeFilter(AppSurface.deckCompanion("trace")),
131
125
  component: () => {
132
126
  const space = useActiveSpace();
133
127
  useEffect(() => {
134
128
  log("trace panel surface", {
135
129
  hasSpace: Boolean(space),
136
130
  spaceId: space?.id
137
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 134, S: void 0 });
131
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 128, S: void 0 });
138
132
  }, [
139
133
  space?.id
140
134
  ]);
@@ -146,9 +140,19 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
146
140
  });
147
141
  }
148
142
  }),
143
+ Surface.create({
144
+ id: "integrationPrompt",
145
+ filter: Surface.makeFilter(ChatSurface, (data) => data.role === "integration-prompt"),
146
+ component: ({ data }) => {
147
+ const service = typeof data.data?.service === "string" ? data.data.service : void 0;
148
+ return /* @__PURE__ */ React.createElement(IntegrationPrompt, {
149
+ service
150
+ });
151
+ }
152
+ }),
149
153
  Surface.create({
150
154
  id: "triggerStatus",
151
- role: "status-indicator",
155
+ filter: Surface.makeFilter(AppSurface.StatusIndicator),
152
156
  component: () => {
153
157
  const space = useActiveSpace();
154
158
  if (!space) {
@@ -159,16 +163,9 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
159
163
  space
160
164
  });
161
165
  }
162
- }),
163
- Surface.create({
164
- id: "prompts",
165
- filter: AppSurface.subject(Surface.makeType("prompts"), Obj.isObject),
166
- component: ({ data }) => /* @__PURE__ */ React.createElement(RoutineList, {
167
- subject: data.subject
168
- })
169
166
  })
170
167
  ])));
171
168
  export {
172
169
  react_surface_default as default
173
170
  };
174
- //# sourceMappingURL=react-surface-XRTBW5OJ.mjs.map
171
+ //# sourceMappingURL=react-surface-HEJEK44F.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { type ComponentProps, useEffect } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface, useSettingsState } from '@dxos/app-framework/ui';\nimport { AppSurface, useActiveSpace } from '@dxos/app-toolkit/ui';\nimport { Agent, Chat, Plan } from '@dxos/assistant-toolkit';\nimport { getSpace } from '@dxos/client/echo';\nimport { Instructions } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Feed, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { SpaceHomeContent, SpaceHomePinBottom } from '@dxos/plugin-space';\nimport { Panel } from '@dxos/react-ui';\nimport { Position } from '@dxos/util';\n\nimport {\n AgentArticle,\n AgentProperties,\n AssistantSettings,\n ChatArticle,\n ChatCompanion,\n ChatDialog,\n IntegrationPrompt,\n PlanArticle,\n SpaceHomePrompt,\n SpaceHomeSuggestions,\n TracePanel,\n TriggerStatus,\n} from '#containers';\nimport { ASSISTANT_COMPANION_VARIANT, ASSISTANT_DIALOG, meta } from '#meta';\nimport { type Assistant, ChatSurface } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'pluginSettings',\n filter: AppSurface.settings(AppSurface.Article, meta.profile.key),\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<Assistant.Settings>(subject.atom);\n return <AssistantSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Surface.create({\n id: 'spaceHomePrompt',\n filter: Surface.makeFilter(SpaceHomePinBottom),\n component: ({ data }) => <SpaceHomePrompt space={data.space} />,\n }),\n Surface.create({\n id: 'spaceHomeSuggestions',\n filter: Surface.makeFilter(SpaceHomeContent),\n position: Position.last,\n component: ({ data }) => <SpaceHomeSuggestions space={data.space} />,\n }),\n Surface.create({\n id: 'chat',\n filter: AppSurface.object(\n AppSurface.Article,\n Chat.Chat,\n (data) => data.variant !== ASSISTANT_COMPANION_VARIANT,\n ),\n component: ({ data, role, ref }) => {\n return <ChatArticle role={role} subject={data.subject} attendableId={data.attendableId} ref={ref} />;\n },\n }),\n Surface.create({\n id: 'agent',\n filter: AppSurface.object(AppSurface.Article, Agent.Agent),\n component: ({ data, role }) => (\n <AgentArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: 'objectProperties',\n filter: AppSurface.object(AppSurface.ObjectProperties, Agent.Agent),\n component: ({ data }) => <AgentProperties subject={data.subject} />,\n }),\n Surface.create({\n id: 'companionChat',\n filter: Surface.makeFilter(\n AppSurface.Article,\n (data) =>\n Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === null),\n ),\n component: ({ data: { subject, attendableId, companionTo }, role, ref }) => (\n <ChatCompanion\n role={role}\n subject={subject}\n attendableId={attendableId}\n companionTo={companionTo}\n ref={ref}\n />\n ),\n }),\n Surface.create({\n id: 'companionInvocations',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'invocations'),\n AppSurface.oneOf(\n AppSurface.companion(AppSurface.Article, Sequence.Sequence),\n AppSurface.companion(AppSurface.Article, Instructions.Instructions),\n ),\n ),\n component: ({ data, role }) => {\n const space = getSpace(data.companionTo);\n const feed = space?.properties.invocationTraceFeed?.target;\n const feedDXN = feed ? Feed.getQueueUri(feed) : undefined;\n // TODO(wittjosiah): Support invocation filtering for prompts.\n const target = Obj.instanceOf(Instructions.Instructions, data.companionTo) ? undefined : data.companionTo;\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Content>\n <InvocationTraceContainer db={space?.db} feedDXN={feedDXN} target={target} detailAxis='block' />\n </Panel.Content>\n </Panel.Root>\n );\n },\n }),\n Surface.create({\n id: 'plan',\n filter: AppSurface.object(AppSurface.Article, Plan.Plan),\n component: ({ data, role }) => (\n <PlanArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: ASSISTANT_DIALOG,\n filter: AppSurface.component<ComponentProps<typeof ChatDialog>>(AppSurface.Dialog, ASSISTANT_DIALOG),\n component: ({ data }) => <ChatDialog {...data.props} />,\n }),\n Surface.create({\n id: 'trace',\n filter: Surface.makeFilter(AppSurface.deckCompanion('trace')),\n component: () => {\n const space = useActiveSpace();\n useEffect(() => {\n log('trace panel surface', { hasSpace: Boolean(space), spaceId: space?.id });\n }, [space?.id]);\n\n if (!space) {\n return null;\n }\n\n return <TracePanel space={space} />;\n },\n }),\n Surface.create({\n id: 'integrationPrompt',\n filter: Surface.makeFilter(ChatSurface, (data) => data.role === 'integration-prompt'),\n component: ({ data }) => {\n // `data.data` is model-supplied JSON (untyped); narrow `service` before use.\n const service = typeof data.data?.service === 'string' ? data.data.service : undefined;\n return <IntegrationPrompt service={service} />;\n },\n }),\n Surface.create({\n id: 'triggerStatus',\n filter: Surface.makeFilter(AppSurface.StatusIndicator),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <TriggerStatus role='status-indicator' space={space} />;\n },\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "React", "useEffect", "Capabilities", "Capability", "Surface", "useSettingsState", "AppSurface", "useActiveSpace", "Agent", "Chat", "Plan", "getSpace", "Instructions", "Sequence", "InvocationTraceContainer", "Feed", "Obj", "log", "SpaceHomeContent", "SpaceHomePinBottom", "Panel", "Position", "AgentArticle", "AgentProperties", "AssistantSettings", "ChatArticle", "ChatCompanion", "ChatDialog", "IntegrationPrompt", "PlanArticle", "SpaceHomePrompt", "SpaceHomeSuggestions", "TracePanel", "TriggerStatus", "ASSISTANT_COMPANION_VARIANT", "ASSISTANT_DIALOG", "meta", "ChatSurface", "id", "filter", "component", "settings", "updateSettings", "subject", "onSettingsChange", "space", "data", "create", "position", "role", "attendableId", "ref", "companionTo", "feed", "properties", "feedDXN", "getQueueUri", "target", "instanceOf", "db", "detailAxis", "hasSpace", "spaceId", "service"]
7
+ }
@@ -0,0 +1,28 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/operations/resolve-navigation-targets.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities, AppSpace } from "@dxos/app-toolkit";
7
+ import { Operation } from "@dxos/compute";
8
+ import { Database, EID } from "@dxos/echo";
9
+ import { ClientCapabilities } from "@dxos/plugin-client";
10
+ import { AssistantOperation } from "#types";
11
+ var handler = AssistantOperation.ResolveNavigationTargets.pipe(Operation.withHandler(Effect.fn(function* ({ query }) {
12
+ const capabilities = yield* Capability.Service;
13
+ const client = yield* Capability.get(ClientCapabilities.Client).pipe(Effect.catchAll(() => Effect.succeed(void 0)));
14
+ const eid = query?.uri ? EID.tryParse(query.uri) : void 0;
15
+ const spaceId = eid ? EID.getSpaceId(eid) : void 0;
16
+ const space = client ? (spaceId ? client.spaces.get(spaceId) : void 0) ?? AppSpace.getActiveSpace(client, capabilities) : void 0;
17
+ const resolvers = capabilities.getAll(AppCapabilities.NavigationTargetResolver);
18
+ const resolve = Effect.forEach(resolvers, (resolver) => resolver(query).pipe(Effect.catchAll(() => Effect.succeed([]))));
19
+ const results = yield* space ? resolve.pipe(Effect.provide(Database.layer(space.db))) : resolve;
20
+ return {
21
+ targets: results.flat()
22
+ };
23
+ })));
24
+ var resolve_navigation_targets_default = handler;
25
+ export {
26
+ resolve_navigation_targets_default as default
27
+ };
28
+ //# sourceMappingURL=resolve-navigation-targets-PBQ3OLUE.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/resolve-navigation-targets.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppSpace } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Database, EID } from '@dxos/echo';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { AssistantOperation } from '#types';\n\nconst handler: Operation.WithHandler<typeof AssistantOperation.ResolveNavigationTargets> =\n AssistantOperation.ResolveNavigationTargets.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ query }) {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client).pipe(\n Effect.catchAll(() => Effect.succeed(undefined)),\n );\n\n // Object resolvers read the space database to derive a navigation path, but the agent tool\n // runtime does not bind Database.Service. Derive it from the queried object URI's space (or\n // the active space for space-less URIs) so resolution works for object URIs.\n const eid = query?.uri ? EID.tryParse(query.uri) : undefined;\n const spaceId = eid ? EID.getSpaceId(eid) : undefined;\n const space = client\n ? ((spaceId ? client.spaces.get(spaceId) : undefined) ?? AppSpace.getActiveSpace(client, capabilities))\n : undefined;\n\n // Delegate to contributed resolvers.\n const resolvers = capabilities.getAll(AppCapabilities.NavigationTargetResolver);\n const resolve = Effect.forEach(resolvers, (resolver) =>\n resolver(query).pipe(Effect.catchAll(() => Effect.succeed([]))),\n );\n const results = yield* space ? resolve.pipe(Effect.provide(Database.layer(space.db))) : resolve;\n return { targets: results.flat() };\n }),\n ),\n );\n\nexport default handler;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,gBAAgB;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,WAAW;AAC9B,SAASC,0BAA0B;AAEnC,SAASC,0BAA0B;AAEnC,IAAMC,UACJD,mBAAmBE,yBAAyBC,KAC1CP,UAAUQ,YACDC,UAAG,WAAW,EAAEC,MAAK,GAAE;AAC5B,QAAMC,eAAe,OAAOd,WAAWe;AACvC,QAAMC,SAAS,OAAOhB,WAAWiB,IAAIX,mBAAmBY,MAAM,EAAER,KACvDS,gBAAS,MAAaC,eAAQC,MAAAA,CAAAA,CAAAA;AAMvC,QAAMC,MAAMT,OAAOU,MAAMlB,IAAImB,SAASX,MAAMU,GAAG,IAAIF;AACnD,QAAMI,UAAUH,MAAMjB,IAAIqB,WAAWJ,GAAAA,IAAOD;AAC5C,QAAMM,QAAQX,UACRS,UAAUT,OAAOY,OAAOX,IAAIQ,OAAAA,IAAWJ,WAAcnB,SAAS2B,eAAeb,QAAQF,YAAAA,IACvFO;AAGJ,QAAMS,YAAYhB,aAAaiB,OAAO9B,gBAAgB+B,wBAAwB;AAC9E,QAAMC,UAAiBC,eAAQJ,WAAW,CAACK,aACzCA,SAAStB,KAAAA,EAAOH,KAAYS,gBAAS,MAAaC,eAAQ,CAAA,CAAE,CAAA,CAAA,CAAA;AAE9D,QAAMgB,UAAU,OAAOT,QAAQM,QAAQvB,KAAY2B,eAAQjC,SAASkC,MAAMX,MAAMY,EAAE,CAAA,CAAA,IAAMN;AACxF,SAAO;IAAEO,SAASJ,QAAQK,KAAI;EAAG;AACnC,CAAA,CAAA,CAAA;AAIN,IAAA,qCAAejC;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "AppSpace", "Operation", "Database", "EID", "ClientCapabilities", "AssistantOperation", "handler", "ResolveNavigationTargets", "pipe", "withHandler", "fn", "query", "capabilities", "Service", "client", "get", "Client", "catchAll", "succeed", "undefined", "eid", "uri", "tryParse", "spaceId", "getSpaceId", "space", "spaces", "getActiveSpace", "resolvers", "getAll", "NavigationTargetResolver", "resolve", "forEach", "resolver", "results", "provide", "layer", "db", "targets", "flat"]
7
+ }
@@ -1,33 +1,34 @@
1
+ import {
2
+ getChatPath
3
+ } from "./chunk-OZWZGIV2.mjs";
1
4
  import "./chunk-J5LGTIGS.mjs";
2
5
 
3
6
  // src/operations/run-prompt-in-new-chat.ts
4
7
  import * as Effect from "effect/Effect";
5
8
  import { Capabilities, Capability } from "@dxos/app-framework";
6
- import { getObjectPathFromObject, LayoutOperation } from "@dxos/app-toolkit";
9
+ import { LayoutOperation } from "@dxos/app-toolkit";
7
10
  import { AiContext } from "@dxos/assistant";
8
- import { AgentPrompt } from "@dxos/assistant-toolkit";
9
- import { Blueprint, Operation, Routine, Template } from "@dxos/compute";
11
+ import { RunInstructions } from "@dxos/assistant-toolkit";
12
+ import { Instructions, Operation, Skill, Template } from "@dxos/compute";
10
13
  import { Database, Filter, Obj, Ref } from "@dxos/echo";
11
- import { createFeedServiceLayer } from "@dxos/echo-client";
12
14
  import { invariant } from "@dxos/invariant";
13
15
  import { log } from "@dxos/log";
14
16
  import { ClientCapabilities } from "@dxos/plugin-client";
17
+ import { RoutineOperation } from "@dxos/plugin-routine/types";
15
18
  import { Text } from "@dxos/schema";
16
19
  import { AssistantCapabilities, AssistantOperation } from "#types";
17
20
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/operations/run-prompt-in-new-chat.ts";
18
- var handler = AssistantOperation.RunPromptInNewChat.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ db, prompt, objects, blueprints, background }) {
21
+ var handler = RoutineOperation.RunPromptInNewChat.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ db, instructions, objects, skills, background }) {
19
22
  const registry = yield* Capability.get(Capabilities.AtomRegistry);
20
23
  const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, {
21
24
  db
22
25
  });
23
- if (objects && objects.length > 0 || blueprints && blueprints.length > 0) {
24
- const feedTarget = chat.feed.target;
25
- invariant(feedTarget, "Chat feed not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 24, S: this, A: ["feedTarget", "'Chat feed not found.'"] });
26
+ if (objects && objects.length > 0 || skills && skills.length > 0) {
27
+ const feedTarget = yield* Database.load(chat.feed);
26
28
  const client = yield* Capability.get(ClientCapabilities.Client);
27
29
  const space = client.spaces.get(db.spaceId);
28
30
  invariant(space, "Space not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 27, S: this, A: ["space", "'Space not found.'"] });
29
- const feedServiceLayer = createFeedServiceLayer(space.queues);
30
- const runtime2 = yield* Effect.runtime().pipe(Effect.provide(feedServiceLayer));
31
+ const runtime2 = yield* Effect.runtime().pipe(Effect.provide(Database.layer(space.db)));
31
32
  const binder = new AiContext.Binder({
32
33
  feed: feedTarget,
33
34
  runtime: runtime2,
@@ -38,45 +39,44 @@ var handler = AssistantOperation.RunPromptInNewChat.pipe(Operation.withHandler(E
38
39
  if (objects && objects.length > 0) {
39
40
  bindingProps.objects = objects.map((obj) => Ref.make(obj));
40
41
  }
41
- if (blueprints && blueprints.length > 0) {
42
- const allBlueprints = await db.query(Filter.type(Blueprint.Blueprint)).run();
43
- const matchedBlueprints = allBlueprints.filter((blueprint) => {
44
- const blueprintKey = Obj.getMeta(blueprint).key;
45
- return blueprintKey !== void 0 && blueprints.includes(blueprintKey);
42
+ if (skills && skills.length > 0) {
43
+ const allSkills = await db.query(Filter.type(Skill.Skill)).run();
44
+ const matchedSkills = allSkills.filter((skill) => {
45
+ const skillKey = Obj.getMeta(skill).key;
46
+ return skillKey !== void 0 && skills.includes(skillKey);
46
47
  });
47
- if (matchedBlueprints.length > 0) {
48
- bindingProps.blueprints = matchedBlueprints.map((blueprint) => Ref.make(blueprint));
48
+ if (matchedSkills.length > 0) {
49
+ bindingProps.skills = matchedSkills.map((skill) => Ref.make(skill));
49
50
  }
50
51
  }
51
52
  await b.bind(bindingProps);
52
53
  }));
53
54
  }
54
55
  if (background) {
55
- const promptRef = typeof prompt === "string" ? Ref.make(Routine.make({
56
- instructions: prompt,
57
- blueprints: [],
58
- context: []
59
- })) : prompt;
56
+ const instructionsRef = typeof instructions === "string" ? Ref.make(Instructions.make({
57
+ text: instructions,
58
+ skills: []
59
+ })) : instructions;
60
60
  yield* Database.flush();
61
- yield* Operation.invoke(AgentPrompt, {
62
- prompt: promptRef,
61
+ yield* Operation.invoke(RunInstructions, {
62
+ instructions: instructionsRef,
63
63
  input: {},
64
64
  chat: Ref.make(chat)
65
65
  }, {
66
66
  spaceId: db.spaceId
67
67
  }).pipe(Effect.catchAll((error) => {
68
- log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 67, S: this });
68
+ log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 65, S: this });
69
69
  return Effect.void;
70
70
  }));
71
71
  return {
72
72
  object: chat
73
73
  };
74
74
  }
75
- const chatPath = getObjectPathFromObject(chat);
76
- const pendingPromptText = typeof prompt === "string" ? prompt : yield* Effect.gen(function* () {
77
- const promptObj = yield* Effect.promise(() => prompt.load());
78
- const source = yield* Effect.promise(() => promptObj.instructions.load());
79
- invariant(Obj.instanceOf(Text.Text, source), "Prompt instructions must be Text.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 78, S: this, A: ["Obj.instanceOf(Text.Text, source)", "'Prompt instructions must be Text.'"] });
75
+ const chatPath = getChatPath(db.spaceId, chat.id);
76
+ const pendingPromptText = typeof instructions === "string" ? instructions : yield* Effect.gen(function* () {
77
+ const instructionsObj = yield* Effect.promise(() => instructions.load());
78
+ const source = yield* Effect.promise(() => instructionsObj.text.load());
79
+ invariant(Obj.instanceOf(Text.Text, source), "Prompt text must be Text.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 76, S: this, A: ["Obj.instanceOf(Text.Text, source)", "'Prompt text must be Text.'"] });
80
80
  return Template.process(source.content ?? "");
81
81
  });
82
82
  yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({
@@ -99,4 +99,4 @@ var run_prompt_in_new_chat_default = handler;
99
99
  export {
100
100
  run_prompt_in_new_chat_default as default
101
101
  };
102
- //# sourceMappingURL=run-prompt-in-new-chat-D5IIE2C7.mjs.map
102
+ //# sourceMappingURL=run-prompt-in-new-chat-RNUJE2FM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/run-prompt-in-new-chat.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 { LayoutOperation } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { RunInstructions } from '@dxos/assistant-toolkit';\nimport { Instructions, Operation, Skill, Template } from '@dxos/compute';\nimport { Database, Filter, Obj, Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { RoutineOperation } from '@dxos/plugin-routine/types';\nimport { Text } from '@dxos/schema';\n\nimport { AssistantCapabilities, AssistantOperation } from '#types';\n\nimport { getChatPath } from '../paths';\n\nconst handler: Operation.WithHandler<typeof RoutineOperation.RunPromptInNewChat> =\n RoutineOperation.RunPromptInNewChat.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ db, instructions, objects, skills, background }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, { db });\n\n if ((objects && objects.length > 0) || (skills && skills.length > 0)) {\n const feedTarget = yield* Database.load(chat.feed);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found.');\n const runtime = yield* Effect.runtime<Database.Service>().pipe(Effect.provide(Database.layer(space.db)));\n const binder = new AiContext.Binder({ feed: feedTarget, runtime, registry });\n yield* Effect.promise(() =>\n binder.use(async (b: AiContext.Binder) => {\n const bindingProps: Parameters<AiContext.Binder['bind']>[0] = {};\n\n if (objects && objects.length > 0) {\n bindingProps.objects = objects.map((obj) => Ref.make(obj));\n }\n\n if (skills && skills.length > 0) {\n const allSkills = await db.query(Filter.type(Skill.Skill)).run();\n const matchedSkills = allSkills.filter((skill) => {\n const skillKey = Obj.getMeta(skill).key;\n return skillKey !== undefined && skills.includes(skillKey);\n });\n if (matchedSkills.length > 0) {\n bindingProps.skills = matchedSkills.map((skill) => Ref.make(skill));\n }\n }\n\n await b.bind(bindingProps);\n }),\n );\n }\n\n if (background) {\n const instructionsRef =\n typeof instructions === 'string'\n ? Ref.make(\n Instructions.make({\n text: instructions,\n skills: [],\n }),\n )\n : instructions;\n yield* Database.flush();\n yield* Operation.invoke(\n RunInstructions,\n {\n instructions: instructionsRef,\n input: {},\n chat: Ref.make(chat),\n },\n { spaceId: db.spaceId },\n ).pipe(\n Effect.catchAll((error) => {\n log.catch(error);\n return Effect.void;\n }),\n );\n return { object: chat };\n }\n\n const chatPath = getChatPath(db.spaceId, chat.id);\n const pendingPromptText =\n typeof instructions === 'string'\n ? instructions\n : yield* Effect.gen(function* () {\n const instructionsObj = yield* Effect.promise(() => instructions.load());\n const source = yield* Effect.promise(() => instructionsObj.text.load());\n invariant(Obj.instanceOf(Text.Text, source), 'Prompt text must be Text.');\n return Template.process(source.content ?? '');\n });\n yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({\n ...current,\n pendingPrompts: { ...current.pendingPrompts, [chatPath]: pendingPromptText },\n }));\n yield* Operation.invoke(LayoutOperation.Open, { subject: [chatPath] });\n return { object: chat };\n },\n (effect, { db }) => effect.pipe(Effect.provide(Database.layer(db))),\n ),\n ),\n );\n\nexport default handler;\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capabilities", "Capability", "LayoutOperation", "AiContext", "RunInstructions", "Instructions", "Operation", "Skill", "Template", "Database", "Filter", "Obj", "Ref", "invariant", "log", "ClientCapabilities", "RoutineOperation", "Text", "AssistantCapabilities", "AssistantOperation", "RoutineOperation", "object", "AssistantOperation", "db", "objects", "client", "Capability", "get", "ClientCapabilities", "Client", "space", "spaces", "spaceId", "invariant", "runtime", "Effect", "pipe", "binder", "feed", "feedTarget", "registry", "length", "bindingProps", "skills", "matchedSkills", "allSkills", "skillKey", "Obj", "getMeta", "skill", "key", "undefined", "includes", "background", "instructions", "Database", "instructionsRef", "input", "chat", "log", "error", "instructionsObj", "promise", "text", "source", "Template", "content", "Capabilities", "updateAtomValue", "AssistantCapabilities", "pendingPrompts", "pendingPromptText", "Operation", "subject", "chatPath", "effect"]
7
+ }
@@ -9,14 +9,14 @@ import { meta } from "#meta";
9
9
  import { Assistant, AssistantCapabilities } from "#types";
10
10
  var settings_default = Capability.makeModule(() => Effect.sync(() => {
11
11
  const settingsAtom = createKvsStore({
12
- key: meta.id,
12
+ key: meta.profile.key,
13
13
  schema: Assistant.Settings,
14
14
  defaultValue: () => ({})
15
15
  });
16
16
  return [
17
17
  Capability.contributes(AssistantCapabilities.Settings, settingsAtom),
18
18
  Capability.contributes(AppCapabilities.Settings, {
19
- prefix: meta.id,
19
+ prefix: meta.profile.key,
20
20
  schema: Assistant.Settings,
21
21
  atom: settingsAtom
22
22
  })
@@ -25,4 +25,4 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
25
25
  export {
26
26
  settings_default as default
27
27
  };
28
- //# sourceMappingURL=settings-W4BLWQ53.mjs.map
28
+ //# sourceMappingURL=settings-7Q3RITIT.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Assistant, AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: Assistant.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(AssistantCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.id,\n schema: Assistant.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,WAAWC,6BAA6B;AAEjD,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO;IACVC,QAAQP,UAAUQ;IAClBC,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLb,WAAWc,YAAYT,sBAAsBO,UAAUJ,YAAAA;IACvDR,WAAWc,YAAYb,gBAAgBW,UAAU;MAC/CG,QAAQZ,KAAKO;MACbC,QAAQP,UAAUQ;MAClBI,MAAMR;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Assistant", "AssistantCapabilities", "makeModule", "sync", "settingsAtom", "key", "id", "schema", "Settings", "defaultValue", "contributes", "prefix", "atom"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Assistant, AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.profile.key,\n schema: Assistant.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(AssistantCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.profile.key,\n schema: Assistant.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,WAAWC,6BAA6B;AAEjD,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO,QAAQD;IAClBE,QAAQP,UAAUQ;IAClBC,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLb,WAAWc,YAAYT,sBAAsBO,UAAUJ,YAAAA;IACvDR,WAAWc,YAAYb,gBAAgBW,UAAU;MAC/CG,QAAQZ,KAAKO,QAAQD;MACrBE,QAAQP,UAAUQ;MAClBI,MAAMR;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Assistant", "AssistantCapabilities", "makeModule", "sync", "settingsAtom", "key", "profile", "schema", "Settings", "defaultValue", "contributes", "prefix", "atom"]
7
7
  }
@@ -0,0 +1,8 @@
1
+ import {
2
+ skill_definition_default
3
+ } from "./chunk-LS72HWMM.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+ export {
6
+ skill_definition_default as default
7
+ };
8
+ //# sourceMappingURL=skill-definition-553MQRTR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ skill_default
3
+ } from "../chunk-CMPLPDYE.mjs";
4
+ import "../chunk-J5LGTIGS.mjs";
5
+ export {
6
+ skill_default as AssistantSkill
7
+ };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -9,7 +9,7 @@ import { meta } from "#meta";
9
9
  import { AssistantCapabilities } from "#types";
10
10
  var state_default = Capability.makeModule(() => Effect.sync(() => {
11
11
  const stateAtom = createKvsStore({
12
- key: meta.id,
12
+ key: meta.profile.key,
13
13
  schema: AssistantCapabilities.StateSchema,
14
14
  defaultValue: () => ({
15
15
  currentChat: {},
@@ -17,12 +17,18 @@ var state_default = Capability.makeModule(() => Effect.sync(() => {
17
17
  })
18
18
  });
19
19
  const companionChatCacheAtom = Atom.make({}).pipe(Atom.keepAlive);
20
+ const homeSuggestionsCacheAtom = createKvsStore({
21
+ key: `${meta.profile.key}.home-suggestions`,
22
+ schema: AssistantCapabilities.HomeSuggestionsCacheSchema,
23
+ defaultValue: () => ({})
24
+ });
20
25
  return [
21
26
  Capability.contributes(AssistantCapabilities.State, stateAtom),
22
- Capability.contributes(AssistantCapabilities.CompanionChatCache, companionChatCacheAtom)
27
+ Capability.contributes(AssistantCapabilities.CompanionChatCache, companionChatCacheAtom),
28
+ Capability.contributes(AssistantCapabilities.HomeSuggestionsCache, homeSuggestionsCacheAtom)
23
29
  ];
24
30
  }));
25
31
  export {
26
32
  state_default as default
27
33
  };
28
- //# sourceMappingURL=state-H3G7QCU6.mjs.map
34
+ //# sourceMappingURL=state-4LGAKSSD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n // NOTE: This needs to be a chat object rather than a string id to avoid a query race.\n // TODO(wittjosiah): Handle serialization and hydration for this so it can be cached.\n const stateAtom = createKvsStore({\n key: meta.profile.key,\n schema: AssistantCapabilities.StateSchema,\n defaultValue: () => ({\n currentChat: {},\n pendingPrompts: {},\n }),\n });\n\n const companionChatCacheAtom = Atom.make<Record<string, Obj.Unknown | undefined>>({}).pipe(Atom.keepAlive);\n\n const homeSuggestionsCacheAtom = createKvsStore({\n key: `${meta.profile.key}.home-suggestions`,\n schema: AssistantCapabilities.HomeSuggestionsCacheSchema,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(AssistantCapabilities.State, stateAtom),\n Capability.contributes(AssistantCapabilities.CompanionChatCache, companionChatCacheAtom),\n Capability.contributes(AssistantCapabilities.HomeSuggestionsCache, homeSuggestionsCacheAtom),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAE3B,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,6BAA6B;AAEtC,IAAA,gBAAeH,WAAWI,WAAW,MAC5BC,YAAK,MAAA;AAGV,QAAMC,YAAYL,eAAe;IAC/BM,KAAKL,KAAKM,QAAQD;IAClBE,QAAQN,sBAAsBO;IAC9BC,cAAc,OAAO;MACnBC,aAAa,CAAC;MACdC,gBAAgB,CAAC;IACnB;EACF,CAAA;AAEA,QAAMC,yBAAyBhB,KAAKiB,KAA8C,CAAC,CAAA,EAAGC,KAAKlB,KAAKmB,SAAS;AAEzG,QAAMC,2BAA2BjB,eAAe;IAC9CM,KAAK,GAAGL,KAAKM,QAAQD,GAAG;IACxBE,QAAQN,sBAAsBgB;IAC9BR,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLX,WAAWoB,YAAYjB,sBAAsBkB,OAAOf,SAAAA;IACpDN,WAAWoB,YAAYjB,sBAAsBmB,oBAAoBR,sBAAAA;IACjEd,WAAWoB,YAAYjB,sBAAsBoB,sBAAsBL,wBAAAA;;AAEvE,CAAA,CAAA;",
6
+ "names": ["Atom", "Effect", "Capability", "createKvsStore", "meta", "AssistantCapabilities", "makeModule", "sync", "stateAtom", "key", "profile", "schema", "StateSchema", "defaultValue", "currentChat", "pendingPrompts", "companionChatCacheAtom", "make", "pipe", "keepAlive", "homeSuggestionsCacheAtom", "HomeSuggestionsCacheSchema", "contributes", "State", "CompanionChatCache", "HomeSuggestionsCache"]
7
+ }