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

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 (344) hide show
  1. package/dist/lib/browser/AssistantSettings-2LFAG5OQ.mjs +93 -0
  2. package/dist/lib/browser/AssistantSettings-2LFAG5OQ.mjs.map +7 -0
  3. package/dist/lib/browser/BlueprintArticle-CCS25MNW.mjs +36 -0
  4. package/dist/lib/browser/BlueprintArticle-CCS25MNW.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatCompanion-CAKFZAWN.mjs → ChatCompanion-UGD4V34A.mjs} +11 -9
  6. package/dist/lib/browser/ChatCompanion-UGD4V34A.mjs.map +7 -0
  7. package/dist/lib/browser/ChatContainer-ZGRSZ5EU.mjs +12 -0
  8. package/dist/lib/browser/{ChatDialog-ASVBLOOS.mjs → ChatDialog-AET7GVIB.mjs} +7 -7
  9. package/dist/lib/browser/ChatDialog-AET7GVIB.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-R6RRARLO.mjs +194 -0
  13. package/dist/lib/browser/ProjectSettings-R6RRARLO.mjs.map +7 -0
  14. package/dist/lib/browser/PromptArticle-USQO4WX6.mjs +71 -0
  15. package/dist/lib/browser/PromptArticle-USQO4WX6.mjs.map +7 -0
  16. package/dist/lib/browser/TriggerStatus-65X3EUSN.mjs +122 -0
  17. package/dist/lib/browser/TriggerStatus-65X3EUSN.mjs.map +7 -0
  18. package/dist/lib/browser/{app-graph-builder-MUZGUQSC.mjs → app-graph-builder-SFYYUKTT.mjs} +3 -3
  19. package/dist/lib/{node-esm/app-graph-builder-4QN5M6PD.mjs.map → browser/app-graph-builder-SFYYUKTT.mjs.map} +2 -2
  20. package/dist/lib/browser/blueprint-definition-5LQNBZON.mjs +35 -0
  21. package/dist/lib/browser/blueprint-definition-5LQNBZON.mjs.map +7 -0
  22. package/dist/lib/browser/blueprints/index.mjs +3 -7
  23. package/dist/lib/browser/{chunk-6BVCG5SJ.mjs → chunk-7DXYAXLZ.mjs} +8 -8
  24. package/dist/lib/browser/chunk-7DXYAXLZ.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-IJYAKPEU.mjs → chunk-JYY5AD65.mjs} +27 -27
  26. package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-LEXIQDXZ.mjs +26 -0
  28. package/dist/lib/browser/chunk-LEXIQDXZ.mjs.map +7 -0
  29. package/dist/lib/browser/{ChatContainer-QB37VONJ.mjs → chunk-RU4G5NY4.mjs} +17 -21
  30. package/dist/lib/browser/chunk-RU4G5NY4.mjs.map +7 -0
  31. package/dist/lib/browser/{chunk-JA7PUZC7.mjs → chunk-UUA6GNGG.mjs} +544 -393
  32. package/dist/lib/browser/chunk-UUA6GNGG.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +38 -54
  34. package/dist/lib/browser/index.mjs.map +3 -3
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/{operation-resolver-2673CFJS.mjs → operation-resolver-ELXDQZEG.mjs} +23 -20
  37. package/dist/lib/browser/operation-resolver-ELXDQZEG.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-T3FN4GVP.mjs → react-surface-KYQSZO2I.mjs} +42 -23
  39. package/dist/lib/browser/react-surface-KYQSZO2I.mjs.map +7 -0
  40. package/dist/lib/browser/{repair-IRXDYF4R.mjs → repair-ZFZWZALX.mjs} +9 -8
  41. package/dist/lib/browser/repair-ZFZWZALX.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-XF6GKHCG.mjs → settings-YREVQAZ5.mjs} +2 -2
  43. package/dist/lib/browser/{state-OYDPWLKA.mjs → state-MPG42ZO4.mjs} +2 -2
  44. package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
  45. package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
  46. package/dist/lib/browser/types/index.mjs +1 -1
  47. package/dist/lib/node-esm/AssistantSettings-QWFEMJG7.mjs +94 -0
  48. package/dist/lib/node-esm/AssistantSettings-QWFEMJG7.mjs.map +7 -0
  49. package/dist/lib/node-esm/BlueprintArticle-SNEN6LOY.mjs +37 -0
  50. package/dist/lib/node-esm/BlueprintArticle-SNEN6LOY.mjs.map +7 -0
  51. package/dist/lib/node-esm/{ChatCompanion-W4PGOCGR.mjs → ChatCompanion-NP4R5BFE.mjs} +11 -9
  52. package/dist/lib/node-esm/ChatCompanion-NP4R5BFE.mjs.map +7 -0
  53. package/dist/lib/node-esm/ChatContainer-IFHDIFJH.mjs +13 -0
  54. package/dist/lib/node-esm/{ChatDialog-AFLPYSIU.mjs → ChatDialog-UZNQBTKZ.mjs} +7 -7
  55. package/dist/lib/node-esm/ChatDialog-UZNQBTKZ.mjs.map +7 -0
  56. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs +92 -0
  57. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs.map +7 -0
  58. package/dist/lib/node-esm/ProjectSettings-Q5QY6BYS.mjs +195 -0
  59. package/dist/lib/node-esm/ProjectSettings-Q5QY6BYS.mjs.map +7 -0
  60. package/dist/lib/node-esm/PromptArticle-PGMJMQK7.mjs +72 -0
  61. package/dist/lib/node-esm/PromptArticle-PGMJMQK7.mjs.map +7 -0
  62. package/dist/lib/node-esm/TriggerStatus-UR5S7PXJ.mjs +123 -0
  63. package/dist/lib/node-esm/TriggerStatus-UR5S7PXJ.mjs.map +7 -0
  64. package/dist/lib/node-esm/{app-graph-builder-4QN5M6PD.mjs → app-graph-builder-E25JXI34.mjs} +3 -3
  65. package/dist/lib/node-esm/app-graph-builder-E25JXI34.mjs.map +7 -0
  66. package/dist/lib/node-esm/blueprint-definition-CMJWGGJO.mjs +36 -0
  67. package/dist/lib/node-esm/blueprint-definition-CMJWGGJO.mjs.map +7 -0
  68. package/dist/lib/node-esm/blueprints/index.mjs +3 -7
  69. package/dist/lib/node-esm/chunk-3QBVFAYO.mjs +28 -0
  70. package/dist/lib/node-esm/chunk-3QBVFAYO.mjs.map +7 -0
  71. package/dist/lib/node-esm/{ChatContainer-ECFQVH6O.mjs → chunk-6NCLKQCL.mjs} +17 -21
  72. package/dist/lib/node-esm/chunk-6NCLKQCL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-3XC7LQSO.mjs → chunk-GZ4ERNT2.mjs} +544 -393
  74. package/dist/lib/node-esm/chunk-GZ4ERNT2.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-MJD5XWQV.mjs → chunk-JMBYVUD6.mjs} +27 -27
  76. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-LB72WG6R.mjs → chunk-MWYYLALM.mjs} +8 -8
  78. package/dist/lib/node-esm/chunk-MWYYLALM.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +38 -54
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/meta.json +1 -1
  82. package/dist/lib/node-esm/{operation-resolver-2ZD2DXOU.mjs → operation-resolver-Q5GNP2GH.mjs} +23 -20
  83. package/dist/lib/node-esm/operation-resolver-Q5GNP2GH.mjs.map +7 -0
  84. package/dist/lib/node-esm/{react-surface-T4VMCCKZ.mjs → react-surface-JJRGVGKD.mjs} +42 -23
  85. package/dist/lib/node-esm/react-surface-JJRGVGKD.mjs.map +7 -0
  86. package/dist/lib/node-esm/{repair-DMI55PON.mjs → repair-LXFVOK4B.mjs} +9 -8
  87. package/dist/lib/node-esm/repair-LXFVOK4B.mjs.map +7 -0
  88. package/dist/lib/node-esm/{settings-NGGZA7S7.mjs → settings-N452OW6Y.mjs} +2 -2
  89. package/dist/lib/node-esm/{state-VSCPGN7R.mjs → state-WHZFKIEL.mjs} +2 -2
  90. package/dist/lib/node-esm/{toolkit-JPRJRDDB.mjs → toolkit-5IWGLUF4.mjs} +3 -6
  91. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
  92. package/dist/lib/node-esm/types/index.mjs +1 -1
  93. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  94. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  95. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  96. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  97. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  98. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  99. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  100. package/dist/types/src/blueprints/index.d.ts +1 -6
  101. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
  104. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +2 -22
  106. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -2
  108. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +1 -1
  110. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +1 -1
  112. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +1 -1
  114. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +1 -1
  116. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
  118. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/settings/settings.d.ts +1 -1
  120. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  121. package/dist/types/src/capabilities/toolkit/index.d.ts +1 -1
  122. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +1 -1
  124. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -1
  125. package/dist/types/src/components/Chat/Chat.d.ts +6 -5
  126. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  127. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  128. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  129. package/dist/types/src/components/ChatThread/ChatThread.d.ts +1 -1
  130. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +15 -15
  131. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  132. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  133. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +14 -14
  134. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  135. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +14 -14
  136. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +14 -14
  137. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +2 -2
  138. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -1
  139. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/index.d.ts +0 -11
  141. package/dist/types/src/components/index.d.ts.map +1 -1
  142. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  143. package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
  144. package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
  145. package/dist/types/src/{components → containers/BlueprintArticle}/BlueprintArticle.d.ts +0 -1
  146. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  147. package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
  148. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  149. package/dist/types/src/{components → containers/ChatCompanion}/ChatCompanion.d.ts +0 -1
  150. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  151. package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
  152. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  153. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +2 -3
  154. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  155. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  156. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  157. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +0 -1
  158. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  159. package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
  160. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  161. package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
  162. package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
  163. package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
  164. package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
  165. package/dist/types/src/containers/Project/index.d.ts +7 -0
  166. package/dist/types/src/containers/Project/index.d.ts.map +1 -0
  167. package/dist/types/src/containers/Project/triggers.d.ts +6 -0
  168. package/dist/types/src/containers/Project/triggers.d.ts.map +1 -0
  169. package/dist/types/src/{components → containers/PromptArticle}/PromptArticle.d.ts +0 -1
  170. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  171. package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
  172. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  173. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  174. package/dist/types/src/{components → containers}/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  175. package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
  176. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  177. package/dist/types/src/containers/index.d.ts +10 -0
  178. package/dist/types/src/containers/index.d.ts.map +1 -0
  179. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  180. package/dist/types/src/hooks/useFilteredTypes.d.ts +1 -1
  181. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  182. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  183. package/dist/types/src/index.d.ts +1 -0
  184. package/dist/types/src/index.d.ts.map +1 -1
  185. package/dist/types/src/processor/processor.d.ts +1 -1
  186. package/dist/types/src/processor/processor.d.ts.map +1 -1
  187. package/dist/types/src/translations.d.ts +14 -14
  188. package/dist/types/src/types/AssistantAction.d.ts +7 -11
  189. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  190. package/dist/types/src/types/service.d.ts.map +1 -1
  191. package/dist/types/tsconfig.tsbuildinfo +1 -1
  192. package/package.json +82 -82
  193. package/src/AssistantPlugin.tsx +12 -9
  194. package/src/blueprints/assistant/blueprint.conversations.json +1 -0
  195. package/src/blueprints/assistant/blueprint.test.ts +48 -0
  196. package/src/blueprints/assistant/blueprint.ts +27 -0
  197. package/src/blueprints/assistant/index.ts +5 -0
  198. package/src/blueprints/index.ts +1 -8
  199. package/src/capabilities/app-graph-builder/app-graph-builder.ts +1 -3
  200. package/src/capabilities/blueprint-definition/blueprint-definition.ts +25 -49
  201. package/src/capabilities/blueprint-definition/index.ts +0 -1
  202. package/src/capabilities/operation-resolver/operation-resolver.ts +21 -12
  203. package/src/capabilities/react-surface/react-surface.tsx +21 -11
  204. package/src/capabilities/repair/repair.ts +14 -7
  205. package/src/capabilities/toolkit/toolkit.ts +3 -15
  206. package/src/components/Chat/Chat.tsx +25 -15
  207. package/src/components/ChatProgress/ChatProgress.tsx +2 -2
  208. package/src/components/ChatPrompt/ChatActions.tsx +1 -1
  209. package/src/components/ChatPrompt/ChatOptions.tsx +29 -9
  210. package/src/components/ChatPrompt/ChatReferences.tsx +14 -4
  211. package/src/components/ChatThread/ChatThread.stories.tsx +4 -4
  212. package/src/components/ChatThread/ChatThread.tsx +2 -2
  213. package/src/components/ChatThread/registry.tsx +48 -15
  214. package/src/components/ChatThread/sync.test.ts +2 -0
  215. package/src/components/ChatThread/sync.ts +14 -8
  216. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
  217. package/src/components/TemplateEditor/TemplateEditor.tsx +2 -2
  218. package/src/components/TemplateEditor/TemplateForm.stories.tsx +2 -2
  219. package/src/components/TemplateEditor/TemplateForm.tsx +6 -7
  220. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +4 -4
  221. package/src/components/ToolBlock/ToolBlock.tsx +4 -4
  222. package/src/components/Toolbox/Toolbox.stories.tsx +2 -2
  223. package/src/components/Toolbox/Toolbox.tsx +2 -2
  224. package/src/components/Typewriter/AssistantToolbar.tsx +3 -3
  225. package/src/components/Typewriter/Typewriter.stories.tsx +18 -15
  226. package/src/components/Typewriter/Typewriter.tsx +1 -1
  227. package/src/components/Typewriter/assistant-extension.tsx +3 -5
  228. package/src/components/index.ts +0 -18
  229. package/src/containers/AssistantSettings/index.ts +7 -0
  230. package/src/{components → containers/BlueprintArticle}/BlueprintArticle.tsx +10 -8
  231. package/src/containers/BlueprintArticle/index.ts +7 -0
  232. package/src/{components → containers/ChatCompanion}/ChatCompanion.tsx +4 -5
  233. package/src/containers/ChatCompanion/index.ts +7 -0
  234. package/src/{components → containers/ChatContainer}/ChatContainer.tsx +25 -24
  235. package/src/containers/ChatContainer/index.ts +7 -0
  236. package/src/{components → containers/ChatDialog}/ChatDialog.tsx +4 -7
  237. package/src/containers/ChatDialog/index.ts +7 -0
  238. package/src/containers/Project/ProjectArticle.tsx +117 -0
  239. package/src/containers/Project/ProjectSettings.tsx +118 -0
  240. package/src/containers/Project/index.ts +16 -0
  241. package/src/containers/Project/triggers.ts +131 -0
  242. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  243. package/src/containers/PromptArticle/index.ts +7 -0
  244. package/src/{components → containers}/TriggerStatus/TriggerStatus.tsx +12 -4
  245. package/src/containers/TriggerStatus/index.ts +7 -0
  246. package/src/containers/index.ts +15 -0
  247. package/src/hooks/useBlueprintRegistry.ts +5 -2
  248. package/src/hooks/useFilteredTypes.ts +2 -2
  249. package/src/hooks/useReferencesProvider.ts +1 -5
  250. package/src/index.ts +1 -0
  251. package/src/processor/processor.test.ts +2 -1
  252. package/src/processor/processor.ts +17 -22
  253. package/src/testing/test-sequence.ts +3 -3
  254. package/src/testing/test-services.ts +1 -1
  255. package/src/translations.ts +11 -11
  256. package/src/types/AssistantAction.ts +3 -3
  257. package/src/types/service.ts +3 -3
  258. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs +0 -30
  259. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs.map +0 -7
  260. package/dist/lib/browser/ChatCompanion-CAKFZAWN.mjs.map +0 -7
  261. package/dist/lib/browser/ChatContainer-QB37VONJ.mjs.map +0 -7
  262. package/dist/lib/browser/ChatDialog-ASVBLOOS.mjs.map +0 -7
  263. package/dist/lib/browser/InitiativeContainer-V522FCYH.mjs +0 -266
  264. package/dist/lib/browser/InitiativeContainer-V522FCYH.mjs.map +0 -7
  265. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs +0 -52
  266. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs.map +0 -7
  267. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs.map +0 -7
  268. package/dist/lib/browser/blueprint-definition-YAGWYVCL.mjs +0 -14
  269. package/dist/lib/browser/chunk-3ETBCBMH.mjs +0 -47
  270. package/dist/lib/browser/chunk-3ETBCBMH.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-6BVCG5SJ.mjs.map +0 -7
  272. package/dist/lib/browser/chunk-DKQMSMBN.mjs +0 -326
  273. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +0 -7
  274. package/dist/lib/browser/chunk-IJYAKPEU.mjs.map +0 -7
  275. package/dist/lib/browser/chunk-JA7PUZC7.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-POPBT2AQ.mjs +0 -198
  277. package/dist/lib/browser/chunk-POPBT2AQ.mjs.map +0 -7
  278. package/dist/lib/browser/operation-resolver-2673CFJS.mjs.map +0 -7
  279. package/dist/lib/browser/react-surface-T3FN4GVP.mjs.map +0 -7
  280. package/dist/lib/browser/repair-IRXDYF4R.mjs.map +0 -7
  281. package/dist/lib/browser/toolkit-IDXQCSTX.mjs +0 -19
  282. package/dist/lib/browser/toolkit-IDXQCSTX.mjs.map +0 -7
  283. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs +0 -31
  284. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs.map +0 -7
  285. package/dist/lib/node-esm/ChatCompanion-W4PGOCGR.mjs.map +0 -7
  286. package/dist/lib/node-esm/ChatContainer-ECFQVH6O.mjs.map +0 -7
  287. package/dist/lib/node-esm/ChatDialog-AFLPYSIU.mjs.map +0 -7
  288. package/dist/lib/node-esm/InitiativeContainer-U4LGO3BW.mjs +0 -267
  289. package/dist/lib/node-esm/InitiativeContainer-U4LGO3BW.mjs.map +0 -7
  290. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs +0 -53
  291. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs.map +0 -7
  292. package/dist/lib/node-esm/blueprint-definition-H3LFAEK2.mjs +0 -15
  293. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs +0 -48
  294. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs.map +0 -7
  295. package/dist/lib/node-esm/chunk-3XC7LQSO.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-75PHXBN3.mjs +0 -327
  297. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +0 -7
  298. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs +0 -199
  299. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-LB72WG6R.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-MJD5XWQV.mjs.map +0 -7
  302. package/dist/lib/node-esm/operation-resolver-2ZD2DXOU.mjs.map +0 -7
  303. package/dist/lib/node-esm/react-surface-T4VMCCKZ.mjs.map +0 -7
  304. package/dist/lib/node-esm/repair-DMI55PON.mjs.map +0 -7
  305. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs.map +0 -7
  306. package/dist/types/src/blueprints/assistant-blueprint.d.ts +0 -11
  307. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +0 -1
  308. package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
  309. package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
  310. package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
  311. package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
  312. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  313. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  314. package/dist/types/src/components/InitiativeContainer.d.ts +0 -9
  315. package/dist/types/src/components/InitiativeContainer.d.ts.map +0 -1
  316. package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
  317. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts +0 -4
  318. package/dist/types/src/components/TriggerStatus/index.d.ts +0 -2
  319. package/dist/types/src/components/TriggerStatus/index.d.ts.map +0 -1
  320. package/dist/types/src/functions/index.d.ts +0 -4
  321. package/dist/types/src/functions/index.d.ts.map +0 -1
  322. package/dist/types/src/functions/object-list.d.ts +0 -10
  323. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  324. package/dist/types/src/functions/object-load.d.ts +0 -8
  325. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  326. package/dist/types/src/functions/object-search.d.ts +0 -10
  327. package/dist/types/src/functions/object-search.d.ts.map +0 -1
  328. package/src/blueprints/assistant-blueprint.ts +0 -57
  329. package/src/components/AssistantSettings/index.ts +0 -5
  330. package/src/components/InitiativeContainer.tsx +0 -340
  331. package/src/components/PromptArticle.tsx +0 -49
  332. package/src/components/TriggerStatus/index.ts +0 -5
  333. package/src/functions/index.ts +0 -7
  334. package/src/functions/object-list.ts +0 -49
  335. package/src/functions/object-load.ts +0 -44
  336. package/src/functions/object-search.ts +0 -46
  337. /package/dist/lib/browser/{blueprint-definition-YAGWYVCL.mjs.map → ChatContainer-ZGRSZ5EU.mjs.map} +0 -0
  338. /package/dist/lib/browser/{settings-XF6GKHCG.mjs.map → settings-YREVQAZ5.mjs.map} +0 -0
  339. /package/dist/lib/browser/{state-OYDPWLKA.mjs.map → state-MPG42ZO4.mjs.map} +0 -0
  340. /package/dist/lib/node-esm/{blueprint-definition-H3LFAEK2.mjs.map → ChatContainer-IFHDIFJH.mjs.map} +0 -0
  341. /package/dist/lib/node-esm/{settings-NGGZA7S7.mjs.map → settings-N452OW6Y.mjs.map} +0 -0
  342. /package/dist/lib/node-esm/{state-VSCPGN7R.mjs.map → state-WHZFKIEL.mjs.map} +0 -0
  343. /package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts +0 -0
  344. /package/src/{components → containers}/AssistantSettings/AssistantSettings.tsx +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/ChatDialog.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { useAtomCapability } from '@dxos/app-framework/ui';\nimport { type Chat as ChatTypes } from '@dxos/assistant-toolkit';\nimport { Obj } from '@dxos/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 { AssistantCapabilities } from '../types';\n\nimport { Chat, type ChatRootProps } from './Chat';\n\nexport type ChatDialogProps = {\n chat?: ChatTypes.Chat;\n};\n\nexport const ChatDialog = ({ chat }: ChatDialogProps) => {\n const { t } = useTranslation(meta.id);\n\n const db = chat && Obj.getDatabase(chat);\n const settings = useAtomCapability(AssistantCapabilities.Settings);\n const services = useChatServices({ id: db?.spaceId, chat });\n const [online, setOnline] = useOnline();\n const { preset, ...chatProps } = usePresets(online);\n const blueprintRegistry = useBlueprintRegistry();\n const processor = useChatProcessor({\n chat,\n preset,\n services,\n blueprintRegistry,\n settings,\n });\n\n // TODO(burdon): Refocus when open.\n const [open, setOpen] = useState(true);\n const [expanded, setExpanded] = useState(false);\n const handleEvent = useCallback<NonNullable<ChatRootProps['onEvent']>>((event) => {\n switch (event.type) {\n case 'submit':\n case 'thread-open':\n setOpen(true);\n setExpanded(true);\n break;\n case 'thread-close':\n setOpen(false);\n break;\n }\n }, []);\n\n if (!chat || !processor) {\n return null;\n }\n\n return (\n <Chat.Root chat={chat} processor={processor} onEvent={handleEvent}>\n <NaturalChatDialog.Root open={open} expanded={expanded} onOpenChange={setOpen}>\n <NaturalChatDialog.Header title={t('assistant dialog title')} />\n <NaturalChatDialog.Content>\n <Chat.Thread />\n </NaturalChatDialog.Content>\n <NaturalChatDialog.Footer classNames='p-1.5'>\n <Chat.Prompt {...chatProps} preset={preset?.id} online={online} onOnlineChange={setOnline} expandable />\n </NaturalChatDialog.Footer>\n </NaturalChatDialog.Root>\n </Chat.Root>\n );\n};\n\nexport default ChatDialog;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAIA,OAAOA,SAASC,aAAaC,gBAAgB;AAE7C,SAASC,yBAAyB;AAElC,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,cAAcC,yBAAyB;AAYzC,IAAMC,aAAa,CAAC,EAAEC,KAAI,MAAmB;AAClD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,QAAMC,KAAKL,QAAQM,IAAIC,YAAYP,IAAAA;AACnC,QAAMQ,WAAWC,kBAAkBC,sBAAsBC,QAAQ;AACjE,QAAMC,WAAWC,gBAAgB;IAAET,IAAIC,IAAIS;IAASd;EAAK,CAAA;AACzD,QAAM,CAACe,QAAQC,SAAAA,IAAaC,UAAAA;AAC5B,QAAM,EAAEC,QAAQ,GAAGC,UAAAA,IAAcC,WAAWL,MAAAA;AAC5C,QAAMM,oBAAoBC,qBAAAA;AAC1B,QAAMC,YAAYC,iBAAiB;IACjCxB;IACAkB;IACAN;IACAS;IACAb;EACF,CAAA;AAGA,QAAM,CAACiB,MAAMC,OAAAA,IAAWC,SAAS,IAAA;AACjC,QAAM,CAACC,UAAUC,WAAAA,IAAeF,SAAS,KAAA;AACzC,QAAMG,cAAcC,YAAmD,CAACC,UAAAA;AACtE,YAAQA,MAAMC,MAAI;MAChB,KAAK;MACL,KAAK;AACHP,gBAAQ,IAAA;AACRG,oBAAY,IAAA;AACZ;MACF,KAAK;AACHH,gBAAQ,KAAA;AACR;IACJ;EACF,GAAG,CAAA,CAAE;AAEL,MAAI,CAAC1B,QAAQ,CAACuB,WAAW;AACvB,WAAO;EACT;AAEA,SACE,sBAAA,cAACW,KAAKC,MAAI;IAACnC;IAAYuB;IAAsBa,SAASN;KACpD,sBAAA,cAACO,kBAAkBF,MAAI;IAACV;IAAYG;IAAoBU,cAAcZ;KACpE,sBAAA,cAACW,kBAAkBE,QAAM;IAACC,OAAOvC,EAAE,wBAAA;MACnC,sBAAA,cAACoC,kBAAkBI,SAAO,MACxB,sBAAA,cAACP,KAAKQ,QAAM,IAAA,CAAA,GAEd,sBAAA,cAACL,kBAAkBM,QAAM;IAACC,YAAW;KACnC,sBAAA,cAACV,KAAKW,QAAM;IAAE,GAAG1B;IAAWD,QAAQA,QAAQd;IAAIW;IAAgB+B,gBAAgB9B;IAAW+B,YAAAA;;AAKrG;AAEA,IAAA,qBAAehD;",
