@dxos/plugin-assistant 0.8.4-main.72ec0f3 → 0.8.4-main.74a063c4e0

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 (556) hide show
  1. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs +97 -0
  2. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +8 -0
  4. package/dist/lib/browser/chunk-ATHYBVGN.mjs +176 -0
  5. package/dist/lib/browser/chunk-ATHYBVGN.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-EZRS3J25.mjs +30 -0
  7. package/dist/lib/browser/chunk-EZRS3J25.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-RUV2WOQH.mjs +154 -0
  9. package/dist/lib/browser/chunk-RUV2WOQH.mjs.map +7 -0
  10. package/dist/lib/browser/create-chat-DF5TG5XC.mjs +82 -0
  11. package/dist/lib/browser/create-chat-DF5TG5XC.mjs.map +7 -0
  12. package/dist/lib/browser/ensure-companion-chat-FR4AWZ2P.mjs +65 -0
  13. package/dist/lib/browser/ensure-companion-chat-FR4AWZ2P.mjs.map +7 -0
  14. package/dist/lib/browser/index.mjs +3062 -322
  15. package/dist/lib/browser/index.mjs.map +4 -4
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/on-create-space-54RNX5JI.mjs +22 -0
  18. package/dist/lib/browser/on-create-space-54RNX5JI.mjs.map +7 -0
  19. package/dist/lib/browser/operations/index.mjs +13 -0
  20. package/dist/lib/browser/operations/index.mjs.map +7 -0
  21. package/dist/lib/browser/resolve-navigation-targets-NZOD66NY.mjs +22 -0
  22. package/dist/lib/browser/resolve-navigation-targets-NZOD66NY.mjs.map +7 -0
  23. package/dist/lib/browser/run-prompt-in-new-chat-4YQ37XIS.mjs +136 -0
  24. package/dist/lib/browser/run-prompt-in-new-chat-4YQ37XIS.mjs.map +7 -0
  25. package/dist/lib/browser/set-current-chat-WJI3WAVM.mjs +54 -0
  26. package/dist/lib/browser/set-current-chat-WJI3WAVM.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +5 -4
  28. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs +71 -0
  29. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs.map +7 -0
  30. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs +98 -0
  31. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs.map +7 -0
  32. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  33. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs +32 -0
  34. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs +177 -0
  36. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-PY4X6FJT.mjs +155 -0
  38. package/dist/lib/node-esm/chunk-PY4X6FJT.mjs.map +7 -0
  39. package/dist/lib/node-esm/create-chat-RAV7IX2S.mjs +83 -0
  40. package/dist/lib/node-esm/create-chat-RAV7IX2S.mjs.map +7 -0
  41. package/dist/lib/node-esm/ensure-companion-chat-BLP7NT32.mjs +66 -0
  42. package/dist/lib/node-esm/ensure-companion-chat-BLP7NT32.mjs.map +7 -0
  43. package/dist/lib/node-esm/index.mjs +3062 -322
  44. package/dist/lib/node-esm/index.mjs.map +4 -4
  45. package/dist/lib/node-esm/meta.json +1 -1
  46. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs +23 -0
  47. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs.map +7 -0
  48. package/dist/lib/node-esm/operations/index.mjs +14 -0
  49. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  50. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs +23 -0
  51. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs.map +7 -0
  52. package/dist/lib/node-esm/run-prompt-in-new-chat-2IJBSDTM.mjs +137 -0
  53. package/dist/lib/node-esm/run-prompt-in-new-chat-2IJBSDTM.mjs.map +7 -0
  54. package/dist/lib/node-esm/set-current-chat-KBMMZULR.mjs +55 -0
  55. package/dist/lib/node-esm/set-current-chat-KBMMZULR.mjs.map +7 -0
  56. package/dist/lib/node-esm/types/index.mjs +5 -4
  57. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs +72 -0
  58. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs.map +7 -0
  59. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  60. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  61. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  62. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  63. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  64. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  65. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  66. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  67. package/dist/types/src/blueprints/index.d.ts +2 -0
  68. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/ai-service.d.ts +4 -2
  70. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  72. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/blueprint-definition.d.ts +4 -6
  74. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  76. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  77. package/dist/types/src/capabilities/edge-model-resolver.d.ts +6 -3
  78. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/index.d.ts +41 -12
  80. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/local-model-resolver.d.ts +6 -3
  82. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  84. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  86. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  87. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  88. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  89. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  90. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/settings.d.ts +16 -2
  92. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/state.d.ts +19 -2
  94. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/toolkit.d.ts +4 -2
  96. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  97. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  98. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  99. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +517 -0
  100. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  101. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  102. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  103. package/dist/types/src/components/Chat/Chat.d.ts +30 -19
  104. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  105. package/dist/types/src/components/Chat/events.d.ts +1 -1
  106. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  107. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +6 -3
  108. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  109. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -1
  110. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  111. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
  112. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  113. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
  114. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  115. package/dist/types/src/components/ChatThread/ChatStream.stories.d.ts +530 -0
  116. package/dist/types/src/components/ChatThread/ChatStream.stories.d.ts.map +1 -0
  117. package/dist/types/src/components/ChatThread/ChatThread.d.ts +4 -4
  118. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  119. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +502 -300
  120. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  121. package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
  122. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  123. package/dist/types/src/components/ChatThread/sync.d.ts +6 -6
  124. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  125. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  126. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  127. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts +14 -0
  128. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts.map +1 -0
  129. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  130. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  131. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  132. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  133. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  134. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  135. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  136. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  137. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  138. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  139. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  140. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  141. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  142. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  143. package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
  144. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  145. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +14 -0
  146. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  147. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +8 -0
  148. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  149. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  150. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  151. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +9 -4
  152. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  153. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +493 -290
  154. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  155. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +11 -1
  156. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  157. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +494 -291
  158. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  160. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +1 -10
  161. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  162. package/dist/types/src/components/Toolbox/Toolbox.d.ts +17 -12
  163. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  164. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +493 -290
  165. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  167. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  168. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  169. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  170. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  171. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  172. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  173. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  174. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  175. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  176. package/dist/types/src/components/index.d.ts +3 -6
  177. package/dist/types/src/components/index.d.ts.map +1 -1
  178. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  179. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  180. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  181. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  182. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +18 -0
  183. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  184. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  185. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  186. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +12 -0
  187. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  188. package/dist/types/src/containers/ChatContainer/index.d.ts +2 -0
  189. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  190. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  191. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  192. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  193. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  194. package/dist/types/src/containers/ProjectArticle/ProjectArticle.d.ts +6 -0
  195. package/dist/types/src/containers/ProjectArticle/ProjectArticle.d.ts.map +1 -0
  196. package/dist/types/src/containers/ProjectArticle/index.d.ts +2 -0
  197. package/dist/types/src/containers/ProjectArticle/index.d.ts.map +1 -0
  198. package/dist/types/src/containers/ProjectSettings/ProjectSettings.d.ts +6 -0
  199. package/dist/types/src/containers/ProjectSettings/ProjectSettings.d.ts.map +1 -0
  200. package/dist/types/src/containers/ProjectSettings/index.d.ts +2 -0
  201. package/dist/types/src/containers/ProjectSettings/index.d.ts.map +1 -0
  202. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
  203. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  204. package/dist/types/src/containers/PromptArticle/index.d.ts +2 -0
  205. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  206. package/dist/types/src/containers/PromptList/PromptList.d.ts +6 -0
  207. package/dist/types/src/containers/PromptList/PromptList.d.ts.map +1 -0
  208. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts +523 -0
  209. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts.map +1 -0
  210. package/dist/types/src/containers/PromptList/index.d.ts +2 -0
  211. package/dist/types/src/containers/PromptList/index.d.ts.map +1 -0
  212. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +6 -0
  213. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  214. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  215. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  216. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  217. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  218. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  219. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  221. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  222. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  223. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  224. package/dist/types/src/containers/index.d.ts +12 -0
  225. package/dist/types/src/containers/index.d.ts.map +1 -0
  226. package/dist/types/src/extensions/index.d.ts +2 -0
  227. package/dist/types/src/extensions/index.d.ts.map +1 -0
  228. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  229. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  230. package/dist/types/src/hooks/index.d.ts +1 -1
  231. package/dist/types/src/hooks/index.d.ts.map +1 -1
  232. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -5
  233. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  234. package/dist/types/src/hooks/useChatProcessor.d.ts +7 -6
  235. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  236. package/dist/types/src/hooks/useChatServices.d.ts +5 -8
  237. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  238. package/dist/types/src/hooks/useChatToolbarActions.d.ts +3 -3
  239. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  240. package/dist/types/src/hooks/useContextBinder.d.ts +3 -2
  241. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  242. package/dist/types/src/hooks/useContextObjects.d.ts +7 -7
  243. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  244. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  245. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  246. package/dist/types/src/hooks/usePresets.d.ts +1 -1
  247. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  248. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  249. package/dist/types/src/index.d.ts +1 -2
  250. package/dist/types/src/index.d.ts.map +1 -1
  251. package/dist/types/src/meta.d.ts +4 -2
  252. package/dist/types/src/meta.d.ts.map +1 -1
  253. package/dist/types/src/operations/create-chat.d.ts +5 -0
  254. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  255. package/dist/types/src/operations/definitions.d.ts +135 -0
  256. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  257. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  258. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  259. package/dist/types/src/operations/index.d.ts +4 -0
  260. package/dist/types/src/operations/index.d.ts.map +1 -0
  261. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  262. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  263. package/dist/types/src/operations/resolve-navigation-targets.d.ts +15 -0
  264. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  265. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  266. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  267. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  268. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  269. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  270. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  271. package/dist/types/src/processor/index.d.ts +0 -1
  272. package/dist/types/src/processor/index.d.ts.map +1 -1
  273. package/dist/types/src/processor/processor.d.ts +34 -28
  274. package/dist/types/src/processor/processor.d.ts.map +1 -1
  275. package/dist/types/src/queue-logger.d.ts.map +1 -1
  276. package/dist/types/src/testing/test-generator.d.ts +3 -2
  277. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  278. package/dist/types/src/testing/test-services.d.ts +1 -1
  279. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  280. package/dist/types/src/translations.d.ts +493 -290
  281. package/dist/types/src/translations.d.ts.map +1 -1
  282. package/dist/types/src/types/Assistant.d.ts +18 -46
  283. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  284. package/dist/types/src/types/Settings.d.ts +10 -0
  285. package/dist/types/src/types/Settings.d.ts.map +1 -0
  286. package/dist/types/src/types/capabilities.d.ts +44 -0
  287. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  288. package/dist/types/src/types/events.d.ts +5 -0
  289. package/dist/types/src/types/events.d.ts.map +1 -0
  290. package/dist/types/src/types/index.d.ts +3 -1
  291. package/dist/types/src/types/index.d.ts.map +1 -1
  292. package/dist/types/src/types/service.d.ts +10 -218
  293. package/dist/types/src/types/service.d.ts.map +1 -1
  294. package/dist/types/tsconfig.tsbuildinfo +1 -1
  295. package/package.json +139 -93
  296. package/src/AssistantPlugin.tsx +182 -132
  297. package/src/blueprints/assistant/blueprint.conversations.json +1 -0
  298. package/src/blueprints/assistant/blueprint.test.ts +46 -0
  299. package/src/blueprints/assistant/blueprint.ts +31 -0
  300. package/src/blueprints/assistant/index.ts +5 -0
  301. package/src/blueprints/index.ts +5 -0
  302. package/src/capabilities/ai-service.ts +20 -17
  303. package/src/capabilities/app-graph-builder.ts +190 -183
  304. package/src/capabilities/blueprint-definition.ts +47 -55
  305. package/src/capabilities/companion-chat-provisioner.ts +164 -0
  306. package/src/capabilities/edge-model-resolver.ts +22 -14
  307. package/src/capabilities/index.ts +21 -14
  308. package/src/capabilities/local-model-resolver.ts +21 -13
  309. package/src/capabilities/markdown.ts +40 -0
  310. package/src/capabilities/migrations.ts +34 -0
  311. package/src/capabilities/operation-handler.ts +16 -0
  312. package/src/capabilities/react-surface.tsx +138 -68
  313. package/src/capabilities/settings.ts +24 -12
  314. package/src/capabilities/state.ts +26 -13
  315. package/src/capabilities/toolkit.ts +7 -11
  316. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +34 -0
  317. package/src/components/AssistantSettings/AssistantSettings.tsx +105 -85
  318. package/src/components/AssistantSettings/index.ts +2 -2
  319. package/src/components/Chat/Chat.tsx +147 -104
  320. package/src/components/Chat/events.ts +1 -1
  321. package/src/components/ChatProgress/ChatProgress.tsx +11 -22
  322. package/src/components/ChatPrompt/ChatActions.tsx +26 -6
  323. package/src/components/ChatPrompt/ChatOptions.tsx +103 -79
  324. package/src/components/ChatPrompt/ChatReferences.tsx +21 -12
  325. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
  326. package/src/components/ChatThread/ChatStream.stories.tsx +168 -0
  327. package/src/components/ChatThread/ChatThread.stories.tsx +30 -45
  328. package/src/components/ChatThread/ChatThread.tsx +29 -18
  329. package/src/components/ChatThread/Link.tsx +4 -4
  330. package/src/components/ChatThread/registry.tsx +74 -40
  331. package/src/components/ChatThread/sync.test.ts +19 -9
  332. package/src/components/ChatThread/sync.ts +27 -27
  333. package/src/components/ChatThread/testing/thread-1.md +17 -0
  334. package/src/components/ChatThread/widgets/FallbackWidget.tsx +24 -0
  335. package/src/components/ChatThread/widgets/PromptWidget.ts +28 -0
  336. package/src/components/ChatThread/widgets/ReasoningWidget.ts +120 -0
  337. package/src/components/ChatThread/widgets/ReferenceWidget.ts +31 -0
  338. package/src/components/ChatThread/widgets/SelectWidget.ts +37 -0
  339. package/src/components/ChatThread/widgets/StatsWidget.ts +29 -0
  340. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  341. package/src/components/ChatThread/widgets/SummaryWidget.tsx +28 -0
  342. package/src/components/ChatThread/widgets/ToolWidget.tsx +143 -0
  343. package/src/components/ChatThread/widgets/index.ts +13 -0
  344. package/src/components/ProcessTree/ProcessTree.stories.tsx +109 -0
  345. package/src/components/ProcessTree/ProcessTree.tsx +85 -0
  346. package/src/components/ProcessTree/index.ts +5 -0
  347. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +5 -10
  348. package/src/components/TemplateEditor/TemplateEditor.tsx +53 -42
  349. package/src/components/TemplateEditor/TemplateForm.stories.tsx +20 -11
  350. package/src/components/TemplateEditor/TemplateForm.tsx +83 -37
  351. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +14 -9
  352. package/src/components/ToolBlock/ToolBlock.tsx +25 -24
  353. package/src/components/Toolbox/Toolbox.stories.tsx +11 -14
  354. package/src/components/Toolbox/Toolbox.tsx +72 -67
  355. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  356. package/src/components/Typewriter/Typewriter.stories.tsx +86 -0
  357. package/src/components/Typewriter/Typewriter.tsx +50 -0
  358. package/src/components/Typewriter/assistant-extension.tsx +141 -0
  359. package/src/components/Typewriter/index.ts +5 -0
  360. package/src/components/index.ts +3 -7
  361. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  362. package/src/containers/BlueprintArticle/index.ts +5 -0
  363. package/src/containers/ChatCompanion/ChatCompanion.tsx +142 -0
  364. package/src/containers/ChatCompanion/index.ts +5 -0
  365. package/src/containers/ChatContainer/ChatContainer.tsx +95 -0
  366. package/src/containers/ChatContainer/index.ts +5 -0
  367. package/src/{components → containers/ChatDialog}/ChatDialog.tsx +13 -16
  368. package/src/containers/ChatDialog/index.ts +5 -0
  369. package/src/containers/ProjectArticle/ProjectArticle.tsx +131 -0
  370. package/src/containers/ProjectArticle/index.ts +5 -0
  371. package/src/containers/ProjectSettings/ProjectSettings.tsx +139 -0
  372. package/src/containers/ProjectSettings/index.ts +5 -0
  373. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  374. package/src/containers/PromptArticle/index.ts +5 -0
  375. package/src/containers/PromptList/PromptList.stories.tsx +129 -0
  376. package/src/containers/PromptList/PromptList.tsx +49 -0
  377. package/src/containers/PromptList/index.ts +5 -0
  378. package/src/containers/TracePanel/TracePanel.tsx +305 -0
  379. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  380. package/src/containers/TracePanel/dxn-extractor.ts +178 -0
  381. package/src/containers/TracePanel/index.ts +9 -0
  382. package/src/containers/TriggerStatus/TriggerStatus.tsx +144 -0
  383. package/src/containers/TriggerStatus/index.ts +5 -0
  384. package/src/containers/index.ts +16 -0
  385. package/src/extensions/index.ts +5 -0
  386. package/src/extensions/prompt-extension.ts +111 -0
  387. package/src/hooks/index.ts +1 -1
  388. package/src/hooks/useBlueprintRegistry.ts +36 -22
  389. package/src/hooks/useChatProcessor.ts +34 -18
  390. package/src/hooks/useChatServices.ts +9 -34
  391. package/src/hooks/useChatToolbarActions.ts +34 -34
  392. package/src/hooks/useContextBinder.ts +20 -7
  393. package/src/hooks/useContextObjects.ts +16 -24
  394. package/src/hooks/useFilteredTypes.ts +37 -0
  395. package/src/hooks/usePresets.ts +2 -1
  396. package/src/hooks/useReferencesProvider.ts +5 -9
  397. package/src/index.ts +1 -2
  398. package/src/meta.ts +7 -4
  399. package/src/operations/create-chat.ts +80 -0
  400. package/src/operations/definitions.ts +127 -0
  401. package/src/operations/ensure-companion-chat.ts +61 -0
  402. package/src/operations/index.ts +17 -0
  403. package/src/operations/on-create-space.ts +24 -0
  404. package/src/operations/resolve-navigation-targets.ts +26 -0
  405. package/src/operations/run-prompt-in-new-chat.ts +113 -0
  406. package/src/operations/set-current-chat.ts +50 -0
  407. package/src/operations/update-chat-name.ts +61 -0
  408. package/src/processor/index.ts +0 -1
  409. package/src/processor/processor.test.ts +20 -51
  410. package/src/processor/processor.ts +196 -137
  411. package/src/queue-logger.ts +4 -1
  412. package/src/testing/test-generator.ts +17 -16
  413. package/src/testing/test-sequence.ts +3 -3
  414. package/src/testing/test-services.ts +9 -7
  415. package/src/translations.ts +126 -79
  416. package/src/types/Assistant.ts +8 -57
  417. package/src/types/Settings.ts +21 -0
  418. package/src/types/capabilities.ts +35 -0
  419. package/src/types/events.ts +11 -0
  420. package/src/types/index.ts +5 -1
  421. package/src/types/service.ts +14 -11
  422. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs +0 -36
  423. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs.map +0 -7
  424. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs +0 -158
  425. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs.map +0 -7
  426. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs +0 -77
  427. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs.map +0 -7
  428. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs +0 -90
  429. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs.map +0 -7
  430. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs +0 -59
  431. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs.map +0 -7
  432. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
  433. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
  434. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs +0 -199
  435. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs.map +0 -7
  436. package/dist/lib/browser/blueprint-definition-5FT5JGPY.mjs +0 -12
  437. package/dist/lib/browser/chunk-2BOE3OTW.mjs +0 -262
  438. package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-BNTPFZ7O.mjs +0 -229
  440. package/dist/lib/browser/chunk-BNTPFZ7O.mjs.map +0 -7
  441. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs +0 -335
  442. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs.map +0 -7
  443. package/dist/lib/browser/chunk-IXIIS4QA.mjs +0 -176
  444. package/dist/lib/browser/chunk-IXIIS4QA.mjs.map +0 -7
  445. package/dist/lib/browser/chunk-LRE4VEZV.mjs +0 -16
  446. package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +0 -7
  447. package/dist/lib/browser/chunk-U62BTGDF.mjs +0 -1929
  448. package/dist/lib/browser/chunk-U62BTGDF.mjs.map +0 -7
  449. package/dist/lib/browser/chunk-WBG5PTSX.mjs +0 -23
  450. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
  451. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
  452. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
  453. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs +0 -143
  454. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs.map +0 -7
  455. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +0 -17
  456. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +0 -7
  457. package/dist/lib/browser/react-surface-YCSR2MSR.mjs +0 -98
  458. package/dist/lib/browser/react-surface-YCSR2MSR.mjs.map +0 -7
  459. package/dist/lib/browser/settings-NYJGNQ5I.mjs +0 -23
  460. package/dist/lib/browser/settings-NYJGNQ5I.mjs.map +0 -7
  461. package/dist/lib/browser/state-GG7Z3NB7.mjs +0 -25
  462. package/dist/lib/browser/state-GG7Z3NB7.mjs.map +0 -7
  463. package/dist/lib/browser/toolkit-VYDAWNE4.mjs +0 -17
  464. package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +0 -7
  465. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs +0 -37
  466. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs.map +0 -7
  467. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs +0 -159
  468. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs.map +0 -7
  469. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs +0 -78
  470. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs.map +0 -7
  471. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs +0 -91
  472. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs.map +0 -7
  473. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs +0 -60
  474. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs.map +0 -7
  475. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
  476. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
  477. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs +0 -200
  478. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs.map +0 -7
  479. package/dist/lib/node-esm/blueprint-definition-XW6QQVLV.mjs +0 -13
  480. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs +0 -264
  481. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +0 -7
  482. package/dist/lib/node-esm/chunk-AB74FOA2.mjs +0 -230
  483. package/dist/lib/node-esm/chunk-AB74FOA2.mjs.map +0 -7
  484. package/dist/lib/node-esm/chunk-BHS747K7.mjs +0 -1930
  485. package/dist/lib/node-esm/chunk-BHS747K7.mjs.map +0 -7
  486. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs +0 -336
  487. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs.map +0 -7
  488. package/dist/lib/node-esm/chunk-UXTUHH24.mjs +0 -178
  489. package/dist/lib/node-esm/chunk-UXTUHH24.mjs.map +0 -7
  490. package/dist/lib/node-esm/chunk-WE6KTH72.mjs +0 -25
  491. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
  492. package/dist/lib/node-esm/chunk-YWFWT57N.mjs +0 -17
  493. package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +0 -7
  494. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
  495. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
  496. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs +0 -144
  497. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs.map +0 -7
  498. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +0 -18
  499. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +0 -7
  500. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs +0 -99
  501. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs.map +0 -7
  502. package/dist/lib/node-esm/settings-RRHYI5KO.mjs +0 -24
  503. package/dist/lib/node-esm/settings-RRHYI5KO.mjs.map +0 -7
  504. package/dist/lib/node-esm/state-FSUHFMDM.mjs +0 -26
  505. package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +0 -7
  506. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +0 -18
  507. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +0 -7
  508. package/dist/types/src/capabilities/capabilities.d.ts +0 -10
  509. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  510. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  511. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  512. package/dist/types/src/components/BlueprintArticle.d.ts +0 -7
  513. package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
  514. package/dist/types/src/components/ChatCompanion.d.ts +0 -13
  515. package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
  516. package/dist/types/src/components/ChatContainer.d.ts +0 -14
  517. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  518. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  519. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  520. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  521. package/dist/types/src/components/PromptArticle.d.ts +0 -7
  522. package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
  523. package/dist/types/src/events.d.ts +0 -4
  524. package/dist/types/src/events.d.ts.map +0 -1
  525. package/dist/types/src/functions/analysis.d.ts +0 -5
  526. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  527. package/dist/types/src/functions/index.d.ts +0 -4
  528. package/dist/types/src/functions/index.d.ts.map +0 -1
  529. package/dist/types/src/functions/object-list.d.ts +0 -10
  530. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  531. package/dist/types/src/functions/object-load.d.ts +0 -8
  532. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  533. package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
  534. package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
  535. package/dist/types/src/processor/update-name.d.ts +0 -10
  536. package/dist/types/src/processor/update-name.d.ts.map +0 -1
  537. package/dist/types/src/types/AssistantAction.d.ts +0 -132
  538. package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
  539. package/src/capabilities/capabilities.ts +0 -17
  540. package/src/capabilities/intent-resolver.ts +0 -147
  541. package/src/components/BlueprintArticle.tsx +0 -29
  542. package/src/components/ChatCompanion.tsx +0 -155
  543. package/src/components/ChatContainer.tsx +0 -61
  544. package/src/components/ChatThread/reducers.ts +0 -151
  545. package/src/components/PromptArticle.tsx +0 -51
  546. package/src/events.ts +0 -11
  547. package/src/functions/analysis.ts +0 -22
  548. package/src/functions/index.ts +0 -7
  549. package/src/functions/object-list.ts +0 -48
  550. package/src/functions/object-load.ts +0 -45
  551. package/src/hooks/useItemTypes.ts +0 -37
  552. package/src/processor/update-name.ts +0 -56
  553. package/src/types/AssistantAction.ts +0 -79
  554. /package/dist/lib/browser/{blueprint-definition-5FT5JGPY.mjs.map → blueprints/index.mjs.map} +0 -0
  555. /package/dist/lib/node-esm/{blueprint-definition-XW6QQVLV.mjs.map → blueprints/index.mjs.map} +0 -0
  556. /package/src/components/ChatThread/testing/{thread.md → thread-2.md} +0 -0
