@dxos/plugin-assistant 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb

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 (312) hide show
  1. package/dist/lib/browser/{BlueprintArticle-WP3G5GLG.mjs → BlueprintArticle-6SP2ZWJ2.mjs} +2 -3
  2. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs.map +7 -0
  3. package/dist/lib/browser/{ChatCompanion-GFSJZTOT.mjs → ChatCompanion-KGPU4DLI.mjs} +67 -20
  4. package/dist/lib/browser/ChatCompanion-KGPU4DLI.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatContainer-IHAPBIZE.mjs → ChatContainer-IHPTKMDK.mjs} +7 -6
  6. package/dist/lib/browser/ChatContainer-IHPTKMDK.mjs.map +7 -0
  7. package/dist/lib/browser/{ChatDialog-EGRMPCTL.mjs → ChatDialog-VALCOM3W.mjs} +5 -5
  8. package/dist/lib/browser/{ChatDialog-EGRMPCTL.mjs.map → ChatDialog-VALCOM3W.mjs.map} +2 -2
  9. package/dist/lib/browser/InitiativeContainer-LQHJLTPE.mjs +264 -0
  10. package/dist/lib/browser/InitiativeContainer-LQHJLTPE.mjs.map +7 -0
  11. package/dist/lib/browser/{PromptArticle-K362ZPAE.mjs → PromptArticle-YJ5E2YYE.mjs} +21 -9
  12. package/dist/lib/browser/PromptArticle-YJ5E2YYE.mjs.map +7 -0
  13. package/dist/lib/browser/{ai-service-5GUDOEWF.mjs → ai-service-CY2BYPH6.mjs} +5 -4
  14. package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
  15. package/dist/lib/browser/{app-graph-builder-DSNH2OMY.mjs → app-graph-builder-MUZGUQSC.mjs} +43 -21
  16. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs.map +7 -0
  17. package/dist/lib/browser/blueprint-definition-4D42KBDM.mjs +33 -0
  18. package/dist/lib/browser/blueprint-definition-4D42KBDM.mjs.map +7 -0
  19. package/dist/lib/browser/blueprints/index.mjs +3 -7
  20. package/dist/lib/browser/{chunk-V772AMZM.mjs → chunk-6BVCG5SJ.mjs} +17 -37
  21. package/dist/lib/browser/chunk-6BVCG5SJ.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-ML3QCFKA.mjs → chunk-JYY5AD65.mjs} +50 -29
  23. package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-MRJVYGLU.mjs → chunk-MEM7ET2A.mjs} +34 -68
  25. package/dist/lib/browser/chunk-MEM7ET2A.mjs.map +7 -0
  26. package/dist/lib/browser/{chunk-A75V4MOQ.mjs → chunk-THZPCE3E.mjs} +228 -92
  27. package/dist/lib/browser/chunk-THZPCE3E.mjs.map +7 -0
  28. package/dist/lib/browser/{edge-model-resolver-26BOY6HY.mjs → edge-model-resolver-YTMFQEN5.mjs} +4 -3
  29. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  30. package/dist/lib/browser/index.mjs +97 -52
  31. package/dist/lib/browser/index.mjs.map +3 -3
  32. package/dist/lib/browser/{local-model-resolver-ZFIM6GGV.mjs → local-model-resolver-CGRQH37T.mjs} +4 -3
  33. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/{operation-resolver-7XJLBRQY.mjs → operation-resolver-MB7OQBPT.mjs} +21 -23
  36. package/dist/lib/browser/operation-resolver-MB7OQBPT.mjs.map +7 -0
  37. package/dist/lib/browser/{react-surface-S7SBFOSW.mjs → react-surface-UHDDX6N3.mjs} +37 -21
  38. package/dist/lib/browser/react-surface-UHDDX6N3.mjs.map +7 -0
  39. package/dist/lib/browser/{repair-6QGAKOVM.mjs → repair-IRXDYF4R.mjs} +4 -7
  40. package/dist/lib/browser/repair-IRXDYF4R.mjs.map +7 -0
  41. package/dist/lib/browser/{settings-4ZDLUMYE.mjs → settings-XF6GKHCG.mjs} +5 -4
  42. package/dist/lib/browser/settings-XF6GKHCG.mjs.map +7 -0
  43. package/dist/lib/browser/{state-AN6336ZX.mjs → state-OYDPWLKA.mjs} +2 -2
  44. package/dist/lib/browser/toolkit-IDXQCSTX.mjs +19 -0
  45. package/dist/lib/browser/toolkit-IDXQCSTX.mjs.map +7 -0
  46. package/dist/lib/browser/types/index.mjs +1 -1
  47. package/dist/lib/node-esm/{BlueprintArticle-WZ76E2C4.mjs → BlueprintArticle-7LI6UXKZ.mjs} +2 -3
  48. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs.map +7 -0
  49. package/dist/lib/node-esm/{ChatCompanion-UR7DXZ54.mjs → ChatCompanion-XY3MAAKH.mjs} +67 -20
  50. package/dist/lib/node-esm/ChatCompanion-XY3MAAKH.mjs.map +7 -0
  51. package/dist/lib/node-esm/{ChatContainer-YMLLGOZK.mjs → ChatContainer-3YXC4HOK.mjs} +7 -6
  52. package/dist/lib/node-esm/ChatContainer-3YXC4HOK.mjs.map +7 -0
  53. package/dist/lib/node-esm/{ChatDialog-D24WJPK4.mjs → ChatDialog-UAYXP3UM.mjs} +5 -5
  54. package/dist/lib/node-esm/{ChatDialog-D24WJPK4.mjs.map → ChatDialog-UAYXP3UM.mjs.map} +2 -2
  55. package/dist/lib/node-esm/InitiativeContainer-EAUOSH36.mjs +265 -0
  56. package/dist/lib/node-esm/InitiativeContainer-EAUOSH36.mjs.map +7 -0
  57. package/dist/lib/node-esm/{PromptArticle-D4HAIIC6.mjs → PromptArticle-U2IYPLFR.mjs} +21 -9
  58. package/dist/lib/node-esm/PromptArticle-U2IYPLFR.mjs.map +7 -0
  59. package/dist/lib/node-esm/{ai-service-PXKKCFIF.mjs → ai-service-ZI3A6RVG.mjs} +5 -4
  60. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  61. package/dist/lib/node-esm/{app-graph-builder-TJCUEXW5.mjs → app-graph-builder-4QN5M6PD.mjs} +43 -21
  62. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs.map +7 -0
  63. package/dist/lib/node-esm/blueprint-definition-EJOAZFY5.mjs +34 -0
  64. package/dist/lib/node-esm/blueprint-definition-EJOAZFY5.mjs.map +7 -0
  65. package/dist/lib/node-esm/blueprints/index.mjs +3 -7
  66. package/dist/lib/node-esm/{chunk-4BERCIES.mjs → chunk-3DG7AJES.mjs} +228 -92
  67. package/dist/lib/node-esm/chunk-3DG7AJES.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-DCA5QWQT.mjs → chunk-CTHGEJJA.mjs} +34 -67
  69. package/dist/lib/node-esm/chunk-CTHGEJJA.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-ZRIPP7YF.mjs → chunk-JMBYVUD6.mjs} +50 -29
  71. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-355W5B27.mjs → chunk-LB72WG6R.mjs} +17 -37
  73. package/dist/lib/node-esm/chunk-LB72WG6R.mjs.map +7 -0
  74. package/dist/lib/node-esm/{edge-model-resolver-G5KMODPO.mjs → edge-model-resolver-CMJ3KNLQ.mjs} +4 -3
  75. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  76. package/dist/lib/node-esm/index.mjs +97 -52
  77. package/dist/lib/node-esm/index.mjs.map +3 -3
  78. package/dist/lib/node-esm/{local-model-resolver-KDZLYI7Y.mjs → local-model-resolver-FFDAKOXN.mjs} +4 -3
  79. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/{operation-resolver-SX4WMNA7.mjs → operation-resolver-VWNTUHQQ.mjs} +21 -23
  82. package/dist/lib/node-esm/operation-resolver-VWNTUHQQ.mjs.map +7 -0
  83. package/dist/lib/node-esm/{react-surface-ZR6FXGLF.mjs → react-surface-DTOXFPWM.mjs} +37 -21
  84. package/dist/lib/node-esm/react-surface-DTOXFPWM.mjs.map +7 -0
  85. package/dist/lib/node-esm/{repair-QJ7CQDKU.mjs → repair-DMI55PON.mjs} +4 -7
  86. package/dist/lib/node-esm/repair-DMI55PON.mjs.map +7 -0
  87. package/dist/lib/node-esm/{settings-CQEOHR3R.mjs → settings-NGGZA7S7.mjs} +5 -4
  88. package/dist/lib/node-esm/settings-NGGZA7S7.mjs.map +7 -0
  89. package/dist/lib/node-esm/{state-HDON4REW.mjs → state-VSCPGN7R.mjs} +2 -2
  90. package/dist/lib/node-esm/{toolkit-OWGCEKOO.mjs → toolkit-JPRJRDDB.mjs} +6 -5
  91. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs.map +7 -0
  92. package/dist/lib/node-esm/types/index.mjs +1 -1
  93. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  94. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  95. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  96. package/dist/types/src/blueprints/assistant/functions/index.d.ts +25 -0
  97. package/dist/types/src/blueprints/assistant/functions/index.d.ts.map +1 -0
  98. package/dist/types/src/blueprints/assistant/functions/object-list.d.ts.map +1 -0
  99. package/dist/types/src/{functions → blueprints/assistant/functions}/object-load.d.ts +1 -1
  100. package/dist/types/src/blueprints/assistant/functions/object-load.d.ts.map +1 -0
  101. package/dist/types/src/blueprints/assistant/functions/object-search.d.ts.map +1 -0
  102. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  103. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/index.d.ts +1 -6
  105. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +3 -2
  107. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/ai-service/index.d.ts +1 -1
  109. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +4 -19
  112. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -2
  114. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +3 -2
  116. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +3 -2
  118. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  120. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  122. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  124. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  126. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  127. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  128. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  129. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  130. package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
  131. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/toolkit/index.d.ts +1 -1
  133. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +3 -2
  135. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -1
  136. package/dist/types/src/components/BlueprintArticle.d.ts +1 -1
  137. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -1
  138. package/dist/types/src/components/Chat/Chat.d.ts +6 -3
  139. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  140. package/dist/types/src/components/ChatCompanion.d.ts +2 -2
  141. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  142. package/dist/types/src/components/ChatContainer.d.ts +4 -4
  143. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  144. package/dist/types/src/components/ChatDialog.d.ts +2 -2
  145. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  146. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +2 -2
  147. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  148. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  149. package/dist/types/src/components/ChatThread/ChatThread.d.ts +1 -1
  150. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  151. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +115 -1
  152. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  153. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  154. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  155. package/dist/types/src/components/InitiativeContainer/InitiativeContainer.d.ts +7 -0
  156. package/dist/types/src/components/InitiativeContainer/InitiativeContainer.d.ts.map +1 -0
  157. package/dist/types/src/components/InitiativeContainer/index.d.ts +3 -0
  158. package/dist/types/src/components/InitiativeContainer/index.d.ts.map +1 -0
  159. package/dist/types/src/components/PromptArticle.d.ts +1 -1
  160. package/dist/types/src/components/PromptArticle.d.ts.map +1 -1
  161. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +114 -0
  162. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  163. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +114 -0
  164. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  165. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  166. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +114 -0
  167. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  168. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts +4 -0
  169. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  170. package/dist/types/src/components/TriggerStatus/index.d.ts +2 -0
  171. package/dist/types/src/components/TriggerStatus/index.d.ts.map +1 -0
  172. package/dist/types/src/components/index.d.ts +10 -11
  173. package/dist/types/src/components/index.d.ts.map +1 -1
  174. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  175. package/dist/types/src/hooks/useChatProcessor.d.ts +2 -1
  176. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  177. package/dist/types/src/hooks/useChatServices.d.ts +2 -2
  178. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  179. package/dist/types/src/hooks/useChatToolbarActions.d.ts +2 -2
  180. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  181. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  182. package/dist/types/src/index.d.ts +1 -0
  183. package/dist/types/src/index.d.ts.map +1 -1
  184. package/dist/types/src/processor/processor.d.ts +7 -3
  185. package/dist/types/src/processor/processor.d.ts.map +1 -1
  186. package/dist/types/src/processor/update-name.d.ts +2 -2
  187. package/dist/types/src/processor/update-name.d.ts.map +1 -1
  188. package/dist/types/src/translations.d.ts +114 -0
  189. package/dist/types/src/translations.d.ts.map +1 -1
  190. package/dist/types/src/types/Assistant.d.ts +5 -27
  191. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  192. package/dist/types/src/types/AssistantAction.d.ts +3 -1
  193. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  194. package/dist/types/src/types/index.d.ts +1 -0
  195. package/dist/types/src/types/index.d.ts.map +1 -1
  196. package/dist/types/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +94 -91
  198. package/src/AssistantPlugin.tsx +62 -29
  199. package/src/blueprints/assistant/blueprint.ts +34 -0
  200. package/src/blueprints/assistant/functions/index.ts +13 -0
  201. package/src/{functions → blueprints/assistant/functions}/object-list.ts +2 -2
  202. package/src/{functions → blueprints/assistant/functions}/object-load.ts +9 -12
  203. package/src/{functions → blueprints/assistant/functions}/object-search.ts +1 -1
  204. package/src/blueprints/assistant/index.ts +5 -0
  205. package/src/blueprints/index.ts +1 -8
  206. package/src/capabilities/ai-service/ai-service.ts +4 -3
  207. package/src/capabilities/app-graph-builder/app-graph-builder.ts +37 -17
  208. package/src/capabilities/blueprint-definition/blueprint-definition.ts +28 -42
  209. package/src/capabilities/blueprint-definition/index.ts +0 -1
  210. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +4 -3
  211. package/src/capabilities/local-model-resolver/local-model-resolver.ts +4 -3
  212. package/src/capabilities/operation-resolver/operation-resolver.ts +17 -15
  213. package/src/capabilities/react-surface/react-surface.tsx +35 -19
  214. package/src/capabilities/repair/repair.ts +3 -4
  215. package/src/capabilities/settings/settings.ts +3 -2
  216. package/src/capabilities/toolkit/toolkit.ts +5 -4
  217. package/src/components/AssistantSettings/AssistantSettings.tsx +15 -15
  218. package/src/components/BlueprintArticle.tsx +2 -3
  219. package/src/components/Chat/Chat.tsx +41 -14
  220. package/src/components/ChatCompanion.tsx +81 -18
  221. package/src/components/ChatContainer.tsx +20 -13
  222. package/src/components/ChatDialog.tsx +4 -3
  223. package/src/components/ChatProgress/ChatProgress.tsx +2 -3
  224. package/src/components/ChatPrompt/ChatActions.tsx +8 -0
  225. package/src/components/ChatThread/ChatThread.stories.tsx +3 -3
  226. package/src/components/ChatThread/ChatThread.tsx +13 -4
  227. package/src/components/ChatThread/Link.tsx +1 -1
  228. package/src/components/ChatThread/registry.tsx +18 -1
  229. package/src/components/ChatThread/sync.test.ts +2 -1
  230. package/src/components/ChatThread/sync.ts +14 -8
  231. package/src/components/InitiativeContainer/InitiativeContainer.tsx +340 -0
  232. package/src/components/InitiativeContainer/index.ts +6 -0
  233. package/src/components/PromptArticle.tsx +21 -13
  234. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +1 -1
  235. package/src/components/TemplateEditor/TemplateForm.stories.tsx +1 -1
  236. package/src/components/Toolbox/Toolbox.stories.tsx +2 -2
  237. package/src/components/Toolbox/Toolbox.tsx +41 -42
  238. package/src/components/TriggerStatus/TriggerStatus.tsx +142 -0
  239. package/src/components/TriggerStatus/index.ts +5 -0
  240. package/src/components/index.ts +11 -2
  241. package/src/hooks/useBlueprintRegistry.ts +7 -4
  242. package/src/hooks/useChatProcessor.ts +2 -1
  243. package/src/hooks/useChatServices.ts +3 -3
  244. package/src/hooks/useChatToolbarActions.ts +6 -5
  245. package/src/hooks/useReferencesProvider.ts +1 -5
  246. package/src/index.ts +1 -0
  247. package/src/processor/processor.test.ts +7 -7
  248. package/src/processor/processor.ts +47 -26
  249. package/src/processor/update-name.ts +2 -3
  250. package/src/translations.ts +23 -2
  251. package/src/types/Assistant.ts +4 -38
  252. package/src/types/AssistantAction.ts +6 -5
  253. package/src/types/index.ts +3 -0
  254. package/dist/lib/browser/BlueprintArticle-WP3G5GLG.mjs.map +0 -7
  255. package/dist/lib/browser/ChatCompanion-GFSJZTOT.mjs.map +0 -7
  256. package/dist/lib/browser/ChatContainer-IHAPBIZE.mjs.map +0 -7
  257. package/dist/lib/browser/PromptArticle-K362ZPAE.mjs.map +0 -7
  258. package/dist/lib/browser/ai-service-5GUDOEWF.mjs.map +0 -7
  259. package/dist/lib/browser/app-graph-builder-DSNH2OMY.mjs.map +0 -7
  260. package/dist/lib/browser/blueprint-definition-DGHH7MUU.mjs +0 -14
  261. package/dist/lib/browser/blueprint-definition-DGHH7MUU.mjs.map +0 -7
  262. package/dist/lib/browser/chunk-A75V4MOQ.mjs.map +0 -7
  263. package/dist/lib/browser/chunk-ML3QCFKA.mjs.map +0 -7
  264. package/dist/lib/browser/chunk-MRJVYGLU.mjs.map +0 -7
  265. package/dist/lib/browser/chunk-V772AMZM.mjs.map +0 -7
  266. package/dist/lib/browser/chunk-WGQTU6UJ.mjs +0 -41
  267. package/dist/lib/browser/chunk-WGQTU6UJ.mjs.map +0 -7
  268. package/dist/lib/browser/edge-model-resolver-26BOY6HY.mjs.map +0 -7
  269. package/dist/lib/browser/local-model-resolver-ZFIM6GGV.mjs.map +0 -7
  270. package/dist/lib/browser/operation-resolver-7XJLBRQY.mjs.map +0 -7
  271. package/dist/lib/browser/react-surface-S7SBFOSW.mjs.map +0 -7
  272. package/dist/lib/browser/repair-6QGAKOVM.mjs.map +0 -7
  273. package/dist/lib/browser/settings-4ZDLUMYE.mjs.map +0 -7
  274. package/dist/lib/browser/toolkit-7AVTEPMA.mjs +0 -18
  275. package/dist/lib/browser/toolkit-7AVTEPMA.mjs.map +0 -7
  276. package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs.map +0 -7
  277. package/dist/lib/node-esm/ChatCompanion-UR7DXZ54.mjs.map +0 -7
  278. package/dist/lib/node-esm/ChatContainer-YMLLGOZK.mjs.map +0 -7
  279. package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs.map +0 -7
  280. package/dist/lib/node-esm/ai-service-PXKKCFIF.mjs.map +0 -7
  281. package/dist/lib/node-esm/app-graph-builder-TJCUEXW5.mjs.map +0 -7
  282. package/dist/lib/node-esm/blueprint-definition-SEMDEIYG.mjs +0 -15
  283. package/dist/lib/node-esm/blueprint-definition-SEMDEIYG.mjs.map +0 -7
  284. package/dist/lib/node-esm/chunk-355W5B27.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-4BERCIES.mjs.map +0 -7
  286. package/dist/lib/node-esm/chunk-DCA5QWQT.mjs.map +0 -7
  287. package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs +0 -42
  288. package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs.map +0 -7
  289. package/dist/lib/node-esm/chunk-ZRIPP7YF.mjs.map +0 -7
  290. package/dist/lib/node-esm/edge-model-resolver-G5KMODPO.mjs.map +0 -7
  291. package/dist/lib/node-esm/local-model-resolver-KDZLYI7Y.mjs.map +0 -7
  292. package/dist/lib/node-esm/operation-resolver-SX4WMNA7.mjs.map +0 -7
  293. package/dist/lib/node-esm/react-surface-ZR6FXGLF.mjs.map +0 -7
  294. package/dist/lib/node-esm/repair-QJ7CQDKU.mjs.map +0 -7
  295. package/dist/lib/node-esm/settings-CQEOHR3R.mjs.map +0 -7
  296. package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs.map +0 -7
  297. package/dist/types/src/blueprints/assistant-blueprint.d.ts +0 -209
  298. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +0 -1
  299. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  300. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  301. package/dist/types/src/functions/index.d.ts +0 -4
  302. package/dist/types/src/functions/index.d.ts.map +0 -1
  303. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  304. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  305. package/dist/types/src/functions/object-search.d.ts.map +0 -1
  306. package/src/blueprints/assistant-blueprint.ts +0 -62
  307. package/src/components/ChatThread/reducers.ts +0 -151
  308. package/src/functions/index.ts +0 -7
  309. /package/dist/lib/browser/{state-AN6336ZX.mjs.map → state-OYDPWLKA.mjs.map} +0 -0
  310. /package/dist/lib/node-esm/{state-HDON4REW.mjs.map → state-VSCPGN7R.mjs.map} +0 -0
  311. /package/dist/types/src/{functions → blueprints/assistant/functions}/object-list.d.ts +0 -0
  312. /package/dist/types/src/{functions → blueprints/assistant/functions}/object-search.d.ts +0 -0
