@dxos/plugin-assistant 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7

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 (418) hide show
  1. package/dist/lib/browser/AssistantSettings-PP6JSHWB.mjs +93 -0
  2. package/dist/lib/browser/AssistantSettings-PP6JSHWB.mjs.map +7 -0
  3. package/dist/lib/browser/BlueprintArticle-H6R33TZZ.mjs +35 -0
  4. package/dist/lib/browser/BlueprintArticle-H6R33TZZ.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatCompanion-ECQYUQ2B.mjs → ChatCompanion-GXS6DK4X.mjs} +75 -26
  6. package/dist/lib/browser/ChatCompanion-GXS6DK4X.mjs.map +7 -0
  7. package/dist/lib/browser/ChatContainer-SMSZXEF5.mjs +12 -0
  8. package/dist/lib/browser/{ChatDialog-SMK4RSZU.mjs → ChatDialog-ZCVPPONM.mjs} +9 -9
  9. package/dist/lib/browser/ChatDialog-ZCVPPONM.mjs.map +7 -0
  10. package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs +91 -0
  11. package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs.map +7 -0
  12. package/dist/lib/browser/ProjectSettings-L5MCDUXK.mjs +232 -0
  13. package/dist/lib/browser/ProjectSettings-L5MCDUXK.mjs.map +7 -0
  14. package/dist/lib/browser/PromptArticle-G5YSAEGK.mjs +71 -0
  15. package/dist/lib/browser/PromptArticle-G5YSAEGK.mjs.map +7 -0
  16. package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs +112 -0
  17. package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs.map +7 -0
  18. package/dist/lib/browser/{ai-service-5GUDOEWF.mjs → ai-service-CY2BYPH6.mjs} +5 -4
  19. package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
  20. package/dist/lib/browser/{app-graph-builder-DSNH2OMY.mjs → app-graph-builder-ECQCWGCN.mjs} +54 -42
  21. package/dist/lib/browser/app-graph-builder-ECQCWGCN.mjs.map +7 -0
  22. package/dist/lib/browser/blueprint-definition-CKG4TQ2J.mjs +35 -0
  23. package/dist/lib/browser/blueprint-definition-CKG4TQ2J.mjs.map +7 -0
  24. package/dist/lib/browser/blueprints/index.mjs +3 -7
  25. package/dist/lib/browser/{chunk-EXVT7D4B.mjs → chunk-2VIEX4RA.mjs} +3 -3
  26. package/dist/lib/browser/{chunk-EXVT7D4B.mjs.map → chunk-2VIEX4RA.mjs.map} +1 -1
  27. package/dist/lib/browser/{chunk-V772AMZM.mjs → chunk-734CB3XG.mjs} +28 -48
  28. package/dist/lib/browser/chunk-734CB3XG.mjs.map +7 -0
  29. package/dist/lib/browser/{chunk-3JYPE2MM.mjs → chunk-A346P45I.mjs} +623 -330
  30. package/dist/lib/browser/chunk-A346P45I.mjs.map +7 -0
  31. package/dist/lib/browser/{chunk-ML3QCFKA.mjs → chunk-JYY5AD65.mjs} +50 -29
  32. package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
  33. package/dist/lib/browser/{ChatContainer-QCCOFBUX.mjs → chunk-WP4WY2Y6.mjs} +18 -22
  34. package/dist/lib/browser/chunk-WP4WY2Y6.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-ZZRRSIQQ.mjs +26 -0
  36. package/dist/lib/browser/chunk-ZZRRSIQQ.mjs.map +7 -0
  37. package/dist/lib/browser/{edge-model-resolver-26BOY6HY.mjs → edge-model-resolver-YTMFQEN5.mjs} +4 -3
  38. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  39. package/dist/lib/browser/index.mjs +109 -85
  40. package/dist/lib/browser/index.mjs.map +4 -4
  41. package/dist/lib/browser/{local-model-resolver-ZFIM6GGV.mjs → local-model-resolver-CGRQH37T.mjs} +4 -3
  42. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  43. package/dist/lib/browser/meta.json +1 -1
  44. package/dist/lib/browser/{operation-resolver-7XJLBRQY.mjs → operation-resolver-DYSWWNVG.mjs} +34 -43
  45. package/dist/lib/browser/operation-resolver-DYSWWNVG.mjs.map +7 -0
  46. package/dist/lib/browser/react-surface-M3GSSFPC.mjs +142 -0
  47. package/dist/lib/browser/react-surface-M3GSSFPC.mjs.map +7 -0
  48. package/dist/lib/browser/{settings-4ZDLUMYE.mjs → settings-NC5DQWES.mjs} +6 -5
  49. package/dist/lib/browser/settings-NC5DQWES.mjs.map +7 -0
  50. package/dist/lib/browser/{state-AN6336ZX.mjs → state-EMIKHGYZ.mjs} +3 -3
  51. package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
  52. package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
  53. package/dist/lib/browser/types/index.mjs +2 -2
  54. package/dist/lib/node-esm/AssistantSettings-3MNGBQB2.mjs +94 -0
  55. package/dist/lib/node-esm/AssistantSettings-3MNGBQB2.mjs.map +7 -0
  56. package/dist/lib/node-esm/BlueprintArticle-2KYFUQKY.mjs +36 -0
  57. package/dist/lib/node-esm/BlueprintArticle-2KYFUQKY.mjs.map +7 -0
  58. package/dist/lib/node-esm/{ChatCompanion-Q4FUZ2MW.mjs → ChatCompanion-MPQGSWZB.mjs} +75 -26
  59. package/dist/lib/node-esm/ChatCompanion-MPQGSWZB.mjs.map +7 -0
  60. package/dist/lib/node-esm/ChatContainer-DMOAYUUM.mjs +13 -0
  61. package/dist/lib/node-esm/{ChatDialog-AP45PVZR.mjs → ChatDialog-PV2EU2XM.mjs} +9 -9
  62. package/dist/lib/node-esm/ChatDialog-PV2EU2XM.mjs.map +7 -0
  63. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs +92 -0
  64. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs.map +7 -0
  65. package/dist/lib/node-esm/ProjectSettings-K3YBQWDD.mjs +233 -0
  66. package/dist/lib/node-esm/ProjectSettings-K3YBQWDD.mjs.map +7 -0
  67. package/dist/lib/node-esm/PromptArticle-HAGZPZWV.mjs +72 -0
  68. package/dist/lib/node-esm/PromptArticle-HAGZPZWV.mjs.map +7 -0
  69. package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs +113 -0
  70. package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs.map +7 -0
  71. package/dist/lib/node-esm/{ai-service-PXKKCFIF.mjs → ai-service-ZI3A6RVG.mjs} +5 -4
  72. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  73. package/dist/lib/node-esm/{app-graph-builder-TJCUEXW5.mjs → app-graph-builder-YPHP6X6W.mjs} +54 -42
  74. package/dist/lib/node-esm/app-graph-builder-YPHP6X6W.mjs.map +7 -0
  75. package/dist/lib/node-esm/blueprint-definition-UZWGSFBI.mjs +36 -0
  76. package/dist/lib/node-esm/blueprint-definition-UZWGSFBI.mjs.map +7 -0
  77. package/dist/lib/node-esm/blueprints/index.mjs +3 -7
  78. package/dist/lib/node-esm/{chunk-XI5T3MJC.mjs → chunk-5DLYAEBK.mjs} +623 -330
  79. package/dist/lib/node-esm/chunk-5DLYAEBK.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-AK3JJ76X.mjs +28 -0
  81. package/dist/lib/node-esm/chunk-AK3JJ76X.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-ZRIPP7YF.mjs → chunk-JMBYVUD6.mjs} +50 -29
  83. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  84. package/dist/lib/node-esm/{chunk-355W5B27.mjs → chunk-JQAXFBBU.mjs} +28 -48
  85. package/dist/lib/node-esm/chunk-JQAXFBBU.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-POWB2BPC.mjs → chunk-TEYTGR67.mjs} +3 -3
  87. package/dist/lib/node-esm/{chunk-POWB2BPC.mjs.map → chunk-TEYTGR67.mjs.map} +1 -1
  88. package/dist/lib/node-esm/{ChatContainer-AKI33HIB.mjs → chunk-ZTL6HRDB.mjs} +18 -22
  89. package/dist/lib/node-esm/chunk-ZTL6HRDB.mjs.map +7 -0
  90. package/dist/lib/node-esm/{edge-model-resolver-G5KMODPO.mjs → edge-model-resolver-CMJ3KNLQ.mjs} +4 -3
  91. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  92. package/dist/lib/node-esm/index.mjs +109 -85
  93. package/dist/lib/node-esm/index.mjs.map +4 -4
  94. package/dist/lib/node-esm/{local-model-resolver-KDZLYI7Y.mjs → local-model-resolver-FFDAKOXN.mjs} +4 -3
  95. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  96. package/dist/lib/node-esm/meta.json +1 -1
  97. package/dist/lib/node-esm/{operation-resolver-SX4WMNA7.mjs → operation-resolver-EE4EBO2Y.mjs} +34 -43
  98. package/dist/lib/node-esm/operation-resolver-EE4EBO2Y.mjs.map +7 -0
  99. package/dist/lib/node-esm/react-surface-U3PGFTKA.mjs +143 -0
  100. package/dist/lib/node-esm/react-surface-U3PGFTKA.mjs.map +7 -0
  101. package/dist/lib/node-esm/{settings-CQEOHR3R.mjs → settings-OOAN5LAO.mjs} +6 -5
  102. package/dist/lib/node-esm/settings-OOAN5LAO.mjs.map +7 -0
  103. package/dist/lib/node-esm/{state-HDON4REW.mjs → state-7A7QPQKK.mjs} +3 -3
  104. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs +17 -0
  105. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
  106. package/dist/lib/node-esm/types/index.mjs +2 -2
  107. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  108. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  109. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  110. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  111. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  113. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/index.d.ts +1 -6
  115. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +3 -2
  117. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/ai-service/index.d.ts +1 -1
  119. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
  121. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +4 -19
  123. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -2
  125. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  126. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +4 -3
  127. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -1
  128. package/dist/types/src/capabilities/index.d.ts +0 -1
  129. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  130. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +4 -3
  131. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  133. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  135. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  137. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  138. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  139. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  141. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  142. package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
  143. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  144. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  145. package/dist/types/src/capabilities/toolkit/index.d.ts +1 -1
  146. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -1
  147. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +3 -2
  148. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -1
  149. package/dist/types/src/components/Chat/Chat.d.ts +11 -7
  150. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  151. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +2 -2
  152. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
  153. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  154. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  155. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  156. package/dist/types/src/components/ChatThread/ChatThread.d.ts +2 -2
  157. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  158. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +128 -8
  159. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  160. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  161. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  162. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +125 -5
  163. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  164. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  165. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +125 -5
  166. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  167. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +4 -4
  168. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
  169. package/dist/types/src/components/Toolbox/Toolbox.d.ts +2 -2
  170. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  171. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +125 -5
  172. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  173. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +2 -2
  174. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -1
  175. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -1
  176. package/dist/types/src/components/index.d.ts +0 -12
  177. package/dist/types/src/components/index.d.ts.map +1 -1
  178. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  179. package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
  180. package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
  181. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  182. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  183. package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
  184. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  185. package/dist/types/src/{components → containers/ChatCompanion}/ChatCompanion.d.ts +2 -3
  186. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  187. package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
  188. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  189. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +6 -6
  190. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  191. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  192. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  193. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  194. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  195. package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
  196. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  197. package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
  198. package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
  199. package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
  200. package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
  201. package/dist/types/src/containers/Project/index.d.ts +7 -0
  202. package/dist/types/src/containers/Project/index.d.ts.map +1 -0
  203. package/dist/types/src/containers/Project/triggers.d.ts +6 -0
  204. package/dist/types/src/containers/Project/triggers.d.ts.map +1 -0
  205. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
  206. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  207. package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
  208. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  210. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  211. package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
  212. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  213. package/dist/types/src/containers/index.d.ts +10 -0
  214. package/dist/types/src/containers/index.d.ts.map +1 -0
  215. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  216. package/dist/types/src/hooks/useChatProcessor.d.ts +2 -1
  217. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  218. package/dist/types/src/hooks/useChatServices.d.ts +2 -2
  219. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  220. package/dist/types/src/hooks/useChatToolbarActions.d.ts +2 -2
  221. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
  222. package/dist/types/src/hooks/useFilteredTypes.d.ts +1 -1
  223. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  224. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  225. package/dist/types/src/index.d.ts +1 -0
  226. package/dist/types/src/index.d.ts.map +1 -1
  227. package/dist/types/src/processor/processor.d.ts +7 -3
  228. package/dist/types/src/processor/processor.d.ts.map +1 -1
  229. package/dist/types/src/processor/update-name.d.ts +2 -2
  230. package/dist/types/src/processor/update-name.d.ts.map +1 -1
  231. package/dist/types/src/translations.d.ts +125 -5
  232. package/dist/types/src/translations.d.ts.map +1 -1
  233. package/dist/types/src/types/Assistant.d.ts +5 -27
  234. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  235. package/dist/types/src/types/AssistantAction.d.ts +13 -15
  236. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  237. package/dist/types/src/types/index.d.ts +1 -0
  238. package/dist/types/src/types/index.d.ts.map +1 -1
  239. package/dist/types/src/types/service.d.ts.map +1 -1
  240. package/dist/types/tsconfig.tsbuildinfo +1 -1
  241. package/package.json +95 -92
  242. package/src/AssistantPlugin.tsx +64 -36
  243. package/src/blueprints/assistant/blueprint.conversations.json +1 -0
  244. package/src/blueprints/assistant/blueprint.test.ts +48 -0
  245. package/src/blueprints/assistant/blueprint.ts +27 -0
  246. package/src/blueprints/assistant/index.ts +5 -0
  247. package/src/blueprints/index.ts +1 -8
  248. package/src/capabilities/ai-service/ai-service.ts +4 -3
  249. package/src/capabilities/app-graph-builder/app-graph-builder.ts +48 -31
  250. package/src/capabilities/blueprint-definition/blueprint-definition.ts +32 -42
  251. package/src/capabilities/blueprint-definition/index.ts +0 -1
  252. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +4 -3
  253. package/src/capabilities/index.ts +0 -1
  254. package/src/capabilities/local-model-resolver/local-model-resolver.ts +4 -3
  255. package/src/capabilities/operation-resolver/operation-resolver.ts +29 -26
  256. package/src/capabilities/react-surface/react-surface.tsx +53 -29
  257. package/src/capabilities/settings/settings.ts +3 -2
  258. package/src/capabilities/toolkit/toolkit.ts +5 -16
  259. package/src/components/Chat/Chat.tsx +67 -30
  260. package/src/components/ChatProgress/ChatProgress.tsx +4 -5
  261. package/src/components/ChatPrompt/ChatActions.tsx +9 -1
  262. package/src/components/ChatPrompt/ChatOptions.tsx +29 -9
  263. package/src/components/ChatPrompt/ChatReferences.tsx +14 -4
  264. package/src/components/ChatThread/ChatThread.stories.tsx +11 -11
  265. package/src/components/ChatThread/ChatThread.tsx +15 -6
  266. package/src/components/ChatThread/Link.tsx +1 -1
  267. package/src/components/ChatThread/registry.tsx +51 -18
  268. package/src/components/ChatThread/sync.test.ts +2 -0
  269. package/src/components/ChatThread/sync.ts +14 -8
  270. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +3 -3
  271. package/src/components/TemplateEditor/TemplateEditor.tsx +2 -2
  272. package/src/components/TemplateEditor/TemplateForm.stories.tsx +3 -3
  273. package/src/components/TemplateEditor/TemplateForm.tsx +6 -7
  274. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +4 -4
  275. package/src/components/ToolBlock/ToolBlock.tsx +15 -15
  276. package/src/components/Toolbox/Toolbox.stories.tsx +3 -3
  277. package/src/components/Toolbox/Toolbox.tsx +49 -48
  278. package/src/components/Typewriter/AssistantToolbar.tsx +3 -3
  279. package/src/components/Typewriter/Typewriter.stories.tsx +18 -15
  280. package/src/components/Typewriter/Typewriter.tsx +1 -1
  281. package/src/components/Typewriter/assistant-extension.tsx +3 -5
  282. package/src/components/index.ts +0 -9
  283. package/src/{components → containers}/AssistantSettings/AssistantSettings.tsx +15 -15
  284. package/src/containers/AssistantSettings/index.ts +7 -0
  285. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  286. package/src/containers/BlueprintArticle/index.ts +7 -0
  287. package/src/{components → containers/ChatCompanion}/ChatCompanion.tsx +84 -22
  288. package/src/containers/ChatCompanion/index.ts +7 -0
  289. package/src/containers/ChatContainer/ChatContainer.tsx +69 -0
  290. package/src/containers/ChatContainer/index.ts +7 -0
  291. package/src/{components → containers/ChatDialog}/ChatDialog.tsx +7 -9
  292. package/src/containers/ChatDialog/index.ts +7 -0
  293. package/src/containers/Project/ProjectArticle.tsx +117 -0
  294. package/src/containers/Project/ProjectSettings.tsx +134 -0
  295. package/src/containers/Project/index.ts +16 -0
  296. package/src/containers/Project/triggers.ts +149 -0
  297. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  298. package/src/containers/PromptArticle/index.ts +7 -0
  299. package/src/containers/TriggerStatus/TriggerStatus.tsx +140 -0
  300. package/src/containers/TriggerStatus/index.ts +7 -0
  301. package/src/containers/index.ts +15 -0
  302. package/src/hooks/useBlueprintRegistry.ts +7 -4
  303. package/src/hooks/useChatProcessor.ts +2 -1
  304. package/src/hooks/useChatServices.ts +3 -3
  305. package/src/hooks/useChatToolbarActions.ts +6 -5
  306. package/src/hooks/useFilteredTypes.ts +2 -2
  307. package/src/hooks/useReferencesProvider.ts +1 -5
  308. package/src/index.ts +1 -0
  309. package/src/meta.ts +2 -2
  310. package/src/processor/processor.test.ts +8 -7
  311. package/src/processor/processor.ts +47 -26
  312. package/src/processor/update-name.ts +2 -3
  313. package/src/testing/test-sequence.ts +3 -3
  314. package/src/testing/test-services.ts +1 -1
  315. package/src/translations.ts +29 -3
  316. package/src/types/Assistant.ts +4 -38
  317. package/src/types/AssistantAction.ts +14 -13
  318. package/src/types/capabilities.ts +2 -2
  319. package/src/types/events.ts +1 -1
  320. package/src/types/index.ts +3 -0
  321. package/src/types/service.ts +4 -4
  322. package/dist/lib/browser/BlueprintArticle-WP3G5GLG.mjs +0 -31
  323. package/dist/lib/browser/BlueprintArticle-WP3G5GLG.mjs.map +0 -7
  324. package/dist/lib/browser/ChatCompanion-ECQYUQ2B.mjs.map +0 -7
  325. package/dist/lib/browser/ChatContainer-QCCOFBUX.mjs.map +0 -7
  326. package/dist/lib/browser/ChatDialog-SMK4RSZU.mjs.map +0 -7
  327. package/dist/lib/browser/PromptArticle-K362ZPAE.mjs +0 -53
  328. package/dist/lib/browser/PromptArticle-K362ZPAE.mjs.map +0 -7
  329. package/dist/lib/browser/ai-service-5GUDOEWF.mjs.map +0 -7
  330. package/dist/lib/browser/app-graph-builder-DSNH2OMY.mjs.map +0 -7
  331. package/dist/lib/browser/blueprint-definition-DGHH7MUU.mjs +0 -14
  332. package/dist/lib/browser/chunk-3JYPE2MM.mjs.map +0 -7
  333. package/dist/lib/browser/chunk-DKQMSMBN.mjs +0 -326
  334. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +0 -7
  335. package/dist/lib/browser/chunk-ML3QCFKA.mjs.map +0 -7
  336. package/dist/lib/browser/chunk-MRJVYGLU.mjs +0 -208
  337. package/dist/lib/browser/chunk-MRJVYGLU.mjs.map +0 -7
  338. package/dist/lib/browser/chunk-V772AMZM.mjs.map +0 -7
  339. package/dist/lib/browser/chunk-WGQTU6UJ.mjs +0 -41
  340. package/dist/lib/browser/chunk-WGQTU6UJ.mjs.map +0 -7
  341. package/dist/lib/browser/edge-model-resolver-26BOY6HY.mjs.map +0 -7
  342. package/dist/lib/browser/local-model-resolver-ZFIM6GGV.mjs.map +0 -7
  343. package/dist/lib/browser/operation-resolver-7XJLBRQY.mjs.map +0 -7
  344. package/dist/lib/browser/react-surface-NCITRSJJ.mjs +0 -109
  345. package/dist/lib/browser/react-surface-NCITRSJJ.mjs.map +0 -7
  346. package/dist/lib/browser/repair-6QGAKOVM.mjs +0 -54
  347. package/dist/lib/browser/repair-6QGAKOVM.mjs.map +0 -7
  348. package/dist/lib/browser/settings-4ZDLUMYE.mjs.map +0 -7
  349. package/dist/lib/browser/toolkit-7AVTEPMA.mjs +0 -18
  350. package/dist/lib/browser/toolkit-7AVTEPMA.mjs.map +0 -7
  351. package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs +0 -32
  352. package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs.map +0 -7
  353. package/dist/lib/node-esm/ChatCompanion-Q4FUZ2MW.mjs.map +0 -7
  354. package/dist/lib/node-esm/ChatContainer-AKI33HIB.mjs.map +0 -7
  355. package/dist/lib/node-esm/ChatDialog-AP45PVZR.mjs.map +0 -7
  356. package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs +0 -54
  357. package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs.map +0 -7
  358. package/dist/lib/node-esm/ai-service-PXKKCFIF.mjs.map +0 -7
  359. package/dist/lib/node-esm/app-graph-builder-TJCUEXW5.mjs.map +0 -7
  360. package/dist/lib/node-esm/blueprint-definition-SEMDEIYG.mjs +0 -15
  361. package/dist/lib/node-esm/chunk-355W5B27.mjs.map +0 -7
  362. package/dist/lib/node-esm/chunk-75PHXBN3.mjs +0 -327
  363. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +0 -7
  364. package/dist/lib/node-esm/chunk-DCA5QWQT.mjs +0 -209
  365. package/dist/lib/node-esm/chunk-DCA5QWQT.mjs.map +0 -7
  366. package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs +0 -42
  367. package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs.map +0 -7
  368. package/dist/lib/node-esm/chunk-XI5T3MJC.mjs.map +0 -7
  369. package/dist/lib/node-esm/chunk-ZRIPP7YF.mjs.map +0 -7
  370. package/dist/lib/node-esm/edge-model-resolver-G5KMODPO.mjs.map +0 -7
  371. package/dist/lib/node-esm/local-model-resolver-KDZLYI7Y.mjs.map +0 -7
  372. package/dist/lib/node-esm/operation-resolver-SX4WMNA7.mjs.map +0 -7
  373. package/dist/lib/node-esm/react-surface-ST6V7LPE.mjs +0 -110
  374. package/dist/lib/node-esm/react-surface-ST6V7LPE.mjs.map +0 -7
  375. package/dist/lib/node-esm/repair-QJ7CQDKU.mjs +0 -55
  376. package/dist/lib/node-esm/repair-QJ7CQDKU.mjs.map +0 -7
  377. package/dist/lib/node-esm/settings-CQEOHR3R.mjs.map +0 -7
  378. package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs +0 -19
  379. package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs.map +0 -7
  380. package/dist/types/src/blueprints/assistant-blueprint.d.ts +0 -209
  381. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +0 -1
  382. package/dist/types/src/capabilities/repair/index.d.ts +0 -3
  383. package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
  384. package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
  385. package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
  386. package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
  387. package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
  388. package/dist/types/src/components/BlueprintArticle.d.ts +0 -7
  389. package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
  390. package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
  391. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  392. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  393. package/dist/types/src/components/PromptArticle.d.ts +0 -7
  394. package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
  395. package/dist/types/src/functions/index.d.ts +0 -4
  396. package/dist/types/src/functions/index.d.ts.map +0 -1
  397. package/dist/types/src/functions/object-list.d.ts +0 -10
  398. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  399. package/dist/types/src/functions/object-load.d.ts +0 -8
  400. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  401. package/dist/types/src/functions/object-search.d.ts +0 -10
  402. package/dist/types/src/functions/object-search.d.ts.map +0 -1
  403. package/src/blueprints/assistant-blueprint.ts +0 -62
  404. package/src/capabilities/repair/index.ts +0 -7
  405. package/src/capabilities/repair/repair.ts +0 -63
  406. package/src/components/AssistantSettings/index.ts +0 -5
  407. package/src/components/BlueprintArticle.tsx +0 -29
  408. package/src/components/ChatContainer.tsx +0 -61
  409. package/src/components/PromptArticle.tsx +0 -50
  410. package/src/functions/index.ts +0 -7
  411. package/src/functions/object-list.ts +0 -49
  412. package/src/functions/object-load.ts +0 -47
  413. package/src/functions/object-search.ts +0 -46
  414. /package/dist/lib/browser/{blueprint-definition-DGHH7MUU.mjs.map → ChatContainer-SMSZXEF5.mjs.map} +0 -0
  415. /package/dist/lib/browser/{state-AN6336ZX.mjs.map → state-EMIKHGYZ.mjs.map} +0 -0
  416. /package/dist/lib/node-esm/{blueprint-definition-SEMDEIYG.mjs.map → ChatContainer-DMOAYUUM.mjs.map} +0 -0
  417. /package/dist/lib/node-esm/{state-HDON4REW.mjs.map → state-7A7QPQKK.mjs.map} +0 -0
  418. /package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/Project/ProjectSettings.tsx", "../../../src/containers/Project/triggers.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Project } from '@dxos/assistant-toolkit';\nimport { DXN, Obj, Ref } from '@dxos/echo';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { QueueService } from '@dxos/functions';\nimport { AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { MarkdownEditor } from '@dxos/plugin-markdown';\nimport { Filter, useQuery } from '@dxos/react-client/echo';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Button } from '@dxos/react-ui';\nimport { ButtonGroup, Input } from '@dxos/react-ui';\nimport { FeedAnnotation } from '@dxos/schema';\n\nimport { syncTriggers } from './triggers';\n\nexport const ProjectSettings = ({ subject: project }: SurfaceComponentProps<Project.Project>) => {\n const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);\n\n const handleResetHistory = useCallback(async () => {\n const runtime = computeRuntime.getRuntime(Obj.getDatabase(project)!.spaceId);\n\n await runtime.runPromise(Project.resetChatHistory(project));\n\n if (!project.queue) {\n await runtime.runPromise(\n Effect.gen(function* () {\n const queue = yield* QueueService.createQueue();\n Obj.change(project, (project) => {\n project.queue = Ref.fromDXN(queue.dxn);\n });\n }),\n );\n }\n }, [project, computeRuntime]);\n\n const spec = useAtomValue(AtomRef.make(project.spec));\n const [specInitialValue] = useObject(spec, 'content');\n\n useEffect(() => {\n return Obj.subscribe(project, () => {\n queueMicrotask(() => syncTriggers(project));\n });\n }, [project]);\n\n const db = Obj.getDatabase(project);\n const feedFilter = useMemo(() => {\n if (!db) {\n return Filter.nothing();\n }\n const schemas = db.schemaRegistry.query({ location: ['database', 'runtime'] }).runSync();\n const feedSchemas = schemas.filter((schema) => {\n const annotation = FeedAnnotation.get(schema);\n return Option.isSome(annotation) && annotation.value === true;\n });\n if (feedSchemas.length === 0) {\n return Filter.nothing();\n }\n return Filter.or(...feedSchemas.map((schema) => Filter.type(schema)));\n }, [db]);\n const subscribableObjects = useQuery(db, feedFilter);\n\n const existingSubscripts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(project).pipe((_) =>\n Atom.make((get) => {\n const project = get(_);\n const selectedSubscriptions: Obj.Unknown[] = subscribableObjects.filter((object) =>\n project.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj.getDXN(object))),\n );\n\n return selectedSubscriptions;\n }),\n ),\n [project, subscribableObjects],\n ),\n );\n\n return (\n <div className='flex flex-col gap-4'>\n <Input.Root>\n <Input.Label>Spec (what is the goal of the project?)</Input.Label>\n <MarkdownEditor.Root id={spec?.id ?? ''} object={spec}>\n <MarkdownEditor.Content initialValue={specInitialValue} />\n </MarkdownEditor.Root>\n </Input.Root>\n <ButtonGroup classNames='h-10'>\n <Button onClick={handleResetHistory}>Reset Chat History</Button>\n </ButtonGroup>\n <div>\n <h2 className='text-lg font-bold'>Subscriptions</h2>\n {subscribableObjects.length > 0 && (\n <div>\n {subscribableObjects.map((object) => (\n <Input.Root key={object.id}>\n <Input.Checkbox\n checked={existingSubscripts.includes(object)}\n onCheckedChange={(checked) => {\n Obj.change(project, (project) => {\n if (checked) {\n project.subscriptions.push(Ref.fromDXN(Obj.getDXN(object)));\n } else {\n project.subscriptions = project.subscriptions.filter(\n (subscription) => !DXN.equals(subscription.dxn, Obj.getDXN(object)),\n );\n }\n });\n }}\n />\n <Input.Label>{Obj.getLabel(object)}</Input.Label>\n </Input.Root>\n ))}\n </div>\n )}\n {subscribableObjects.length === 0 && (\n <div className='text-sm text-description'>Space has no feeds to subscribe to.</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProjectSettings;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\n\nimport { type Project, ProjectFunctions } from '@dxos/assistant-toolkit';\nimport { Feed, Obj, Ref } from '@dxos/echo';\nimport { FunctionDefinition, Trigger } from '@dxos/functions';\nimport { Filter } from '@dxos/react-client/echo';\nimport { FeedAnnotation } from '@dxos/schema';\n\n// TODO(dmaretskyi): Perhaps the association is better done with a relation.\n\n/**\n * Foreign key {@link PROJECT_TRIGGER_EXTENSION_KEY} => <initative id : ObjectId>\n */\nconst PROJECT_TRIGGER_EXTENSION_KEY = 'org.dxos.extension.ProjectTrigger';\n\n/**\n * Foreign key {@link PROJECT_TRIGGER_EXTENSION_KEY} => <dxn string of subscription target>\n */\nconst PROJECT_TRIGGER_TARGET_EXTENSION_KEY = 'org.dxos.extension.ProjectTriggerTarget';\n\n/** Checks if an object's schema has the FeedAnnotation. */\nconst hasFeedAnnotation = (obj: Obj.Unknown): boolean => {\n const schema = Obj.getSchema(obj);\n if (!schema) {\n return false;\n }\n const annotation = FeedAnnotation.get(schema);\n return Option.isSome(annotation) && annotation.value === true;\n};\n\n/**\n * Syncs triggers in the database with the project subscriptions.\n */\nexport const syncTriggers = async (project: Project.Project) => {\n const db = Obj.getDatabase(project);\n if (!db) {\n return;\n }\n\n const triggers = await db\n .query(Filter.foreignKeys(Trigger.Trigger, [{ source: PROJECT_TRIGGER_EXTENSION_KEY, id: project.id }]))\n .run();\n\n // Delete triggers that are not in subscriptions.\n for (const trigger of triggers) {\n const target = Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).at(0)?.id;\n\n const exists = project.subscriptions.find((subscription) => subscription.dxn.toString() === target);\n if (!exists && !(project.useQualifyingAgent && target === Obj.getDXN(project)?.toString())) {\n db.remove(trigger);\n }\n }\n\n // Add triggers that are not in the database.\n for (const subscription of project.subscriptions) {\n const relevantTrigger = triggers.find((trigger) =>\n Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).some((key) => key.id === subscription.dxn.toString()),\n );\n if (relevantTrigger) {\n continue;\n }\n\n const target = await subscription.tryLoad();\n if (!target) {\n continue;\n }\n\n let feedObj: Feed.Feed | undefined;\n if (Obj.instanceOf(Feed.Feed, target)) {\n feedObj = target;\n } else if (hasFeedAnnotation(target)) {\n feedObj = await (target as any).feed?.tryLoad();\n }\n\n const queueDxn = Option.fromNullable(feedObj).pipe(\n Option.filter(Obj.instanceOf(Feed.Feed)),\n Option.map(Feed.getQueueDxn),\n Option.getOrUndefined,\n );\n if (!queueDxn) {\n continue;\n }\n\n db.add(\n Trigger.make({\n [Obj.Parent]: project,\n [Obj.Meta]: {\n keys: [\n // TODO(dmaretskyi): Query by parent instead of manually adding keys.\n { source: PROJECT_TRIGGER_EXTENSION_KEY, id: project.id },\n { source: PROJECT_TRIGGER_TARGET_EXTENSION_KEY, id: subscription.dxn.toString() },\n ],\n },\n enabled: true,\n spec: {\n kind: 'queue',\n queue: queueDxn.toString(),\n },\n function: Ref.make(\n FunctionDefinition.serialize(\n project.useQualifyingAgent ? ProjectFunctions.Qualifier : ProjectFunctions.Agent,\n ),\n ),\n input: {\n project: Ref.make(project),\n event: '{{event}}',\n },\n concurrency: project.useQualifyingAgent ? 5 : undefined,\n }),\n );\n }\n\n if (project.useQualifyingAgent) {\n const qualifierTrigger = triggers.find((trigger) =>\n Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).some(\n (key) => key.id === Obj.getDXN(project)?.toString(),\n ),\n );\n if (!qualifierTrigger && project.queue) {\n db.add(\n Trigger.make({\n [Obj.Parent]: project,\n [Obj.Meta]: {\n keys: [\n { source: PROJECT_TRIGGER_EXTENSION_KEY, id: project.id },\n { source: PROJECT_TRIGGER_TARGET_EXTENSION_KEY, id: Obj.getDXN(project)?.toString() ?? '' },\n ],\n },\n function: Ref.make(FunctionDefinition.serialize(ProjectFunctions.Agent)),\n enabled: true,\n spec: {\n kind: 'queue',\n queue: project.queue.dxn.toString(),\n },\n input: {\n project: Ref.make(project),\n event: '{{event}}',\n },\n }),\n );\n }\n }\n\n await db.flush({ indexes: true });\n};\n"],
5
+ "mappings": ";;;;AAIA,SAASA,YAAY;AACrB,SAASC,oBAAoB;AAC7B,YAAYC,YAAY;AACxB,YAAYC,aAAY;AACxB,OAAOC,SAASC,aAAaC,WAAWC,eAAe;AAEvD,SAASC,qBAAqB;AAE9B,SAASC,eAAe;AACxB,SAASC,KAAKC,OAAAA,MAAKC,OAAAA,YAAW;AAC9B,SAASC,SAASC,eAAe;AACjC,SAASC,oBAAoB;AAC7B,SAASC,8BAA8B;AACvC,SAASC,sBAAsB;AAC/B,SAASC,UAAAA,SAAQC,gBAAgB;AACjC,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AACvB,SAASC,aAAaC,aAAa;AACnC,SAASC,kBAAAA,uBAAsB;;;AClB/B,YAAYC,YAAY;AAExB,SAAuBC,wBAAwB;AAC/C,SAASC,MAAMC,KAAKC,WAAW;AAC/B,SAASC,oBAAoBC,eAAe;AAC5C,SAASC,cAAc;AACvB,SAASC,sBAAsB;AAO/B,IAAMC,gCAAgC;AAKtC,IAAMC,uCAAuC;AAG7C,IAAMC,oBAAoB,CAACC,QAAAA;AACzB,QAAMC,SAASC,IAAIC,UAAUH,GAAAA;AAC7B,MAAI,CAACC,QAAQ;AACX,WAAO;EACT;AACA,QAAMG,aAAaC,eAAeC,IAAIL,MAAAA;AACtC,SAAcM,cAAOH,UAAAA,KAAeA,WAAWI,UAAU;AAC3D;AAKO,IAAMC,eAAe,OAAOC,YAAAA;AACjC,QAAMC,KAAKT,IAAIU,YAAYF,OAAAA;AAC3B,MAAI,CAACC,IAAI;AACP;EACF;AAEA,QAAME,WAAW,MAAMF,GACpBG,MAAMC,OAAOC,YAAYC,QAAQA,SAAS;IAAC;MAAEC,QAAQrB;MAA+BsB,IAAIT,QAAQS;IAAG;GAAE,CAAA,EACrGC,IAAG;AAGN,aAAWC,WAAWR,UAAU;AAC9B,UAAMS,SAASpB,IAAIqB,QAAQF,SAASvB,oCAAAA,EAAsC0B,GAAG,CAAA,GAAIL;AAEjF,UAAMM,SAASf,QAAQgB,cAAcC,KAAK,CAACC,iBAAiBA,aAAaC,IAAIC,SAAQ,MAAOR,MAAAA;AAC5F,QAAI,CAACG,UAAU,EAAEf,QAAQqB,sBAAsBT,WAAWpB,IAAI8B,OAAOtB,OAAAA,GAAUoB,SAAAA,IAAa;AAC1FnB,SAAGsB,OAAOZ,OAAAA;IACZ;EACF;AAGA,aAAWO,gBAAgBlB,QAAQgB,eAAe;AAChD,UAAMQ,kBAAkBrB,SAASc,KAAK,CAACN,YACrCnB,IAAIqB,QAAQF,SAASvB,oCAAAA,EAAsCqC,KAAK,CAACC,QAAQA,IAAIjB,OAAOS,aAAaC,IAAIC,SAAQ,CAAA,CAAA;AAE/G,QAAII,iBAAiB;AACnB;IACF;AAEA,UAAMZ,SAAS,MAAMM,aAAaS,QAAO;AACzC,QAAI,CAACf,QAAQ;AACX;IACF;AAEA,QAAIgB;AACJ,QAAIpC,IAAIqC,WAAWC,KAAKA,MAAMlB,MAAAA,GAAS;AACrCgB,gBAAUhB;IACZ,WAAWvB,kBAAkBuB,MAAAA,GAAS;AACpCgB,gBAAU,MAAOhB,OAAemB,MAAMJ,QAAAA;IACxC;AAEA,UAAMK,WAAkBC,oBAAaL,OAAAA,EAASM,KACrCC,cAAO3C,IAAIqC,WAAWC,KAAKA,IAAI,CAAA,GAC/BM,WAAIN,KAAKO,WAAW,GACpBC,qBAAc;AAEvB,QAAI,CAACN,UAAU;AACb;IACF;AAEA/B,OAAGsC,IACDhC,QAAQiC,KAAK;MACX,CAAChD,IAAIiD,MAAM,GAAGzC;MACd,CAACR,IAAIkD,IAAI,GAAG;QACVC,MAAM;;UAEJ;YAAEnC,QAAQrB;YAA+BsB,IAAIT,QAAQS;UAAG;UACxD;YAAED,QAAQpB;YAAsCqB,IAAIS,aAAaC,IAAIC,SAAQ;UAAG;;MAEpF;MACAwB,SAAS;MACTC,MAAM;QACJC,MAAM;QACNC,OAAOf,SAASZ,SAAQ;MAC1B;MACA4B,UAAUC,IAAIT,KACZU,mBAAmBC,UACjBnD,QAAQqB,qBAAqB+B,iBAAiBC,YAAYD,iBAAiBE,KAAK,CAAA;MAGpFC,OAAO;QACLvD,SAASiD,IAAIT,KAAKxC,OAAAA;QAClBwD,OAAO;MACT;MACAC,aAAazD,QAAQqB,qBAAqB,IAAIqC;IAChD,CAAA,CAAA;EAEJ;AAEA,MAAI1D,QAAQqB,oBAAoB;AAC9B,UAAMsC,mBAAmBxD,SAASc,KAAK,CAACN,YACtCnB,IAAIqB,QAAQF,SAASvB,oCAAAA,EAAsCqC,KACzD,CAACC,QAAQA,IAAIjB,OAAOjB,IAAI8B,OAAOtB,OAAAA,GAAUoB,SAAAA,CAAAA,CAAAA;AAG7C,QAAI,CAACuC,oBAAoB3D,QAAQ+C,OAAO;AACtC9C,SAAGsC,IACDhC,QAAQiC,KAAK;QACX,CAAChD,IAAIiD,MAAM,GAAGzC;QACd,CAACR,IAAIkD,IAAI,GAAG;UACVC,MAAM;YACJ;cAAEnC,QAAQrB;cAA+BsB,IAAIT,QAAQS;YAAG;YACxD;cAAED,QAAQpB;cAAsCqB,IAAIjB,IAAI8B,OAAOtB,OAAAA,GAAUoB,SAAAA,KAAc;YAAG;;QAE9F;QACA4B,UAAUC,IAAIT,KAAKU,mBAAmBC,UAAUC,iBAAiBE,KAAK,CAAA;QACtEV,SAAS;QACTC,MAAM;UACJC,MAAM;UACNC,OAAO/C,QAAQ+C,MAAM5B,IAAIC,SAAQ;QACnC;QACAmC,OAAO;UACLvD,SAASiD,IAAIT,KAAKxC,OAAAA;UAClBwD,OAAO;QACT;MACF,CAAA,CAAA;IAEJ;EACF;AAEA,QAAMvD,GAAG2D,MAAM;IAAEC,SAAS;EAAK,CAAA;AACjC;;;AD1HO,IAAMC,kBAAkB,CAAC,EAAEC,SAASC,QAAO,MAA0C;AAC1F,QAAMC,iBAAiBC,cAAcC,uBAAuBC,cAAc;AAE1E,QAAMC,qBAAqBC,YAAY,YAAA;AACrC,UAAMC,UAAUN,eAAeO,WAAWC,KAAIC,YAAYV,OAAAA,EAAUW,OAAO;AAE3E,UAAMJ,QAAQK,WAAWC,QAAQC,iBAAiBd,OAAAA,CAAAA;AAElD,QAAI,CAACA,QAAQe,OAAO;AAClB,YAAMR,QAAQK,WACLI,WAAI,aAAA;AACT,cAAMD,QAAQ,OAAOE,aAAaC,YAAW;AAC7CT,QAAAA,KAAIU,OAAOnB,SAAS,CAACA,aAAAA;AACnBA,UAAAA,SAAQe,QAAQK,KAAIC,QAAQN,MAAMO,GAAG;QACvC,CAAA;MACF,CAAA,CAAA;IAEJ;EACF,GAAG;IAACtB;IAASC;GAAe;AAE5B,QAAMsB,OAAOC,aAAaC,QAAQC,KAAK1B,QAAQuB,IAAI,CAAA;AACnD,QAAM,CAACI,gBAAAA,IAAoBC,UAAUL,MAAM,SAAA;AAE3CM,YAAU,MAAA;AACR,WAAOpB,KAAIqB,UAAU9B,SAAS,MAAA;AAC5B+B,qBAAe,MAAMC,aAAahC,OAAAA,CAAAA;IACpC,CAAA;EACF,GAAG;IAACA;GAAQ;AAEZ,QAAMiC,KAAKxB,KAAIC,YAAYV,OAAAA;AAC3B,QAAMkC,aAAaC,QAAQ,MAAA;AACzB,QAAI,CAACF,IAAI;AACP,aAAOG,QAAOC,QAAO;IACvB;AACA,UAAMC,UAAUL,GAAGM,eAAeC,MAAM;MAAEC,UAAU;QAAC;QAAY;;IAAW,CAAA,EAAGC,QAAO;AACtF,UAAMC,cAAcL,QAAQM,OAAO,CAACC,WAAAA;AAClC,YAAMC,aAAaC,gBAAeC,IAAIH,MAAAA;AACtC,aAAcI,eAAOH,UAAAA,KAAeA,WAAWI,UAAU;IAC3D,CAAA;AACA,QAAIP,YAAYQ,WAAW,GAAG;AAC5B,aAAOf,QAAOC,QAAO;IACvB;AACA,WAAOD,QAAOgB,GAAE,GAAIT,YAAYU,IAAI,CAACR,WAAWT,QAAOkB,KAAKT,MAAAA,CAAAA,CAAAA;EAC9D,GAAG;IAACZ;GAAG;AACP,QAAMsB,sBAAsBC,SAASvB,IAAIC,UAAAA;AAEzC,QAAMuB,qBAAqBjC,aACzBW,QACE,MACEuB,QAAQhC,KAAK1B,OAAAA,EAAS2D,KAAK,CAACC,MAC1BC,KAAKnC,KAAK,CAACsB,QAAAA;AACT,UAAMhD,WAAUgD,IAAIY,CAAAA;AACpB,UAAME,wBAAuCP,oBAAoBX,OAAO,CAACmB,WACvE/D,SAAQgE,cAAcC,KAAK,CAACC,iBAAiBC,IAAIC,OAAOF,aAAa5C,KAAKb,KAAI4D,OAAON,MAAAA,CAAAA,CAAAA,CAAAA;AAGvF,WAAOD;EACT,CAAA,CAAA,GAEJ;IAAC9D;IAASuD;GAAoB,CAAA;AAIlC,SACE,sBAAA,cAACe,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACC,MAAMC,MAAI,MACT,sBAAA,cAACD,MAAME,OAAK,MAAC,yCAAA,GACb,sBAAA,cAACC,eAAeF,MAAI;IAACG,IAAIrD,MAAMqD,MAAM;IAAIb,QAAQxC;KAC/C,sBAAA,cAACoD,eAAeE,SAAO;IAACC,cAAcnD;QAG1C,sBAAA,cAACoD,aAAAA;IAAYC,YAAW;KACtB,sBAAA,cAACC,QAAAA;IAAOC,SAAS7E;KAAoB,oBAAA,CAAA,GAEvC,sBAAA,cAACiE,OAAAA,MACC,sBAAA,cAACa,MAAAA;IAAGZ,WAAU;KAAoB,eAAA,GACjChB,oBAAoBJ,SAAS,KAC5B,sBAAA,cAACmB,OAAAA,MACEf,oBAAoBF,IAAI,CAACU,WACxB,sBAAA,cAACS,MAAMC,MAAI;IAACW,KAAKrB,OAAOa;KACtB,sBAAA,cAACJ,MAAMa,UAAQ;IACbC,SAAS7B,mBAAmB8B,SAASxB,MAAAA;IACrCyB,iBAAiB,CAACF,YAAAA;AAChB7E,MAAAA,KAAIU,OAAOnB,SAAS,CAACA,aAAAA;AACnB,YAAIsF,SAAS;AACXtF,UAAAA,SAAQgE,cAAcyB,KAAKrE,KAAIC,QAAQZ,KAAI4D,OAAON,MAAAA,CAAAA,CAAAA;QACpD,OAAO;AACL/D,UAAAA,SAAQgE,gBAAgBhE,SAAQgE,cAAcpB,OAC5C,CAACsB,iBAAiB,CAACC,IAAIC,OAAOF,aAAa5C,KAAKb,KAAI4D,OAAON,MAAAA,CAAAA,CAAAA;QAE/D;MACF,CAAA;IACF;MAEF,sBAAA,cAACS,MAAME,OAAK,MAAEjE,KAAIiF,SAAS3B,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAKlCR,oBAAoBJ,WAAW,KAC9B,sBAAA,cAACmB,OAAAA;IAAIC,WAAU;KAA2B,qCAAA,CAAA,CAAA;AAKpD;AAEA,IAAA,0BAAezE;",
6
+ "names": ["Atom", "useAtomValue", "Effect", "Option", "React", "useCallback", "useEffect", "useMemo", "useCapability", "Project", "DXN", "Obj", "Ref", "AtomObj", "AtomRef", "QueueService", "AutomationCapabilities", "MarkdownEditor", "Filter", "useQuery", "useObject", "Button", "ButtonGroup", "Input", "FeedAnnotation", "Option", "ProjectFunctions", "Feed", "Obj", "Ref", "FunctionDefinition", "Trigger", "Filter", "FeedAnnotation", "PROJECT_TRIGGER_EXTENSION_KEY", "PROJECT_TRIGGER_TARGET_EXTENSION_KEY", "hasFeedAnnotation", "obj", "schema", "Obj", "getSchema", "annotation", "FeedAnnotation", "get", "isSome", "value", "syncTriggers", "project", "db", "getDatabase", "triggers", "query", "Filter", "foreignKeys", "Trigger", "source", "id", "run", "trigger", "target", "getKeys", "at", "exists", "subscriptions", "find", "subscription", "dxn", "toString", "useQualifyingAgent", "getDXN", "remove", "relevantTrigger", "some", "key", "tryLoad", "feedObj", "instanceOf", "Feed", "feed", "queueDxn", "fromNullable", "pipe", "filter", "map", "getQueueDxn", "getOrUndefined", "add", "make", "Parent", "Meta", "keys", "enabled", "spec", "kind", "queue", "function", "Ref", "FunctionDefinition", "serialize", "ProjectFunctions", "Qualifier", "Agent", "input", "event", "concurrency", "undefined", "qualifierTrigger", "flush", "indexes", "ProjectSettings", "subject", "project", "computeRuntime", "useCapability", "AutomationCapabilities", "ComputeRuntime", "handleResetHistory", "useCallback", "runtime", "getRuntime", "Obj", "getDatabase", "spaceId", "runPromise", "Project", "resetChatHistory", "queue", "gen", "QueueService", "createQueue", "change", "Ref", "fromDXN", "dxn", "spec", "useAtomValue", "AtomRef", "make", "specInitialValue", "useObject", "useEffect", "subscribe", "queueMicrotask", "syncTriggers", "db", "feedFilter", "useMemo", "Filter", "nothing", "schemas", "schemaRegistry", "query", "location", "runSync", "feedSchemas", "filter", "schema", "annotation", "FeedAnnotation", "get", "isSome", "value", "length", "or", "map", "type", "subscribableObjects", "useQuery", "existingSubscripts", "AtomObj", "pipe", "_", "Atom", "selectedSubscriptions", "object", "subscriptions", "some", "subscription", "DXN", "equals", "getDXN", "div", "className", "Input", "Root", "Label", "MarkdownEditor", "id", "Content", "initialValue", "ButtonGroup", "classNames", "Button", "onClick", "h2", "key", "Checkbox", "checked", "includes", "onCheckedChange", "push", "getLabel"]
7
+ }
@@ -0,0 +1,72 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ TemplateEditor
4
+ } from "./chunk-5DLYAEBK.mjs";
5
+ import "./chunk-JMBYVUD6.mjs";
6
+ import "./chunk-JQAXFBBU.mjs";
7
+ import {
8
+ meta
9
+ } from "./chunk-TEYTGR67.mjs";
10
+ import "./chunk-HSLMI22Q.mjs";
11
+
12
+ // src/containers/PromptArticle/PromptArticle.tsx
13
+ import React, { useMemo } from "react";
14
+ import { AgentFunctions } from "@dxos/assistant-toolkit";
15
+ import { Obj } from "@dxos/echo";
16
+ import { invariant } from "@dxos/invariant";
17
+ import { invokeFunctionWithTracing, useComputeRuntimeCallback } from "@dxos/plugin-automation";
18
+ import { Panel, Toolbar, useTranslation } from "@dxos/react-ui";
19
+ import { useAttention } from "@dxos/react-ui-attention";
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/containers/PromptArticle/PromptArticle.tsx";
21
+ var PromptArticle = ({ role, attendableId, subject }) => {
22
+ const { t } = useTranslation(meta.id);
23
+ const { hasAttention } = useAttention(attendableId);
24
+ const db = Obj.getDatabase(subject);
25
+ const inputData = useMemo(() => subject && db ? {
26
+ prompt: db.makeRef(Obj.getDXN(subject)),
27
+ input: {}
28
+ } : void 0, [
29
+ subject,
30
+ db
31
+ ]);
32
+ const handleRun = useComputeRuntimeCallback(db?.spaceId, () => {
33
+ invariant(inputData, void 0, {
34
+ F: __dxlog_file,
35
+ L: 41,
36
+ S: void 0,
37
+ A: [
38
+ "inputData",
39
+ ""
40
+ ]
41
+ });
42
+ return invokeFunctionWithTracing(AgentFunctions.Prompt, inputData);
43
+ }, [
44
+ inputData
45
+ ]);
46
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
47
+ role,
48
+ className: "dx-article"
49
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
50
+ asChild: true
51
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
52
+ disabled: !hasAttention,
53
+ onClick: handleRun
54
+ }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
55
+ iconOnly: true,
56
+ icon: "ph--play--regular",
57
+ label: t("run prompt label"),
58
+ onClick: handleRun
59
+ }))), /* @__PURE__ */ React.createElement(Panel.Content, {
60
+ asChild: true
61
+ }, /* @__PURE__ */ React.createElement(TemplateEditor, {
62
+ id: subject.id,
63
+ template: subject.instructions
64
+ })));
65
+ };
66
+
67
+ // src/containers/PromptArticle/index.ts
68
+ var PromptArticle_default = PromptArticle;
69
+ export {
70
+ PromptArticle_default as default
71
+ };
72
+ //# sourceMappingURL=PromptArticle-HAGZPZWV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/PromptArticle/PromptArticle.tsx", "../../../src/containers/PromptArticle/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { AgentFunctions } from '@dxos/assistant-toolkit';\nimport { type Prompt } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { invokeFunctionWithTracing, useComputeRuntimeCallback } from '@dxos/plugin-automation';\nimport { Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TemplateEditor } from '../../components';\nimport { meta } from '../../meta';\n\nexport type PromptArticleProps = SurfaceComponentProps<Prompt.Prompt>;\n\nexport const PromptArticle = ({ role, attendableId, subject }: PromptArticleProps) => {\n const { t } = useTranslation(meta.id);\n const { hasAttention } = useAttention(attendableId);\n const db = Obj.getDatabase(subject);\n\n const inputData = useMemo<FunctionDefinition.Input<typeof AgentFunctions.Prompt> | undefined>(\n () =>\n subject && db\n ? {\n prompt: db.makeRef(Obj.getDXN(subject)),\n input: {},\n }\n : undefined,\n [subject, db],\n );\n\n const handleRun = useComputeRuntimeCallback(\n db?.spaceId,\n () => {\n invariant(inputData);\n return invokeFunctionWithTracing(AgentFunctions.Prompt, inputData);\n },\n [inputData],\n );\n\n return (\n <Panel.Root role={role} className='dx-article'>\n <Panel.Toolbar asChild>\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 </Panel.Toolbar>\n <Panel.Content asChild>\n <TemplateEditor id={subject.id} template={subject.instructions} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { PromptArticle } from './PromptArticle';\n\nexport default PromptArticle;\n"],
5
+ "mappings": ";;;;;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAG/B,SAASC,sBAAsB;AAE/B,SAASC,WAAW;AAEpB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2BC,iCAAiC;AACrE,SAASC,OAAOC,SAASC,sBAAsB;AAC/C,SAASC,oBAAoB;;AAOtB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,cAAcC,QAAO,MAAsB;AAC/E,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAM,EAAEC,aAAY,IAAKC,aAAaP,YAAAA;AACtC,QAAMQ,KAAKC,IAAIC,YAAYT,OAAAA;AAE3B,QAAMU,YAAYC,QAChB,MACEX,WAAWO,KACP;IACEK,QAAQL,GAAGM,QAAQL,IAAIM,OAAOd,OAAAA,CAAAA;IAC9Be,OAAO,CAAC;EACV,IACAC,QACN;IAAChB;IAASO;GAAG;AAGf,QAAMU,YAAYC,0BAChBX,IAAIY,SACJ,MAAA;AACEC,cAAUV,WAAAA,QAAAA;;;;;;;;;AACV,WAAOW,0BAA0BC,eAAeC,QAAQb,SAAAA;EAC1D,GACA;IAACA;GAAU;AAGb,SACE,sBAAA,cAACc,MAAMC,MAAI;IAAC3B;IAAY4B,WAAU;KAChC,sBAAA,cAACF,MAAMG,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACD,QAAQF,MAAI;IAACI,UAAU,CAACxB;IAAcyB,SAASb;KAC9C,sBAAA,cAACU,QAAQI,YAAU;IAACC,UAAAA;IAASC,MAAK;IAAoBC,OAAOjC,EAAE,kBAAA;IAAqB6B,SAASb;QAGjG,sBAAA,cAACO,MAAMW,SAAO;IAACP,SAAAA;KACb,sBAAA,cAACQ,gBAAAA;IAAehC,IAAIJ,QAAQI;IAAIiC,UAAUrC,QAAQsC;;AAI1D;;;ACpDA,IAAA,wBAAeC;",
6
+ "names": ["React", "useMemo", "AgentFunctions", "Obj", "invariant", "invokeFunctionWithTracing", "useComputeRuntimeCallback", "Panel", "Toolbar", "useTranslation", "useAttention", "PromptArticle", "role", "attendableId", "subject", "t", "useTranslation", "meta", "id", "hasAttention", "useAttention", "db", "Obj", "getDatabase", "inputData", "useMemo", "prompt", "makeRef", "getDXN", "input", "undefined", "handleRun", "useComputeRuntimeCallback", "spaceId", "invariant", "invokeFunctionWithTracing", "AgentFunctions", "Prompt", "Panel", "Root", "className", "Toolbar", "asChild", "disabled", "onClick", "IconButton", "iconOnly", "icon", "label", "Content", "TemplateEditor", "template", "instructions", "PromptArticle"]
7
+ }
@@ -0,0 +1,113 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ meta
4
+ } from "./chunk-TEYTGR67.mjs";
5
+ import "./chunk-HSLMI22Q.mjs";
6
+
7
+ // src/containers/TriggerStatus/TriggerStatus.tsx
8
+ import React, { useMemo } from "react";
9
+ import { useTriggerRuntimeControls } from "@dxos/plugin-automation";
10
+ import { useActiveSpace } from "@dxos/plugin-space";
11
+ import { StatusBar } from "@dxos/plugin-status-bar";
12
+ import { Icon, Input, Popover, useTranslation } from "@dxos/react-ui";
13
+ import { Settings } from "@dxos/react-ui-form";
14
+ import { mx } from "@dxos/ui-theme";
15
+ var getIcon = (state) => {
16
+ switch (state) {
17
+ case "disabled":
18
+ return "ph--lightning-slash--regular";
19
+ case "idle":
20
+ return "ph--lightning--regular";
21
+ case "running":
22
+ return "ph--lightning--fill";
23
+ case "error":
24
+ return "ph--warning--regular";
25
+ }
26
+ };
27
+ var getIconClassNames = (state) => {
28
+ switch (state) {
29
+ case "running":
30
+ return "animate-pulse text-accent-text";
31
+ case "error":
32
+ return "text-error-text";
33
+ default:
34
+ return void 0;
35
+ }
36
+ };
37
+ var TriggerStatus = () => {
38
+ const space = useActiveSpace();
39
+ const db = space?.db;
40
+ if (!db) {
41
+ return null;
42
+ }
43
+ return /* @__PURE__ */ React.createElement(SpaceStatusMain, {
44
+ db
45
+ });
46
+ };
47
+ var SpaceStatusMain = ({ db }) => {
48
+ const { state, start, stop } = useTriggerRuntimeControls(db);
49
+ const isRunning = state?.enabled ?? false;
50
+ const triggerState = useMemo(() => {
51
+ if (!isRunning) {
52
+ return "disabled";
53
+ }
54
+ const hasPending = state?.invocations.some((invocation) => invocation.result === null);
55
+ if (hasPending) {
56
+ return "running";
57
+ }
58
+ const lastInvocation = state?.invocations.at(-1);
59
+ if (lastInvocation?.result?._tag === "Failure") {
60
+ return "error";
61
+ }
62
+ return "idle";
63
+ }, [
64
+ isRunning,
65
+ state?.invocations
66
+ ]);
67
+ const { t } = useTranslation(meta.id);
68
+ const title = t(`trigger status ${triggerState} label`);
69
+ const icon = /* @__PURE__ */ React.createElement(Icon, {
70
+ icon: getIcon(triggerState),
71
+ classNames: getIconClassNames(triggerState)
72
+ });
73
+ return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
74
+ asChild: true
75
+ }, /* @__PURE__ */ React.createElement(StatusBar.Item, {
76
+ title
77
+ }, icon)), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, null, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
78
+ isRunning,
79
+ state: triggerState,
80
+ currentFunctionName: state?.invocations.at(-1)?.function?.name ?? state?.invocations.at(-1)?.function?.key,
81
+ lastInvocation: state?.invocations.at(-1),
82
+ onToggle: isRunning ? stop : start
83
+ }), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
84
+ };
85
+ var TriggerStatusPopover = ({ isRunning, state, currentFunctionName, lastInvocation, onToggle }) => {
86
+ const { t } = useTranslation(meta.id);
87
+ return /* @__PURE__ */ React.createElement("div", {
88
+ className: "min-w-[240px] p-2 space-y-3"
89
+ }, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
90
+ title: t("trigger runtime label"),
91
+ description: t("trigger runtime description")
92
+ }, /* @__PURE__ */ React.createElement(Input.Switch, {
93
+ classNames: "justify-self-end",
94
+ checked: isRunning,
95
+ onCheckedChange: onToggle
96
+ })), /* @__PURE__ */ React.createElement("div", {
97
+ className: "flex items-center gap-2 pt-2 border-t border-separator"
98
+ }, /* @__PURE__ */ React.createElement(Icon, {
99
+ icon: getIcon(state),
100
+ classNames: mx(getIconClassNames(state), "shrink-0")
101
+ }), /* @__PURE__ */ React.createElement("span", {
102
+ className: "text-sm"
103
+ }, t(`trigger status ${state} label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("span", {
104
+ className: "text-xs text-description"
105
+ }, currentFunctionName)));
106
+ };
107
+
108
+ // src/containers/TriggerStatus/index.ts
109
+ var TriggerStatus_default = TriggerStatus;
110
+ export {
111
+ TriggerStatus_default as default
112
+ };
113
+ //# sourceMappingURL=TriggerStatus-V3QMIE7T.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TriggerStatus/TriggerStatus.tsx", "../../../src/containers/TriggerStatus/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type InvocationsState } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation';\nimport { useActiveSpace } from '@dxos/plugin-space';\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { type Database } from '@dxos/react-client/echo';\nimport { Icon, Input, Popover, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { mx } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\ntype TriggerStatusState = 'disabled' | 'idle' | 'running' | 'error';\n\nconst getIcon = (state: TriggerStatusState): string => {\n switch (state) {\n case 'disabled':\n return 'ph--lightning-slash--regular';\n case 'idle':\n return 'ph--lightning--regular';\n case 'running':\n return 'ph--lightning--fill';\n case 'error':\n return 'ph--warning--regular';\n }\n};\n\nconst getIconClassNames = (state: TriggerStatusState): string | undefined => {\n switch (state) {\n case 'running':\n return 'animate-pulse text-accent-text';\n case 'error':\n return 'text-error-text';\n default:\n return undefined;\n }\n};\n\nexport const TriggerStatus = () => {\n const space = useActiveSpace();\n const db = space?.db;\n if (!db) {\n return null;\n }\n\n return <SpaceStatusMain db={db} />;\n};\n\nconst SpaceStatusMain = ({ db }: { db: Database.Database }) => {\n const { state, start, stop } = useTriggerRuntimeControls(db);\n const isRunning = state?.enabled ?? false;\n\n // Determine the current trigger status state.\n const triggerState: TriggerStatusState = useMemo(() => {\n if (!isRunning) {\n return 'disabled';\n }\n\n // Check if there's any pending invocation.\n const hasPending = state?.invocations.some((invocation) => invocation.result === null);\n if (hasPending) {\n return 'running';\n }\n\n // Check if the last invocation failed.\n const lastInvocation = state?.invocations.at(-1);\n if (lastInvocation?.result?._tag === 'Failure') {\n return 'error';\n }\n\n return 'idle';\n }, [isRunning, state?.invocations]);\n\n const { t } = useTranslation(meta.id);\n const title = t(`trigger status ${triggerState} label`);\n const icon = <Icon icon={getIcon(triggerState)} classNames={getIconClassNames(triggerState)} />;\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item title={title}>{icon}</StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content>\n <TriggerStatusPopover\n isRunning={isRunning}\n state={triggerState}\n currentFunctionName={state?.invocations.at(-1)?.function?.name ?? state?.invocations.at(-1)?.function?.key}\n lastInvocation={state?.invocations.at(-1)}\n onToggle={isRunning ? stop : start}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ninterface TriggerStatusPopoverProps {\n isRunning: boolean;\n state: TriggerStatusState;\n currentFunctionName?: string;\n lastInvocation?: InvocationsState;\n onToggle: () => void;\n}\n\nconst TriggerStatusPopover = ({\n isRunning,\n state,\n currentFunctionName,\n lastInvocation,\n onToggle,\n}: TriggerStatusPopoverProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <div className='min-w-[240px] p-2 space-y-3'>\n {/* Runtime Toggle */}\n <Settings.ItemInput title={t('trigger runtime label')} description={t('trigger runtime description')}>\n <Input.Switch classNames='justify-self-end' checked={isRunning} onCheckedChange={onToggle} />\n </Settings.ItemInput>\n\n {/* Status Indicator */}\n <div className='flex items-center gap-2 pt-2 border-t border-separator'>\n <Icon icon={getIcon(state)} classNames={mx(getIconClassNames(state), 'shrink-0')} />\n <span className='text-sm'>{t(`trigger status ${state} label`)}</span>\n {currentFunctionName && state === 'running' && (\n <span className='text-xs text-description'>{currentFunctionName}</span>\n )}\n </div>\n </div>\n );\n};\n\nexport default TriggerStatus;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { TriggerStatus } from './TriggerStatus';\n\nexport default TriggerStatus;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "useTriggerRuntimeControls", "useActiveSpace", "StatusBar", "Icon", "Input", "Popover", "useTranslation", "Settings", "mx", "getIcon", "state", "getIconClassNames", "undefined", "TriggerStatus", "space", "useActiveSpace", "db", "SpaceStatusMain", "start", "stop", "useTriggerRuntimeControls", "isRunning", "enabled", "triggerState", "useMemo", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "t", "useTranslation", "meta", "id", "title", "icon", "Icon", "classNames", "Popover", "Root", "Trigger", "asChild", "StatusBar", "Item", "Portal", "Content", "TriggerStatusPopover", "currentFunctionName", "function", "name", "key", "onToggle", "Arrow", "div", "className", "Settings", "ItemInput", "description", "Input", "Switch", "checked", "onCheckedChange", "mx", "span", "TriggerStatus"]
7
+ }
@@ -5,18 +5,19 @@ import "./chunk-HSLMI22Q.mjs";
5
5
  import * as Effect from "effect/Effect";
6
6
  import * as Layer from "effect/Layer";
7
7
  import { AiModelResolver } from "@dxos/ai";
8
- import { Capability, Common } from "@dxos/app-framework";
8
+ import { Capability } from "@dxos/app-framework";
9
+ import { AppCapabilities } from "@dxos/app-toolkit";
9
10
  var ai_service_default = Capability.makeModule(Effect.fnUntraced(function* () {
10
- const resolvers = yield* Capability.getAll(Common.Capability.AiModelResolver);
11
+ const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);
11
12
  const combinedLayer = resolvers.reduce((acc, resolver) => resolver.pipe(Layer.provide(acc)), AiModelResolver.AiModelResolver.fromModelMap({
12
13
  name: "Fallback"
13
14
  }, Effect.succeed({})));
14
15
  return [
15
16
  // TODO(dmaretskyi): Read config from settings.
16
- Capability.contributes(Common.Capability.AiServiceLayer, AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)))
17
+ Capability.contributes(AppCapabilities.AiServiceLayer, AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)))
17
18
  ];
18
19
  }));
19
20
  export {
20
21
  ai_service_default as default
21
22
  };
22
- //# sourceMappingURL=ai-service-PXKKCFIF.mjs.map
23
+ //# sourceMappingURL=ai-service-ZI3A6RVG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-service/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 { AiModelResolver } from '@dxos/ai';\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);\n\n // TODO(dmaretskyi): Extract function to reduce them.\n const combinedLayer = resolvers.reduce(\n (acc, resolver) => resolver.pipe(Layer.provide(acc)),\n AiModelResolver.AiModelResolver.fromModelMap({ name: 'Fallback' }, Effect.succeed({})), // Empty resolver as fallback.\n );\n\n return [\n // TODO(dmaretskyi): Read config from settings.\n Capability.contributes(\n AppCapabilities.AiServiceLayer,\n AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)),\n ),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAEhC,IAAA,qBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,YAAY,OAAOH,WAAWI,OAAOC,gBAAgBC,eAAe;AAG1E,QAAMC,gBAAgBJ,UAAUK,OAC9B,CAACC,KAAKC,aAAaA,SAASC,KAAWC,cAAQH,GAAAA,CAAAA,GAC/CH,gBAAgBA,gBAAgBO,aAAa;IAAEC,MAAM;EAAW,GAAUC,eAAQ,CAAC,CAAA,CAAA,CAAA;AAGrF,SAAO;;IAELf,WAAWgB,YACTX,gBAAgBY,gBAChBX,gBAAgBA,gBAAgBY,eAAeP,KAAWC,cAAQL,aAAAA,CAAAA,CAAAA;;AAGxE,CAAA,CAAA;",
6
+ "names": ["Effect", "Layer", "AiModelResolver", "Capability", "AppCapabilities", "Capability", "makeModule", "fnUntraced", "resolvers", "getAll", "AppCapabilities", "AiModelResolver", "combinedLayer", "reduce", "acc", "resolver", "pipe", "provide", "fromModelMap", "name", "succeed", "contributes", "AiServiceLayer", "buildAiService"]
7
+ }
@@ -1,26 +1,27 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  AssistantCapabilities,
4
- AssistantOperation,
5
- Assistant_exports
6
- } from "./chunk-355W5B27.mjs";
4
+ AssistantOperation
5
+ } from "./chunk-JQAXFBBU.mjs";
7
6
  import {
8
7
  ASSISTANT_DIALOG,
9
8
  meta
10
- } from "./chunk-POWB2BPC.mjs";
9
+ } from "./chunk-TEYTGR67.mjs";
11
10
  import "./chunk-HSLMI22Q.mjs";
12
11
 
13
12
  // src/capabilities/app-graph-builder/app-graph-builder.ts
14
13
  import * as Effect from "effect/Effect";
15
- import { Capability, Common } from "@dxos/app-framework";
16
- import { Prompt } from "@dxos/blueprints";
14
+ import { Capabilities, Capability } from "@dxos/app-framework";
15
+ import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
16
+ import { Chat } from "@dxos/assistant-toolkit";
17
+ import { Blueprint, Prompt } from "@dxos/blueprints";
17
18
  import { Sequence } from "@dxos/conductor";
18
- import { DXN, Obj } from "@dxos/echo";
19
+ import { DXN, Database, Obj } from "@dxos/echo";
19
20
  import { AtomObj } from "@dxos/echo-atom";
20
21
  import { invariant } from "@dxos/invariant";
21
22
  import { Operation } from "@dxos/operation";
22
23
  import { ClientCapabilities } from "@dxos/plugin-client";
23
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
24
+ import { PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
24
25
  import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
25
26
  import { getActiveSpace } from "@dxos/plugin-space";
26
27
  import { SpaceOperation } from "@dxos/plugin-space/types";
@@ -30,13 +31,12 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
30
31
  const capabilities = yield* Capability.Service;
31
32
  const extensions = yield* Effect.all([
32
33
  GraphBuilder.createTypeExtension({
33
- id: `${meta.id}/root`,
34
- type: Assistant_exports.Chat,
34
+ id: `${meta.id}.root`,
35
+ type: Chat.Chat,
35
36
  actions: (chat) => {
36
- const id = Obj.getDXN(chat).toString();
37
37
  return Effect.succeed([
38
38
  {
39
- id: `${AssistantOperation.UpdateChatName.meta.key}/${id}`,
39
+ id: AssistantOperation.UpdateChatName.meta.key,
40
40
  data: () => Operation.invoke(AssistantOperation.UpdateChatName, {
41
41
  chat
42
42
  }),
@@ -55,21 +55,21 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
55
55
  }
56
56
  }),
57
57
  GraphBuilder.createExtension({
58
- id: `${meta.id}/assistant`,
58
+ id: `${meta.id}.assistant`,
59
59
  match: NodeMatcher.whenRoot,
60
60
  actions: () => Effect.succeed([
61
61
  {
62
- id: `${Common.LayoutOperation.UpdateDialog.meta.key}/assistant/open`,
62
+ id: `${LayoutOperation.UpdateDialog.meta.key}.assistant.open`,
63
63
  data: Effect.fnUntraced(function* () {
64
64
  const capabilities2 = yield* Capability.Service;
65
65
  const client = yield* Capability.get(ClientCapabilities.Client);
66
- const operationInvoker = yield* Capability.get(Common.Capability.OperationInvoker);
66
+ const operationInvoker = yield* Capability.get(Capabilities.OperationInvoker);
67
67
  const space = getActiveSpace(capabilities2) ?? client.spaces.default;
68
68
  const chat = yield* Effect.tryPromise(() => getOrCreateChat(operationInvoker.invokePromise, space.db));
69
69
  if (!chat) {
70
70
  return;
71
71
  }
72
- yield* Operation.invoke(Common.LayoutOperation.UpdateDialog, {
72
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
73
73
  subject: ASSISTANT_DIALOG,
74
74
  state: true,
75
75
  blockAlign: "end",
@@ -93,11 +93,35 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
93
93
  windows: "shift+ctrl+k"
94
94
  }
95
95
  }
96
+ },
97
+ {
98
+ id: `${meta.id}.reset-blueprints`,
99
+ data: Effect.fnUntraced(function* () {
100
+ const capabilities2 = yield* Capability.Service;
101
+ const client = yield* Capability.get(ClientCapabilities.Client);
102
+ const space = getActiveSpace(capabilities2) ?? client.spaces.default;
103
+ const blueprints = yield* Effect.tryPromise(() => space.db.query(Query.type(Blueprint.Blueprint)).run());
104
+ for (const blueprint of blueprints) {
105
+ space.db.remove(blueprint);
106
+ }
107
+ yield* Database.flush({
108
+ indexes: true
109
+ });
110
+ }),
111
+ properties: {
112
+ label: [
113
+ "reset blueprints label",
114
+ {
115
+ ns: meta.id
116
+ }
117
+ ],
118
+ icon: "ph--arrow-clockwise--regular"
119
+ }
96
120
  }
97
121
  ])
98
122
  }),
99
123
  GraphBuilder.createExtension({
100
- id: `${meta.id}/companion-chat`,
124
+ id: `${meta.id}.companion-chat`,
101
125
  match: NodeMatcher.whenEchoObject,
102
126
  connector: (object, get) => Effect.gen(function* () {
103
127
  const state = get(yield* Capability.get(AssistantCapabilities.State));
@@ -105,10 +129,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
105
129
  if (!currentChatState) {
106
130
  return [
107
131
  {
108
- id: [
109
- Obj.getDXN(object).toString(),
110
- "assistant-chat"
111
- ].join(ATTENDABLE_PATH_SEPARATOR),
132
+ id: "assistant-chat",
112
133
  type: PLANK_COMPANION_TYPE,
113
134
  data: "assistant-chat",
114
135
  properties: {
@@ -129,17 +150,11 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
129
150
  const currentChatDxn = DXN.tryParse(currentChatState);
130
151
  const currentChatRef = currentChatDxn ? db?.makeRef(currentChatDxn) : void 0;
131
152
  const currentChat = currentChatRef ? get(AtomObj.make(currentChatRef)) : void 0;
132
- if (!Obj.isObject(currentChat)) {
133
- return [];
134
- }
135
153
  return [
136
154
  {
137
- id: [
138
- Obj.getDXN(object).toString(),
139
- "assistant-chat"
140
- ].join(ATTENDABLE_PATH_SEPARATOR),
155
+ id: "assistant-chat",
141
156
  type: PLANK_COMPANION_TYPE,
142
- data: currentChat,
157
+ data: Obj.isObject(currentChat) ? currentChat : "assistant-chat",
143
158
  properties: {
144
159
  label: [
145
160
  "assistant chat label",
@@ -156,14 +171,11 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
156
171
  })
157
172
  }),
158
173
  GraphBuilder.createExtension({
159
- id: `${meta.id}/invocations`,
174
+ id: `${meta.id}.invocations`,
160
175
  match: NodeMatcher.whenAny(NodeMatcher.whenEchoTypeMatches(Sequence), NodeMatcher.whenEchoTypeMatches(Prompt.Prompt)),
161
- connector: (node) => Effect.succeed([
176
+ connector: () => Effect.succeed([
162
177
  {
163
- id: [
164
- node.id,
165
- "invocations"
166
- ].join(ATTENDABLE_PATH_SEPARATOR),
178
+ id: "invocations",
167
179
  type: PLANK_COMPANION_TYPE,
168
180
  data: "invocations",
169
181
  properties: {
@@ -180,11 +192,11 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
180
192
  ])
181
193
  })
182
194
  ]);
183
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
195
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
184
196
  }));
185
197
  var getOrCreateChat = async (invokePromise, db) => {
186
- const allChats = await db.query(Query.type(Assistant_exports.Chat)).run();
187
- const relatedChats = await db.query(Query.type(Assistant_exports.Chat).sourceOf(Assistant_exports.CompanionTo).source()).run();
198
+ const allChats = await db.query(Query.type(Chat.Chat)).run();
199
+ const relatedChats = await db.query(Query.type(Chat.Chat).sourceOf(Chat.CompanionTo).source()).run();
188
200
  const chats = allChats.filter((chat) => !relatedChats.includes(chat));
189
201
  if (chats.length > 0) {
190
202
  return chats.at(-1);
@@ -192,12 +204,12 @@ var getOrCreateChat = async (invokePromise, db) => {
192
204
  const { data } = await invokePromise(AssistantOperation.CreateChat, {
193
205
  db
194
206
  });
195
- invariant(Obj.instanceOf(Assistant_exports.Chat, data?.object), void 0, {
207
+ invariant(Obj.instanceOf(Chat.Chat, data?.object), void 0, {
196
208
  F: __dxlog_file,
197
- L: 177,
209
+ L: 194,
198
210
  S: void 0,
199
211
  A: [
200
- "Obj.instanceOf(Assistant.Chat, data?.object)",
212
+ "Obj.instanceOf(Chat.Chat, data?.object)",
201
213
  ""
202
214
  ]
203
215
  });
@@ -210,4 +222,4 @@ var getOrCreateChat = async (invokePromise, db) => {
210
222
  export {
211
223
  app_graph_builder_default as default
212
224
  };
213
- //# sourceMappingURL=app-graph-builder-TJCUEXW5.mjs.map
225
+ //# sourceMappingURL=app-graph-builder-YPHP6X6W.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { Blueprint, Prompt } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Database, Obj, type Ref } from '@dxos/echo';\nimport { AtomObj } from '@dxos/echo-atom';\nimport { invariant } from '@dxos/invariant';\nimport { Operation, type OperationInvoker } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { Query } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, meta } from '../../meta';\nimport { AssistantCapabilities, AssistantOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: `${meta.id}.root`,\n type: Chat.Chat,\n actions: (chat) => {\n return Effect.succeed([\n {\n id: AssistantOperation.UpdateChatName.meta.key,\n data: () => Operation.invoke(AssistantOperation.UpdateChatName, { chat }),\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 }),\n\n GraphBuilder.createExtension({\n id: `${meta.id}.assistant`,\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n {\n id: `${LayoutOperation.UpdateDialog.meta.key}.assistant.open`,\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const operationInvoker = yield* Capability.get(Capabilities.OperationInvoker);\n const space = getActiveSpace(capabilities) ?? client.spaces.default;\n const chat = yield* Effect.tryPromise(() => getOrCreateChat(operationInvoker.invokePromise, space.db));\n if (!chat) {\n return;\n }\n\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: ASSISTANT_DIALOG,\n state: true,\n blockAlign: 'end',\n props: { chat },\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 id: `${meta.id}.reset-blueprints`,\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(capabilities) ?? client.spaces.default;\n const blueprints = yield* Effect.tryPromise(() =>\n space.db.query(Query.type(Blueprint.Blueprint)).run(),\n );\n for (const blueprint of blueprints) {\n space.db.remove(blueprint);\n }\n yield* Database.flush({ indexes: true });\n }),\n properties: {\n label: ['reset blueprints label', { ns: meta.id }],\n icon: 'ph--arrow-clockwise--regular',\n },\n },\n ]),\n }),\n\n GraphBuilder.createExtension({\n id: `${meta.id}.companion-chat`,\n match: NodeMatcher.whenEchoObject,\n connector: (object, get) =>\n Effect.gen(function* () {\n const state = get(yield* Capability.get(AssistantCapabilities.State));\n const currentChatState = state.currentChat[Obj.getDXN(object).toString()];\n // If no state, continue to allow chat initialization.\n if (!currentChatState) {\n return [\n {\n id: 'assistant-chat',\n type: PLANK_COMPANION_TYPE,\n data: '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\n const db = Obj.getDatabase(object);\n const currentChatDxn = DXN.tryParse(currentChatState);\n const currentChatRef = currentChatDxn ? db?.makeRef(currentChatDxn) : undefined;\n const currentChat = currentChatRef ? get(AtomObj.make(currentChatRef as Ref.Ref<Obj.Unknown>)) : undefined;\n\n // Return the resolved chat object, or fall back to 'assistant-chat' string if it can't be resolved.\n // This ensures the companion remains visible even during transient states.\n return [\n {\n id: 'assistant-chat',\n type: PLANK_COMPANION_TYPE,\n data: Obj.isObject(currentChat) ? 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 }),\n\n GraphBuilder.createExtension({\n id: `${meta.id}.invocations`,\n match: NodeMatcher.whenAny(\n NodeMatcher.whenEchoTypeMatches(Sequence),\n NodeMatcher.whenEchoTypeMatches(Prompt.Prompt),\n ),\n connector: () =>\n Effect.succeed([\n {\n id: 'invocations',\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 }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (\n invokePromise: OperationInvoker.OperationInvoker['invokePromise'],\n db: Database.Database,\n): Promise<Chat.Chat | undefined> => {\n // TODO(wittjosiah): This should be possible with a single query.\n const allChats = await db.query(Query.type(Chat.Chat)).run();\n const relatedChats = await db.query(Query.type(Chat.Chat).sourceOf(Chat.CompanionTo).source()).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 invokePromise(AssistantOperation.CreateChat, { db });\n invariant(Obj.instanceOf(Chat.Chat, data?.object));\n await invokePromise(SpaceOperation.AddObject, { target: db, object: data.object });\n return data.object;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "Chat", "Blueprint", "Prompt", "Sequence", "DXN", "Database", "Obj", "AtomObj", "invariant", "Operation", "ClientCapabilities", "PLANK_COMPANION_TYPE", "GraphBuilder", "NodeMatcher", "getActiveSpace", "SpaceOperation", "Query", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "extensions", "all", "GraphBuilder", "createTypeExtension", "id", "meta", "type", "Chat", "actions", "chat", "succeed", "AssistantOperation", "UpdateChatName", "key", "data", "Operation", "invoke", "properties", "label", "ns", "icon", "disposition", "createExtension", "match", "NodeMatcher", "whenRoot", "LayoutOperation", "UpdateDialog", "client", "get", "ClientCapabilities", "Client", "operationInvoker", "Capabilities", "OperationInvoker", "space", "getActiveSpace", "spaces", "default", "tryPromise", "getOrCreateChat", "invokePromise", "db", "subject", "ASSISTANT_DIALOG", "state", "blockAlign", "props", "position", "keyBinding", "macos", "windows", "blueprints", "query", "Query", "Blueprint", "run", "blueprint", "remove", "Database", "flush", "indexes", "whenEchoObject", "connector", "object", "gen", "AssistantCapabilities", "State", "currentChatState", "currentChat", "Obj", "getDXN", "toString", "PLANK_COMPANION_TYPE", "getDatabase", "currentChatDxn", "DXN", "tryParse", "currentChatRef", "makeRef", "undefined", "AtomObj", "make", "isObject", "whenAny", "whenEchoTypeMatches", "Sequence", "Prompt", "contributes", "AppCapabilities", "AppGraphBuilder", "allChats", "relatedChats", "sourceOf", "CompanionTo", "source", "chats", "filter", "includes", "length", "at", "CreateChat", "invariant", "instanceOf", "SpaceOperation", "AddObject", "target"]
7
+ }
@@ -0,0 +1,36 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ blueprint_default
4
+ } from "./chunk-AK3JJ76X.mjs";
5
+ import "./chunk-HSLMI22Q.mjs";
6
+
7
+ // src/capabilities/blueprint-definition/blueprint-definition.ts
8
+ import * as Effect from "effect/Effect";
9
+ import * as Record from "effect/Record";
10
+ import { Capability } from "@dxos/app-framework";
11
+ import { AppCapabilities } from "@dxos/app-toolkit";
12
+ import { AgentFunctions, BrowserBlueprint, DatabaseBlueprint, DiscordBlueprint, EntityExtractionFunctions, LinearBlueprint, PlanningBlueprint, ProjectBlueprint, ProjectFunctions, ResearchBlueprint, WebSearchBlueprint, MemoryBlueprint } from "@dxos/assistant-toolkit";
13
+ var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
14
+ Capability.contributes(AppCapabilities.BlueprintDefinition, blueprint_default),
15
+ Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),
16
+ Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),
17
+ Capability.contributes(AppCapabilities.BlueprintDefinition, ResearchBlueprint),
18
+ Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),
19
+ Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),
20
+ Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),
21
+ Capability.contributes(AppCapabilities.BlueprintDefinition, ProjectBlueprint),
22
+ Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),
23
+ Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),
24
+ Capability.contributes(AppCapabilities.Functions, Record.values(AgentFunctions)),
25
+ Capability.contributes(AppCapabilities.Functions, Record.values(EntityExtractionFunctions)),
26
+ Capability.contributes(AppCapabilities.Functions, [
27
+ ProjectFunctions.Agent,
28
+ ProjectFunctions.GetContext,
29
+ ProjectFunctions.Qualifier
30
+ ])
31
+ ]));
32
+ var blueprint_definition_default = blueprintDefinition;
33
+ export {
34
+ blueprint_definition_default as default
35
+ };
36
+ //# sourceMappingURL=blueprint-definition-UZWGSFBI.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition/blueprint-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Record from 'effect/Record';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport {\n AgentFunctions,\n BrowserBlueprint,\n DatabaseBlueprint,\n DiscordBlueprint,\n EntityExtractionFunctions,\n LinearBlueprint,\n PlanningBlueprint,\n ProjectBlueprint,\n ProjectFunctions,\n ResearchBlueprint,\n WebSearchBlueprint,\n MemoryBlueprint,\n} from '@dxos/assistant-toolkit';\n\nimport { AssistantBlueprint } from '../../blueprints';\n\nconst blueprintDefinition = Capability.makeModule(() =>\n Effect.succeed([\n Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, ResearchBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, ProjectBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),\n\n Capability.contributes(AppCapabilities.Functions, Record.values(AgentFunctions)),\n Capability.contributes(AppCapabilities.Functions, Record.values(EntityExtractionFunctions)),\n Capability.contributes(AppCapabilities.Functions, [\n ProjectFunctions.Agent,\n ProjectFunctions.GetContext,\n ProjectFunctions.Qualifier,\n ]),\n ]),\n);\n\nexport default blueprintDefinition;\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SACEC,gBACAC,kBACAC,mBACAC,kBACAC,2BACAC,iBACAC,mBACAC,kBACAC,kBACAC,mBACAC,oBACAC,uBACK;AAIP,IAAMC,sBAAsBC,WAAWC,WAAW,MACzCC,eAAQ;EACbF,WAAWG,YAAYC,gBAAgBC,qBAAqBC,iBAAAA;EAC5DN,WAAWG,YAAYC,gBAAgBC,qBAAqBE,gBAAAA;EAC5DP,WAAWG,YAAYC,gBAAgBC,qBAAqBG,iBAAAA;EAC5DR,WAAWG,YAAYC,gBAAgBC,qBAAqBI,iBAAAA;EAC5DT,WAAWG,YAAYC,gBAAgBC,qBAAqBK,kBAAAA;EAC5DV,WAAWG,YAAYC,gBAAgBC,qBAAqBM,gBAAAA;EAC5DX,WAAWG,YAAYC,gBAAgBC,qBAAqBO,eAAAA;EAC5DZ,WAAWG,YAAYC,gBAAgBC,qBAAqBQ,gBAAAA;EAC5Db,WAAWG,YAAYC,gBAAgBC,qBAAqBS,iBAAAA;EAC5Dd,WAAWG,YAAYC,gBAAgBC,qBAAqBU,eAAAA;EAE5Df,WAAWG,YAAYC,gBAAgBY,WAAkBC,cAAOC,cAAAA,CAAAA;EAChElB,WAAWG,YAAYC,gBAAgBY,WAAkBC,cAAOE,yBAAAA,CAAAA;EAChEnB,WAAWG,YAAYC,gBAAgBY,WAAW;IAChDI,iBAAiBC;IACjBD,iBAAiBE;IACjBF,iBAAiBG;GAClB;CACF,CAAA;AAGH,IAAA,+BAAexB;",
6
+ "names": ["Effect", "Record", "Capability", "AppCapabilities", "AgentFunctions", "BrowserBlueprint", "DatabaseBlueprint", "DiscordBlueprint", "EntityExtractionFunctions", "LinearBlueprint", "PlanningBlueprint", "ProjectBlueprint", "ProjectFunctions", "ResearchBlueprint", "WebSearchBlueprint", "MemoryBlueprint", "blueprintDefinition", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "BlueprintDefinition", "AssistantBlueprint", "BrowserBlueprint", "DatabaseBlueprint", "ResearchBlueprint", "WebSearchBlueprint", "DiscordBlueprint", "LinearBlueprint", "ProjectBlueprint", "PlanningBlueprint", "MemoryBlueprint", "Functions", "values", "AgentFunctions", "EntityExtractionFunctions", "ProjectFunctions", "Agent", "GetContext", "Qualifier"]
7
+ }
@@ -1,13 +1,9 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- assistant_blueprint_exports,
4
- blueprints,
5
- functions
6
- } from "../chunk-DCA5QWQT.mjs";
3
+ blueprint_default
4
+ } from "../chunk-AK3JJ76X.mjs";
7
5
  import "../chunk-HSLMI22Q.mjs";
8
6
  export {
9
- assistant_blueprint_exports as AssistantBlueprint,
10
- blueprints,
11
- functions
7
+ blueprint_default as AssistantBlueprint
12
8
  };
13
9
  //# sourceMappingURL=index.mjs.map