@@ -5,8 +5,9 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Obj } from '@dxos/echo';
8
- import { ContextQueueService, DatabaseService } from '@dxos/functions';
9
- import { faker } from '@dxos/random';
8
+ import { Database } from '@dxos/echo';
9
+ import { ContextQueueService } from '@dxos/functions';
10
+ import { random } from '@dxos/random';
10
11
  import { renderObjectLink } from '@dxos/react-ui-components';
11
12
  import { type Actor, type ContentBlock, Message, Organization } from '@dxos/types';
12
13
  import { trim } from '@dxos/util';
@@ -19,7 +20,7 @@ export const createMessage = (role: Actor.Role, blocks: ContentBlock.Any[]): Mes
19
20
  });
20
21
  };
21
22
 
22
- export type MessageGenerator = Effect.Effect<void, never, DatabaseService | ContextQueueService>;
23
+ export type MessageGenerator = Effect.Effect<void, never, Database.Service | ContextQueueService>;
23
24
 
24
25
  export const createMessageGenerator = (): MessageGenerator[] => [
25
26
  Effect.gen(function* () {
@@ -29,7 +30,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
29
30
  createMessage('user', [
30
31
  {
31
32
  _tag: 'text',
32
- text: faker.lorem.sentence(5),
33
+ text: random.lorem.sentence(5),
33
34
  },
34
35
  ]),
35
36
  ]),
@@ -68,11 +69,11 @@ export const createMessageGenerator = (): MessageGenerator[] => [
68
69
  disposition: 'cot',
69
70
  text:
70
71
  [
71
- faker.lorem.paragraph(),
72
+ random.lorem.paragraph(),
72
73
  '',
73
74
  ...Array.from({
74
- length: faker.number.int({ min: 3, max: 5 }),
75
- }).map((_, idx) => `${idx + 1}. ${faker.lorem.paragraph()}`),
75
+ length: random.number.int({ min: 3, max: 5 }),
76
+ }).map((_, idx) => `${idx + 1}. ${random.lorem.paragraph()}`),
76
77
  ].join('\n') + '\n',