@@ -4,10 +4,12 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
8
- import { Prompt } from '@dxos/blueprints';
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';
9
+ import { Chat } from '@dxos/assistant-toolkit';
10
+ import { Blueprint, Prompt } from '@dxos/blueprints';
9
11
  import { Sequence } from '@dxos/conductor';
10
- import { DXN, type Database, Obj, type Ref } from '@dxos/echo';
12
+ import { DXN, Database, Obj, type Ref } from '@dxos/echo';
11
13
  import { AtomObj } from '@dxos/echo-atom';
12
14
  import { invariant } from '@dxos/invariant';
13
15
  import { Operation, type OperationInvoker } from '@dxos/operation';
@@ -19,7 +21,7 @@ import { SpaceOperation } from '@dxos/plugin-space/types';
19
21
  import { Query } from '@dxos/react-client/echo';
20
22
 
21
23
  import { ASSISTANT_DIALOG, meta } from '../../meta';
22
- import { Assistant, AssistantCapabilities, AssistantOperation } from '../../types';
24
+ import { AssistantCapabilities, AssistantOperation } from '../../types';
23
25
 
24
26
  export default Capability.makeModule(
25
27
  Effect.fnUntraced(function* () {
@@ -28,7 +30,7 @@ export default Capability.makeModule(
28
30
  const extensions = yield* Effect.all([
29
31
  GraphBuilder.createTypeExtension({
30
32
  id: `${meta.id}/root`,
31
- type: Assistant.Chat,
33
+ type: Chat.Chat,
32
34
  actions: (chat) => {
33
35
  const id = Obj.getDXN(chat).toString();
34
36
  return Effect.succeed([
@@ -51,18 +53,18 @@ export default Capability.makeModule(
51
53
  actions: () =>
52
54
  Effect.succeed([
53
55
  {
54
- id: `${Common.LayoutOperation.UpdateDialog.meta.key}/assistant/open`,
56
+ id: `${LayoutOperation.UpdateDialog.meta.key}/assistant/open`,
55
57
  data: Effect.fnUntraced(function* () {
56
58
  const capabilities = yield* Capability.Service;
57
59
  const client = yield* Capability.get(ClientCapabilities.Client);
58
- const operationInvoker = yield* Capability.get(Common.Capability.OperationInvoker);
60
+ const operationInvoker = yield* Capability.get(Capabilities.OperationInvoker);
59
61
  const space = getActiveSpace(capabilities) ?? client.spaces.default;
60
62
  const chat = yield* Effect.tryPromise(() => getOrCreateChat(operationInvoker.invokePromise, space.db));
61
63
  if (!chat) {
62
64
  return;
63
65
  }
64
66
 
65
- yield* Operation.invoke(Common.LayoutOperation.UpdateDialog, {
67
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
66
68
  subject: ASSISTANT_DIALOG,
67
69
  state: true,
68
70
  blockAlign: 'end',
@@ -82,6 +84,25 @@ export default Capability.makeModule(
82
84
  },
83
85
  },
84
86
  },
87
+ {
88
+ id: `${meta.id}/reset-blueprints`,
89
+ data: Effect.fnUntraced(function* () {
90
+ const capabilities = yield* Capability.Service;
91
+ const client = yield* Capability.get(ClientCapabilities.Client);
92
+ const space = getActiveSpace(capabilities) ?? client.spaces.default;
93
+ const blueprints = yield* Effect.tryPromise(() =>
94
+ space.db.query(Query.type(Blueprint.Blueprint)).run(),
95
+ );
96
+ for (const blueprint of blueprints) {
97
+ space.db.remove(blueprint);
98
+ }
99
+ yield* Database.flush({ indexes: true });
100
+ }),
101
+ properties: {
102
+ label: ['reset blueprints label', { ns: meta.id }],
103
+ icon: 'ph--arrow-clockwise--regular',
104
+ },
105
+ },
85
106
  ]),
86
107
  }),
87
108
 
@@ -113,15 +134,14 @@ export default Capability.makeModule(
113
134
  const currentChatDxn = DXN.tryParse(currentChatState);
114
135
  const currentChatRef = currentChatDxn ? db?.makeRef(currentChatDxn) : undefined;
115
136
  const currentChat = currentChatRef ? get(AtomObj.make(currentChatRef as Ref.Ref<Obj.Unknown>)) : undefined;
116
- if (!Obj.isObject(currentChat)) {
117
- return [];
118
- }
119
137
 
138
+ // Return the resolved chat object, or fall back to 'assistant-chat' string if it can't be resolved.
139
+ // This ensures the companion remains visible even during transient states.
120
140
  return [
121
141
  {
122
142
  id: [Obj.getDXN(object).toString(), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),
123
143
  type: PLANK_COMPANION_TYPE,
124
- data: currentChat,
144
+ data: Obj.isObject(currentChat) ? currentChat : 'assistant-chat',
125
145
  properties: {
126
146
  label: ['assistant chat label', { ns: meta.id }],
127
147
  icon: 'ph--sparkle--regular',
@@ -155,7 +175,7 @@ export default Capability.makeModule(
155
175
  }),
156
176
  ]);
157
177
 
158
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
178
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
159
179
  }),
160
180
  );
161
181
 
@@ -163,10 +183,10 @@ export default Capability.makeModule(
163
183
  const getOrCreateChat = async (
164
184
  invokePromise: OperationInvoker.OperationInvoker['invokePromise'],
165
185
  db: Database.Database,
166
- ): Promise<Assistant.Chat | undefined> => {
186
+ ): Promise<Chat.Chat | undefined> => {
167
187
  // TODO(wittjosiah): This should be possible with a single query.
168
- const allChats = await db.query(Query.type(Assistant.Chat)).run();
169
- const relatedChats = await db.query(Query.type(Assistant.Chat).sourceOf(Assistant.CompanionTo).source()).run();
188
+ const allChats = await db.query(Query.type(Chat.Chat)).run();
189
+ const relatedChats = await db.query(Query.type(Chat.Chat).sourceOf(Chat.CompanionTo).source()).run();
170
190
 
171
191
  const chats = allChats.filter((chat) => !relatedChats.includes(chat));
172
192
  if (chats.length > 0) {
@@ -174,7 +194,7 @@ const getOrCreateChat = async (
174
194
  }
175
195
 
176
196
  const { data } = await invokePromise(AssistantOperation.CreateChat, { db });
177
- invariant(Obj.instanceOf(Assistant.Chat, data?.object));
197
+ invariant(Obj.instanceOf(Chat.Chat, data?.object));
178
198
  await invokePromise(SpaceOperation.AddObject, { target: db, object: data.object });
179
199
  return data.object;
180
200
  };
@@ -3,58 +3,44 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
+ import * as Record from 'effect/Record';
6
7
 
7
- import { Capability, Common } from '@dxos/app-framework';
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { AppCapabilities } from '@dxos/app-toolkit';
8
10
  import {
9
- Agent,
10
- Discord,
11
+ AgentFunctions,
11
12
  DiscordBlueprint,
12
- EntityExtraction,
13
- Linear,
13
+ EntityExtractionFunctions,
14
+ InitiativeBlueprint,
14
15
  LinearBlueprint,
15
- Research,
16
+ PlanningBlueprint,
16
17
  ResearchBlueprint,
17
18
  WebSearchBlueprint,
18
19
  } from '@dxos/assistant-toolkit';
19
- import { type Blueprint } from '@dxos/blueprints';
20
20
 
21
21
  import { AssistantBlueprint } from '../../blueprints';
22
22
 
23
- export const createBlueprint: () => Blueprint.Blueprint = AssistantBlueprint.make;
24
- export { AssistantBlueprint };
25
-
26
- export type BlueprintCapabilities = [
27
- Capability.Capability<typeof Common.Capability.Functions>,
28
- Capability.Capability<typeof Common.Capability.BlueprintDefinition>,
29
- Capability.Capability<typeof Common.Capability.Functions>,
30
- Capability.Capability<typeof Common.Capability.BlueprintDefinition>,
31
- Capability.Capability<typeof Common.Capability.Functions>,
32
- Capability.Capability<typeof Common.Capability.BlueprintDefinition>,
33
- Capability.Capability<typeof Common.Capability.Functions>,
34
- Capability.Capability<typeof Common.Capability.BlueprintDefinition>,
35
- Capability.Capability<typeof Common.Capability.Functions>,
36
- Capability.Capability<typeof Common.Capability.BlueprintDefinition>,
37
- ];
38
-
39
- export default Capability.makeModule<[], BlueprintCapabilities>(() =>
23
+ const blueprintDefinition = Capability.makeModule<
24
+ [],
25
+ Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]
26
+ >(() =>
40
27
  Effect.succeed([
41
- Capability.contributes(Common.Capability.Functions, AssistantBlueprint.functions$),
42
- Capability.contributes(Common.Capability.BlueprintDefinition, AssistantBlueprint.blueprint),
43
-
44
- // TODO(burdon): Factor out.
45
- Capability.contributes(Common.Capability.Functions, [Research.create, Research.research]),
46
- Capability.contributes(Common.Capability.BlueprintDefinition, ResearchBlueprint),
47
-
48
- // TODO(burdon): Factor out.
49
- Capability.contributes(Common.Capability.Functions, [Agent.prompt, EntityExtraction.extract]),
50
- Capability.contributes(Common.Capability.BlueprintDefinition, WebSearchBlueprint),
51
-
52
- // TODO(burdon): Factor out.
53
- Capability.contributes(Common.Capability.Functions, [Discord.fetch]),
54
- Capability.contributes(Common.Capability.BlueprintDefinition, DiscordBlueprint),
55
-
56
- // TODO(burdon): Factor out.
57
- Capability.contributes(Common.Capability.Functions, [Linear.sync]),
58
- Capability.contributes(Common.Capability.BlueprintDefinition, LinearBlueprint),
28
+ Capability.contributes(AppCapabilities.BlueprintDefinition, {
29
+ ...AssistantBlueprint,
30
+ functions: [
31
+ // TODO(burdon): Co-locate all of these functions?
32
+ ...AssistantBlueprint.functions,
33
+ ...Record.values(AgentFunctions),
34
+ ...Record.values(EntityExtractionFunctions),
35
+ ],
36
+ }),
37
+ Capability.contributes(AppCapabilities.BlueprintDefinition, ResearchBlueprint),
38
+ Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),
39
+ Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),
40
+ Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),
41
+ Capability.contributes(AppCapabilities.BlueprintDefinition, InitiativeBlueprint),
42
+ Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),
59
43
  ]),
60
44
  );
45
+
46
+ export default blueprintDefinition;
@@ -5,4 +5,3 @@
5
5
  import { Capability } from '@dxos/app-framework';
6
6
 
7
7
  export const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));
8
- export { AssistantBlueprint } from './blueprint-definition';
@@ -8,14 +8,15 @@ import * as Effect from 'effect/Effect';
8
8
  import * as Layer from 'effect/Layer';
9
9
 
10
10
  import { AnthropicResolver } from '@dxos/ai/resolvers';
11
- import { Capability, Common } from '@dxos/app-framework';
11
+ import { Capability } from '@dxos/app-framework';
12
+ import { AppCapabilities } from '@dxos/app-toolkit';
12
13
 
13
- export type EdgeModelResolverCapabilities = [Capability.Capability<typeof Common.Capability.AiModelResolver>];
14
+ export type EdgeModelResolverCapabilities = [Capability.Capability<typeof AppCapabilities.AiModelResolver>];
14
15
 
15
16
  const edgeModelResolver = Capability.makeModule<[], EdgeModelResolverCapabilities>(() =>
16
17
  Effect.succeed([
17
18
  Capability.contributes(
18
- Common.Capability.AiModelResolver,
19
+ AppCapabilities.AiModelResolver,
19
20
  AnthropicResolver.make().pipe(
20
21
  Layer.provide(
21
22
  AnthropicClient.layer({
@@ -8,9 +8,10 @@ import * as Effect from 'effect/Effect';
8
8
  import * as Layer from 'effect/Layer';
9
9
 
10
10
  import { LMStudioResolver } from '@dxos/ai/resolvers';
11
- import { Capability, Common } from '@dxos/app-framework';
11
+ import { Capability } from '@dxos/app-framework';
12
+ import { AppCapabilities } from '@dxos/app-toolkit';
12
13
 
13
- export type LocalModelResolverCapabilities = [Capability.Capability<typeof Common.Capability.AiModelResolver>];
14
+ export type LocalModelResolverCapabilities = [Capability.Capability<typeof AppCapabilities.AiModelResolver>];
14
15
 
15
16
  /**
16
17
  * To start LM Studio server:
@@ -21,7 +22,7 @@ export type LocalModelResolverCapabilities = [Capability.Capability<typeof Commo
21
22
  const localModelResolver = Capability.makeModule<[], LocalModelResolverCapabilities>(() =>
22
23
  Effect.succeed([
23
24
  Capability.contributes(
24
- Common.Capability.AiModelResolver,
25
+ AppCapabilities.AiModelResolver,
25
26
  LMStudioResolver.make().pipe(
26
27
  Layer.provide(
27
28
  OpenAiClient.layer({
@@ -4,9 +4,9 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
8
  import { AiContextBinder, AiConversation } from '@dxos/assistant';
9
- import { Agent } from '@dxos/assistant-toolkit';
9
+ import { AgentFunctions, Chat } from '@dxos/assistant-toolkit';
10
10
  import { Blueprint, Prompt } from '@dxos/blueprints';
11
11
  import { type Queue } from '@dxos/client/echo';
12
12
  import { Filter, Obj, Ref, Type } from '@dxos/echo';
@@ -18,17 +18,17 @@ import { ClientCapabilities } from '@dxos/plugin-client';
18
18
  import { Collection } from '@dxos/schema';
19
19
  import { type Message } from '@dxos/types';
20
20
 
21
+ import { AssistantBlueprint } from '../../blueprints';
21
22
  import { type AiChatServices, updateName } from '../../processor';
22
- import { Assistant, AssistantCapabilities, AssistantOperation } from '../../types';
23
- import { AssistantBlueprint, createBlueprint } from '../blueprint-definition/blueprint-definition';
23
+ import { AssistantCapabilities, AssistantOperation } from '../../types';
24
24
 
25
25
  export default Capability.makeModule(
26
26
  Effect.fnUntraced(function* () {
27
- return Capability.contributes(Common.Capability.OperationResolver, [
27
+ return Capability.contributes(Capabilities.OperationResolver, [
28
28
  OperationResolver.make({
29
29
  operation: AssistantOperation.OnCreateSpace,
30
30
  handler: Effect.fnUntraced(function* ({ space, rootCollection }) {
31
- const chatCollection = Collection.makeManaged({ key: Assistant.Chat.typename });
31
+ const chatCollection = Collection.makeManaged({ key: Chat.Chat.typename });
32
32
  const blueprintCollection = Collection.makeManaged({ key: Blueprint.Blueprint.typename });
33
33
  const promptCollection = Collection.makeManaged({ key: Type.getTypename(Prompt.Prompt) });
34
34
  Obj.change(rootCollection, (c) => {
@@ -36,7 +36,7 @@ export default Capability.makeModule(
36
36
  });
37
37
 
38
38
  // TODO(wittjosiah): Remove once function registry is avaiable.
39
- space.db.add(serializeFunction(Agent.prompt));
39
+ space.db.add(serializeFunction(AgentFunctions.Prompt));
40
40
 
41
41
  // Create default chat.
42
42
  const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, { db: space.db });
@@ -45,21 +45,23 @@ export default Capability.makeModule(
45
45
  }),
46
46
  OperationResolver.make({
47
47
  operation: AssistantOperation.CreateChat,
48
- handler: Effect.fnUntraced(function* ({ db, name }) {
49
- const registry = yield* Capability.get(Common.Capability.AtomRegistry);
48
+ handler: Effect.fnUntraced(function* ({ db, name, addToSpace = true }) {
49
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
50
50
  const client = yield* Capability.get(ClientCapabilities.Client);
51
51
  const space = client.spaces.get(db.spaceId);
52
52
  invariant(space, 'Space not found');
53
53
  const queue = space.queues.create();
54
- const chat = Assistant.make({ name, queue: Ref.fromDXN(queue.dxn) });
55
- space.db.add(chat);
54
+ const chat = Chat.make({ name, queue: Ref.fromDXN(queue.dxn) });
55
+ if (addToSpace) {
56
+ space.db.add(chat);
57
+ }
56
58
 
57
59
  // TODO(wittjosiah): This should be a space-level setting.
58
60
  // TODO(burdon): Clone when activated. Copy-on-write for template.
59
61
  const blueprints = yield* Effect.promise(() => db.query(Filter.type(Blueprint.Blueprint)).run());
60
- let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === AssistantBlueprint.Key);
62
+ let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === AssistantBlueprint.key);
61
63
  if (!defaultBlueprint) {
62
- defaultBlueprint = db.add(createBlueprint());
64
+ defaultBlueprint = db.add(AssistantBlueprint.make());
63
65
  }
64
66
 
65
67
  const binder = new AiContextBinder({ queue, registry });
@@ -73,7 +75,7 @@ export default Capability.makeModule(
73
75
  OperationResolver.make({
74
76
  operation: AssistantOperation.UpdateChatName,
75
77
  handler: Effect.fnUntraced(function* ({ chat }) {
76
- const registry = yield* Capability.get(Common.Capability.AtomRegistry);
78
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
77
79
  const db = Obj.getDatabase(chat);
78
80
  const queue = chat.queue.target as Queue<Message.Message>;
79
81
  if (!db || !queue) {
@@ -99,7 +101,7 @@ export default Capability.makeModule(
99
101
  handler: Effect.fnUntraced(function* ({ companionTo, chat }) {
100
102
  const companionToId = Obj.getDXN(companionTo).toString();
101
103
  const chatId = chat && Obj.getDXN(chat).toString();
102
- yield* Common.Capability.updateAtomValue(AssistantCapabilities.State, (current) => ({
104
+ yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({
103
105
  ...current,
104
106
  currentChat: { ...current.currentChat, [companionToId]: chatId },
105
107
  }));
@@ -5,14 +5,16 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
  import React from 'react';
7
7
 
8
- import { Capability, Common } from '@dxos/app-framework';
9
- import { useSettingsState } from '@dxos/app-framework/react';
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { Surface, useSettingsState } from '@dxos/app-framework/ui';
10
+ import { AppCapabilities } from '@dxos/app-toolkit';
11
+ import { Chat, Initiative } from '@dxos/assistant-toolkit';
10
12
  import { Blueprint, Prompt } from '@dxos/blueprints';
11
13
  import { getSpace } from '@dxos/client/echo';
12
14
  import { Sequence } from '@dxos/conductor';
13
15
  import { InvocationTraceContainer } from '@dxos/devtools';
14
16
  import { Obj } from '@dxos/echo';
15
- import { Layout } from '@dxos/react-ui-mosaic';
17
+ import { Layout } from '@dxos/react-ui';
16
18
 
17
19
  import {
18
20
  AssistantSettings,
@@ -20,41 +22,50 @@ import {
20
22
  ChatCompanion,
21
23
  ChatContainer,
22
24
  ChatDialog,
25
+ InitiativeContainer,
23
26
  PromptArticle,
27
+ TriggerStatus,
24
28
  } from '../../components';
25
29
  import { ASSISTANT_DIALOG, meta } from '../../meta';
26
- import { Assistant } from '../../types';
30
+ import { type Assistant } from '../../types';
27
31
 
28
32
  export default Capability.makeModule(() =>
29
33
  Effect.succeed(
30
- Capability.contributes(Common.Capability.ReactSurface, [
31
- Common.createSurface({
34
+ Capability.contributes(Capabilities.ReactSurface, [
35
+ Surface.create({
32
36
  id: `${meta.id}/plugin-settings`,
33
37
  role: 'article',
34
- filter: (data): data is { subject: Common.Capability.Settings } =>
35
- Common.Capability.isSettings(data.subject) && data.subject.prefix === meta.id,
38
+ filter: (data): data is { subject: AppCapabilities.Settings } =>
39
+ AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
36
40
  component: ({ data: { subject } }) => {
37
41
  const { settings, updateSettings } = useSettingsState<Assistant.Settings>(subject.atom);
38
42
  return <AssistantSettings settings={settings} onSettingsChange={updateSettings} />;
39
43
  },
40
44
  }),
41
- Common.createSurface({
45
+ Surface.create({
42
46
  id: `${meta.id}/chat`,
43
47
  role: 'article',
44
- filter: (data): data is { subject: Assistant.Chat; variant: undefined } =>
45
- Obj.instanceOf(Assistant.Chat, data.subject) && data.variant !== 'assistant-chat',
48
+ filter: (data): data is { subject: Chat.Chat; variant: undefined } =>
49
+ Obj.instanceOf(Chat.Chat, data.subject) && data.variant !== 'assistant-chat',
46
50
  component: ({ data, role, ref }) => <ChatContainer role={role} subject={data.subject} ref={ref} />,
47
51
  }),
52
+ Surface.create({
53
+ id: `${meta.id}/initiative`,
54
+ role: 'article',
55
+ filter: (data): data is { subject: Initiative.Initiative } =>
56
+ Obj.instanceOf(Initiative.Initiative, data.subject),
57
+ component: ({ data, role }) => <InitiativeContainer role={role} subject={data.subject} />,
58
+ }),
48
59
  // TODO(wittjosiah): This is flashing when chat changes.
49
- Common.createSurface({
60
+ Surface.create({
50
61
  id: `${meta.id}/companion-chat`,
51
62
  role: 'article',
52
- filter: (data): data is { companionTo: Obj.Unknown; subject: Assistant.Chat | 'assistant-chat' } =>
63
+ filter: (data): data is { companionTo: Obj.Unknown; subject: Chat.Chat | 'assistant-chat' } =>
53
64
  Obj.isObject(data.companionTo) &&
54
- (Obj.instanceOf(Assistant.Chat, data.subject) || data.subject === 'assistant-chat'),
65
+ (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === 'assistant-chat'),
55
66
  component: ({ data, role, ref }) => <ChatCompanion role={role} data={data} ref={ref} />,
56
67
  }),
57
- Common.createSurface({
68
+ Surface.create({
58
69
  id: `${meta.id}/companion-invocations`,
59
70
  role: 'article',
60
71
  filter: (data): data is { companionTo: Sequence } =>
@@ -72,24 +83,29 @@ export default Capability.makeModule(() =>
72
83
  );
73
84
  },
74
85
  }),
75
- Common.createSurface({
86
+ Surface.create({
76
87
  id: `${meta.id}/blueprint`,
77
88
  role: 'article',
78
89
  filter: (data): data is { subject: Blueprint.Blueprint } => Obj.instanceOf(Blueprint.Blueprint, data.subject),
79
90
  component: ({ data }) => <BlueprintArticle subject={data.subject} />,
80
91
  }),
81
- Common.createSurface({
92
+ Surface.create({
82
93
  id: `${meta.id}/prompt`,
83
94
  role: 'article',
84
95
  filter: (data): data is { subject: Prompt.Prompt } => Obj.instanceOf(Prompt.Prompt, data.subject),
85
96
  component: ({ data }) => <PromptArticle subject={data.subject} />,
86
97
  }),
87
- Common.createSurface({
98
+ Surface.create({
88
99
  id: ASSISTANT_DIALOG,
89
100
  role: 'dialog',
90
- filter: (data): data is { props: { chat: Assistant.Chat } } => data.component === ASSISTANT_DIALOG,
101
+ filter: (data): data is { props: { chat: Chat.Chat } } => data.component === ASSISTANT_DIALOG,
91
102
  component: ({ data }) => <ChatDialog {...data.props} />,
92
103
  }),
104
+ Surface.create({
105
+ id: `${meta.id}/status`,
106
+ role: 'status',
107
+ component: () => <TriggerStatus />,
108
+ }),
93
109
  ]),
94
110
  ),
95
111
  );
@@ -5,14 +5,13 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capability } from '@dxos/app-framework';
8
+ import { Chat } from '@dxos/assistant-toolkit';
8
9
  import { Blueprint, Prompt } from '@dxos/blueprints';
9
10
  import { Obj, Ref, Type } from '@dxos/echo';
10
11
  import { SpaceCapabilities } from '@dxos/plugin-space';
11
12
  import { type Space } from '@dxos/react-client/echo';
12
13
  import { Collection } from '@dxos/schema';
13
14
 
14
- import { Assistant } from '../../types';
15
-
16
15
  export default Capability.makeModule(() =>
17
16
  Effect.succeed(
18
17
  Capability.contributes(SpaceCapabilities.Repair, async ({ space }) => {
@@ -32,10 +31,10 @@ const ensureSystemCollections = async (space: Space) => {
32
31
 
33
32
  const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
34
33
  const chats = objects.find(
35
- (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Assistant.Chat.typename,
34
+ (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Chat.Chat.typename,
36
35
  );
37
36
  if (!chats) {
38
- const chatsCollectionRef = Ref.make(Collection.makeManaged({ key: Assistant.Chat.typename }));
37
+ const chatsCollectionRef = Ref.make(Collection.makeManaged({ key: Chat.Chat.typename }));
39
38
  Obj.change(rootCollection, (c) => {
40
39
  c.objects.push(chatsCollectionRef);
41
40
  });
@@ -4,7 +4,8 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Capability, Common } from '@dxos/app-framework';
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
8
9
  import { createKvsStore } from '@dxos/effect';
9
10
 
10
11
  import { meta } from '../../meta';
@@ -20,7 +21,7 @@ export default Capability.makeModule(() =>
20
21
 
21
22
  return [
22
23
  Capability.contributes(AssistantCapabilities.Settings, settingsAtom),
23
- Capability.contributes(Common.Capability.Settings, {
24
+ Capability.contributes(AppCapabilities.Settings, {
24
25
  prefix: meta.id,
25
26
  schema: Assistant.Settings,
26
27
  atom: settingsAtom,
@@ -5,22 +5,23 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
  import * as Layer from 'effect/Layer';
7
7
 
8
- import { Capability, Common } from '@dxos/app-framework';
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
10
  import { GenericToolkit } from '@dxos/assistant';
10
11
  import { AssistantToolkit, SystemToolkit, WebSearchToolkit } from '@dxos/assistant-toolkit';
11
12
 
12
13
  export default Capability.makeModule(() =>
13
14
  Effect.succeed([
14
15
  Capability.contributes(
15
- Common.Capability.Toolkit,
16
+ AppCapabilities.Toolkit,
16
17
  GenericToolkit.make(AssistantToolkit.AssistantToolkit, AssistantToolkit.layer()),
17
18
  ),
18
19
 
19
20
  // TODO(burdon): How to manage dependencies across blueprints.
20
21
  Capability.contributes(
21
- Common.Capability.Toolkit,
22
+ AppCapabilities.Toolkit,
22
23
  GenericToolkit.make(SystemToolkit.SystemToolkit, SystemToolkit.layer()),
23
24
  ),
24
- Capability.contributes(Common.Capability.Toolkit, GenericToolkit.make(WebSearchToolkit, Layer.empty)),
25
+ Capability.contributes(AppCapabilities.Toolkit, GenericToolkit.make(WebSearchToolkit, Layer.empty)),
25
26
  ]),
26
27
  );
@@ -6,7 +6,7 @@ import React from 'react';
6
6
 
7
7
  import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';
8
8
  import { Input, Select, useTranslation } from '@dxos/react-ui';
9
- import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';
9
+ import { Settings } from '@dxos/react-ui-form';
10
10
 
11
11
  import { meta } from '../../meta';
12
12
  import { type Assistant, LLM_PROVIDERS } from '../../types';
@@ -29,17 +29,17 @@ export const AssistantSettings = ({ settings, onSettingsChange }: AssistantSetti
29
29
  const { t } = useTranslation(meta.id);
30
30
 
31
31
  return (
32
- <ControlPage>
33
- <ControlSection title={t('settings title', { ns: meta.id })}>
34
- <ControlGroup>
35
- <ControlItemInput title={t('settings custom prompts label')}>
32
+ <Settings.Root>
33
+ <Settings.Section title={t('settings title', { ns: meta.id })}>
34
+ <Settings.Group>
35
+ <Settings.ItemInput title={t('settings custom prompts label')}>
36
36
  <Input.Switch
37
37
  checked={!!settings.customPrompts}
38
38
  onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, customPrompts: checked }))}
39
39
  />
40
- </ControlItemInput>
40
+ </Settings.ItemInput>
41
41
 
42
- <ControlItemInput title={t('settings llm provider label')}>
42
+ <Settings.ItemInput title={t('settings llm provider label')}>
43
43
  <Select.Root
44
44
  value={settings.llmProvider ?? 'edge'}
45
45
  onValueChange={(value) => {
@@ -64,9 +64,9 @@ export const AssistantSettings = ({ settings, onSettingsChange }: AssistantSetti
64
64
  </Select.Content>
65
65
  </Select.Portal>
66
66
  </Select.Root>
67
- </ControlItemInput>
67
+ </Settings.ItemInput>
68
68
 
69
- <ControlItemInput title={t('settings edge llm model label')}>
69
+ <Settings.ItemInput title={t('settings edge llm model label')}>
70
70
  <Select.Root
71
71
  value={settings.edgeModel ?? DEFAULT_VALUE}
72
72
  onValueChange={(value) => {
@@ -88,9 +88,9 @@ export const AssistantSettings = ({ settings, onSettingsChange }: AssistantSetti
88
88
  </Select.Content>
89
89
  </Select.Portal>
90
90
  </Select.Root>
91
- </ControlItemInput>
91
+ </Settings.ItemInput>
92
92
 
93
- <ControlItemInput title={t('settings ollama llm model label')}>
93
+ <Settings.ItemInput title={t('settings ollama llm model label')}>
94
94
  <Select.Root
95
95
  value={settings.ollamaModel ?? DEFAULT_VALUE}
96
96
  onValueChange={(value) => {
@@ -112,9 +112,9 @@ export const AssistantSettings = ({ settings, onSettingsChange }: AssistantSetti
112
112
  </Select.Content>
113
113
  </Select.Portal>
114
114
  </Select.Root>
115
- </ControlItemInput>
116
- </ControlGroup>
117
- </ControlSection>
118
- </ControlPage>
115
+ </Settings.ItemInput>
116
+ </Settings.Group>
117
+ </Settings.Section>
118
+ </Settings.Root>
119
119
  );
120
120
  };
@@ -4,12 +4,11 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { type SurfaceComponentProps } from '@dxos/app-framework/react';
7
+ import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
8
8
  import { type Blueprint } from '@dxos/blueprints';
9
9
  import { Obj } from '@dxos/echo';
10
- import { Toolbar } from '@dxos/react-ui';
10
+ import { Layout, Toolbar } from '@dxos/react-ui';
11
11
  import { useAttention } from '@dxos/react-ui-attention';
12
- import { Layout } from '@dxos/react-ui-mosaic';
13
12
 
14
13
  import { TemplateEditor } from './TemplateEditor';
15
14