@dxos/plugin-assistant 0.8.4-main.e098934 → 0.8.4-main.e8ec1fe

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 (465) hide show
  1. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs +36 -0
  2. package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs.map +7 -0
  3. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs +158 -0
  4. package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatContainer-XIVJTCC2.mjs → ChatContainer-XCPBWYIR.mjs} +22 -20
  6. package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs.map +7 -0
  7. package/dist/lib/browser/{ChatDialog-EJJMK3WL.mjs → ChatDialog-DT7KFCRL.mjs} +8 -6
  8. package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs.map +7 -0
  9. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs +59 -0
  10. package/dist/lib/browser/PromptArticle-45QX25Y5.mjs.map +7 -0
  11. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +19 -0
  12. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +7 -0
  13. package/dist/lib/browser/{app-graph-builder-3C43MLCD.mjs → app-graph-builder-VZEXMDTY.mjs} +67 -21
  14. package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs.map +7 -0
  15. package/dist/lib/browser/{blueprint-definition-VHFSRTEJ.mjs → blueprint-definition-5FT5JGPY.mjs} +4 -4
  16. package/dist/lib/browser/chunk-2BOE3OTW.mjs +262 -0
  17. package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-SMIVXXAI.mjs → chunk-BNTPFZ7O.mjs} +51 -24
  19. package/dist/lib/browser/chunk-BNTPFZ7O.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs +335 -0
  21. package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-GLWD66TA.mjs → chunk-IXIIS4QA.mjs} +53 -38
  23. package/dist/lib/browser/chunk-IXIIS4QA.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-EZUSNS2J.mjs → chunk-LRE4VEZV.mjs} +2 -5
  25. package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-U62BTGDF.mjs +1929 -0
  27. package/dist/lib/browser/chunk-U62BTGDF.mjs.map +7 -0
  28. package/dist/lib/browser/chunk-WBG5PTSX.mjs +23 -0
  29. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +7 -0
  30. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +18 -0
  31. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +7 -0
  32. package/dist/lib/browser/index.mjs +117 -82
  33. package/dist/lib/browser/index.mjs.map +4 -4
  34. package/dist/lib/browser/{intent-resolver-I6M3ZDAS.mjs → intent-resolver-AK5O4GUW.mjs} +55 -24
  35. package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs.map +7 -0
  36. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +17 -0
  37. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +7 -0
  38. package/dist/lib/browser/meta.json +1 -1
  39. package/dist/lib/browser/{react-surface-E4NAGB6R.mjs → react-surface-YCSR2MSR.mjs} +24 -35
  40. package/dist/lib/browser/react-surface-YCSR2MSR.mjs.map +7 -0
  41. package/dist/lib/browser/{settings-36V3VUMW.mjs → settings-NYJGNQ5I.mjs} +5 -5
  42. package/dist/lib/browser/{settings-36V3VUMW.mjs.map → settings-NYJGNQ5I.mjs.map} +1 -1
  43. package/dist/lib/browser/{state-AINRYS5W.mjs → state-GG7Z3NB7.mjs} +9 -5
  44. package/dist/lib/browser/{state-AINRYS5W.mjs.map → state-GG7Z3NB7.mjs.map} +3 -3
  45. package/dist/lib/browser/toolkit-VYDAWNE4.mjs +17 -0
  46. package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +7 -0
  47. package/dist/lib/browser/types/index.mjs +2 -2
  48. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs +37 -0
  49. package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs.map +7 -0
  50. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs +159 -0
  51. package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs.map +7 -0
  52. package/dist/lib/node-esm/{ChatContainer-LMMMQD4K.mjs → ChatContainer-K7OGPE3G.mjs} +22 -20
  53. package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs.map +7 -0
  54. package/dist/lib/node-esm/{ChatDialog-UUE3F7BT.mjs → ChatDialog-QT6ZBX45.mjs} +8 -6
  55. package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs.map +7 -0
  56. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs +60 -0
  57. package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs.map +7 -0
  58. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +20 -0
  59. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +7 -0
  60. package/dist/lib/node-esm/{app-graph-builder-NM3JDLQ2.mjs → app-graph-builder-VRN6ESRR.mjs} +67 -21
  61. package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs.map +7 -0
  62. package/dist/lib/node-esm/{blueprint-definition-4E6XTLVN.mjs → blueprint-definition-XW6QQVLV.mjs} +4 -4
  63. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs +264 -0
  64. package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-7YOGZI66.mjs → chunk-AB74FOA2.mjs} +51 -24
  66. package/dist/lib/node-esm/chunk-AB74FOA2.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-BHS747K7.mjs +1930 -0
  68. package/dist/lib/node-esm/chunk-BHS747K7.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs +336 -0
  70. package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-QG2KT3AT.mjs → chunk-UXTUHH24.mjs} +53 -38
  72. package/dist/lib/node-esm/chunk-UXTUHH24.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-WE6KTH72.mjs +25 -0
  74. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-XD4CDA4R.mjs → chunk-YWFWT57N.mjs} +2 -5
  76. package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +7 -0
  77. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +19 -0
  78. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +117 -82
  80. package/dist/lib/node-esm/index.mjs.map +4 -4
  81. package/dist/lib/node-esm/{intent-resolver-VIINHFMT.mjs → intent-resolver-L2F3N45L.mjs} +55 -24
  82. package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs.map +7 -0
  83. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +18 -0
  84. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +7 -0
  85. package/dist/lib/node-esm/meta.json +1 -1
  86. package/dist/lib/node-esm/{react-surface-5WQLRTCH.mjs → react-surface-CTW44GEM.mjs} +24 -35
  87. package/dist/lib/node-esm/react-surface-CTW44GEM.mjs.map +7 -0
  88. package/dist/lib/node-esm/{settings-7ZCZ6AS5.mjs → settings-RRHYI5KO.mjs} +5 -5
  89. package/dist/lib/node-esm/{settings-7ZCZ6AS5.mjs.map → settings-RRHYI5KO.mjs.map} +1 -1
  90. package/dist/lib/node-esm/{state-EQS5KP6M.mjs → state-FSUHFMDM.mjs} +9 -5
  91. package/dist/lib/node-esm/{state-EQS5KP6M.mjs.map → state-FSUHFMDM.mjs.map} +3 -3
  92. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +18 -0
  93. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +7 -0
  94. package/dist/lib/node-esm/types/index.mjs +2 -2
  95. package/dist/types/src/AssistantPlugin.d.ts +1 -1
  96. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/ai-service.d.ts +2 -3
  98. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/blueprint-definition.d.ts +1 -1
  101. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts +2 -24
  103. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/index.d.ts +0 -1
  106. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/toolkit.d.ts +1 -1
  112. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  113. package/dist/types/src/components/BlueprintArticle.d.ts +7 -0
  114. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -0
  115. package/dist/types/src/components/Chat/Chat.d.ts +20 -9
  116. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  117. package/dist/types/src/components/Chat/events.d.ts +4 -0
  118. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  119. package/dist/types/src/components/ChatCompanion.d.ts +2 -2
  120. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  121. package/dist/types/src/components/ChatContainer.d.ts +7 -4
  122. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  123. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  124. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  125. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  126. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  127. package/dist/types/src/components/ChatThread/ChatThread.d.ts +6 -7
  128. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  129. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +124 -71
  130. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/ChatThread/reducers.d.ts +5 -5
  132. package/dist/types/src/components/ChatThread/reducers.d.ts.map +1 -1
  133. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  134. package/dist/types/src/components/ChatThread/sync.d.ts +12 -6
  135. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  136. package/dist/types/src/components/PromptArticle.d.ts +7 -0
  137. package/dist/types/src/components/PromptArticle.d.ts.map +1 -0
  138. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  139. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  140. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +111 -61
  141. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  142. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +1 -1
  143. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  144. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +111 -61
  145. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  146. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  147. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  148. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  149. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  150. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  151. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +9 -7
  152. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  153. package/dist/types/src/components/Toolbox/Toolbox.d.ts +2 -2
  154. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  155. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +111 -61
  156. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  157. package/dist/types/src/components/index.d.ts +4 -9
  158. package/dist/types/src/components/index.d.ts.map +1 -1
  159. package/dist/types/src/functions/analysis.d.ts +1 -1
  160. package/dist/types/src/functions/analysis.d.ts.map +1 -1
  161. package/dist/types/src/functions/index.d.ts +2 -2
  162. package/dist/types/src/functions/index.d.ts.map +1 -1
  163. package/dist/types/src/functions/{list.d.ts → object-list.d.ts} +2 -2
  164. package/dist/types/src/functions/object-list.d.ts.map +1 -0
  165. package/dist/types/src/functions/{load.d.ts → object-load.d.ts} +2 -2
  166. package/dist/types/src/functions/object-load.d.ts.map +1 -0
  167. package/dist/types/src/hooks/index.d.ts +1 -2
  168. package/dist/types/src/hooks/index.d.ts.map +1 -1
  169. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +2 -1
  170. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  171. package/dist/types/src/hooks/useChatProcessor.d.ts +4 -2
  172. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  173. package/dist/types/src/hooks/useChatServices.d.ts +1 -1
  174. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  175. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  176. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  177. package/dist/types/src/hooks/useContextBinder.d.ts +2 -2
  178. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  179. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  180. package/dist/types/src/index.d.ts +2 -0
  181. package/dist/types/src/index.d.ts.map +1 -1
  182. package/dist/types/src/meta.d.ts +1 -2
  183. package/dist/types/src/meta.d.ts.map +1 -1
  184. package/dist/types/src/processor/index.d.ts +1 -0
  185. package/dist/types/src/processor/index.d.ts.map +1 -1
  186. package/dist/types/src/processor/presets.d.ts +1 -1
  187. package/dist/types/src/processor/presets.d.ts.map +1 -1
  188. package/dist/types/src/processor/processor.d.ts +11 -10
  189. package/dist/types/src/processor/processor.d.ts.map +1 -1
  190. package/dist/types/src/processor/update-name.d.ts +10 -0
  191. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  192. package/dist/types/src/queue-logger.d.ts.map +1 -1
  193. package/dist/types/src/testing/index.d.ts +0 -2
  194. package/dist/types/src/testing/index.d.ts.map +1 -1
  195. package/dist/types/src/testing/test-generator.d.ts +3 -3
  196. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  197. package/dist/types/src/testing/test-services.d.ts +2 -2
  198. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  199. package/dist/types/src/translations.d.ts +239 -26
  200. package/dist/types/src/translations.d.ts.map +1 -1
  201. package/dist/types/src/types/Assistant.d.ts +15 -9
  202. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  203. package/dist/types/src/types/AssistantAction.d.ts +33 -8
  204. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  205. package/dist/types/src/types/service.d.ts +24 -18
  206. package/dist/types/src/types/service.d.ts.map +1 -1
  207. package/dist/types/tsconfig.tsbuildinfo +1 -1
  208. package/package.json +94 -113
  209. package/src/AssistantPlugin.tsx +154 -138
  210. package/src/capabilities/ai-service.ts +6 -7
  211. package/src/capabilities/app-graph-builder.ts +69 -21
  212. package/src/capabilities/blueprint-definition.ts +38 -30
  213. package/src/capabilities/capabilities.ts +2 -56
  214. package/src/capabilities/edge-model-resolver.ts +5 -7
  215. package/src/capabilities/index.ts +0 -1
  216. package/src/capabilities/intent-resolver.ts +69 -16
  217. package/src/capabilities/local-model-resolver.ts +7 -9
  218. package/src/capabilities/react-surface.tsx +16 -20
  219. package/src/capabilities/state.ts +2 -0
  220. package/src/capabilities/toolkit.ts +9 -155
  221. package/src/components/BlueprintArticle.tsx +29 -0
  222. package/src/components/Chat/Chat.tsx +155 -113
  223. package/src/components/Chat/events.ts +6 -0
  224. package/src/components/ChatCompanion.tsx +93 -49
  225. package/src/components/ChatContainer.tsx +27 -17
  226. package/src/components/ChatDialog.tsx +9 -2
  227. package/src/components/ChatProgress/ChatProgress.tsx +2 -3
  228. package/src/components/ChatPrompt/ChatActions.tsx +2 -4
  229. package/src/components/ChatPrompt/ChatOptions.tsx +40 -45
  230. package/src/components/ChatPrompt/ChatReferences.tsx +2 -2
  231. package/src/components/ChatThread/ChatThread.stories.tsx +52 -34
  232. package/src/components/ChatThread/ChatThread.tsx +28 -34
  233. package/src/components/ChatThread/reducers.ts +6 -6
  234. package/src/components/ChatThread/registry.tsx +25 -40
  235. package/src/components/ChatThread/sync.test.ts +21 -13
  236. package/src/components/ChatThread/sync.ts +48 -13
  237. package/src/components/ChatThread/testing/thread.md +37 -0
  238. package/src/components/PromptArticle.tsx +51 -0
  239. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +15 -7
  240. package/src/components/TemplateEditor/TemplateEditor.tsx +19 -10
  241. package/src/components/TemplateEditor/TemplateForm.stories.tsx +4 -6
  242. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  243. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +269 -0
  244. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  245. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  246. package/src/components/ToolBlock/ToolBlock.tsx +37 -46
  247. package/src/components/Toolbox/Toolbox.stories.tsx +5 -8
  248. package/src/components/Toolbox/Toolbox.tsx +5 -5
  249. package/src/components/index.ts +2 -5
  250. package/src/functions/analysis.ts +5 -3
  251. package/src/functions/index.ts +2 -2
  252. package/src/functions/{list.ts → object-list.ts} +6 -4
  253. package/src/functions/{load.ts → object-load.ts} +8 -5
  254. package/src/hooks/index.ts +1 -2
  255. package/src/hooks/useBlueprintRegistry.ts +19 -4
  256. package/src/hooks/useChatProcessor.ts +22 -14
  257. package/src/hooks/useChatServices.ts +10 -7
  258. package/src/hooks/useChatToolbarActions.ts +122 -0
  259. package/src/hooks/useContextBinder.ts +19 -7
  260. package/src/hooks/useItemTypes.ts +1 -1
  261. package/src/hooks/useReferencesProvider.ts +2 -1
  262. package/src/index.ts +2 -0
  263. package/src/meta.ts +9 -6
  264. package/src/processor/index.ts +1 -0
  265. package/src/processor/presets.ts +2 -2
  266. package/src/processor/processor.test.ts +18 -24
  267. package/src/processor/processor.ts +35 -60
  268. package/src/processor/update-name.ts +56 -0
  269. package/src/queue-logger.ts +4 -8
  270. package/src/testing/index.ts +0 -2
  271. package/src/testing/test-generator.ts +15 -11
  272. package/src/testing/test-services.ts +2 -8
  273. package/src/translations.ts +24 -16
  274. package/src/types/Assistant.ts +10 -8
  275. package/src/types/AssistantAction.ts +23 -6
  276. package/src/types/service.ts +17 -9
  277. package/dist/lib/browser/BlueprintContainer-BFNN6K46.mjs +0 -29
  278. package/dist/lib/browser/BlueprintContainer-BFNN6K46.mjs.map +0 -7
  279. package/dist/lib/browser/ChatCompanion-DOVN34C7.mjs +0 -126
  280. package/dist/lib/browser/ChatCompanion-DOVN34C7.mjs.map +0 -7
  281. package/dist/lib/browser/ChatContainer-XIVJTCC2.mjs.map +0 -7
  282. package/dist/lib/browser/ChatDialog-EJJMK3WL.mjs.map +0 -7
  283. package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs +0 -150
  284. package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs.map +0 -7
  285. package/dist/lib/browser/ai-service-YC2EQPHA.mjs +0 -22
  286. package/dist/lib/browser/ai-service-YC2EQPHA.mjs.map +0 -7
  287. package/dist/lib/browser/app-graph-builder-3C43MLCD.mjs.map +0 -7
  288. package/dist/lib/browser/chunk-C4Q2RYQM.mjs +0 -1974
  289. package/dist/lib/browser/chunk-C4Q2RYQM.mjs.map +0 -7
  290. package/dist/lib/browser/chunk-EZUSNS2J.mjs.map +0 -7
  291. package/dist/lib/browser/chunk-GLWD66TA.mjs.map +0 -7
  292. package/dist/lib/browser/chunk-O4LUJEDV.mjs +0 -20
  293. package/dist/lib/browser/chunk-O4LUJEDV.mjs.map +0 -7
  294. package/dist/lib/browser/chunk-PQI3MGDN.mjs +0 -169
  295. package/dist/lib/browser/chunk-PQI3MGDN.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-QD4UUISH.mjs +0 -299
  297. package/dist/lib/browser/chunk-QD4UUISH.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-R6LRGW3I.mjs +0 -216
  299. package/dist/lib/browser/chunk-R6LRGW3I.mjs.map +0 -7
  300. package/dist/lib/browser/chunk-SMIVXXAI.mjs.map +0 -7
  301. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs +0 -155
  302. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs.map +0 -7
  303. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs +0 -22
  304. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs.map +0 -7
  305. package/dist/lib/browser/intent-resolver-I6M3ZDAS.mjs.map +0 -7
  306. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs +0 -21
  307. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs.map +0 -7
  308. package/dist/lib/browser/react-surface-E4NAGB6R.mjs.map +0 -7
  309. package/dist/lib/browser/toolkit-MPUS3U64.mjs +0 -191
  310. package/dist/lib/browser/toolkit-MPUS3U64.mjs.map +0 -7
  311. package/dist/lib/node-esm/BlueprintContainer-X4MRBKDR.mjs +0 -30
  312. package/dist/lib/node-esm/BlueprintContainer-X4MRBKDR.mjs.map +0 -7
  313. package/dist/lib/node-esm/ChatCompanion-ICWYVPRD.mjs +0 -127
  314. package/dist/lib/node-esm/ChatCompanion-ICWYVPRD.mjs.map +0 -7
  315. package/dist/lib/node-esm/ChatContainer-LMMMQD4K.mjs.map +0 -7
  316. package/dist/lib/node-esm/ChatDialog-UUE3F7BT.mjs.map +0 -7
  317. package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs +0 -151
  318. package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs.map +0 -7
  319. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs +0 -23
  320. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs.map +0 -7
  321. package/dist/lib/node-esm/app-graph-builder-NM3JDLQ2.mjs.map +0 -7
  322. package/dist/lib/node-esm/chunk-4WLFSXZG.mjs +0 -170
  323. package/dist/lib/node-esm/chunk-4WLFSXZG.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-7YOGZI66.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-LVTG5JTW.mjs +0 -217
  326. package/dist/lib/node-esm/chunk-LVTG5JTW.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-QG2KT3AT.mjs.map +0 -7
  328. package/dist/lib/node-esm/chunk-V44ZG7CU.mjs +0 -1975
  329. package/dist/lib/node-esm/chunk-V44ZG7CU.mjs.map +0 -7
  330. package/dist/lib/node-esm/chunk-VFY2JG62.mjs +0 -22
  331. package/dist/lib/node-esm/chunk-VFY2JG62.mjs.map +0 -7
  332. package/dist/lib/node-esm/chunk-XD4CDA4R.mjs.map +0 -7
  333. package/dist/lib/node-esm/chunk-YU62ZWJN.mjs +0 -300
  334. package/dist/lib/node-esm/chunk-YU62ZWJN.mjs.map +0 -7
  335. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs +0 -156
  336. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs.map +0 -7
  337. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs +0 -23
  338. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs.map +0 -7
  339. package/dist/lib/node-esm/intent-resolver-VIINHFMT.mjs.map +0 -7
  340. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs +0 -22
  341. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs.map +0 -7
  342. package/dist/lib/node-esm/react-surface-5WQLRTCH.mjs.map +0 -7
  343. package/dist/lib/node-esm/toolkit-PKVYDZ4H.mjs +0 -192
  344. package/dist/lib/node-esm/toolkit-PKVYDZ4H.mjs.map +0 -7
  345. package/dist/types/src/capabilities/compute-runtime.d.ts +0 -5
  346. package/dist/types/src/capabilities/compute-runtime.d.ts.map +0 -1
  347. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  348. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  349. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  350. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  351. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  352. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  353. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  354. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  355. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -267
  356. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  357. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  358. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  359. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +0 -1
  360. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -5
  361. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  362. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  363. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  364. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +0 -11
  365. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +0 -1
  366. package/dist/types/src/execution-graph/execution-graph.d.ts +0 -21
  367. package/dist/types/src/execution-graph/execution-graph.d.ts.map +0 -1
  368. package/dist/types/src/execution-graph/index.d.ts +0 -2
  369. package/dist/types/src/execution-graph/index.d.ts.map +0 -1
  370. package/dist/types/src/functions/list.d.ts.map +0 -1
  371. package/dist/types/src/functions/load.d.ts.map +0 -1
  372. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +0 -8
  373. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +0 -1
  374. package/dist/types/src/hooks/useExecutionGraph.d.ts +0 -6
  375. package/dist/types/src/hooks/useExecutionGraph.d.ts.map +0 -1
  376. package/dist/types/src/stories/Chat.stories.d.ts +0 -30
  377. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  378. package/dist/types/src/stories/components/BlueprintContainer.d.ts +0 -4
  379. package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +0 -1
  380. package/dist/types/src/stories/components/ChatContainer.d.ts +0 -4
  381. package/dist/types/src/stories/components/ChatContainer.d.ts.map +0 -1
  382. package/dist/types/src/stories/components/ChessContainer.d.ts +0 -4
  383. package/dist/types/src/stories/components/ChessContainer.d.ts.map +0 -1
  384. package/dist/types/src/stories/components/CommentsContainer.d.ts +0 -4
  385. package/dist/types/src/stories/components/CommentsContainer.d.ts.map +0 -1
  386. package/dist/types/src/stories/components/DebugCard.d.ts +0 -8
  387. package/dist/types/src/stories/components/DebugCard.d.ts.map +0 -1
  388. package/dist/types/src/stories/components/GraphContainer.d.ts +0 -6
  389. package/dist/types/src/stories/components/GraphContainer.d.ts.map +0 -1
  390. package/dist/types/src/stories/components/InvocationsContainer.d.ts +0 -4
  391. package/dist/types/src/stories/components/InvocationsContainer.d.ts.map +0 -1
  392. package/dist/types/src/stories/components/LoggingContainer.d.ts +0 -7
  393. package/dist/types/src/stories/components/LoggingContainer.d.ts.map +0 -1
  394. package/dist/types/src/stories/components/MessageContainer.d.ts +0 -4
  395. package/dist/types/src/stories/components/MessageContainer.d.ts.map +0 -1
  396. package/dist/types/src/stories/components/PromptContainer.d.ts +0 -6
  397. package/dist/types/src/stories/components/PromptContainer.d.ts.map +0 -1
  398. package/dist/types/src/stories/components/ResearchInputStack.d.ts +0 -4
  399. package/dist/types/src/stories/components/ResearchInputStack.d.ts.map +0 -1
  400. package/dist/types/src/stories/components/ResearchOutputStack.d.ts +0 -4
  401. package/dist/types/src/stories/components/ResearchOutputStack.d.ts.map +0 -1
  402. package/dist/types/src/stories/components/TasksContainer.d.ts +0 -4
  403. package/dist/types/src/stories/components/TasksContainer.d.ts.map +0 -1
  404. package/dist/types/src/stories/components/TokenManagerContainer.d.ts +0 -3
  405. package/dist/types/src/stories/components/TokenManagerContainer.d.ts.map +0 -1
  406. package/dist/types/src/stories/components/TriggersContainer.d.ts +0 -14
  407. package/dist/types/src/stories/components/TriggersContainer.d.ts.map +0 -1
  408. package/dist/types/src/stories/components/index.d.ts +0 -16
  409. package/dist/types/src/stories/components/index.d.ts.map +0 -1
  410. package/dist/types/src/stories/components/types.d.ts +0 -7
  411. package/dist/types/src/stories/components/types.d.ts.map +0 -1
  412. package/dist/types/src/stories/testing/data.d.ts +0 -9
  413. package/dist/types/src/stories/testing/data.d.ts.map +0 -1
  414. package/dist/types/src/stories/testing/index.d.ts +0 -3
  415. package/dist/types/src/stories/testing/index.d.ts.map +0 -1
  416. package/dist/types/src/stories/testing/schema.d.ts +0 -7
  417. package/dist/types/src/stories/testing/schema.d.ts.map +0 -1
  418. package/dist/types/src/stories/testing/testing.d.ts +0 -48
  419. package/dist/types/src/stories/testing/testing.d.ts.map +0 -1
  420. package/dist/types/src/testing/test-data.d.ts +0 -14
  421. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  422. package/dist/types/src/testing/test-functions.d.ts +0 -6
  423. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  424. package/src/capabilities/compute-runtime.ts +0 -124
  425. package/src/components/BlueprintContainer.tsx +0 -24
  426. package/src/components/PromptSettings.tsx +0 -90
  427. package/src/components/SequenceContainer.tsx +0 -131
  428. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -33
  429. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  430. package/src/components/SequenceEditor/index.ts +0 -5
  431. package/src/components/TemplateEditor/handlebars-extension.ts +0 -165
  432. package/src/components/Toolbar/Toolbar.tsx +0 -21
  433. package/src/components/Toolbar/index.ts +0 -5
  434. package/src/components/Toolbar/useChatToolbarActions.ts +0 -126
  435. package/src/execution-graph/execution-graph.ts +0 -211
  436. package/src/execution-graph/index.ts +0 -5
  437. package/src/hooks/useComputeRuntimeCallback.ts +0 -25
  438. package/src/hooks/useExecutionGraph.ts +0 -20
  439. package/src/stories/Chat.stories.tsx +0 -657
  440. package/src/stories/components/BlueprintContainer.tsx +0 -34
  441. package/src/stories/components/ChatContainer.tsx +0 -74
  442. package/src/stories/components/ChessContainer.tsx +0 -17
  443. package/src/stories/components/CommentsContainer.tsx +0 -25
  444. package/src/stories/components/DebugCard.tsx +0 -61
  445. package/src/stories/components/GraphContainer.tsx +0 -119
  446. package/src/stories/components/InvocationsContainer.tsx +0 -17
  447. package/src/stories/components/LoggingContainer.tsx +0 -33
  448. package/src/stories/components/MessageContainer.tsx +0 -22
  449. package/src/stories/components/PromptContainer.tsx +0 -52
  450. package/src/stories/components/ResearchInputStack.tsx +0 -30
  451. package/src/stories/components/ResearchOutputStack.tsx +0 -29
  452. package/src/stories/components/TasksContainer.tsx +0 -49
  453. package/src/stories/components/TokenManagerContainer.tsx +0 -14
  454. package/src/stories/components/TriggersContainer.tsx +0 -75
  455. package/src/stories/components/index.ts +0 -20
  456. package/src/stories/components/types.ts +0 -11
  457. package/src/stories/testing/data.ts +0 -142
  458. package/src/stories/testing/index.ts +0 -6
  459. package/src/stories/testing/schema.ts +0 -17
  460. package/src/stories/testing/testing.tsx +0 -279
  461. package/src/testing/test-data.ts +0 -245
  462. package/src/testing/test-functions.ts +0 -16
  463. /package/dist/lib/browser/{blueprint-definition-VHFSRTEJ.mjs.map → blueprint-definition-5FT5JGPY.mjs.map} +0 -0
  464. /package/dist/lib/node-esm/{blueprint-definition-4E6XTLVN.mjs.map → blueprint-definition-XW6QQVLV.mjs.map} +0 -0
  465. /package/dist/types/src/components/TemplateEditor/{handlebars-extension.d.ts → extensions/handlebars-extension.d.ts} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ChatDialog.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/react';\nimport { getSpace } from '@dxos/client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { ChatDialog as NaturalChatDialog } from '@dxos/react-ui-chat';\n\nimport { useBlueprintRegistry, useChatProcessor, useChatServices, useOnline, usePresets } from '../hooks';\nimport { meta } from '../meta';\nimport { type Assistant } from '../types';\n\nimport { Chat, type ChatRootProps } from './Chat';\n\nexport type ChatDialogProps = {\n chat?: Assistant.Chat;\n};\n\nexport const ChatDialog = ({ chat }: ChatDialogProps) => {\n const { t } = useTranslation(meta.id);\n\n const space = getSpace(chat);\n const settings = useCapability(Capabilities.SettingsStore).getStore<Assistant.Settings>(meta.id)?.value;\n const services = useChatServices({ space, chat });\n const [online, setOnline] = useOnline();\n const { preset, ...chatProps } = usePresets(online);\n const blueprintRegistry = useBlueprintRegistry();\n const processor = useChatProcessor({\n chat,\n preset,\n services,\n blueprintRegistry,\n settings,\n });\n\n // TODO(burdon): Refocus when open.\n const [open, setOpen] = useState(true);\n const [expanded, setExpanded] = useState(false);\n const handleEvent = useCallback<NonNullable<ChatRootProps['onEvent']>>((event) => {\n switch (event.type) {\n case 'submit':\n case 'thread-open':\n setOpen(true);\n setExpanded(true);\n break;\n case 'thread-close':\n setOpen(false);\n break;\n }\n }, []);\n\n if (!chat || !processor) {\n return null;\n }\n\n return (\n <Chat.Root chat={chat} processor={processor} onEvent={handleEvent}>\n <NaturalChatDialog.Root open={open} expanded={expanded} onOpenChange={setOpen}>\n <NaturalChatDialog.Header title={t('assistant dialog title')} />\n <NaturalChatDialog.Content>\n <Chat.Thread />\n </NaturalChatDialog.Content>\n <NaturalChatDialog.Footer classNames='p-1.5'>\n <Chat.Prompt {...chatProps} preset={preset?.id} online={online} onOnlineChange={setOnline} expandable />\n </NaturalChatDialog.Footer>\n </NaturalChatDialog.Root>\n </Chat.Root>\n );\n};\n\nexport default ChatDialog;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAIA,OAAOA,SAASC,aAAaC,gBAAgB;AAE7C,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AACzB,SAASC,sBAAsB;AAC/B,SAASC,cAAcC,yBAAyB;AAYzC,IAAMC,aAAa,CAAC,EAAEC,KAAI,MAAmB;;;AAClD,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,UAAMC,QAAQC,SAASN,IAAAA;AACvB,UAAMO,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAA6BR,KAAKC,EAAE,GAAGQ;AAClG,UAAMC,WAAWC,gBAAgB;MAAET;MAAOL;IAAK,CAAA;AAC/C,UAAM,CAACe,QAAQC,SAAAA,IAAaC,UAAAA;AAC5B,UAAM,EAAEC,QAAQ,GAAGC,UAAAA,IAAcC,WAAWL,MAAAA;AAC5C,UAAMM,oBAAoBC,qBAAAA;AAC1B,UAAMC,YAAYC,iBAAiB;MACjCxB;MACAkB;MACAL;MACAQ;MACAd;IACF,CAAA;AAGA,UAAM,CAACkB,MAAMC,OAAAA,IAAWC,SAAS,IAAA;AACjC,UAAM,CAACC,UAAUC,WAAAA,IAAeF,SAAS,KAAA;AACzC,UAAMG,cAAcC,YAAmD,CAACC,UAAAA;AACtE,cAAQA,MAAMC,MAAI;QAChB,KAAK;QACL,KAAK;AACHP,kBAAQ,IAAA;AACRG,sBAAY,IAAA;AACZ;QACF,KAAK;AACHH,kBAAQ,KAAA;AACR;MACJ;IACF,GAAG,CAAA,CAAE;AAEL,QAAI,CAAC1B,QAAQ,CAACuB,WAAW;AACvB,aAAO;IACT;AAEA,WACE,sBAAA,cAACW,KAAKC,MAAI;MAACnC;MAAYuB;MAAsBa,SAASN;OACpD,sBAAA,cAACO,kBAAkBF,MAAI;MAACV;MAAYG;MAAoBU,cAAcZ;OACpE,sBAAA,cAACW,kBAAkBE,QAAM;MAACC,OAAOvC,EAAE,wBAAA;QACnC,sBAAA,cAACoC,kBAAkBI,SAAO,MACxB,sBAAA,cAACP,KAAKQ,QAAM,IAAA,CAAA,GAEd,sBAAA,cAACL,kBAAkBM,QAAM;MAACC,YAAW;OACnC,sBAAA,cAACV,KAAKW,QAAM;MAAE,GAAG1B;MAAWD,QAAQA,QAAQd;MAAIW;MAAgB+B,gBAAgB9B;MAAW+B,YAAAA;;;;;AAKrG;AAEA,IAAA,qBAAehD;",
6
+ "names": ["React", "useCallback", "useState", "Capabilities", "useCapability", "getSpace", "useTranslation", "ChatDialog", "NaturalChatDialog", "ChatDialog", "chat", "t", "useTranslation", "meta", "id", "space", "getSpace", "settings", "useCapability", "Capabilities", "SettingsStore", "getStore", "value", "services", "useChatServices", "online", "setOnline", "useOnline", "preset", "chatProps", "usePresets", "blueprintRegistry", "useBlueprintRegistry", "processor", "useChatProcessor", "open", "setOpen", "useState", "expanded", "setExpanded", "handleEvent", "useCallback", "event", "type", "Chat", "Root", "onEvent", "NaturalChatDialog", "onOpenChange", "Header", "title", "Content", "Thread", "Footer", "classNames", "Prompt", "onOnlineChange", "expandable"]
7
+ }
@@ -0,0 +1,60 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ TemplateEditor
4
+ } from "./chunk-KJGD4EBJ.mjs";
5
+ import {
6
+ meta
7
+ } from "./chunk-WE6KTH72.mjs";
8
+ import "./chunk-HSLMI22Q.mjs";
9
+
10
+ // src/components/PromptArticle.tsx
11
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
+ import React, { useMemo } from "react";
13
+ import { Agent } from "@dxos/assistant-toolkit";
14
+ import { Obj } from "@dxos/echo";
15
+ import { invokeFunctionWithTracing, useComputeRuntimeCallback } from "@dxos/plugin-automation";
16
+ import { getSpace } from "@dxos/react-client/echo";
17
+ import { Toolbar, useTranslation } from "@dxos/react-ui";
18
+ import { useAttention } from "@dxos/react-ui-attention";
19
+ import { StackItem } from "@dxos/react-ui-stack";
20
+ var PromptArticle = ({ subject }) => {
21
+ var _effect = _useSignals();
22
+ try {
23
+ const { t } = useTranslation(meta.id);
24
+ const space = getSpace(subject);
25
+ const { hasAttention } = useAttention(Obj.getDXN(subject).toString());
26
+ const inputData = useMemo(() => subject && {
27
+ prompt: space?.db.ref(Obj.getDXN(subject)),
28
+ input: {}
29
+ }, [
30
+ subject,
31
+ space
32
+ ]);
33
+ const handleRun = useComputeRuntimeCallback(space, () => invokeFunctionWithTracing(Agent.prompt, inputData), [
34
+ inputData
35
+ ]);
36
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
37
+ toolbar: true
38
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
39
+ disabled: !hasAttention,
40
+ onClick: handleRun
41
+ }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
42
+ iconOnly: true,
43
+ icon: "ph--play--regular",
44
+ label: t("run prompt label"),
45
+ onClick: handleRun
46
+ })), /* @__PURE__ */ React.createElement(TemplateEditor, {
47
+ id: subject.id,
48
+ template: subject.instructions,
49
+ classNames: "container-max-width"
50
+ }));
51
+ } finally {
52
+ _effect.f();
53
+ }
54
+ };
55
+ var PromptArticle_default = PromptArticle;
56
+ export {
57
+ PromptArticle,
58
+ PromptArticle_default as default
59
+ };
60
+ //# sourceMappingURL=PromptArticle-OUKFSJQV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/PromptArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { Agent } from '@dxos/assistant-toolkit';\nimport { type Prompt } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { invokeFunctionWithTracing, useComputeRuntimeCallback } from '@dxos/plugin-automation';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { meta } from '../meta';\n\nimport { TemplateEditor } from './TemplateEditor';\n\nexport type PromptArticleProps = SurfaceComponentProps<Prompt.Prompt>;\n\nexport const PromptArticle = ({ subject }: PromptArticleProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(subject);\n const { hasAttention } = useAttention(Obj.getDXN(subject).toString());\n\n const inputData = useMemo(\n () =>\n subject && {\n prompt: space?.db.ref(Obj.getDXN(subject)),\n input: {},\n },\n [subject, space],\n );\n\n const handleRun = useComputeRuntimeCallback(space, () => invokeFunctionWithTracing(Agent.prompt, inputData), [\n inputData,\n ]);\n\n return (\n <StackItem.Content toolbar>\n <Toolbar.Root disabled={!hasAttention} onClick={handleRun}>\n <Toolbar.IconButton iconOnly icon='ph--play--regular' label={t('run prompt label')} onClick={handleRun} />\n </Toolbar.Root>\n <TemplateEditor id={subject.id} template={subject.instructions} classNames='container-max-width' />\n </StackItem.Content>\n );\n};\n\nexport default PromptArticle;\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAG/B,SAASC,aAAa;AAEtB,SAASC,WAAW;AACpB,SAASC,2BAA2BC,iCAAiC;AACrE,SAASC,gBAAgB;AACzB,SAASC,SAASC,sBAAsB;AACxC,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAQnB,IAAMC,gBAAgB,CAAC,EAAEC,QAAO,MAAsB;;;AAC3D,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,UAAMC,QAAQC,SAASN,OAAAA;AACvB,UAAM,EAAEO,aAAY,IAAKC,aAAaC,IAAIC,OAAOV,OAAAA,EAASW,SAAQ,CAAA;AAElE,UAAMC,YAAYC,QAChB,MACEb,WAAW;MACTc,QAAQT,OAAOU,GAAGC,IAAIP,IAAIC,OAAOV,OAAAA,CAAAA;MACjCiB,OAAO,CAAC;IACV,GACF;MAACjB;MAASK;KAAM;AAGlB,UAAMa,YAAYC,0BAA0Bd,OAAO,MAAMe,0BAA0BC,MAAMP,QAAQF,SAAAA,GAAY;MAC3GA;KACD;AAED,WACE,sBAAA,cAACU,UAAUC,SAAO;MAACC,SAAAA;OACjB,sBAAA,cAACC,QAAQC,MAAI;MAACC,UAAU,CAACpB;MAAcqB,SAASV;OAC9C,sBAAA,cAACO,QAAQI,YAAU;MAACC,UAAAA;MAASC,MAAK;MAAoBC,OAAO/B,EAAE,kBAAA;MAAqB2B,SAASV;SAE/F,sBAAA,cAACe,gBAAAA;MAAe7B,IAAIJ,QAAQI;MAAI8B,UAAUlC,QAAQmC;MAAcC,YAAW;;;;;AAGjF;AAEA,IAAA,wBAAerC;",
6
+ "names": ["React", "useMemo", "Agent", "Obj", "invokeFunctionWithTracing", "useComputeRuntimeCallback", "getSpace", "Toolbar", "useTranslation", "useAttention", "StackItem", "PromptArticle", "subject", "t", "useTranslation", "meta", "id", "space", "getSpace", "hasAttention", "useAttention", "Obj", "getDXN", "toString", "inputData", "useMemo", "prompt", "db", "ref", "input", "handleRun", "useComputeRuntimeCallback", "invokeFunctionWithTracing", "Agent", "StackItem", "Content", "toolbar", "Toolbar", "Root", "disabled", "onClick", "IconButton", "iconOnly", "icon", "label", "TemplateEditor", "template", "instructions", "classNames"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import "./chunk-HSLMI22Q.mjs";
3
+
4
+ // src/capabilities/ai-service.ts
5
+ import * as Effect from "effect/Effect";
6
+ import * as Layer from "effect/Layer";
7
+ import * as AiServiceRouter from "@dxos/ai/AiServiceRouter";
8
+ import { Capabilities, contributes } from "@dxos/app-framework";
9
+ var ai_service_default = ((context) => {
10
+ const resolvers = context.getCapabilities(Capabilities.AiModelResolver);
11
+ const combinedLayer = resolvers.reduce((acc, resolver) => resolver.pipe(Layer.provide(acc)), AiServiceRouter.AiModelResolver.fromModelMap(Effect.succeed({})));
12
+ return [
13
+ // TODO(dmaretskyi): Read config from settings.
14
+ contributes(Capabilities.AiServiceLayer, AiServiceRouter.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)))
15
+ ];
16
+ });
17
+ export {
18
+ ai_service_default as default
19
+ };
20
+ //# sourceMappingURL=ai-service-MUYLV3NT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-service.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport * as AiServiceRouter from '@dxos/ai/AiServiceRouter';\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\n\nexport default (context: PluginContext) => {\n const resolvers = context.getCapabilities(Capabilities.AiModelResolver);\n\n // TODO(dmaretskyi): Extract function to reduce them.\n const combinedLayer = resolvers.reduce(\n (acc, resolver) => resolver.pipe(Layer.provide(acc)),\n AiServiceRouter.AiModelResolver.fromModelMap(Effect.succeed({})), // Empty resolver as fallback.\n );\n\n return [\n // TODO(dmaretskyi): Read config from settings.\n contributes(\n Capabilities.AiServiceLayer,\n AiServiceRouter.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)),\n ),\n ];\n};\n"],
5
+ "mappings": ";;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,YAAYC,qBAAqB;AACjC,SAASC,cAAkCC,mBAAmB;AAE9D,IAAA,sBAAe,CAACC,YAAAA;AACd,QAAMC,YAAYD,QAAQE,gBAAgBC,aAAaC,eAAe;AAGtE,QAAMC,gBAAgBJ,UAAUK,OAC9B,CAACC,KAAKC,aAAaA,SAASC,KAAWC,cAAQH,GAAAA,CAAAA,GAC/BH,gCAAgBO,aAAoBC,eAAQ,CAAC,CAAA,CAAA,CAAA;AAG/D,SAAO;;IAELC,YACEV,aAAaW,gBACGV,gCAAgBW,eAAeN,KAAWC,cAAQL,aAAAA,CAAAA,CAAAA;;AAGxE;",
6
+ "names": ["Effect", "Layer", "AiServiceRouter", "Capabilities", "contributes", "context", "resolvers", "getCapabilities", "Capabilities", "AiModelResolver", "combinedLayer", "reduce", "acc", "resolver", "pipe", "provide", "fromModelMap", "succeed", "contributes", "AiServiceLayer", "buildAiService"]
7
+ }
@@ -2,34 +2,65 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  AssistantAction_exports,
4
4
  Assistant_exports