6
- "names": ["React", "useCallback", "useState", "useAtomCapability", "Obj", "useTranslation", "ChatDialog", "NaturalChatDialog", "ChatDialog", "chat", "t", "useTranslation", "meta", "id", "db", "Obj", "getDatabase", "settings", "useAtomCapability", "AssistantCapabilities", "Settings", "services", "useChatServices", "spaceId", "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
- }
@@ -1,266 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/components/InitiativeContainer.tsx
4
- import { Atom, useAtomValue } from "@effect-atom/atom-react";
5
- import * as Effect from "effect/Effect";
6
- import * as Match from "effect/Match";
7
- import * as Option from "effect/Option";
8
- import React, { useCallback, useMemo, useState } from "react";
9
- import { Surface, useCapability } from "@dxos/app-framework/ui";
10
- import { Initiative } from "@dxos/assistant-toolkit";
11
- import { DXN, Filter, Obj, Query, Ref } from "@dxos/echo";
12
- import { splitJsonPath } from "@dxos/echo/internal";
13
- import { AtomObj, AtomRef } from "@dxos/echo-atom";
14
- import { FunctionDefinition, QueueService, Trigger } from "@dxos/functions";
15
- import { AutomationCapabilities } from "@dxos/plugin-automation/types";
16
- import { MarkdownEditor } from "@dxos/plugin-markdown";
17
- import { useObject, useQuery } from "@dxos/react-client/echo";
18
- import { Button, ButtonGroup, IconButton, Input, toLocalizedString, useTranslation } from "@dxos/react-ui";
19
- import { Form, omitId } from "@dxos/react-ui-form";
20
- import { StackItem } from "@dxos/react-ui-stack";
21
- var TAB_INITATIVE = "Initiative";
22
- var TAB_CHAT = "Chat";
23
- var InitiativeContainer = ({ role, initiative }) => {
24
- const [selectedTab, setSelectedTab] = useState(TAB_INITATIVE);
25
- const tabs = useAtomValue(useMemo(() => AtomObj.make(initiative).pipe((initiative2) => Atom.make((get) => {
26
- return [
27
- TAB_INITATIVE,
28
- TAB_CHAT,
29
- ...get(initiative2).artifacts.map((artifact) => artifact.name)
30
- ];
31
- })), [
32
- initiative
33
- ]));
34
- const chat = useAtomValue(useMemo(() => AtomObj.make(initiative).pipe((initiative2) => Atom.make((get) => {
35
- const chat2 = get(initiative2).chat;
36
- return chat2 ? get(AtomRef.make(chat2)) : void 0;
37
- })), [
38
- initiative
39
- ]));
40
- const artifacts = useAtomValue(useMemo(() => AtomObj.make(initiative).pipe((initiative2) => Atom.make((get) => {
41
- return get(initiative2).artifacts.map((artifact) => ({
42
- name: artifact.name,
43
- data: get(AtomRef.make(artifact.data))
44
- }));
45
- })), [
46
- initiative
47
- ]));
48
- const selectedArtifact = artifacts.find((artifact) => artifact.name === selectedTab);
49
- return /* @__PURE__ */ React.createElement(StackItem.Content, {
50
- toolbar: true
51
- }, /* @__PURE__ */ React.createElement("div", {
52
- role: "none",
53
- className: "flex-1 min-is-0 overflow-x-auto scrollbar-none flex gap-1 border-b border-subduedSeparator"
54
- }, tabs.map((tab) => /* @__PURE__ */ React.createElement(IconButton, {
55
- key: tab,
56
- icon: Match.value(tab).pipe(Match.when(TAB_INITATIVE, () => "ph--sparkle--regular"), Match.when(TAB_CHAT, () => "ph--chat--regular"), Match.orElse(() => "ph--file--regular")),
57
- label: tab,
58
- variant: selectedTab === tab ? "primary" : "ghost",
59
- onClick: () => setSelectedTab(tab)
60
- }))), selectedTab === TAB_INITATIVE && /* @__PURE__ */ React.createElement(InitiativeForm, {
61
- initiative
62
- }), selectedTab === TAB_CHAT && /* @__PURE__ */ React.createElement(Surface.Surface, {
63
- role: "article",
64
- data: {
65
- subject: chat
66
- },
67
- limit: 1
68
- }), selectedArtifact && /* @__PURE__ */ React.createElement(Surface.Surface, {
69
- role: "section",
70
- data: {
71
- subject: selectedArtifact.data
72
- },
73
- limit: 1
74
- }));
75
- };
76
- var InitiativeContainer_default = InitiativeContainer;
77
- var InitiativeForm = ({ initiative }) => {
78
- const handleChange = useCallback((values, { isValid, changed }) => {
79
- if (!isValid) {
80
- return;
81
- }
82
- const changedPaths = Object.keys(changed).filter((path) => changed[path]);
83
- if (changedPaths.length > 0) {
84
- Obj.change(initiative, () => {
85
- for (const path of changedPaths) {
86
- const parts = splitJsonPath(path);
87
- const value2 = Obj.getValue(values, parts);
88
- Obj.setValue(initiative, parts, value2);
89
- }
90
- });
91
- }
92
- queueMicrotask(() => syncTriggers(initiative));
93
- }, [
94
- initiative
95
- ]);
96
- const fieldMap = useMemo(() => ({
97
- spec: ({ type, label, getValue, onValueChange }) => {
98
- const { t } = useTranslation();
99
- const value2 = getValue();
100
- const target = useAtomValue(AtomRef.make(value2));
101
- const [initialValue] = useObject(target, "content");
102
- return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
103
- role: "none"
104
- }, /* @__PURE__ */ React.createElement(Input.Label, null, toLocalizedString(label, t))), /* @__PURE__ */ React.createElement(MarkdownEditor.Root, {
105
- id: target?.id ?? "",
106
- object: target
107
- }, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
108
- initialValue
109
- })));
110
- },
111
- plan: ({ type, label, getValue, onValueChange }) => {
112
- const { t } = useTranslation();
113
- const value2 = getValue();
114
- const target = useAtomValue(AtomRef.make(value2));
115
- return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
116
- role: "none"
117
- }, /* @__PURE__ */ React.createElement(Input.Label, null, toLocalizedString(label, t))), /* @__PURE__ */ React.createElement(MarkdownEditor.Root, {
118
- id: target?.id ?? ""
119
- }, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
120
- initialValue: target ? Initiative.formatPlan(target) : ""
121
- })));
122
- }
123
- }), []);
124
- const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
125
- const handleResetHistory = useCallback(async () => {
126
- const runtime = computeRuntime.getRuntime(Obj.getDatabase(initiative).spaceId);
127
- await runtime.runPromise(Initiative.resetChatHistory(initiative));
128
- if (!initiative.queue) {
129
- await runtime.runPromise(Effect.gen(function* () {
130
- const queue = yield* QueueService.createQueue();
131
- Obj.change(initiative, (initiative2) => {
132
- initiative2.queue = Ref.fromDXN(queue.dxn);
133
- });
134
- }));
135
- }
136
- }, [
137
- initiative,
138
- computeRuntime
139
- ]);
140
- const inputQueue = useAtomValue(AtomObj.make(initiative).pipe((_) => Atom.make((get) => Option.fromNullable(get(_).queue).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined))));
141
- const inputQueueItems = useQuery(inputQueue, Query.select(Filter.everything()));
142
- const spreadValue = useMemo(() => ({
143
- ...initiative
144
- }), [
145
- initiative
146
- ]);
147
- return /* @__PURE__ */ React.createElement("div", {
148
- className: "flex flex-col gap-2"
149
- }, /* @__PURE__ */ React.createElement(ButtonGroup, {
150
- classNames: "h-10"
151
- }, /* @__PURE__ */ React.createElement(Button, {
152
- onClick: handleResetHistory
153
- }, "Reset History")), /* @__PURE__ */ React.createElement("h3", {
154
- className: "mb-2"
155
- }, "Input Queue"), /* @__PURE__ */ React.createElement("div", {
156
- className: "border border-subduedSeparator rounded-md p-2 h-64 overflow-y-auto"
157
- }, inputQueueItems.map((item) => /* @__PURE__ */ React.createElement(Surface.Surface, {
158
- key: item.id,
159
- role: "section",
160
- data: {
161
- subject: item
162
- },
163
- limit: 1
164
- })), inputQueueItems.length === 0 && /* @__PURE__ */ React.createElement("div", {
165
- className: "text-subdued"
166
- }, "No items in queue")), /* @__PURE__ */ React.createElement(Form.Root, {
167
- schema: omitId(Initiative.Initiative),
168
- onValuesChanged: handleChange,
169
- values: spreadValue,
170
- db: Obj.getDatabase(initiative),
171
- fieldMap
172
- }, /* @__PURE__ */ React.createElement(Form.FieldSet, null)));
173
- };
174
- var INITIATIVE_TRIGGER_EXTENSION_KEY = "dxos.org/extension/InitiativeTrigger";
175
- var INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY = "dxos.org/extension/InitiativeTriggerTarget";
176
- var syncTriggers = async (initiative) => {
177
- const db = Obj.getDatabase(initiative);
178
- if (!db) {
179
- return;
180
- }
181
- const triggers = await db.query(Filter.foreignKeys(Trigger.Trigger, [
182
- {
183
- source: INITIATIVE_TRIGGER_EXTENSION_KEY,
184
- id: initiative.id
185
- }
186
- ])).run();
187
- for (const trigger of triggers) {
188
- const target = Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).at(0)?.id;
189
- const exists = initiative.subscriptions.find((subscription) => subscription.dxn.toString() === target);
190
- if (!exists && !(initiative.useQualifyingAgent && target === Obj.getDXN(initiative)?.toString())) {
191
- db.remove(trigger);
192
- }
193
- }
194
- for (const subscription of initiative.subscriptions) {
195
- const relevantTrigger = triggers.find((trigger) => Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).some((key) => key.id === subscription.dxn.toString()));
196
- if (relevantTrigger) {
197
- continue;
198
- }
199
- const target = await subscription.tryLoad();
200
- if (!target || !target.queue || !(target.queue.dxn instanceof DXN) || target.queue.dxn.kind !== DXN.kind.QUEUE) {
201
- continue;
202
- }
203
- db.add(Trigger.make({
204
- [Obj.Meta]: {
205
- keys: [
206
- {
207
- source: INITIATIVE_TRIGGER_EXTENSION_KEY,
208
- id: initiative.id
209
- },
210
- {
211
- source: INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY,
212
- id: subscription.dxn.toString()
213
- }
214
- ]
215
- },
216
- enabled: true,
217
- spec: {
218
- kind: "queue",
219
- queue: target.queue.dxn.toString()
220
- },
221
- function: Ref.make(FunctionDefinition.serialize(initiative.useQualifyingAgent ? Initiative.qualifier : Initiative.agent)),
222
- input: {
223
- initiative: Ref.make(initiative),
224
- event: "{{event}}"
225
- },
226
- concurrency: initiative.useQualifyingAgent ? 5 : void 0
227
- }));
228
- }
229
- if (initiative.useQualifyingAgent) {
230
- const qualifierTrigger = triggers.find((trigger) => Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).some((key) => key.id === Obj.getDXN(initiative)?.toString()));
231
- if (!qualifierTrigger && initiative.queue) {
232
- db.add(Trigger.make({
233
- [Obj.Meta]: {
234
- keys: [
235
- {
236
- source: INITIATIVE_TRIGGER_EXTENSION_KEY,
237
- id: initiative.id
238
- },
239
- {
240
- source: INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY,
241
- id: Obj.getDXN(initiative)?.toString() ?? ""
242
- }
243
- ]
244
- },
245
- function: Ref.make(FunctionDefinition.serialize(Initiative.agent)),
246
- enabled: true,
247
- spec: {
248
- kind: "queue",
249
- queue: initiative.queue.dxn.toString()
250
- },
251
- input: {
252
- initiative: Ref.make(initiative),
253
- event: "{{event}}"
254
- }
255
- }));
256
- }
257
- }
258
- await db.flush({
259
- indexes: true
260
- });
261
- };
262
- export {
263
- InitiativeContainer,
264
- InitiativeContainer_default as default
265
- };
266
- //# sourceMappingURL=InitiativeContainer-V522FCYH.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/InitiativeContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Match from 'effect/Match';\nimport * as Option from 'effect/Option';\nimport type * as Record from 'effect/Record';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { Surface, useCapability } from '@dxos/app-framework/ui';\nimport { Initiative } from '@dxos/assistant-toolkit';\nimport { DXN, Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/echo/internal';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { FunctionDefinition, QueueService, Trigger } from '@dxos/functions';\nimport { AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { MarkdownEditor } from '@dxos/plugin-markdown';\nimport { useObject, useQuery } from '@dxos/react-client/echo';\nimport { Button, ButtonGroup, IconButton, Input, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Form, type FormFieldMap, omitId } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { type Text } from '@dxos/schema';\n\nexport type InitiativeContainerProps = {\n role?: string;\n initiative: Initiative.Initiative;\n};\n\nconst TAB_INITATIVE = 'Initiative';\nconst TAB_CHAT = 'Chat';\n\nexport const InitiativeContainer = ({ role, initiative }: InitiativeContainerProps) => {\n const [selectedTab, setSelectedTab] = useState<string>(TAB_INITATIVE);\n\n const tabs = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(initiative).pipe((initiative) =>\n Atom.make((get) => {\n return [TAB_INITATIVE, TAB_CHAT, ...get(initiative).artifacts.map((artifact) => artifact.name)];\n }),\n ),\n [initiative],\n ),\n );\n\n const chat = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(initiative).pipe((initiative) =>\n Atom.make((get) => {\n const chat = get(initiative).chat;\n return chat ? get(AtomRef.make(chat)) : undefined;\n }),\n ),\n [initiative],\n ),\n );\n\n const artifacts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(initiative).pipe((initiative) =>\n Atom.make((get) => {\n return get(initiative).artifacts.map((artifact) => ({\n name: artifact.name,\n data: get(AtomRef.make(artifact.data)),\n }));\n }),\n ),\n [initiative],\n ),\n );\n\n const selectedArtifact = artifacts.find((artifact) => artifact.name === selectedTab);\n\n return (\n <StackItem.Content toolbar>\n <div\n role='none'\n className='flex-1 min-is-0 overflow-x-auto scrollbar-none flex gap-1 border-b border-subduedSeparator'\n >\n {tabs.map((tab) => (\n <IconButton\n key={tab}\n icon={Match.value(tab).pipe(\n Match.when(TAB_INITATIVE, () => 'ph--sparkle--regular'),\n Match.when(TAB_CHAT, () => 'ph--chat--regular'),\n Match.orElse(() => 'ph--file--regular'),\n )}\n label={tab}\n variant={selectedTab === tab ? 'primary' : 'ghost'}\n onClick={() => setSelectedTab(tab)}\n />\n ))}\n </div>\n {selectedTab === TAB_INITATIVE && <InitiativeForm initiative={initiative} />}\n {selectedTab === TAB_CHAT && <Surface.Surface role='article' data={{ subject: chat }} limit={1} />}\n {selectedArtifact && <Surface.Surface role='section' data={{ subject: selectedArtifact.data }} limit={1} />}\n </StackItem.Content>\n );\n};\n\nexport default InitiativeContainer;\n\nconst InitiativeForm = ({ initiative }: { initiative: Initiative.Initiative }) => {\n const handleChange = useCallback(\n (\n values: Omit<Initiative.Initiative, 'id'>,\n { isValid, changed }: { isValid: boolean; changed: Record<string, boolean> },\n ) => {\n if (!isValid) {\n return;\n }\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as string]) as JsonPath[];\n // Handle other property changes.\n if (changedPaths.length > 0) {\n Obj.change(initiative, () => {\n for (const path of changedPaths) {\n const parts = splitJsonPath(path);\n const value = Obj.getValue(values as any, parts);\n Obj.setValue(initiative, parts, value);\n }\n });\n }\n\n queueMicrotask(() => syncTriggers(initiative));\n },\n [initiative],\n );\n\n const fieldMap = useMemo<FormFieldMap>(\n () => ({\n spec: ({ type, label, getValue, onValueChange }) => {\n const { t } = useTranslation();\n\n const value: Ref.Ref<Text.Text> = getValue();\n const target = useAtomValue(AtomRef.make(value));\n const [initialValue] = useObject(target, 'content');\n\n return (\n <Input.Root>\n <div role='none'>\n <Input.Label>{toLocalizedString(label, t)}</Input.Label>\n </div>\n <MarkdownEditor.Root id={target?.id ?? ''} object={target}>\n <MarkdownEditor.Content initialValue={initialValue} />\n </MarkdownEditor.Root>\n </Input.Root>\n );\n },\n plan: ({ type, label, getValue, onValueChange }) => {\n const { t } = useTranslation();\n\n const value: Ref.Ref<Initiative.Plan> = getValue();\n const target = useAtomValue(AtomRef.make(value));\n\n return (\n <Input.Root>\n <div role='none'>\n <Input.Label>{toLocalizedString(label, t)}</Input.Label>\n </div>\n <MarkdownEditor.Root id={target?.id ?? ''}>\n <MarkdownEditor.Content initialValue={target ? Initiative.formatPlan(target) : ''} />\n </MarkdownEditor.Root>\n </Input.Root>\n );\n },\n }),\n [],\n );\n\n const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);\n\n const handleResetHistory = useCallback(async () => {\n const runtime = computeRuntime.getRuntime(Obj.getDatabase(initiative)!.spaceId);\n\n await runtime.runPromise(Initiative.resetChatHistory(initiative));\n\n if (!initiative.queue) {\n await runtime.runPromise(\n Effect.gen(function* () {\n const queue = yield* QueueService.createQueue();\n Obj.change(initiative, (initiative) => {\n initiative.queue = Ref.fromDXN(queue.dxn);\n });\n }),\n );\n }\n }, [initiative, computeRuntime]);\n\n const inputQueue = useAtomValue(\n AtomObj.make(initiative).pipe((_) =>\n Atom.make((get) =>\n Option.fromNullable(get(_).queue).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined),\n ),\n ),\n );\n\n const inputQueueItems = useQuery(inputQueue, Query.select(Filter.everything()));\n\n // TODO(dmaretskyi): Form breaks if we provide the echo object directly.\n const spreadValue = useMemo(() => ({ ...initiative }), [initiative]);\n return (\n <div className='flex flex-col gap-2'>\n <ButtonGroup classNames='h-10'>\n <Button onClick={handleResetHistory}>Reset History</Button>\n </ButtonGroup>\n <h3 className='mb-2'>Input Queue</h3>\n <div className='border border-subduedSeparator rounded-md p-2 h-64 overflow-y-auto'>\n {inputQueueItems.map((item) => (\n <Surface.Surface key={item.id} role='section' data={{ subject: item }} limit={1} />\n ))}\n {inputQueueItems.length === 0 && <div className='text-subdued'>No items in queue</div>}\n </div>\n <Form.Root\n schema={omitId(Initiative.Initiative)}\n onValuesChanged={handleChange as any}\n values={spreadValue}\n db={Obj.getDatabase(initiative)}\n fieldMap={fieldMap}\n >\n <Form.FieldSet />\n </Form.Root>\n </div>\n );\n};\n\n// TODO(dmaretskyi): Perhaps the association is better done with a relation.\n\n/**\n * Foreign key {@link INITIATIVE_TRIGGER_EXTENSION_KEY} => <initative id : ObjectId>\n */\nconst INITIATIVE_TRIGGER_EXTENSION_KEY = 'dxos.org/extension/InitiativeTrigger';\n\n/**\n * Foreign key {@link INITIATIVE_TRIGGER_EXTENSION_KEY} => <dxn string of subscription target>\n */\nconst INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY = 'dxos.org/extension/InitiativeTriggerTarget';\n\n/**\n * Syncs triggers in the database with the initiative subscriptions.\n */\n\nconst syncTriggers = async (initiative: Initiative.Initiative) => {\n const db = Obj.getDatabase(initiative);\n if (!db) {\n return;\n }\n\n const triggers = await db\n .query(Filter.foreignKeys(Trigger.Trigger, [{ source: INITIATIVE_TRIGGER_EXTENSION_KEY, id: initiative.id }]))\n .run();\n\n // Delete triggers that are not in subscriptions.\n for (const trigger of triggers) {\n const target = Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).at(0)?.id;\n\n const exists = initiative.subscriptions.find((subscription) => subscription.dxn.toString() === target);\n if (!exists && !(initiative.useQualifyingAgent && target === Obj.getDXN(initiative)?.toString())) {\n db.remove(trigger);\n }\n }\n\n // Add triggers that are not in the database.\n for (const subscription of initiative.subscriptions) {\n const relevantTrigger = triggers.find((trigger) =>\n Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).some(\n (key) => key.id === subscription.dxn.toString(),\n ),\n );\n if (relevantTrigger) {\n continue;\n }\n\n const target = await subscription.tryLoad();\n if (!target || !target.queue || !(target.queue.dxn instanceof DXN) || target.queue.dxn.kind !== DXN.kind.QUEUE) {\n continue;\n }\n\n db.add(\n Trigger.make({\n [Obj.Meta]: {\n keys: [\n { source: INITIATIVE_TRIGGER_EXTENSION_KEY, id: initiative.id },\n { source: INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY, id: subscription.dxn.toString() },\n ],\n },\n enabled: true,\n spec: {\n kind: 'queue',\n queue: target.queue.dxn.toString(),\n },\n function: Ref.make(\n FunctionDefinition.serialize(initiative.useQualifyingAgent ? Initiative.qualifier : Initiative.agent),\n ),\n input: {\n initiative: Ref.make(initiative),\n event: '{{event}}',\n },\n concurrency: initiative.useQualifyingAgent ? 5 : undefined,\n }),\n );\n }\n\n if (initiative.useQualifyingAgent) {\n const qualifierTrigger = triggers.find((trigger) =>\n Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).some(\n (key) => key.id === Obj.getDXN(initiative)?.toString(),\n ),\n );\n if (!qualifierTrigger && initiative.queue) {\n db.add(\n Trigger.make({\n [Obj.Meta]: {\n keys: [\n { source: INITIATIVE_TRIGGER_EXTENSION_KEY, id: initiative.id },\n { source: INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY, id: Obj.getDXN(initiative)?.toString() ?? '' },\n ],\n },\n function: Ref.make(FunctionDefinition.serialize(Initiative.agent)),\n enabled: true,\n spec: {\n kind: 'queue',\n queue: initiative.queue.dxn.toString(),\n },\n input: {\n initiative: Ref.make(initiative),\n event: '{{event}}',\n },\n }),\n );\n }\n }\n\n await db.flush({ indexes: true });\n};\n"],
5
- "mappings": "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",
6
- "names": ["Atom", "useAtomValue", "Effect", "Match", "Option", "React", "useCallback", "useMemo", "useState", "Surface", "useCapability", "Initiative", "DXN", "Filter", "Obj", "Query", "Ref", "splitJsonPath", "AtomObj", "AtomRef", "FunctionDefinition", "QueueService", "Trigger", "AutomationCapabilities", "MarkdownEditor", "useObject", "useQuery", "Button", "ButtonGroup", "IconButton", "Input", "toLocalizedString", "useTranslation", "Form", "omitId", "StackItem", "TAB_INITATIVE", "TAB_CHAT", "InitiativeContainer", "role", "initiative", "selectedTab", "setSelectedTab", "useState", "tabs", "useAtomValue", "useMemo", "AtomObj", "make", "pipe", "Atom", "get", "artifacts", "map", "artifact", "name", "chat", "AtomRef", "undefined", "data", "selectedArtifact", "find", "StackItem", "Content", "toolbar", "div", "className", "tab", "IconButton", "key", "icon", "value", "when", "orElse", "label", "variant", "onClick", "InitiativeForm", "Surface", "subject", "limit", "handleChange", "useCallback", "values", "isValid", "changed", "changedPaths", "Object", "keys", "filter", "path", "length", "Obj", "change", "parts", "splitJsonPath", "getValue", "setValue", "queueMicrotask", "syncTriggers", "fieldMap", "spec", "type", "onValueChange", "t", "useTranslation", "target", "initialValue", "useObject", "Input", "Root", "Label", "toLocalizedString", "MarkdownEditor", "id", "object", "plan", "Initiative", "formatPlan", "computeRuntime", "useCapability", "AutomationCapabilities", "ComputeRuntime", "handleResetHistory", "runtime", "getRuntime", "getDatabase", "spaceId", "runPromise", "resetChatHistory", "queue", "gen", "QueueService", "createQueue", "Ref", "fromDXN", "dxn", "inputQueue", "_", "fromNullable", "getOrUndefined", "inputQueueItems", "useQuery", "Query", "select", "Filter", "everything", "spreadValue", "ButtonGroup", "classNames", "Button", "h3", "item", "Form", "schema", "omitId", "onValuesChanged", "db", "FieldSet", "INITIATIVE_TRIGGER_EXTENSION_KEY", "INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY", "triggers", "query", "foreignKeys", "Trigger", "source", "run", "trigger", "getKeys", "at", "exists", "subscriptions", "subscription", "toString", "useQualifyingAgent", "getDXN", "remove", "relevantTrigger", "some", "tryLoad", "DXN", "kind", "QUEUE", "add", "Meta", "enabled", "function", "FunctionDefinition", "serialize", "qualifier", "agent", "input", "event", "concurrency", "qualifierTrigger", "flush", "indexes"]
7
- }
@@ -1,52 +0,0 @@
1
- import {
2
- TemplateEditor
3
- } from "./chunk-DKQMSMBN.mjs";
4
- import {
5
- meta
6
- } from "./chunk-EXVT7D4B.mjs";
7
- import "./chunk-J5LGTIGS.mjs";
8
-
9
- // src/components/PromptArticle.tsx
10
- import React, { useMemo } from "react";
11
- import { Agent } from "@dxos/assistant-toolkit";
12
- import { Obj } from "@dxos/echo";
13
- import { invokeFunctionWithTracing, useComputeRuntimeCallback } from "@dxos/plugin-automation";
14
- import { Layout, Toolbar, useTranslation } from "@dxos/react-ui";
15
- import { useAttention } from "@dxos/react-ui-attention";
16
- var PromptArticle = ({ role, subject }) => {
17
- const { t } = useTranslation(meta.id);
18
- const db = Obj.getDatabase(subject);
19
- const { hasAttention } = useAttention(Obj.getDXN(subject).toString());
20
- const inputData = useMemo(() => subject && {
21
- prompt: db?.makeRef(Obj.getDXN(subject)),
22
- input: {}
23
- }, [
24
- subject,
25
- db
26
- ]);
27
- const handleRun = useComputeRuntimeCallback(db?.spaceId, () => invokeFunctionWithTracing(Agent.prompt, inputData), [
28
- inputData
29
- ]);
30
- return /* @__PURE__ */ React.createElement(Layout.Main, {
31
- role,
32
- toolbar: true
33
- }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
34
- disabled: !hasAttention,
35
- onClick: handleRun
36
- }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
37
- iconOnly: true,
38
- icon: "ph--play--regular",
39
- label: t("run prompt label"),
40
- onClick: handleRun
41
- })), /* @__PURE__ */ React.createElement(TemplateEditor, {
42
- id: subject.id,
43
- template: subject.instructions,
44
- classNames: "container-max-width"
45
- }));
46
- };
47
- var PromptArticle_default = PromptArticle;
48
- export {
49
- PromptArticle,
50
- PromptArticle_default as default
51
- };
52
- //# sourceMappingURL=PromptArticle-PK3CBRUB.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/PromptArticle.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Agent } from '@dxos/assistant-toolkit';\nimport { type Prompt } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { invokeFunctionWithTracing, useComputeRuntimeCallback } from '@dxos/plugin-automation';\nimport { Layout, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { meta } from '../meta';\n\nimport { TemplateEditor } from './TemplateEditor';\n\nexport type PromptArticleProps = SurfaceComponentProps<Prompt.Prompt>;\n\nexport const PromptArticle = ({ role, subject }: PromptArticleProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(subject);\n const { hasAttention } = useAttention(Obj.getDXN(subject).toString());\n\n const inputData = useMemo(\n () =>\n subject && {\n prompt: db?.makeRef(Obj.getDXN(subject)),\n input: {},\n },\n [subject, db],\n );\n\n const handleRun = useComputeRuntimeCallback(db?.spaceId, () => invokeFunctionWithTracing(Agent.prompt, inputData), [\n inputData,\n ]);\n\n return (\n <Layout.Main role={role} toolbar>\n <Toolbar.Root disabled={!hasAttention} onClick={handleRun}>\n <Toolbar.IconButton iconOnly icon='ph--play--regular' label={t('run prompt label')} onClick={handleRun} />\n </Toolbar.Root>\n <TemplateEditor id={subject.id} template={subject.instructions} classNames='container-max-width' />\n </Layout.Main>\n );\n};\n\nexport default PromptArticle;\n"],
5
- "mappings": ";;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAG/B,SAASC,aAAa;AAEtB,SAASC,WAAW;AACpB,SAASC,2BAA2BC,iCAAiC;AACrE,SAASC,QAAQC,SAASC,sBAAsB;AAChD,SAASC,oBAAoB;AAQtB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,QAAO,MAAsB;AACjE,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMC,KAAKC,IAAIC,YAAYP,OAAAA;AAC3B,QAAM,EAAEQ,aAAY,IAAKC,aAAaH,IAAII,OAAOV,OAAAA,EAASW,SAAQ,CAAA;AAElE,QAAMC,YAAYC,QAChB,MACEb,WAAW;IACTc,QAAQT,IAAIU,QAAQT,IAAII,OAAOV,OAAAA,CAAAA;IAC/BgB,OAAO,CAAC;EACV,GACF;IAAChB;IAASK;GAAG;AAGf,QAAMY,YAAYC,0BAA0Bb,IAAIc,SAAS,MAAMC,0BAA0BC,MAAMP,QAAQF,SAAAA,GAAY;IACjHA;GACD;AAED,SACE,sBAAA,cAACU,OAAOC,MAAI;IAACxB;IAAYyB,SAAAA;KACvB,sBAAA,cAACC,QAAQC,MAAI;IAACC,UAAU,CAACnB;IAAcoB,SAASX;KAC9C,sBAAA,cAACQ,QAAQI,YAAU;IAACC,UAAAA;IAASC,MAAK;IAAoBC,OAAO/B,EAAE,kBAAA;IAAqB2B,SAASX;OAE/F,sBAAA,cAACgB,gBAAAA;IAAe7B,IAAIJ,QAAQI;IAAI8B,UAAUlC,QAAQmC;IAAcC,YAAW;;AAGjF;AAEA,IAAA,wBAAetC;",
6
- "names": ["React", "useMemo", "Agent", "Obj", "invokeFunctionWithTracing", "useComputeRuntimeCallback", "Layout", "Toolbar", "useTranslation", "useAttention", "PromptArticle", "role", "subject", "t", "useTranslation", "meta", "id", "db", "Obj", "getDatabase", "hasAttention", "useAttention", "getDXN", "toString", "inputData", "useMemo", "prompt", "makeRef", "input", "handleRun", "useComputeRuntimeCallback", "spaceId", "invokeFunctionWithTracing", "Agent", "Layout", "Main", "toolbar", "Toolbar", "Root", "disabled", "onClick", "IconButton", "iconOnly", "icon", "label", "TemplateEditor", "template", "instructions", "classNames"]
7
- }
@@ -1,7 +0,0 @@
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 { ATTENDABLE_PATH_SEPARATOR, 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 const id = Obj.getDXN(chat).toString();\n return Effect.succeed([\n {\n id: `${AssistantOperation.UpdateChatName.meta.key}/${id}`,\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: {\n chat,\n },\n });\n }),\n properties: {\n label: ['open assistant label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n {\n 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: [Obj.getDXN(object).toString(), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\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: [Obj.getDXN(object).toString(), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\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: (node) =>\n Effect.succeed([\n {\n id: [node.id, 'invocations'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'invocations',\n properties: {\n label: ['invocations label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n }),\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", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "GraphBuilder", "NodeMatcher", "getActiveSpace", "SpaceOperation", "Query", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "extensions", "all", "GraphBuilder", "createTypeExtension", "id", "meta", "type", "Chat", "actions", "chat", "Obj", "getDXN", "toString", "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", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "getDatabase", "currentChatDxn", "DXN", "tryParse", "currentChatRef", "makeRef", "undefined", "AtomObj", "make", "isObject", "whenAny", "whenEchoTypeMatches", "Sequence", "Prompt", "node", "contributes", "AppCapabilities", "AppGraphBuilder", "allChats", "relatedChats", "sourceOf", "CompanionTo", "source", "chats", "filter", "includes", "length", "at", "CreateChat", "invariant", "instanceOf", "SpaceOperation", "AddObject", "target"]
7
- }
@@ -1,14 +0,0 @@
1
- import {
2
- blueprint_definition_default,
3
- createBlueprint
4
- } from "./chunk-3ETBCBMH.mjs";
5
- import {
6
- assistant_blueprint_exports
7
- } from "./chunk-POPBT2AQ.mjs";
8
- import "./chunk-J5LGTIGS.mjs";
9
- export {
10
- assistant_blueprint_exports as AssistantBlueprint,
11
- createBlueprint,
12
- blueprint_definition_default as default
13
- };
14
- //# sourceMappingURL=blueprint-definition-YAGWYVCL.mjs.map
@@ -1,47 +0,0 @@
1
- import {
2
- assistant_blueprint_exports
3
- } from "./chunk-POPBT2AQ.mjs";
4
-
5
- // src/capabilities/blueprint-definition/blueprint-definition.ts
6
- import * as Effect from "effect/Effect";
7
- import * as Record from "effect/Record";
8
- import { Capability } from "@dxos/app-framework";
9
- import { AppCapabilities } from "@dxos/app-toolkit";
10
- import { Agent, Discord, DiscordBlueprint, EntityExtraction, Initiative, Linear, LinearBlueprint, Planning, Research, ResearchBlueprint, WebSearchBlueprint } from "@dxos/assistant-toolkit";
11
- var createBlueprint = assistant_blueprint_exports.make;
12
- var blueprint_definition_default = Capability.makeModule(() => Effect.succeed([
13
- Capability.contributes(AppCapabilities.Functions, assistant_blueprint_exports.functions$),
14
- Capability.contributes(AppCapabilities.BlueprintDefinition, assistant_blueprint_exports.blueprint),
15
- // TODO(burdon): Factor out.
16
- Capability.contributes(AppCapabilities.Functions, [
17
- Research.create,
18
- Research.research
19
- ]),
20
- Capability.contributes(AppCapabilities.BlueprintDefinition, ResearchBlueprint),
21
- // TODO(burdon): Factor out.
22
- Capability.contributes(AppCapabilities.Functions, [
23
- Agent.prompt,
24
- EntityExtraction.extract
25
- ]),
26
- Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),
27
- // TODO(burdon): Factor out.
28
- Capability.contributes(AppCapabilities.Functions, [
29
- Discord.fetch
30
- ]),
31
- Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),
32
- // TODO(burdon): Factor out.
33
- Capability.contributes(AppCapabilities.Functions, [
34
- Linear.sync
35
- ]),
36
- Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),
37
- Capability.contributes(AppCapabilities.Functions, Initiative.getFunctions()),
38
- Capability.contributes(AppCapabilities.BlueprintDefinition, Initiative.makeBlueprint()),
39
- Capability.contributes(AppCapabilities.Functions, Record.values(Planning.PlanningFunctions)),
40
- Capability.contributes(AppCapabilities.BlueprintDefinition, Planning.PlanningBlueprint)
41
- ]));
42
-
43
- export {
44
- createBlueprint,
45
- blueprint_definition_default
46
- };
47
- //# sourceMappingURL=chunk-3ETBCBMH.mjs.map
@@ -1,7 +0,0 @@
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 Agent,\n Discord,\n DiscordBlueprint,\n EntityExtraction,\n Initiative,\n Linear,\n LinearBlueprint,\n Planning,\n Research,\n ResearchBlueprint,\n WebSearchBlueprint,\n} from '@dxos/assistant-toolkit';\nimport { type Blueprint } from '@dxos/blueprints';\n\nimport { AssistantBlueprint } from '../../blueprints';\n\nexport const createBlueprint: () => Blueprint.Blueprint = AssistantBlueprint.make;\nexport { AssistantBlueprint };\n\nexport type BlueprintCapabilities = [\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n Capability.Capability<typeof AppCapabilities.Functions>,\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>,\n];\n\nexport default Capability.makeModule<[], BlueprintCapabilities>(() =>\n Effect.succeed([\n Capability.contributes(AppCapabilities.Functions, AssistantBlueprint.functions$),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint.blueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(AppCapabilities.Functions, [Research.create, Research.research]),\n Capability.contributes(AppCapabilities.BlueprintDefinition, ResearchBlueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(AppCapabilities.Functions, [Agent.prompt, EntityExtraction.extract]),\n Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(AppCapabilities.Functions, [Discord.fetch]),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(AppCapabilities.Functions, [Linear.sync]),\n Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),\n\n Capability.contributes(AppCapabilities.Functions, Initiative.getFunctions()),\n Capability.contributes(AppCapabilities.BlueprintDefinition, Initiative.makeBlueprint()),\n\n Capability.contributes(AppCapabilities.Functions, Record.values(Planning.PlanningFunctions)),\n Capability.contributes(AppCapabilities.BlueprintDefinition, Planning.PlanningBlueprint),\n ]),\n);\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SACEC,OACAC,SACAC,kBACAC,kBACAC,YACAC,QACAC,iBACAC,UACAC,UACAC,mBACAC,0BACK;AAKA,IAAMC,kBAA6CC,4BAAmBC;AAoB7E,IAAA,+BAAeC,WAAWC,WAAsC,MACvDC,eAAQ;EACbF,WAAWG,YAAYC,gBAAgBC,WAAWC,4BAAmBC,UAAU;EAC/EP,WAAWG,YAAYC,gBAAgBI,qBAAqBF,4BAAmBG,SAAS;;EAGxFT,WAAWG,YAAYC,gBAAgBC,WAAW;IAACK,SAASC;IAAQD,SAASE;GAAS;EACtFZ,WAAWG,YAAYC,gBAAgBI,qBAAqBK,iBAAAA;;EAG5Db,WAAWG,YAAYC,gBAAgBC,WAAW;IAACS,MAAMC;IAAQC,iBAAiBC;GAAQ;EAC1FjB,WAAWG,YAAYC,gBAAgBI,qBAAqBU,kBAAAA;;EAG5DlB,WAAWG,YAAYC,gBAAgBC,WAAW;IAACc,QAAQC;GAAM;EACjEpB,WAAWG,YAAYC,gBAAgBI,qBAAqBa,gBAAAA;;EAG5DrB,WAAWG,YAAYC,gBAAgBC,WAAW;IAACiB,OAAOC;GAAK;EAC/DvB,WAAWG,YAAYC,gBAAgBI,qBAAqBgB,eAAAA;EAE5DxB,WAAWG,YAAYC,gBAAgBC,WAAWoB,WAAWC,aAAY,CAAA;EACzE1B,WAAWG,YAAYC,gBAAgBI,qBAAqBiB,WAAWE,cAAa,CAAA;EAEpF3B,WAAWG,YAAYC,gBAAgBC,WAAkBuB,cAAOC,SAASC,iBAAiB,CAAA;EAC1F9B,WAAWG,YAAYC,gBAAgBI,qBAAqBqB,SAASE,iBAAiB;CACvF,CAAA;",
6
- "names": ["Effect", "Record", "Capability", "AppCapabilities", "Agent", "Discord", "DiscordBlueprint", "EntityExtraction", "Initiative", "Linear", "LinearBlueprint", "Planning", "Research", "ResearchBlueprint", "WebSearchBlueprint", "createBlueprint", "AssistantBlueprint", "make", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "Functions", "AssistantBlueprint", "functions$", "BlueprintDefinition", "blueprint", "Research", "create", "research", "ResearchBlueprint", "Agent", "prompt", "EntityExtraction", "extract", "WebSearchBlueprint", "Discord", "fetch", "DiscordBlueprint", "Linear", "sync", "LinearBlueprint", "Initiative", "getFunctions", "makeBlueprint", "values", "Planning", "PlanningFunctions", "PlanningBlueprint"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/Assistant.ts", "../../../src/types/defs.ts", "../../../src/types/AssistantAction.ts", "../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/service.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Chat as ChatModule } from '@dxos/assistant-toolkit';\n\nimport { LLM_PROVIDERS } from './defs';\n\n// Re-export Chat schema for backward compatibility.\nexport const Chat = ChatModule.Chat;\nexport type Chat = ChatModule.Chat;\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type Settings = Schema.Schema.Type<typeof Settings>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { Database, Type } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\n// Operations\nconst ASSISTANT_OPERATION = `${meta.id}/operation`;\n\nexport namespace AssistantOperation {\n export const OnCreateSpace = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}/on-create-space`, name: 'On Create Space' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n }),\n output: Schema.Void,\n },\n });\n\n export const CreateChat = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}/create-chat`, name: 'Create Chat' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n name: Schema.optional(Schema.String),\n /** If false, chat is created in-memory only and not added to space. Defaults to true. */\n addToSpace: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n object: Chat.Chat,\n }),\n },\n });\n\n export const UpdateChatName = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}/update-chat-name`, name: 'Update Chat Name' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n chat: Chat.Chat,\n }),\n output: Schema.Void,\n },\n });\n\n export const SetCurrentChat = Operation.make({\n meta: { key: `${ASSISTANT_OPERATION}/set-current-chat`, name: 'Set Current Chat' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n companionTo: Type.Obj,\n chat: Chat.Chat.pipe(Schema.optional),\n }),\n output: Schema.Void,\n },\n });\n\n export const BlueprintForm = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n description: Schema.optional(Schema.String),\n });\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { meta } from '../meta';\n\nimport { type Assistant } from './';\n\nexport namespace AssistantCapabilities {\n export const Settings = Capability.make<Atom.Writable<Assistant.Settings>>(`${meta.id}/capability/settings`);\n\n export const StateSchema = Schema.mutable(\n Schema.Struct({\n /** Map of primary object dxn to current chat dxn. */\n currentChat: Schema.Record({ key: Schema.String, value: Schema.UndefinedOr(Schema.String) }),\n }),\n );\n\n export type AssistantState = Schema.Schema.Type<typeof StateSchema>;\n\n export const State = Capability.make<Atom.Writable<AssistantState>>(`${meta.id}/capability/state`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\n\nimport { meta } from '../meta';\n\nexport namespace AssistantEvents {\n export const SetupAiServiceProviders = ActivationEvent.make(`${meta.id}/event/setup-ai-service-providers`);\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { Function } from '@dxos/functions';\n\n// TODO(burdon): Factor out and reconcile with https://github.com/dxos/dxos/blob/main/packages/plugins/plugin-token-manager/src/defs/presets.ts#L7\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Type.Ref(Function.Function),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Type.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(\n // Service types.\n ServiceInterfaceFunction,\n ServiceInterfaceWorkflow,\n ServiceInterfaceApi,\n) as any;\n\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport const ServiceType = Schema.Struct({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}).pipe(\n Type.object({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n }),\n);\n\nexport interface ServiceType extends Schema.Schema.Type<typeof ServiceType> {}\n\n//\n// Service Registry\n//\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Chat", "ChatModule", "LLM_PROVIDERS", "Chat", "ChatModule", "Settings", "mutable", "Struct", "llmProvider", "optional", "Literal", "LLM_PROVIDERS", "edgeModel", "String", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean", "Schema", "Capability", "Chat", "SpaceSchema", "Database", "Type", "Operation", "Collection", "ASSISTANT_OPERATION", "meta", "id", "AssistantOperation", "OnCreateSpace", "Operation", "make", "key", "name", "services", "Capability", "Service", "schema", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "output", "Void", "CreateChat", "db", "Database", "optional", "String", "addToSpace", "Boolean", "object", "Chat", "UpdateChatName", "chat", "SetCurrentChat", "companionTo", "Type", "Obj", "pipe", "BlueprintForm", "description", "Schema", "Capability", "AssistantCapabilities", "Settings", "Capability", "make", "meta", "id", "StateSchema", "mutable", "Struct", "currentChat", "Record", "key", "String", "value", "UndefinedOr", "State", "ActivationEvent", "AssistantEvents", "SetupAiServiceProviders", "ActivationEvent", "make", "meta", "id", "Schema", "ComputeGraph", "Type", "Function", "ApiAuthorizationKey", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "Type", "Ref", "Function", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "pipe", "object", "typename", "version", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather"]
7
- }