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

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 (375) hide show
  1. package/dist/lib/browser/{BlueprintContainer-BFNN6K46.mjs → BlueprintContainer-FOZTO447.mjs} +6 -7
  2. package/dist/lib/browser/{BlueprintContainer-BFNN6K46.mjs.map → BlueprintContainer-FOZTO447.mjs.map} +3 -3
  3. package/dist/lib/browser/{ChatCompanion-DOVN34C7.mjs → ChatCompanion-EC6LBEWF.mjs} +38 -14
  4. package/dist/lib/browser/ChatCompanion-EC6LBEWF.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatContainer-XIVJTCC2.mjs → ChatContainer-A2SL6WO5.mjs} +7 -9
  6. package/dist/lib/browser/{ChatContainer-XIVJTCC2.mjs.map → ChatContainer-A2SL6WO5.mjs.map} +3 -3
  7. package/dist/lib/browser/{ChatDialog-EJJMK3WL.mjs → ChatDialog-XMOUFX2P.mjs} +3 -5
  8. package/dist/lib/browser/{ChatDialog-EJJMK3WL.mjs.map → ChatDialog-XMOUFX2P.mjs.map} +1 -1
  9. package/dist/lib/browser/{SequenceContainer-TF5QNXYM.mjs → SequenceContainer-2FEWMQGW.mjs} +4 -4
  10. package/dist/lib/browser/SequenceContainer-2FEWMQGW.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-7AE4R5KJ.mjs} +41 -11
  14. package/dist/lib/browser/app-graph-builder-7AE4R5KJ.mjs.map +7 -0
  15. package/dist/lib/browser/{blueprint-definition-VHFSRTEJ.mjs → blueprint-definition-NSJARW5U.mjs} +2 -2
  16. package/dist/lib/browser/{chunk-GLWD66TA.mjs → chunk-2CE2KPKZ.mjs} +28 -14
  17. package/dist/lib/browser/chunk-2CE2KPKZ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-SMIVXXAI.mjs → chunk-37VMDB4P.mjs} +32 -14
  19. package/dist/lib/browser/chunk-37VMDB4P.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-R6LRGW3I.mjs → chunk-3EWE2UQD.mjs} +11 -7
  21. package/dist/lib/browser/chunk-3EWE2UQD.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-EZUSNS2J.mjs → chunk-5EGXHCAZ.mjs} +2 -5
  23. package/dist/lib/browser/chunk-5EGXHCAZ.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-O4LUJEDV.mjs → chunk-5RICKAMN.mjs} +5 -7
  25. package/dist/lib/browser/chunk-5RICKAMN.mjs.map +7 -0
  26. package/dist/lib/browser/{chunk-C4Q2RYQM.mjs → chunk-7THOIN6F.mjs} +309 -481
  27. package/dist/lib/browser/chunk-7THOIN6F.mjs.map +7 -0
  28. package/dist/lib/browser/{chunk-PQI3MGDN.mjs → chunk-HYYWP3KP.mjs} +6 -5
  29. package/dist/lib/browser/chunk-HYYWP3KP.mjs.map +7 -0
  30. package/dist/lib/browser/{chunk-QD4UUISH.mjs → chunk-Z7DQT64Z.mjs} +39 -37
  31. package/dist/lib/browser/chunk-Z7DQT64Z.mjs.map +7 -0
  32. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +18 -0
  33. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +7 -0
  34. package/dist/lib/browser/index.mjs +71 -48
  35. package/dist/lib/browser/index.mjs.map +4 -4
  36. package/dist/lib/browser/{intent-resolver-I6M3ZDAS.mjs → intent-resolver-BZUU4UNA.mjs} +29 -11
  37. package/dist/lib/browser/intent-resolver-BZUU4UNA.mjs.map +7 -0
  38. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs +17 -0
  39. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs.map +7 -0
  40. package/dist/lib/browser/meta.json +1 -1
  41. package/dist/lib/browser/{react-surface-E4NAGB6R.mjs → react-surface-KRRUOMYY.mjs} +13 -15
  42. package/dist/lib/browser/react-surface-KRRUOMYY.mjs.map +7 -0
  43. package/dist/lib/browser/{settings-36V3VUMW.mjs → settings-PSR3WF3X.mjs} +5 -5
  44. package/dist/lib/browser/{settings-36V3VUMW.mjs.map → settings-PSR3WF3X.mjs.map} +1 -1
  45. package/dist/lib/browser/{state-AINRYS5W.mjs → state-LXTS54DI.mjs} +5 -5
  46. package/dist/lib/browser/{state-AINRYS5W.mjs.map → state-LXTS54DI.mjs.map} +1 -1
  47. package/dist/lib/browser/{toolkit-MPUS3U64.mjs → toolkit-NQ2GXCF5.mjs} +27 -19
  48. package/dist/lib/browser/toolkit-NQ2GXCF5.mjs.map +7 -0
  49. package/dist/lib/browser/types/index.mjs +2 -2
  50. package/dist/lib/node-esm/{BlueprintContainer-X4MRBKDR.mjs → BlueprintContainer-6HSEVQ7U.mjs} +6 -7
  51. package/dist/lib/node-esm/{BlueprintContainer-X4MRBKDR.mjs.map → BlueprintContainer-6HSEVQ7U.mjs.map} +3 -3
  52. package/dist/lib/node-esm/{ChatCompanion-ICWYVPRD.mjs → ChatCompanion-NDYEAUQN.mjs} +38 -14
  53. package/dist/lib/node-esm/ChatCompanion-NDYEAUQN.mjs.map +7 -0
  54. package/dist/lib/node-esm/{ChatContainer-LMMMQD4K.mjs → ChatContainer-NMDQM5HG.mjs} +7 -9
  55. package/dist/lib/node-esm/{ChatContainer-LMMMQD4K.mjs.map → ChatContainer-NMDQM5HG.mjs.map} +3 -3
  56. package/dist/lib/node-esm/{ChatDialog-UUE3F7BT.mjs → ChatDialog-QPRWMRU4.mjs} +3 -5
  57. package/dist/lib/node-esm/{ChatDialog-UUE3F7BT.mjs.map → ChatDialog-QPRWMRU4.mjs.map} +1 -1
  58. package/dist/lib/node-esm/{SequenceContainer-UXOVZPZO.mjs → SequenceContainer-PGGJUQ46.mjs} +4 -4
  59. package/dist/lib/node-esm/SequenceContainer-PGGJUQ46.mjs.map +7 -0
  60. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +20 -0
  61. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +7 -0
  62. package/dist/lib/node-esm/{app-graph-builder-NM3JDLQ2.mjs → app-graph-builder-SJCOS64C.mjs} +41 -11
  63. package/dist/lib/node-esm/app-graph-builder-SJCOS64C.mjs.map +7 -0
  64. package/dist/lib/node-esm/{blueprint-definition-4E6XTLVN.mjs → blueprint-definition-WD2IVMAI.mjs} +2 -2
  65. package/dist/lib/node-esm/{chunk-VFY2JG62.mjs → chunk-73ABYRYX.mjs} +5 -7
  66. package/dist/lib/node-esm/chunk-73ABYRYX.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-LVTG5JTW.mjs → chunk-HDZX6TSZ.mjs} +11 -7
  68. package/dist/lib/node-esm/chunk-HDZX6TSZ.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-4WLFSXZG.mjs → chunk-TMCGJPAN.mjs} +6 -5
  70. package/dist/lib/node-esm/chunk-TMCGJPAN.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-YU62ZWJN.mjs → chunk-TW2WKKSR.mjs} +39 -37
  72. package/dist/lib/node-esm/chunk-TW2WKKSR.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-QG2KT3AT.mjs → chunk-U2NYUS2N.mjs} +28 -14
  74. package/dist/lib/node-esm/chunk-U2NYUS2N.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-XD4CDA4R.mjs → chunk-XQGWSZ4T.mjs} +2 -5
  76. package/dist/lib/node-esm/chunk-XQGWSZ4T.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-V44ZG7CU.mjs → chunk-YZYGXFVG.mjs} +309 -481
  78. package/dist/lib/node-esm/chunk-YZYGXFVG.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-7YOGZI66.mjs → chunk-ZQ3THJ2W.mjs} +32 -14
  80. package/dist/lib/node-esm/chunk-ZQ3THJ2W.mjs.map +7 -0
  81. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +19 -0
  82. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +7 -0
  83. package/dist/lib/node-esm/index.mjs +71 -48
  84. package/dist/lib/node-esm/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/{intent-resolver-VIINHFMT.mjs → intent-resolver-B7YAS3NT.mjs} +29 -11
  86. package/dist/lib/node-esm/intent-resolver-B7YAS3NT.mjs.map +7 -0
  87. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs +18 -0
  88. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs.map +7 -0
  89. package/dist/lib/node-esm/meta.json +1 -1
  90. package/dist/lib/node-esm/{react-surface-5WQLRTCH.mjs → react-surface-VRDDARFF.mjs} +13 -15
  91. package/dist/lib/node-esm/react-surface-VRDDARFF.mjs.map +7 -0
  92. package/dist/lib/node-esm/{settings-7ZCZ6AS5.mjs → settings-4EBIOJVK.mjs} +5 -5
  93. package/dist/lib/node-esm/{settings-7ZCZ6AS5.mjs.map → settings-4EBIOJVK.mjs.map} +1 -1
  94. package/dist/lib/node-esm/{state-EQS5KP6M.mjs → state-BO6GUFLB.mjs} +5 -5
  95. package/dist/lib/node-esm/{state-EQS5KP6M.mjs.map → state-BO6GUFLB.mjs.map} +1 -1
  96. package/dist/lib/node-esm/{toolkit-PKVYDZ4H.mjs → toolkit-V57PRJNG.mjs} +27 -19
  97. package/dist/lib/node-esm/toolkit-V57PRJNG.mjs.map +7 -0
  98. package/dist/lib/node-esm/types/index.mjs +2 -2
  99. package/dist/types/src/AssistantPlugin.d.ts +1 -1
  100. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/ai-service.d.ts +2 -3
  102. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/capabilities.d.ts +0 -21
  106. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/index.d.ts +0 -1
  109. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  113. package/dist/types/src/components/BlueprintSettings.d.ts +6 -0
  114. package/dist/types/src/components/BlueprintSettings.d.ts.map +1 -0
  115. package/dist/types/src/components/Chat/Chat.d.ts +2 -1
  116. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  117. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
  118. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  119. package/dist/types/src/components/ChatThread/ChatThread.d.ts +4 -2
  120. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  121. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +7 -3
  122. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  123. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  124. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +1 -1
  125. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +1 -1
  126. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +8 -3
  127. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +1 -1
  128. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  129. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +4 -1
  130. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +1 -1
  132. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  133. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +4 -1
  134. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  136. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +1 -3
  137. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +1 -1
  138. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +4 -1
  139. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/index.d.ts +1 -1
  141. package/dist/types/src/components/index.d.ts.map +1 -1
  142. package/dist/types/src/functions/analysis.d.ts.map +1 -1
  143. package/dist/types/src/functions/list.d.ts.map +1 -1
  144. package/dist/types/src/functions/load.d.ts.map +1 -1
  145. package/dist/types/src/hooks/index.d.ts +0 -2
  146. package/dist/types/src/hooks/index.d.ts.map +1 -1
  147. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +2 -1
  148. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  149. package/dist/types/src/hooks/useChatProcessor.d.ts +1 -1
  150. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  151. package/dist/types/src/hooks/useChatServices.d.ts +1 -1
  152. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  153. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
  154. package/dist/types/src/index.d.ts +2 -0
  155. package/dist/types/src/index.d.ts.map +1 -1
  156. package/dist/types/src/meta.d.ts +1 -2
  157. package/dist/types/src/meta.d.ts.map +1 -1
  158. package/dist/types/src/processor/index.d.ts +1 -0
  159. package/dist/types/src/processor/index.d.ts.map +1 -1
  160. package/dist/types/src/processor/presets.d.ts +1 -1
  161. package/dist/types/src/processor/presets.d.ts.map +1 -1
  162. package/dist/types/src/processor/processor.d.ts +4 -3
  163. package/dist/types/src/processor/processor.d.ts.map +1 -1
  164. package/dist/types/src/processor/update-name.d.ts +10 -0
  165. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  166. package/dist/types/src/testing/index.d.ts +0 -2
  167. package/dist/types/src/testing/index.d.ts.map +1 -1
  168. package/dist/types/src/testing/test-generator.d.ts +1 -1
  169. package/dist/types/src/testing/test-generator.d.ts.map +1 -1
  170. package/dist/types/src/testing/test-services.d.ts +2 -2
  171. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  172. package/dist/types/src/translations.d.ts +1 -0
  173. package/dist/types/src/translations.d.ts.map +1 -1
  174. package/dist/types/src/types/Assistant.d.ts +16 -7
  175. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  176. package/dist/types/src/types/AssistantAction.d.ts +19 -4
  177. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  178. package/dist/types/src/types/service.d.ts +12 -12
  179. package/dist/types/src/types/service.d.ts.map +1 -1
  180. package/dist/types/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +91 -112
  182. package/src/AssistantPlugin.tsx +138 -137
  183. package/src/capabilities/ai-service.ts +6 -7
  184. package/src/capabilities/app-graph-builder.ts +36 -4
  185. package/src/capabilities/blueprint-definition.ts +7 -1
  186. package/src/capabilities/capabilities.ts +0 -53
  187. package/src/capabilities/edge-model-resolver.ts +5 -7
  188. package/src/capabilities/index.ts +0 -1
  189. package/src/capabilities/intent-resolver.ts +26 -3
  190. package/src/capabilities/local-model-resolver.ts +6 -8
  191. package/src/capabilities/react-surface.tsx +3 -3
  192. package/src/capabilities/toolkit.ts +16 -11
  193. package/src/components/BlueprintContainer.tsx +2 -2
  194. package/src/components/BlueprintSettings.tsx +15 -0
  195. package/src/components/Chat/Chat.tsx +41 -34
  196. package/src/components/ChatCompanion.tsx +33 -8
  197. package/src/components/ChatContainer.tsx +2 -2
  198. package/src/components/ChatProgress/ChatProgress.tsx +1 -2
  199. package/src/components/ChatPrompt/ChatOptions.tsx +17 -25
  200. package/src/components/ChatThread/ChatThread.stories.tsx +6 -7
  201. package/src/components/ChatThread/ChatThread.tsx +7 -3
  202. package/src/components/ChatThread/registry.tsx +6 -11
  203. package/src/components/ChatThread/sync.test.ts +1 -1
  204. package/src/components/ChatThread/sync.ts +1 -1
  205. package/src/components/SequenceContainer.tsx +2 -2
  206. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +5 -4
  207. package/src/components/SequenceEditor/SequenceEditor.tsx +2 -2
  208. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +5 -5
  209. package/src/components/TemplateEditor/TemplateEditor.tsx +8 -4
  210. package/src/components/TemplateEditor/TemplateForm.stories.tsx +3 -5
  211. package/src/components/TemplateEditor/TemplateForm.tsx +1 -1
  212. package/src/components/ToolBlock/ToolBlock.tsx +6 -6
  213. package/src/components/Toolbar/Toolbar.tsx +1 -1
  214. package/src/components/Toolbar/useChatToolbarActions.ts +1 -1
  215. package/src/components/Toolbox/Toolbox.stories.tsx +3 -6
  216. package/src/components/index.ts +1 -1
  217. package/src/functions/analysis.ts +4 -2
  218. package/src/functions/list.ts +4 -2
  219. package/src/functions/load.ts +7 -3
  220. package/src/hooks/index.ts +0 -2
  221. package/src/hooks/useBlueprintRegistry.ts +17 -3
  222. package/src/hooks/useChatProcessor.ts +12 -4
  223. package/src/hooks/useChatServices.ts +5 -4
  224. package/src/hooks/useContextBinder.ts +17 -5
  225. package/src/hooks/useItemTypes.ts +1 -1
  226. package/src/index.ts +2 -0
  227. package/src/meta.ts +3 -5
  228. package/src/processor/index.ts +1 -0
  229. package/src/processor/presets.ts +1 -1
  230. package/src/processor/processor.test.ts +17 -13
  231. package/src/processor/processor.ts +14 -39
  232. package/src/processor/update-name.ts +57 -0
  233. package/src/testing/index.ts +0 -2
  234. package/src/testing/test-generator.ts +5 -1
  235. package/src/testing/test-services.ts +2 -8
  236. package/src/translations.ts +1 -0
  237. package/src/types/Assistant.ts +7 -4
  238. package/src/types/AssistantAction.ts +10 -2
  239. package/src/types/service.ts +15 -7
  240. package/dist/lib/browser/ChatCompanion-DOVN34C7.mjs.map +0 -7
  241. package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs.map +0 -7
  242. package/dist/lib/browser/ai-service-YC2EQPHA.mjs +0 -22
  243. package/dist/lib/browser/ai-service-YC2EQPHA.mjs.map +0 -7
  244. package/dist/lib/browser/app-graph-builder-3C43MLCD.mjs.map +0 -7
  245. package/dist/lib/browser/chunk-C4Q2RYQM.mjs.map +0 -7
  246. package/dist/lib/browser/chunk-EZUSNS2J.mjs.map +0 -7
  247. package/dist/lib/browser/chunk-GLWD66TA.mjs.map +0 -7
  248. package/dist/lib/browser/chunk-O4LUJEDV.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-PQI3MGDN.mjs.map +0 -7
  250. package/dist/lib/browser/chunk-QD4UUISH.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-R6LRGW3I.mjs.map +0 -7
  252. package/dist/lib/browser/chunk-SMIVXXAI.mjs.map +0 -7
  253. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs +0 -155
  254. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs.map +0 -7
  255. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs +0 -22
  256. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs.map +0 -7
  257. package/dist/lib/browser/intent-resolver-I6M3ZDAS.mjs.map +0 -7
  258. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs +0 -21
  259. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs.map +0 -7
  260. package/dist/lib/browser/react-surface-E4NAGB6R.mjs.map +0 -7
  261. package/dist/lib/browser/toolkit-MPUS3U64.mjs.map +0 -7
  262. package/dist/lib/node-esm/ChatCompanion-ICWYVPRD.mjs.map +0 -7
  263. package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs.map +0 -7
  264. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs +0 -23
  265. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs.map +0 -7
  266. package/dist/lib/node-esm/app-graph-builder-NM3JDLQ2.mjs.map +0 -7
  267. package/dist/lib/node-esm/chunk-4WLFSXZG.mjs.map +0 -7
  268. package/dist/lib/node-esm/chunk-7YOGZI66.mjs.map +0 -7
  269. package/dist/lib/node-esm/chunk-LVTG5JTW.mjs.map +0 -7
  270. package/dist/lib/node-esm/chunk-QG2KT3AT.mjs.map +0 -7
  271. package/dist/lib/node-esm/chunk-V44ZG7CU.mjs.map +0 -7
  272. package/dist/lib/node-esm/chunk-VFY2JG62.mjs.map +0 -7
  273. package/dist/lib/node-esm/chunk-XD4CDA4R.mjs.map +0 -7
  274. package/dist/lib/node-esm/chunk-YU62ZWJN.mjs.map +0 -7
  275. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs +0 -156
  276. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs.map +0 -7
  277. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs +0 -23
  278. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs.map +0 -7
  279. package/dist/lib/node-esm/intent-resolver-VIINHFMT.mjs.map +0 -7
  280. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs +0 -22
  281. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs.map +0 -7
  282. package/dist/lib/node-esm/react-surface-5WQLRTCH.mjs.map +0 -7
  283. package/dist/lib/node-esm/toolkit-PKVYDZ4H.mjs.map +0 -7
  284. package/dist/types/src/capabilities/compute-runtime.d.ts +0 -5
  285. package/dist/types/src/capabilities/compute-runtime.d.ts.map +0 -1
  286. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  287. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  288. package/dist/types/src/execution-graph/execution-graph.d.ts +0 -21
  289. package/dist/types/src/execution-graph/execution-graph.d.ts.map +0 -1
  290. package/dist/types/src/execution-graph/index.d.ts +0 -2
  291. package/dist/types/src/execution-graph/index.d.ts.map +0 -1
  292. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +0 -8
  293. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +0 -1
  294. package/dist/types/src/hooks/useExecutionGraph.d.ts +0 -6
  295. package/dist/types/src/hooks/useExecutionGraph.d.ts.map +0 -1
  296. package/dist/types/src/stories/Chat.stories.d.ts +0 -30
  297. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  298. package/dist/types/src/stories/components/BlueprintContainer.d.ts +0 -4
  299. package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +0 -1
  300. package/dist/types/src/stories/components/ChatContainer.d.ts +0 -4
  301. package/dist/types/src/stories/components/ChatContainer.d.ts.map +0 -1
  302. package/dist/types/src/stories/components/ChessContainer.d.ts +0 -4
  303. package/dist/types/src/stories/components/ChessContainer.d.ts.map +0 -1
  304. package/dist/types/src/stories/components/CommentsContainer.d.ts +0 -4
  305. package/dist/types/src/stories/components/CommentsContainer.d.ts.map +0 -1
  306. package/dist/types/src/stories/components/DebugCard.d.ts +0 -8
  307. package/dist/types/src/stories/components/DebugCard.d.ts.map +0 -1
  308. package/dist/types/src/stories/components/GraphContainer.d.ts +0 -6
  309. package/dist/types/src/stories/components/GraphContainer.d.ts.map +0 -1
  310. package/dist/types/src/stories/components/InvocationsContainer.d.ts +0 -4
  311. package/dist/types/src/stories/components/InvocationsContainer.d.ts.map +0 -1
  312. package/dist/types/src/stories/components/LoggingContainer.d.ts +0 -7
  313. package/dist/types/src/stories/components/LoggingContainer.d.ts.map +0 -1
  314. package/dist/types/src/stories/components/MessageContainer.d.ts +0 -4
  315. package/dist/types/src/stories/components/MessageContainer.d.ts.map +0 -1
  316. package/dist/types/src/stories/components/PromptContainer.d.ts +0 -6
  317. package/dist/types/src/stories/components/PromptContainer.d.ts.map +0 -1
  318. package/dist/types/src/stories/components/ResearchInputStack.d.ts +0 -4
  319. package/dist/types/src/stories/components/ResearchInputStack.d.ts.map +0 -1
  320. package/dist/types/src/stories/components/ResearchOutputStack.d.ts +0 -4
  321. package/dist/types/src/stories/components/ResearchOutputStack.d.ts.map +0 -1
  322. package/dist/types/src/stories/components/TasksContainer.d.ts +0 -4
  323. package/dist/types/src/stories/components/TasksContainer.d.ts.map +0 -1
  324. package/dist/types/src/stories/components/TokenManagerContainer.d.ts +0 -3
  325. package/dist/types/src/stories/components/TokenManagerContainer.d.ts.map +0 -1
  326. package/dist/types/src/stories/components/TriggersContainer.d.ts +0 -14
  327. package/dist/types/src/stories/components/TriggersContainer.d.ts.map +0 -1
  328. package/dist/types/src/stories/components/index.d.ts +0 -16
  329. package/dist/types/src/stories/components/index.d.ts.map +0 -1
  330. package/dist/types/src/stories/components/types.d.ts +0 -7
  331. package/dist/types/src/stories/components/types.d.ts.map +0 -1
  332. package/dist/types/src/stories/testing/data.d.ts +0 -9
  333. package/dist/types/src/stories/testing/data.d.ts.map +0 -1
  334. package/dist/types/src/stories/testing/index.d.ts +0 -3
  335. package/dist/types/src/stories/testing/index.d.ts.map +0 -1
  336. package/dist/types/src/stories/testing/schema.d.ts +0 -7
  337. package/dist/types/src/stories/testing/schema.d.ts.map +0 -1
  338. package/dist/types/src/stories/testing/testing.d.ts +0 -48
  339. package/dist/types/src/stories/testing/testing.d.ts.map +0 -1
  340. package/dist/types/src/testing/test-data.d.ts +0 -14
  341. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  342. package/dist/types/src/testing/test-functions.d.ts +0 -6
  343. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  344. package/src/capabilities/compute-runtime.ts +0 -124
  345. package/src/components/PromptSettings.tsx +0 -90
  346. package/src/execution-graph/execution-graph.ts +0 -211
  347. package/src/execution-graph/index.ts +0 -5
  348. package/src/hooks/useComputeRuntimeCallback.ts +0 -25
  349. package/src/hooks/useExecutionGraph.ts +0 -20
  350. package/src/stories/Chat.stories.tsx +0 -657
  351. package/src/stories/components/BlueprintContainer.tsx +0 -34
  352. package/src/stories/components/ChatContainer.tsx +0 -74
  353. package/src/stories/components/ChessContainer.tsx +0 -17
  354. package/src/stories/components/CommentsContainer.tsx +0 -25
  355. package/src/stories/components/DebugCard.tsx +0 -61
  356. package/src/stories/components/GraphContainer.tsx +0 -119
  357. package/src/stories/components/InvocationsContainer.tsx +0 -17
  358. package/src/stories/components/LoggingContainer.tsx +0 -33
  359. package/src/stories/components/MessageContainer.tsx +0 -22
  360. package/src/stories/components/PromptContainer.tsx +0 -52
  361. package/src/stories/components/ResearchInputStack.tsx +0 -30
  362. package/src/stories/components/ResearchOutputStack.tsx +0 -29
  363. package/src/stories/components/TasksContainer.tsx +0 -49
  364. package/src/stories/components/TokenManagerContainer.tsx +0 -14
  365. package/src/stories/components/TriggersContainer.tsx +0 -75
  366. package/src/stories/components/index.ts +0 -20
  367. package/src/stories/components/types.ts +0 -11
  368. package/src/stories/testing/data.ts +0 -142
  369. package/src/stories/testing/index.ts +0 -6
  370. package/src/stories/testing/schema.ts +0 -17
  371. package/src/stories/testing/testing.tsx +0 -279
  372. package/src/testing/test-data.ts +0 -245
  373. package/src/testing/test-functions.ts +0 -16
  374. /package/dist/lib/browser/{blueprint-definition-VHFSRTEJ.mjs.map → blueprint-definition-NSJARW5U.mjs.map} +0 -0
  375. /package/dist/lib/node-esm/{blueprint-definition-4E6XTLVN.mjs.map → blueprint-definition-WD2IVMAI.mjs.map} +0 -0
