@dxos/plugin-assistant 0.8.4-main.3c1ae3b → 0.8.4-main.3eb6e50203

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 (481) hide show
  1. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs +30 -0
  2. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs.map +7 -0
  3. package/dist/lib/browser/ChatCompanion-CAKFZAWN.mjs +200 -0
  4. package/dist/lib/browser/ChatCompanion-CAKFZAWN.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-QB37VONJ.mjs +73 -0
  6. package/dist/lib/browser/ChatContainer-QB37VONJ.mjs.map +7 -0
  7. package/dist/lib/browser/ChatDialog-ASVBLOOS.mjs +85 -0
  8. package/dist/lib/browser/ChatDialog-ASVBLOOS.mjs.map +7 -0
  9. package/dist/lib/browser/InitiativeContainer-V522FCYH.mjs +266 -0
  10. package/dist/lib/browser/InitiativeContainer-V522FCYH.mjs.map +7 -0
  11. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs +52 -0
  12. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs.map +7 -0
  13. package/dist/lib/browser/ai-service-CY2BYPH6.mjs +22 -0
  14. package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
  15. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs +234 -0
  16. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs.map +7 -0
  17. package/dist/lib/browser/blueprint-definition-YAGWYVCL.mjs +14 -0
  18. package/dist/lib/browser/blueprints/index.mjs +12 -0
  19. package/dist/lib/browser/chunk-3ETBCBMH.mjs +47 -0
  20. package/dist/lib/browser/chunk-3ETBCBMH.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-6BVCG5SJ.mjs +230 -0
  22. package/dist/lib/browser/chunk-6BVCG5SJ.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-7ZJIXQ2Y.mjs → chunk-DKQMSMBN.mjs} +54 -63
  24. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-WBG5PTSX.mjs → chunk-EXVT7D4B.mjs} +1 -1
  26. package/dist/lib/browser/chunk-EXVT7D4B.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-F6YX2HHA.mjs → chunk-IJYAKPEU.mjs} +45 -21
  28. package/dist/lib/browser/chunk-IJYAKPEU.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-JA7PUZC7.mjs +1974 -0
  30. package/dist/lib/browser/chunk-JA7PUZC7.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-POPBT2AQ.mjs +198 -0
  32. package/dist/lib/browser/chunk-POPBT2AQ.mjs.map +7 -0
  33. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
  34. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  35. package/dist/lib/browser/index.mjs +205 -177
  36. package/dist/lib/browser/index.mjs.map +4 -4
  37. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
  38. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  39. package/dist/lib/browser/meta.json +1 -1
  40. package/dist/lib/browser/operation-resolver-2673CFJS.mjs +133 -0
  41. package/dist/lib/browser/operation-resolver-2673CFJS.mjs.map +7 -0
  42. package/dist/lib/browser/react-surface-T3FN4GVP.mjs +125 -0
  43. package/dist/lib/browser/react-surface-T3FN4GVP.mjs.map +7 -0
  44. package/dist/lib/browser/{repair-3MZXLUHO.mjs → repair-IRXDYF4R.mjs} +24 -17
  45. package/dist/lib/browser/repair-IRXDYF4R.mjs.map +7 -0
  46. package/dist/lib/browser/settings-XF6GKHCG.mjs +33 -0
  47. package/dist/lib/browser/settings-XF6GKHCG.mjs.map +7 -0
  48. package/dist/lib/browser/state-OYDPWLKA.mjs +26 -0
  49. package/dist/lib/browser/state-OYDPWLKA.mjs.map +7 -0
  50. package/dist/lib/browser/toolkit-IDXQCSTX.mjs +19 -0
  51. package/dist/lib/browser/toolkit-IDXQCSTX.mjs.map +7 -0
  52. package/dist/lib/browser/types/index.mjs +8 -4
  53. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs +31 -0
  54. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs.map +7 -0
  55. package/dist/lib/node-esm/ChatCompanion-W4PGOCGR.mjs +201 -0
  56. package/dist/lib/node-esm/ChatCompanion-W4PGOCGR.mjs.map +7 -0
  57. package/dist/lib/node-esm/ChatContainer-ECFQVH6O.mjs +74 -0
  58. package/dist/lib/node-esm/ChatContainer-ECFQVH6O.mjs.map +7 -0
  59. package/dist/lib/node-esm/ChatDialog-AFLPYSIU.mjs +86 -0
  60. package/dist/lib/node-esm/ChatDialog-AFLPYSIU.mjs.map +7 -0
  61. package/dist/lib/node-esm/InitiativeContainer-U4LGO3BW.mjs +267 -0
  62. package/dist/lib/node-esm/InitiativeContainer-U4LGO3BW.mjs.map +7 -0
  63. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs +53 -0
  64. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs.map +7 -0
  65. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
  66. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  67. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs +235 -0
  68. package/dist/lib/node-esm/app-graph-builder-4QN5M6PD.mjs.map +7 -0
  69. package/dist/lib/node-esm/{blueprint-definition-S3DNWJFV.mjs → blueprint-definition-H3LFAEK2.mjs} +6 -4
  70. package/dist/lib/node-esm/blueprint-definition-H3LFAEK2.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprints/index.mjs +13 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs +48 -0
  74. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-3XC7LQSO.mjs +1975 -0
  76. package/dist/lib/node-esm/chunk-3XC7LQSO.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-CKW4IYLY.mjs → chunk-75PHXBN3.mjs} +54 -63
  78. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs +199 -0
  80. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-LB72WG6R.mjs +231 -0
  82. package/dist/lib/node-esm/chunk-LB72WG6R.mjs.map +7 -0
  83. package/dist/lib/node-esm/{chunk-GWKWQSEQ.mjs → chunk-MJD5XWQV.mjs} +45 -21
  84. package/dist/lib/node-esm/chunk-MJD5XWQV.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-WE6KTH72.mjs → chunk-POWB2BPC.mjs} +1 -1
  86. package/dist/lib/node-esm/chunk-POWB2BPC.mjs.map +7 -0
  87. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
  88. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  89. package/dist/lib/node-esm/index.mjs +205 -177
  90. package/dist/lib/node-esm/index.mjs.map +4 -4
  91. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
  92. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  93. package/dist/lib/node-esm/meta.json +1 -1
  94. package/dist/lib/node-esm/operation-resolver-2ZD2DXOU.mjs +134 -0
  95. package/dist/lib/node-esm/operation-resolver-2ZD2DXOU.mjs.map +7 -0
  96. package/dist/lib/node-esm/{react-surface-AOBQALOV.mjs → react-surface-T4VMCCKZ.mjs} +57 -32
  97. package/dist/lib/node-esm/react-surface-T4VMCCKZ.mjs.map +7 -0
  98. package/dist/lib/node-esm/{repair-RER5H7Y6.mjs → repair-DMI55PON.mjs} +24 -17
  99. package/dist/lib/node-esm/repair-DMI55PON.mjs.map +7 -0
  100. package/dist/lib/node-esm/settings-NGGZA7S7.mjs +34 -0
  101. package/dist/lib/node-esm/settings-NGGZA7S7.mjs.map +7 -0
  102. package/dist/lib/node-esm/state-VSCPGN7R.mjs +27 -0
  103. package/dist/lib/node-esm/state-VSCPGN7R.mjs.map +7 -0
  104. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs +20 -0
  105. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs.map +7 -0
  106. package/dist/lib/node-esm/types/index.mjs +8 -4
  107. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  108. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  109. package/dist/types/src/blueprints/assistant-blueprint.d.ts +11 -0
  110. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/index.d.ts +7 -0
  112. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +6 -0
  114. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
  116. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  118. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  120. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +26 -0
  122. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +4 -0
  124. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
  126. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
  128. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/index.d.ts +10 -12
  130. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  131. package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
  132. package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
  134. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  136. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  138. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  140. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  142. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  144. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  146. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/settings/index.d.ts +15 -0
  148. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
  150. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/state/index.d.ts +11 -0
  152. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/state/state.d.ts +13 -0
  154. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
  156. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
  158. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
  159. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -2
  160. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  161. package/dist/types/src/components/BlueprintArticle.d.ts +2 -2
  162. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -1
  163. package/dist/types/src/components/Chat/Chat.d.ts +13 -11
  164. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  165. package/dist/types/src/components/Chat/events.d.ts +1 -1
  166. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  167. package/dist/types/src/components/ChatCompanion.d.ts +3 -3
  168. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  169. package/dist/types/src/components/ChatContainer.d.ts +8 -8
  170. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  171. package/dist/types/src/components/ChatDialog.d.ts +2 -2
  172. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  173. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +2 -2
  174. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  175. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  176. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
  177. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  178. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
  179. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  180. package/dist/types/src/components/ChatThread/ChatThread.d.ts +2 -2
  181. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  182. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +116 -2
  183. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
  185. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  186. package/dist/types/src/components/ChatThread/sync.d.ts +1 -1
  187. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  188. package/dist/types/src/components/InitiativeContainer.d.ts +9 -0
  189. package/dist/types/src/components/InitiativeContainer.d.ts.map +1 -0
  190. package/dist/types/src/components/PromptArticle.d.ts +2 -2
  191. package/dist/types/src/components/PromptArticle.d.ts.map +1 -1
  192. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  193. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +114 -0
  194. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  195. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +11 -1
  196. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  197. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +115 -1
  198. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  199. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
  200. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +3 -3
  201. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  202. package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -5
  203. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  204. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +114 -0
  205. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  206. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts +4 -0
  207. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  208. package/dist/types/src/components/TriggerStatus/index.d.ts +2 -0
  209. package/dist/types/src/components/TriggerStatus/index.d.ts.map +1 -0
  210. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  211. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  212. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  213. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  214. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  215. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  216. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  217. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  218. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  219. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  220. package/dist/types/src/components/index.d.ts +10 -10
  221. package/dist/types/src/components/index.d.ts.map +1 -1
  222. package/dist/types/src/functions/index.d.ts +1 -1
  223. package/dist/types/src/functions/index.d.ts.map +1 -1
  224. package/dist/types/src/functions/object-list.d.ts +1 -1
  225. package/dist/types/src/functions/object-load.d.ts +1 -1
  226. package/dist/types/src/functions/object-load.d.ts.map +1 -1
  227. package/dist/types/src/functions/object-search.d.ts +10 -0
  228. package/dist/types/src/functions/object-search.d.ts.map +1 -0
  229. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -5
  230. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  231. package/dist/types/src/hooks/useChatProcessor.d.ts +2 -1
  232. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  233. package/dist/types/src/hooks/useChatServices.d.ts +5 -5
  234. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  235. package/dist/types/src/hooks/useChatToolbarActions.d.ts +3 -3
  236. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  237. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  238. package/dist/types/src/hooks/useContextObjects.d.ts +7 -7
  239. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
  240. package/dist/types/src/hooks/useFilteredTypes.d.ts +2 -3
  241. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  242. package/dist/types/src/index.d.ts +0 -1
  243. package/dist/types/src/index.d.ts.map +1 -1
  244. package/dist/types/src/meta.d.ts +2 -2
  245. package/dist/types/src/meta.d.ts.map +1 -1
  246. package/dist/types/src/processor/processor.d.ts +13 -9
  247. package/dist/types/src/processor/processor.d.ts.map +1 -1
  248. package/dist/types/src/processor/update-name.d.ts +2 -2
  249. package/dist/types/src/processor/update-name.d.ts.map +1 -1
  250. package/dist/types/src/queue-logger.d.ts.map +1 -1
  251. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  252. package/dist/types/src/translations.d.ts +114 -0
  253. package/dist/types/src/translations.d.ts.map +1 -1
  254. package/dist/types/src/types/Assistant.d.ts +7 -32
  255. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  256. package/dist/types/src/types/AssistantAction.d.ts +90 -122
  257. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  258. package/dist/types/src/types/capabilities.d.ts +33 -0
  259. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  260. package/dist/types/src/types/events.d.ts +5 -0
  261. package/dist/types/src/types/events.d.ts.map +1 -0
  262. package/dist/types/src/types/index.d.ts +4 -1
  263. package/dist/types/src/types/index.d.ts.map +1 -1
  264. package/dist/types/src/types/service.d.ts +11 -260
  265. package/dist/types/src/types/service.d.ts.map +1 -1
  266. package/dist/types/tsconfig.tsbuildinfo +1 -1
  267. package/package.json +116 -93
  268. package/src/AssistantPlugin.tsx +104 -99
  269. package/src/blueprints/assistant-blueprint.ts +57 -0
  270. package/src/blueprints/index.ts +12 -0
  271. package/src/capabilities/ai-service/ai-service.ts +30 -0
  272. package/src/capabilities/ai-service/index.ts +7 -0
  273. package/src/capabilities/app-graph-builder/app-graph-builder.ts +200 -0
  274. package/src/capabilities/app-graph-builder/index.ts +7 -0
  275. package/src/capabilities/blueprint-definition/blueprint-definition.ts +74 -0
  276. package/src/capabilities/blueprint-definition/index.ts +8 -0
  277. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
  278. package/src/capabilities/edge-model-resolver/index.ts +7 -0
  279. package/src/capabilities/index.ts +10 -15
  280. package/src/capabilities/local-model-resolver/index.ts +7 -0
  281. package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
  282. package/src/capabilities/operation-resolver/index.ts +7 -0
  283. package/src/capabilities/operation-resolver/operation-resolver.ts +112 -0
  284. package/src/capabilities/react-surface/index.ts +7 -0
  285. package/src/capabilities/react-surface/react-surface.tsx +111 -0
  286. package/src/capabilities/repair/index.ts +7 -0
  287. package/src/capabilities/{repair.ts → repair/repair.ts} +24 -11
  288. package/src/capabilities/settings/index.ts +7 -0
  289. package/src/capabilities/settings/settings.ts +31 -0
  290. package/src/capabilities/state/index.ts +7 -0
  291. package/src/capabilities/state/state.ts +27 -0
  292. package/src/capabilities/toolkit/index.ts +7 -0
  293. package/src/capabilities/toolkit/toolkit.ts +27 -0
  294. package/src/components/AssistantSettings/AssistantSettings.tsx +28 -20
  295. package/src/components/BlueprintArticle.tsx +5 -6
  296. package/src/components/Chat/Chat.tsx +104 -77
  297. package/src/components/Chat/events.ts +1 -1
  298. package/src/components/ChatCompanion.tsx +103 -43
  299. package/src/components/ChatContainer.tsx +30 -24
  300. package/src/components/ChatDialog.tsx +8 -8
  301. package/src/components/ChatProgress/ChatProgress.tsx +5 -19
  302. package/src/components/ChatPrompt/ChatActions.tsx +9 -1
  303. package/src/components/ChatPrompt/ChatOptions.tsx +62 -58
  304. package/src/components/ChatPrompt/ChatReferences.tsx +5 -6
  305. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
  306. package/src/components/ChatThread/ChatThread.stories.tsx +9 -8
  307. package/src/components/ChatThread/ChatThread.tsx +14 -5
  308. package/src/components/ChatThread/Link.tsx +3 -3
  309. package/src/components/ChatThread/registry.tsx +1 -1
  310. package/src/components/ChatThread/sync.test.ts +13 -5
  311. package/src/components/ChatThread/sync.ts +8 -2
  312. package/src/components/InitiativeContainer.tsx +340 -0
  313. package/src/components/PromptArticle.tsx +9 -11
  314. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +3 -3
  315. package/src/components/TemplateEditor/TemplateEditor.tsx +7 -4
  316. package/src/components/TemplateEditor/TemplateForm.stories.tsx +15 -7
  317. package/src/components/TemplateEditor/TemplateForm.tsx +75 -28
  318. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +10 -5
  319. package/src/components/ToolBlock/ToolBlock.tsx +6 -6
  320. package/src/components/Toolbox/Toolbox.stories.tsx +10 -11
  321. package/src/components/Toolbox/Toolbox.tsx +50 -52
  322. package/src/components/TriggerStatus/TriggerStatus.tsx +142 -0
  323. package/src/components/TriggerStatus/index.ts +5 -0
  324. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  325. package/src/components/Typewriter/Typewriter.stories.tsx +83 -0
  326. package/src/components/Typewriter/Typewriter.tsx +54 -0
  327. package/src/components/Typewriter/assistant-extension.tsx +144 -0
  328. package/src/components/Typewriter/index.ts +5 -0
  329. package/src/components/index.ts +11 -2
  330. package/src/functions/index.ts +1 -1
  331. package/src/functions/object-list.ts +2 -2
  332. package/src/functions/object-load.ts +9 -11
  333. package/src/functions/object-search.ts +46 -0
  334. package/src/hooks/useBlueprintRegistry.ts +31 -21
  335. package/src/hooks/useChatProcessor.ts +7 -3
  336. package/src/hooks/useChatServices.ts +14 -18
  337. package/src/hooks/useChatToolbarActions.ts +27 -27
  338. package/src/hooks/useContextBinder.ts +4 -2
  339. package/src/hooks/useContextObjects.ts +13 -25
  340. package/src/hooks/useFilteredTypes.ts +6 -7
  341. package/src/hooks/useReferencesProvider.ts +4 -4
  342. package/src/index.ts +0 -1
  343. package/src/meta.ts +2 -2
  344. package/src/processor/processor.test.ts +8 -8
  345. package/src/processor/processor.ts +49 -25
  346. package/src/processor/update-name.ts +6 -4
  347. package/src/queue-logger.ts +4 -1
  348. package/src/testing/test-services.ts +8 -6
  349. package/src/translations.ts +23 -2
  350. package/src/types/Assistant.ts +4 -39
  351. package/src/types/AssistantAction.ts +61 -64
  352. package/src/types/capabilities.ts +27 -0
  353. package/src/types/events.ts +11 -0
  354. package/src/types/index.ts +6 -1
  355. package/src/types/service.ts +10 -7
  356. package/dist/lib/browser/BlueprintArticle-BWSLH6LG.mjs +0 -36
  357. package/dist/lib/browser/BlueprintArticle-BWSLH6LG.mjs.map +0 -7
  358. package/dist/lib/browser/ChatCompanion-U7VMDYO6.mjs +0 -159
  359. package/dist/lib/browser/ChatCompanion-U7VMDYO6.mjs.map +0 -7
  360. package/dist/lib/browser/ChatContainer-JXDZQ2EY.mjs +0 -79
  361. package/dist/lib/browser/ChatContainer-JXDZQ2EY.mjs.map +0 -7
  362. package/dist/lib/browser/ChatDialog-5NNGCRKJ.mjs +0 -90
  363. package/dist/lib/browser/ChatDialog-5NNGCRKJ.mjs.map +0 -7
  364. package/dist/lib/browser/PromptArticle-Q7JYGFQV.mjs +0 -59
  365. package/dist/lib/browser/PromptArticle-Q7JYGFQV.mjs.map +0 -7
  366. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
  367. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
  368. package/dist/lib/browser/app-graph-builder-ADZRPJ3V.mjs +0 -199
  369. package/dist/lib/browser/app-graph-builder-ADZRPJ3V.mjs.map +0 -7
  370. package/dist/lib/browser/blueprint-definition-7HPQPCL7.mjs +0 -12
  371. package/dist/lib/browser/chunk-5JZRYQZL.mjs +0 -229
  372. package/dist/lib/browser/chunk-5JZRYQZL.mjs.map +0 -7
  373. package/dist/lib/browser/chunk-7ZJIXQ2Y.mjs.map +0 -7
  374. package/dist/lib/browser/chunk-F6YX2HHA.mjs.map +0 -7
  375. package/dist/lib/browser/chunk-LRE4VEZV.mjs +0 -16
  376. package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +0 -7
  377. package/dist/lib/browser/chunk-SWEOO227.mjs +0 -1930
  378. package/dist/lib/browser/chunk-SWEOO227.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-YDSFERCV.mjs +0 -178
  381. package/dist/lib/browser/chunk-YDSFERCV.mjs.map +0 -7
  382. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
  383. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
  384. package/dist/lib/browser/intent-resolver-Q7TX3MV7.mjs +0 -143
  385. package/dist/lib/browser/intent-resolver-Q7TX3MV7.mjs.map +0 -7
  386. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +0 -17
  387. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +0 -7
  388. package/dist/lib/browser/react-surface-VXXS6ZVC.mjs +0 -100
  389. package/dist/lib/browser/react-surface-VXXS6ZVC.mjs.map +0 -7
  390. package/dist/lib/browser/repair-3MZXLUHO.mjs.map +0 -7
  391. package/dist/lib/browser/settings-HD5WA24I.mjs +0 -23
  392. package/dist/lib/browser/settings-HD5WA24I.mjs.map +0 -7
  393. package/dist/lib/browser/state-GG7Z3NB7.mjs +0 -25
  394. package/dist/lib/browser/state-GG7Z3NB7.mjs.map +0 -7
  395. package/dist/lib/browser/toolkit-VYDAWNE4.mjs +0 -17
  396. package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +0 -7
  397. package/dist/lib/node-esm/BlueprintArticle-R2XYBRCK.mjs +0 -37
  398. package/dist/lib/node-esm/BlueprintArticle-R2XYBRCK.mjs.map +0 -7
  399. package/dist/lib/node-esm/ChatCompanion-O4T7PMMC.mjs +0 -160
  400. package/dist/lib/node-esm/ChatCompanion-O4T7PMMC.mjs.map +0 -7
  401. package/dist/lib/node-esm/ChatContainer-OWAZI6ZF.mjs +0 -80
  402. package/dist/lib/node-esm/ChatContainer-OWAZI6ZF.mjs.map +0 -7
  403. package/dist/lib/node-esm/ChatDialog-IBXH5FRI.mjs +0 -91
  404. package/dist/lib/node-esm/ChatDialog-IBXH5FRI.mjs.map +0 -7
  405. package/dist/lib/node-esm/PromptArticle-IV7O5UZ3.mjs +0 -60
  406. package/dist/lib/node-esm/PromptArticle-IV7O5UZ3.mjs.map +0 -7
  407. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
  408. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
  409. package/dist/lib/node-esm/app-graph-builder-26KXQ5ZY.mjs +0 -200
  410. package/dist/lib/node-esm/app-graph-builder-26KXQ5ZY.mjs.map +0 -7
  411. package/dist/lib/node-esm/chunk-CKW4IYLY.mjs.map +0 -7
  412. package/dist/lib/node-esm/chunk-E4JSYCWZ.mjs +0 -230
  413. package/dist/lib/node-esm/chunk-E4JSYCWZ.mjs.map +0 -7
  414. package/dist/lib/node-esm/chunk-GWKWQSEQ.mjs.map +0 -7
  415. package/dist/lib/node-esm/chunk-VGSP5WMV.mjs +0 -180
  416. package/dist/lib/node-esm/chunk-VGSP5WMV.mjs.map +0 -7
  417. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
  418. package/dist/lib/node-esm/chunk-YWFWT57N.mjs +0 -17
  419. package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +0 -7
  420. package/dist/lib/node-esm/chunk-ZNSHGWE4.mjs +0 -1931
  421. package/dist/lib/node-esm/chunk-ZNSHGWE4.mjs.map +0 -7
  422. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
  423. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
  424. package/dist/lib/node-esm/intent-resolver-LTKMN3YB.mjs +0 -144
  425. package/dist/lib/node-esm/intent-resolver-LTKMN3YB.mjs.map +0 -7
  426. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +0 -18
  427. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +0 -7
  428. package/dist/lib/node-esm/react-surface-AOBQALOV.mjs.map +0 -7
  429. package/dist/lib/node-esm/repair-RER5H7Y6.mjs.map +0 -7
  430. package/dist/lib/node-esm/settings-YJQVKHH5.mjs +0 -24
  431. package/dist/lib/node-esm/settings-YJQVKHH5.mjs.map +0 -7
  432. package/dist/lib/node-esm/state-FSUHFMDM.mjs +0 -26
  433. package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +0 -7
  434. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +0 -18
  435. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +0 -7
  436. package/dist/types/src/capabilities/ai-service.d.ts +0 -4
  437. package/dist/types/src/capabilities/ai-service.d.ts.map +0 -1
  438. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  439. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  440. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
  441. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  442. package/dist/types/src/capabilities/capabilities.d.ts +0 -10
  443. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  444. package/dist/types/src/capabilities/edge-model-resolver.d.ts +0 -4
  445. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +0 -1
  446. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  447. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  448. package/dist/types/src/capabilities/local-model-resolver.d.ts +0 -10
  449. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +0 -1
  450. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  451. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  452. package/dist/types/src/capabilities/repair.d.ts +0 -4
  453. package/dist/types/src/capabilities/repair.d.ts.map +0 -1
  454. package/dist/types/src/capabilities/settings.d.ts +0 -4
  455. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  456. package/dist/types/src/capabilities/state.d.ts +0 -4
  457. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  458. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  459. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  460. package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
  461. package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
  462. package/dist/types/src/events.d.ts +0 -4
  463. package/dist/types/src/events.d.ts.map +0 -1
  464. package/dist/types/src/functions/analysis.d.ts +0 -5
  465. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  466. package/src/capabilities/ai-service.ts +0 -27
  467. package/src/capabilities/app-graph-builder.ts +0 -208
  468. package/src/capabilities/blueprint-definition.ts +0 -66
  469. package/src/capabilities/capabilities.ts +0 -17
  470. package/src/capabilities/edge-model-resolver.ts +0 -25
  471. package/src/capabilities/intent-resolver.ts +0 -135
  472. package/src/capabilities/local-model-resolver.ts +0 -30
  473. package/src/capabilities/react-surface.tsx +0 -87
  474. package/src/capabilities/settings.ts +0 -19
  475. package/src/capabilities/state.ts +0 -22
  476. package/src/capabilities/toolkit.ts +0 -17
  477. package/src/components/ChatThread/reducers.ts +0 -151
  478. package/src/events.ts +0 -11
  479. package/src/functions/analysis.ts +0 -22
  480. /package/dist/lib/browser/{blueprint-definition-7HPQPCL7.mjs.map → blueprint-definition-YAGWYVCL.mjs.map} +0 -0
  481. /package/dist/lib/{node-esm/blueprint-definition-S3DNWJFV.mjs.map → browser/blueprints/index.mjs.map} +0 -0
