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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/lib/browser/BlueprintArticle-BWSLH6LG.mjs +36 -0
  2. package/dist/lib/browser/BlueprintArticle-BWSLH6LG.mjs.map +7 -0
  3. package/dist/lib/browser/ChatCompanion-U7VMDYO6.mjs +159 -0
  4. package/dist/lib/browser/ChatCompanion-U7VMDYO6.mjs.map +7 -0
  5. package/dist/lib/browser/ChatContainer-JXDZQ2EY.mjs +79 -0
  6. package/dist/lib/browser/ChatContainer-JXDZQ2EY.mjs.map +7 -0
  7. package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs → ChatDialog-5NNGCRKJ.mjs} +30 -12
  8. package/dist/lib/browser/ChatDialog-5NNGCRKJ.mjs.map +7 -0
  9. package/dist/lib/browser/PromptArticle-Q7JYGFQV.mjs +59 -0
  10. package/dist/lib/browser/PromptArticle-Q7JYGFQV.mjs.map +7 -0
  11. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +19 -0
  12. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +7 -0
  13. package/dist/lib/browser/app-graph-builder-ADZRPJ3V.mjs +199 -0
  14. package/dist/lib/browser/app-graph-builder-ADZRPJ3V.mjs.map +7 -0
  15. package/dist/lib/browser/blueprint-definition-7HPQPCL7.mjs +12 -0
  16. package/dist/lib/browser/blueprint-definition-7HPQPCL7.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-5JZRYQZL.mjs +229 -0
  18. package/dist/lib/browser/chunk-5JZRYQZL.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-7ZJIXQ2Y.mjs +335 -0
  20. package/dist/lib/browser/chunk-7ZJIXQ2Y.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-F6YX2HHA.mjs +262 -0
  22. package/dist/lib/browser/chunk-F6YX2HHA.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  24. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-LRE4VEZV.mjs +16 -0
  26. package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-SWEOO227.mjs +1930 -0
  28. package/dist/lib/browser/chunk-SWEOO227.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-WBG5PTSX.mjs +23 -0
  30. package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-YDSFERCV.mjs +178 -0
  32. package/dist/lib/browser/chunk-YDSFERCV.mjs.map +7 -0
  33. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +18 -0
  34. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +7 -0
  35. package/dist/lib/browser/index.mjs +227 -101
  36. package/dist/lib/browser/index.mjs.map +4 -4
  37. package/dist/lib/browser/intent-resolver-Q7TX3MV7.mjs +143 -0
  38. package/dist/lib/browser/intent-resolver-Q7TX3MV7.mjs.map +7 -0
  39. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +17 -0
  40. package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +7 -0
  41. package/dist/lib/browser/meta.json +1 -1
  42. package/dist/lib/browser/react-surface-VXXS6ZVC.mjs +100 -0
  43. package/dist/lib/browser/react-surface-VXXS6ZVC.mjs.map +7 -0
  44. package/dist/lib/browser/repair-3MZXLUHO.mjs +44 -0
  45. package/dist/lib/browser/repair-3MZXLUHO.mjs.map +7 -0
  46. package/dist/lib/browser/{settings-2DGP3UTS.mjs → settings-HD5WA24I.mjs} +8 -7
  47. package/dist/lib/{node-esm/settings-47RYZOU4.mjs.map → browser/settings-HD5WA24I.mjs.map} +1 -1
  48. package/dist/lib/browser/state-GG7Z3NB7.mjs +25 -0
  49. package/dist/lib/browser/state-GG7Z3NB7.mjs.map +7 -0
  50. package/dist/lib/browser/toolkit-VYDAWNE4.mjs +17 -0
  51. package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +7 -0
  52. package/dist/lib/browser/types/index.mjs +7 -4
  53. package/dist/lib/node-esm/BlueprintArticle-R2XYBRCK.mjs +37 -0
  54. package/dist/lib/node-esm/BlueprintArticle-R2XYBRCK.mjs.map +7 -0
  55. package/dist/lib/node-esm/ChatCompanion-O4T7PMMC.mjs +160 -0
  56. package/dist/lib/node-esm/ChatCompanion-O4T7PMMC.mjs.map +7 -0
  57. package/dist/lib/node-esm/ChatContainer-OWAZI6ZF.mjs +80 -0
  58. package/dist/lib/node-esm/ChatContainer-OWAZI6ZF.mjs.map +7 -0
  59. package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs → ChatDialog-IBXH5FRI.mjs} +30 -12
  60. package/dist/lib/node-esm/ChatDialog-IBXH5FRI.mjs.map +7 -0
  61. package/dist/lib/node-esm/PromptArticle-IV7O5UZ3.mjs +60 -0
  62. package/dist/lib/node-esm/PromptArticle-IV7O5UZ3.mjs.map +7 -0
  63. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +20 -0
  64. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +7 -0
  65. package/dist/lib/node-esm/app-graph-builder-26KXQ5ZY.mjs +200 -0
  66. package/dist/lib/node-esm/app-graph-builder-26KXQ5ZY.mjs.map +7 -0
  67. package/dist/lib/node-esm/blueprint-definition-S3DNWJFV.mjs +13 -0
  68. package/dist/lib/node-esm/blueprint-definition-S3DNWJFV.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-CKW4IYLY.mjs +336 -0
  70. package/dist/lib/node-esm/chunk-CKW4IYLY.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-E4JSYCWZ.mjs +230 -0
  72. package/dist/lib/node-esm/chunk-E4JSYCWZ.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-GWKWQSEQ.mjs +264 -0
  74. package/dist/lib/node-esm/chunk-GWKWQSEQ.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  76. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-VGSP5WMV.mjs +180 -0
  78. package/dist/lib/node-esm/chunk-VGSP5WMV.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-WE6KTH72.mjs +25 -0
  80. package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-YWFWT57N.mjs +17 -0
  82. package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-ZNSHGWE4.mjs +1931 -0
  84. package/dist/lib/node-esm/chunk-ZNSHGWE4.mjs.map +7 -0
  85. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +19 -0
  86. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +7 -0
  87. package/dist/lib/node-esm/index.mjs +227 -101
  88. package/dist/lib/node-esm/index.mjs.map +4 -4
  89. package/dist/lib/node-esm/intent-resolver-LTKMN3YB.mjs +144 -0
  90. package/dist/lib/node-esm/intent-resolver-LTKMN3YB.mjs.map +7 -0
  91. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +18 -0
  92. package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +7 -0
  93. package/dist/lib/node-esm/meta.json +1 -1
  94. package/dist/lib/node-esm/react-surface-AOBQALOV.mjs +101 -0
  95. package/dist/lib/node-esm/react-surface-AOBQALOV.mjs.map +7 -0
  96. package/dist/lib/node-esm/repair-RER5H7Y6.mjs +45 -0
  97. package/dist/lib/node-esm/repair-RER5H7Y6.mjs.map +7 -0
  98. package/dist/lib/node-esm/{settings-47RYZOU4.mjs → settings-YJQVKHH5.mjs} +8 -7
  99. package/dist/lib/{browser/settings-2DGP3UTS.mjs.map → node-esm/settings-YJQVKHH5.mjs.map} +1 -1
  100. package/dist/lib/node-esm/state-FSUHFMDM.mjs +26 -0
  101. package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +7 -0
  102. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +18 -0
  103. package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +7 -0
  104. package/dist/lib/node-esm/types/index.mjs +7 -4
  105. package/dist/types/src/AssistantPlugin.d.ts +1 -1
  106. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/ai-service.d.ts +4 -0
  108. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  110. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/blueprint-definition.d.ts +7 -0
  112. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/capabilities.d.ts +10 -0
  114. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/edge-model-resolver.d.ts +4 -0
  116. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/index.d.ts +12 -3
  118. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  120. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/local-model-resolver.d.ts +10 -0
  122. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  124. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/repair.d.ts +4 -0
  126. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/settings.d.ts +1 -1
  128. package/dist/types/src/capabilities/state.d.ts +4 -0
  129. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/toolkit.d.ts +4 -0
  131. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  132. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  133. package/dist/types/src/components/BlueprintArticle.d.ts +7 -0
  134. package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -0
  135. package/dist/types/src/components/Chat/Chat.d.ts +35 -21
  136. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  137. package/dist/types/src/components/Chat/events.d.ts +9 -0
  138. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  139. package/dist/types/src/components/ChatCompanion.d.ts +13 -0
  140. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -0
  141. package/dist/types/src/components/ChatContainer.d.ts +14 -6
  142. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  143. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  144. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
  145. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
  146. package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
  147. package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
  148. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  149. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
  150. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  151. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  152. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +4 -5
  153. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  154. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  155. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  156. package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
  157. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  158. package/dist/types/src/components/ChatThread/ChatThread.d.ts +12 -10
  159. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  160. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +170 -70
  161. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  162. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  163. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  164. package/dist/types/src/components/ChatThread/reducers.d.ts +40 -0
  165. package/dist/types/src/components/ChatThread/reducers.d.ts.map +1 -0
  166. package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
  167. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  168. package/dist/types/src/components/ChatThread/sync.d.ts +42 -0
  169. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  170. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  171. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  172. package/dist/types/src/components/PromptArticle.d.ts +7 -0
  173. package/dist/types/src/components/PromptArticle.d.ts.map +1 -0
  174. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +3 -6
  175. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  176. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +317 -7
  177. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  178. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +3 -2
  179. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  180. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +314 -2
  181. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  182. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  183. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  184. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  185. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  186. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  187. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  188. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +21 -0
  189. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  190. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  191. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  192. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  193. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  194. package/dist/types/src/components/Toolbox/Toolbox.d.ts +6 -11
  195. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  196. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +318 -5
  197. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  198. package/dist/types/src/components/index.d.ts +9 -6
  199. package/dist/types/src/components/index.d.ts.map +1 -1
  200. package/dist/types/src/events.d.ts +1 -1
  201. package/dist/types/src/events.d.ts.map +1 -1
  202. package/dist/types/src/functions/analysis.d.ts +5 -0
  203. package/dist/types/src/functions/analysis.d.ts.map +1 -0
  204. package/dist/types/src/functions/index.d.ts +4 -0
  205. package/dist/types/src/functions/index.d.ts.map +1 -0
  206. package/dist/types/src/functions/object-list.d.ts +10 -0
  207. package/dist/types/src/functions/object-list.d.ts.map +1 -0
  208. package/dist/types/src/functions/object-load.d.ts +8 -0
  209. package/dist/types/src/functions/object-load.d.ts.map +1 -0
  210. package/dist/types/src/hooks/index.d.ts +8 -3
  211. package/dist/types/src/hooks/index.d.ts.map +1 -1
  212. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
  213. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  214. package/dist/types/src/hooks/useChatProcessor.d.ts +8 -19
  215. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  216. package/dist/types/src/hooks/useChatServices.d.ts +5 -6
  217. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  218. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  219. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  220. package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
  221. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  222. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  223. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  224. package/dist/types/src/hooks/useFilteredTypes.d.ts +4 -0
  225. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  226. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  227. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  228. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  229. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  230. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  231. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  232. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  233. package/dist/types/src/index.d.ts +2 -0
  234. package/dist/types/src/index.d.ts.map +1 -1
  235. package/dist/types/src/meta.d.ts +1 -2
  236. package/dist/types/src/meta.d.ts.map +1 -1
  237. package/dist/types/src/processor/index.d.ts +4 -0
  238. package/dist/types/src/processor/index.d.ts.map +1 -0
  239. package/dist/types/src/{hooks → processor}/presets.d.ts +3 -3
  240. package/dist/types/src/processor/presets.d.ts.map +1 -0
  241. package/dist/types/src/processor/processor.d.ts +75 -0
  242. package/dist/types/src/processor/processor.d.ts.map +1 -0
  243. package/dist/types/src/processor/processor.test.d.ts +2 -0
  244. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  245. package/dist/types/src/processor/update-name.d.ts +10 -0
  246. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  247. package/dist/types/src/queue-logger.d.ts.map +1 -1
  248. package/dist/types/src/testing/index.d.ts +1 -1
  249. package/dist/types/src/testing/index.d.ts.map +1 -1
  250. package/dist/types/src/testing/test-generator.d.ts +8 -0
  251. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  252. package/dist/types/src/testing/test-sequence.d.ts +0 -4
  253. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  254. package/dist/types/src/testing/test-services.d.ts +2 -2
  255. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  256. package/dist/types/src/translations.d.ts +262 -37
  257. package/dist/types/src/translations.d.ts.map +1 -1
  258. package/dist/types/src/types/Assistant.d.ts +45 -0
  259. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  260. package/dist/types/src/types/AssistantAction.d.ts +129 -0
  261. package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
  262. package/dist/types/src/types/defs.d.ts +2 -0
  263. package/dist/types/src/types/defs.d.ts.map +1 -0
  264. package/dist/types/src/types/index.d.ts +3 -1
  265. package/dist/types/src/types/index.d.ts.map +1 -1
  266. package/dist/types/src/types/service.d.ts +135 -85
  267. package/dist/types/src/types/service.d.ts.map +1 -1
  268. package/dist/types/tsconfig.tsbuildinfo +1 -1
  269. package/package.json +99 -93
  270. package/src/AssistantPlugin.tsx +151 -85
  271. package/src/capabilities/ai-service.ts +27 -0
  272. package/src/capabilities/app-graph-builder.ts +104 -149
  273. package/src/capabilities/blueprint-definition.ts +66 -0
  274. package/src/capabilities/capabilities.ts +17 -0
  275. package/src/capabilities/edge-model-resolver.ts +25 -0
  276. package/src/capabilities/index.ts +10 -0
  277. package/src/capabilities/intent-resolver.ts +92 -15
  278. package/src/capabilities/local-model-resolver.ts +30 -0
  279. package/src/capabilities/react-surface.tsx +27 -78
  280. package/src/capabilities/repair.ts +49 -0
  281. package/src/capabilities/state.ts +22 -0
  282. package/src/capabilities/toolkit.ts +17 -0
  283. package/src/components/AssistantSettings/AssistantSettings.tsx +83 -76
  284. package/src/components/BlueprintArticle.tsx +29 -0
  285. package/src/components/Chat/Chat.tsx +260 -217
  286. package/src/components/Chat/events.ts +13 -0
  287. package/src/components/ChatCompanion.tsx +166 -0
  288. package/src/components/ChatContainer.tsx +39 -22
  289. package/src/components/ChatDialog.tsx +25 -14
  290. package/src/components/ChatProgress/ChatProgress.tsx +67 -0
  291. package/src/components/{SequenceEditor → ChatProgress}/index.ts +1 -1
  292. package/src/components/ChatPrompt/ChatActions.tsx +10 -26
  293. package/src/components/ChatPrompt/ChatOptions.tsx +234 -0
  294. package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
  295. package/src/components/ChatPrompt/ChatReferences.tsx +31 -36
  296. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  297. package/src/components/ChatPrompt/index.ts +1 -1
  298. package/src/components/ChatThread/ChatThread.stories.tsx +122 -116
  299. package/src/components/ChatThread/ChatThread.tsx +65 -35
  300. package/src/components/ChatThread/Link.tsx +26 -0
  301. package/src/components/ChatThread/reducers.ts +151 -0
  302. package/src/components/ChatThread/registry.tsx +174 -0
  303. package/src/components/ChatThread/sync.test.ts +89 -0
  304. package/src/components/ChatThread/sync.ts +148 -0
  305. package/src/components/ChatThread/testing/thread.md +37 -0
  306. package/src/components/PromptArticle.tsx +51 -0
  307. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +40 -19
  308. package/src/components/TemplateEditor/TemplateEditor.tsx +30 -52
  309. package/src/components/TemplateEditor/TemplateForm.stories.tsx +19 -14
  310. package/src/components/TemplateEditor/TemplateForm.tsx +8 -5
  311. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +269 -0
  312. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  313. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  314. package/src/components/ToolBlock/ToolBlock.tsx +143 -0
  315. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  316. package/src/components/ToolBlock/index.ts +6 -0
  317. package/src/components/Toolbox/Toolbox.stories.tsx +14 -23
  318. package/src/components/Toolbox/Toolbox.tsx +25 -55
  319. package/src/components/index.ts +3 -7
  320. package/src/events.ts +2 -2
  321. package/src/functions/analysis.ts +22 -0
  322. package/src/functions/index.ts +7 -0
  323. package/src/functions/object-list.ts +49 -0
  324. package/src/functions/object-load.ts +46 -0
  325. package/src/hooks/index.ts +8 -4
  326. package/src/hooks/useBlueprintRegistry.ts +95 -0
  327. package/src/hooks/useChatProcessor.ts +35 -104
  328. package/src/hooks/useChatServices.ts +33 -73
  329. package/src/hooks/useChatToolbarActions.ts +122 -0
  330. package/src/hooks/useContextBinder.ts +30 -0
  331. package/src/hooks/useContextObjects.ts +58 -0
  332. package/src/hooks/useFilteredTypes.ts +38 -0
  333. package/src/hooks/useFlush.ts +35 -0
  334. package/src/hooks/useOnline.ts +10 -0
  335. package/src/hooks/usePresets.ts +44 -0
  336. package/src/hooks/useReferencesProvider.ts +14 -11
  337. package/src/index.ts +2 -0
  338. package/src/meta.ts +9 -6
  339. package/src/processor/index.ts +7 -0
  340. package/src/{hooks → processor}/presets.ts +16 -8
  341. package/src/processor/processor.test.ts +72 -0
  342. package/src/processor/processor.ts +277 -0
  343. package/src/processor/update-name.ts +56 -0
  344. package/src/queue-logger.ts +13 -17
  345. package/src/testing/index.ts +1 -1
  346. package/src/testing/test-generator.ts +262 -0
  347. package/src/testing/test-sequence.ts +2 -27
  348. package/src/testing/test-services.ts +2 -8
  349. package/src/translations.ts +48 -26
  350. package/src/types/Assistant.ts +63 -0
  351. package/src/types/AssistantAction.ts +79 -0
  352. package/src/types/defs.ts +5 -0
  353. package/src/types/index.ts +4 -1
  354. package/src/types/service.ts +17 -9
  355. package/src/vite-env.d.ts +30 -0
  356. package/dist/lib/browser/ChatContainer-M3IHQLRS.mjs +0 -54
  357. package/dist/lib/browser/ChatContainer-M3IHQLRS.mjs.map +0 -7
  358. package/dist/lib/browser/ChatDialog-X6VN6QZI.mjs.map +0 -7
  359. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs +0 -162
  360. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
  361. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs +0 -27
  362. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs.map +0 -7
  363. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs +0 -223
  364. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs.map +0 -7
  365. package/dist/lib/browser/chunk-AEAEKWOC.mjs +0 -98
  366. package/dist/lib/browser/chunk-AEAEKWOC.mjs.map +0 -7
  367. package/dist/lib/browser/chunk-EQDW6BYQ.mjs +0 -108
  368. package/dist/lib/browser/chunk-EQDW6BYQ.mjs.map +0 -7
  369. package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
  370. package/dist/lib/browser/chunk-FDCJSQYF.mjs.map +0 -7
  371. package/dist/lib/browser/chunk-JQBVLTM5.mjs +0 -158
  372. package/dist/lib/browser/chunk-JQBVLTM5.mjs.map +0 -7
  373. package/dist/lib/browser/chunk-OWY4CUQY.mjs +0 -2245
  374. package/dist/lib/browser/chunk-OWY4CUQY.mjs.map +0 -7
  375. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs +0 -60
  376. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs.map +0 -7
  377. package/dist/lib/browser/react-surface-66VY37YQ.mjs +0 -150
  378. package/dist/lib/browser/react-surface-66VY37YQ.mjs.map +0 -7
  379. package/dist/lib/node-esm/ChatContainer-VZT74PO2.mjs +0 -55
  380. package/dist/lib/node-esm/ChatContainer-VZT74PO2.mjs.map +0 -7
  381. package/dist/lib/node-esm/ChatDialog-RJ6FDX4Q.mjs.map +0 -7
  382. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs +0 -163
  383. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
  384. package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs +0 -28
  385. package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs.map +0 -7
  386. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs +0 -224
  387. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs +0 -99
  389. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-BISJDTBK.mjs +0 -159
  391. package/dist/lib/node-esm/chunk-BISJDTBK.mjs.map +0 -7
  392. package/dist/lib/node-esm/chunk-E33DNNDW.mjs +0 -109
  393. package/dist/lib/node-esm/chunk-E33DNNDW.mjs.map +0 -7
  394. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
  395. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs.map +0 -7
  396. package/dist/lib/node-esm/chunk-SENTQAEO.mjs +0 -2246
  397. package/dist/lib/node-esm/chunk-SENTQAEO.mjs.map +0 -7
  398. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs +0 -61
  399. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs.map +0 -7
  400. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs +0 -151
  401. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs.map +0 -7
  402. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
  403. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
  404. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -17
  405. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  406. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
  407. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  408. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  409. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  410. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  411. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  412. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  413. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  414. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  415. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  416. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
  417. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  418. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  419. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  420. package/dist/types/src/components/TemplateContainer.d.ts +0 -8
  421. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  422. package/dist/types/src/hooks/chat-processor.d.ts +0 -86
  423. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  424. package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
  425. package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
  426. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  427. package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
  428. package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
  429. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  430. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  431. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  432. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  433. package/dist/types/src/parser/index.d.ts +0 -4
  434. package/dist/types/src/parser/index.d.ts.map +0 -1
  435. package/dist/types/src/parser/query-parser.d.ts +0 -15
  436. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  437. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  438. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  439. package/dist/types/src/parser/types.d.ts +0 -24
  440. package/dist/types/src/parser/types.d.ts.map +0 -1
  441. package/dist/types/src/stories/Chat.stories.d.ts +0 -249
  442. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  443. package/dist/types/src/testing/test-functions.d.ts +0 -3
  444. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  445. package/dist/types/src/tools/function.d.ts +0 -5
  446. package/dist/types/src/tools/function.d.ts.map +0 -1
  447. package/dist/types/src/tools/index.d.ts +0 -3
  448. package/dist/types/src/tools/index.d.ts.map +0 -1
  449. package/dist/types/src/tools/openapi.d.ts +0 -10
  450. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  451. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  452. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  453. package/dist/types/src/types/schema.d.ts +0 -88
  454. package/dist/types/src/types/schema.d.ts.map +0 -1
  455. package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
  456. package/src/components/ChatThread/ChatMessage.tsx +0 -268
  457. package/src/components/ChatThread/ToolBlock.tsx +0 -121
  458. package/src/components/ChatThread/reducer.ts +0 -52
  459. package/src/components/PromptSettings.tsx +0 -89
  460. package/src/components/SequenceContainer.tsx +0 -132
  461. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -32
  462. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  463. package/src/components/TemplateContainer.tsx +0 -24
  464. package/src/hooks/chat-processor.test.ts +0 -16
  465. package/src/hooks/chat-processor.ts +0 -314
  466. package/src/hooks/useBlueprints.ts +0 -57
  467. package/src/parser/filter-generator.test.ts +0 -32
  468. package/src/parser/filter-generator.ts +0 -81
  469. package/src/parser/index.ts +0 -7
  470. package/src/parser/query-parser.test.ts +0 -139
  471. package/src/parser/query-parser.ts +0 -199
  472. package/src/parser/types.ts +0 -34
  473. package/src/shims.d.ts +0 -8
  474. package/src/stories/Chat.stories.tsx +0 -378
  475. package/src/testing/test-functions.ts +0 -11
  476. package/src/tools/function.ts +0 -46
  477. package/src/tools/index.ts +0 -6
  478. package/src/tools/openapi.test.ts +0 -217
  479. package/src/tools/openapi.ts +0 -338
  480. package/src/types/schema.ts +0 -95
  481. package/src/typings.d.ts +0 -9
