@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
@@ -1,25 +1,21 @@
1
1
  import {
2
2
  updateName
3
- } from "./chunk-ML3QCFKA.mjs";
3
+ } from "./chunk-JYY5AD65.mjs";
4
4
  import {
5
5
  AssistantCapabilities,
6
- AssistantOperation,
7
- Assistant_exports
8
- } from "./chunk-V772AMZM.mjs";
6
+ AssistantOperation
7
+ } from "./chunk-6BVCG5SJ.mjs";
9
8
  import "./chunk-EXVT7D4B.mjs";
10
9
  import {
11
- createBlueprint
12
- } from "./chunk-WGQTU6UJ.mjs";
13
- import {
14
- assistant_blueprint_exports
15
- } from "./chunk-MRJVYGLU.mjs";
10
+ blueprint_default
11
+ } from "./chunk-MEM7ET2A.mjs";
16
12
  import "./chunk-J5LGTIGS.mjs";
17
13
 
18
14
  // src/capabilities/operation-resolver/operation-resolver.ts
19
15
  import * as Effect from "effect/Effect";
20
- import { Capability, Common } from "@dxos/app-framework";
16
+ import { Capabilities, Capability } from "@dxos/app-framework";
21
17
  import { AiContextBinder, AiConversation } from "@dxos/assistant";
22
- import { Agent } from "@dxos/assistant-toolkit";
18
+ import { AgentFunctions, Chat } from "@dxos/assistant-toolkit";
23
19
  import { Blueprint, Prompt } from "@dxos/blueprints";
24
20
  import { Filter, Obj, Ref, Type } from "@dxos/echo";
25
21
  import { TracingService, serializeFunction } from "@dxos/functions";
@@ -30,12 +26,12 @@ import { ClientCapabilities } from "@dxos/plugin-client";
30
26
  import { Collection } from "@dxos/schema";