@@ -1,24 +1,22 @@
1
1
  import {
2
2
  AssistantSettings,
3
3
  BlueprintContainer,
4
+ BlueprintSettings,
4
5
  ChatCompanion,
5
6
  ChatContainer,
6
7
  ChatDialog,
7
- PromptSettings,
8
8
  SequenceContainer
9
- } from "./chunk-QD4UUISH.mjs";
10
- import "./chunk-R6LRGW3I.mjs";
11
- import "./chunk-PQI3MGDN.mjs";
12
- import "./chunk-C4Q2RYQM.mjs";
13
- import "./chunk-GLWD66TA.mjs";
9
+ } from "./chunk-Z7DQT64Z.mjs";
10
+ import "./chunk-3EWE2UQD.mjs";
11
+ import "./chunk-HYYWP3KP.mjs";
12
+ import "./chunk-7THOIN6F.mjs";
14
13
  import {
15
14
  Assistant_exports
16
- } from "./chunk-SMIVXXAI.mjs";
17
- import "./chunk-EZUSNS2J.mjs";
15
+ } from "./chunk-37VMDB4P.mjs";
18
16
  import {
19
17
  ASSISTANT_DIALOG,
20
18
  meta
21
- } from "./chunk-O4LUJEDV.mjs";
19
+ } from "./chunk-5RICKAMN.mjs";
22
20
  import "./chunk-J5LGTIGS.mjs";