@@ -0,0 +1,199 @@
1
+ import {
2
+ AssistantAction_exports,
3
+ Assistant_exports
4
+ } from "./chunk-5JZRYQZL.mjs";
5
+ import {
6
+ AssistantCapabilities
7
+ } from "./chunk-LRE4VEZV.mjs";
8
+ import {
9
+ ASSISTANT_DIALOG,
10
+ meta
11
+ } from "./chunk-WBG5PTSX.mjs";
12
+ import "./chunk-J5LGTIGS.mjs";
13
+
14
+ // src/capabilities/app-graph-builder.ts
15
+ import { Atom } from "@effect-atom/atom-react";
16
+ import * as Function from "effect/Function";
17
+ import * as Option from "effect/Option";
18
+ import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
19
+ import { Prompt } from "@dxos/blueprints";
20
+ import { Sequence } from "@dxos/conductor";
21
+ import { DXN, Obj } from "@dxos/echo";
22
+ import { invariant } from "@dxos/invariant";
23
+ import { ClientCapabilities } from "@dxos/plugin-client";
24
+ import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
25
+ import { ROOT_ID, atomFromSignal, createExtension } from "@dxos/plugin-graph";
26
+ import { getActiveSpace } from "@dxos/plugin-space";
27
+ import { SpaceAction } from "@dxos/plugin-space/types";
28
+ import { Query, getSpace } from "@dxos/react-client/echo";
29
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
30
+ var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, [
31
+ createExtension({
32
+ id: `${meta.id}/root`,
33
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
34
+ return Obj.instanceOf(Assistant_exports.Chat, node2.data) ? Option.some(node2.data) : Option.none();
35
+ }), Option.map((object) => {
36
+ const id = Obj.getDXN(object).toString();
37
+ return [
38
+ {
39
+ id: `${AssistantAction_exports.UpdateChatName._tag}/${id}`,
40
+ data: async () => {
41
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
42
+ await dispatch(createIntent(AssistantAction_exports.UpdateChatName, {
43
+ chat: object
44
+ }));
45
+ },
46
+ properties: {
47
+ label: [
48
+ "chat update name label",
49
+ {
50
+ ns: meta.id
51
+ }
52
+ ],
53
+ icon: "ph--magic-wand--regular",
54
+ disposition: "list-item"
55
+ }
56
+ }
57
+ ];
58
+ }), Option.getOrElse(() => [])))
59
+ }),
60
+ createExtension({
61
+ id: `${meta.id}/assistant`,
62
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
63
+ {
64
+ id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,
65
+ data: async () => {
66
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
67
+ const client = context.getCapability(ClientCapabilities.Client);
68
+ const space = getActiveSpace(context) ?? client.spaces.default;
69
+ const chat = await getOrCreateChat(dispatch, space);
70
+ if (!chat) {
71
+ return;
72
+ }
73
+ await dispatch(createIntent(LayoutAction.UpdateDialog, {
74
+ part: "dialog",
75
+ subject: ASSISTANT_DIALOG,
76
+ options: {
77
+ state: true,
78
+ blockAlign: "end",
79
+ props: {
80
+ chat
81
+ }
82
+ }
83
+ }));
84
+ },
85
+ properties: {
86
+ label: [
87
+ "open assistant label",
88
+ {
89
+ ns: meta.id
90
+ }
91
+ ],
92
+ icon: "ph--sparkle--regular",
93
+ disposition: "pin-end",
94
+ position: "hoist",
95
+ keyBinding: {
96
+ macos: "shift+meta+k",
97
+ windows: "shift+ctrl+k"
98
+ }
99
+ }
100
+ }
101
+ ]), Option.getOrElse(() => [])))
102
+ }),
103
+ createExtension({
104
+ id: `${meta.id}/companion-chat`,
105
+ connector: (node) => {
106
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((object) => {
107
+ const currentChatState = get(atomFromSignal(() => context.getCapability(AssistantCapabilities.State).currentChat[Obj.getDXN(object).toString()]));
108
+ if (!currentChatState) {
109
+ return Option.some({
110
+ object,
111
+ currentChat: void 0
112
+ });
113
+ }
114
+ const space = getSpace(object);
115
+ const currentChatDxn = DXN.tryParse(currentChatState);
116
+ const currentChatRef = currentChatDxn ? space?.db.makeRef(currentChatDxn) : void 0;
117
+ const currentChat = get(atomFromSignal(() => currentChatRef?.target));
118
+ return Obj.isObject(currentChat) ? Option.some({
119
+ object,
120
+ currentChat
121
+ }) : Option.none();
122
+ }), Option.map(({ object, currentChat }) => {
123
+ return [
124
+ {
125
+ id: [
126
+ Obj.getDXN(object).toString(),
127
+ "assistant-chat"
128
+ ].join(ATTENDABLE_PATH_SEPARATOR),
129
+ type: PLANK_COMPANION_TYPE,
130
+ data: currentChat ?? "assistant-chat",
131
+ properties: {
132
+ label: [
133
+ "assistant chat label",
134
+ {
135
+ ns: meta.id
136
+ }
137
+ ],
138
+ icon: "ph--sparkle--regular",
139
+ position: "hoist",
140
+ disposition: "hidden"
141
+ }
142
+ }
143
+ ];
144
+ }), Option.getOrElse(() => [])));
145
+ }
146
+ }),
147
+ createExtension({
148
+ id: `${meta.id}/invocations`,
149
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Sequence, node2.data) || Obj.instanceOf(Prompt.Prompt, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
150
+ {
151
+ id: [
152
+ node2.id,
153
+ "invocations"
154
+ ].join(ATTENDABLE_PATH_SEPARATOR),
155
+ type: PLANK_COMPANION_TYPE,
156
+ data: "invocations",
157
+ properties: {
158
+ label: [
159
+ "invocations label",
160
+ {
161
+ ns: meta.id
162
+ }
163
+ ],
164
+ icon: "ph--clock-countdown--regular",
165
+ disposition: "hidden"
166
+ }
167
+ }
168
+ ]), Option.getOrElse(() => [])))
169
+ })
170
+ ]));
171
+ var getOrCreateChat = async (dispatch, space) => {
172
+ const allChats = await space.db.query(Query.type(Assistant_exports.Chat)).run();
173
+ const relatedChats = await space.db.query(Query.type(Assistant_exports.Chat).sourceOf(Assistant_exports.CompanionTo).source()).run();
174
+ const chats = allChats.filter((chat) => !relatedChats.includes(chat));
175
+ if (chats.length > 0) {
176
+ return chats.at(-1);
177
+ }
178
+ const { data } = await dispatch(createIntent(AssistantAction_exports.CreateChat, {
179
+ space
180
+ }));
181
+ invariant(Obj.instanceOf(Assistant_exports.Chat, data?.object), void 0, {
182
+ F: __dxlog_file,
183
+ L: 205,
184
+ S: void 0,
185
+ A: [
186
+ "Obj.instanceOf(Assistant.Chat, data?.object)",
187
+ ""
188
+ ]
189
+ });
190
+ await dispatch(createIntent(SpaceAction.AddObject, {
191
+ target: space,
192
+ object: data.object
193
+ }));
194
+ return data.object;
195
+ };
196
+ export {
197
+ app_graph_builder_default as default
198
+ };
199
+ //# sourceMappingURL=app-graph-builder-ADZRPJ3V.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n type PromiseIntentDispatcher,\n contributes,\n createIntent,\n} from '@dxos/app-framework';\nimport { Prompt } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { ROOT_ID, atomFromSignal, createExtension } from '@dxos/plugin-graph';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Query, type Space, getSpace } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, meta } from '../meta';\nimport { Assistant, AssistantAction } from '../types';\n\nimport { AssistantCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/root`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => {\n return Obj.instanceOf(Assistant.Chat, node.data) ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const id = Obj.getDXN(object).toString();\n return [\n {\n id: `${AssistantAction.UpdateChatName._tag}/${id}`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(AssistantAction.UpdateChatName, { chat: object }));\n },\n properties: {\n label: ['chat update name label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n disposition: 'list-item',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${meta.id}/assistant`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n const chat = await getOrCreateChat(dispatch, space);\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${meta.id}/companion-chat`,\n connector: (node) => {\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node.data) : Option.none())),\n Option.flatMap((object): Option.Option<{ object: Obj.Any; currentChat: Obj.Any | undefined }> => {\n const currentChatState = get(\n atomFromSignal(\n () => context.getCapability(AssistantCapabilities.State).currentChat[Obj.getDXN(object).toString()],\n ),\n );\n // If no state, continue to allow chat initialization.\n if (!currentChatState) {\n return Option.some({ object, currentChat: undefined });\n }\n\n const space = getSpace(object);\n const currentChatDxn = DXN.tryParse(currentChatState);\n const currentChatRef = currentChatDxn ? space?.db.makeRef(currentChatDxn) : undefined;\n const currentChat = get(atomFromSignal(() => currentChatRef?.target));\n return Obj.isObject(currentChat) ? Option.some({ object, currentChat }) : Option.none();\n }),\n Option.map(({ object, currentChat }) => {\n return [\n {\n id: [Obj.getDXN(object).toString(), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: currentChat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${meta.id}/invocations`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Sequence, node.data) || Obj.instanceOf(Prompt.Prompt, node.data)\n ? Option.some(node)\n : Option.none(),\n ),\n Option.map((node) => [\n {\n id: [node.id, 'invocations'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'invocations',\n properties: {\n label: ['invocations label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (\n dispatch: PromiseIntentDispatcher,\n space: Space,\n): Promise<Assistant.Chat | undefined> => {\n // TODO(wittjosiah): This should be possible with a single query.\n const allChats = await space.db.query(Query.type(Assistant.Chat)).run();\n const relatedChats = await space.db.query(Query.type(Assistant.Chat).sourceOf(Assistant.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 dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(Obj.instanceOf(Assistant.Chat, data?.object));\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "Function", "Option", "Capabilities", "LayoutAction", "contributes", "createIntent", "Prompt", "Sequence", "DXN", "Obj", "invariant", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "ROOT_ID", "atomFromSignal", "createExtension", "getActiveSpace", "SpaceAction", "Query", "getSpace", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Atom", "make", "get", "pipe", "flatMap", "Obj", "instanceOf", "Assistant", "Chat", "data", "some", "none", "map", "object", "getDXN", "toString", "AssistantAction", "UpdateChatName", "_tag", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "chat", "properties", "label", "ns", "icon", "disposition", "getOrElse", "ROOT_ID", "LayoutAction", "UpdateDialog", "client", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "getOrCreateChat", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "position", "keyBinding", "macos", "windows", "connector", "isObject", "currentChatState", "atomFromSignal", "AssistantCapabilities", "State", "currentChat", "undefined", "getSpace", "currentChatDxn", "DXN", "tryParse", "currentChatRef", "db", "makeRef", "target", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "Sequence", "Prompt", "allChats", "query", "Query", "run", "relatedChats", "sourceOf", "CompanionTo", "source", "chats", "filter", "includes", "length", "at", "CreateChat", "invariant", "SpaceAction", "AddObject"]
7
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ ASSISTANT_BLUEPRINT_KEY,
3
+ blueprint_definition_default,
4
+ createBlueprint
5
+ } from "./chunk-YDSFERCV.mjs";
6
+ import "./chunk-J5LGTIGS.mjs";
7
+ export {
8
+ ASSISTANT_BLUEPRINT_KEY,
9
+ createBlueprint,
10
+ blueprint_definition_default as default
11
+ };
12
+ //# sourceMappingURL=blueprint-definition-7HPQPCL7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,229 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-WBG5PTSX.mjs";
4
+ import {
5
+ __export
6
+ } from "./chunk-J5LGTIGS.mjs";
7
+
8
+ // src/types/Assistant.ts
9
+ var Assistant_exports = {};
10
+ __export(Assistant_exports, {
11
+ Chat: () => Chat,
12
+ CompanionTo: () => CompanionTo,
13
+ Settings: () => Settings,
14
+ makeChat: () => makeChat
15
+ });
16
+ import * as Schema from "effect/Schema";
17
+ import { Obj, Ref, Type } from "@dxos/echo";
18
+ import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
19
+ import { Queue } from "@dxos/echo-db";
20
+
21
+ // src/types/defs.ts
22
+ var LLM_PROVIDERS = [
23
+ "edge",
24
+ "ollama",
25
+ "lmstudio"
26
+ ];
27
+
28
+ // src/types/Assistant.ts
29
+ var Chat = Schema.Struct({
30
+ name: Schema.String.pipe(Schema.optional),
31
+ queue: Type.Ref(Queue).pipe(FormInputAnnotation.set(false)),
32
+ // TODO(dmaretskyi): Eventually this and the message queue will be the same.
33
+ traceQueue: Type.Ref(Queue).pipe(FormInputAnnotation.set(false), Schema.optional)
34
+ }).pipe(Type.Obj({
35
+ typename: "dxos.org/type/assistant/Chat",
36
+ version: "0.2.0"
37
+ }), LabelAnnotation.set([
38
+ "name"
39
+ ]));
40
+ var makeChat = ({ name, queue }) => Obj.make(Chat, {
41
+ name,
42
+ queue: Ref.fromDXN(queue.dxn)
43
+ });
44
+ var CompanionTo = Schema.Struct({
45
+ id: Obj.ID
46
+ }).pipe(Type.Relation({
47
+ typename: "dxos.org/relation/assistant/CompanionTo",
48
+ version: "0.1.0",
49
+ source: Chat,
50
+ target: Type.Expando
51
+ }));
52
+ var Settings = Schema.mutable(Schema.Struct({
53
+ llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),
54
+ edgeModel: Schema.optional(Schema.String),
55
+ ollamaModel: Schema.optional(Schema.String),
56
+ lmstudioModel: Schema.optional(Schema.String),
57
+ customPrompts: Schema.optional(Schema.Boolean)
58
+ }));
59
+
60
+ // src/types/AssistantAction.ts
61
+ var AssistantAction_exports = {};
62
+ __export(AssistantAction_exports, {
63
+ BlueprintForm: () => BlueprintForm,
64
+ CreateBlueprint: () => CreateBlueprint,
65
+ CreateChat: () => CreateChat,
66
+ CreatePrompt: () => CreatePrompt,
67
+ CreateSequence: () => CreateSequence,
68
+ OnCreateSpace: () => OnCreateSpace,
69
+ SetCurrentChat: () => SetCurrentChat,
70
+ UpdateChatName: () => UpdateChatName
71
+ });
72
+ import * as Schema2 from "effect/Schema";
73
+ import { Blueprint, Prompt } from "@dxos/blueprints";
74
+ import { EchoObjectSchema, SpaceSchema } from "@dxos/client/echo";
75
+ import { Sequence } from "@dxos/conductor";
76
+ import { Collection } from "@dxos/schema";
77
+ var OnCreateSpace = class extends Schema2.TaggedClass()(`${meta.id}/on-space-created`, {
78
+ input: Schema2.Struct({
79
+ space: SpaceSchema,
80
+ rootCollection: Collection.Collection
81
+ }),
82
+ output: Schema2.Void
83
+ }) {
84
+ };
85
+ var CreateChat = class extends Schema2.TaggedClass()(`${meta.id}/action/create-chat`, {
86
+ input: Schema2.Struct({
87
+ space: SpaceSchema,
88
+ name: Schema2.optional(Schema2.String)
89
+ }),
90
+ output: Schema2.Struct({
91
+ object: Chat
92
+ })
93
+ }) {
94
+ };
95
+ var UpdateChatName = class extends Schema2.TaggedClass()(`${meta.id}/action/update-name`, {
96
+ input: Schema2.Struct({
97
+ chat: Chat
98
+ }),
99
+ output: Schema2.Void
100
+ }) {
101
+ };
102
+ var BlueprintForm = Schema2.Struct({
103
+ key: Schema2.String,
104
+ name: Schema2.String,
105
+ description: Schema2.optional(Schema2.String)
106
+ });
107
+ var CreateBlueprint = class extends Schema2.TaggedClass()(`${meta.id}/action/create-blueprint`, {
108
+ input: BlueprintForm,
109
+ output: Schema2.Struct({
110
+ object: Blueprint.Blueprint
111
+ })
112
+ }) {
113
+ };
114
+ var CreatePrompt = class extends Schema2.TaggedClass()(`${meta.id}/action/create-prompt`, {
115
+ input: Schema2.Struct({
116
+ name: Schema2.optional(Schema2.String)
117
+ }),
118
+ output: Schema2.Struct({
119
+ object: Prompt.Prompt
120
+ })
121
+ }) {
122
+ };
123
+ var CreateSequence = class extends Schema2.TaggedClass()(`${meta.id}/action/create-sequence`, {
124
+ input: Schema2.Struct({
125
+ name: Schema2.optional(Schema2.String)
126
+ }),
127
+ output: Schema2.Struct({
128
+ object: Sequence
129
+ })
130
+ }) {
131
+ };
132
+ var SetCurrentChat = class extends Schema2.TaggedClass()(`${meta.id}/action/set-current-chat`, {
133
+ input: Schema2.Struct({
134
+ companionTo: EchoObjectSchema,
135
+ chat: Chat.pipe(Schema2.optional)
136
+ }),
137
+ output: Schema2.Void
138
+ }) {
139
+ };
140
+
141
+ // src/types/service.ts
142
+ import * as Schema3 from "effect/Schema";
143
+ import { ComputeGraph } from "@dxos/conductor";
144
+ import { Type as Type2 } from "@dxos/echo";
145
+ import { TypedObject } from "@dxos/echo/internal";
146
+ import { Function } from "@dxos/functions";
147
+ var ApiAuthorizationKey = Schema3.Struct({
148
+ type: Schema3.Literal("api-key"),
149
+ key: Schema3.String,
150
+ placement: Schema3.Union(Schema3.Struct({
151
+ type: Schema3.Literal("authorization-header")
152
+ }), Schema3.Struct({
153
+ type: Schema3.Literal("query"),
154
+ name: Schema3.String
155
+ }))
156
+ });
157
+ var ApiAuthorizationOauth = Schema3.Struct({
158
+ type: Schema3.Literal("oauth"),
159
+ clientId: Schema3.String,
160
+ clientSecret: Schema3.String,
161
+ tokenUrl: Schema3.String,
162
+ grantType: Schema3.String
163
+ });
164
+ var ApiAuthorization = Schema3.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
165
+ var ServiceInterfaceFunction = Schema3.Struct({
166
+ kind: Schema3.Literal("function"),
167
+ fn: Type2.Ref(Function.Function)
168
+ });
169
+ var ServiceInterfaceWorkflow = Schema3.Struct({
170
+ kind: Schema3.Literal("workflow"),
171
+ workflow: Type2.Ref(ComputeGraph)
172
+ });
173
+ var ServiceInterfaceApi = Schema3.Struct({
174
+ kind: Schema3.Literal("api"),
175
+ /**
176
+ * URL to fetch the openapi schema.
177
+ */
178
+ schemaUrl: Schema3.optional(Schema3.String),
179
+ /**
180
+ * Inlined openapi schema.
181
+ */
182
+ schema: Schema3.optional(Schema3.Any),
183
+ /**
184
+ * Authorization configuration if required.
185
+ */
186
+ authorization: Schema3.optional(ApiAuthorization)
187
+ });
188
+ var ServiceInterface = Schema3.Union(
189
+ // Service types.
190
+ ServiceInterfaceFunction,
191
+ ServiceInterfaceWorkflow,
192
+ ServiceInterfaceApi
193
+ );
194
+ var ServiceType = class extends TypedObject({
195
+ typename: "dxos.org/type/ServiceType",
196
+ version: "0.1.0"
197
+ })({
198
+ serviceId: Schema3.String,
199
+ name: Schema3.optional(Schema3.String),
200
+ description: Schema3.optional(Schema3.String),
201
+ category: Schema3.optional(Schema3.String),
202
+ enabled: Schema3.optional(Schema3.Boolean),
203
+ /**
204
+ * Entries exposed: functions, workflows, and APIs.
205
+ */
206
+ interfaces: Schema3.optional(Schema3.Array(ServiceInterface))
207
+ }) {
208
+ };
209
+ var categoryIcons = {
210
+ finance: "ph--bank--regular",
211
+ health: "ph--heart--regular",
212
+ geolocation: "ph--globe-simple--regular",
213
+ education: "ph--books--regular",
214
+ entertainment: "ph--music-notes--regular",
215
+ shopping: "ph--shopping-cart--regular",
216
+ travel: "ph--airplane-takeoff--regular",
217
+ utilities: "ph--lightning--regular",
218
+ weather: "ph--cloud-rain--regular"
219
+ };
220
+
221
+ export {
222
+ LLM_PROVIDERS,
223
+ Assistant_exports,
224
+ AssistantAction_exports,
225
+ ApiAuthorization,
226
+ ServiceType,
227
+ categoryIcons
228
+ };
229
+ //# sourceMappingURL=chunk-5JZRYQZL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/Assistant.ts", "../../../src/types/defs.ts", "../../../src/types/AssistantAction.ts", "../../../src/types/service.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { Queue } from '@dxos/echo-db';\n\nimport { LLM_PROVIDERS } from './defs';\n\n/**\n * AI chat.\n */\nexport const Chat = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n queue: Type.Ref(Queue).pipe(FormInputAnnotation.set(false)),\n // TODO(dmaretskyi): Eventually this and the message queue will be the same.\n traceQueue: Type.Ref(Queue).pipe(FormInputAnnotation.set(false), Schema.optional),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/assistant/Chat',\n version: '0.2.0',\n }),\n LabelAnnotation.set(['name']),\n);\n\nexport interface Chat extends Schema.Schema.Type<typeof Chat> {}\n\nexport const makeChat = ({ name, queue }: { name?: string; queue: Queue }) =>\n Obj.make(Chat, { name, queue: Ref.fromDXN(queue.dxn) });\n\n/**\n * Relation between a Chat and companion objects (e.g., artifacts).\n */\nexport const CompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/assistant/CompanionTo',\n version: '0.1.0',\n source: Chat,\n target: Type.Expando,\n }),\n);\n\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\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 { Blueprint, Prompt } from '@dxos/blueprints';\nimport { EchoObjectSchema, SpaceSchema } from '@dxos/client/echo';\nimport { Sequence } from '@dxos/conductor';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nimport { Chat } from './Assistant';\n\n// TODO(burdon): Name?\nexport class OnCreateSpace extends Schema.TaggedClass<OnCreateSpace>()(`${meta.id}/on-space-created`, {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n }),\n output: Schema.Void,\n}) {}\n\nexport class CreateChat extends Schema.TaggedClass<CreateChat>()(`${meta.id}/action/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Chat,\n }),\n}) {}\n\nexport class UpdateChatName extends Schema.TaggedClass<UpdateChatName>()(`${meta.id}/action/update-name`, {\n input: Schema.Struct({\n chat: Chat,\n }),\n output: Schema.Void,\n}) {}\n\nexport const BlueprintForm = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n description: Schema.optional(Schema.String),\n});\n\nexport class CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${meta.id}/action/create-blueprint`, {\n input: BlueprintForm,\n output: Schema.Struct({\n object: Blueprint.Blueprint,\n }),\n}) {}\n\nexport class CreatePrompt extends Schema.TaggedClass<CreatePrompt>()(`${meta.id}/action/create-prompt`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Prompt.Prompt,\n }),\n}) {}\n\nexport class CreateSequence extends Schema.TaggedClass<CreateSequence>()(`${meta.id}/action/create-sequence`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Sequence,\n }),\n}) {}\n\nexport class SetCurrentChat extends Schema.TaggedClass<SetCurrentChat>()(`${meta.id}/action/set-current-chat`, {\n input: Schema.Struct({\n companionTo: EchoObjectSchema,\n chat: Chat.pipe(Schema.optional),\n }),\n output: Schema.Void,\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 { TypedObject } from '@dxos/echo/internal';\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);\n\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n})({\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}) {}\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": ";;;;;;;;AAAA;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,qBAAqBC,uBAAuB;AACrD,SAASC,aAAa;;;ACJf,IAAMC,gBAAgB;EAAC;EAAQ;EAAU;;;;ADWzC,IAAMC,OAAcC,cAAO;EAChCC,MAAaC,cAAOC,KAAYC,eAAQ;EACxCC,OAAOC,KAAKC,IAAIC,KAAAA,EAAOL,KAAKM,oBAAoBC,IAAI,KAAA,CAAA;;EAEpDC,YAAYL,KAAKC,IAAIC,KAAAA,EAAOL,KAAKM,oBAAoBC,IAAI,KAAA,GAAeN,eAAQ;AAClF,CAAA,EAAGD,KACDG,KAAKM,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBL,IAAI;EAAC;CAAO,CAAA;AAKvB,IAAMM,WAAW,CAAC,EAAEf,MAAMI,MAAK,MACpCO,IAAIK,KAAKlB,MAAM;EAAEE;EAAMI,OAAOE,IAAIW,QAAQb,MAAMc,GAAG;AAAE,CAAA;AAKhD,IAAMC,cAAqBpB,cAAO;EACvCqB,IAAIT,IAAIU;AACV,CAAA,EAAGnB,KACDG,KAAKiB,SAAS;EACZV,UAAU;EACVC,SAAS;EACTU,QAAQzB;EACR0B,QAAQnB,KAAKoB;AACf,CAAA,CAAA;AAQK,IAAMC,WAAkBC,eACtB5B,cAAO;EACZ6B,aAAoBzB,gBAAgB0B,eAAO,GAAIC,aAAAA,CAAAA;EAC/CC,WAAkB5B,gBAAgBF,aAAM;EACxC+B,aAAoB7B,gBAAgBF,aAAM;EAC1CgC,eAAsB9B,gBAAgBF,aAAM;EAC5CiC,eAAsB/B,gBAAgBgC,cAAO;AAC/C,CAAA,CAAA;;;AE3DF;;;;;;;;;;;AAIA,YAAYC,aAAY;AAExB,SAASC,WAAWC,cAAc;AAClC,SAASC,kBAAkBC,mBAAmB;AAC9C,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AAOpB,IAAMC,gBAAN,cAAmCC,oBAAW,EAAkB,GAAGC,KAAKC,EAAE,qBAAqB;EACpGC,OAAcC,eAAO;IACnBC,OAAOC;IACPC,gBAAgBC,WAAWA;EAC7B,CAAA;EACAC,QAAeC;AACjB,CAAA,EAAA;AAAI;AAEG,IAAMC,aAAN,cAAgCX,oBAAW,EAAe,GAAGC,KAAKC,EAAE,uBAAuB;EAChGC,OAAcC,eAAO;IACnBC,OAAOC;IACPM,MAAaC,iBAAgBC,cAAM;EACrC,CAAA;EACAL,QAAeL,eAAO;IACpBW,QAAQC;EACV,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,iBAAN,cAAoCjB,oBAAW,EAAmB,GAAGC,KAAKC,EAAE,uBAAuB;EACxGC,OAAcC,eAAO;IACnBc,MAAMF;EACR,CAAA;EACAP,QAAeC;AACjB,CAAA,EAAA;AAAI;AAEG,IAAMS,gBAAuBf,eAAO;EACzCgB,KAAYN;EACZF,MAAaE;EACbO,aAAoBR,iBAAgBC,cAAM;AAC5C,CAAA;AAEO,IAAMQ,kBAAN,cAAqCtB,oBAAW,EAAoB,GAAGC,KAAKC,EAAE,4BAA4B;EAC/GC,OAAOgB;EACPV,QAAeL,eAAO;IACpBW,QAAQQ,UAAUA;EACpB,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,eAAN,cAAkCxB,oBAAW,EAAiB,GAAGC,KAAKC,EAAE,yBAAyB;EACtGC,OAAcC,eAAO;IACnBQ,MAAaC,iBAAgBC,cAAM;EACrC,CAAA;EACAL,QAAeL,eAAO;IACpBW,QAAQU,OAAOA;EACjB,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,iBAAN,cAAoC1B,oBAAW,EAAmB,GAAGC,KAAKC,EAAE,2BAA2B;EAC5GC,OAAcC,eAAO;IACnBQ,MAAaC,iBAAgBC,cAAM;EACrC,CAAA;EACAL,QAAeL,eAAO;IACpBW,QAAQY;EACV,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,iBAAN,cAAoC5B,oBAAW,EAAmB,GAAGC,KAAKC,EAAE,4BAA4B;EAC7GC,OAAcC,eAAO;IACnByB,aAAaC;IACbZ,MAAMF,KAAKe,KAAYlB,gBAAQ;EACjC,CAAA;EACAJ,QAAeC;AACjB,CAAA,EAAA;AAAI;;;AC1EJ,YAAYsB,aAAY;AAExB,SAASC,oBAAoB;AAC7B,SAASC,QAAAA,aAAY;AACrB,SAASC,mBAAmB;AAC5B,SAASC,gBAAgB;AAIzB,IAAMC,sBAA6BC,eAAO;EACxCC,MAAaC,gBAAQ,SAAA;EACrBC,KAAYC;EACZC,WAAkBC,cACTN,eAAO;IACZC,MAAaC,gBAAQ,sBAAA;EACvB,CAAA,GACOF,eAAO;IACZC,MAAaC,gBAAQ,OAAA;IACrBK,MAAaH;EACf,CAAA,CAAA;AAEJ,CAAA;AAEA,IAAMI,wBAA+BR,eAAO;EAC1CC,MAAaC,gBAAQ,OAAA;EACrBO,UAAiBL;EACjBM,cAAqBN;EACrBO,UAAiBP;EACjBQ,WAAkBR;AACpB,CAAA;AAEO,IAAMS,mBAA0BP,cAAMP,qBAAqBS,qBAAAA;AAGlE,IAAMM,2BAAkCd,eAAO;EAC7Ce,MAAab,gBAAQ,UAAA;EACrBc,IAAIC,MAAKC,IAAIC,SAASA,QAAQ;AAChC,CAAA;AAEA,IAAMC,2BAAkCpB,eAAO;EAC7Ce,MAAab,gBAAQ,UAAA;EACrBmB,UAAUJ,MAAKC,IAAII,YAAAA;AACrB,CAAA;AAEA,IAAMC,sBAA6BvB,eAAO;EACxCe,MAAab,gBAAQ,KAAA;;;;EAKrBsB,WAAkBC,iBAAgBrB,cAAM;;;;EAKxCsB,QAAeD,iBAAgBE,WAAG;;;;EAKlCC,eAAsBH,iBAASZ,gBAAAA;AACjC,CAAA;AAEA,IAAMgB,mBAA0BvB;;EAE9BQ;EACAM;EACAG;AAAAA;AAKK,IAAMO,cAAN,cAA0BC,YAAY;EAC3CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDC,WAAkB9B;EAClBG,MAAakB,iBAAgBrB,cAAM;EACnC+B,aAAoBV,iBAAgBrB,cAAM;EAC1CgC,UAAiBX,iBAAgBrB,cAAM;EACvCiC,SAAgBZ,iBAAgBa,eAAO;;;;EAKvCC,YAAmBd,iBAAgBe,cAAMX,gBAAAA,CAAAA;AAC3C,CAAA,EAAA;AAAI;AAeG,IAAMY,gBAAwC;EACnDC,SAAS;EACTC,QAAQ;EACRC,aAAa;EACbC,WAAW;EACXC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,WAAW;EACXC,SAAS;AACX;",
6
+ "names": ["Schema", "Obj", "Ref", "Type", "FormInputAnnotation", "LabelAnnotation", "Queue", "LLM_PROVIDERS", "Chat", "Struct", "name", "String", "pipe", "optional", "queue", "Type", "Ref", "Queue", "FormInputAnnotation", "set", "traceQueue", "Obj", "typename", "version", "LabelAnnotation", "makeChat", "make", "fromDXN", "dxn", "CompanionTo", "id", "ID", "Relation", "source", "target", "Expando", "Settings", "mutable", "llmProvider", "Literal", "LLM_PROVIDERS", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean", "Schema", "Blueprint", "Prompt", "EchoObjectSchema", "SpaceSchema", "Sequence", "Collection", "OnCreateSpace", "TaggedClass", "meta", "id", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "output", "Void", "CreateChat", "name", "optional", "String", "object", "Chat", "UpdateChatName", "chat", "BlueprintForm", "key", "description", "CreateBlueprint", "Blueprint", "CreatePrompt", "Prompt", "CreateSequence", "Sequence", "SetCurrentChat", "companionTo", "EchoObjectSchema", "pipe", "Schema", "ComputeGraph", "Type", "TypedObject", "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", "TypedObject", "typename", "version", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather"]
7
+ }