@dxos/plugin-assistant 0.8.4-main.422d1c7879 → 0.8.4-main.51f1e5ca51

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 (400) hide show
  1. package/dist/lib/browser/AssistantSettings-GG52BLKS.mjs +40 -0
  2. package/dist/lib/browser/AssistantSettings-GG52BLKS.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +26 -3
  4. package/dist/lib/browser/blueprints/index.mjs.map +4 -4
  5. package/dist/lib/browser/{chunk-ATHYBVGN.mjs → chunk-RIJNPAYC.mjs} +5 -5
  6. package/dist/lib/browser/chunk-RIJNPAYC.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-LMVTXH54.mjs → chunk-SEMCG4ZK.mjs} +58 -17
  8. package/dist/lib/browser/chunk-SEMCG4ZK.mjs.map +7 -0
  9. package/dist/lib/browser/cli/index.mjs +3 -4
  10. package/dist/lib/browser/cli/index.mjs.map +3 -3
  11. package/dist/lib/browser/{create-chat-LBZHGVSN.mjs → create-chat-FZJASOQS.mjs} +5 -13
  12. package/dist/lib/browser/create-chat-FZJASOQS.mjs.map +7 -0
  13. package/dist/lib/browser/{ensure-companion-chat-ZEZA34MZ.mjs → ensure-companion-chat-PHUWWFVY.mjs} +4 -4
  14. package/dist/lib/browser/ensure-companion-chat-PHUWWFVY.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +804 -880
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/{on-create-space-54RNX5JI.mjs → on-create-space-OQNCM7NC.mjs} +3 -3
  19. package/dist/lib/browser/{on-create-space-54RNX5JI.mjs.map → on-create-space-OQNCM7NC.mjs.map} +1 -1
  20. package/dist/lib/browser/operations/index.mjs +3 -3
  21. package/dist/lib/browser/operations/index.mjs.map +3 -3
  22. package/dist/lib/browser/{resolve-navigation-targets-NZOD66NY.mjs → resolve-navigation-targets-PMNR7D3P.mjs} +3 -3
  23. package/dist/lib/browser/{resolve-navigation-targets-NZOD66NY.mjs.map → resolve-navigation-targets-PMNR7D3P.mjs.map} +1 -1
  24. package/dist/lib/browser/{run-prompt-in-new-chat-THLK5YQC.mjs → run-prompt-in-new-chat-4XDYFKCV.mjs} +10 -39
  25. package/dist/lib/browser/run-prompt-in-new-chat-4XDYFKCV.mjs.map +7 -0
  26. package/dist/lib/browser/{set-current-chat-LRS3VFSH.mjs → set-current-chat-7V4DA66I.mjs} +4 -4
  27. package/dist/lib/browser/set-current-chat-7V4DA66I.mjs.map +7 -0
  28. package/dist/lib/browser/translations.mjs +171 -0
  29. package/dist/lib/browser/translations.mjs.map +7 -0
  30. package/dist/lib/browser/types/index.mjs +1 -3
  31. package/dist/lib/browser/{update-chat-name-3Y36KFAS.mjs → update-chat-name-ZGMU2UGN.mjs} +7 -22
  32. package/dist/lib/browser/update-chat-name-ZGMU2UGN.mjs.map +7 -0
  33. package/dist/lib/node-esm/AssistantSettings-23A5IMHS.mjs +41 -0
  34. package/dist/lib/node-esm/AssistantSettings-23A5IMHS.mjs.map +7 -0
  35. package/dist/lib/node-esm/blueprints/index.mjs +26 -3
  36. package/dist/lib/node-esm/blueprints/index.mjs.map +4 -4
  37. package/dist/lib/node-esm/{chunk-PXAJSTGZ.mjs → chunk-NCIZY5ZV.mjs} +5 -5
  38. package/dist/lib/node-esm/chunk-NCIZY5ZV.mjs.map +7 -0
  39. package/dist/lib/node-esm/{chunk-W3JZ2F4T.mjs → chunk-XAFVSEUJ.mjs} +58 -17
  40. package/dist/lib/node-esm/chunk-XAFVSEUJ.mjs.map +7 -0
  41. package/dist/lib/node-esm/cli/index.mjs +3 -4
  42. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  43. package/dist/lib/node-esm/{create-chat-3BEG4R6J.mjs → create-chat-RY6A4WUV.mjs} +5 -13
  44. package/dist/lib/node-esm/create-chat-RY6A4WUV.mjs.map +7 -0
  45. package/dist/lib/node-esm/{ensure-companion-chat-6K2WEWFP.mjs → ensure-companion-chat-BTDU5TS2.mjs} +4 -4
  46. package/dist/lib/node-esm/ensure-companion-chat-BTDU5TS2.mjs.map +7 -0
  47. package/dist/lib/node-esm/index.mjs +804 -880
  48. package/dist/lib/node-esm/index.mjs.map +4 -4
  49. package/dist/lib/node-esm/meta.json +1 -1
  50. package/dist/lib/node-esm/{on-create-space-YRPZ6HZY.mjs → on-create-space-4LWCYT3H.mjs} +3 -3
  51. package/dist/lib/node-esm/{on-create-space-YRPZ6HZY.mjs.map → on-create-space-4LWCYT3H.mjs.map} +1 -1
  52. package/dist/lib/node-esm/operations/index.mjs +3 -3
  53. package/dist/lib/node-esm/operations/index.mjs.map +3 -3
  54. package/dist/lib/node-esm/{resolve-navigation-targets-3PPK7XLH.mjs → resolve-navigation-targets-GHS3XPVP.mjs} +3 -3
  55. package/dist/lib/node-esm/{resolve-navigation-targets-3PPK7XLH.mjs.map → resolve-navigation-targets-GHS3XPVP.mjs.map} +1 -1
  56. package/dist/lib/node-esm/{run-prompt-in-new-chat-OUYKCMQ7.mjs → run-prompt-in-new-chat-UF54E34O.mjs} +10 -39
  57. package/dist/lib/node-esm/run-prompt-in-new-chat-UF54E34O.mjs.map +7 -0
  58. package/dist/lib/node-esm/{set-current-chat-SMXZJD3F.mjs → set-current-chat-SWPAOLZL.mjs} +4 -4
  59. package/dist/lib/node-esm/set-current-chat-SWPAOLZL.mjs.map +7 -0
  60. package/dist/lib/node-esm/translations.mjs +172 -0
  61. package/dist/lib/node-esm/translations.mjs.map +7 -0
  62. package/dist/lib/node-esm/types/index.mjs +1 -3
  63. package/dist/lib/node-esm/{update-chat-name-HM2P4NSI.mjs → update-chat-name-CW6K5M37.mjs} +7 -22
  64. package/dist/lib/node-esm/update-chat-name-CW6K5M37.mjs.map +7 -0
  65. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  66. package/dist/types/src/blueprints/assistant/blueprint.d.ts +2 -2
  67. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -1
  68. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/index.d.ts +2 -2
  74. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  76. package/dist/types/src/capabilities/markdown.d.ts +1 -1
  77. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  80. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  85. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  86. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +1 -1
  87. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  88. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
  89. package/dist/types/src/components/Chat/Chat.d.ts +29 -39
  90. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  91. package/dist/types/src/components/Chat/context.d.ts +29 -0
  92. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  93. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  94. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +5 -3
  95. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  96. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +1 -1
  97. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
  98. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  99. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +28 -0
  100. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  101. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  102. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  103. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  104. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  105. package/dist/types/src/components/ChatPrompt/index.d.ts +2 -0
  106. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  107. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -1
  108. package/dist/types/src/components/ChatThread/ChatThread.d.ts +6 -3
  109. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  110. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +4 -3
  111. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  113. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +1 -1
  114. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/ChatThread/registry.d.ts +18 -0
  116. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  117. package/dist/types/src/components/ChatThread/sync.d.ts +1 -1
  118. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  119. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -1
  120. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +4 -4
  121. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -1
  122. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -1
  123. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -1
  125. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -1
  126. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -1
  127. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -1
  128. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -1
  129. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -1
  130. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -1
  131. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -1
  132. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  133. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  134. package/dist/types/src/components/ChatThread/widgets/index.d.ts +1 -2
  135. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
  136. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +2 -1
  137. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  138. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +0 -1
  139. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -2
  141. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  142. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +3 -3
  144. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  145. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  146. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  147. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -1
  148. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +4 -4
  149. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  150. package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -3
  151. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  152. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  153. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -1
  154. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
  155. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -1
  156. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +1 -1
  157. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +1 -1
  158. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -1
  159. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +1 -1
  160. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -1
  161. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  162. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  163. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  164. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  165. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  166. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  167. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  168. package/dist/types/src/containers/{PromptList/PromptList.stories.d.ts → RoutineList/RoutineList.stories.d.ts} +1 -1
  169. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  170. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  171. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  172. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +3 -2
  173. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  174. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +1 -4
  175. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
  176. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +1 -1
  177. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -1
  178. package/dist/types/src/containers/TracePanel/execution-graph.d.ts +81 -1
  179. package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +1 -1
  180. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts +2 -0
  181. package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts.map +1 -0
  182. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -1
  183. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  184. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  185. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  186. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  187. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  188. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  189. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  190. package/dist/types/src/containers/index.d.ts +2 -2
  191. package/dist/types/src/containers/index.d.ts.map +1 -1
  192. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  193. package/dist/types/src/hooks/index.d.ts +2 -0
  194. package/dist/types/src/hooks/index.d.ts.map +1 -1
  195. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +1 -1
  196. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  197. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  198. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  199. package/dist/types/src/hooks/useChatProcessor.d.ts +1 -1
  200. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  202. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  203. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  204. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  206. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  207. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  208. package/dist/types/src/hooks/useFlush.d.ts +1 -1
  209. package/dist/types/src/hooks/useFlush.d.ts.map +1 -1
  210. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  211. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  212. package/dist/types/src/index.d.ts +0 -3
  213. package/dist/types/src/index.d.ts.map +1 -1
  214. package/dist/types/src/operations/create-chat.d.ts +1 -1
  215. package/dist/types/src/operations/create-chat.d.ts.map +1 -1
  216. package/dist/types/src/operations/definitions.d.ts +24 -19
  217. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  218. package/dist/types/src/operations/ensure-companion-chat.d.ts +1 -1
  219. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -1
  220. package/dist/types/src/operations/index.d.ts +1 -1
  221. package/dist/types/src/operations/index.d.ts.map +1 -1
  222. package/dist/types/src/operations/on-create-space.d.ts +1 -1
  223. package/dist/types/src/operations/on-create-space.d.ts.map +1 -1
  224. package/dist/types/src/operations/resolve-navigation-targets.d.ts +1 -1
  225. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
  226. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +1 -1
  227. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  228. package/dist/types/src/operations/set-current-chat.d.ts +1 -1
  229. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -1
  230. package/dist/types/src/operations/update-chat-name.d.ts +1 -1
  231. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -1
  232. package/dist/types/src/processor/processor.d.ts +2 -2
  233. package/dist/types/src/processor/processor.d.ts.map +1 -1
  234. package/dist/types/src/queue-logger.d.ts.map +1 -1
  235. package/dist/types/src/testing/index.d.ts +1 -0
  236. package/dist/types/src/testing/index.d.ts.map +1 -1
  237. package/dist/types/src/testing/test-generator.d.ts +1 -1
  238. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  239. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  240. package/dist/types/src/testing/test-trace.d.ts +5 -0
  241. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  242. package/dist/types/src/translations.d.ts.map +1 -1
  243. package/dist/types/src/types/Assistant.d.ts +22 -6
  244. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  245. package/dist/types/src/types/Settings.d.ts +20 -5
  246. package/dist/types/src/types/Settings.d.ts.map +1 -1
  247. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  248. package/dist/types/src/types/events.d.ts.map +1 -1
  249. package/dist/types/src/types/index.d.ts +0 -1
  250. package/dist/types/src/types/index.d.ts.map +1 -1
  251. package/dist/types/src/types/service.d.ts +1 -1
  252. package/dist/types/src/types/service.d.ts.map +1 -1
  253. package/dist/types/tsconfig.tsbuildinfo +1 -1
  254. package/package.json +95 -91
  255. package/src/AssistantPlugin.tsx +10 -12
  256. package/src/blueprints/assistant/blueprint.test.ts +3 -3
  257. package/src/blueprints/assistant/blueprint.ts +3 -3
  258. package/src/capabilities/app-graph-builder.ts +3 -3
  259. package/src/capabilities/blueprint-definition.ts +0 -4
  260. package/src/capabilities/index.ts +1 -1
  261. package/src/capabilities/markdown.ts +1 -1
  262. package/src/capabilities/migrations.ts +1 -8
  263. package/src/capabilities/operation-handler.ts +1 -1
  264. package/src/capabilities/react-surface.tsx +16 -10
  265. package/src/cli/plugin.ts +3 -4
  266. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +3 -2
  267. package/src/components/AssistantSettings/AssistantSettings.tsx +22 -111
  268. package/src/components/Chat/Chat.tsx +56 -260
  269. package/src/components/Chat/context.ts +39 -0
  270. package/src/components/ChatPrompt/ChatActions.tsx +10 -10
  271. package/src/components/ChatPrompt/ChatOptions.stories.tsx +24 -10
  272. package/src/components/ChatPrompt/ChatOptions.tsx +60 -31
  273. package/src/components/ChatPrompt/ChatPrompt.tsx +179 -0
  274. package/src/components/ChatPrompt/ChatReferences.tsx +1 -1
  275. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  276. package/src/components/ChatPrompt/index.ts +2 -0
  277. package/src/components/ChatThread/ChatThread.stories.tsx +3 -3
  278. package/src/components/ChatThread/ChatThread.tsx +31 -18
  279. package/src/components/ChatThread/DEBUG.md +41 -0
  280. package/src/components/ChatThread/MarkdownStream.stories.tsx +5 -4
  281. package/src/components/ChatThread/registry.tsx +53 -14
  282. package/src/components/ChatThread/sync.test.ts +80 -12
  283. package/src/components/ChatThread/sync.ts +1 -1
  284. package/src/components/ChatThread/widgets/ReasoningWidget.ts +6 -6
  285. package/src/components/ChatThread/widgets/ReferenceWidget.ts +3 -1
  286. package/src/components/ChatThread/widgets/SelectWidget.ts +3 -1
  287. package/src/components/ChatThread/widgets/StatsWidget.ts +3 -1
  288. package/src/components/ChatThread/widgets/StatusWidget.ts +3 -1
  289. package/src/components/ChatThread/widgets/SuggestionWidget.ts +1 -1
  290. package/src/components/ChatThread/widgets/SummaryWidget.tsx +3 -2
  291. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +2 -1
  292. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  293. package/src/components/ChatThread/widgets/index.ts +1 -2
  294. package/src/components/ProcessTree/ProcessTree.stories.tsx +12 -38
  295. package/src/components/ProcessTree/ProcessTree.tsx +67 -35
  296. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +3 -2
  297. package/src/components/TemplateEditor/TemplateEditor.tsx +5 -5
  298. package/src/components/TemplateEditor/TemplateForm.stories.tsx +4 -3
  299. package/src/components/TemplateEditor/TemplateForm.tsx +3 -3
  300. package/src/components/Toolbox/Toolbox.stories.tsx +2 -1
  301. package/src/components/Toolbox/Toolbox.tsx +2 -2
  302. package/src/containers/AgentArticle/AgentArticle.stories.tsx +1 -1
  303. package/src/containers/AgentArticle/AgentArticle.tsx +2 -2
  304. package/src/containers/AgentProperties/AgentProperties.stories.tsx +2 -1
  305. package/src/containers/AgentProperties/AgentProperties.tsx +2 -2
  306. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +1 -1
  307. package/src/containers/ChatCompanion/ChatCompanion.tsx +1 -1
  308. package/src/containers/ChatContainer/ChatContainer.tsx +16 -6
  309. package/src/containers/ChatDialog/ChatDialog.tsx +3 -9
  310. package/src/containers/{PromptArticle/PromptArticle.tsx → RoutineArticle/RoutineArticle.tsx} +4 -4
  311. package/src/containers/RoutineArticle/index.ts +5 -0
  312. package/src/containers/{PromptList/PromptList.stories.tsx → RoutineList/RoutineList.stories.tsx} +10 -9
  313. package/src/containers/{PromptList/PromptList.tsx → RoutineList/RoutineList.tsx} +6 -5
  314. package/src/containers/RoutineList/index.ts +5 -0
  315. package/src/containers/TracePanel/TracePanel.stories.tsx +204 -198
  316. package/src/containers/TracePanel/TracePanel.tsx +69 -44
  317. package/src/containers/TracePanel/dxn-extractor.test.ts +7 -7
  318. package/src/containers/TracePanel/dxn-extractor.ts +4 -4
  319. package/src/containers/TracePanel/execution-graph.test.ts +382 -0
  320. package/src/containers/TracePanel/execution-graph.ts +340 -213
  321. package/src/containers/TracePanel/testing/index.ts +6 -0
  322. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  323. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  324. package/src/containers/index.ts +2 -2
  325. package/src/hooks/index.ts +2 -0
  326. package/src/hooks/useBlueprintRegistry.ts +1 -1
  327. package/src/hooks/useChatKeymap.ts +52 -0
  328. package/src/hooks/useChatProcessor.ts +1 -1
  329. package/src/hooks/useDebug.ts +38 -0
  330. package/src/index.ts +0 -3
  331. package/src/operations/create-chat.ts +2 -2
  332. package/src/operations/definitions.ts +4 -4
  333. package/src/operations/ensure-companion-chat.ts +1 -1
  334. package/src/operations/index.ts +1 -1
  335. package/src/operations/on-create-space.ts +1 -1
  336. package/src/operations/prompt.test.ts +5 -6
  337. package/src/operations/resolve-navigation-targets.ts +1 -1
  338. package/src/operations/run-prompt-in-new-chat.ts +3 -3
  339. package/src/operations/set-current-chat.ts +1 -1
  340. package/src/operations/update-chat-name.ts +2 -2
  341. package/src/processor/processor.test.ts +1 -1
  342. package/src/processor/processor.ts +4 -4
  343. package/src/queue-logger.ts +1 -1
  344. package/src/testing/data/trace-timeline.dx.json +3737 -1200
  345. package/src/testing/index.ts +1 -0
  346. package/src/testing/test-generator.test.ts +1 -1
  347. package/src/testing/test-generator.ts +4 -4
  348. package/src/testing/test-trace.ts +20 -0
  349. package/src/testing/trace-timeline.conversations.json +1 -1
  350. package/src/testing/trace-timeline.test.ts +53 -49
  351. package/src/translations.ts +24 -31
  352. package/src/types/Assistant.ts +11 -0
  353. package/src/types/Settings.ts +62 -7
  354. package/src/types/index.ts +0 -1
  355. package/src/types/service.ts +1 -1
  356. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs +0 -97
  357. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs.map +0 -7
  358. package/dist/lib/browser/chunk-ATHYBVGN.mjs.map +0 -7
  359. package/dist/lib/browser/chunk-EZRS3J25.mjs +0 -30
  360. package/dist/lib/browser/chunk-EZRS3J25.mjs.map +0 -7
  361. package/dist/lib/browser/chunk-LMVTXH54.mjs.map +0 -7
  362. package/dist/lib/browser/create-chat-LBZHGVSN.mjs.map +0 -7
  363. package/dist/lib/browser/ensure-companion-chat-ZEZA34MZ.mjs.map +0 -7
  364. package/dist/lib/browser/run-prompt-in-new-chat-THLK5YQC.mjs.map +0 -7
  365. package/dist/lib/browser/set-current-chat-LRS3VFSH.mjs.map +0 -7
  366. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs.map +0 -7
  367. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs +0 -98
  368. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs.map +0 -7
  369. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs +0 -32
  370. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs.map +0 -7
  371. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs.map +0 -7
  372. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs.map +0 -7
  373. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs.map +0 -7
  374. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs.map +0 -7
  375. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs.map +0 -7
  376. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs.map +0 -7
  377. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs.map +0 -7
  378. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +0 -10
  379. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +0 -1
  380. package/dist/types/src/components/ChatProgress/index.d.ts +0 -2
  381. package/dist/types/src/components/ChatProgress/index.d.ts.map +0 -1
  382. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts +0 -15
  383. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts.map +0 -1
  384. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +0 -6
  385. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +0 -1
  386. package/dist/types/src/containers/PromptArticle/index.d.ts +0 -2
  387. package/dist/types/src/containers/PromptArticle/index.d.ts.map +0 -1
  388. package/dist/types/src/containers/PromptList/PromptList.d.ts +0 -6
  389. package/dist/types/src/containers/PromptList/PromptList.d.ts.map +0 -1
  390. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts.map +0 -1
  391. package/dist/types/src/containers/PromptList/index.d.ts +0 -2
  392. package/dist/types/src/containers/PromptList/index.d.ts.map +0 -1
  393. package/dist/types/src/types/defs.d.ts +0 -2
  394. package/dist/types/src/types/defs.d.ts.map +0 -1
  395. package/src/components/ChatProgress/ChatProgress.tsx +0 -56
  396. package/src/components/ChatProgress/index.ts +0 -5
  397. package/src/components/ChatThread/widgets/PromptWidget.ts +0 -30
  398. package/src/containers/PromptArticle/index.ts +0 -5
  399. package/src/containers/PromptList/index.ts +0 -5
  400. package/src/types/defs.ts +0 -5
