@dxos/plugin-assistant 0.9.1-main.c7dcc2e112 → 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 (560) hide show
  1. package/PLUGIN.mdl +18 -24
  2. package/dist/lib/neutral/{AgentArticle-2BEPWUMN.mjs → AgentArticle-GV6EEW3I.mjs} +1 -2
  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-KT46SUFU.mjs → ChatArticle-OO7GGEFW.mjs} +2 -2
  12. package/dist/lib/neutral/{ChatCompanion-YHC43RYQ.mjs → ChatCompanion-GIFJRY6I.mjs} +27 -27
  13. package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs.map +7 -0
  14. package/dist/lib/neutral/{ChatDialog-YZDZLIQA.mjs → ChatDialog-5MXN4MXS.mjs} +5 -5
  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/{SpaceHomePrompt-HTWQKLGI.mjs → SpaceHomePrompt-ISAB76LD.mjs} +8 -7
  19. package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs.map +7 -0
  20. package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs +63 -0
  21. package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs.map +7 -0
  22. package/dist/lib/neutral/{TracePanel-T552TAOH.mjs → TracePanel-JKNWADJ4.mjs} +2 -2
  23. package/dist/lib/neutral/{TriggerStatus-RBOHHDOK.mjs → TriggerStatus-FURRBHYA.mjs} +7 -5
  24. package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs.map +7 -0
  25. package/dist/lib/neutral/{agent-hydrator-PJBYVMBW.mjs → agent-hydrator-OBO3RHLO.mjs} +3 -4
  26. package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs.map +7 -0
  27. package/dist/lib/neutral/{agent-service-WV5CSHAG.mjs → agent-service-XFJ4VQMT.mjs} +7 -9
  28. package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs.map +7 -0
  29. package/dist/lib/neutral/ai-context-LIKJYMIN.mjs +14 -0
  30. package/dist/lib/neutral/ai-context-LIKJYMIN.mjs.map +7 -0
  31. package/dist/lib/neutral/{ai-service-AADUIKBY.mjs → ai-service-DM6YXWUC.mjs} +9 -5
  32. package/dist/lib/neutral/ai-service-DM6YXWUC.mjs.map +7 -0
  33. package/dist/lib/neutral/{app-graph-builder-PTSRZXRN.mjs → app-graph-builder-OPVOEQY7.mjs} +36 -19
  34. package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs.map +7 -0
  35. package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs +97 -0
  36. package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs.map +7 -0
  37. package/dist/lib/neutral/capabilities/index.mjs +20 -18
  38. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  39. package/dist/lib/neutral/{chunk-KLYLW4WH.mjs → chunk-5IHQ52KJ.mjs} +1 -1
  40. package/dist/lib/neutral/chunk-5IHQ52KJ.mjs.map +7 -0
  41. package/dist/lib/neutral/{chunk-5KB2WRI2.mjs → chunk-6Q4OBGIK.mjs} +83 -55
  42. package/dist/lib/neutral/chunk-6Q4OBGIK.mjs.map +7 -0
  43. package/dist/lib/neutral/{chunk-54W7N6M6.mjs → chunk-BXI2R4OO.mjs} +49 -84
  44. package/dist/lib/neutral/chunk-BXI2R4OO.mjs.map +7 -0
  45. package/dist/lib/neutral/{chunk-5H6UJHLF.mjs → chunk-CMPLPDYE.mjs} +12 -12
  46. package/dist/lib/neutral/chunk-CMPLPDYE.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-GPHT3HYS.mjs +8 -0
  48. package/dist/lib/neutral/{chunk-7FQT4XMI.mjs.map → chunk-GPHT3HYS.mjs.map} +2 -2
  49. package/dist/lib/neutral/{markdown-extension-IJ5RQMQ4.mjs → chunk-HKLSFB5I.mjs} +2 -38
  50. package/dist/lib/neutral/chunk-HKLSFB5I.mjs.map +7 -0
  51. package/dist/lib/neutral/{chunk-ZNDQVYUN.mjs → chunk-L7AR4VTA.mjs} +3 -3
  52. package/dist/lib/neutral/{chunk-ZNDQVYUN.mjs.map → chunk-L7AR4VTA.mjs.map} +1 -1
  53. package/dist/lib/neutral/chunk-LS72HWMM.mjs +42 -0
  54. package/dist/lib/neutral/chunk-LS72HWMM.mjs.map +7 -0
  55. package/dist/lib/neutral/{chunk-35EL65O4.mjs → chunk-OZWZGIV2.mjs} +4 -2
  56. package/dist/lib/neutral/{chunk-35EL65O4.mjs.map → chunk-OZWZGIV2.mjs.map} +3 -3
  57. package/dist/lib/neutral/{toolkit-GVWXPDLJ.mjs → chunk-QOKLFHUS.mjs} +3 -4
  58. package/dist/lib/neutral/{toolkit-GVWXPDLJ.mjs.map → chunk-QOKLFHUS.mjs.map} +1 -1
  59. package/dist/lib/neutral/{chunk-5LKNH7FD.mjs → chunk-SCTHQVIJ.mjs} +8 -5
  60. package/dist/lib/neutral/{chunk-5LKNH7FD.mjs.map → chunk-SCTHQVIJ.mjs.map} +3 -3
  61. package/dist/lib/neutral/chunk-U4LTLBAX.mjs +56 -0
  62. package/dist/lib/neutral/chunk-U4LTLBAX.mjs.map +7 -0
  63. package/dist/lib/neutral/{chunk-H77JTXAN.mjs → chunk-UPKFUZ6V.mjs} +7 -10
  64. package/dist/lib/neutral/chunk-UPKFUZ6V.mjs.map +7 -0
  65. package/dist/lib/neutral/{operation-handler-SF36MOB5.mjs → chunk-V2Y4XE3O.mjs} +3 -4
  66. package/dist/lib/neutral/{operation-handler-SF36MOB5.mjs.map → chunk-V2Y4XE3O.mjs.map} +1 -1
  67. package/dist/lib/neutral/chunk-VTK5R4H3.mjs +9 -0
  68. package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +7 -0
  69. package/dist/lib/neutral/chunk-XVGEJWJX.mjs +133 -0
  70. package/dist/lib/neutral/chunk-XVGEJWJX.mjs.map +7 -0
  71. package/dist/lib/neutral/{companion-chat-provisioner-YZZ73P6E.mjs → companion-chat-provisioner-IQV5VIVE.mjs} +14 -8
  72. package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs.map +7 -0
  73. package/dist/lib/neutral/components/index.mjs +509 -579
  74. package/dist/lib/neutral/components/index.mjs.map +4 -4
  75. package/dist/lib/neutral/{integration-provider-RBD3AFJU.mjs → connector-ITLLTBPZ.mjs} +13 -14
  76. package/dist/lib/neutral/connector-ITLLTBPZ.mjs.map +7 -0
  77. package/dist/lib/neutral/containers/index.mjs +12 -14
  78. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  79. package/dist/lib/neutral/{create-chat-Z3FNA6OJ.mjs → create-chat-YGVZZYGP.mjs} +18 -16
  80. package/dist/lib/neutral/create-chat-YGVZZYGP.mjs.map +7 -0
  81. package/dist/lib/neutral/{create-object-BJUDDKQQ.mjs → create-object-5PAEJ6KM.mjs} +11 -27
  82. package/dist/lib/neutral/create-object-5PAEJ6KM.mjs.map +7 -0
  83. package/dist/lib/neutral/{edge-model-resolver-BBVOJBGJ.mjs → edge-model-resolver-WDJWDZTT.mjs} +2 -2
  84. package/dist/lib/neutral/execution-graph/index.mjs +182 -64
  85. package/dist/lib/neutral/execution-graph/index.mjs.map +3 -3
  86. package/dist/lib/neutral/extensions/index.mjs +8 -0
  87. package/dist/lib/neutral/{fork-chat-UYXYT6BT.mjs → fork-chat-RMAAYYQF.mjs} +15 -18
  88. package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs.map +7 -0
  89. package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs +93 -0
  90. package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs.map +7 -0
  91. package/dist/lib/neutral/hooks/index.mjs +195 -105
  92. package/dist/lib/neutral/hooks/index.mjs.map +4 -4
  93. package/dist/lib/neutral/index.mjs +14 -10
  94. package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs +41 -0
  95. package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs.map +7 -0
  96. package/dist/lib/neutral/meta.json +1 -1
  97. package/dist/lib/neutral/meta.mjs +1 -1
  98. package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs +18 -0
  99. package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs.map +7 -0
  100. package/dist/lib/neutral/operation-handler-2LEN45GP.mjs +8 -0
  101. package/dist/lib/neutral/operation-handler-2LEN45GP.mjs.map +7 -0
  102. package/dist/lib/neutral/operations/index.mjs +1 -1
  103. package/dist/lib/neutral/plugin.mjs +2 -2
  104. package/dist/lib/neutral/plugin.workerd.mjs +13 -0
  105. package/dist/lib/neutral/plugin.workerd.mjs.map +7 -0
  106. package/dist/lib/neutral/{react-surface-ES7UHZ65.mjs → react-surface-HEJEK44F.mjs} +20 -35
  107. package/dist/lib/neutral/react-surface-HEJEK44F.mjs.map +7 -0
  108. package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs +28 -0
  109. package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs.map +7 -0
  110. package/dist/lib/neutral/{run-prompt-in-new-chat-NIAGCKQV.mjs → run-prompt-in-new-chat-RNUJE2FM.mjs} +28 -31
  111. package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs.map +7 -0
  112. package/dist/lib/neutral/skill-definition-553MQRTR.mjs +8 -0
  113. package/dist/lib/neutral/skill-definition-553MQRTR.mjs.map +7 -0
  114. package/dist/lib/neutral/skills/index.mjs +8 -0
  115. package/dist/lib/neutral/skills/index.mjs.map +7 -0
  116. package/dist/lib/neutral/{state-XO2UYSSG.mjs → state-4LGAKSSD.mjs} +8 -2
  117. package/dist/lib/neutral/{state-XO2UYSSG.mjs.map → state-4LGAKSSD.mjs.map} +3 -3
  118. package/dist/lib/neutral/testing.mjs +1 -1
  119. package/dist/lib/neutral/toolkit-ETWLG5NT.mjs +8 -0
  120. package/dist/lib/neutral/toolkit-ETWLG5NT.mjs.map +7 -0
  121. package/dist/lib/neutral/translations.mjs +64 -33
  122. package/dist/lib/neutral/translations.mjs.map +3 -3
  123. package/dist/lib/neutral/types/index.mjs +5 -1
  124. package/dist/lib/neutral/{update-chat-name-Y7JWIP64.mjs → update-chat-name-IJJELRR6.mjs} +3 -3
  125. package/dist/lib/neutral/{update-chat-name-Y7JWIP64.mjs.map → update-chat-name-IJJELRR6.mjs.map} +2 -2
  126. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  127. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -1
  128. package/dist/types/src/capabilities/agent-hydrator.d.ts +1 -1
  129. package/dist/types/src/capabilities/agent-service.d.ts +1 -2
  130. package/dist/types/src/capabilities/agent-service.d.ts.map +1 -1
  131. package/dist/types/src/capabilities/ai-context.d.ts +1 -2
  132. package/dist/types/src/capabilities/ai-context.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -3
  134. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/automation-templates.d.ts +1 -2
  136. package/dist/types/src/capabilities/automation-templates.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +1 -1
  138. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -1
  139. package/dist/types/src/capabilities/{integration-provider.d.ts → connector.d.ts} +2 -2
  140. package/dist/types/src/capabilities/connector.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/create-object.d.ts +1 -27
  142. package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/index.d.ts +3 -2
  144. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  145. package/dist/types/src/capabilities/markdown-extension.d.ts +1 -1
  146. package/dist/types/src/capabilities/migrations.d.ts +1 -2
  147. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  148. package/dist/types/src/capabilities/navigation-resolver.d.ts +5 -0
  149. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -0
  150. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  151. package/dist/types/src/capabilities/settings.d.ts +1 -2
  152. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  153. package/dist/types/src/capabilities/skill-definition.d.ts +5 -0
  154. package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/state.d.ts +1 -17
  156. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  157. package/dist/types/src/capabilities/toolkit.d.ts +1 -2
  158. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  159. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -1
  160. package/dist/types/src/components/Chat/Chat.d.ts +4 -5
  161. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  162. package/dist/types/src/components/Chat/events.d.ts +0 -4
  163. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  164. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -2
  165. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  166. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  167. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +2 -2
  168. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
  169. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +5 -5
  170. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -1
  171. package/dist/types/src/components/ChatPrompt/useChatVoiceInput.d.ts +9 -0
  172. package/dist/types/src/components/ChatPrompt/useChatVoiceInput.d.ts.map +1 -0
  173. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +4 -4
  174. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +2 -2
  176. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  178. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +2 -2
  179. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -1
  180. package/dist/types/src/components/ChatThread/widgets/SurfaceWidget.d.ts +11 -0
  181. package/dist/types/src/components/ChatThread/widgets/SurfaceWidget.d.ts.map +1 -0
  182. package/dist/types/src/components/ChatThread/widgets/index.d.ts +1 -0
  183. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
  184. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  185. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +2 -2
  186. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -3
  188. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  189. package/dist/types/src/components/index.d.ts +0 -4
  190. package/dist/types/src/components/index.d.ts.map +1 -1
  191. package/dist/types/src/constants.d.ts +1 -1
  192. package/dist/types/src/constants.d.ts.map +1 -1
  193. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +2 -2
  194. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
  195. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts +1 -1
  196. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
  197. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
  198. package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts +12 -0
  199. package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts.map +1 -0
  200. package/dist/types/src/{components/TemplateEditor/TemplateEditor.stories.d.ts → containers/AssistantSettings/OllamaModels.stories.d.ts} +9 -7
  201. package/dist/types/src/containers/AssistantSettings/OllamaModels.stories.d.ts.map +1 -0
  202. package/dist/types/src/{components → containers}/AssistantSettings/index.d.ts.map +1 -1
  203. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +2 -9
  204. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
  205. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +3 -10
  206. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
  207. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  208. package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts +13 -0
  209. package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts.map +1 -0
  210. package/dist/types/src/containers/IntegrationPrompt/index.d.ts +2 -0
  211. package/dist/types/src/{components/RoutineProperties → containers/IntegrationPrompt}/index.d.ts.map +1 -1
  212. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -1
  213. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +1 -1
  214. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -1
  215. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
  216. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +1 -1
  217. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -1
  218. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  219. package/dist/types/src/containers/index.d.ts +2 -3
  220. package/dist/types/src/containers/index.d.ts.map +1 -1
  221. package/dist/types/src/execution-graph/execution-graph.d.ts +2 -1
  222. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
  223. package/dist/types/src/execution-graph/index.d.ts +3 -3
  224. package/dist/types/src/execution-graph/index.d.ts.map +1 -1
  225. package/dist/types/src/execution-graph/span-tree.d.ts +13 -0
  226. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -1
  227. package/dist/types/src/extensions/index.d.ts +1 -1
  228. package/dist/types/src/extensions/index.d.ts.map +1 -1
  229. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  230. package/dist/types/src/hooks/index.d.ts +2 -2
  231. package/dist/types/src/hooks/index.d.ts.map +1 -1
  232. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  233. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  234. package/dist/types/src/hooks/useHomeSuggestions.d.ts +8 -0
  235. package/dist/types/src/hooks/useHomeSuggestions.d.ts.map +1 -0
  236. package/dist/types/src/hooks/usePresets.d.ts +6 -2
  237. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  238. package/dist/types/src/hooks/useSkillRegistry.d.ts +21 -0
  239. package/dist/types/src/hooks/useSkillRegistry.d.ts.map +1 -0
  240. package/dist/types/src/index.d.ts +1 -1
  241. package/dist/types/src/index.d.ts.map +1 -1
  242. package/dist/types/src/meta.d.ts +4 -0
  243. package/dist/types/src/meta.d.ts.map +1 -1
  244. package/dist/types/src/operations/create-chat.d.ts.map +1 -1
  245. package/dist/types/src/operations/fork-chat.d.ts.map +1 -1
  246. package/dist/types/src/operations/generate-home-suggestions.d.ts +5 -0
  247. package/dist/types/src/operations/generate-home-suggestions.d.ts.map +1 -0
  248. package/dist/types/src/operations/generate-home-suggestions.test.d.ts +2 -0
  249. package/dist/types/src/operations/generate-home-suggestions.test.d.ts.map +1 -0
  250. package/dist/types/src/operations/index.d.ts.map +1 -1
  251. package/dist/types/src/operations/resolve-navigation-targets.d.ts +3 -15
  252. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
  253. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +2 -2
  254. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  255. package/dist/types/src/paths.d.ts +1 -1
  256. package/dist/types/src/paths.d.ts.map +1 -1
  257. package/dist/types/src/plugin.workerd.d.ts +2 -0
  258. package/dist/types/src/plugin.workerd.d.ts.map +1 -0
  259. package/dist/types/src/processor/presets.d.ts +20 -9
  260. package/dist/types/src/processor/presets.d.ts.map +1 -1
  261. package/dist/types/src/processor/processor.d.ts +10 -209
  262. package/dist/types/src/processor/processor.d.ts.map +1 -1
  263. package/dist/types/src/skills/assistant/index.d.ts +2 -0
  264. package/dist/types/src/skills/assistant/index.d.ts.map +1 -0
  265. package/dist/types/src/skills/assistant/skill.d.ts +4 -0
  266. package/dist/types/src/skills/assistant/skill.d.ts.map +1 -0
  267. package/dist/types/src/skills/assistant/skill.node.test.d.ts +2 -0
  268. package/dist/types/src/skills/assistant/skill.node.test.d.ts.map +1 -0
  269. package/dist/types/src/skills/index.d.ts.map +1 -0
  270. package/dist/types/src/templates/daily-digest.d.ts +2 -2
  271. package/dist/types/src/templates/daily-digest.d.ts.map +1 -1
  272. package/dist/types/src/templates/index.d.ts +3 -3
  273. package/dist/types/src/templates/index.d.ts.map +1 -1
  274. package/dist/types/src/templates/research-brief.d.ts +2 -2
  275. package/dist/types/src/templates/research-brief.d.ts.map +1 -1
  276. package/dist/types/src/templates/routine-templates.test.d.ts +2 -0
  277. package/dist/types/src/templates/routine-templates.test.d.ts.map +1 -0
  278. package/dist/types/src/templates/scaffold.d.ts +9 -9
  279. package/dist/types/src/templates/scaffold.d.ts.map +1 -1
  280. package/dist/types/src/testing/test-generator.d.ts +1 -1
  281. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  282. package/dist/types/src/testing/test-sequence.d.ts +1 -8
  283. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  284. package/dist/types/src/testing/test-trace.d.ts.map +1 -1
  285. package/dist/types/src/translations.d.ts.map +1 -1
  286. package/dist/types/src/types/Assistant.d.ts +5 -12
  287. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  288. package/dist/types/src/types/AssistantCapabilities.d.ts +21 -0
  289. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
  290. package/dist/types/src/types/AssistantOperation.d.ts +17 -110
  291. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -1
  292. package/dist/types/src/types/ChatSurface.d.ts +12 -0
  293. package/dist/types/src/types/ChatSurface.d.ts.map +1 -0
  294. package/dist/types/src/types/Ollama.d.ts +44 -0
  295. package/dist/types/src/types/Ollama.d.ts.map +1 -0
  296. package/dist/types/src/types/Settings.d.ts +5 -4
  297. package/dist/types/src/types/Settings.d.ts.map +1 -1
  298. package/dist/types/src/types/index.d.ts +2 -0
  299. package/dist/types/src/types/index.d.ts.map +1 -1
  300. package/dist/types/src/types/service.d.ts +4 -3
  301. package/dist/types/src/types/service.d.ts.map +1 -1
  302. package/dist/types/src/util/suggestions.d.ts +1 -1
  303. package/dist/types/tsconfig.tsbuildinfo +1 -1
  304. package/dx.config.ts +2 -2
  305. package/package.json +102 -90
  306. package/src/AssistantPlugin.conversations.json +1 -1
  307. package/src/AssistantPlugin.node.ts +5 -5
  308. package/src/AssistantPlugin.test.ts +26 -40
  309. package/src/AssistantPlugin.ts +12 -10
  310. package/src/AssistantPlugin.workerd.ts +15 -6
  311. package/src/capabilities/agent-hydrator.ts +1 -2
  312. package/src/capabilities/agent-service.ts +5 -7
  313. package/src/capabilities/ai-context.ts +7 -32
  314. package/src/capabilities/ai-service.ts +3 -2
  315. package/src/capabilities/app-graph-builder.ts +38 -18
  316. package/src/capabilities/automation-templates.ts +3 -3
  317. package/src/capabilities/companion-chat-provisioner.ts +22 -6
  318. package/src/capabilities/{integration-provider.ts → connector.ts} +7 -12
  319. package/src/capabilities/create-object.ts +9 -26
  320. package/src/capabilities/index.ts +3 -5
  321. package/src/capabilities/markdown-extension.ts +2 -3
  322. package/src/capabilities/navigation-resolver.ts +20 -0
  323. package/src/capabilities/react-surface.tsx +21 -33
  324. package/src/capabilities/skill-definition.ts +72 -0
  325. package/src/capabilities/state.ts +7 -0
  326. package/src/components/AgentProperties/AgentProperties.stories.tsx +1 -2
  327. package/src/components/Chat/Chat.tsx +28 -10
  328. package/src/components/Chat/events.ts +0 -6
  329. package/src/components/ChatPrompt/ChatActions.tsx +181 -18
  330. package/src/components/ChatPrompt/ChatOptions.stories.tsx +3 -3
  331. package/src/components/ChatPrompt/ChatOptions.tsx +17 -21
  332. package/src/components/ChatPrompt/ChatPrompt.tsx +30 -46
  333. package/src/components/ChatPrompt/useChatVoiceInput.ts +103 -0
  334. package/src/components/ChatThread/ChatThread.stories.tsx +7 -16
  335. package/src/components/ChatThread/MarkdownStream.stories.tsx +3 -3
  336. package/src/components/ChatThread/registry.tsx +43 -17
  337. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +2 -2
  338. package/src/components/ChatThread/widgets/SurfaceWidget.tsx +41 -0
  339. package/src/components/ChatThread/widgets/index.ts +1 -0
  340. package/src/components/ProcessTree/ProcessTree.tsx +2 -10
  341. package/src/components/TaskList/TaskList.stories.tsx +2 -2
  342. package/src/components/TaskList/TaskList.tsx +2 -2
  343. package/src/components/Toolbox/Toolbox.tsx +11 -11
  344. package/src/components/index.ts +0 -6
  345. package/src/constants.ts +1 -1
  346. package/src/containers/AgentArticle/AgentArticle.stories.tsx +8 -9
  347. package/src/containers/AgentArticle/AgentArticle.tsx +1 -1
  348. package/src/{components → containers}/AssistantSettings/AssistantSettings.stories.tsx +3 -2
  349. package/src/containers/AssistantSettings/AssistantSettings.tsx +90 -0
  350. package/src/containers/AssistantSettings/OllamaModels.stories.tsx +108 -0
  351. package/src/containers/AssistantSettings/OllamaModels.tsx +255 -0
  352. package/src/containers/ChatArticle/ChatArticle.stories.tsx +3 -3
  353. package/src/containers/ChatArticle/ChatArticle.tsx +8 -19
  354. package/src/containers/ChatCompanion/ChatCompanion.tsx +26 -26
  355. package/src/containers/ChatDialog/ChatDialog.tsx +5 -4
  356. package/src/containers/IntegrationPrompt/IntegrationPrompt.tsx +79 -0
  357. package/src/containers/IntegrationPrompt/index.ts +5 -0
  358. package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +8 -6
  359. package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +46 -32
  360. package/src/containers/TracePanel/TracePanel.stories.tsx +89 -47
  361. package/src/containers/TracePanel/TracePanel.tsx +13 -8
  362. package/src/containers/TracePanel/dxn-extractor.test.ts +2 -2
  363. package/src/containers/TriggerStatus/TriggerStatus.tsx +8 -4
  364. package/src/containers/index.ts +2 -3
  365. package/src/execution-graph/SPEC.md +1 -1
  366. package/src/execution-graph/execution-graph.test.ts +213 -25
  367. package/src/execution-graph/execution-graph.ts +209 -72
  368. package/src/execution-graph/index.ts +8 -8
  369. package/src/execution-graph/span-tree.test.ts +33 -1
  370. package/src/execution-graph/span-tree.ts +43 -2
  371. package/src/execution-graph/sub-agent-delegation.test.ts +19 -19
  372. package/src/extensions/index.ts +1 -1
  373. package/src/extensions/prompt-extension.ts +1 -1
  374. package/src/feed-logger.ts +4 -4
  375. package/src/functions/services.test.ts +4 -4
  376. package/src/hooks/index.ts +2 -2
  377. package/src/hooks/useChatProcessor.ts +12 -16
  378. package/src/hooks/useContextBinder.ts +2 -4
  379. package/src/hooks/useDebug.ts +2 -2
  380. package/src/hooks/useHomeSuggestions.ts +55 -0
  381. package/src/hooks/usePresets.ts +80 -11
  382. package/src/hooks/useProcessEphemeralStatus.ts +1 -1
  383. package/src/hooks/useReferencesProvider.ts +1 -1
  384. package/src/hooks/useSkillRegistry.ts +125 -0
  385. package/src/index.ts +1 -1
  386. package/src/operations/create-chat.ts +11 -12
  387. package/src/operations/fork-chat.ts +14 -19
  388. package/src/operations/generate-home-suggestions.test.ts +103 -0
  389. package/src/operations/generate-home-suggestions.ts +116 -0
  390. package/src/operations/index.ts +1 -0
  391. package/src/operations/prompt.node.test.ts +14 -17
  392. package/src/operations/resolve-navigation-targets.ts +32 -19
  393. package/src/operations/run-prompt-in-new-chat.ts +30 -33
  394. package/src/operations/update-chat-name.ts +2 -2
  395. package/src/paths.ts +4 -2
  396. package/src/plugin.workerd.ts +5 -0
  397. package/src/processor/presets.ts +38 -61
  398. package/src/processor/processor.node.test.ts +1 -1
  399. package/src/processor/processor.ts +34 -20
  400. package/src/skills/assistant/index.ts +5 -0
  401. package/src/{blueprints/assistant/blueprint.node.test.ts → skills/assistant/skill.node.test.ts} +8 -8
  402. package/src/{blueprints/assistant/blueprint.ts → skills/assistant/skill.ts} +9 -9
  403. package/src/templates/daily-digest.ts +10 -12
  404. package/src/templates/index.ts +3 -3
  405. package/src/templates/research-brief.ts +15 -13
  406. package/src/templates/routine-templates.test.ts +55 -0
  407. package/src/templates/scaffold.ts +22 -57
  408. package/src/testing/data/trace-timeline-multiple.dx.json +1 -1
  409. package/src/testing/data/trace-timeline-remote.dx.json +1 -1
  410. package/src/testing/data/trace-timeline.dx.json +3430 -1092
  411. package/src/testing/test-generator.test.ts +26 -22
  412. package/src/testing/test-generator.ts +4 -8
  413. package/src/testing/test-trace.ts +2 -1
  414. package/src/testing/trace-timeline.node.test.ts +14 -14
  415. package/src/translations.ts +68 -33
  416. package/src/types/Assistant.ts +3 -1
  417. package/src/types/AssistantCapabilities.ts +21 -0
  418. package/src/types/AssistantOperation.ts +21 -32
  419. package/src/types/ChatSurface.ts +16 -0
  420. package/src/types/Ollama.ts +59 -0
  421. package/src/types/Settings.ts +12 -10
  422. package/src/types/index.ts +3 -0
  423. package/src/types/service.ts +14 -14
  424. package/src/util/suggestions.ts +1 -1
  425. package/dist/lib/neutral/AgentArticle-2BEPWUMN.mjs.map +0 -7
  426. package/dist/lib/neutral/AssistantSettings-7ALY4BMS.mjs +0 -40
  427. package/dist/lib/neutral/AssistantSettings-7ALY4BMS.mjs.map +0 -7
  428. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs +0 -27
  429. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs.map +0 -7
  430. package/dist/lib/neutral/ChatCompanion-YHC43RYQ.mjs.map +0 -7
  431. package/dist/lib/neutral/ChatDialog-YZDZLIQA.mjs.map +0 -7
  432. package/dist/lib/neutral/RoutineArticle-FK5BXQN5.mjs +0 -119
  433. package/dist/lib/neutral/RoutineArticle-FK5BXQN5.mjs.map +0 -7
  434. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs +0 -48
  435. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs.map +0 -7
  436. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs +0 -17
  437. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs.map +0 -7
  438. package/dist/lib/neutral/SpaceHomePrompt-HTWQKLGI.mjs.map +0 -7
  439. package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs +0 -50
  440. package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs.map +0 -7
  441. package/dist/lib/neutral/TriggerStatus-RBOHHDOK.mjs.map +0 -7
  442. package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs.map +0 -7
  443. package/dist/lib/neutral/agent-service-WV5CSHAG.mjs.map +0 -7
  444. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs +0 -42
  445. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs.map +0 -7
  446. package/dist/lib/neutral/ai-service-AADUIKBY.mjs.map +0 -7
  447. package/dist/lib/neutral/app-graph-builder-PTSRZXRN.mjs.map +0 -7
  448. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs +0 -115
  449. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs.map +0 -7
  450. package/dist/lib/neutral/blueprint-definition-2XPYI35X.mjs +0 -40
  451. package/dist/lib/neutral/blueprint-definition-2XPYI35X.mjs.map +0 -7
  452. package/dist/lib/neutral/blueprints/index.mjs +0 -8
  453. package/dist/lib/neutral/chunk-54W7N6M6.mjs.map +0 -7
  454. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +0 -7
  455. package/dist/lib/neutral/chunk-5KB2WRI2.mjs.map +0 -7
  456. package/dist/lib/neutral/chunk-7FQT4XMI.mjs +0 -8
  457. package/dist/lib/neutral/chunk-H77JTXAN.mjs.map +0 -7
  458. package/dist/lib/neutral/chunk-IQZJ5TTM.mjs +0 -130
  459. package/dist/lib/neutral/chunk-IQZJ5TTM.mjs.map +0 -7
  460. package/dist/lib/neutral/chunk-KLYLW4WH.mjs.map +0 -7
  461. package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs.map +0 -7
  462. package/dist/lib/neutral/create-chat-Z3FNA6OJ.mjs.map +0 -7
  463. package/dist/lib/neutral/create-object-BJUDDKQQ.mjs.map +0 -7
  464. package/dist/lib/neutral/fork-chat-UYXYT6BT.mjs.map +0 -7
  465. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs.map +0 -7
  466. package/dist/lib/neutral/markdown-extension-IJ5RQMQ4.mjs.map +0 -7
  467. package/dist/lib/neutral/react-surface-ES7UHZ65.mjs.map +0 -7
  468. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs +0 -22
  469. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +0 -7
  470. package/dist/lib/neutral/run-prompt-in-new-chat-NIAGCKQV.mjs.map +0 -7
  471. package/dist/types/src/blueprints/assistant/blueprint.d.ts +0 -4
  472. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +0 -1
  473. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +0 -2
  474. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +0 -1
  475. package/dist/types/src/blueprints/assistant/index.d.ts +0 -2
  476. package/dist/types/src/blueprints/assistant/index.d.ts.map +0 -1
  477. package/dist/types/src/blueprints/index.d.ts.map +0 -1
  478. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  479. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  480. package/dist/types/src/capabilities/integration-provider.d.ts.map +0 -1
  481. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
  482. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +0 -7
  483. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +0 -1
  484. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +0 -15
  485. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +0 -1
  486. package/dist/types/src/components/RoutineProperties/index.d.ts +0 -2
  487. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +0 -13
  488. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +0 -1
  489. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +0 -1
  490. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +0 -21
  491. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +0 -1
  492. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +0 -16
  493. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +0 -1
  494. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +0 -12
  495. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +0 -1
  496. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +0 -3
  497. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +0 -1
  498. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +0 -8
  499. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +0 -1
  500. package/dist/types/src/components/TemplateEditor/index.d.ts +0 -2
  501. package/dist/types/src/components/TemplateEditor/index.d.ts.map +0 -1
  502. package/dist/types/src/components/TemplateEditor/types.d.ts +0 -18
  503. package/dist/types/src/components/TemplateEditor/types.d.ts.map +0 -1
  504. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +0 -6
  505. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +0 -1
  506. package/dist/types/src/containers/BlueprintArticle/index.d.ts +0 -2
  507. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +0 -1
  508. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +0 -6
  509. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +0 -1
  510. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +0 -15
  511. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +0 -1
  512. package/dist/types/src/containers/RoutineArticle/index.d.ts +0 -2
  513. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +0 -1
  514. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +0 -6
  515. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +0 -1
  516. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +0 -21
  517. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +0 -1
  518. package/dist/types/src/containers/RoutineList/index.d.ts +0 -2
  519. package/dist/types/src/containers/RoutineList/index.d.ts.map +0 -1
  520. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +0 -66
  521. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +0 -1
  522. package/dist/types/src/hooks/useOnline.d.ts +0 -3
  523. package/dist/types/src/hooks/useOnline.d.ts.map +0 -1
  524. package/dist/types/src/templates/automation-templates.test.d.ts +0 -2
  525. package/dist/types/src/templates/automation-templates.test.d.ts.map +0 -1
  526. package/src/blueprints/assistant/index.ts +0 -5
  527. package/src/capabilities/blueprint-definition.ts +0 -67
  528. package/src/components/AssistantSettings/AssistantSettings.tsx +0 -43
  529. package/src/components/RoutineProperties/RoutineProperties.stories.tsx +0 -59
  530. package/src/components/RoutineProperties/RoutineProperties.tsx +0 -23
  531. package/src/components/RoutineProperties/index.ts +0 -5
  532. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +0 -95
  533. package/src/components/TemplateEditor/TemplateEditor.tsx +0 -80
  534. package/src/components/TemplateEditor/TemplateForm.stories.tsx +0 -76
  535. package/src/components/TemplateEditor/TemplateForm.tsx +0 -204
  536. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +0 -274
  537. package/src/components/TemplateEditor/extensions/index.ts +0 -6
  538. package/src/components/TemplateEditor/extensions/xml-extension.ts +0 -64
  539. package/src/components/TemplateEditor/index.ts +0 -5
  540. package/src/components/TemplateEditor/types.tsx +0 -28
  541. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +0 -29
  542. package/src/containers/BlueprintArticle/index.ts +0 -5
  543. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +0 -75
  544. package/src/containers/RoutineArticle/RoutineArticle.tsx +0 -109
  545. package/src/containers/RoutineArticle/index.ts +0 -5
  546. package/src/containers/RoutineList/RoutineList.stories.tsx +0 -130
  547. package/src/containers/RoutineList/RoutineList.tsx +0 -50
  548. package/src/containers/RoutineList/index.ts +0 -5
  549. package/src/hooks/useBlueprintRegistry.ts +0 -125
  550. package/src/hooks/useOnline.ts +0 -10
  551. package/src/templates/automation-templates.test.ts +0 -66
  552. /package/dist/lib/neutral/{ChatArticle-KT46SUFU.mjs.map → ChatArticle-OO7GGEFW.mjs.map} +0 -0
  553. /package/dist/lib/neutral/{TracePanel-T552TAOH.mjs.map → TracePanel-JKNWADJ4.mjs.map} +0 -0
  554. /package/dist/lib/neutral/{edge-model-resolver-BBVOJBGJ.mjs.map → edge-model-resolver-WDJWDZTT.mjs.map} +0 -0
  555. /package/dist/lib/neutral/{blueprints → extensions}/index.mjs.map +0 -0
  556. /package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.stories.d.ts +0 -0
  557. /package/dist/types/src/{components → containers}/AssistantSettings/index.d.ts +0 -0
  558. /package/dist/types/src/{blueprints → skills}/index.d.ts +0 -0
  559. /package/src/{components → containers}/AssistantSettings/index.ts +0 -0
  560. /package/src/{blueprints → skills}/index.ts +0 -0