23
21
 
24
22
  // src/capabilities/react-surface.tsx
@@ -31,7 +29,7 @@ import { InvocationTraceContainer } from "@dxos/devtools";
31
29
  import { Obj } from "@dxos/echo";
32
30
  import { SettingsStore } from "@dxos/local-storage";
33
31
  import { StackItem } from "@dxos/react-ui-stack";
34
- var react_surface_default = () => contributes(Capabilities.ReactSurface, [
32
+ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
35
33
  createSurface({
36
34
  id: `${meta.id}/plugin-settings`,
37
35
  role: "article",
@@ -89,11 +87,11 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
89
87
  })
90
88
  }),
91
89
  createSurface({
92
- id: `${meta.id}/prompt-settings`,
90
+ id: `${meta.id}/blueprint-settings`,
93
91
  role: "object-settings",
94
92
  filter: (data) => Obj.instanceOf(Blueprint.Blueprint, data.subject),
95
- component: ({ data }) => /* @__PURE__ */ React.createElement(PromptSettings, {
96
- template: data.subject.instructions
93
+ component: ({ data }) => /* @__PURE__ */ React.createElement(BlueprintSettings, {
94
+ blueprint: data.subject
97
95
  })
98
96
  }),
99
97
  createSurface({
@@ -102,8 +100,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
102
100
  filter: (data) => data.component === ASSISTANT_DIALOG,
103
101
  component: ({ data }) => /* @__PURE__ */ React.createElement(ChatDialog, data.props)
104
102
  })
105
- ]);
103
+ ]));
106
104
  export {
107
105
  react_surface_default as default
108
106
  };