@@ -5,7 +5,6 @@
5
5
  import { describe, it } from '@effect/vitest';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
- import { AgentService } from '@dxos/assistant';
9
8
  import {
10
9
  AgentHandlers,
11
10
  AgentPrompt,
@@ -15,15 +14,16 @@ import {
15
14
  WebSearchHandlers,
16
15
  WebSearchToolkitOpaque,
17
16
  } from '@dxos/assistant-toolkit';
18
- import { AssistantTestLayerWithTriggers } from '@dxos/assistant/testing';
19
- import { Blueprint, Prompt } from '@dxos/blueprints';
17
+ import { Blueprint, Routine } from '@dxos/compute';
18
+ import { ExampleHandlers, Reply, Trace, Trigger } from '@dxos/compute';
19
+ import { Operation } from '@dxos/compute';
20
20
  import { Database, Feed, Filter, Obj, Query, Ref } from '@dxos/echo';
21
21
  import { TestHelpers } from '@dxos/effect/testing';
22
- import { ExampleHandlers, Reply, Trace, Trigger } from '@dxos/functions';
22
+ import { AgentService } from '@dxos/functions-runtime';
23
23
  import { FeedTraceSink, TriggerDispatcher } from '@dxos/functions-runtime';
24
+ import { AssistantTestLayerWithTriggers } from '@dxos/functions-runtime/testing';
24
25
  import { ObjectId } from '@dxos/keys';
25
26
  import { dbg } from '@dxos/log';
26
- import { Operation } from '@dxos/operation';
27
27
  import { renderTimelineAscii } from '@dxos/react-ui-components';
28
28
  import { Organization, Person } from '@dxos/types';
29
29
 
@@ -71,15 +71,15 @@ describe('Trace timeline', () => {
71
71
  "
72
72
  ● [atom] Agent processing request...
73
73
  ├──● [user] Create an organization called "Cyberdyne Systems".
74
- │ ● [check-circle] list-schemas - Success
75
- │ ● [check-circle] create-object - Success
76
- │ ● [check-circle] add-to-context - Success
77
- ◆──╯ [check-circle] Agent completed request
74
+ │ ● [function] List schemas - Success
75
+ │ ● [function] Create object - Success
76
+ │ ● [function] Add to context - Success
77
+ ◆──╯ [atom] Agent completed request
78
78
  ● │ [atom] Agent processing request...
79
79
  │ ● [user] Create a person named "John Connor".
80
- │ ● [check-circle] create-object - Success
81
- │ ● [check-circle] add-to-context - Success
82
- ◆──╯ [check-circle] Agent completed request
80
+ │ ● [function] Create object - Success
81
+ │ ● [function] Add to context - Success
82
+ ◆──╯ [atom] Agent completed request
83
83
  "
84
84
  `);
85
85
  },
@@ -105,15 +105,15 @@ describe('Trace timeline', () => {
105
105
  const { commits, branches } = buildExecutionGraph({ traceMessages: messages });
106
106
  const graph = renderTimelineAscii(commits, branches);
107
107
  expect(`\n${graph}\n`).toMatchInlineSnapshot(`
108
- "
109
- ● [atom] Agent processing request...
110
- ├──● [user] Search for all organizations. How many are there?
111
- │ ● [check-circle] list-schemas - Success
112
- │ ● [check-circle] query - Success
113
- │ ● [check-circle] query - Success
114
- ◆──╯ [check-circle] Agent completed request
115
- "
116
- `);
108
+ "
109
+ ● [atom] Agent processing request...
110
+ ├──● [user] Search for all organizations. How many are there?
111
+ │ ● [function] List schemas - Success
112
+ │ ● [function] Query - Success
113
+ │ ● [function] Query - Success
114
+ ◆──╯ [atom] Agent completed request
115
+ "
116
+ `);
117
117
  },
118
118
  Effect.provide(TestLayer),
119
119
  TestHelpers.provideTestContext,
@@ -141,23 +141,23 @@ describe('Trace timeline', () => {
141
141
  const { commits, branches } = buildExecutionGraph({ traceMessages: messages });
142
142
  const graph = renderTimelineAscii(commits, branches);
143
143
  expect(`\n${graph}\n`).toMatchInlineSnapshot(`
144
- "
145
- ● [atom] Agent processing request...
146
- ├──● [user] List all available schemas. Tell me what typenames are available.
147
- │ ● [check-circle] list-schemas - Success
148
- ◆──╯ [check-circle] Agent completed request
149
- ● │ [atom] Agent processing request...
150
- │ ● [user] Create an organization called "DXOS" and a person named "Alice".
151
- │ ● [check-circle] create-object - Success
152
- │ ● [check-circle] create-object - Success
153
- ◆──╯ [check-circle] Agent completed request
154
- ● │ [atom] Agent processing request...
155
- │ ● [user] Search for all organizations and persons.
156
- │ ● [check-circle] query - Success
157
- │ ● [check-circle] query - Success
158
- ◆──╯ [check-circle] Agent completed request
159
- "
160
- `);
144
+ "
145
+ ● [atom] Agent processing request...
146
+ ├──● [user] List all available schemas. Tell me what typenames are available.
147
+ │ ● [function] List schemas - Success
148
+ ◆──╯ [atom] Agent completed request
149
+ ● │ [atom] Agent processing request...
150
+ │ ● [user] Create an organization called "DXOS" and a person named "Alice".
151
+ │ ● [function] Create object - Success
152
+ │ ● [function] Create object - Success
153
+ ◆──╯ [atom] Agent completed request
154
+ ● │ [atom] Agent processing request...
155
+ │ ● [user] Search for all organizations and persons.
156
+ │ ● [function] Query - Success
157
+ │ ● [function] Query - Success
158
+ ◆──╯ [atom] Agent completed request
159
+ "
160
+ `);
161
161
  },
162
162
  Effect.provide(TestLayer),
163
163
  TestHelpers.provideTestContext,
@@ -178,7 +178,7 @@ describe('Trace timeline', () => {
178
178
  }),
179
179
  ]);
180
180
  const prompt = yield* Database.add(
181
- Prompt.make({
181
+ Routine.make({
182
182
  name: 'Research',
183
183
  instructions: 'Research the given topic, or object.',
184
184
  blueprints: [Ref.make(yield* Blueprint.upsert(WebSearchBlueprint.key))],
@@ -205,10 +205,11 @@ describe('Trace timeline', () => {
205
205
  const { commits, branches } = buildExecutionGraph({ traceMessages: messages });
206
206
  const graph = renderTimelineAscii(commits, branches);
207
207
  expect(`\n${graph}\n`).toMatchInlineSnapshot(`
208
- "
209
- ● [check-circle] Agent
210
- "
211
- `);
208
+ "
209
+ ● [function] Agent
210
+ ● [function] Agent - Success
211
+ "
212
+ `);
212
213
  },
213
214
  Effect.provide(TestLayer),
214
215
  TestHelpers.provideTestContext,
@@ -230,12 +231,15 @@ describe('Trace timeline', () => {
230
231
  const { commits, branches } = buildExecutionGraph({ traceMessages: messages });
231
232
  const graph = renderTimelineAscii(commits, branches);
232
233
  expect(`\n${graph}\n`).toMatchInlineSnapshot(`
233
- "
234
- ● [check-circle] Reply
235
- ● [check-circle] Reply
236
- ● [check-circle] Reply
237
- "
238
- `);
234
+ "
235
+ ● [function] Reply
236
+ ● [function] Reply - Success
237
+ ● [function] Reply
238
+ ● [function] Reply - Success
239
+ ● [function] Reply
240
+ ● [function] Reply - Success
241
+ "
242
+ `);
239
243
  },
240
244
  Effect.provide(TestLayer),
241
245
  TestHelpers.provideTestContext,
@@ -3,12 +3,12 @@
3
3
  //
4
4
 
5
5
  import { Chat, Agent, McpServer } from '@dxos/assistant-toolkit';
6
- import { Blueprint, Prompt } from '@dxos/blueprints';
6
+ import { Blueprint, Routine } from '@dxos/compute';
7
7
  import { Sequence } from '@dxos/conductor';
8
8
  import { Type } from '@dxos/echo';
9
9
  import { type Resource } from '@dxos/react-ui';
10
- import { translations as componentsTranslations } from '@dxos/react-ui-components';
11
- import { translations as formTranslations } from '@dxos/react-ui-form';
10
+ import { translations as componentsTranslations } from '@dxos/react-ui-components/translations';
11
+ import { translations as formTranslations } from '@dxos/react-ui-form/translations';
12
12
 
13
13
  import { meta } from '#meta';
14
14
 
@@ -18,7 +18,6 @@ export const translations: Resource[] = [
18
18
  ...formTranslations,
19
19
  {
20
20
  'en-US': {
21
- // TODO(burdon): From assistant.
22
21
  [Blueprint.Blueprint.typename]: {
23
22
  'typename.label': 'Blueprint',
24
23
  'typename.label_zero': 'Blueprints',
@@ -30,18 +29,17 @@ export const translations: Resource[] = [
30
29
  'delete-object.label': 'Delete blueprint',
31
30
  'object-deleted.label': 'Blueprint deleted',
32
31
  },
33
- [Type.getTypename(Prompt.Prompt)]: {
34
- 'typename.label': 'Prompt',
35
- 'typename.label_zero': 'Prompts',
36
- 'typename.label_one': 'Prompt',
37
- 'typename.label_other': 'Prompts',
38
- 'object-name.placeholder': 'New prompt',
39
- 'add-object.label': 'Add prompt',
40
- 'rename-object.label': 'Rename prompt',
41
- 'delete-object.label': 'Delete prompt',
42
- 'object-deleted.label': 'Prompt deleted',
32
+ [Type.getTypename(Routine.Routine)]: {
33
+ 'typename.label': 'Routine',
34
+ 'typename.label_zero': 'Routines',
35
+ 'typename.label_one': 'Routine',
36
+ 'typename.label_other': 'Routines',
37
+ 'object-name.placeholder': 'New routine',
38
+ 'add-object.label': 'Add routine',
39
+ 'rename-object.label': 'Rename routine',
40
+ 'delete-object.label': 'Delete routine',
41
+ 'object-deleted.label': 'Routine deleted',
43
42
  },
44
- // TODO(burdon): From conductor.
45
43
  [Sequence.typename]: {
46
44
  'typename.label': 'Sequence',
47
45
  'typename.label_zero': 'Sequences',
@@ -131,11 +129,17 @@ export const translations: Resource[] = [
131
129
  'context-settings.button': 'Chat settings',
132
130
  'microphone.button': 'Click to speak',
133
131
  'cancel-processing.button': 'Stop processing',
134
- 'blueprints-in-context.title': 'Blueprints',
135
- 'objects-in-context.title': 'Content',
136
- 'remove-object-in-context.label': 'Remove document',
137
- 'chat-model.title': 'Models',
138
- 'mcp-servers.title': 'MCP',
132
+
133
+ 'options.blueprints.title': 'Skills',
134
+ 'options.mcp.title': 'MCP',
135
+ 'options.chat-model.title': 'Models',
136
+ 'remove-object.label': 'Remove object',
137
+
138
+ 'chat-view.title': 'View',
139
+ 'chat-view.normal.label': 'Normal',
140
+ 'chat-view.summary.label': 'Summary',
141
+ 'chat-view.thinking.label': 'Thinking',
142
+ 'chat-view.debug.label': 'Debug',
139
143
  'mcp-server-add.label': 'Add MCP server',
140
144
  'mcp-server-remove.label': 'Remove MCP server',
141
145
  'mcp-server-name.label': 'Server name',
@@ -153,17 +157,6 @@ export const translations: Resource[] = [
153
157
  'branch-thread.menu': 'Branch chat',
154
158
  'chat-toolbar.title': 'Chat toolbar',
155
159
 
156
- 'settings.default.label': 'Default',
157
- 'settings.custom-prompts.label': 'Use custom prompts',
158
- 'settings.custom-prompts.description': 'Allow the assistant to use custom prompts defined in your spaces.',
159
- 'settings.llm-provider.label': 'LLM provider',
160
- 'settings.llm-provider.description': 'Select which language model service to use for AI responses.',
161
- 'settings.edge-llm-model.label': 'Remote language model',
162
- 'settings.edge-llm-model.description': 'Choose the remote language model used for AI requests.',
163
- 'settings.ollama-llm-model.label': 'Ollama language model',
164
- 'settings.ollama-llm-model.description': 'Choose the locally hosted Ollama model for AI requests.',
165
- 'settings.default-llm-model.label': 'Default language model',
166
-
167
160
  // Trigger status
168
161
  'trigger-status-disabled.label': 'Triggers disabled',
169
162
  'trigger-status-idle.label': 'Triggers idle',
@@ -12,3 +12,14 @@ export type Chat = ChatModule.Chat;
12
12
  import * as SettingsModule from './Settings';
13
13
  export const Settings = SettingsModule.Settings;
14
14
  export type Settings = SettingsModule.Settings;
15
+
16
+ export const ChatViews = SettingsModule.ChatViews;
17
+ export const ChatView = SettingsModule.ChatView;
18
+ export type ChatView = SettingsModule.ChatView;
19
+
20
+ export const ModelProviders = SettingsModule.ModelProviders;
21
+ export const ModelProvider = SettingsModule.ModelProvider;
22
+ export type ModelProvider = SettingsModule.ModelProvider;
23
+
24
+ export const ModelDefaults = SettingsModule.ModelDefaults;
25
+ export type ModelDefaults = SettingsModule.ModelDefaults;
@@ -6,16 +6,71 @@
6
6
 
7
7
  import * as Schema from 'effect/Schema';
8
8
 
9
- import { LLM_PROVIDERS } from './defs';
9
+ import { getLiteralValues } from '@dxos/effect';
10
10
 
11
- export const Settings = Schema.mutable(
11
+ export const ModelProvider = Schema.Union(
12
+ Schema.Literal('edge').annotations({ title: 'DXOS' }),
13
+ Schema.Literal('ollama').annotations({ title: 'Ollama' }),
14
+ Schema.Literal('lmstudio').annotations({ title: 'LM Studio' }),
15
+ );
16
+ export type ModelProvider = Schema.Schema.Type<typeof ModelProvider>;
17
+ export const ModelProviders = getLiteralValues(ModelProvider);
18
+
19
+ export const ChatView = Schema.Union(
20
+ Schema.Literal('normal').annotations({ title: 'Normal' }),
21
+ Schema.Literal('summary').annotations({ title: 'Summary' }),
22
+ Schema.Literal('thinking').annotations({ title: 'Thinking' }),
23
+ Schema.Literal('debug').annotations({ title: 'Debug' }),
24
+ );
25
+ export type ChatView = Schema.Schema.Type<typeof ChatView>;
26
+ export const ChatViews = getLiteralValues(ChatView);
27
+
28
+ export const ModelDefaults = Schema.mutable(
12
29
  Schema.Struct({
13
- llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),
14
- edgeModel: Schema.optional(Schema.String),
15
- ollamaModel: Schema.optional(Schema.String),
16
- lmstudioModel: Schema.optional(Schema.String),
17
- customPrompts: Schema.optional(Schema.Boolean),
30
+ edge: Schema.optional(
31
+ Schema.String.annotations({
32
+ title: 'Remote language model',
33
+ description: 'Choose the remote language model used for AI requests.',
34
+ }),
35
+ ),
36
+ ollama: Schema.optional(
37
+ Schema.String.annotations({
38
+ title: 'Ollama language model',
39
+ description: 'Choose the locally hosted Ollama model for AI requests.',
40
+ }),
41
+ ),
42
+ lmstudio: Schema.optional(
43
+ Schema.String.annotations({
44
+ title: 'LM Studio language model',
45
+ description: 'Choose the locally hosted LM Studio model for AI requests.',
46
+ }),
47
+ ),
18
48
  }),
19
49
  );
50
+ export type ModelDefaults = Schema.Schema.Type<typeof ModelDefaults>;
20
51
 
52
+ export const Settings = Schema.mutable(
53
+ Schema.Struct({
54
+ customPrompts: Schema.optional(
55
+ Schema.Boolean.annotations({
56
+ title: 'Use custom prompts',
57
+ description: 'Allow the assistant to use custom prompts defined in your spaces.',
58
+ }),
59
+ ),
60
+ chatView: Schema.optional(
61
+ ChatView.annotations({
62
+ title: 'Chat view',
63
+ description:
64
+ 'Controls which message blocks are shown in the chat: normal hides reasoning, thinking shows reasoning, debug shows raw blocks, summary shows only conversational text.',
65
+ }),
66
+ ),
67
+ modelProvider: Schema.optional(
68
+ ModelProvider.annotations({
69
+ title: 'LLM provider',
70
+ description: 'Select which language model service to use for AI responses.',
71
+ }),
72
+ ),
73
+ modelDefaults: Schema.optional(ModelDefaults),
74
+ }),
75
+ );
21
76
  export interface Settings extends Schema.Schema.Type<typeof Settings> {}
@@ -8,6 +8,5 @@ export type { Chat as ChatType } from '@dxos/assistant-toolkit';
8
8
  export * as Assistant from './Assistant';
9
9
 
10
10
  export * from './capabilities';
11
- export * from './defs';
12
11
  export * from './events';
13
12
  export * from './service';
@@ -4,9 +4,9 @@
4
4
 
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
+ import { Operation } from '@dxos/compute';
7
8
  import { ComputeGraph } from '@dxos/conductor';
8
9
  import { Ref, Type } from '@dxos/echo';
9
- import { Operation } from '@dxos/operation';
10
10
 
11
11
  // TODO(burdon): Factor out and reconcile with https://github.com/dxos/dxos/blob/main/packages/plugins/plugin-token-manager/src/defs/presets.ts#L7
12
12
 
@@ -1,97 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/components/AssistantSettings/AssistantSettings.tsx
4
- import React from "react";
5
- import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
6
- import { Input, Select, useTranslation } from "@dxos/react-ui";
7
- import { Settings as SettingsForm } from "@dxos/react-ui-form";
8
- import { meta } from "#meta";
9
- import { LLM_PROVIDERS } from "#types";
10
- var DEFAULT_VALUE = "__default";
11
- var LLM_PROVIDER_LABELS = {
12
- edge: "DXOS",
13
- ollama: "Ollama",
14
- lmstudio: "LM Studio"
15
- };
16
- var AssistantSettings = ({ settings, onSettingsChange }) => {
17
- const { t } = useTranslation(meta.id);
18
- return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
19
- title: t("settings.title", {
20
- ns: meta.id
21
- })
22
- }, /* @__PURE__ */ React.createElement(SettingsForm.Item, {
23
- title: t("settings.custom-prompts.label"),
24
- description: t("settings.custom-prompts.description")
25
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
26
- disabled: !onSettingsChange,
27
- checked: !!settings.customPrompts,
28
- onCheckedChange: (checked) => onSettingsChange?.((s) => ({
29
- ...s,
30
- customPrompts: checked
31
- }))
32
- })), /* @__PURE__ */ React.createElement(SettingsForm.Item, {
33
- title: t("settings.llm-provider.label"),
34
- description: t("settings.llm-provider.description")
35
- }, /* @__PURE__ */ React.createElement(Select.Root, {
36
- disabled: !onSettingsChange,
37
- value: settings.llmProvider ?? "edge",
38
- onValueChange: (value) => {
39
- onSettingsChange?.((s) => ({
40
- ...s,
41
- llmProvider: value === DEFAULT_VALUE ? void 0 : value
42
- }));
43
- }
44
- }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
45
- disabled: !onSettingsChange,
46
- placeholder: t("settings.llm-provider.label")
47
- }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
48
- value: DEFAULT_VALUE
49
- }, t("settings.default.label")), LLM_PROVIDERS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
50
- key: model,
51
- value: model
52
- }, LLM_PROVIDER_LABELS[model]))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(SettingsForm.Item, {
53
- title: t("settings.edge-llm-model.label"),
54
- description: t("settings.edge-llm-model.description")
55
- }, /* @__PURE__ */ React.createElement(Select.Root, {
56
- disabled: !onSettingsChange,
57
- value: settings.edgeModel ?? DEFAULT_VALUE,
58
- onValueChange: (value) => {
59
- onSettingsChange?.((s) => ({
60
- ...s,
61
- edgeModel: value === DEFAULT_VALUE ? void 0 : value
62
- }));
63
- }
64
- }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
65
- disabled: !onSettingsChange,
66
- placeholder: t("settings.default-llm-model.label")
67
- }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
68
- value: DEFAULT_VALUE
69
- }, t("settings.default.label")), DEFAULT_EDGE_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
70
- key: model,
71
- value: model
72
- }, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(SettingsForm.Item, {
73
- title: t("settings.ollama-llm-model.label"),
74
- description: t("settings.ollama-llm-model.description")
75
- }, /* @__PURE__ */ React.createElement(Select.Root, {
76
- disabled: !onSettingsChange,
77
- value: settings.ollamaModel ?? DEFAULT_VALUE,
78
- onValueChange: (value) => {
79
- onSettingsChange?.((s) => ({
80
- ...s,
81
- ollamaModel: value === DEFAULT_VALUE ? void 0 : value
82
- }));
83
- }
84
- }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
85
- disabled: !onSettingsChange,
86
- placeholder: t("settings.default-llm-model.label")
87
- }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
88
- value: DEFAULT_VALUE
89
- }, t("settings.default.label")), DEFAULT_OLLAMA_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
90
- key: model,
91
- value: model
92
- }, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null)))))));
93
- };
94
- export {
95
- AssistantSettings as default
96
- };
97
- //# sourceMappingURL=AssistantSettings-7QMO3LGF.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { type Assistant, LLM_PROVIDERS } from '#types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport type AssistantSettingsProps = AppSurface.SettingsArticleProps<Assistant.Settings>;\n\nexport const AssistantSettings = ({ settings, onSettingsChange }: AssistantSettingsProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n <SettingsForm.Item\n title={t('settings.custom-prompts.label')}\n description={t('settings.custom-prompts.description')}\n >\n <Input.Switch\n disabled={!onSettingsChange}\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, customPrompts: checked }))}\n />\n </SettingsForm.Item>\n\n <SettingsForm.Item\n title={t('settings.llm-provider.label')}\n description={t('settings.llm-provider.description')}\n >\n <Select.Root\n disabled={!onSettingsChange}\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n onSettingsChange?.((s) => ({\n ...s,\n llmProvider: value === DEFAULT_VALUE ? undefined : (value as any),\n }));\n }}\n >\n <Select.TriggerButton disabled={!onSettingsChange} placeholder={t('settings.llm-provider.label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings.default.label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </SettingsForm.Item>\n\n <SettingsForm.Item\n title={t('settings.edge-llm-model.label')}\n description={t('settings.edge-llm-model.description')}\n >\n <Select.Root\n disabled={!onSettingsChange}\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n onSettingsChange?.((s) => ({ ...s, edgeModel: value === DEFAULT_VALUE ? undefined : value }));\n }}\n >\n <Select.TriggerButton disabled={!onSettingsChange} placeholder={t('settings.default-llm-model.label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings.default.label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </SettingsForm.Item>\n\n <SettingsForm.Item\n title={t('settings.ollama-llm-model.label')}\n description={t('settings.ollama-llm-model.description')}\n >\n <Select.Root\n disabled={!onSettingsChange}\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n onSettingsChange?.((s) => ({ ...s, ollamaModel: value === DEFAULT_VALUE ? undefined : value }));\n }}\n >\n <Select.TriggerButton disabled={!onSettingsChange} placeholder={t('settings.default-llm-model.label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings.default.label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </SettingsForm.Item>\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "Settings", "SettingsForm", "meta", "LLM_PROVIDERS", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "SettingsForm", "Viewport", "Section", "title", "ns", "Item", "description", "Input", "Switch", "disabled", "checked", "customPrompts", "onCheckedChange", "s", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Option", "LLM_PROVIDERS", "map", "model", "key", "Arrow", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\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 { Prompt } from '@dxos/blueprints';\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { Collection, Database, DXN, Feed, Obj, Ref } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '#meta';\n\nconst ASSISTANT_OPERATION = `${meta.id}.operation`;\n\nexport const OnCreateSpace = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}.on-create-space`, name: 'On Create Space' },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n }),\n output: Schema.Void,\n});\n\nexport const CreateChat = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}.create-chat`, name: 'Create Chat' },\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: Chat.Chat,\n }),\n});\n\nexport const UpdateChatName = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}.update-chat-name`, name: 'Update Chat Name' },\n services: [Database.Service, Feed.FeedService, AiService.AiService],\n input: Schema.Struct({\n chat: Chat.Chat,\n }),\n output: Schema.Void,\n});\n\nexport const SetCurrentChat = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}.set-current-chat`, name: 'Set Current Chat' },\n services: [Capability.Service],\n input: Schema.Struct({\n companionTo: Obj.Unknown,\n chat: Chat.Chat.pipe(Schema.optional),\n }),\n output: Schema.Void,\n});\n\nexport const RunPromptInNewChat = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}.run-prompt-in-new-chat`, name: 'Run Prompt In New Chat' },\n services: [Capability.Service],\n input: Schema.Struct({\n db: Database.Database,\n /** Context objects to bind to the new chat. */\n objects: Schema.optional(Schema.Array(Obj.Unknown)),\n /** Blueprint keys to look up and bind to the new chat. */\n blueprints: Schema.optional(Schema.Array(Schema.String)),\n /** Raw instructions or an existing Prompt object reference (e.g. from the prompts surface). */\n prompt: Schema.Union(Schema.String, Ref.Ref(Prompt.Prompt)),\n /**\n * When true, skips opening the chat: runs the Agent prompt operation against the new chat via the compute runtime (traced).\n */\n background: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n object: Chat.Chat,\n }),\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: `${ASSISTANT_OPERATION}.resolve-navigation-targets`,\n name: 'Resolve navigation targets',\n description:\n '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.',\n },\n input: Schema.Struct({\n query: Schema.optional(\n Schema.Struct({\n dxn: DXN.Schema.pipe(Schema.optional),\n }),\n ),\n }),\n output: Schema.Struct({\n targets: Schema.Array(NavigationTargetSchema),\n }),\n services: [Capability.Service],\n});\n\nexport const EnsureCompanionChat = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}.ensure-companion-chat`, name: 'Ensure Companion Chat' },\n services: [Capability.Service],\n input: Schema.Struct({\n db: Database.Database,\n companionTo: Obj.Unknown,\n }),\n output: Schema.Struct({\n chat: Chat.Chat,\n /** Whether the returned chat was already persisted in the space. */\n persisted: Schema.Boolean,\n }),\n});\n\nexport const BlueprintForm = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n description: Schema.optional(Schema.String),\n});\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "AiService", "Capability", "Chat", "Prompt", "SpaceSchema", "Collection", "Database", "DXN", "Feed", "Obj", "Ref", "Operation", "meta", "ASSISTANT_OPERATION", "meta", "id", "OnCreateSpace", "Operation", "make", "key", "name", "services", "Capability", "Service", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "output", "Void", "CreateChat", "db", "Database", "optional", "String", "addToSpace", "Boolean", "object", "Chat", "UpdateChatName", "Feed", "FeedService", "AiService", "chat", "SetCurrentChat", "companionTo", "Obj", "Unknown", "pipe", "RunPromptInNewChat", "objects", "Array", "blueprints", "prompt", "Union", "Ref", "Prompt", "background", "NavigationTargetSchema", "path", "annotations", "description", "label", "type", "ResolveNavigationTargets", "query", "dxn", "DXN", "Schema", "targets", "EnsureCompanionChat", "persisted", "BlueprintForm"]
7
- }
@@ -1,30 +0,0 @@
1
- // src/blueprints/assistant/blueprint.ts
2
- import { LayoutOperation } from "@dxos/app-toolkit";
3
- import { templates } from "@dxos/assistant";
4
- import { Blueprint } from "@dxos/blueprints";
5
- import { AssistantOperation } from "#operations";
6
- var BLUEPRINT_KEY = "org.dxos.blueprint.assistant";
7
- var make = () => Blueprint.make({
8
- key: BLUEPRINT_KEY,
9
- name: "Assistant",
10
- tools: Blueprint.toolDefinitions({
11
- // TODO(wittjosiah): LayoutOperation.Open requires Capability.Service which is only available
12
- // via the compute-runtime layer (plugin-automation). Once Capability.Service is propagated
13
- // through LocalFunctionExecutionService, this will work without the compute-runtime dependency.
14
- operations: [
15
- LayoutOperation.Open,
16
- AssistantOperation.ResolveNavigationTargets
17
- ]
18
- }),
19
- instructions: templates.system
20
- });
21
- var blueprint = {
22
- key: BLUEPRINT_KEY,
23
- make
24
- };
25
- var blueprint_default = blueprint;
26
-
27
- export {
28
- blueprint_default
29
- };
30
- //# sourceMappingURL=chunk-EZRS3J25.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/assistant/blueprint.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { LayoutOperation, type AppCapabilities } from '@dxos/app-toolkit';\nimport { templates } from '@dxos/assistant';\nimport { Blueprint } from '@dxos/blueprints';\n\nimport { AssistantOperation } from '#operations';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.assistant';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Assistant',\n tools: Blueprint.toolDefinitions({\n // TODO(wittjosiah): LayoutOperation.Open requires Capability.Service which is only available\n // via the compute-runtime layer (plugin-automation). Once Capability.Service is propagated\n // through LocalFunctionExecutionService, this will work without the compute-runtime dependency.\n operations: [LayoutOperation.Open, AssistantOperation.ResolveNavigationTargets],\n }),\n instructions: templates.system,\n });\n\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
- "mappings": ";AAIA,SAASA,uBAA6C;AACtD,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAE1B,SAASC,0BAA0B;AAEnC,IAAMC,gBAAgB;AAEtB,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKH;EACLI,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;;;;IAI/BC,YAAY;MAACC,gBAAgBC;MAAMC,mBAAmBC;;EACxD,CAAA;EACAC,cAAcC,UAAUC;AAC1B,CAAA;AAEF,IAAMC,YAAiD;EACrDZ,KAAKH;EACLC;AACF;AAEA,IAAA,oBAAec;",
6
- "names": ["LayoutOperation", "templates", "Blueprint", "AssistantOperation", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "operations", "LayoutOperation", "Open", "AssistantOperation", "ResolveNavigationTargets", "instructions", "templates", "system", "blueprint"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/Assistant.ts", "../../../src/types/Settings.ts", "../../../src/types/defs.ts", "../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/service.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Chat as ChatModule } from '@dxos/assistant-toolkit';\n\n// Re-export Chat schema for backward compatibility.\nexport const Chat = ChatModule.Chat;\nexport type Chat = ChatModule.Chat;\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", "//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { LLM_PROVIDERS } from './defs';\n\nexport const Settings = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n", "//\n// Copyright 2025 DXOS.org\n//\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 { type Assistant } from './';\n\nexport namespace AssistantCapabilities {\n export const Settings = Capability.make<Atom.Writable<Assistant.Settings>>(`${meta.id}.capability.settings`);\n\n export 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\n export type AssistantState = Schema.Schema.Type<typeof StateSchema>;\n\n export const State = Capability.make<Atom.Writable<AssistantState>>(`${meta.id}.capability.state`);\n\n /** Session-scoped cache of transient (not yet persisted) companion chats keyed by companion DXN string. */\n export const CompanionChatCache = Capability.make<Atom.Writable<Record<string, Obj.Unknown | undefined>>>(\n `${meta.id}.capability.companion-chat-cache`,\n );\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\n\nimport { meta } from '#meta';\n\nexport namespace AssistantEvents {\n export const SetupAiServiceProviders = ActivationEvent.make(`${meta.id}.event.setup-ai-service-providers`);\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Ref, Type } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\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 const ServiceType = 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}).pipe(\n Type.object({\n typename: 'org.dxos.type.service',\n version: '0.1.0',\n }),\n);\n\nexport interface ServiceType extends Schema.Schema.Type<typeof ServiceType> {}\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": ["Settings", "Chat", "ChatModule", "Schema", "LLM_PROVIDERS", "Settings", "mutable", "Struct", "llmProvider", "optional", "Literal", "LLM_PROVIDERS", "edgeModel", "String", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean", "Chat", "ChatModule", "Settings", "Schema", "Capability", "meta", "AssistantCapabilities", "Settings", "Capability", "make", "meta", "id", "StateSchema", "mutable", "Struct", "currentChat", "Record", "key", "String", "value", "UndefinedOr", "pendingPrompts", "State", "CompanionChatCache", "ActivationEvent", "meta", "AssistantEvents", "SetupAiServiceProviders", "ActivationEvent", "make", "meta", "id", "Schema", "ComputeGraph", "Ref", "Type", "Operation", "ApiAuthorizationKey", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "Ref", "Operation", "PersistentOperation", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "pipe", "Type", "object", "typename", "version", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/create-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 { AiContextBinder } from '@dxos/assistant';\nimport { Chat, DatabaseBlueprint, AgentWizardBlueprint } from '@dxos/assistant-toolkit';\nimport { Blueprint } from '@dxos/blueprints';\nimport { Feed, Filter, Obj, Ref } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client/types';\n\nimport { AssistantBlueprint } from '#blueprints';\n\nimport { CreateChat } from './definitions';\n\nconst handler: Operation.WithHandler<typeof CreateChat> = CreateChat.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ db, name, addToSpace = true }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found');\n const feed = space.db.add(Feed.make());\n const chat = Chat.make({ name, feed: Ref.make(feed) });\n Obj.setParent(feed, chat);\n if (addToSpace) {\n space.db.add(chat);\n }\n\n // TODO(wittjosiah): This should be a space-level setting.\n // TODO(burdon): Clone when activated. Copy-on-write for template.\n const blueprints = yield* Effect.promise(() => db.query(Filter.type(Blueprint.Blueprint)).run());\n let defaultAssistantBlueprint = blueprints.find((blueprint) => blueprint.key === AssistantBlueprint.key);\n if (!defaultAssistantBlueprint) {\n defaultAssistantBlueprint = db.add(AssistantBlueprint.make());\n }\n let defaultDatabaseBlueprint = blueprints.find((blueprint) => blueprint.key === DatabaseBlueprint.key);\n if (!defaultDatabaseBlueprint) {\n defaultDatabaseBlueprint = db.add(DatabaseBlueprint.make());\n }\n let defaultAgentWizardBlueprint = blueprints.find((blueprint) => blueprint.key === AgentWizardBlueprint.key);\n if (!defaultAgentWizardBlueprint) {\n defaultAgentWizardBlueprint = db.add(AgentWizardBlueprint.make());\n }\n // Dynamic import to avoid circular dependency with the barrel that also exports BlueprintManagerHandlers.\n const { BlueprintManagerBlueprint } = yield* Effect.promise(() => import('@dxos/assistant-toolkit'));\n let defaultBlueprintManagerBlueprint = blueprints.find(\n (blueprint) => blueprint.key === BlueprintManagerBlueprint.key,\n );\n if (!defaultBlueprintManagerBlueprint) {\n defaultBlueprintManagerBlueprint = db.add(BlueprintManagerBlueprint.make());\n }\n\n const feedServiceLayer = createFeedServiceLayer(space.queues);\n const runtime = yield* Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer));\n const binder = new AiContextBinder({ feed, runtime, registry });\n yield* Effect.promise(() =>\n binder.use((b: AiContextBinder) =>\n b.bind({\n blueprints: [\n Ref.make(defaultAssistantBlueprint!),\n Ref.make(defaultDatabaseBlueprint!),\n Ref.make(defaultAgentWizardBlueprint!),\n Ref.make(defaultBlueprintManagerBlueprint!),\n ],\n }),\n ),\n );\n\n return { object: chat };\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,MAAMC,mBAAmBC,4BAA4B;AAC9D,SAASC,iBAAiB;AAC1B,SAASC,MAAMC,QAAQC,KAAKC,WAAW;AACvC,SAASC,8BAA8B;AACvC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AAEnC,SAASC,0BAA0B;;AAInC,IAAMC,UAAoDC,WAAWC,KACnEC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,IAAIC,MAAMC,aAAa,KAAI,GAAE;AAC1D,QAAMC,WAAW,OAAOC,WAAWC,IAAIC,aAAaC,YAAY;AAChE,QAAMC,SAAS,OAAOJ,WAAWC,IAAII,mBAAmBC,MAAM;AAC9D,QAAMC,QAAQH,OAAOI,OAAOP,IAAIL,GAAGa,OAAO;AAC1CC,YAAUH,OAAO,mBAAA;;;;;;;;;AACjB,QAAMI,OAAOJ,MAAMX,GAAGgB,IAAIC,KAAKC,KAAI,CAAA;AACnC,QAAMC,OAAOC,KAAKF,KAAK;IAAEjB;IAAMc,MAAMM,IAAIH,KAAKH,IAAAA;EAAM,CAAA;AACpDO,MAAIC,UAAUR,MAAMI,IAAAA;AACpB,MAAIjB,YAAY;AACdS,UAAMX,GAAGgB,IAAIG,IAAAA;EACf;AAIA,QAAMK,aAAa,OAAcC,eAAQ,MAAMzB,GAAG0B,MAAMC,OAAOC,KAAKC,UAAUA,SAAS,CAAA,EAAGC,IAAG,CAAA;AAC7F,MAAIC,4BAA4BP,WAAWQ,KAAK,CAACC,cAAcA,UAAUC,QAAQC,mBAAmBD,GAAG;AACvG,MAAI,CAACH,2BAA2B;AAC9BA,gCAA4B/B,GAAGgB,IAAImB,mBAAmBjB,KAAI,CAAA;EAC5D;AACA,MAAIkB,2BAA2BZ,WAAWQ,KAAK,CAACC,cAAcA,UAAUC,QAAQG,kBAAkBH,GAAG;AACrG,MAAI,CAACE,0BAA0B;AAC7BA,+BAA2BpC,GAAGgB,IAAIqB,kBAAkBnB,KAAI,CAAA;EAC1D;AACA,MAAIoB,8BAA8Bd,WAAWQ,KAAK,CAACC,cAAcA,UAAUC,QAAQK,qBAAqBL,GAAG;AAC3G,MAAI,CAACI,6BAA6B;AAChCA,kCAA8BtC,GAAGgB,IAAIuB,qBAAqBrB,KAAI,CAAA;EAChE;AAEA,QAAM,EAAEsB,0BAAyB,IAAK,OAAcf,eAAQ,MAAM,OAAO,yBAAA,CAAA;AACzE,MAAIgB,mCAAmCjB,WAAWQ,KAChD,CAACC,cAAcA,UAAUC,QAAQM,0BAA0BN,GAAG;AAEhE,MAAI,CAACO,kCAAkC;AACrCA,uCAAmCzC,GAAGgB,IAAIwB,0BAA0BtB,KAAI,CAAA;EAC1E;AAEA,QAAMwB,mBAAmBC,uBAAuBhC,MAAMiC,MAAM;AAC5D,QAAMC,WAAU,OAAcA,eAAO,EAAqBjD,KAAYkD,eAAQJ,gBAAAA,CAAAA;AAC9E,QAAMK,SAAS,IAAIC,gBAAgB;IAAEjC;IAAM8B,SAAAA;IAAS1C;EAAS,CAAA;AAC7D,SAAcsB,eAAQ,MACpBsB,OAAOE,IAAI,CAACC,MACVA,EAAEC,KAAK;IACL3B,YAAY;MACVH,IAAIH,KAAKa,yBAAAA;MACTV,IAAIH,KAAKkB,wBAAAA;MACTf,IAAIH,KAAKoB,2BAAAA;MACTjB,IAAIH,KAAKuB,gCAAAA;;EAEb,CAAA,CAAA,CAAA;AAIJ,SAAO;IAAEW,QAAQjC;EAAK;AACxB,CAAA,CAAA,CAAA;AAIJ,IAAA,sBAAezB;",
6
- "names": ["Effect", "Capabilities", "Capability", "AiContextBinder", "Chat", "DatabaseBlueprint", "AgentWizardBlueprint", "Blueprint", "Feed", "Filter", "Obj", "Ref", "createFeedServiceLayer", "invariant", "Operation", "ClientCapabilities", "AssistantBlueprint", "handler", "CreateChat", "pipe", "Operation", "withHandler", "fnUntraced", "db", "name", "addToSpace", "registry", "Capability", "get", "Capabilities", "AtomRegistry", "client", "ClientCapabilities", "Client", "space", "spaces", "spaceId", "invariant", "feed", "add", "Feed", "make", "chat", "Chat", "Ref", "Obj", "setParent", "blueprints", "promise", "query", "Filter", "type", "Blueprint", "run", "defaultAssistantBlueprint", "find", "blueprint", "key", "AssistantBlueprint", "defaultDatabaseBlueprint", "DatabaseBlueprint", "defaultAgentWizardBlueprint", "AgentWizardBlueprint", "BlueprintManagerBlueprint", "defaultBlueprintManagerBlueprint", "feedServiceLayer", "createFeedServiceLayer", "queues", "runtime", "provide", "binder", "AiContextBinder", "use", "b", "bind", "object"]
7
- }