5
- } from "./chunk-7YOGZI66.mjs";
5
+ } from "./chunk-AB74FOA2.mjs";
6
6
  import {
7
7
  AssistantCapabilities
8
- } from "./chunk-XD4CDA4R.mjs";
8
+ } from "./chunk-YWFWT57N.mjs";
9
9
  import {
10
10
  ASSISTANT_DIALOG,
11
11
  meta
12
- } from "./chunk-VFY2JG62.mjs";
12
+ } from "./chunk-WE6KTH72.mjs";
13
13
  import "./chunk-HSLMI22Q.mjs";
14
14
 
15
15
  // src/capabilities/app-graph-builder.ts
16
- import { Rx } from "@effect-rx/rx-react";
17
- import { Option, pipe } from "effect";
16
+ import { Atom } from "@effect-atom/atom-react";
17
+ import * as Function from "effect/Function";
18
+ import * as Option from "effect/Option";
18
19
  import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
20
+ import { Prompt } from "@dxos/blueprints";
19
21
  import { Sequence } from "@dxos/conductor";
20
- import { Obj } from "@dxos/echo";
22
+ import { DXN, Obj } from "@dxos/echo";
21
23
  import { invariant } from "@dxos/invariant";
22
24
  import { ClientCapabilities } from "@dxos/plugin-client";