@@ -1,25 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as AnthropicClient from '@effect/ai-anthropic/AnthropicClient';
6
- import * as FetchHttpClient from '@effect/platform/FetchHttpClient';
7
- import * as Layer from 'effect/Layer';
8
-
9
- import * as AiServiceRouter from '@dxos/ai/AiServiceRouter';
10
- import { Capabilities, type Capability, contributes } from '@dxos/app-framework';
11
-
12
- export default (): Capability<any>[] => [
13
- contributes(
14
- Capabilities.AiModelResolver,
15
- AiServiceRouter.AnthropicResolver.pipe(
16
- Layer.provide(
17
- AnthropicClient.layer({
18
- // TODO(dmaretskyi): Read endpoint from config/settings.
19
- apiUrl: 'https://ai-service.dxos.workers.dev/provider/anthropic',
20
- }),
21
- ),
22
- Layer.provide(FetchHttpClient.layer),
23
- ),
24
- ),
25
- ];
@@ -1,135 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capabilities, type PluginContext, contributes, createIntent, createResolver } from '@dxos/app-framework';
8
- import { AiContextBinder, AiConversation } from '@dxos/assistant';
9
- import { Agent } from '@dxos/assistant-toolkit';
10
- import { Blueprint, Prompt, Template } from '@dxos/blueprints';
11
- import { type Queue } from '@dxos/client/echo';
12
- import { Sequence } from '@dxos/conductor';
13
- import { Filter, Key, Obj, Ref, Type } from '@dxos/echo';
14
- import { TracingService, serializeFunction } from '@dxos/functions';
15
- import { AutomationCapabilities } from '@dxos/plugin-automation';
16
- import { getSpace } from '@dxos/react-client/echo';
17
- import { Collection } from '@dxos/schema';
18
- import { type Message } from '@dxos/types';
19
-
20
- import { type AiChatServices, updateName } from '../processor';
21
- import { Assistant, AssistantAction } from '../types';
22
-
23
- import { ASSISTANT_BLUEPRINT_KEY, createBlueprint } from './blueprint-definition';
24
- import { AssistantCapabilities } from './capabilities';
25
-
26
- export default (context: PluginContext) => [
27
- contributes(Capabilities.IntentResolver, [
28
- createResolver({
29
- intent: AssistantAction.OnCreateSpace,
30
- resolve: ({ space, rootCollection }) =>
31
- Effect.gen(function* () {
32
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
33
- const chatCollection = Collection.makeManaged({ key: Assistant.Chat.typename });
34
- const blueprintCollection = Collection.makeManaged({ key: Blueprint.Blueprint.typename });
35
- const promptCollection = Collection.makeManaged({ key: Type.getTypename(Prompt.Prompt) });
36
- rootCollection.objects.push(
37
- Ref.make(chatCollection),
38
- Ref.make(blueprintCollection),
39
- Ref.make(promptCollection),
40
- );
41
-
42
- // TODO(wittjosiah): Remove once function registry is avaiable.
43
- space.db.add(serializeFunction(Agent.prompt));
44
-
45
- // Create default chat.
46
- const { object: chat } = yield* dispatch(createIntent(AssistantAction.CreateChat, { space }));
47
- space.db.add(chat);
48
- }),
49
- }),
50
- createResolver({
51
- intent: AssistantAction.CreateChat,
52
- resolve: async ({ space, name }) => {
53
- const queue = space.queues.create();
54
- const chat = Assistant.makeChat({ name, queue });
55
-
56
- // TODO(wittjosiah): This should be a space-level setting.
57
- // TODO(burdon): Clone when activated. Copy-on-write for template.
58
- const blueprints = await space.db.query(Filter.type(Blueprint.Blueprint)).run();
59
- let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === ASSISTANT_BLUEPRINT_KEY);
60
- if (!defaultBlueprint) {
61
- defaultBlueprint = space.db.add(createBlueprint());
62
- }
63
-
64
- const binder = new AiContextBinder(queue);
65
- await binder.use((binder) => binder.bind({ blueprints: [Ref.make(defaultBlueprint)] }));
66
-
67
- return {
68
- data: { object: chat },
69
- };
70
- },
71
- }),
72
- createResolver({
73
- intent: AssistantAction.UpdateChatName,
74
- resolve: async ({ chat }) => {
75
- const space = getSpace(chat);
76
- const queue = chat.queue.target as Queue<Message.Message>;
77
- if (!space || !queue) {
78
- return;
79
- }
80
-
81
- const runtimeResolver = context.getCapability(AutomationCapabilities.ComputeRuntime);
82
- const runtime = await runtimeResolver
83
- .getRuntime(space.id)
84
- .runPromise(Effect.runtime<AiChatServices>().pipe(Effect.provide(TracingService.layerNoop)));
85
-
86
- await new AiConversation(queue).use(async (conversation) => updateName(runtime, conversation, chat));
87
- },
88
- }),
89
- createResolver({
90
- intent: AssistantAction.CreateBlueprint,
91
- resolve: ({ key, name, description }) => ({
92
- data: {
93
- object: Blueprint.make({
94
- key,
95
- name,
96
- description,
97
- instructions: Template.make(),
98
- }),
99
- },
100
- }),
101
- }),
102
- createResolver({
103
- intent: AssistantAction.CreatePrompt,
104
- resolve: ({ name }) => ({
105
- data: {
106
- object: Prompt.make({ name }),
107
- },
108
- }),
109
- }),
110
- createResolver({
111
- intent: AssistantAction.CreateSequence,
112
- resolve: ({ name }) => ({
113
- data: {
114
- object: Obj.make(Sequence, {
115
- name,
116
- steps: [
117
- {
118
- id: Key.ObjectId.random(),
119
- instructions: 'You are a helpful assistant.',
120
- },
121
- ],
122
- }),
123
- },
124
- }),
125
- }),
126
- createResolver({
127
- intent: AssistantAction.SetCurrentChat,
128
- resolve: ({ companionTo, chat }) =>
129
- Effect.gen(function* () {
130
- const state = context.getCapability(AssistantCapabilities.MutableState);
131
- state.currentChat[Obj.getDXN(companionTo).toString()] = chat && Obj.getDXN(chat).toString();
132
- }),
133
- }),
134
- ]),
135
- ];
@@ -1,30 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as OpenAiClient from '@effect/ai-openai/OpenAiClient';
6
- import * as FetchHttpClient from '@effect/platform/FetchHttpClient';
7
- import * as Layer from 'effect/Layer';
8
-
9
- import * as AiServiceRouter from '@dxos/ai/AiServiceRouter';
10
- import { Capabilities, type Capability, contributes } from '@dxos/app-framework';
11
-
12
- /**
13
- * To start LM Studio server:
14
- * ```bash
15
- * ~/.lmstudio/bin/lms server start --cors
16
- * ```
17
- */
18
- export default (): Capability<any>[] => [
19
- contributes(
20
- Capabilities.AiModelResolver,
21
- AiServiceRouter.LMStudioResolver.pipe(
22
- Layer.provide(
23
- OpenAiClient.layer({
24
- apiUrl: AiServiceRouter.DEFAULT_LMSTUDIO_ENDPOINT,
25
- }),
26
- ),
27
- Layer.provide(FetchHttpClient.layer),
28
- ),
29
- ),
30
- ];
@@ -1,87 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
- import { Blueprint, Prompt } from '@dxos/blueprints';
9
- import { getSpace } from '@dxos/client/echo';
10
- import { Sequence } from '@dxos/conductor';
11
- import { InvocationTraceContainer } from '@dxos/devtools';
12
- import { Obj } from '@dxos/echo';
13
- import { SettingsStore } from '@dxos/local-storage';
14
- import { StackItem } from '@dxos/react-ui-stack';
15
-
16
- import {
17
- AssistantSettings,
18
- BlueprintArticle,
19
- ChatCompanion,
20
- ChatContainer,
21
- ChatDialog,
22
- PromptArticle,
23
- } from '../components';
24
- import { ASSISTANT_DIALOG, meta } from '../meta';
25
- import { Assistant } from '../types';
26
-
27
- export default () =>
28
- contributes(Capabilities.ReactSurface, [
29
- createSurface({
30
- id: `${meta.id}/plugin-settings`,
31
- role: 'article',
32
- filter: (data): data is { subject: SettingsStore<Assistant.Settings> } =>
33
- data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
34
- component: ({ data: { subject } }) => <AssistantSettings settings={subject.value} />,
35
- }),
36
- createSurface({
37
- id: `${meta.id}/chat`,
38
- role: 'article',
39
- filter: (data): data is { subject: Assistant.Chat; variant: undefined } =>
40
- Obj.instanceOf(Assistant.Chat, data.subject) && data.variant !== 'assistant-chat',
41
- component: ({ data, role, ref }) => <ChatContainer role={role} chat={data.subject} ref={ref} />,
42
- }),
43
- // TODO(wittjosiah): This is flashing when chat changes.
44
- createSurface({
45
- id: `${meta.id}/companion-chat`,
46
- role: 'article',
47
- filter: (data): data is { companionTo: Obj.Any; subject: Assistant.Chat | 'assistant-chat' } =>
48
- Obj.isObject(data.companionTo) &&
49
- (Obj.instanceOf(Assistant.Chat, data.subject) || data.subject === 'assistant-chat'),
50
- component: ({ data, role, ref }) => <ChatCompanion role={role} data={data} ref={ref} />,
51
- }),
52
- createSurface({
53
- id: `${meta.id}/companion-invocations`,
54
- role: 'article',
55
- filter: (data): data is { companionTo: Sequence } =>
56
- (Obj.instanceOf(Sequence, data.companionTo) || Obj.instanceOf(Prompt.Prompt, data.companionTo)) &&
57
- data.subject === 'invocations',
58
- component: ({ data }) => {
59
- const space = getSpace(data.companionTo);
60
- // TODO(wittjosiah): Support invocation filtering for prompts.
61
- const target = Obj.instanceOf(Prompt.Prompt, data.companionTo) ? undefined : data.companionTo;
62
- return (
63
- <StackItem.Content>
64
- <InvocationTraceContainer space={space} target={target} detailAxis='block' />
65
- </StackItem.Content>
66
- );
67
- },
68
- }),
69
- createSurface({
70
- id: `${meta.id}/blueprint`,
71
- role: 'article',
72
- filter: (data): data is { subject: Blueprint.Blueprint } => Obj.instanceOf(Blueprint.Blueprint, data.subject),
73
- component: ({ data }) => <BlueprintArticle subject={data.subject} />,
74
- }),
75
- createSurface({
76
- id: `${meta.id}/prompt`,
77
- role: 'article',
78
- filter: (data): data is { subject: Prompt.Prompt } => Obj.instanceOf(Prompt.Prompt, data.subject),
79
- component: ({ data }) => <PromptArticle subject={data.subject} />,
80
- }),
81
- createSurface({
82
- id: ASSISTANT_DIALOG,
83
- role: 'dialog',
84
- filter: (data): data is { props: { chat: Assistant.Chat } } => data.component === ASSISTANT_DIALOG,
85
- component: ({ data }) => <ChatDialog {...data.props} />,
86
- }),
87
- ]);
@@ -1,19 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capabilities, contributes } from '@dxos/app-framework';
6
- import { live } from '@dxos/live-object';
7
-
8
- import { meta } from '../meta';
9
- import { Assistant } from '../types';
10
-
11
- export default () => {
12
- const settings = live<Assistant.Settings>({});
13
-
14
- return contributes(Capabilities.Settings, {
15
- prefix: meta.id,
16
- schema: Assistant.Settings,
17
- value: settings,
18
- });
19
- };
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { contributes } from '@dxos/app-framework';
6
- import { LocalStorageStore } from '@dxos/local-storage';
7
-
8
- import { meta } from '../meta';
9
-
10
- import { AssistantCapabilities } from './capabilities';
11
-
12
- export default () => {
13
- // NOTE: This needs to be a chat object rather than a string id to avoid a query race.
14
- // TODO(wittjosiah): Handle serialization and hydration for this so it can be cached.
15
- const state = new LocalStorageStore<AssistantCapabilities.AssistantState>(meta.id, {
16
- currentChat: {},
17
- });
18
-
19
- state.prop({ key: 'currentChat', type: LocalStorageStore.json<Record<string, string | undefined>>() });
20
-
21
- return contributes(AssistantCapabilities.State, state.values, () => state.close());
22
- };
@@ -1,17 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Layer from 'effect/Layer';
6
-
7
- import { Capabilities, type Capability, type PluginContext, contributes } from '@dxos/app-framework';
8
- import { GenericToolkit } from '@dxos/assistant';
9
- import { AssistantToolkit, SystemToolkit, WebSearchToolkit } from '@dxos/assistant-toolkit';
10
-
11
- export default (_context: PluginContext): Capability<any>[] => [
12
- contributes(Capabilities.Toolkit, GenericToolkit.make(AssistantToolkit.AssistantToolkit, AssistantToolkit.layer())),
13
-
14
- // TODO(burdon): How to manage dependencies across blueprints.
15
- contributes(Capabilities.Toolkit, GenericToolkit.make(SystemToolkit.SystemToolkit, SystemToolkit.layer())),
16
- contributes(Capabilities.Toolkit, GenericToolkit.make(WebSearchToolkit, Layer.empty)),
17
- ];
@@ -1,151 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { type ContentBlock, type Message } from '@dxos/types';
6
-
7
- type Reducer<R, I> = (acc: R, value: I, idx: number) => R;
8
-
9
- /**
10
- * Reducer that collapses related message blocks into single messages.
11
- * For example, combines tool request/response pairs into a single message.
12
- *
13
- * Typical order:
14
- * - message 0
15
- * - text
16
- * - message 1
17
- * - text
18
- * - toolCall
19
- * - summary
20
- * - message 2
21
- * - toolResult
22
- * - message 3
23
- * - text
24
- * - summary
25
- *
26
- * Coverts to:
27
- * - message 0
28
- * - text
29
- * - message 1
30
- * - text
31
- * - message 2
32
- * - toolCall
33
- * - toolResult
34
- * - summary
35
- * - message 3
36
- * - text
37
- * - summary
38
- */
39
- export const reduceMessages: Reducer<
40
- {
41
- messages: Message.Message[];
42
- current?: Message.Message;
43
- toolBlock?: boolean;
44
- assistantMessages?: Message.Message[];
45
- },
46
- Message.Message
47
- > = ({ messages, current, toolBlock, assistantMessages = [] }, message) => {
48
- // Treat tool calls as assistant messages.
49
- let assistant = message?.sender.role === 'assistant';
50
- let i = 0;
51
- for (const block of message.blocks) {
52
- switch (block._tag) {
53
- // TODO(burdon): Preserve call tool title.
54
- case 'toolCall': {
55
- assistant = true;
56
- if (!toolBlock) {
57
- current = {
58
- ...message,
59
- id: [message.id, i++].join('_'),
60
- blocks: [block],
61
- };
62
- messages.push(current);
63
- toolBlock = true;
64
- } else {
65
- current!.blocks.push(block);
66
- }
67
- break;
68
- }
69
-
70
- case 'toolResult': {
71
- assistant = true;
72
- if (toolBlock) {
73
- current!.blocks.push(block);
74
- }
75
- break;
76
- }
77
-
78
- case 'summary': {
79
- assistant = true;
80
- if (toolBlock) {
81
- current!.blocks.push(block);
82
- } else {
83
- const summary = reduceSummary([...assistantMessages, message]);
84
- current!.blocks.push(summary);
85
- }
86
- break;
87
- }
88
-
89
- default: {
90
- assistant = message.sender.role === 'assistant';
91
- current = {
92
- ...message,
93
- id: [message.id, i++].join('_'),
94
- blocks: [block],
95
- };
96
- messages.push(current);
97
- toolBlock = false;
98
- break;
99
- }
100
- }
101
- }
102
-
103
- return {
104
- messages,
105
- current,
106
- toolBlock,
107
- assistantMessages: assistant ? [...assistantMessages, message] : undefined,
108
- };
109
- };
110
-
111
- /**
112
- * Accumulate token counts from all summary blocks in pending messages.
113
- */
114
- const reduceSummary = (messages: Message.Message[]): ContentBlock.Summary => {
115
- let start: number | undefined;
116
- return messages.reduce<ContentBlock.Summary>(
117
- (acc, msg) => {
118
- const time = new Date(msg.created).getTime();
119
- if (!start) {
120
- start = time;
121
- }
122
- msg.blocks.forEach((block) => {
123
- switch (block._tag) {
124
- case 'toolCall': {
125
- acc.toolCalls = (acc.toolCalls ?? 0) + 1;
126
- break;
127
- }
128
- case 'summary': {
129
- acc.model = block.model;
130
- if (block.usage) {
131
- acc.message = block.message;
132
- acc.usage = {
133
- inputTokens: (acc.usage?.inputTokens ?? 0) + (block.usage.inputTokens ?? 0),
134
- outputTokens: (acc.usage?.outputTokens ?? 0) + (block.usage.outputTokens ?? 0),
135
- totalTokens: (acc.usage?.totalTokens ?? 0) + (block.usage.totalTokens ?? 0),
136
- };
137
- acc.duration = time - (start ?? time);
138
- }
139
- break;
140
- }
141
- }
142
- });
143
-
144
- return acc;
145
- },
146
- {
147
- _tag: 'summary',
148
- duration: 0,
149
- } satisfies ContentBlock.Summary,
150
- );
151
- };
package/src/events.ts DELETED
@@ -1,11 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { defineEvent } from '@dxos/app-framework';
6
-
7
- import { meta } from './meta';
8
-
9
- export namespace AssistantEvents {
10
- export const SetupAiServiceProviders = defineEvent(`${meta.id}/event/setup-ai-service-providers`);
11
- }
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
-
8
- import { defineFunction } from '@dxos/functions';
9
- import { log } from '@dxos/log';
10
-
11
- export default defineFunction({
12
- key: 'dxos.org/function/assistant-analysis',
13
- name: 'Assistant analysis',
14
- description: 'Enter analysis analysis mode.',
15
- inputSchema: Schema.Struct({
16
- enable: Schema.Boolean.annotations({ description: 'Enable or disable analysis mode.' }),
17
- }),
18
- outputSchema: Schema.Void,
19
- handler: Effect.fn(function* ({ context, data: { enable } }) {
20
- log.info('analysis mode', { enable });
21
- }),
22
- });