31
27
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/operation-resolver/operation-resolver.ts";
32
28
  var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* () {
33
- return Capability.contributes(Common.Capability.OperationResolver, [
29
+ return Capability.contributes(Capabilities.OperationResolver, [
34
30
  OperationResolver.make({
35
31
  operation: AssistantOperation.OnCreateSpace,
36
32
  handler: Effect.fnUntraced(function* ({ space, rootCollection }) {
37
33
  const chatCollection = Collection.makeManaged({
38
- key: Assistant_exports.Chat.typename
34
+ key: Chat.Chat.typename
39
35
  });
40
36
  const blueprintCollection = Collection.makeManaged({
41
37
  key: Blueprint.Blueprint.typename
@@ -46,7 +42,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
46
42
  Obj.change(rootCollection, (c) => {
47
43
  c.objects.push(Ref.make(chatCollection), Ref.make(blueprintCollection), Ref.make(promptCollection));
48
44
  });
49
- space.db.add(serializeFunction(Agent.prompt));
45
+ space.db.add(serializeFunction(AgentFunctions.Prompt));
50
46
  const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, {
51
47
  db: space.db
52
48
  });
@@ -55,8 +51,8 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
55
51
  }),
56
52
  OperationResolver.make({
57
53
  operation: AssistantOperation.CreateChat,
58
- handler: Effect.fnUntraced(function* ({ db, name }) {
59
- const registry = yield* Capability.get(Common.Capability.AtomRegistry);
54
+ handler: Effect.fnUntraced(function* ({ db, name, addToSpace = true }) {
55
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
60
56
  const client = yield* Capability.get(ClientCapabilities.Client);
61
57
  const space = client.spaces.get(db.spaceId);
62
58
  invariant(space, "Space not found", {
@@ -69,15 +65,17 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
69
65
  ]
70
66
  });
71
67
  const queue = space.queues.create();
72
- const chat = Assistant_exports.make({
68
+ const chat = Chat.make({
73
69
  name,
74
70
  queue: Ref.fromDXN(queue.dxn)
75
71
  });
76
- space.db.add(chat);
72
+ if (addToSpace) {
73
+ space.db.add(chat);
74
+ }
77
75
  const blueprints = yield* Effect.promise(() => db.query(Filter.type(Blueprint.Blueprint)).run());
78
- let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === assistant_blueprint_exports.Key);
76
+ let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === blueprint_default.key);
79
77
  if (!defaultBlueprint) {
80
- defaultBlueprint = db.add(createBlueprint());
78
+ defaultBlueprint = db.add(blueprint_default.make());
81
79
  }
82
80
  const binder = new AiContextBinder({
83
81
  queue,
@@ -96,7 +94,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
96
94
  OperationResolver.make({
97
95
  operation: AssistantOperation.UpdateChatName,
98
96
  handler: Effect.fnUntraced(function* ({ chat }) {
99
- const registry = yield* Capability.get(Common.Capability.AtomRegistry);
97
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
100
98
  const db = Obj.getDatabase(chat);
101
99
  const queue = chat.queue.target;
102
100
  if (!db || !queue) {
@@ -115,7 +113,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
115
113
  handler: Effect.fnUntraced(function* ({ companionTo, chat }) {
116
114
  const companionToId = Obj.getDXN(companionTo).toString();
117
115
  const chatId = chat && Obj.getDXN(chat).toString();
118
- yield* Common.Capability.updateAtomValue(AssistantCapabilities.State, (current) => ({
116
+ yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({
119
117
  ...current,
120
118
  currentChat: {
121
119
  ...current.currentChat,
@@ -129,4 +127,4 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
129
127
  export {
130
128
  operation_resolver_default as default
131
129
  };
132
- //# sourceMappingURL=operation-resolver-7XJLBRQY.mjs.map
130
+ //# sourceMappingURL=operation-resolver-MB7OQBPT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AiContextBinder, AiConversation } from '@dxos/assistant';\nimport { AgentFunctions, Chat } from '@dxos/assistant-toolkit';\nimport { Blueprint, Prompt } from '@dxos/blueprints';\nimport { type Queue } from '@dxos/client/echo';\nimport { Filter, Obj, Ref, Type } from '@dxos/echo';\nimport { TracingService, serializeFunction } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { Operation, OperationResolver } from '@dxos/operation';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Collection } from '@dxos/schema';\nimport { type Message } from '@dxos/types';\n\nimport { AssistantBlueprint } from '../../blueprints';\nimport { type AiChatServices, updateName } from '../../processor';\nimport { AssistantCapabilities, AssistantOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(Capabilities.OperationResolver, [\n OperationResolver.make({\n operation: AssistantOperation.OnCreateSpace,\n handler: Effect.fnUntraced(function* ({ space, rootCollection }) {\n const chatCollection = Collection.makeManaged({ key: Chat.Chat.typename });\n const blueprintCollection = Collection.makeManaged({ key: Blueprint.Blueprint.typename });\n const promptCollection = Collection.makeManaged({ key: Type.getTypename(Prompt.Prompt) });\n Obj.change(rootCollection, (c) => {\n c.objects.push(Ref.make(chatCollection), Ref.make(blueprintCollection), Ref.make(promptCollection));\n });\n\n // TODO(wittjosiah): Remove once function registry is avaiable.\n space.db.add(serializeFunction(AgentFunctions.Prompt));\n\n // Create default chat.\n const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, { db: space.db });\n space.db.add(chat);\n }),\n }),\n OperationResolver.make({\n operation: AssistantOperation.CreateChat,\n handler: Effect.fnUntraced(function* ({ db, name, addToSpace = true }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found');\n const queue = space.queues.create();\n const chat = Chat.make({ name, queue: Ref.fromDXN(queue.dxn) });\n if (addToSpace) {\n space.db.add(chat);\n }\n\n // TODO(wittjosiah): This should be a space-level setting.\n // TODO(burdon): Clone when activated. Copy-on-write for template.\n const blueprints = yield* Effect.promise(() => db.query(Filter.type(Blueprint.Blueprint)).run());\n let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === AssistantBlueprint.key);\n if (!defaultBlueprint) {\n defaultBlueprint = db.add(AssistantBlueprint.make());\n }\n\n const binder = new AiContextBinder({ queue, registry });\n yield* Effect.promise(() =>\n binder.use((b: AiContextBinder) => b.bind({ blueprints: [Ref.make(defaultBlueprint!)] })),\n );\n\n return { object: chat };\n }),\n }),\n OperationResolver.make({\n operation: AssistantOperation.UpdateChatName,\n handler: Effect.fnUntraced(function* ({ chat }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const db = Obj.getDatabase(chat);\n const queue = chat.queue.target as Queue<Message.Message>;\n if (!db || !queue) {\n return;\n }\n\n const runtimeResolver = yield* Capability.get(AutomationCapabilities.ComputeRuntime);\n const runtime = yield* Effect.promise(() =>\n runtimeResolver\n .getRuntime(db.spaceId)\n .runPromise(Effect.runtime<AiChatServices>().pipe(Effect.provide(TracingService.layerNoop))),\n );\n\n yield* Effect.promise(() =>\n new AiConversation({ queue, registry }).use(async (conversation) =>\n updateName(runtime, conversation, chat),\n ),\n );\n }),\n }),\n OperationResolver.make({\n operation: AssistantOperation.SetCurrentChat,\n handler: Effect.fnUntraced(function* ({ companionTo, chat }) {\n const companionToId = Obj.getDXN(companionTo).toString();\n const chatId = chat && Obj.getDXN(chat).toString();\n yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({\n ...current,\n currentChat: { ...current.currentChat, [companionToId]: chatId },\n }));\n }),\n }),\n ]);\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capabilities", "Capability", "AiContextBinder", "AiConversation", "AgentFunctions", "Chat", "Blueprint", "Prompt", "Filter", "Obj", "Ref", "Type", "TracingService", "serializeFunction", "invariant", "Operation", "OperationResolver", "AutomationCapabilities", "ClientCapabilities", "Collection", "Capability", "makeModule", "fnUntraced", "contributes", "Capabilities", "OperationResolver", "make", "operation", "AssistantOperation", "OnCreateSpace", "handler", "space", "rootCollection", "chatCollection", "Collection", "makeManaged", "key", "Chat", "typename", "blueprintCollection", "Blueprint", "promptCollection", "Type", "getTypename", "Prompt", "Obj", "change", "c", "objects", "push", "Ref", "db", "add", "serializeFunction", "AgentFunctions", "object", "chat", "Operation", "invoke", "CreateChat", "name", "addToSpace", "registry", "get", "AtomRegistry", "client", "ClientCapabilities", "Client", "spaces", "spaceId", "invariant", "queue", "queues", "create", "fromDXN", "dxn", "blueprints", "promise", "query", "Filter", "type", "run", "defaultBlueprint", "find", "blueprint", "AssistantBlueprint", "binder", "AiContextBinder", "use", "b", "bind", "UpdateChatName", "getDatabase", "target", "runtimeResolver", "AutomationCapabilities", "ComputeRuntime", "runtime", "getRuntime", "runPromise", "pipe", "provide", "TracingService", "layerNoop", "AiConversation", "conversation", "updateName", "SetCurrentChat", "companionTo", "companionToId", "getDXN", "toString", "chatId", "updateAtomValue", "AssistantCapabilities", "State", "current", "currentChat"]
7
+ }
@@ -4,13 +4,13 @@ import {
4
4
  ChatCompanion,
5
5
  ChatContainer,
6
6
  ChatDialog,
7
- PromptArticle
8
- } from "./chunk-A75V4MOQ.mjs";
9
- import "./chunk-ML3QCFKA.mjs";
7
+ InitiativeContainer,
8
+ PromptArticle,
9
+ TriggerStatus
10
+ } from "./chunk-THZPCE3E.mjs";
11
+ import "./chunk-JYY5AD65.mjs";
10
12
  import "./chunk-DKQMSMBN.mjs";
11
- import {
12
- Assistant_exports
13
- } from "./chunk-V772AMZM.mjs";
13
+ import "./chunk-6BVCG5SJ.mjs";
14
14
  import {
15
15
  ASSISTANT_DIALOG,
16
16
  meta
@@ -20,19 +20,21 @@ import "./chunk-J5LGTIGS.mjs";
20
20
  // src/capabilities/react-surface/react-surface.tsx
21
21
  import * as Effect from "effect/Effect";
22
22
  import React from "react";
23
- import { Capability, Common } from "@dxos/app-framework";
24
- import { useSettingsState } from "@dxos/app-framework/react";
23
+ import { Capabilities, Capability } from "@dxos/app-framework";
24
+ import { Surface, useSettingsState } from "@dxos/app-framework/ui";
25
+ import { AppCapabilities } from "@dxos/app-toolkit";
26
+ import { Chat, Initiative } from "@dxos/assistant-toolkit";
25
27
  import { Blueprint, Prompt } from "@dxos/blueprints";
26
28
  import { getSpace } from "@dxos/client/echo";
27
29
  import { Sequence } from "@dxos/conductor";
28
30
  import { InvocationTraceContainer } from "@dxos/devtools";
29
31
  import { Obj } from "@dxos/echo";
30
- import { Layout } from "@dxos/react-ui-mosaic";
31
- var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Common.Capability.ReactSurface, [
32
- Common.createSurface({
32
+ import { Layout } from "@dxos/react-ui";
33
+ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
34
+ Surface.create({
33
35
  id: `${meta.id}/plugin-settings`,
34
36
  role: "article",
35
- filter: (data) => Common.Capability.isSettings(data.subject) && data.subject.prefix === meta.id,
37
+ filter: (data) => AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
36
38
  component: ({ data: { subject } }) => {
37
39
  const { settings, updateSettings } = useSettingsState(subject.atom);
38
40
  return /* @__PURE__ */ React.createElement(AssistantSettings, {
@@ -41,28 +43,37 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
41
43
  });
42
44
  }
43
45
  }),
44
- Common.createSurface({
46
+ Surface.create({
45
47
  id: `${meta.id}/chat`,
46
48
  role: "article",
47
- filter: (data) => Obj.instanceOf(Assistant_exports.Chat, data.subject) && data.variant !== "assistant-chat",
49
+ filter: (data) => Obj.instanceOf(Chat.Chat, data.subject) && data.variant !== "assistant-chat",
48
50
  component: ({ data, role, ref }) => /* @__PURE__ */ React.createElement(ChatContainer, {
49
51
  role,
50
52
  subject: data.subject,
51
53
  ref
52
54
  })
53
55
  }),
56
+ Surface.create({
57
+ id: `${meta.id}/initiative`,
58
+ role: "article",
59
+ filter: (data) => Obj.instanceOf(Initiative.Initiative, data.subject),
60
+ component: ({ data, role }) => /* @__PURE__ */ React.createElement(InitiativeContainer, {
61
+ role,
62
+ subject: data.subject
63
+ })
64
+ }),
54
65
  // TODO(wittjosiah): This is flashing when chat changes.
55
- Common.createSurface({
66
+ Surface.create({
56
67
  id: `${meta.id}/companion-chat`,
57
68
  role: "article",
58
- filter: (data) => Obj.isObject(data.companionTo) && (Obj.instanceOf(Assistant_exports.Chat, data.subject) || data.subject === "assistant-chat"),
69
+ filter: (data) => Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === "assistant-chat"),
59
70
  component: ({ data, role, ref }) => /* @__PURE__ */ React.createElement(ChatCompanion, {
60
71
  role,
61
72
  data,
62
73
  ref
63
74
  })
64
75
  }),
65
- Common.createSurface({
76
+ Surface.create({
66
77
  id: `${meta.id}/companion-invocations`,
67
78
  role: "article",
68
79
  filter: (data) => (Obj.instanceOf(Sequence, data.companionTo) || Obj.instanceOf(Prompt.Prompt, data.companionTo)) && data.subject === "invocations",
@@ -80,7 +91,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
80
91
  }));
81
92
  }
82
93
  }),
83
- Common.createSurface({
94
+ Surface.create({
84
95
  id: `${meta.id}/blueprint`,
85
96
  role: "article",
86
97
  filter: (data) => Obj.instanceOf(Blueprint.Blueprint, data.subject),
@@ -88,7 +99,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
88
99
  subject: data.subject
89
100
  })
90
101
  }),
91
- Common.createSurface({
102
+ Surface.create({
92
103
  id: `${meta.id}/prompt`,
93
104
  role: "article",
94
105
  filter: (data) => Obj.instanceOf(Prompt.Prompt, data.subject),
@@ -96,14 +107,19 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
96
107
  subject: data.subject
97
108
  })
98
109
  }),
99
- Common.createSurface({
110
+ Surface.create({
100
111
  id: ASSISTANT_DIALOG,
101
112
  role: "dialog",
102
113
  filter: (data) => data.component === ASSISTANT_DIALOG,
103
114
  component: ({ data }) => /* @__PURE__ */ React.createElement(ChatDialog, data.props)
115
+ }),
116
+ Surface.create({
117
+ id: `${meta.id}/status`,
118
+ role: "status",
119
+ component: () => /* @__PURE__ */ React.createElement(TriggerStatus, null)
104
120
  })
105
121
  ])));
106
122
  export {
107
123
  react_surface_default as default
108
124
  };
109
- //# sourceMappingURL=react-surface-S7SBFOSW.mjs.map
125
+ //# sourceMappingURL=react-surface-UHDDX6N3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface, useSettingsState } from '@dxos/app-framework/ui';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Chat, Initiative } from '@dxos/assistant-toolkit';\nimport { Blueprint, Prompt } from '@dxos/blueprints';\nimport { getSpace } from '@dxos/client/echo';\nimport { Sequence } from '@dxos/conductor';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Obj } from '@dxos/echo';\nimport { Layout } from '@dxos/react-ui';\n\nimport {\n AssistantSettings,\n BlueprintArticle,\n ChatCompanion,\n ChatContainer,\n ChatDialog,\n InitiativeContainer,\n PromptArticle,\n TriggerStatus,\n} from '../../components';\nimport { ASSISTANT_DIALOG, meta } from '../../meta';\nimport { type Assistant } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: AppCapabilities.Settings } =>\n AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<Assistant.Settings>(subject.atom);\n return <AssistantSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Surface.create({\n id: `${meta.id}/chat`,\n role: 'article',\n filter: (data): data is { subject: Chat.Chat; variant: undefined } =>\n Obj.instanceOf(Chat.Chat, data.subject) && data.variant !== 'assistant-chat',\n component: ({ data, role, ref }) => <ChatContainer role={role} subject={data.subject} ref={ref} />,\n }),\n Surface.create({\n id: `${meta.id}/initiative`,\n role: 'article',\n filter: (data): data is { subject: Initiative.Initiative } =>\n Obj.instanceOf(Initiative.Initiative, data.subject),\n component: ({ data, role }) => <InitiativeContainer role={role} subject={data.subject} />,\n }),\n // TODO(wittjosiah): This is flashing when chat changes.\n Surface.create({\n id: `${meta.id}/companion-chat`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Unknown; subject: Chat.Chat | 'assistant-chat' } =>\n Obj.isObject(data.companionTo) &&\n (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === 'assistant-chat'),\n component: ({ data, role, ref }) => <ChatCompanion role={role} data={data} ref={ref} />,\n }),\n Surface.create({\n id: `${meta.id}/companion-invocations`,\n role: 'article',\n filter: (data): data is { companionTo: Sequence } =>\n (Obj.instanceOf(Sequence, data.companionTo) || Obj.instanceOf(Prompt.Prompt, data.companionTo)) &&\n data.subject === 'invocations',\n component: ({ data, role }) => {\n const space = getSpace(data.companionTo);\n const queueDxn = space?.properties.invocationTraceQueue?.dxn;\n // TODO(wittjosiah): Support invocation filtering for prompts.\n const target = Obj.instanceOf(Prompt.Prompt, data.companionTo) ? undefined : data.companionTo;\n return (\n <Layout.Main role={role}>\n <InvocationTraceContainer db={space?.db} queueDxn={queueDxn} target={target} detailAxis='block' />\n </Layout.Main>\n );\n },\n }),\n Surface.create({\n id: `${meta.id}/blueprint`,\n role: 'article',\n filter: (data): data is { subject: Blueprint.Blueprint } => Obj.instanceOf(Blueprint.Blueprint, data.subject),\n component: ({ data }) => <BlueprintArticle subject={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}/prompt`,\n role: 'article',\n filter: (data): data is { subject: Prompt.Prompt } => Obj.instanceOf(Prompt.Prompt, data.subject),\n component: ({ data }) => <PromptArticle subject={data.subject} />,\n }),\n Surface.create({\n id: ASSISTANT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: { chat: Chat.Chat } } => data.component === ASSISTANT_DIALOG,\n component: ({ data }) => <ChatDialog {...data.props} />,\n }),\n Surface.create({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <TriggerStatus />,\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "useSettingsState", "AppCapabilities", "Chat", "Initiative", "Blueprint", "Prompt", "getSpace", "Sequence", "InvocationTraceContainer", "Obj", "Layout", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "AppCapabilities", "isSettings", "subject", "prefix", "component", "settings", "updateSettings", "useSettingsState", "atom", "AssistantSettings", "onSettingsChange", "Obj", "instanceOf", "Chat", "variant", "ref", "ChatContainer", "Initiative", "InitiativeContainer", "isObject", "companionTo", "ChatCompanion", "Sequence", "Prompt", "space", "getSpace", "queueDxn", "properties", "invocationTraceQueue", "dxn", "target", "undefined", "Layout", "Main", "InvocationTraceContainer", "db", "detailAxis", "Blueprint", "BlueprintArticle", "PromptArticle", "ASSISTANT_DIALOG", "ChatDialog", "props", "TriggerStatus"]
7
+ }
@@ -1,12 +1,9 @@
1
- import {
2
- Assistant_exports
3
- } from "./chunk-V772AMZM.mjs";
4
- import "./chunk-EXVT7D4B.mjs";
5
1
  import "./chunk-J5LGTIGS.mjs";
6
2
 
7
3
  // src/capabilities/repair/repair.ts
8
4
  import * as Effect from "effect/Effect";
9
5
  import { Capability } from "@dxos/app-framework";
6
+ import { Chat } from "@dxos/assistant-toolkit";
10
7
  import { Blueprint, Prompt } from "@dxos/blueprints";
11
8
  import { Obj, Ref, Type } from "@dxos/echo";
12
9
  import { SpaceCapabilities } from "@dxos/plugin-space";
@@ -20,10 +17,10 @@ var ensureSystemCollections = async (space) => {
20
17
  return;
21
18
  }
22
19
  const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
23
- const chats = objects.find((object) => Obj.instanceOf(Collection.Managed, object) && object.key === Assistant_exports.Chat.typename);
20
+ const chats = objects.find((object) => Obj.instanceOf(Collection.Managed, object) && object.key === Chat.Chat.typename);
24
21
  if (!chats) {
25
22
  const chatsCollectionRef = Ref.make(Collection.makeManaged({
26
- key: Assistant_exports.Chat.typename
23
+ key: Chat.Chat.typename
27
24
  }));
28
25
  Obj.change(rootCollection, (c) => {
29
26
  c.objects.push(chatsCollectionRef);
@@ -51,4 +48,4 @@ var ensureSystemCollections = async (space) => {
51
48
  export {
52
49
  repair_default as default
53
50
  };
54
- //# sourceMappingURL=repair-6QGAKOVM.mjs.map
51
+ //# sourceMappingURL=repair-IRXDYF4R.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/repair/repair.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { Blueprint, Prompt } from '@dxos/blueprints';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.Repair, async ({ space }) => {\n await ensureSystemCollections(space);\n }),\n ),\n);\n\n/**\n * Ensure the root collection has system collections for AI Chats, Blueprints, and Prompts.\n */\nconst ensureSystemCollections = async (space: Space) => {\n const rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const chats = objects.find(\n (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Chat.Chat.typename,\n );\n if (!chats) {\n const chatsCollectionRef = Ref.make(Collection.makeManaged({ key: Chat.Chat.typename }));\n Obj.change(rootCollection, (c) => {\n c.objects.push(chatsCollectionRef);\n });\n }\n\n const blueprints = objects.find(\n (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Blueprint.Blueprint.typename,\n );\n if (!blueprints) {\n const blueprintsCollectionRef = Ref.make(Collection.makeManaged({ key: Blueprint.Blueprint.typename }));\n Obj.change(rootCollection, (c) => {\n c.objects.push(blueprintsCollectionRef);\n });\n }\n\n const prompts = objects.find(\n (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Type.getTypename(Prompt.Prompt),\n );\n if (!prompts) {\n const promptsCollectionRef = Ref.make(Collection.makeManaged({ key: Type.getTypename(Prompt.Prompt) }));\n Obj.change(rootCollection, (c) => {\n c.objects.push(promptsCollectionRef);\n });\n }\n};\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,WAAWC,cAAc;AAClC,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,yBAAyB;AAElC,SAASC,kBAAkB;AAE3B,IAAA,iBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,kBAAkBC,QAAQ,OAAO,EAAEC,MAAK,MAAE;AAC/D,QAAMC,wBAAwBD,KAAAA;AAChC,CAAA,CAAA,CAAA;AAOJ,IAAMC,0BAA0B,OAAOD,UAAAA;AACrC,QAAME,iBAAwC,MAAMF,MAAMG,WAAWC,WAAWA,WAAWC,QAAQ,GAAGC,KAAAA;AACtG,MAAI,CAACJ,gBAAgB;AACnB;EACF;AAEA,QAAMK,UAAU,MAAMC,QAAQC,IAAIP,eAAeK,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMM,QAAQL,QAAQM,KACpB,CAACC,WAAWC,IAAIC,WAAWZ,WAAWa,SAASH,MAAAA,KAAWA,OAAOI,QAAQC,KAAKA,KAAKd,QAAQ;AAE7F,MAAI,CAACO,OAAO;AACV,UAAMQ,qBAAqBC,IAAIC,KAAKlB,WAAWmB,YAAY;MAAEL,KAAKC,KAAKA,KAAKd;IAAS,CAAA,CAAA;AACrFU,QAAIS,OAAOtB,gBAAgB,CAACuB,MAAAA;AAC1BA,QAAElB,QAAQmB,KAAKN,kBAAAA;IACjB,CAAA;EACF;AAEA,QAAMO,aAAapB,QAAQM,KACzB,CAACC,WAAWC,IAAIC,WAAWZ,WAAWa,SAASH,MAAAA,KAAWA,OAAOI,QAAQU,UAAUA,UAAUvB,QAAQ;AAEvG,MAAI,CAACsB,YAAY;AACf,UAAME,0BAA0BR,IAAIC,KAAKlB,WAAWmB,YAAY;MAAEL,KAAKU,UAAUA,UAAUvB;IAAS,CAAA,CAAA;AACpGU,QAAIS,OAAOtB,gBAAgB,CAACuB,MAAAA;AAC1BA,QAAElB,QAAQmB,KAAKG,uBAAAA;IACjB,CAAA;EACF;AAEA,QAAMC,UAAUvB,QAAQM,KACtB,CAACC,WAAWC,IAAIC,WAAWZ,WAAWa,SAASH,MAAAA,KAAWA,OAAOI,QAAQa,KAAKC,YAAYC,OAAOA,MAAM,CAAA;AAEzG,MAAI,CAACH,SAAS;AACZ,UAAMI,uBAAuBb,IAAIC,KAAKlB,WAAWmB,YAAY;MAAEL,KAAKa,KAAKC,YAAYC,OAAOA,MAAM;IAAE,CAAA,CAAA;AACpGlB,QAAIS,OAAOtB,gBAAgB,CAACuB,MAAAA;AAC1BA,QAAElB,QAAQmB,KAAKQ,oBAAAA;IACjB,CAAA;EACF;AACF;",
6
+ "names": ["Effect", "Capability", "Chat", "Blueprint", "Prompt", "Obj", "Ref", "Type", "SpaceCapabilities", "Collection", "Capability", "makeModule", "succeed", "contributes", "SpaceCapabilities", "Repair", "space", "ensureSystemCollections", "rootCollection", "properties", "Collection", "typename", "load", "objects", "Promise", "all", "map", "ref", "chats", "find", "object", "Obj", "instanceOf", "Managed", "key", "Chat", "chatsCollectionRef", "Ref", "make", "makeManaged", "change", "c", "push", "blueprints", "Blueprint", "blueprintsCollectionRef", "prompts", "Type", "getTypename", "Prompt", "promptsCollectionRef"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AssistantCapabilities,
3
3
  Assistant_exports
4
- } from "./chunk-V772AMZM.mjs";
4
+ } from "./chunk-6BVCG5SJ.mjs";
5
5
  import {
6
6
  meta
7
7
  } from "./chunk-EXVT7D4B.mjs";
@@ -9,7 +9,8 @@ import "./chunk-J5LGTIGS.mjs";
9
9
 
10
10
  // src/capabilities/settings/settings.ts
11
11
  import * as Effect from "effect/Effect";
12
- import { Capability, Common } from "@dxos/app-framework";
12
+ import { Capability } from "@dxos/app-framework";
13
+ import { AppCapabilities } from "@dxos/app-toolkit";
13
14
  import { createKvsStore } from "@dxos/effect";
14
15
  var settings_default = Capability.makeModule(() => Effect.sync(() => {
15
16
  const settingsAtom = createKvsStore({
@@ -19,7 +20,7 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
19
20
  });
20
21
  return [
21
22
  Capability.contributes(AssistantCapabilities.Settings, settingsAtom),
22
- Capability.contributes(Common.Capability.Settings, {
23
+ Capability.contributes(AppCapabilities.Settings, {
23
24
  prefix: meta.id,
24
25
  schema: Assistant_exports.Settings,
25
26
  atom: settingsAtom
@@ -29,4 +30,4 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
29
30
  export {
30
31
  settings_default as default
31
32
  };
32
- //# sourceMappingURL=settings-4ZDLUMYE.mjs.map
33
+ //# sourceMappingURL=settings-XF6GKHCG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/settings/settings.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '../../meta';\nimport { Assistant, AssistantCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: Assistant.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(AssistantCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.id,\n schema: Assistant.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAK/B,IAAA,mBAAeC,WAAWC,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeC,eAAe;IAClCC,KAAKC,KAAKC;IACVC,QAAQC,kBAAUC;IAClBC,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLX,WAAWY,YAAYC,sBAAsBH,UAAUP,YAAAA;IACvDH,WAAWY,YAAYE,gBAAgBJ,UAAU;MAC/CK,QAAQT,KAAKC;MACbC,QAAQC,kBAAUC;MAClBM,MAAMb;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "Capability", "makeModule", "sync", "settingsAtom", "createKvsStore", "key", "meta", "id", "schema", "Assistant", "Settings", "defaultValue", "contributes", "AssistantCapabilities", "AppCapabilities", "prefix", "atom"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AssistantCapabilities
3
- } from "./chunk-V772AMZM.mjs";
3
+ } from "./chunk-6BVCG5SJ.mjs";
4
4
  import {
5
5
  meta
6
6
  } from "./chunk-EXVT7D4B.mjs";
@@ -23,4 +23,4 @@ var state_default = Capability.makeModule(() => Effect.sync(() => {
23
23
  export {
24
24
  state_default as default
25
25
  };
26
- //# sourceMappingURL=state-AN6336ZX.mjs.map
26
+ //# sourceMappingURL=state-OYDPWLKA.mjs.map
@@ -0,0 +1,19 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/toolkit/toolkit.ts
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import { Capability } from "@dxos/app-framework";
7
+ import { AppCapabilities } from "@dxos/app-toolkit";
8
+ import { GenericToolkit } from "@dxos/assistant";
9
+ import { AssistantToolkit, SystemToolkit, WebSearchToolkit } from "@dxos/assistant-toolkit";
10
+ var toolkit_default = Capability.makeModule(() => Effect.succeed([
11
+ Capability.contributes(AppCapabilities.Toolkit, GenericToolkit.make(AssistantToolkit.AssistantToolkit, AssistantToolkit.layer())),
12
+ // TODO(burdon): How to manage dependencies across blueprints.
13
+ Capability.contributes(AppCapabilities.Toolkit, GenericToolkit.make(SystemToolkit.SystemToolkit, SystemToolkit.layer())),
14
+ Capability.contributes(AppCapabilities.Toolkit, GenericToolkit.make(WebSearchToolkit, Layer.empty))
15
+ ]));
16
+ export {
17
+ toolkit_default as default
18
+ };
19
+ //# sourceMappingURL=toolkit-IDXQCSTX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/toolkit/toolkit.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { GenericToolkit } from '@dxos/assistant';\nimport { AssistantToolkit, SystemToolkit, WebSearchToolkit } from '@dxos/assistant-toolkit';\n\nexport default Capability.makeModule(() =>\n Effect.succeed([\n Capability.contributes(\n AppCapabilities.Toolkit,\n GenericToolkit.make(AssistantToolkit.AssistantToolkit, AssistantToolkit.layer()),\n ),\n\n // TODO(burdon): How to manage dependencies across blueprints.\n Capability.contributes(\n AppCapabilities.Toolkit,\n GenericToolkit.make(SystemToolkit.SystemToolkit, SystemToolkit.layer()),\n ),\n Capability.contributes(AppCapabilities.Toolkit, GenericToolkit.make(WebSearchToolkit, Layer.empty)),\n ]),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAC/B,SAASC,kBAAkBC,eAAeC,wBAAwB;AAElE,IAAA,kBAAeC,WAAWC,WAAW,MAC5BC,eAAQ;EACbF,WAAWG,YACTC,gBAAgBC,SAChBC,eAAeC,KAAKC,iBAAiBA,kBAAkBA,iBAAiBC,MAAK,CAAA,CAAA;;EAI/ET,WAAWG,YACTC,gBAAgBC,SAChBC,eAAeC,KAAKG,cAAcA,eAAeA,cAAcD,MAAK,CAAA,CAAA;EAEtET,WAAWG,YAAYC,gBAAgBC,SAASC,eAAeC,KAAKI,kBAAwBC,WAAK,CAAA;CAClG,CAAA;",
6
+ "names": ["Effect", "Layer", "Capability", "AppCapabilities", "GenericToolkit", "AssistantToolkit", "SystemToolkit", "WebSearchToolkit", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "Toolkit", "GenericToolkit", "make", "AssistantToolkit", "layer", "SystemToolkit", "WebSearchToolkit", "empty"]
7
+ }
@@ -7,7 +7,7 @@ import {
7
7
  LLM_PROVIDERS,
8
8
  ServiceType,
9
9
  categoryIcons
10
- } from "../chunk-V772AMZM.mjs";
10
+ } from "../chunk-6BVCG5SJ.mjs";
11
11
  import "../chunk-EXVT7D4B.mjs";
12
12
  import "../chunk-J5LGTIGS.mjs";
13
13
  export {
@@ -8,9 +8,8 @@ import "./chunk-HSLMI22Q.mjs";
8
8
  // src/components/BlueprintArticle.tsx
9
9
  import React from "react";
10
10
  import { Obj } from "@dxos/echo";
11
- import { Toolbar } from "@dxos/react-ui";
11
+ import { Layout, Toolbar } from "@dxos/react-ui";
12
12
  import { useAttention } from "@dxos/react-ui-attention";
13
- import { Layout } from "@dxos/react-ui-mosaic";
14
13
  var BlueprintArticle = ({ role, subject }) => {
15
14
  const { hasAttention } = useAttention(Obj.getDXN(subject).toString());
16
15
  return /* @__PURE__ */ React.createElement(Layout.Main, {
@@ -29,4 +28,4 @@ export {
29
28
  BlueprintArticle,
30
29
  BlueprintArticle_default as default
31
30
  };
32
- //# sourceMappingURL=BlueprintArticle-WZ76E2C4.mjs.map
31
+ //# sourceMappingURL=BlueprintArticle-7LI6UXKZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/BlueprintArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { type Blueprint } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { Layout, Toolbar } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TemplateEditor } from './TemplateEditor';\n\nexport type BlueprintArticleProps = SurfaceComponentProps<Blueprint.Blueprint>;\n\nexport const BlueprintArticle = ({ role, subject }: BlueprintArticleProps) => {\n const { hasAttention } = useAttention(Obj.getDXN(subject).toString());\n\n return (\n <Layout.Main role={role} toolbar>\n <Toolbar.Root disabled={!hasAttention} />\n <TemplateEditor id={subject.id} template={subject.instructions} classNames='container-max-width' />\n </Layout.Main>\n );\n};\n\nexport default BlueprintArticle;\n"],
5
+ "mappings": ";;;;;;;;AAIA,OAAOA,WAAW;AAIlB,SAASC,WAAW;AACpB,SAASC,QAAQC,eAAe;AAChC,SAASC,oBAAoB;AAMtB,IAAMC,mBAAmB,CAAC,EAAEC,MAAMC,QAAO,MAAyB;AACvE,QAAM,EAAEC,aAAY,IAAKC,aAAaC,IAAIC,OAAOJ,OAAAA,EAASK,SAAQ,CAAA;AAElE,SACE,sBAAA,cAACC,OAAOC,MAAI;IAACR;IAAYS,SAAAA;KACvB,sBAAA,cAACC,QAAQC,MAAI;IAACC,UAAU,CAACV;MACzB,sBAAA,cAACW,gBAAAA;IAAeC,IAAIb,QAAQa;IAAIC,UAAUd,QAAQe;IAAcC,YAAW;;AAGjF;AAEA,IAAA,2BAAelB;",
6
+ "names": ["React", "Obj", "Layout", "Toolbar", "useAttention", "BlueprintArticle", "role", "subject", "hasAttention", "useAttention", "Obj", "getDXN", "toString", "Layout", "Main", "toolbar", "Toolbar", "Root", "disabled", "TemplateEditor", "id", "template", "instructions", "classNames"]
7
+ }
@@ -3,13 +3,14 @@ import {
3
3
  ChatContainer,
4
4
  useBlueprintRegistry,
5
5
  useContextBinder
6
- } from "./chunk-4BERCIES.mjs";
7
- import "./chunk-ZRIPP7YF.mjs";
6
+ } from "./chunk-3DG7AJES.mjs";
7
+ import "./chunk-JMBYVUD6.mjs";
8
8
  import "./chunk-75PHXBN3.mjs";
9
9
  import {
10
+ AssistantCapabilities,
10
11
  AssistantOperation,
11
12
  Assistant_exports
12
- } from "./chunk-355W5B27.mjs";
13
+ } from "./chunk-LB72WG6R.mjs";
13
14
  import "./chunk-POWB2BPC.mjs";
14
15
  import "./chunk-HSLMI22Q.mjs";
15
16
 
@@ -17,12 +18,13 @@ import "./chunk-HSLMI22Q.mjs";
17
18
  import * as Array from "effect/Array";
18
19
  import * as Function from "effect/Function";
19
20
  import * as Option from "effect/Option";
20
- import React, { forwardRef, useCallback, useEffect, useMemo, useState } from "react";
21
- import { Common } from "@dxos/app-framework";
22
- import { useCapabilities, useOperationInvoker } from "@dxos/app-framework/react";
21
+ import React, { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
22
+ import { useAtomCapability, useCapabilities, useOperationInvoker } from "@dxos/app-framework/ui";
23
+ import { AppCapabilities } from "@dxos/app-toolkit";
24
+ import { Chat } from "@dxos/assistant-toolkit";
23
25
  import { Blueprint } from "@dxos/blueprints";
24
26
  import { getSpace } from "@dxos/client/echo";
25
- import { Filter, Obj, Ref } from "@dxos/echo";
27
+ import { DXN, Filter, Obj, Query, Ref } from "@dxos/echo";
26
28
  import { SpaceOperation } from "@dxos/plugin-space/types";
27
29
  import { useQuery } from "@dxos/react-client/echo";
28
30
  import { useAsyncEffect } from "@dxos/react-ui";
@@ -32,10 +34,38 @@ var ChatCompanion = /* @__PURE__ */ forwardRef(({ role, data }, forwardedRef) =>
32
34
  const companionTo = data.companionTo;
33
35
  const space = getSpace(companionTo);
34
36
  const [chat, setChat] = useState(data.subject === "assistant-chat" ? void 0 : data.subject);
37
+ const state = useAtomCapability(AssistantCapabilities.State);
38
+ const companionToId = Obj.getDXN(companionTo).toString();
39
+ const currentChatState = state?.currentChat[companionToId];
40
+ const initialSetupDoneRef = useRef(false);
41
+ const prevCompanionToIdRef = useRef(companionToId);
42
+ if (prevCompanionToIdRef.current !== companionToId) {
43
+ initialSetupDoneRef.current = false;
44
+ prevCompanionToIdRef.current = companionToId;
45
+ }
35
46
  useEffect(() => {
36
- setChat(data.subject === "assistant-chat" ? void 0 : data.subject);
47
+ if (!currentChatState && chat && getSpace(chat)) {
48
+ setChat(void 0);
49
+ } else if (data.subject !== "assistant-chat") {
50
+ setChat(data.subject);
51
+ } else if (currentChatState && space) {
52
+ const currentChatDxnStr = chat ? Obj.getDXN(chat).toString() : void 0;
53
+ if (currentChatState !== currentChatDxnStr) {
54
+ const parsedDxn = DXN.tryParse(currentChatState);
55
+ if (parsedDxn) {
56
+ const chatRef = space.db.makeRef(parsedDxn);
57
+ const resolvedChat = chatRef?.target;
58
+ if (Obj.instanceOf(Assistant_exports.Chat, resolvedChat)) {
59
+ setChat(resolvedChat);
60
+ }
61
+ }
62
+ }
63
+ }
37
64
  }, [
38
- data.subject
65
+ currentChatState,
66
+ data.subject,
67
+ space,
68
+ chat
39
69
  ]);
40
70
  const chatQueue = space && chat ? space.queues.get(chat.queue.dxn) : void 0;
41
71
  const binder = useContextBinder(chatQueue);
@@ -43,20 +73,35 @@ var ChatCompanion = /* @__PURE__ */ forwardRef(({ role, data }, forwardedRef) =>
43
73
  if (!space || chat) {
44
74
  return;
45
75
  }
46
- const { data: data2 } = await invokePromise(AssistantOperation.CreateChat, {
47
- db: space.db
76
+ if (!initialSetupDoneRef.current) {
77
+ const existingChats = await space.db.query(Query.select(Filter.id(companionTo.id)).targetOf(Chat.CompanionTo).source()).run();
78
+ initialSetupDoneRef.current = true;
79
+ if (existingChats.length > 0) {
80
+ const existingChat = existingChats.at(-1);
81
+ setChat(existingChat);
82
+ await invokePromise(AssistantOperation.SetCurrentChat, {
83
+ companionTo,
84
+ chat: existingChat
85
+ });
86
+ return;
87
+ }
88
+ }
89
+ const { data: createResult } = await invokePromise(AssistantOperation.CreateChat, {
90
+ db: space.db,
91
+ addToSpace: false
48
92
  });
49
- setChat(data2?.object);
93
+ setChat(createResult?.object);
50
94
  }, [
51
95
  chat,
52
- space
96
+ space,
97
+ companionTo,
98
+ invokePromise
53
99
  ]);
54
100
  const handleEvent = useCallback(async (event) => {
55
- const chatInSpace = !!getSpace(chat);
56
- if (chatInSpace || !chat || !space) {
101
+ if (!chat || !space) {
57
102
  return;
58
103
  }
59
- if (event.type === "submit") {
104
+ if (event.type === "submit" && !getSpace(chat)) {
60
105
  await invokePromise(SpaceOperation.AddObject, {
61
106
  object: chat,
62
107
  target: space.db,
@@ -64,7 +109,7 @@ var ChatCompanion = /* @__PURE__ */ forwardRef(({ role, data }, forwardedRef) =>
64
109
  });
65
110
  await invokePromise(SpaceOperation.AddRelation, {
66
111
  db: space.db,
67
- schema: Assistant_exports.CompanionTo,
112
+ schema: Chat.CompanionTo,
68
113
  source: chat,
69
114
  target: companionTo
70
115
  });
@@ -79,7 +124,7 @@ var ChatCompanion = /* @__PURE__ */ forwardRef(({ role, data }, forwardedRef) =>
79
124
  companionTo,
80
125
  invokePromise
81
126
  ]);
82
- const metadata = useCapabilities(Common.Capability.Metadata);
127
+ const metadata = useCapabilities(AppCapabilities.Metadata);
83
128
  const blueprintKeys = useMemo(() => Function.pipe(metadata, Array.findFirst((capability) => capability.id === Obj.getTypename(companionTo)), Option.flatMap((c) => Option.fromNullable(c.metadata.blueprints)), Option.getOrElse(() => [])), [
84
129
  metadata,
85
130
  companionTo
@@ -103,7 +148,9 @@ var ChatCompanion = /* @__PURE__ */ forwardRef(({ role, data }, forwardedRef) =>
103
148
  if (!blueprint) {
104
149
  continue;
105
150
  }
106
- space.db.add(Obj.clone(blueprint));
151
+ space.db.add(Obj.clone(blueprint, {
152
+ deep: true
153
+ }));
107
154
  }
108
155
  }, [
109
156
  space,
@@ -151,4 +198,4 @@ export {
151
198
  ChatCompanion,
152
199
  ChatCompanion_default as default
153
200
  };
154
- //# sourceMappingURL=ChatCompanion-UR7DXZ54.mjs.map
201
+ //# sourceMappingURL=ChatCompanion-XY3MAAKH.mjs.map