109
- //# sourceMappingURL=react-surface-E4NAGB6R.mjs.map
107
+ //# sourceMappingURL=react-surface-KRRUOMYY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Blueprint } from '@dxos/blueprints';\nimport { getSpace } from '@dxos/client/echo';\nimport { Sequence } from '@dxos/conductor';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport {\n AssistantSettings,\n BlueprintContainer,\n BlueprintSettings,\n ChatCompanion,\n ChatContainer,\n ChatDialog,\n SequenceContainer,\n} from '../components';\nimport { ASSISTANT_DIALOG, meta } from '../meta';\nimport { Assistant } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<Assistant.Settings> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <AssistantSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/chat`,\n role: 'article',\n filter: (data): data is { subject: Assistant.Chat; variant: undefined } =>\n Obj.instanceOf(Assistant.Chat, data.subject) && data.variant !== 'assistant-chat',\n component: ({ data, role }) => <ChatContainer role={role} chat={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/companion-chat`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any; subject: Assistant.Chat | 'assistant-chat' } =>\n Obj.isObject(data.companionTo) &&\n (Obj.instanceOf(Assistant.Chat, data.subject) || data.subject === 'assistant-chat'),\n component: ({ data, role }) => <ChatCompanion role={role} data={data} />,\n }),\n createSurface({\n id: `${meta.id}/sequence`,\n role: 'article',\n filter: (data): data is { subject: Sequence } => Obj.instanceOf(Sequence, data.subject),\n component: ({ data }) => <SequenceContainer sequence={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/companion-logs`,\n role: 'article',\n filter: (data): data is { companionTo: Sequence } =>\n Obj.instanceOf(Sequence, data.companionTo) && data.subject === 'logs',\n // eslint-disable-next-line unused-imports/no-unused-vars\n component: ({ data, role }) => {\n const space = getSpace(data.companionTo);\n return (\n <StackItem.Content>\n <InvocationTraceContainer space={space} target={data.companionTo} detailAxis='block' />\n </StackItem.Content>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/blueprint`,\n role: 'article',\n filter: (data): data is { subject: Blueprint.Blueprint } => Obj.instanceOf(Blueprint.Blueprint, data.subject),\n component: ({ data }) => <BlueprintContainer blueprint={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/blueprint-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: Blueprint.Blueprint } => Obj.instanceOf(Blueprint.Blueprint, data.subject),\n component: ({ data }) => <BlueprintSettings blueprint={data.subject} />,\n }),\n createSurface({\n id: ASSISTANT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: { chat: Assistant.Chat } } => data.component === ASSISTANT_DIALOG,\n component: ({ data }) => <ChatDialog {...data.props} />,\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gCAAgC;AACzC,SAASC,WAAW;AACpB,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAc1B,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKC,mBAAmBC,iBAAiBF,KAAKC,QAAQE,WAAWN,KAAKD;IACxEQ,WAAW,CAAC,EAAEJ,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACI,mBAAAA;MAAkBC,UAAUL,QAAQM;;EAC7E,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPQ,IAAIC,WAAWC,kBAAUC,MAAMX,KAAKC,OAAO,KAAKD,KAAKY,YAAY;IACnER,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAO,sBAAA,cAACe,eAAAA;MAAcf;MAAYgB,MAAMd,KAAKC;;EACvE,CAAA;EACAN,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPQ,IAAIO,SAASf,KAAKgB,WAAW,MAC5BR,IAAIC,WAAWC,kBAAUC,MAAMX,KAAKC,OAAO,KAAKD,KAAKC,YAAY;IACpEG,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAO,sBAAA,cAACmB,eAAAA;MAAcnB;MAAYE;;EAC5D,CAAA;EACAL,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAwCQ,IAAIC,WAAWS,UAAUlB,KAAKC,OAAO;IACtFG,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACmB,mBAAAA;MAAkBC,UAAUpB,KAAKC;;EAC7D,CAAA;EACAN,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPQ,IAAIC,WAAWS,UAAUlB,KAAKgB,WAAW,KAAKhB,KAAKC,YAAY;;IAEjEG,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAE;AACxB,YAAMuB,QAAQC,SAAStB,KAAKgB,WAAW;AACvC,aACE,sBAAA,cAACO,UAAUC,SAAO,MAChB,sBAAA,cAACC,0BAAAA;QAAyBJ;QAAcK,QAAQ1B,KAAKgB;QAAaW,YAAW;;IAGnF;EACF,CAAA;EACAhC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAmDQ,IAAIC,WAAWmB,UAAUA,WAAW5B,KAAKC,OAAO;IAC5GG,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAAC6B,oBAAAA;MAAmBC,WAAW9B,KAAKC;;EAC/D,CAAA;EACAN,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAmDQ,IAAIC,WAAWmB,UAAUA,WAAW5B,KAAKC,OAAO;IAC5GG,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAAC+B,mBAAAA;MAAkBD,WAAW9B,KAAKC;;EAC9D,CAAA;EACAN,cAAc;IACZC,IAAIoC;IACJlC,MAAM;IACNC,QAAQ,CAACC,SAAsDA,KAAKI,cAAc4B;IAClF5B,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACiC,YAAejC,KAAKkC,KAAK;EACrD,CAAA;CACD;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "Blueprint", "getSpace", "Sequence", "InvocationTraceContainer", "Obj", "SettingsStore", "StackItem", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "AssistantSettings", "settings", "value", "Obj", "instanceOf", "Assistant", "Chat", "variant", "ChatContainer", "chat", "isObject", "companionTo", "ChatCompanion", "Sequence", "SequenceContainer", "sequence", "space", "getSpace", "StackItem", "Content", "InvocationTraceContainer", "target", "detailAxis", "Blueprint", "BlueprintContainer", "blueprint", "BlueprintSettings", "ASSISTANT_DIALOG", "ChatDialog", "props"]
7
+ }
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  Assistant_exports
3
- } from "./chunk-SMIVXXAI.mjs";
3
+ } from "./chunk-37VMDB4P.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-O4LUJEDV.mjs";
6
+ } from "./chunk-5RICKAMN.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/capabilities/settings.ts
10
10
  import { Capabilities, contributes } from "@dxos/app-framework";
11
11
  import { live } from "@dxos/live-object";
12
- var settings_default = () => {
12
+ var settings_default = (() => {
13
13
  const settings = live({});
14
14
  return contributes(Capabilities.Settings, {
15
15
  prefix: meta.id,
16
16
  schema: Assistant_exports.Settings,
17
17
  value: settings
18
18
  });
19
- };
19
+ });
20
20
  export {
21
21
  settings_default as default
22
22
  };
23
- //# sourceMappingURL=settings-36V3VUMW.mjs.map
23
+ //# sourceMappingURL=settings-PSR3WF3X.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { Assistant } from '../types';\n\nexport default () => {\n const settings = live<Assistant.Settings>({});\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: Assistant.Settings,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB,CAAC,CAAA;AAE3C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC,kBAAUL;IAClBM,OAAOV;EACT,CAAA;AACF;",
5
+ "mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB,CAAC,CAAA;AAE3C,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC,kBAAUL;IAClBM,OAAOV;EACT,CAAA;AACF;",
6
6
  "names": ["Capabilities", "contributes", "live", "settings", "live", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "Assistant", "value"]
7
7
  }
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  AssistantCapabilities
3
- } from "./chunk-EZUSNS2J.mjs";
3
+ } from "./chunk-5EGXHCAZ.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-O4LUJEDV.mjs";
6
+ } from "./chunk-5RICKAMN.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/capabilities/state.ts
10
10
  import { contributes } from "@dxos/app-framework";
11
11
  import { LocalStorageStore } from "@dxos/local-storage";
12
- var state_default = () => {
12
+ var state_default = (() => {
13
13
  const state = new LocalStorageStore(meta.id, {
14
14
  currentChat: {}
15
15
  });
16
16
  return contributes(AssistantCapabilities.State, state.values, () => state.close());
17
- };
17
+ });
18
18
  export {
19
19
  state_default as default
20
20
  };