23
25
  import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
24
- import { ROOT_ID, createExtension, rxFromSignal } from "@dxos/plugin-graph";
26
+ import { ROOT_ID, atomFromSignal, createExtension } from "@dxos/plugin-graph";
25
27
  import { getActiveSpace } from "@dxos/plugin-space";
26
28
  import { SpaceAction } from "@dxos/plugin-space/types";
27
- import { Query, fullyQualifiedId } from "@dxos/react-client/echo";
29
+ import { Query, getSpace } from "@dxos/react-client/echo";
28
30
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
29
- var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
31
+ var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, [
32
+ createExtension({
33
+ id: `${meta.id}/root`,
34
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
35
+ return Obj.instanceOf(Assistant_exports.Chat, node2.data) ? Option.some(node2.data) : Option.none();
36
+ }), Option.map((object) => {
37
+ const id = Obj.getDXN(object).toString();
38
+ return [
39
+ {
40
+ id: `${AssistantAction_exports.UpdateChatName._tag}/${id}`,
41
+ data: async () => {
42
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
43
+ await dispatch(createIntent(AssistantAction_exports.UpdateChatName, {
44
+ chat: object
45
+ }));
46
+ },
47
+ properties: {
48
+ label: [
49
+ "chat update name label",
50
+ {
51
+ ns: meta.id
52
+ }
53
+ ],
54
+ icon: "ph--magic-wand--regular",
55
+ disposition: "list-item"
56
+ }
57
+ }
58
+ ];
59
+ }), Option.getOrElse(() => [])))
60
+ }),
30
61
  createExtension({
31
62
  id: `${meta.id}/assistant`,
32
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
63
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
33
64
  {
34
65
  id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,
35
66
  data: async () => {
@@ -73,12 +104,27 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
73
104
  createExtension({
74
105
  id: `${meta.id}/companion-chat`,
75
106
  connector: (node) => {
76
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((object) => {
77
- const currentChat = get(rxFromSignal(() => context.getCapability(AssistantCapabilities.State).currentChat[fullyQualifiedId(object)]));
107
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((object) => {
108
+ const currentChatState = get(atomFromSignal(() => context.getCapability(AssistantCapabilities.State).currentChat[Obj.getDXN(object).toString()]));
109
+ if (!currentChatState) {
110
+ return Option.some({
111
+ object,
112
+ currentChat: void 0
113
+ });
114
+ }
115
+ const space = getSpace(object);
116
+ const currentChatDxn = DXN.tryParse(currentChatState);
117
+ const currentChatRef = currentChatDxn ? space?.db.ref(currentChatDxn) : void 0;
118
+ const currentChat = get(atomFromSignal(() => currentChatRef?.target));
119
+ return currentChat ? Option.some({
120
+ object,
121
+ currentChat
122
+ }) : Option.none();
123
+ }), Option.map(({ object, currentChat }) => {
78
124
  return [
79
125
  {
80
126
  id: [
81
- fullyQualifiedId(object),
127
+ Obj.getDXN(object).toString(),
82
128
  "assistant-chat"
83
129
  ].join(ATTENDABLE_PATH_SEPARATOR),
84
130
  type: PLANK_COMPANION_TYPE,
@@ -100,18 +146,18 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
100
146
  }
101
147
  }),
102
148
  createExtension({
103
- id: `${meta.id}/sequence-logs`,
104
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Sequence, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
149
+ id: `${meta.id}/invocations`,
150
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Sequence, node2.data) || Obj.instanceOf(Prompt.Prompt, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
105
151
  {
106
152
  id: [
107
153
  node2.id,
108
- "logs"
154
+ "invocations"
109
155
  ].join(ATTENDABLE_PATH_SEPARATOR),
110
156
  type: PLANK_COMPANION_TYPE,
111
- data: "logs",
157
+ data: "invocations",
112
158
  properties: {
113
159
  label: [
114
- "sequence logs label",
160
+ "invocations label",
115
161
  {
116
162
  ns: meta.id
117
163
  }
@@ -122,7 +168,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
122
168
  }
123
169
  ]), Option.getOrElse(() => [])))
124
170
  })
125
- ]);
171
+ ]));
126
172
  var getOrCreateChat = async (dispatch, space) => {
127
173
  const { objects: allChats } = await space.db.query(Query.type(Assistant_exports.Chat)).run();
128
174
  const { objects: relatedChats } = await space.db.query(Query.type(Assistant_exports.Chat).sourceOf(Assistant_exports.CompanionTo).source()).run();
@@ -135,7 +181,7 @@ var getOrCreateChat = async (dispatch, space) => {
135
181
  }));
136
182
  invariant(Obj.instanceOf(Assistant_exports.Chat, data?.object), void 0, {
137
183
  F: __dxlog_file,
138
- L: 159,
184
+ L: 207,
139
185
  S: void 0,
140
186
  A: [
141
187
  "Obj.instanceOf(Assistant.Chat, data?.object)",
@@ -151,4 +197,4 @@ var getOrCreateChat = async (dispatch, space) => {
151
197
  export {
152
198
  app_graph_builder_default as default
153
199
  };
154
- //# sourceMappingURL=app-graph-builder-NM3JDLQ2.mjs.map
200
+ //# sourceMappingURL=app-graph-builder-VRN6ESRR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n type PromiseIntentDispatcher,\n contributes,\n createIntent,\n} from '@dxos/app-framework';\nimport { Prompt } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { ROOT_ID, atomFromSignal, createExtension } from '@dxos/plugin-graph';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Query, type Space, getSpace } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, meta } from '../meta';\nimport { Assistant, AssistantAction } from '../types';\n\nimport { AssistantCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/root`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n return Obj.instanceOf(Assistant.Chat, node.data) ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const id = Obj.getDXN(object).toString();\n return [\n {\n id: `${AssistantAction.UpdateChatName._tag}/${id}`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(AssistantAction.UpdateChatName, { chat: object }));\n },\n properties: {\n label: ['chat update name label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n disposition: 'list-item',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${meta.id}/assistant`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n const chat = await getOrCreateChat(dispatch, space);\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${meta.id}/companion-chat`,\n connector: (node) => {\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node.data) : Option.none())),\n Option.flatMap((object) => {\n const currentChatState = get(\n atomFromSignal(\n () => context.getCapability(AssistantCapabilities.State).currentChat[Obj.getDXN(object).toString()],\n ),\n );\n // If no state, continue to allow chat initialization.\n if (!currentChatState) {\n return Option.some({ object, currentChat: undefined });\n }\n\n const space = getSpace(object);\n const currentChatDxn = DXN.tryParse(currentChatState);\n const currentChatRef = currentChatDxn ? space?.db.ref(currentChatDxn) : undefined;\n const currentChat = get(atomFromSignal(() => currentChatRef?.target));\n return currentChat ? Option.some({ object, currentChat }) : Option.none();\n }),\n Option.map(({ object, currentChat }) => {\n return [\n {\n id: [Obj.getDXN(object).toString(), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: currentChat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${meta.id}/invocations`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Sequence, node.data) || Obj.instanceOf(Prompt.Prompt, node.data)\n ? Option.some(node)\n : Option.none(),\n ),\n Option.map((node) => [\n {\n id: [node.id, 'invocations'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'invocations',\n properties: {\n label: ['invocations label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (\n dispatch: PromiseIntentDispatcher,\n space: Space,\n): Promise<Assistant.Chat | undefined> => {\n // TODO(wittjosiah): This should be possible with a single query.\n const { objects: allChats } = await space.db.query(Query.type(Assistant.Chat)).run();\n const { objects: relatedChats } = await space.db\n .query(Query.type(Assistant.Chat).sourceOf(Assistant.CompanionTo).source())\n .run();\n\n const chats = allChats.filter((chat) => !relatedChats.includes(chat));\n if (chats.length > 0) {\n return chats.at(-1);\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(Obj.instanceOf(Assistant.Chat, data?.object));\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "Function", "Option", "Capabilities", "LayoutAction", "contributes", "createIntent", "Prompt", "Sequence", "DXN", "Obj", "invariant", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "ROOT_ID", "atomFromSignal", "createExtension", "getActiveSpace", "SpaceAction", "Query", "getSpace", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Atom", "make", "get", "pipe", "flatMap", "Obj", "instanceOf", "Assistant", "Chat", "data", "some", "none", "map", "object", "getDXN", "toString", "AssistantAction", "UpdateChatName", "_tag", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "chat", "properties", "label", "ns", "icon", "disposition", "getOrElse", "ROOT_ID", "LayoutAction", "UpdateDialog", "client", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "getOrCreateChat", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "position", "keyBinding", "macos", "windows", "connector", "isObject", "currentChatState", "atomFromSignal", "AssistantCapabilities", "State", "currentChat", "undefined", "getSpace", "currentChatDxn", "DXN", "tryParse", "currentChatRef", "db", "ref", "target", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "Sequence", "Prompt", "objects", "allChats", "query", "Query", "run", "relatedChats", "sourceOf", "CompanionTo", "source", "chats", "filter", "includes", "length", "at", "CreateChat", "invariant", "SpaceAction", "AddObject"]
7
+ }
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- BLUEPRINT_KEY,
3
+ ASSISTANT_BLUEPRINT_KEY,
4
4
  blueprint_definition_default,
5
5
  createBlueprint
6
- } from "./chunk-QG2KT3AT.mjs";
6
+ } from "./chunk-UXTUHH24.mjs";
7
7
  import "./chunk-HSLMI22Q.mjs";
8
8
  export {
9
- BLUEPRINT_KEY,
9
+ ASSISTANT_BLUEPRINT_KEY,
10
10
  createBlueprint,
11
11
  blueprint_definition_default as default
12
12
  };
13
- //# sourceMappingURL=blueprint-definition-4E6XTLVN.mjs.map
13
+ //# sourceMappingURL=blueprint-definition-XW6QQVLV.mjs.map
@@ -0,0 +1,264 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/processor/update-name.ts
4
+ import * as Effect from "effect/Effect";
5
+ import * as Exit from "effect/Exit";
6
+ import * as Fiber from "effect/Fiber";
7
+ import * as Runtime from "effect/Runtime";
8
+ import { AiService, DEFAULT_EDGE_MODEL } from "@dxos/ai";
9
+ import { AiSession } from "@dxos/assistant";
10
+ import { throwCause } from "@dxos/effect";
11
+ import { trim } from "@dxos/util";
12
+ var updateName = async (runtime, conversation, chat, model = DEFAULT_EDGE_MODEL) => {
13
+ const history = await conversation.getHistory();
14
+ const system = trim`
15
+ It is extremely important that you respond only with the title and nothing else.
16
+ If you cannot do this effectively respond with "New Chat".
17
+ `;
18
+ const prompt = "Suggest a name for this chat";
19
+ const fiber = Effect.gen(void 0, function* () {
20
+ const session = new AiSession();
21
+ return yield* session.run({
22
+ system,
23
+ prompt,
24
+ history
25
+ });
26
+ }).pipe(Effect.provide(AiService.model(model)), Effect.tap((messages) => {
27
+ const message = messages.find((message2) => message2.sender.role === "assistant");
28
+ const title = message?.blocks.find((block) => block._tag === "text")?.text;
29
+ if (title) {
30
+ chat.name = title;
31
+ }
32
+ }), Runtime.runFork(runtime));
33
+ const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);
34
+ if (!Exit.isSuccess(response)) {
35
+ throwCause(response.cause);
36
+ }
37
+ };
38
+
39
+ // src/processor/presets.ts
40
+ import * as Schema from "effect/Schema";
41
+ var ModelProviders = [
42
+ "dxos-local",
43
+ "dxos-remote",
44
+ "lm-studio"
45
+ ];
46
+ var ModelProvider = Schema.Literal(...ModelProviders);
47
+ var createModelLabel = (model) => {
48
+ const parts = model.split("/");
49
+ return parts[parts.length - 1];
50
+ };
51
+ var AiServicePresets = [
52
+ {
53
+ provider: "dxos-remote",
54
+ model: "@anthropic/claude-opus-4-0"
55
+ },
56
+ {
57
+ provider: "dxos-remote",
58
+ model: "@anthropic/claude-sonnet-4-0"
59
+ },
60
+ {
61
+ provider: "dxos-remote",
62
+ model: "@anthropic/claude-3-5-haiku-20241022"
63
+ },
64
+ {
65
+ provider: "lm-studio",
66
+ model: "@google/gemma-3-27b"
67
+ },
68
+ {
69
+ provider: "lm-studio",
70
+ model: "@meta/llama-3.2-3b-instruct"
71
+ },
72
+ {
73
+ model: "deepseek-r1:latest",
74
+ provider: "dxos-local"
75
+ }
76
+ ].map(({ model, provider }, i) => ({
77
+ id: `preset-${i}`,
78
+ provider,
79
+ model,
80
+ label: createModelLabel(model)
81
+ }));
82
+
83
+ // src/processor/processor.ts
84
+ import { Atom, Registry } from "@effect-atom/atom-react";
85
+ import * as Cause from "effect/Cause";
86
+ import * as Effect2 from "effect/Effect";
87
+ import * as Exit2 from "effect/Exit";
88
+ import * as Fiber2 from "effect/Fiber";
89
+ import * as Option from "effect/Option";
90
+ import * as Runtime2 from "effect/Runtime";
91
+ import { AiService as AiService2, DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2 } from "@dxos/ai";
92
+ import { ArtifactDiffResolver, GenerationObserver, createSystemPrompt } from "@dxos/assistant";
93
+ import { Obj } from "@dxos/echo";
94
+ import { throwCause as throwCause2 } from "@dxos/effect";
95
+ import { log } from "@dxos/log";
96
+ import { Message } from "@dxos/types";
97
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/processor/processor.ts";
98
+ var defaultOptions = {
99
+ model: DEFAULT_EDGE_MODEL2
100
+ };
101
+ var AiChatProcessor = class {
102
+ _conversation;
103
+ _services;
104
+ _options;
105
+ _registry;
106
+ /** External observer. */
107
+ _observer;
108
+ /** Currently active request fiber. */
109
+ _fiber;
110
+ /** Last request (for retries). */
111
+ _lastRequest;
112
+ /** Pending messages (incl. the current user request). */
113
+ _pending = Atom.make([]);
114
+ /** Currently streaming message (from the AI service). */
115
+ _streaming = Atom.make(Option.none());
116
+ /** Streaming state. */
117
+ streaming = Atom.make((get) => Option.isSome(get(this._streaming)));
118
+ /** Active state. */
119
+ active = Atom.make(false);
120
+ /** Array of Messages (incl. the current message being streamed). */
121
+ messages = Atom.make((get) => Option.match(get(this._streaming), {
122
+ onNone: () => get(this._pending),
123
+ onSome: (streaming) => [
124
+ ...get(this._pending),
125
+ streaming
126
+ ]
127
+ }));
128
+ /** Last error. */
129
+ error = Atom.make(Option.none());
130
+ constructor(_conversation, _services, _options = defaultOptions) {
131
+ this._conversation = _conversation;
132
+ this._services = _services;
133
+ this._options = _options;
134
+ this._registry = this._options.observableRegistry ?? Registry.make();
135
+ this._observer = GenerationObserver.make({
136
+ onBlock: this._onBlock,
137
+ onMessage: this._onMessage
138
+ });
139
+ if (this._options.model && !this._options.system) {
140
+ const capabilities = this._options.modelRegistry?.getCapabilities(this._options.model) ?? {};
141
+ this._options.system = createSystemPrompt(capabilities);
142
+ }
143
+ }
144
+ get context() {
145
+ return this._conversation.context;
146
+ }
147
+ get conversation() {
148
+ return this._conversation;
149
+ }
150
+ get blueprintRegistry() {
151
+ return this._options.blueprintRegistry;
152
+ }
153
+ /**
154
+ * Initiates a new request.
155
+ */
156
+ async request(requestParam) {
157
+ if (this._fiber) {
158
+ await this.cancel();
159
+ }
160
+ try {
161
+ this._lastRequest = requestParam;
162
+ this._registry.set(this.error, Option.none());
163
+ this._registry.set(this.active, true);
164
+ const request = this._conversation.createRequest({
165
+ system: this._options.system,
166
+ prompt: requestParam.message,
167
+ observer: this._observer
168
+ });
169
+ const runtime = await this._services();
170
+ this._fiber = request.pipe(
171
+ Effect2.provide(AiService2.model(this._options.model ?? DEFAULT_EDGE_MODEL2)),
172
+ // TODO(dmaretskyi): Move ArtifactDiffResolver upstream.
173
+ Effect2.provideService(ArtifactDiffResolver, this._artifactDiffResolver),
174
+ Effect2.asVoid,
175
+ Runtime2.runFork(runtime)
176
+ );
177
+ const response = await this._fiber.pipe(Fiber2.join, Effect2.runPromiseExit);
178
+ if (!Exit2.isSuccess(response) && !Cause.isInterruptedOnly(response.cause)) {
179
+ throwCause2(response.cause);
180
+ }
181
+ this._registry.set(this.error, Option.none());
182
+ this._lastRequest = void 0;
183
+ this._fiber = void 0;
184
+ } catch (error) {
185
+ log.error("request failed", {
186
+ error
187
+ }, {
188
+ F: __dxlog_file,
189
+ L: 187,
190
+ S: this,
191
+ C: (f, a) => f(...a)
192
+ });
193
+ this._registry.set(this.error, Option.some(new Error("AI service error", {
194
+ cause: error
195
+ })));
196
+ } finally {
197
+ this._fiber = void 0;
198
+ this._registry.set(this.active, false);
199
+ }
200
+ }
201
+ /**
202
+ * Cancels the current request.
203
+ */
204
+ async cancel() {
205
+ await Effect2.runPromise(Effect2.gen(this, function* () {
206
+ if (this._fiber) {
207
+ yield* this._fiber.pipe(Fiber2.interrupt);
208
+ }
209
+ }));
210
+ this._fiber = void 0;
211
+ this._registry.set(this.active, false);
212
+ }
213
+ /**
214
+ * Retry last failed request.
215
+ */
216
+ async retry() {
217
+ if (this._lastRequest) {
218
+ return this.request(this._lastRequest);
219
+ }
220
+ }
221
+ /**
222
+ * Update the current chat's name.
223
+ */
224
+ async updateName(chat) {
225
+ const runtime = await this._services();
226
+ await updateName(runtime, this._conversation, chat, this._options.model);
227
+ }
228
+ // TODO(burdon): Fix/factor out.
229
+ _artifactDiffResolver = {
230
+ resolve: async (_artifacts) => {
231
+ const versions = /* @__PURE__ */ new Map();
232
+ return versions;
233
+ }
234
+ };
235
+ _onMessage = Effect2.fn((function* (message) {
236
+ this._registry.set(this._streaming, Option.none());
237
+ this._registry.update(this._pending, (pending) => [
238
+ ...pending,
239
+ message
240
+ ]);
241
+ }).bind(this));
242
+ _onBlock = Effect2.fn((function* (block) {
243
+ this._registry.update(this._streaming, (streaming) => {
244
+ const blocks = streaming.pipe(Option.map((streaming2) => streaming2.blocks.filter((b) => !b.pending)), Option.getOrElse(() => []));
245
+ return Option.some(Obj.make(Message.Message, {
246
+ created: (/* @__PURE__ */ new Date()).toISOString(),
247
+ sender: {
248
+ role: "assistant"
249
+ },
250
+ blocks: [
251
+ ...blocks,
252
+ block
253
+ ]
254
+ }));
255
+ });
256
+ }).bind(this));
257
+ };
258
+
259
+ export {
260
+ AiServicePresets,
261
+ updateName,
262
+ AiChatProcessor
263
+ };
264
+ //# sourceMappingURL=chunk-3Q22TTXW.mjs.map