@@ -2,6 +2,10 @@ import {
2
2
  __export
3
3
  } from "./chunk-J5LGTIGS.mjs";
4
4
 
5
+ // src/types/ChatSurface.ts
6
+ import { Surface } from "@dxos/app-framework/ui";
7
+ var ChatSurface = Surface.makeType("org.dxos.plugin.assistant.role.chatSurface");
8
+
5
9
  // src/types/Assistant.ts
6
10
  var Assistant_exports = {};
7
11
  __export(Assistant_exports, {
@@ -17,15 +21,11 @@ import { Chat as ChatModule } from "@dxos/assistant-toolkit";
17
21
 
18
22
  // src/types/Settings.ts
19
23
  import * as Schema from "effect/Schema";
24
+ import { Provider } from "@dxos/ai";
20
25
  import { SchemaEx } from "@dxos/effect";
21
- var ModelProvider = Schema.Union(Schema.Literal("edge").annotations({
22
- title: "DXOS"
23
- }), Schema.Literal("ollama").annotations({
24
- title: "Ollama"
25
- }), Schema.Literal("lmstudio").annotations({
26
- title: "LM Studio"
27
- }));
28
- var ModelProviders = SchemaEx.getLiteralValues(ModelProvider);
26
+ import { DXN } from "@dxos/keys";
27
+ var ModelProvider = DXN.Schema;
28
+ var ModelProviders = Provider.all.map((provider) => provider.id);
29
29
  var ChatView = Schema.Union(Schema.Literal("normal").annotations({
30
30
  title: "Normal"
31
31
  }), Schema.Literal("summary").annotations({
@@ -41,9 +41,11 @@ var ModelDefaults = Schema.mutable(Schema.Struct({
41
41
  title: "Remote language model",
42
42
  description: "Choose the remote language model used for AI requests."
43
43
  })),
44
+ // `built-in` (bundled sidecar) and `ollama` (external) share the `ollama` model source, so they
45
+ // share this single default key.
44
46
  ollama: Schema.optional(Schema.String.annotations({
45
- title: "Ollama language model",
46
- description: "Choose the locally hosted Ollama model for AI requests."
47
+ title: "Local language model",
48
+ description: "Choose the locally hosted model used for AI requests."
47
49
  })),
48
50
  lmstudio: Schema.optional(Schema.String.annotations({
49
51
  title: "LM Studio language model",
@@ -63,7 +65,9 @@ var Settings = Schema.mutable(Schema.Struct({
63
65
  title: "LLM provider",
64
66
  description: "Select which language model service to use for AI responses."
65
67
  })),
66
- modelDefaults: Schema.optional(ModelDefaults),
68
+ modelDefaults: Schema.optional(ModelDefaults.annotations({
69
+ title: "Model defaults"
70
+ })),
67
71
  tracePanelDebug: Schema.optional(Schema.Boolean.annotations({
68
72
  title: "Trace panel debug",
69
73
  description: "Show the raw span tree as JSON in the trace panel instead of the commit graph."
@@ -82,13 +86,13 @@ var ModelDefaults2 = ModelDefaults;
82
86
  // src/types/AssistantOperation.ts
83
87
  var AssistantOperation_exports = {};
84
88
  __export(AssistantOperation_exports, {
85
- BlueprintForm: () => BlueprintForm,
86
89
  CreateChat: () => CreateChat,
87
90
  EnsureCompanionChat: () => EnsureCompanionChat,
88
91
  ForkChat: () => ForkChat,
92
+ GenerateHomeSuggestions: () => GenerateHomeSuggestions,
89
93
  ResolveNavigationTargets: () => ResolveNavigationTargets,
90
- RunPromptInNewChat: () => RunPromptInNewChat,
91
94
  SetCurrentChat: () => SetCurrentChat,
95
+ SkillForm: () => SkillForm,
92
96
  ToggleTracePanelDebug: () => ToggleTracePanelDebug,
93
97
  UpdateChatName: () => UpdateChatName
94
98
  });
@@ -96,11 +100,11 @@ import * as Schema2 from "effect/Schema";
96
100
  import { AiService } from "@dxos/ai";
97
101
  import { Capability } from "@dxos/app-framework";
98
102
  import { Chat as Chat2 } from "@dxos/assistant-toolkit";
99
- import { Routine, Operation } from "@dxos/compute";
100
- import { Database, Feed, Obj, Ref, Type } from "@dxos/echo";
101
- import { DXN } from "@dxos/keys";
103
+ import { Operation } from "@dxos/compute";
104
+ import { Database, Obj, Type } from "@dxos/echo";
105
+ import { DXN as DXN2, URI } from "@dxos/keys";
102
106
  import { meta } from "#meta";
103
- var makeKey = (name) => DXN.make(`${meta.profile.key}.operation.${name}`);
107
+ var makeKey = (name) => DXN2.make(`${meta.profile.key}.operation.${name}`);
104
108
  var CreateChat = Operation.make({
105
109
  meta: {
106
110
  key: makeKey("createChat"),
@@ -128,7 +132,6 @@ var UpdateChatName = Operation.make({
128
132
  },
129
133
  services: [
130
134
  Database.Service,
131
- Feed.FeedService,
132
135
  AiService.AiService
133
136
  ],
134
137
  input: Schema2.Struct({
@@ -153,32 +156,6 @@ var SetCurrentChat = Operation.make({
153
156
  }),
154
157
  output: Schema2.Void
155
158
  });
156
- var RunPromptInNewChat = Operation.make({
157
- meta: {
158
- key: makeKey("runPromptInNewChat"),
159
- name: "Run Prompt In New Chat",
160
- icon: "ph--chat-text--regular"
161
- },
162
- services: [
163
- Capability.Service
164
- ],
165
- input: Schema2.Struct({
166
- db: Database.Database,
167
- /** Context objects to bind to the new chat. */
168
- objects: Schema2.optional(Schema2.Array(Obj.Unknown)),
169
- /** Blueprint keys to look up and bind to the new chat. */
170
- blueprints: Schema2.optional(Schema2.Array(Schema2.String)),
171
- /** Raw instructions or an existing Routine object reference. */
172
- prompt: Schema2.Union(Schema2.String, Ref.Ref(Routine.Routine)),
173
- /**
174
- * When true, skips opening the chat: runs the Agent prompt operation against the new chat via the compute runtime (traced).
175
- */
176
- background: Schema2.optional(Schema2.Boolean)
177
- }),
178
- output: Schema2.Struct({
179
- object: Type.getSchema(Chat2.Chat)
180
- })
181
- });
182
159
  var NavigationTargetSchema = Schema2.Struct({
183
160
  path: Schema2.String.annotations({
184
161
  description: "Navigation path to use with the Open operation."
@@ -194,12 +171,13 @@ var ResolveNavigationTargets = Operation.make({
194
171
  meta: {
195
172
  key: makeKey("resolveNavigationTargets"),
196
173
  name: "Resolve navigation targets",
197
- description: "Resolve navigation targets within the application. The returned paths can be used with the Open operation. Without a query, returns pages that can be navigated to.",
174
+ description: "Resolve a navigation path for the Open operation. Pass an object's URI (its DXN, e.g. a context object's <dxn>) as the query uri to resolve that object to its navigation target, or omit the query to list pages that can be navigated to. Pass the returned target path to Open.",
198
175
  icon: "ph--compass--regular"
199
176
  },
200
177
  input: Schema2.Struct({
201
178
  query: Schema2.optional(Schema2.Struct({
202
- dxn: Schema2.optional(DXN.Schema)
179
+ // An object URI (e.g. a context object's `<dxn>`); accepts both `echo:` EIDs and `dxn:` DXNs.
180
+ uri: Schema2.optional(URI.Schema)
203
181
  }))
204
182
  }),
205
183
  output: Schema2.Struct({
@@ -248,11 +226,30 @@ var EnsureCompanionChat = Operation.make({
248
226
  persisted: Schema2.Boolean
249
227
  })
250
228
  });
251
- var BlueprintForm = Schema2.Struct({
229
+ var SkillForm = Schema2.Struct({
252
230
  key: Schema2.String,
253
231
  name: Schema2.String,
254
232
  description: Schema2.optional(Schema2.String)
255
233
  });
234
+ var GenerateHomeSuggestions = Operation.make({
235
+ meta: {
236
+ key: makeKey("generateHomeSuggestions"),
237
+ name: "Generate Home Suggestions",
238
+ icon: "ph--sparkle--regular",
239
+ // Internal UI operation — not exposed as an agent tool.
240
+ skipRegistry: true
241
+ },
242
+ services: [
243
+ Capability.Service,
244
+ AiService.AiService
245
+ ],
246
+ input: Schema2.Struct({
247
+ db: Database.Database
248
+ }),
249
+ output: Schema2.Struct({
250
+ prompts: Schema2.Array(Schema2.String)
251
+ })
252
+ });
256
253
  var ToggleTracePanelDebug = Operation.make({
257
254
  meta: {
258
255
  key: makeKey("toggleTracePanelDebug"),
@@ -273,6 +270,9 @@ var ToggleTracePanelDebug = Operation.make({
273
270
  var AssistantCapabilities_exports = {};
274
271
  __export(AssistantCapabilities_exports, {
275
272
  CompanionChatCache: () => CompanionChatCache,
273
+ HomeSuggestionsCache: () => HomeSuggestionsCache,
274
+ HomeSuggestionsCacheSchema: () => HomeSuggestionsCacheSchema,
275
+ OllamaManager: () => OllamaManager,
276
276
  Settings: () => Settings3,
277
277
  State: () => State,
278
278
  StateSchema: () => StateSchema
@@ -281,6 +281,7 @@ import * as Schema3 from "effect/Schema";
281
281
  import { Capability as Capability2 } from "@dxos/app-framework";
282
282
  import { meta as meta2 } from "#meta";
283
283
  var Settings3 = Capability2.make(`${meta2.profile.key}.capability.settings`);
284
+ var OllamaManager = Capability2.make(`${meta2.profile.key}.capability.ollama-manager`);
284
285
  var StateSchema = Schema3.mutable(Schema3.Struct({
285
286
  /** Map of primary object dxn to current chat dxn. */
286
287
  currentChat: Schema3.Record({
@@ -295,6 +296,16 @@ var StateSchema = Schema3.mutable(Schema3.Struct({
295
296
  }));
296
297
  var State = Capability2.make(`${meta2.profile.key}.capability.state`);
297
298
  var CompanionChatCache = Capability2.make(`${meta2.profile.key}.capability.companion-chat-cache`);
299
+ var HomeSuggestionsCacheSchema = Schema3.mutable(Schema3.Record({
300
+ key: Schema3.String,
301
+ value: Schema3.Struct({
302
+ /** Epoch ms timestamp of the successful generation that produced these prompts. */
303
+ generatedAt: Schema3.Number,
304
+ /** Non-empty, trimmed prompts from a successful generation. */
305
+ prompts: Schema3.Array(Schema3.String)
306
+ })
307
+ }));
308
+ var HomeSuggestionsCache = Capability2.make(`${meta2.profile.key}.capability.home-suggestions-cache`);
298
309
 
299
310
  // src/types/AssistantEvents.ts
300
311
  var AssistantEvents_exports = {};
@@ -305,11 +316,25 @@ import { ActivationEvent } from "@dxos/app-framework";
305
316
  import { meta as meta3 } from "#meta";
306
317
  var SetupAiServiceProviders = ActivationEvent.make(`${meta3.profile.key}.event.setupAiServiceProviders`);
307
318
 
319
+ // src/types/Ollama.ts
320
+ var Ollama_exports = {};
321
+ __export(Ollama_exports, {
322
+ emptyState: () => emptyState
323
+ });
324
+ import { Atom } from "@effect-atom/atom-react";
325
+ var emptyState = Atom.make({
326
+ kind: "idle",
327
+ models: [],
328
+ loaded: [],
329
+ pulls: {},
330
+ errors: {}
331
+ });
332
+
308
333
  // src/types/service.ts
309
334
  import * as Schema4 from "effect/Schema";
310
335
  import { Operation as Operation2 } from "@dxos/compute";
311
336
  import { ComputeGraph } from "@dxos/conductor";
312
- import { DXN as DXN2, Ref as Ref2, Type as Type2 } from "@dxos/echo";
337
+ import { DXN as DXN3, Ref, Type as Type2 } from "@dxos/echo";
313
338
  var ApiAuthorizationKey = Schema4.Struct({
314
339
  type: Schema4.Literal("api-key"),
315
340
  key: Schema4.String,
@@ -330,11 +355,11 @@ var ApiAuthorizationOauth = Schema4.Struct({
330
355
  var ApiAuthorization = Schema4.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
331
356
  var ServiceInterfaceFunction = Schema4.Struct({
332
357
  kind: Schema4.Literal("function"),
333
- fn: Ref2.Ref(Operation2.PersistentOperation)
358
+ fn: Ref.Ref(Operation2.PersistentOperation)
334
359
  });
335
360
  var ServiceInterfaceWorkflow = Schema4.Struct({
336
361
  kind: Schema4.Literal("workflow"),
337
- workflow: Ref2.Ref(ComputeGraph)
362
+ workflow: Ref.Ref(ComputeGraph)
338
363
  });
339
364
  var ServiceInterfaceApi = Schema4.Struct({
340
365
  kind: Schema4.Literal("api"),
@@ -357,17 +382,18 @@ var ServiceInterface = Schema4.Union(
357
382
  ServiceInterfaceWorkflow,
358
383
  ServiceInterfaceApi
359
384
  );
360
- var ServiceType = Schema4.Struct({
385
+ var ServiceType = class extends Type2.makeObject(DXN3.make("org.dxos.type.service", "0.1.0"))(Schema4.Struct({
361
386
  serviceId: Schema4.String,
362
387
  name: Schema4.optional(Schema4.String),
363
388
  description: Schema4.optional(Schema4.String),
364
389
  category: Schema4.optional(Schema4.String),
365
390
  enabled: Schema4.optional(Schema4.Boolean),
366
391
  /**
367
- * Entries exposed: functions, workflows, and APIs.
368
- */
392
+ * Entries exposed: functions, workflows, and APIs.
393
+ */
369
394
  interfaces: Schema4.optional(Schema4.Array(ServiceInterface))
370
- }).pipe(Type2.makeObject(DXN2.make("org.dxos.type.service", "0.1.0")));
395
+ })) {
396
+ };
371
397
  var categoryIcons = {
372
398
  finance: "ph--bank--regular",
373
399
  health: "ph--heart--regular",
@@ -381,12 +407,14 @@ var categoryIcons = {
381
407
  };
382
408
 
383
409
  export {
410
+ ChatSurface,
384
411
  Assistant_exports,
385
412
  AssistantOperation_exports,
386
413
  AssistantCapabilities_exports,
387
414
  AssistantEvents_exports,
415
+ Ollama_exports,
388
416
  ApiAuthorization,
389
417
  ServiceType,
390
418
  categoryIcons
391
419
  };
392
- //# sourceMappingURL=chunk-5KB2WRI2.mjs.map
420
+ //# sourceMappingURL=chunk-6Q4OBGIK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/ChatSurface.ts", "../../../src/types/Assistant.ts", "../../../src/types/Settings.ts", "../../../src/types/AssistantOperation.ts", "../../../src/types/AssistantCapabilities.ts", "../../../src/types/AssistantEvents.ts", "../../../src/types/Ollama.ts", "../../../src/types/service.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Surface } from '@dxos/app-framework/ui';\n\n/**\n * Role token for surfaces an agent requests inline in the conversation via the `<surface>` content\n * block. `role` selects the concrete surface to render (e.g. `integration-prompt`); `data` carries\n * its payload (e.g. `{ service: 'gmail.com' }`). Plugins contribute renderers by filtering on the\n * inner `role`, which keeps the chat renderer decoupled from the specific surfaces it can host.\n */\nexport const ChatSurface: Surface.RoleToken<{\n role: string;\n data?: Record<string, unknown>;\n}> = Surface.makeType('org.dxos.plugin.assistant.role.chatSurface');\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\n// Re-export Chat schema for backward compatibility.\nimport { Chat as ChatModule } from '@dxos/assistant-toolkit';\nexport const Chat = ChatModule.Chat;\nexport type Chat = ChatModule.Chat;\n\nimport { type DXN } from '@dxos/keys';\n\n// Re-export Settings as merged const/type (not as namespace).\nimport * as SettingsModule from './Settings';\nexport const Settings = SettingsModule.Settings;\nexport type Settings = SettingsModule.Settings;\n\nexport const ChatViews = SettingsModule.ChatViews;\nexport const ChatView = SettingsModule.ChatView;\nexport type ChatView = SettingsModule.ChatView;\n\nexport const ModelProviders: readonly DXN.DXN[] = SettingsModule.ModelProviders;\nexport const ModelProvider = SettingsModule.ModelProvider;\nexport type ModelProvider = SettingsModule.ModelProvider;\n\nexport const ModelDefaults = SettingsModule.ModelDefaults;\nexport type ModelDefaults = SettingsModule.ModelDefaults;\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Provider } from '@dxos/ai';\nimport { SchemaEx } from '@dxos/effect';\nimport { DXN } from '@dxos/keys';\n\n// A provider id is an open DXN (third-party providers define their own), validated as a DXN rather\n// than restricted to a closed literal union. The known providers come from the @dxos/ai registry.\nexport const ModelProvider = DXN.Schema;\nexport type ModelProvider = DXN.DXN;\nexport const ModelProviders: readonly DXN.DXN[] = Provider.all.map((provider) => provider.id);\n\nexport const ChatView = Schema.Union(\n Schema.Literal('normal').annotations({ title: 'Normal' }),\n Schema.Literal('summary').annotations({ title: 'Summary' }),\n Schema.Literal('thinking').annotations({ title: 'Thinking' }),\n Schema.Literal('debug').annotations({ title: 'Debug' }),\n);\nexport type ChatView = Schema.Schema.Type<typeof ChatView>;\nexport const ChatViews = SchemaEx.getLiteralValues(ChatView);\n\nexport const ModelDefaults = Schema.mutable(\n Schema.Struct({\n edge: Schema.optional(\n Schema.String.annotations({\n title: 'Remote language model',\n description: 'Choose the remote language model used for AI requests.',\n }),\n ),\n // `built-in` (bundled sidecar) and `ollama` (external) share the `ollama` model source, so they\n // share this single default key.\n ollama: Schema.optional(\n Schema.String.annotations({\n title: 'Local language model',\n description: 'Choose the locally hosted model used for AI requests.',\n }),\n ),\n lmstudio: Schema.optional(\n Schema.String.annotations({\n title: 'LM Studio language model',\n description: 'Choose the locally hosted LM Studio model for AI requests.',\n }),\n ),\n }),\n);\nexport type ModelDefaults = Schema.Schema.Type<typeof ModelDefaults>;\n\nexport const Settings = Schema.mutable(\n Schema.Struct({\n customPrompts: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Use custom prompts',\n description: 'Allow the assistant to use custom prompts defined in your spaces.',\n }),\n ),\n chatView: Schema.optional(\n ChatView.annotations({\n title: 'Chat view',\n description:\n 'Controls which message blocks are shown in the chat: normal hides reasoning, thinking shows reasoning, debug shows raw blocks, summary shows only conversational text.',\n }),\n ),\n modelProvider: Schema.optional(\n ModelProvider.annotations({\n title: 'LLM provider',\n description: 'Select which language model service to use for AI responses.',\n }),\n ),\n modelDefaults: Schema.optional(ModelDefaults.annotations({ title: 'Model defaults' })),\n tracePanelDebug: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Trace panel debug',\n description: 'Show the raw span tree as JSON in the trace panel instead of the commit graph.',\n }),\n ),\n }),\n);\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiService } from '@dxos/ai';\nimport { Capability } from '@dxos/app-framework';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Database, Obj, Type } from '@dxos/echo';\nimport { DXN, URI } from '@dxos/keys';\n\nimport { meta } from '#meta';\n\nconst makeKey = (name: string) => DXN.make(`${meta.profile.key}.operation.${name}`);\n\nexport const CreateChat = Operation.make({\n meta: { key: makeKey('createChat'), name: 'Create Chat', icon: 'ph--chat-text--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n db: Database.Database,\n name: Schema.optional(Schema.String),\n /** If false, chat is created in-memory only and not added to space. Defaults to true. */\n addToSpace: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n object: Type.getSchema(Chat.Chat),\n }),\n});\n\nexport const UpdateChatName = Operation.make({\n meta: {\n key: makeKey('updateChatName'),\n name: 'Update Chat Name',\n icon: 'ph--pencil--regular',\n },\n services: [Database.Service, AiService.AiService],\n input: Schema.Struct({\n chat: Type.getSchema(Chat.Chat),\n /** Initial user message text; used when the feed has no history yet (e.g. auto-rename on first send). */\n prompt: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n});\n\nexport const SetCurrentChat = Operation.make({\n meta: {\n key: makeKey('setCurrentChat'),\n name: 'Set Current Chat',\n icon: 'ph--chat-text--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n companionTo: Obj.Unknown,\n chat: Type.getSchema(Chat.Chat).pipe(Schema.optional),\n }),\n output: Schema.Void,\n});\n\nconst NavigationTargetSchema = Schema.Struct({\n path: Schema.String.annotations({ description: 'Navigation path to use with the Open operation.' }),\n label: Schema.String.annotations({ description: 'Human-readable label.' }),\n type: Schema.String.annotations({ description: 'Object type.' }),\n});\n\nexport const ResolveNavigationTargets = Operation.make({\n meta: {\n key: makeKey('resolveNavigationTargets'),\n name: 'Resolve navigation targets',\n description:\n \"Resolve a navigation path for the Open operation. Pass an object's URI (its DXN, e.g. a context object's <dxn>) as the query uri to resolve that object to its navigation target, or omit the query to list pages that can be navigated to. Pass the returned target path to Open.\",\n icon: 'ph--compass--regular',\n },\n input: Schema.Struct({\n query: Schema.optional(\n Schema.Struct({\n // An object URI (e.g. a context object's `<dxn>`); accepts both `echo:` EIDs and `dxn:` DXNs.\n uri: Schema.optional(URI.Schema),\n }),\n ),\n }),\n output: Schema.Struct({\n targets: Schema.Array(NavigationTargetSchema),\n }),\n services: [Capability.Service],\n});\n\nexport const ForkChat = Operation.make({\n meta: { key: makeKey('forkChat'), name: 'Fork Chat', icon: 'ph--git-branch--regular', skipRegistry: true },\n services: [Capability.Service, Database.Service],\n input: Schema.Struct({\n chat: Type.getSchema(Chat.Chat),\n /** When provided, the forked chat is set as the companion for this object rather than opened standalone. */\n companionTo: Schema.optional(Obj.Unknown),\n }),\n output: Schema.Struct({\n object: Type.getSchema(Chat.Chat),\n }),\n});\n\nexport const EnsureCompanionChat = Operation.make({\n meta: {\n key: makeKey('ensureCompanionChat'),\n name: 'Ensure Companion Chat',\n icon: 'ph--chat-text--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n db: Database.Database,\n companionTo: Obj.Unknown,\n }),\n output: Schema.Struct({\n chat: Type.getSchema(Chat.Chat),\n /** Whether the returned chat was already persisted in the space. */\n persisted: Schema.Boolean,\n }),\n});\n\nexport const SkillForm = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n description: Schema.optional(Schema.String),\n});\n\nexport const GenerateHomeSuggestions = Operation.make({\n meta: {\n key: makeKey('generateHomeSuggestions'),\n name: 'Generate Home Suggestions',\n icon: 'ph--sparkle--regular',\n // Internal UI operation — not exposed as an agent tool.\n skipRegistry: true,\n },\n services: [Capability.Service, AiService.AiService],\n input: Schema.Struct({ db: Database.Database }),\n output: Schema.Struct({ prompts: Schema.Array(Schema.String) }),\n});\n\nexport const ToggleTracePanelDebug = Operation.make({\n meta: {\n key: makeKey('toggleTracePanelDebug'),\n name: 'Toggle trace panel debug',\n description: 'Toggle trace panel between commit graph and raw span tree JSON.',\n icon: 'ph--bug--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Boolean,\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\n\nimport { meta } from '#meta';\n\nimport * as Assistant from './Assistant';\nimport * as Ollama from './Ollama';\n\nexport const Settings = Capability.make<Atom.Writable<Assistant.Settings>>(`${meta.profile.key}.capability.settings`);\n\nexport const OllamaManager = Capability.make<Ollama.Manager>(`${meta.profile.key}.capability.ollama-manager`);\n\nexport const StateSchema = Schema.mutable(\n Schema.Struct({\n /** Map of primary object dxn to current chat dxn. */\n currentChat: Schema.Record({ key: Schema.String, value: Schema.UndefinedOr(Schema.String) }),\n /** Map of chat object path to prompt text to auto-submit when the chat opens. */\n pendingPrompts: Schema.Record({ key: Schema.String, value: Schema.UndefinedOr(Schema.String) }),\n }),\n);\n\nexport type AssistantState = Schema.Schema.Type<typeof StateSchema>;\n\nexport const State = Capability.make<Atom.Writable<AssistantState>>(`${meta.profile.key}.capability.state`);\n\n/** Session-scoped cache of transient (not yet persisted) companion chats keyed by companion DXN string. */\nexport const CompanionChatCache = Capability.make<Atom.Writable<Record<string, Obj.Unknown | undefined>>>(\n `${meta.profile.key}.capability.companion-chat-cache`,\n);\n\nexport const HomeSuggestionsCacheSchema = Schema.mutable(\n Schema.Record({\n key: Schema.String,\n value: Schema.Struct({\n /** Epoch ms timestamp of the successful generation that produced these prompts. */\n generatedAt: Schema.Number,\n /** Non-empty, trimmed prompts from a successful generation. */\n prompts: Schema.Array(Schema.String),\n }),\n }),\n);\nexport type HomeSuggestionsCache = Schema.Schema.Type<typeof HomeSuggestionsCacheSchema>;\n\n/** Per-space cache of LLM-generated home starter prompts, persisted across page reloads. */\nexport const HomeSuggestionsCache = Capability.make<Atom.Writable<HomeSuggestionsCache>>(\n `${meta.profile.key}.capability.home-suggestions-cache`,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { ActivationEvent } from '@dxos/app-framework';\n\nimport { meta } from '#meta';\n\nexport const SetupAiServiceProviders = ActivationEvent.make(`${meta.profile.key}.event.setupAiServiceProviders`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { Atom } from '@effect-atom/atom-react';\nimport type * as Effect from 'effect/Effect';\n\nimport { type OllamaAdmin } from '@dxos/ai/resolvers';\n\n/**\n * Reactive state of the local Ollama model installation, surfaced to the settings UI.\n */\nexport type ModelsState = {\n kind: 'idle' | 'loading' | 'ready' | 'failed';\n models: OllamaAdmin.Model[];\n /** Models currently loaded into memory (from `/api/ps`). */\n loaded: OllamaAdmin.RunningModel[];\n /** In-flight pulls keyed by model name. */\n pulls: Record<string, OllamaAdmin.PullProgress>;\n /** Per-model action errors (load/unload/remove/pull), keyed by model name, shown inline. */\n errors: Record<string, string>;\n /** Connection-level error reaching the service (no specific model). */\n error?: string;\n};\n\n/**\n * Stable, empty model state. Subscribed to when no sidecar manager is present (web/mobile) so a\n * reactive read keeps an unconditional hook order.\n */\nexport const emptyState: Atom.Atom<ModelsState> = Atom.make<ModelsState>({\n kind: 'idle',\n models: [],\n loaded: [],\n pulls: {},\n errors: {},\n});\n\n/**\n * Capability for managing locally-installed Ollama models. Implemented by the native (desktop)\n * plugin against the bundled sidecar; absent in the browser/mobile, where the UI renders nothing.\n */\nexport type Manager = {\n readonly endpoint: string;\n state: Atom.Writable<ModelsState>;\n /** List installed models (and currently-loaded models). Ensures the sidecar is running. */\n refresh: Effect.Effect<void>;\n /** Refresh only the currently-loaded models; cheap, for polling while a chat runs. */\n refreshLoaded: Effect.Effect<void>;\n pull: (name: string) => Effect.Effect<void>;\n /** Abort an in-flight pull, leaving any already-downloaded layers in place. */\n cancel: (name: string) => Effect.Effect<void>;\n /** Load a model into memory (kept resident until unloaded). */\n load: (name: string) => Effect.Effect<void>;\n /** Unload a model from memory. */\n unload: (name: string) => Effect.Effect<void>;\n remove: (name: string) => Effect.Effect<void>;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { DXN, Ref, Type } from '@dxos/echo';\n\n// TODO(burdon): Factor out and reconcile with https://github.com/dxos/dxos/blob/main/packages/plugins/plugin-token-manager/src/defs/presets.ts#L7\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Ref.Ref(Operation.PersistentOperation),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Ref.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(\n // Service types.\n ServiceInterfaceFunction,\n ServiceInterfaceWorkflow,\n ServiceInterfaceApi,\n) as any;\n\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends Type.makeObject<ServiceType>(DXN.make('org.dxos.type.service', '0.1.0'))(\n Schema.Struct({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n }),\n) {}\n\n//\n// Service Registry\n//\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n"],
5
+ "mappings": "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",
6
+ "names": ["Surface", "ChatSurface", "makeType", "ChatView", "ChatViews", "ModelDefaults", "ModelProvider", "ModelProviders", "Settings", "Chat", "ChatModule", "Schema", "Provider", "SchemaEx", "DXN", "ModelProvider", "ModelProviders", "all", "map", "provider", "id", "ChatView", "Union", "Literal", "annotations", "title", "ChatViews", "getLiteralValues", "ModelDefaults", "mutable", "Struct", "edge", "optional", "String", "description", "ollama", "lmstudio", "Settings", "customPrompts", "Boolean", "chatView", "modelProvider", "modelDefaults", "tracePanelDebug", "Chat", "ChatModule", "Settings", "ChatViews", "ChatView", "ModelProviders", "ModelProvider", "ModelDefaults", "Schema", "AiService", "Capability", "Chat", "Operation", "Database", "Obj", "Type", "DXN", "URI", "meta", "makeKey", "name", "make", "profile", "key", "CreateChat", "icon", "services", "Service", "input", "Struct", "db", "optional", "String", "addToSpace", "Boolean", "output", "object", "getSchema", "UpdateChatName", "chat", "prompt", "Void", "SetCurrentChat", "companionTo", "Unknown", "pipe", "NavigationTargetSchema", "path", "annotations", "description", "label", "type", "ResolveNavigationTargets", "query", "uri", "targets", "Array", "ForkChat", "skipRegistry", "EnsureCompanionChat", "persisted", "SkillForm", "GenerateHomeSuggestions", "prompts", "ToggleTracePanelDebug", "state", "Settings", "Schema", "Capability", "meta", "make", "profile", "key", "OllamaManager", "StateSchema", "mutable", "Struct", "currentChat", "Record", "String", "value", "UndefinedOr", "pendingPrompts", "State", "CompanionChatCache", "HomeSuggestionsCacheSchema", "generatedAt", "Number", "prompts", "Array", "HomeSuggestionsCache", "ActivationEvent", "meta", "SetupAiServiceProviders", "make", "profile", "key", "Atom", "emptyState", "make", "kind", "models", "loaded", "pulls", "errors", "Schema", "Operation", "ComputeGraph", "DXN", "Ref", "Type", "ApiAuthorizationKey", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "PersistentOperation", "ServiceInterfaceWorkflow", "workflow", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "makeObject", "make", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather"]
7
+ }
@@ -1,59 +1,24 @@
1
1
  // src/processor/presets.ts
2
- import * as Schema from "effect/Schema";
3
- var ModelProviders = [
4
- "dxos-local",
5
- "dxos-remote",
6
- "lm-studio",
7
- "ollama"
8
- ];
9
- var ModelProvider = Schema.Literal(...ModelProviders);
10
- var createModelLabel = (model) => {
11
- const parts = model.split(".");
12
- return parts[parts.length - 1];
13
- };
14
- var AiServicePresets = [
15
- // Sonnet is first so it is the default selection.
16
- {
17
- provider: "dxos-remote",
18
- model: "ai.claude.model.claude-sonnet-4-6",
19
- label: "Claude Sonnet"
20
- },
21
- {
22
- provider: "dxos-remote",
23
- model: "ai.claude.model.claude-opus-4-8",
24
- label: "Claude Opus"
25
- },
26
- {
27
- provider: "dxos-remote",
28
- model: "ai.claude.model.claude-haiku-4-5",
29
- label: "Claude Haiku"
30
- },
31
- {
32
- provider: "ollama",
33
- model: "ai.ollama.model.gpt-oss:20b"
34
- },
35
- {
36
- provider: "ollama",
37
- model: "ai.ollama.model.gemma4:latest"
38
- },
39
- {
40
- provider: "lm-studio",
41
- model: "ai.google.model.gemma-3-27b"
42
- },
43
- {
44
- provider: "lm-studio",
45
- model: "ai.meta.model.llama-3.2-3b-instruct"
46
- },
47
- {
48
- model: "ai.ollama.model.deepseek-r1:latest",
49
- provider: "dxos-local"
50
- }
51
- ].map(({ model, provider, label }, i) => ({
52
- id: `preset-${i}`,
2
+ import { Model, Provider } from "@dxos/ai";
3
+ import { DXN } from "@dxos/keys";
4
+ var presetsForProvider = (provider) => Model.forProvider(provider).map((model) => ({
5
+ id: model.id,
53
6
  provider,
54
- model,
55
- label: label ?? createModelLabel(model)
7
+ model: model.id,
8
+ backend: model.backend,
9
+ label: model.label
56
10
  }));
11
+ var resolveProvider = (provider, hasBuiltIn) => {
12
+ const resolved = (provider ? DXN.tryMake(provider) : void 0) ?? Provider.edge.id;
13
+ if (resolved === Provider.ollama.id && hasBuiltIn) {
14
+ return Provider.builtIn.id;
15
+ }
16
+ if (resolved === Provider.builtIn.id && !hasBuiltIn) {
17
+ return Provider.ollama.id;
18
+ }
19
+ return resolved;
20
+ };
21
+ var defaultsKeyForProvider = (provider) => provider === Provider.edge.id ? "edge" : provider === Provider.lmStudio.id ? "lmstudio" : "ollama";
57
22
 
58
23
  // src/processor/processor.ts
59
24
  import { Atom, Registry as AtomRegistry } from "@effect-atom/atom-react";
@@ -64,13 +29,12 @@ import * as Exit from "effect/Exit";
64
29
  import * as Fiber from "effect/Fiber";
65
30
  import * as Option from "effect/Option";
66
31
  import * as Stream from "effect/Stream";
67
- import { DEFAULT_EDGE_MODEL } from "@dxos/ai";
68
- import { AiContext, createSystemPrompt, formatSystemPrompt, McpServerError, PartialBlock, ToolExecutionServices } from "@dxos/assistant";
69
- import { Operation, Trace } from "@dxos/compute";
32
+ import { Model as Model2 } from "@dxos/ai";
33
+ import { Harness, McpServerError, PartialBlock, ToolExecutionServices, createSystemPrompt, formatSystemPrompt } from "@dxos/assistant";
34
+ import { AgentService, Operation, Trace } from "@dxos/compute";
70
35
  import { Obj } from "@dxos/echo";
71
36
  import { UsageQuotaExceededError } from "@dxos/edge-client";
72
37
  import { EffectEx } from "@dxos/effect";
73
- import { AgentService } from "@dxos/functions-runtime";
74
38
  import { log } from "@dxos/log";
75
39
  import { Message } from "@dxos/types";
76
40
  import { AssistantOperation } from "#types";
@@ -95,7 +59,7 @@ var findInCause = (error, predicate) => {
95
59
  // src/processor/processor.ts
96
60
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/processor/processor.ts";
97
61
  var defaultOptions = {
98
- model: DEFAULT_EDGE_MODEL
62
+ model: Model2.DEFAULT_EDGE
99
63
  };
100
64
  var QUOTA_EXCEEDED_MESSAGE = "You have reached your AI usage limit for this period.";
101
65
  var AiUsageQuotaError = class extends Error {
@@ -199,16 +163,19 @@ var AiChatProcessor = class {
199
163
  }
200
164
  async getSystemPrompt() {
201
165
  return this._runtime.runPromise(Effect.gen(this, function* () {
202
- const blueprints = this.context.getBlueprints();
166
+ const skills = this.context.getSkills();
203
167
  const objects = this.context.getObjects();
168
+ const runtime2 = yield* Effect.runtime();
204
169
  return yield* formatSystemPrompt({
205
170
  system: this._options.system,
206
- blueprints,
171
+ skills,
207
172
  objects
208
- });
209
- }).pipe(Effect.provideService(AiContext.Service, {
210
- binder: this.context
211
- }), Effect.provide(this._spaceLayer), Effect.orDie));
173
+ }).pipe(Effect.provideService(Harness.HarnessService, Harness.fromBinder({
174
+ feed: this._feed,
175
+ runtime: runtime2,
176
+ binder: this.context
177
+ })));
178
+ }).pipe(Effect.provide(this._spaceLayer), Effect.orDie));
212
179
  }
213
180
  /**
214
181
  * Initiates a new request via AgentService.
@@ -225,10 +192,12 @@ var AiChatProcessor = class {
225
192
  const effect = Effect.gen(this, function* () {
226
193
  log.info("init agent session", {
227
194
  feed: Obj.getURI(this._feed),
228
- model: this._options.model
229
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 173, S: this });
195
+ model: this._options.model,
196
+ provider: this._options.provider
197
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 177, S: this });
230
198
  const session = yield* AgentService.getSession(this._feed, {
231
- model: this._options.model
199
+ model: this._options.model,
200
+ provider: this._options.provider
232
201
  });
233
202
  const ephemeralStream = session.subscribeEphemeral();
234
203
  yield* ephemeralStream.pipe(Stream.runForEach((message) => Effect.sync(() => {
@@ -242,14 +211,14 @@ var AiChatProcessor = class {
242
211
  })), Effect.fork);
243
212
  log("chat processor submitting prompt", {
244
213
  length: requestProp.message.length
245
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 190, S: this });
214
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 196, S: this });
246
215
  yield* session.submitPrompt(requestProp.message);
247
- log("chat processor submitPrompt returned, waiting for agent", {}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 194, S: this });
216
+ log("chat processor submitPrompt returned, waiting for agent", {}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 200, S: this });
248
217
  if (!this._options.chat?.target?.name) {
249
218
  yield* this.#updateChatName(requestProp.message);
250
219
  }
251
220
  yield* session.waitForCompletion();
252
- log.info("session complete", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 201, S: this });
221
+ log.info("session complete", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 207, S: this });
253
222
  this.#flushStreaming();
254
223
  });
255
224
  this.#requestFiber = this._runtime.runFork(effect.pipe(Effect.provide(this._spaceLayer)));
@@ -267,10 +236,10 @@ var AiChatProcessor = class {
267
236
  } catch (err) {
268
237
  log.error("request failed", {
269
238
  error: err
270
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 221, S: this });
239
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 227, S: this });
271
240
  this.#registry.set(this.error, Option.some(parseError(err)));
272
241
  } finally {
273
- log.info("setting active to false", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 226, S: this });
242
+ log.info("setting active to false", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 232, S: this });
274
243
  this.#registry.set(this.active, false);
275
244
  this.#requestFiber = void 0;
276
245
  }
@@ -282,7 +251,7 @@ var AiChatProcessor = class {
282
251
  await EffectEx.runAndForwardErrors(Effect.gen(this, function* () {
283
252
  log.info("cancelling request", {
284
253
  fiber: this.#requestFiber
285
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 235, S: this });
254
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 241, S: this });
286
255
  if (this.#requestFiber) {
287
256
  yield* Fiber.interrupt(this.#requestFiber);
288
257
  }
@@ -376,7 +345,7 @@ var AiChatProcessor = class {
376
345
  * across turns do not spam the UI.
377
346
  */
378
347
  #handleMcpError(event) {
379
- log.warn("MCP server error", event, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 326, S: this });
348
+ log.warn("MCP server error", event, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 332, S: this });
380
349
  this.#registry.update(this.mcpErrors, (errors) => {
381
350
  if (errors.some((existing) => existing.url === event.url && existing.protocol === event.protocol)) {
382
351
  return errors;
@@ -421,7 +390,7 @@ var AiChatProcessor = class {
421
390
  if (!spaceId) {
422
391
  return Effect.void;
423
392
  }
424
- log.info("scheduling chat name update", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 368, S: this });
393
+ log.info("scheduling chat name update", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 374, S: this });
425
394
  return Operation.schedule(AssistantOperation.UpdateChatName, {
426
395
  chat,
427
396
  prompt
@@ -431,15 +400,11 @@ var AiChatProcessor = class {
431
400
  }
432
401
  };
433
402
 
434
- // src/components/Chat/context.ts
435
- import { createContext } from "@radix-ui/react-context";
436
- var [ChatContextProvider, useChatContext] = createContext("Chat");
437
-
438
403
  export {
439
- AiServicePresets,
404
+ presetsForProvider,
405
+ resolveProvider,
406
+ defaultsKeyForProvider,
440
407
  AiUsageQuotaError,
441
- AiChatProcessor,
442
- ChatContextProvider,
443
- useChatContext
408
+ AiChatProcessor
444
409
  };
445
- //# sourceMappingURL=chunk-54W7N6M6.mjs.map
410
+ //# sourceMappingURL=chunk-BXI2R4OO.mjs.map