21
- //# sourceMappingURL=state-AINRYS5W.mjs.map
21
+ //# sourceMappingURL=state-LXTS54DI.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/state.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\n\nimport { meta } from '../meta';\n\nimport { AssistantCapabilities } from './capabilities';\n\nexport default () => {\n // NOTE: This needs to be a chat object rather than a string id to avoid a query race.\n // TODO(wittjosiah): Handle serialization and hydration for this so it can be cached.\n const state = new LocalStorageStore<AssistantCapabilities.AssistantState>(meta.id, {\n currentChat: {},\n });\n\n return contributes(AssistantCapabilities.State, state.values, () => state.close());\n};\n"],
5
- "mappings": ";;;;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,yBAAyB;AAMlC,IAAA,gBAAe,MAAA;AAGb,QAAMC,QAAQ,IAAIC,kBAAwDC,KAAKC,IAAI;IACjFC,aAAa,CAAC;EAChB,CAAA;AAEA,SAAOC,YAAYC,sBAAsBC,OAAOP,MAAMQ,QAAQ,MAAMR,MAAMS,MAAK,CAAA;AACjF;",
5
+ "mappings": ";;;;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,yBAAyB;AAMlC,IAAA,iBAAe,MAAA;AAGb,QAAMC,QAAQ,IAAIC,kBAAwDC,KAAKC,IAAI;IACjFC,aAAa,CAAC;EAChB,CAAA;AAEA,SAAOC,YAAYC,sBAAsBC,OAAOP,MAAMQ,QAAQ,MAAMR,MAAMS,MAAK,CAAA;AACjF;",
6
6
  "names": ["contributes", "LocalStorageStore", "state", "LocalStorageStore", "meta", "id", "currentChat", "contributes", "AssistantCapabilities", "State", "values", "close"]
7
7
  }
@@ -1,10 +1,13 @@
1
1
  import "./chunk-J5LGTIGS.mjs";
2
2
 
3
3
  // src/capabilities/toolkit.ts
4
- import { AiTool, AiToolkit } from "@effect/ai";
5
- import { Effect, Schema } from "effect";
4
+ import * as Tool from "@effect/ai/Tool";
5
+ import * as Toolkit from "@effect/ai/Toolkit";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Schema from "effect/Schema";
6
8
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
7
9
  import { AiContextService, ArtifactId } from "@dxos/assistant";
10
+ import { WebSearchToolkit } from "@dxos/assistant-testing";
8
11
  import { Filter, Obj, Ref, SchemaNotFoundError, Type } from "@dxos/echo";
9
12
  import { DatabaseService } from "@dxos/functions";
10
13
  import { invariant } from "@dxos/invariant";
@@ -27,8 +30,8 @@ function _define_property(obj, key, value) {
27
30
  return obj;
28
31
  }