77
78
  },
78
79
  ]),
@@ -99,7 +100,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
99
100
  },
100
101
  {
101
102
  _tag: 'suggestion',
102
- text: faker.lorem.paragraph(),
103
+ text: random.lorem.paragraph(),
103
104
  },
104
105
  ]),
105
106
  createMessage('assistant', [
@@ -136,7 +137,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
136
137
  createMessage('user', [
137
138
  {
138
139
  _tag: 'text',
139
- text: faker.lorem.sentence(5),
140
+ text: random.lorem.sentence(5),
140
141
  },
141
142
  ]),
142
143
  ]),
@@ -145,7 +146,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
145
146
 
146
147
  Effect.gen(function* () {
147
148
  const { queue } = yield* ContextQueueService;
148
- const { db } = yield* DatabaseService;
149
+ const { db } = yield* Database.Service;
149
150
  const obj1 = db.add(Obj.make(Organization.Organization, { name: 'DXOS' }));
150
151
  // const obj2 = db.add(Obj.make(Person.Person, { fullName: 'Alice' }));
151
152
  // const obj3 = db.add(Obj.make(Person.Person, { fullName: 'Bob' }));
@@ -156,7 +157,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
156
157
  // Inline tag.
157
158
  {
158
159
  _tag: 'text',
159
- text: [faker.lorem.paragraph(), renderObjectLink(obj1), faker.lorem.paragraph(), '\n'].join(' '),
160
+ text: [random.lorem.paragraph(), renderObjectLink(obj1), random.lorem.paragraph(), '\n'].join(' '),
160
161
  },
161
162
 
162
163
  // Inline cards.
@@ -179,7 +180,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
179
180
  createMessage('assistant', [
180
181
  {
181
182
  _tag: 'text',
182
- text: faker.lorem.paragraph() + '\n',
183
+ text: random.lorem.paragraph() + '\n',
183
184
  },
184
185
  ]),
185
186
  createMessage('assistant', [
@@ -211,7 +212,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
211
212
  createMessage('assistant', [
212
213
  {
213
214
  _tag: 'text',
214
- text: faker.lorem.paragraph() + '\n',
215
+ text: random.lorem.paragraph() + '\n',
215
216
  },
216
217
  ]),
217
218
  createMessage('assistant', [
@@ -236,8 +237,8 @@ export const createMessageGenerator = (): MessageGenerator[] => [
236
237
  {
237
238
  _tag: 'text',
238
239
  text:
239
- Array.from({ length: faker.number.int({ min: 2, max: 3 }) })
240
- .map(() => faker.lorem.paragraph())
240
+ Array.from({ length: random.number.int({ min: 2, max: 3 }) })
241
+ .map(() => random.lorem.paragraph())
241
242
  .join('\n\n') + '\n',
242
243
  },
243
244
  ]),
@@ -252,7 +253,7 @@ export const createMessageGenerator = (): MessageGenerator[] => [
252
253
  createMessage('assistant', [
253
254
  {
254
255
  _tag: 'text',
255
- text: faker.lorem.paragraph(),
256
+ text: random.lorem.paragraph(),
256
257
  },
257
258
  ]),
258
259
  ]),
@@ -9,16 +9,16 @@ export const RESEARCH_SEQUENCE_DEFINITION: SequenceDefinition = {
9
9
  steps: [
10
10
  {
11
11
  instructions: 'Research information and entities related to the selected objects.',
12
- tools: [ToolId.make('search/web_search')],
12
+ tools: [ToolId.make('search/web-search')],
13
13
  },
14
14
  {
15
15
  instructions:
16
16
  'Based on your research find matching entires that are already in the graph. Do exaustive research.',
17
- tools: [ToolId.make('search/local_search')],
17
+ tools: [ToolId.make('search/local-search')],
18
18
  },
19
19
  {
20
20
  instructions: 'Add researched data to the graph. Make connections to existing objects.',
21
- tools: [ToolId.make('search/local_search'), ToolId.make('graph/writer')],
21
+ tools: [ToolId.make('search/local-search'), ToolId.make('graph/writer')],
22
22
  },
23
23
  ],
24
24
  };
@@ -2,9 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Obj } from '@dxos/echo';
5
+ import { Obj, type Type } from '@dxos/echo';
6
6
 
7
- import { type ApiAuthorization, type BaseServiceRegistry, ServiceType, categoryIcons } from '../types';
7
+ import { type ApiAuthorization, type BaseServiceRegistry, ServiceType, categoryIcons } from '#types';
8
+
9
+ const ServiceTypeSchema = ServiceType as unknown as Type.AnyObj;
8
10
 
9
11
  export class MockServiceRegistry implements BaseServiceRegistry {
10
12
  async queryServices(): Promise<ServiceType[]> {
@@ -48,7 +50,7 @@ const VISUAL_CROSSING_CREDENTIALS: ApiAuthorization = {
48
50
  // - e.g., https://github.com/konfig-sdks/openapi-examples/blob/main/xkcd/openapi.yaml
49
51
 
50
52
  const TEST_SERVICES: ServiceType[] = [
51
- Obj.make(ServiceType, {
53
+ Obj.make(ServiceTypeSchema, {
52
54
  serviceId: 'amadeus.com/service/FlightSearch',
53
55
  name: 'Amadeus Flight Search',
54
56
  description: 'Search for local and international flights.',
@@ -62,7 +64,7 @@ const TEST_SERVICES: ServiceType[] = [
62
64
  ],
63
65
  }),
64
66
 
65
- Obj.make(ServiceType, {
67
+ Obj.make(ServiceTypeSchema, {
66
68
  serviceId: 'amadeus.com/service/HotelSearch',
67
69
  name: 'Amadeus Hotel Search',
68
70
  description: 'Search for local and international hotels.',
@@ -76,7 +78,7 @@ const TEST_SERVICES: ServiceType[] = [
76
78
  ],
77
79
  }),
78
80
 
79
- Obj.make(ServiceType, {
81
+ Obj.make(ServiceTypeSchema, {
80
82
  serviceId: 'visualcrossing.com/service/Weather',
81
83
  name: 'Visual Crossing Weather',
82
84
  description: 'Search for global weather forecasts.',
@@ -91,7 +93,7 @@ const TEST_SERVICES: ServiceType[] = [
91
93
  }),
92
94
 
93
95
  // TODO(burdon): Needs auth.
94
- Obj.make(ServiceType, {
96
+ Obj.make(ServiceTypeSchema, {
95
97
  serviceId: 'abstractapi.com/service/GeoLocation',
96
98
  name: 'Abstract GeoLocation',
97
99
  description: 'Get the location of any IP address.',
@@ -109,7 +111,7 @@ const TEST_SERVICES: ServiceType[] = [
109
111
  //
110
112
 
111
113
  ...Array.from({ length: 20 }, (_, i) =>
112
- Obj.make(ServiceType, {
114
+ Obj.make(ServiceTypeSchema, {
113
115
  serviceId: `example.com/service/test-${i}`,
114
116
  name: `Test ${i}`,
115
117
  description: `Test ${i}`,
@@ -2,13 +2,13 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Chat, Project } from '@dxos/assistant-toolkit';
5
6
  import { Blueprint, Prompt } from '@dxos/blueprints';
6
7
  import { Sequence } from '@dxos/conductor';
7
8
  import { Type } from '@dxos/echo';
8
9
  import { type Resource } from '@dxos/react-ui';
9
10
 
10
- import { meta } from './meta';
11
- import { Assistant } from './types';
11
+ import { meta } from '#meta';
12
12
 
13
13
  // TODO(burdon): Standardize translation names.
14
14
  export const translations = [
@@ -16,99 +16,146 @@ export const translations = [
16
16
  'en-US': {
17
17
  // TODO(burdon): From assistant.
18
18
  [Blueprint.Blueprint.typename]: {
19
- 'typename label': 'Blueprint',
20
- 'typename label_zero': 'Blueprints',
21
- 'typename label_one': 'Blueprint',
22
- 'typename label_other': 'Blueprints',
23
- 'object name placeholder': 'New blueprint',
24
- 'rename object label': 'Rename blueprint',
25
- 'delete object label': 'Delete blueprint',
19
+ 'typename.label': 'Blueprint',
20
+ 'typename.label_zero': 'Blueprints',
21
+ 'typename.label_one': 'Blueprint',
22
+ 'typename.label_other': 'Blueprints',
23
+ 'object-name.placeholder': 'New blueprint',
24
+ 'add-object.label': 'Add blueprint',
25
+ 'rename-object.label': 'Rename blueprint',
26
+ 'delete-object.label': 'Delete blueprint',
27
+ 'object-deleted.label': 'Blueprint deleted',
26
28
  },
27
29
  [Type.getTypename(Prompt.Prompt)]: {
28
- 'typename label': 'Prompt',
29
- 'typename label_zero': 'Prompts',
30
- 'typename label_one': 'Prompt',
31
- 'typename label_other': 'Prompts',
32
- 'object name placeholder': 'New prompt',
33
- 'rename object label': 'Rename prompt',
34
- 'delete object label': 'Delete prompt',
30
+ 'typename.label': 'Prompt',
31
+ 'typename.label_zero': 'Prompts',
32
+ 'typename.label_one': 'Prompt',
33
+ 'typename.label_other': 'Prompts',
34
+ 'object-name.placeholder': 'New prompt',
35
+ 'add-object.label': 'Add prompt',
36
+ 'rename-object.label': 'Rename prompt',
37
+ 'delete-object.label': 'Delete prompt',
38
+ 'object-deleted.label': 'Prompt deleted',
35
39
  },
36
40
  // TODO(burdon): From conductor.
37
41
  [Sequence.typename]: {
38
- 'typename label': 'Sequence',
39
- 'typename label_zero': 'Sequences',
40
- 'typename label_one': 'Sequence',
41
- 'typename label_other': 'Sequences',
42
- 'object name placeholder': 'New sequence',
43
- 'rename object label': 'Rename sequence',
44
- 'delete object label': 'Delete sequence',
42
+ 'typename.label': 'Sequence',
43
+ 'typename.label_zero': 'Sequences',
44
+ 'typename.label_one': 'Sequence',
45
+ 'typename.label_other': 'Sequences',
46
+ 'object-name.placeholder': 'New sequence',
47
+ 'add-object.label': 'Add sequence',
48
+ 'rename-object.label': 'Rename sequence',
49
+ 'delete-object.label': 'Delete sequence',
50
+ 'object-deleted.label': 'Sequence deleted',
45
51
  },
46
- [Assistant.Chat.typename]: {
47
- 'typename label': 'AI Chat',
48
- 'object name placeholder': 'New AI Chat',
49
- 'rename object label': 'Rename AI Chat',
50
- 'delete object label': 'Delete AI Chat',
52
+ [Chat.Chat.typename]: {
53
+ 'typename.label': 'AI Chat',
54
+ 'object-name.placeholder': 'New AI Chat',
55
+ 'add-object.label': 'Add AI chat',
56
+ 'rename-object.label': 'Rename AI Chat',
57
+ 'delete-object.label': 'Delete AI Chat',
58
+ 'object-deleted.label': 'AI Chat deleted',
59
+ },
60
+ [Project.Project.typename]: {
61
+ 'typename.label': 'Project',
62
+ 'typename.label_zero': 'Projects',
63
+ 'typename.label_one': 'Project',
64
+ 'typename.label_other': 'Projects',
65
+ 'object-name.placeholder': 'New project',
66
+ 'add-object.label': 'Add project',
67
+ 'rename-object.label': 'Rename project',
68
+ 'delete-object.label': 'Delete project',
69
+ 'object-deleted.label': 'Project deleted',
51
70
  },
52
71
  // TODO(burdon): Reconcile with react-ui-chat.
53
72
  [meta.id]: {
54
- 'templates label': 'Templates',
55
- 'open ambient chat label': 'Open Assistant',
56
- 'assistant chat label': 'Assistant',
57
- 'plugin name': 'Assistant',
58
- 'settings title': 'Assistant settings',
59
- 'object placeholder': 'New prompt',
60
- 'create object label': 'Create prompt',
61
- 'create trigger label': 'Create trigger',
62
- 'create stack section label': 'Create prompt',
63
- 'command placeholder': 'Enter slash command...',
64
- 'template placeholder': 'Enter template...',
65
- 'value placeholder': 'Enter value...',
66
- 'prompt rules label': 'Prompt Rules',
67
- 'typename placeholder': 'Enter typename of objects which this template is for',
68
- 'description placeholder': 'Enter description of when this template should be used',
69
- 'select preset template placeholder': 'Select preset',
70
- 'service registry label': 'Service Registry',
71
- 'type filter placeholder': 'Type',
72
- 'any type filter label': 'Any',
73
- 'no blueprint message': 'No active blueprints',
74
- 'tool call label': 'Calling tool...',
75
- 'tool result label': 'Success',
76
- 'tool error label': 'Tool call failed',
73
+ 'templates.label': 'Templates',
74
+ 'open-ambient-chat.label': 'Open Assistant',
75
+ 'assistant-chat.label': 'Assistant',
76
+ 'plugin.name': 'Assistant',
77
+ 'settings.title': 'Assistant settings',
78
+ 'object.placeholder': 'New prompt',
79
+ 'create-object.label': 'Create prompt',
80
+ 'create-trigger.label': 'Create trigger',
81
+ 'create-stack-section.label': 'Create prompt',
82
+ 'command.placeholder': 'Enter slash command...',
83
+ 'template.placeholder': 'Enter template...',
84
+ 'value.placeholder': 'Enter value...',
85
+ 'prompt-rules.label': 'Prompt Rules',
86
+ 'typename.placeholder': 'Enter typename of objects which this template is for',
87
+ 'description.placeholder': 'Enter description of when this template should be used',
88
+ 'select-preset-template.placeholder': 'Select preset',
89
+ 'service-registry.label': 'Service Registry',
90
+ 'type-filter.placeholder': 'Type',
91
+ 'any-type-filter.label': 'Any',
92
+ 'no-blueprint.message': 'No active blueprints',
93
+ 'tool-call.label': 'Calling tool...',
94
+ 'tool-result.label': 'Success',
95
+ 'tool-error.label': 'Tool call failed',
96
+
97
+ 'invocations.label': 'Invocations',
98
+ 'trace.label': 'Trace',
99
+
100
+ 'assistant-dialog.title': 'Assistant',
101
+ 'open-assistant.label': 'Open assistant',
102
+ 'reset-blueprints.label': 'Reset blueprints',
103
+
104
+ 'no-results.message': 'No results',
77
105
 
78
- 'invocations label': 'Invocations',
106
+ 'cancel.button': 'Cancel',
107
+ 'save.button': 'Save',
108
+ 'new-thread.button': 'New Chat',
109
+ 'rename-thread.button': 'Rename Chat',
110
+ 'chat-history.label': 'Chat History',
111
+ 'chat-update-name.label': 'Update AI Chat name',
79
112
 
80
- 'assistant dialog title': 'Assistant',
81
- 'open assistant label': 'Open assistant',
113
+ 'toolkit.label': 'Toolkit',
114
+ 'stats.label': 'Stats',
115
+ 'summary.label': 'Summary',
82
116
 
83
- 'no tools': 'No tools are configured',
84
- 'no results': 'No results',
117
+ 'search.placeholder': 'Search...',
118
+ 'prompt.placeholder': 'Enter question or command...',
119
+ 'context-objects.button': 'Add to context',
120
+ 'context-settings.button': 'Chat settings',
121
+ 'microphone.button': 'Click to speak',
122
+ 'cancel-processing.button': 'Stop processing',
123
+ 'blueprints-in-context.title': 'Blueprints',
124
+ 'objects-in-context.title': 'Content',
125
+ 'remove-object-in-context.label': 'Remove document',
126
+ 'chat-model.title': 'Model',
85
127
 
86
- 'cancel button': 'Cancel',
87
- 'save button': 'Save',
88
- 'new thread button': 'New Chat',
89
- 'rename thread button': 'Rename Chat',
90
- 'chat history label': 'Chat History',
91
- 'chat update name label': 'Update AI Chat name',
128
+ 'settings.default.label': 'Default',
129
+ 'settings.custom-prompts.label': 'Use custom prompts',
130
+ 'settings.custom-prompts.description': 'Allow the assistant to use custom prompts defined in your spaces.',
131
+ 'settings.llm-provider.label': 'LLM provider',
132
+ 'settings.llm-provider.description': 'Select which language model service to use for AI responses.',
133
+ 'settings.edge-llm-model.label': 'Remote language model',
134
+ 'settings.edge-llm-model.description': 'Choose the remote language model used for AI requests.',
135
+ 'settings.ollama-llm-model.label': 'Ollama language model',
136
+ 'settings.ollama-llm-model.description': 'Choose the locally hosted Ollama model for AI requests.',
137
+ 'settings.default-llm-model.label': 'Default language model',
92
138
 
93
- 'toolkit label': 'Toolkit',
94
- 'summary label': 'Summary',
139
+ // Trigger status
140
+ 'trigger-status-disabled.label': 'Triggers disabled',
141
+ 'trigger-status-idle.label': 'Triggers idle',
142
+ 'trigger-status-running.label': 'Trigger running',
143
+ 'trigger-status-error.label': 'Trigger error',
144
+ 'trigger-runtime.label': 'Auto trigger execution',
145
+ 'trigger-last-invocation.label': 'Last run',
146
+ 'trigger-duration.label': 'Duration',
95
147
 
96
- 'search placeholder': 'Search...',
97
- 'prompt placeholder': 'Enter question or command...',
98
- 'context objects button': 'Add to context',
99
- 'context settings button': 'Chat settings',
100
- 'microphone button': 'Click to speak',
101
- 'cancel processing button': 'Stop processing',
102
- 'blueprints in context title': 'Blueprints',
103
- 'objects in context title': 'Content',
104
- 'remove object in context label': 'Remove document',
105
- 'chat model title': 'Model',
148
+ 'debug.button': 'Debug',
149
+ 'online-switch.label': 'Online',
150
+ 'run-prompt.label': 'Run prompt',
151
+ 'typename.label': 'Typename',
152
+ 'branch-thread.menu': 'Branch chat',
153
+ 'chat-toolbar.title': 'Chat toolbar',
106
154
 
107
- 'settings default label': 'Default',
108
- 'settings custom prompts label': 'Use custom prompts',
109
- 'settings llm provider label': 'LLM provider',
110
- 'settings edge llm model label': 'Remote language model',
111
- 'settings ollama llm model label': 'Ollama language model',
155
+ // ProjectSettings
156
+ 'instructions.label': 'Instructions',
157
+ 'reset-history.button': 'Reset',
158
+ 'subscriptions.label': 'Subscriptions',
112
159
  },
113
160
  },
114
161
  },
@@ -2,62 +2,13 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import * as Schema from 'effect/Schema';
5
+ import { Chat as ChatModule } from '@dxos/assistant-toolkit';
6
6
 
7
- import { Obj, Ref, Type } from '@dxos/echo';
8
- import { FormAnnotation, LabelAnnotation } from '@dxos/echo/internal';
9
- import { Queue } from '@dxos/echo-db';
7
+ // Re-export Chat schema for backward compatibility.
8
+ export const Chat = ChatModule.Chat;
9
+ export type Chat = ChatModule.Chat;
10
10
 
11
- import { LLM_PROVIDERS } from './defs';
12
-
13
- /**
14
- * AI chat.
15
- */
16
- export const Chat = Schema.Struct({
17
- name: Schema.String.pipe(Schema.optional),
18
- queue: Type.Ref(Queue).pipe(FormAnnotation.set(false)),
19
- // TODO(dmaretskyi): Eventually this and the message queue will be the same.
20
- traceQueue: Type.Ref(Queue).pipe(FormAnnotation.set(false), Schema.optional),
21
- }).pipe(
22
- Type.Obj({
23
- typename: 'dxos.org/type/assistant/Chat',
24
- version: '0.2.0',
25
- }),
26
- LabelAnnotation.set(['name']),
27
- );
28
-
29
- export interface Chat extends Schema.Schema.Type<typeof Chat> {}
30
-
31
- export const makeChat = ({ name, queue }: { name?: string; queue: Queue }) =>
32
- Obj.make(Chat, { name, queue: Ref.fromDXN(queue.dxn) });
33
-
34
- /**
35
- * Relation between a Chat and companion objects (e.g., artifacts).
36
- */
37
- export const CompanionTo = Schema.Struct({
38
- id: Type.ObjectId,
39
- }).pipe(
40
- Type.Relation({
41
- typename: 'dxos.org/relation/assistant/CompanionTo',
42
- version: '0.1.0',
43
- source: Chat,
44
- target: Type.Expando,
45
- }),
46
- );
47
-
48
- export interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}
49
-
50
- /**
51
- * Plugin settings.
52
- */
53
- export const Settings = Schema.mutable(
54
- Schema.Struct({
55
- llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),
56
- edgeModel: Schema.optional(Schema.String),
57
- ollamaModel: Schema.optional(Schema.String),
58
- lmstudioModel: Schema.optional(Schema.String),
59
- customPrompts: Schema.optional(Schema.Boolean),
60
- }),
61
- );
62
-
63
- export type Settings = Schema.Schema.Type<typeof Settings>;
11
+ // Re-export Settings as merged const/type (not as namespace).
12
+ import * as SettingsModule from './Settings';
13
+ export const Settings = SettingsModule.Settings;
14
+ export type Settings = SettingsModule.Settings;
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ import { LLM_PROVIDERS } from './defs';
10
+
11
+ export const Settings = Schema.mutable(
12
+ 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),
18
+ }),
19
+ );
20
+
21
+ export type Settings = Schema.Schema.Type<typeof Settings>;
@@ -0,0 +1,35 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Atom } from '@effect-atom/atom-react';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { type Obj } from '@dxos/echo';
10
+
11
+ import { meta } from '#meta';
12
+
13
+ import { type Assistant } from './';
14
+
15
+ export namespace AssistantCapabilities {
16
+ export const Settings = Capability.make<Atom.Writable<Assistant.Settings>>(`${meta.id}.capability.settings`);
17
+
18
+ export const StateSchema = Schema.mutable(
19
+ Schema.Struct({
20
+ /** Map of primary object dxn to current chat dxn. */
21
+ currentChat: Schema.Record({ key: Schema.String, value: Schema.UndefinedOr(Schema.String) }),
22
+ /** Map of chat object path to prompt text to auto-submit when the chat opens. */
23
+ pendingPrompts: Schema.Record({ key: Schema.String, value: Schema.UndefinedOr(Schema.String) }),
24
+ }),
25
+ );
26
+
27
+ export type AssistantState = Schema.Schema.Type<typeof StateSchema>;
28
+
29
+ export const State = Capability.make<Atom.Writable<AssistantState>>(`${meta.id}.capability.state`);
30
+
31
+ /** Session-scoped cache of transient (not yet persisted) companion chats keyed by companion DXN string. */
32
+ export const CompanionChatCache = Capability.make<Atom.Writable<Record<string, Obj.Unknown | undefined>>>(
33
+ `${meta.id}.capability.companion-chat-cache`,
34
+ );
35
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { ActivationEvent } from '@dxos/app-framework';
6
+
7
+ import { meta } from '#meta';
8
+
9
+ export namespace AssistantEvents {
10
+ export const SetupAiServiceProviders = ActivationEvent.make(`${meta.id}.event.setup-ai-service-providers`);
11
+ }
@@ -2,8 +2,12 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ // Re-export Chat type from assistant-toolkit for public API type declarations.
6
+ export type { Chat as ChatType } from '@dxos/assistant-toolkit';
7
+
5
8
  export * as Assistant from './Assistant';
6
- export * as AssistantAction from './AssistantAction';
7
9
 
10
+ export * from './capabilities';
8
11
  export * from './defs';
12
+ export * from './events';
9
13
  export * from './service';
@@ -5,9 +5,8 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { ComputeGraph } from '@dxos/conductor';
8
- import { Type } from '@dxos/echo';
9
- import { TypedObject } from '@dxos/echo/internal';
10
- import { Function } from '@dxos/functions';
8
+ import { Ref, Type } from '@dxos/echo';
9
+ import { Operation } from '@dxos/operation';
11
10
 
12
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
13
12
 
@@ -38,12 +37,12 @@ export type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;
38
37
 
39
38
  const ServiceInterfaceFunction = Schema.Struct({
40
39
  kind: Schema.Literal('function'),
41
- fn: Type.Ref(Function.Function),
40
+ fn: Ref.Ref(Operation.PersistentOperation),
42
41
  });
43
42
 
44
43
  const ServiceInterfaceWorkflow = Schema.Struct({
45
44
  kind: Schema.Literal('workflow'),
46
- workflow: Type.Ref(ComputeGraph),
45
+ workflow: Ref.Ref(ComputeGraph),
47
46
  });
48
47
 
49
48
  const ServiceInterfaceApi = Schema.Struct({
@@ -70,14 +69,11 @@ const ServiceInterface = Schema.Union(
70
69
  ServiceInterfaceFunction,
71
70
  ServiceInterfaceWorkflow,
72
71
  ServiceInterfaceApi,
73
- );
72
+ ) as any;
74
73
 
75
74
  export type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;
76
75
 
77
- export class ServiceType extends TypedObject({
78
- typename: 'dxos.org/type/ServiceType',
79
- version: '0.1.0',
80
- })({
76
+ export const ServiceType = Schema.Struct({
81
77
  serviceId: Schema.String,
82
78
  name: Schema.optional(Schema.String),
83
79
  description: Schema.optional(Schema.String),
@@ -88,7 +84,14 @@ export class ServiceType extends TypedObject({
88
84
  * Entries exposed: functions, workflows, and APIs.
89
85
  */
90
86
  interfaces: Schema.optional(Schema.Array(ServiceInterface)),
91
- }) {}
87
+ }).pipe(
88
+ Type.object({
89
+ typename: 'org.dxos.type.service',
90
+ version: '0.1.0',
91
+ }),
92
+ );
93
+
94
+ export interface ServiceType extends Schema.Schema.Type<typeof ServiceType> {}
92
95
 
93
96
  //
94
97
  // Service Registry