29
32
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/toolkit.ts";
30
- var _AiToolkit_make;
31
- var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("add-to-context", {
33
+ var _Toolkit_make;
34
+ var AssistantToolkit = class extends (_Toolkit_make = Toolkit.make(Tool.make("add-to-context", {
32
35
  description: trim`
33
36
  Adds the object to the chat context.
34
37
  `,
@@ -38,8 +41,12 @@ var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("add-t
38
41
  })
39
42
  },
40
43
  success: Schema.Void,
41
- failure: Schema.Never
42
- }).addRequirement(), AiTool.make("get-schemas", {
44
+ failure: Schema.Never,
45
+ dependencies: [
46
+ AiContextService,
47
+ DatabaseService
48
+ ]
49
+ }), Tool.make("get-schemas", {
43
50
  description: trim`
44
51
  Retrieves schemas definitions.
45
52
  `,
@@ -50,7 +57,7 @@ var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("add-t
50
57
  // TODO(dmaretskyi): Effect returns ({ result, encodedResult })
51
58
  success: Schema.Any,
52
59
  failure: Schema.Never
53
- }), AiTool.make("add-schema", {
60
+ }), Tool.make("add-schema", {
54
61
  description: trim`
55
62
  Adds a schema to the space.
56
63
  The name will be used when displayed to the user.
@@ -63,7 +70,7 @@ var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("add-t
63
70
  },
64
71
  success: Schema.Any,
65
72
  failure: Schema.Never
66
- }), AiTool.make("create-record", {
73
+ }), Tool.make("create-record", {
67
74
  description: trim`
68
75
  Creates a new record and adds it to the current space.
69
76
  Get the schema from the get-schemas tool and ensure that the data matches the corresponding schema.
@@ -77,7 +84,7 @@ var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("add-t
77
84
  failure: Schema.Never
78
85
  }))) {
79
86
  };
80
- _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
87
+ _define_property(AssistantToolkit, "layer", (context) => AssistantToolkit.toLayer({
81
88
  "add-to-context": Effect.fnUntraced(function* ({ id }) {
82
89
  const { binder } = yield* AiContextService;
83
90
  const { db } = yield* DatabaseService;
@@ -93,8 +100,8 @@ _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
93
100
  const space = getActiveSpace(context);
94
101
  invariant(space, "No active space", {
95
102
  F: __dxlog_file,
96
- L: 92,
97
- S: Toolkit,
103
+ L: 96,
104
+ S: AssistantToolkit,
98
105
  A: [
99
106
  "space",
100
107
  "'No active space'"
@@ -132,7 +139,7 @@ _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
132
139
  const space = getActiveSpace(context);
133
140
  invariant(space, "No active space", {
134
141
  F: __dxlog_file,
135
- L: 131,
142
+ L: 135,
136
143
  S: this,
137
144
  A: [
138
145
  "space",
@@ -156,8 +163,8 @@ _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
156
163
  const space = getActiveSpace(context);
157
164
  invariant(space, "No active space", {
158
165
  F: __dxlog_file,
159
- L: 141,
160
- S: Toolkit,
166
+ L: 145,
167
+ S: AssistantToolkit,
161
168
  A: [
162
169
  "space",
163
170
  "'No active space'"
@@ -181,11 +188,12 @@ _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
181
188
  }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);
182
189
  }
183
190
  }));
184
- var toolkit_default = (context) => [
185
- contributes(Capabilities.Toolkit, Toolkit),
186
- contributes(Capabilities.ToolkitHandler, Toolkit.layer(context))
187
- ];
191
+ var toolkit_default = ((context) => [
192
+ contributes(Capabilities.Toolkit, AssistantToolkit),
193
+ contributes(Capabilities.ToolkitHandler, AssistantToolkit.layer(context)),
194
+ contributes(Capabilities.Toolkit, WebSearchToolkit)
195
+ ]);
188
196
  export {
189
197
  toolkit_default as default
190
198
  };
191
- //# sourceMappingURL=toolkit-MPUS3U64.mjs.map
199
+ //# sourceMappingURL=toolkit-NQ2GXCF5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/toolkit.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capabilities, type Capability, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { AiContextService, ArtifactId } from '@dxos/assistant';\nimport { WebSearchToolkit } from '@dxos/assistant-testing';\nimport { Filter, Obj, Ref, SchemaNotFoundError, Type } from '@dxos/echo';\nimport { DatabaseService } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { SpaceCapabilities, getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { DataType } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\n// TODO(burdon): Reconcile with functions (currently reuses plugin framework intents).\nclass AssistantToolkit extends Toolkit.make(\n Tool.make('add-to-context', {\n description: trim`\n Adds the object to the chat context.\n `,\n parameters: {\n id: ArtifactId.annotations({\n description: 'The ID of the document to read.',\n }),\n },\n success: Schema.Void,\n failure: Schema.Never,\n dependencies: [AiContextService, DatabaseService],\n }),\n\n Tool.make('get-schemas', {\n description: trim`\n Retrieves schemas definitions.\n `,\n parameters: {\n // TODO(wittjosiah): Remove this once parameter-less tools are fixed.\n limit: Schema.Number,\n },\n // TODO(dmaretskyi): Effect returns ({ result, encodedResult })\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n Tool.make('add-schema', {\n description: trim`\n Adds a schema to the space.\n The name will be used when displayed to the user.\n The typename must be in the format of \"example.com/type/Type\".\n `,\n parameters: {\n name: Schema.String,\n typename: Schema.String,\n jsonSchema: Schema.Any,\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n Tool.make('create-record', {\n description: trim`\n Creates a new record and adds it to the current space.\n Get the schema from the get-schemas tool and ensure that the data matches the corresponding schema.\n Note that only record schemas are supported.\n `,\n parameters: {\n typename: Schema.String,\n data: Schema.Any,\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n) {\n static layer = (context: PluginContext) =>\n AssistantToolkit.toLayer({\n 'add-to-context': Effect.fnUntraced(function* ({ id }) {\n const { binder } = yield* AiContextService;\n const { db } = yield* DatabaseService;\n const ref = Ref.fromDXN(ArtifactId.toDXN(id, db.spaceId));\n yield* Effect.promise(() =>\n binder.bind({\n blueprints: [],\n objects: [ref],\n }),\n );\n }),\n\n 'get-schemas': () => {\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const whitelist = context\n .getCapabilities(ClientCapabilities.SchemaWhiteList)\n .flat()\n .map((schema) => ({\n typename: Type.getTypename(schema),\n jsonSchema: Type.toJsonSchema(schema),\n kind: 'record',\n }));\n\n // TODO(burdon): Why ObjectForm (bad name for data capability; UI term)?\n const forms = context.getCapabilities(SpaceCapabilities.ObjectForm).map((form) => ({\n typename: Type.getTypename(form.objectSchema),\n jsonSchema: Type.toJsonSchema(form.objectSchema),\n kind: 'item',\n }));\n\n const schemas = [...whitelist, ...forms];\n if (space) {\n const { objects } = yield* DatabaseService.runQuery(Filter.type(DataType.StoredSchema));\n schemas.push(\n ...objects.map((object) => ({\n typename: object.typename,\n jsonSchema: object.jsonSchema,\n kind: 'record',\n })),\n );\n }\n\n return schemas;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)));\n },\n\n 'add-schema': ({ name, typename, jsonSchema }) => {\n return Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n const schema = Type.toEffectSchema(jsonSchema).pipe(Type.Obj({ typename, version: '0.1.0' }));\n yield* dispatch(createIntent(SpaceAction.AddSchema, { space, name, typename, schema }));\n }).pipe(Effect.orDie);\n },\n\n 'create-record': ({ typename, data }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const schemas = context.getCapabilities(ClientCapabilities.SchemaWhiteList).flat();\n const { objects } = yield* DatabaseService.runQuery(Filter.type(DataType.StoredSchema));\n schemas.push(...objects.map((object) => Type.toEffectSchema(object.jsonSchema)));\n const schema = schemas.find((schema) => Type.getTypename(schema) === typename);\n if (!schema) {\n throw new SchemaNotFoundError(typename);\n }\n\n const object = Obj.make(schema, data);\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space, hidden: true }));\n return object;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n });\n}\n\nexport default (context: PluginContext): Capability<any>[] => [\n contributes(Capabilities.Toolkit, AssistantToolkit),\n contributes(Capabilities.ToolkitHandler, AssistantToolkit.layer(context)),\n contributes(Capabilities.Toolkit, WebSearchToolkit),\n];\n"],
5
+ "mappings": "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",
6
+ "names": ["Tool", "Toolkit", "Effect", "Schema", "Capabilities", "contributes", "createIntent", "AiContextService", "ArtifactId", "WebSearchToolkit", "Filter", "Obj", "Ref", "SchemaNotFoundError", "Type", "DatabaseService", "invariant", "ClientCapabilities", "SpaceCapabilities", "getActiveSpace", "SpaceAction", "DataType", "trim", "AssistantToolkit", "make", "description", "parameters", "id", "annotations", "success", "Void", "failure", "Never", "dependencies", "limit", "Number", "Any", "name", "String", "typename", "jsonSchema", "data", "layer", "context", "toLayer", "fnUntraced", "binder", "db", "ref", "fromDXN", "toDXN", "spaceId", "promise", "bind", "blueprints", "objects", "space", "gen", "whitelist", "getCapabilities", "SchemaWhiteList", "flat", "map", "schema", "getTypename", "toJsonSchema", "kind", "forms", "ObjectForm", "form", "objectSchema", "schemas", "runQuery", "type", "StoredSchema", "push", "object", "pipe", "provide", "dispatch", "getCapability", "IntentDispatcher", "toEffectSchema", "version", "AddSchema", "orDie", "find", "AddObject", "target", "hidden", "ToolkitHandler"]
7
+ }
@@ -5,8 +5,8 @@ import {
5
5
  LLM_PROVIDERS,
6
6
  ServiceType,
7
7
  categoryIcons
8
- } from "../chunk-SMIVXXAI.mjs";
9
- import "../chunk-O4LUJEDV.mjs";
8
+ } from "../chunk-37VMDB4P.mjs";
9
+ import "../chunk-5RICKAMN.mjs";
10
10
  import "../chunk-J5LGTIGS.mjs";
11
11
  export {
12
12
  ApiAuthorization,
@@ -1,8 +1,8 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  TemplateEditor
4
- } from "./chunk-LVTG5JTW.mjs";
5
- import "./chunk-VFY2JG62.mjs";
4
+ } from "./chunk-HDZX6TSZ.mjs";
5
+ import "./chunk-73ABYRYX.mjs";
6
6
  import "./chunk-HSLMI22Q.mjs";
7
7
 
8
8
  // src/components/BlueprintContainer.tsx
@@ -12,11 +12,10 @@ import { StackItem } from "@dxos/react-ui-stack";
12
12
  var BlueprintContainer = ({ blueprint }) => {
13
13
  var _effect = _useSignals();
14
14
  try {
15
- return /* @__PURE__ */ React.createElement(StackItem.Content, {
16
- classNames: "container-max-width"
17
- }, /* @__PURE__ */ React.createElement(TemplateEditor, {
15
+ return /* @__PURE__ */ React.createElement(StackItem.Content, null, /* @__PURE__ */ React.createElement(TemplateEditor, {
18
16
  id: blueprint.id,
19
- template: blueprint.instructions
17
+ template: blueprint.instructions,
18
+ classNames: "container-max-width"
20
19
  }));
21
20
  } finally {
22
21
  _effect.f();
@@ -27,4 +26,4 @@ export {
27
26
  BlueprintContainer,
28
27
  BlueprintContainer_default as default
29
28
  };
30
- //# sourceMappingURL=BlueprintContainer-X4MRBKDR.mjs.map
29
+ //# sourceMappingURL=BlueprintContainer-6HSEVQ7U.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/BlueprintContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Blueprint } from '@dxos/blueprints';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TemplateEditor } from './TemplateEditor';\n\nexport type BlueprintContainerProps = {\n blueprint: Blueprint.Blueprint;\n};\n\nexport const BlueprintContainer = ({ blueprint }: BlueprintContainerProps) => {\n return (\n <StackItem.Content classNames='container-max-width'>\n <TemplateEditor id={blueprint.id} template={blueprint.instructions} />\n </StackItem.Content>\n );\n};\n\nexport default BlueprintContainer;\n"],
5
- "mappings": ";;;;;;;;;AAIA,OAAOA,WAAW;AAGlB,SAASC,iBAAiB;AAQnB,IAAMC,qBAAqB,CAAC,EAAEC,UAAS,MAA2B;;;AACvE,WACE,sBAAA,cAACC,UAAUC,SAAO;MAACC,YAAW;OAC5B,sBAAA,cAACC,gBAAAA;MAAeC,IAAIL,UAAUK;MAAIC,UAAUN,UAAUO;;;;;AAG5D;AAEA,IAAA,6BAAeR;",
6
- "names": ["React", "StackItem", "BlueprintContainer", "blueprint", "StackItem", "Content", "classNames", "TemplateEditor", "id", "template", "instructions"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Blueprint } from '@dxos/blueprints';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TemplateEditor } from './TemplateEditor';\n\nexport type BlueprintContainerProps = {\n blueprint: Blueprint.Blueprint;\n};\n\nexport const BlueprintContainer = ({ blueprint }: BlueprintContainerProps) => {\n return (\n <StackItem.Content>\n <TemplateEditor id={blueprint.id} template={blueprint.instructions} classNames='container-max-width' />\n </StackItem.Content>\n );\n};\n\nexport default BlueprintContainer;\n"],
5
+ "mappings": ";;;;;;;;;AAIA,OAAOA,WAAW;AAGlB,SAASC,iBAAiB;AAQnB,IAAMC,qBAAqB,CAAC,EAAEC,UAAS,MAA2B;;;AACvE,WACE,sBAAA,cAACC,UAAUC,SAAO,MAChB,sBAAA,cAACC,gBAAAA;MAAeC,IAAIJ,UAAUI;MAAIC,UAAUL,UAAUM;MAAcC,YAAW;;;;;AAGrF;AAEA,IAAA,6BAAeR;",
6
+ "names": ["React", "StackItem", "BlueprintContainer", "blueprint", "StackItem", "Content", "TemplateEditor", "id", "template", "instructions", "classNames"]
7
7
  }
@@ -1,24 +1,26 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ChatContainer
4
- } from "./chunk-YU62ZWJN.mjs";
5
- import "./chunk-LVTG5JTW.mjs";
6
- import "./chunk-4WLFSXZG.mjs";
4
+ } from "./chunk-TW2WKKSR.mjs";
5
+ import "./chunk-HDZX6TSZ.mjs";
6
+ import "./chunk-TMCGJPAN.mjs";
7
7
  import {
8
+ useBlueprintRegistry,
8
9
  useContextBinder
9
- } from "./chunk-V44ZG7CU.mjs";
10
- import "./chunk-QG2KT3AT.mjs";
10
+ } from "./chunk-YZYGXFVG.mjs";
11
11
  import {
12
12
  AssistantAction_exports,
13
13
  Assistant_exports
14
- } from "./chunk-7YOGZI66.mjs";
15
- import "./chunk-XD4CDA4R.mjs";
16
- import "./chunk-VFY2JG62.mjs";
14
+ } from "./chunk-ZQ3THJ2W.mjs";
15
+ import "./chunk-73ABYRYX.mjs";
17
16
  import "./chunk-HSLMI22Q.mjs";
18
17
 
19
18
  // src/components/ChatCompanion.tsx
20
19
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
21
- import { Array, Effect, Option, pipe } from "effect";
20
+ import * as Array from "effect/Array";
21
+ import * as Effect from "effect/Effect";
22
+ import * as Function from "effect/Function";
23
+ import * as Option from "effect/Option";
22
24
  import React, { useMemo } from "react";
23
25
  import { Capabilities, createIntent, useCapabilities, useIntentDispatcher } from "@dxos/app-framework";
24
26
  import { Blueprint } from "@dxos/blueprints";
@@ -34,6 +36,7 @@ var ChatCompanion = ({ role, data }) => {
34
36
  const companionTo = data.companionTo;
35
37
  const space = getSpace(companionTo);
36
38
  const chat = data.subject === "assistant-chat" ? void 0 : data.subject;
39
+ const blueprintRegistry = useBlueprintRegistry();
37
40
  const binder = useContextBinder(chat);
38
41
  const { dispatch } = useIntentDispatcher();
39
42
  useAsyncEffect(async () => {
@@ -71,13 +74,34 @@ var ChatCompanion = ({ role, data }) => {
71
74
  companionTo
72
75
  ]);
73
76
  const metadata = useCapabilities(Capabilities.Metadata);
74
- const blueprintKeys = useMemo(() => pipe(metadata, Array.findFirst((capability) => capability.id === Obj.getTypename(companionTo)), Option.flatMap((c) => Option.fromNullable(c.metadata.blueprints)), Option.getOrElse(() => [])), [
77
+ const blueprintKeys = useMemo(() => Function.pipe(metadata, Array.findFirst((capability) => capability.id === Obj.getTypename(companionTo)), Option.flatMap((c) => Option.fromNullable(c.metadata.blueprints)), Option.getOrElse(() => [])), [
75
78
  metadata,
76
79
  companionTo
77
80
  ]);
78
- const allBlueprints = useQuery(space, Filter.type(Blueprint.Blueprint));
79
- const pluginBlueprints = useMemo(() => allBlueprints.filter((blueprint) => blueprintKeys.includes(blueprint.key)), [
80
- allBlueprints,
81
+ const existingBlueprints = useQuery(space, Filter.type(Blueprint.Blueprint));
82
+ const pluginBlueprints = useMemo(() => existingBlueprints.filter((blueprint) => blueprintKeys.includes(blueprint.key)), [
83
+ existingBlueprints,
84
+ blueprintKeys
85
+ ]);
86
+ useAsyncEffect(async () => {
87
+ if (!space) {
88
+ return;
89
+ }
90
+ const { objects: existingBlueprints2 } = await space.db.query(Filter.type(Blueprint.Blueprint)).run();
91
+ for (const key of blueprintKeys) {
92
+ const existingBlueprint = existingBlueprints2.find((blueprint2) => blueprint2.key === key);
93
+ if (existingBlueprint) {
94
+ continue;
95
+ }
96
+ const blueprint = blueprintRegistry.getByKey(key);
97
+ if (!blueprint) {
98
+ continue;
99
+ }
100
+ space.db.add(Obj.clone(blueprint));
101
+ }
102
+ }, [
103
+ space,
104
+ blueprintRegistry,
81
105
  blueprintKeys
82
106
  ]);
83
107
  useAsyncEffect(async () => {
@@ -124,4 +148,4 @@ export {
124
148
  ChatCompanion,
125
149
  ChatCompanion_default as default
126
150
  };
127
- //# sourceMappingURL=ChatCompanion-ICWYVPRD.mjs.map
151
+ //# sourceMappingURL=ChatCompanion-NDYEAUQN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ChatCompanion.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, createIntent, useCapabilities, useIntentDispatcher } from '@dxos/app-framework';\nimport { Blueprint } from '@dxos/blueprints';\nimport { getSpace } from '@dxos/client/echo';\nimport { Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { DatabaseService } from '@dxos/functions';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport { ChatContainer } from '../components';\nimport { useBlueprintRegistry, useContextBinder } from '../hooks';\nimport { Assistant, AssistantAction } from '../types';\n\nexport type ChatCompanionProps = {\n role?: string;\n data: { companionTo: Obj.Any; subject: Assistant.Chat | 'assistant-chat' };\n};\n\nexport const ChatCompanion = ({ role, data }: ChatCompanionProps) => {\n const companionTo = data.companionTo;\n const space = getSpace(companionTo);\n const chat = data.subject === 'assistant-chat' ? undefined : data.subject;\n const blueprintRegistry = useBlueprintRegistry();\n const binder = useContextBinder(chat);\n const { dispatch } = useIntentDispatcher();\n\n // Initialize companion chat if it doesn't exist.\n useAsyncEffect(async () => {\n if (chat || !space) {\n return;\n }\n\n // TODO(burdon): Garbage collection of queues?\n // TODO(wittjosiah): Figure out how to prevent companion chats from showing up in the navtree.\n await Effect.gen(function* () {\n const { objects } = yield* DatabaseService.runQuery(\n Query.select(Filter.ids(companionTo.id)).targetOf(Assistant.CompanionTo).source(),\n );\n\n // TODO(wittjosiah): This should be the default sort order.\n let nextChat = objects.toSorted((a, b) => a.id.localeCompare(b.id)).at(-1);\n if (!nextChat) {\n const { object } = yield* dispatch(createIntent(AssistantAction.CreateChat, { space }));\n nextChat = object;\n yield* dispatch(createIntent(SpaceAction.AddObject, { object: nextChat, target: space, hidden: true }));\n yield* dispatch(\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: Assistant.CompanionTo,\n source: nextChat,\n target: data.companionTo,\n }),\n );\n }\n\n yield* dispatch(createIntent(AssistantAction.SetCurrentChat, { companionTo, chat: nextChat }));\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.runPromise);\n }, [space, chat, companionTo]);\n\n const metadata = useCapabilities(Capabilities.Metadata);\n const blueprintKeys = useMemo(\n () =>\n Function.pipe(\n metadata,\n Array.findFirst(\n (capability): capability is { id: string; metadata: { blueprints?: string[] } } =>\n capability.id === Obj.getTypename(companionTo),\n ),\n Option.flatMap((c) => Option.fromNullable(c.metadata.blueprints)),\n Option.getOrElse(() => [] as string[]),\n ),\n [metadata, companionTo],\n );\n const existingBlueprints = useQuery(space, Filter.type(Blueprint.Blueprint));\n const pluginBlueprints = useMemo(\n () => existingBlueprints.filter((blueprint) => blueprintKeys.includes(blueprint.key)),\n [existingBlueprints, blueprintKeys],\n );\n\n // Initialize related blueprints that are not already in the space.\n useAsyncEffect(async () => {\n if (!space) {\n return;\n }\n\n // NOTE: This must be run instead of using the useQuery result to avoid duplicates.\n const { objects: existingBlueprints } = await space.db.query(Filter.type(Blueprint.Blueprint)).run();\n for (const key of blueprintKeys) {\n const existingBlueprint = existingBlueprints.find((blueprint) => blueprint.key === key);\n if (existingBlueprint) {\n continue;\n }\n\n const blueprint = blueprintRegistry.getByKey(key);\n if (!blueprint) {\n continue;\n }\n\n space.db.add(Obj.clone(blueprint));\n }\n }, [space, blueprintRegistry, blueprintKeys]);\n\n useAsyncEffect(async () => {\n if (!binder) {\n return;\n }\n\n if (pluginBlueprints.length > 0) {\n await binder.bind({ blueprints: pluginBlueprints.map((blueprint) => Ref.make(blueprint)) });\n }\n\n if (Obj.instanceOf(Blueprint.Blueprint, companionTo)) {\n await binder.bind({ blueprints: [Ref.make(companionTo)] });\n } else {\n await binder.bind({ objects: [Ref.make(companionTo)] });\n }\n }, [binder, companionTo, pluginBlueprints]);\n\n if (!chat) {\n return null;\n }\n\n return <ChatContainer role={role} chat={chat} companionTo={companionTo} />;\n};\n\nexport default ChatCompanion;\n"],
5
+ "mappings": "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",
6
+ "names": ["Array", "Effect", "Function", "Option", "React", "useMemo", "Capabilities", "createIntent", "useCapabilities", "useIntentDispatcher", "Blueprint", "getSpace", "Filter", "Obj", "Query", "Ref", "DatabaseService", "SpaceAction", "useQuery", "useAsyncEffect", "ChatCompanion", "role", "data", "companionTo", "space", "getSpace", "chat", "subject", "undefined", "blueprintRegistry", "useBlueprintRegistry", "binder", "useContextBinder", "dispatch", "useIntentDispatcher", "useAsyncEffect", "gen", "objects", "DatabaseService", "runQuery", "Query", "select", "Filter", "ids", "id", "targetOf", "Assistant", "CompanionTo", "source", "nextChat", "toSorted", "a", "b", "localeCompare", "at", "object", "createIntent", "AssistantAction", "CreateChat", "SpaceAction", "AddObject", "target", "hidden", "AddRelation", "schema", "SetCurrentChat", "pipe", "provide", "layer", "db", "runPromise", "metadata", "useCapabilities", "Capabilities", "Metadata", "blueprintKeys", "useMemo", "findFirst", "capability", "Obj", "getTypename", "flatMap", "c", "fromNullable", "blueprints", "getOrElse", "existingBlueprints", "useQuery", "type", "Blueprint", "pluginBlueprints", "filter", "blueprint", "includes", "key", "query", "run", "existingBlueprint", "find", "getByKey", "add", "clone", "length", "bind", "map", "Ref", "make", "instanceOf", "ChatContainer"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  Toolbar
4
- } from "./chunk-4WLFSXZG.mjs";
4
+ } from "./chunk-TMCGJPAN.mjs";
5
5
  import {
6
6
  Chat,
7
7
  useBlueprintRegistry,
@@ -9,13 +9,11 @@ import {
9
9
  useChatServices,
10
10
  useOnline,
11
11
  usePresets
12
- } from "./chunk-V44ZG7CU.mjs";
13
- import "./chunk-QG2KT3AT.mjs";
14
- import "./chunk-7YOGZI66.mjs";
15
- import "./chunk-XD4CDA4R.mjs";
12
+ } from "./chunk-YZYGXFVG.mjs";
13
+ import "./chunk-ZQ3THJ2W.mjs";
16
14
  import {
17
15
  meta
18
- } from "./chunk-VFY2JG62.mjs";
16
+ } from "./chunk-73ABYRYX.mjs";
19
17
  import "./chunk-HSLMI22Q.mjs";
20
18
 
21
19
  // src/components/ChatContainer.tsx
@@ -47,12 +45,12 @@ var ChatContainer = ({ chat, companionTo }) => {
47
45
  return null;
48
46
  }
49
47
  return /* @__PURE__ */ React.createElement(StackItem.Content, {
50
- toolbar: !!companionTo,
51
- classNames: "container-max-width"
48
+ toolbar: !!companionTo
52
49
  }, !!companionTo && /* @__PURE__ */ React.createElement(Toolbar, {
53
50
  chat,
54
51
  companionTo
55
52
  }), /* @__PURE__ */ React.createElement(Chat.Root, {
53
+ classNames: "container-max-width",
56
54
  chat,
57
55
  processor
58
56
  }, /* @__PURE__ */ React.createElement(Chat.Thread, null), /* @__PURE__ */ React.createElement("div", {
@@ -73,4 +71,4 @@ export {
73
71
  ChatContainer,
74
72
  ChatContainer_default as default
75
73
  };
76
- //# sourceMappingURL=ChatContainer-LMMMQD4K.mjs.map
74
+ //# sourceMappingURL=ChatContainer-NMDQM5HG.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/ChatContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, useCapability } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/client/echo';\nimport { type Obj } from '@dxos/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { useBlueprintRegistry, useChatProcessor, useChatServices, useOnline, usePresets } from '../hooks';\nimport { meta } from '../meta';\nimport { type Assistant } from '../types';\n\nimport { Chat } from './Chat';\nimport { Toolbar } from './Toolbar';\n\nexport type ChatContainerProps = {\n chat: Assistant.Chat;\n companionTo?: Obj.Any;\n role?: string;\n};\n\nexport const ChatContainer = ({ chat, companionTo }: ChatContainerProps) => {\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({ chat, preset, services, blueprintRegistry, settings });\n\n if (!processor) {\n return null;\n }\n\n return (\n <StackItem.Content toolbar={!!companionTo} classNames='container-max-width'>\n {!!companionTo && <Toolbar chat={chat} companionTo={companionTo} />}\n <Chat.Root chat={chat} processor={processor}>\n <Chat.Thread />\n <div className='p-2'>\n <Chat.Prompt {...chatProps} outline preset={preset?.id} online={online} onOnlineChange={setOnline} />\n </div>\n </Chat.Root>\n </StackItem.Content>\n );\n};\n\nexport default ChatContainer;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,qBAAqB;AAC5C,SAASC,gBAAgB;AAEzB,SAASC,iBAAiB;AAenB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,YAAW,MAAsB;;;AACrE,UAAMC,QAAQC,SAASH,IAAAA;AACvB,UAAMI,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAA6BC,KAAKC,EAAE,GAAGC;AAClG,UAAMC,WAAWC,gBAAgB;MAAEX;MAAOF;IAAK,CAAA;AAC/C,UAAM,CAACc,QAAQC,SAAAA,IAAaC,UAAAA;AAC5B,UAAM,EAAEC,QAAQ,GAAGC,UAAAA,IAAcC,WAAWL,MAAAA;AAC5C,UAAMM,oBAAoBC,qBAAAA;AAC1B,UAAMC,YAAYC,iBAAiB;MAAEvB;MAAMiB;MAAQL;MAAUQ;MAAmBhB;IAAS,CAAA;AAEzF,QAAI,CAACkB,WAAW;AACd,aAAO;IACT;AAEA,WACE,sBAAA,cAACE,UAAUC,SAAO;MAACC,SAAS,CAAC,CAACzB;MAAa0B,YAAW;OACnD,CAAC,CAAC1B,eAAe,sBAAA,cAAC2B,SAAAA;MAAQ5B;MAAYC;QACvC,sBAAA,cAAC4B,KAAKC,MAAI;MAAC9B;MAAYsB;OACrB,sBAAA,cAACO,KAAKE,QAAM,IAAA,GACZ,sBAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACJ,KAAKK,QAAM;MAAE,GAAGhB;MAAWiB,SAAAA;MAAQlB,QAAQA,QAAQP;MAAII;MAAgBsB,gBAAgBrB;;;;;AAKlG;AAEA,IAAA,wBAAehB;",
6
- "names": ["React", "Capabilities", "useCapability", "getSpace", "StackItem", "ChatContainer", "chat", "companionTo", "space", "getSpace", "settings", "useCapability", "Capabilities", "SettingsStore", "getStore", "meta", "id", "value", "services", "useChatServices", "online", "setOnline", "useOnline", "preset", "chatProps", "usePresets", "blueprintRegistry", "useBlueprintRegistry", "processor", "useChatProcessor", "StackItem", "Content", "toolbar", "classNames", "Toolbar", "Chat", "Root", "Thread", "div", "className", "Prompt", "outline", "onOnlineChange"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, useCapability } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/client/echo';\nimport { type Obj } from '@dxos/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { useBlueprintRegistry, useChatProcessor, useChatServices, useOnline, usePresets } from '../hooks';\nimport { meta } from '../meta';\nimport { type Assistant } from '../types';\n\nimport { Chat } from './Chat';\nimport { Toolbar } from './Toolbar';\n\nexport type ChatContainerProps = {\n chat: Assistant.Chat;\n companionTo?: Obj.Any;\n role?: string;\n};\n\nexport const ChatContainer = ({ chat, companionTo }: ChatContainerProps) => {\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({ chat, preset, services, blueprintRegistry, settings });\n\n if (!processor) {\n return null;\n }\n\n return (\n <StackItem.Content toolbar={!!companionTo}>\n {!!companionTo && <Toolbar chat={chat} companionTo={companionTo} />}\n <Chat.Root classNames='container-max-width' chat={chat} processor={processor}>\n <Chat.Thread />\n <div className='p-2'>\n <Chat.Prompt {...chatProps} outline preset={preset?.id} online={online} onOnlineChange={setOnline} />\n </div>\n </Chat.Root>\n </StackItem.Content>\n );\n};\n\nexport default ChatContainer;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,qBAAqB;AAC5C,SAASC,gBAAgB;AAEzB,SAASC,iBAAiB;AAenB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,YAAW,MAAsB;;;AACrE,UAAMC,QAAQC,SAASH,IAAAA;AACvB,UAAMI,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAA6BC,KAAKC,EAAE,GAAGC;AAClG,UAAMC,WAAWC,gBAAgB;MAAEX;MAAOF;IAAK,CAAA;AAC/C,UAAM,CAACc,QAAQC,SAAAA,IAAaC,UAAAA;AAC5B,UAAM,EAAEC,QAAQ,GAAGC,UAAAA,IAAcC,WAAWL,MAAAA;AAC5C,UAAMM,oBAAoBC,qBAAAA;AAC1B,UAAMC,YAAYC,iBAAiB;MAAEvB;MAAMiB;MAAQL;MAAUQ;MAAmBhB;IAAS,CAAA;AAEzF,QAAI,CAACkB,WAAW;AACd,aAAO;IACT;AAEA,WACE,sBAAA,cAACE,UAAUC,SAAO;MAACC,SAAS,CAAC,CAACzB;OAC3B,CAAC,CAACA,eAAe,sBAAA,cAAC0B,SAAAA;MAAQ3B;MAAYC;QACvC,sBAAA,cAAC2B,KAAKC,MAAI;MAACC,YAAW;MAAsB9B;MAAYsB;OACtD,sBAAA,cAACM,KAAKG,QAAM,IAAA,GACZ,sBAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACL,KAAKM,QAAM;MAAE,GAAGhB;MAAWiB,SAAAA;MAAQlB,QAAQA,QAAQP;MAAII;MAAgBsB,gBAAgBrB;;;;;AAKlG;AAEA,IAAA,wBAAehB;",
6
+ "names": ["React", "Capabilities", "useCapability", "getSpace", "StackItem", "ChatContainer", "chat", "companionTo", "space", "getSpace", "settings", "useCapability", "Capabilities", "SettingsStore", "getStore", "meta", "id", "value", "services", "useChatServices", "online", "setOnline", "useOnline", "preset", "chatProps", "usePresets", "blueprintRegistry", "useBlueprintRegistry", "processor", "useChatProcessor", "StackItem", "Content", "toolbar", "Toolbar", "Chat", "Root", "classNames", "Thread", "div", "className", "Prompt", "outline", "onOnlineChange"]
7
7
  }
@@ -6,12 +6,10 @@ import {
6
6
  useChatServices,
7
7
  useOnline,
8
8
  usePresets
9
- } from "./chunk-V44ZG7CU.mjs";
10
- import "./chunk-QG2KT3AT.mjs";
11
- import "./chunk-XD4CDA4R.mjs";
9
+ } from "./chunk-YZYGXFVG.mjs";
12
10
  import {
13
11
  meta
14
- } from "./chunk-VFY2JG62.mjs";
12
+ } from "./chunk-73ABYRYX.mjs";
15
13
  import "./chunk-HSLMI22Q.mjs";
16
14
 
17
15
  // src/components/ChatDialog.tsx
@@ -86,4 +84,4 @@ export {
86
84
  ChatDialog,
87
85
  ChatDialog_default as default
88
86
  };
89
- //# sourceMappingURL=ChatDialog-UUE3F7BT.mjs.map
87
+ //# sourceMappingURL=ChatDialog-QPRWMRU4.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/ChatDialog.tsx"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { Capabilities, useCapability } from '@dxos/app-framework';\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({ chat, preset, services, blueprintRegistry, settings });\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,cAAcC,qBAAqB;AAC5C,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;MAAExB;MAAMkB;MAAQL;MAAUQ;MAAmBd;IAAS,CAAA;AAGzF,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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;AAIA,OAAOA,SAASC,aAAaC,gBAAgB;AAE7C,SAASC,cAAcC,qBAAqB;AAC5C,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;MAAExB;MAAMkB;MAAQL;MAAUQ;MAAmBd;IAAS,CAAA;AAGzF,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
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
7
  }