@dxos/plugin-automation 0.7.5-labs.a279d8c → 0.7.5-labs.c0e040f

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 (311) hide show
  1. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs +8 -0
  2. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs.map +7 -0
  3. package/dist/lib/browser/ChatContainer-OLRZNGWK.mjs +12 -0
  4. package/dist/lib/browser/ChatContainer-OLRZNGWK.mjs.map +7 -0
  5. package/dist/lib/browser/{ai-client-6CRYUC6D.mjs → ai-client-5CNY6JBF.mjs} +4 -4
  6. package/dist/lib/browser/{ai-client-6CRYUC6D.mjs.map → ai-client-5CNY6JBF.mjs.map} +3 -3
  7. package/dist/lib/browser/{app-graph-builder-IJTTULDP.mjs → app-graph-builder-6H7MDCXE.mjs} +70 -4
  8. package/dist/lib/browser/app-graph-builder-6H7MDCXE.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-HZ4TA7HY.mjs → chunk-2H2EUYXL.mjs} +2 -2
  10. package/dist/lib/browser/chunk-ITG6CBKL.mjs +1602 -0
  11. package/dist/lib/browser/chunk-ITG6CBKL.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-MRBC5J4T.mjs +518 -0
  13. package/dist/lib/browser/chunk-MRBC5J4T.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-NQFZ6XRX.mjs +243 -0
  15. package/dist/lib/browser/chunk-NQFZ6XRX.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-Q4IMHYGH.mjs +150 -0
  17. package/dist/lib/browser/chunk-Q4IMHYGH.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-HKX3D3ZP.mjs → chunk-R4JH4TLE.mjs} +4 -2
  19. package/dist/lib/browser/chunk-R4JH4TLE.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +56 -45
  21. package/dist/lib/browser/index.mjs.map +3 -3
  22. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs +29 -0
  23. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs.map +7 -0
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/{react-surface-IGMBLSV7.mjs → react-surface-O6SHIBCA.mjs} +32 -23
  26. package/dist/lib/browser/react-surface-O6SHIBCA.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +10 -4
  28. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs +26 -0
  29. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs.map +7 -0
  30. package/dist/lib/node/ChatContainer-GRZDJIG5.cjs +33 -0
  31. package/dist/lib/node/ChatContainer-GRZDJIG5.cjs.map +7 -0
  32. package/dist/lib/node/{ai-client-A3RRU55B.cjs → ai-client-FKLPDELV.cjs} +8 -8
  33. package/dist/lib/node/{ai-client-A3RRU55B.cjs.map → ai-client-FKLPDELV.cjs.map} +3 -3
  34. package/dist/lib/node/{app-graph-builder-MF5M4QRS.cjs → app-graph-builder-7JMJLZIE.cjs} +77 -12
  35. package/dist/lib/node/app-graph-builder-7JMJLZIE.cjs.map +7 -0
  36. package/dist/lib/node/chunk-CFBERLTN.cjs +1586 -0
  37. package/dist/lib/node/chunk-CFBERLTN.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-5VF5JKUN.cjs → chunk-EQYHOTGG.cjs} +8 -5
  39. package/dist/lib/node/chunk-EQYHOTGG.cjs.map +7 -0
  40. package/dist/lib/node/chunk-FQUY77HT.cjs +527 -0
  41. package/dist/lib/node/chunk-FQUY77HT.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-BUQOZA4N.cjs → chunk-GB7245FH.cjs} +87 -11
  43. package/dist/lib/node/chunk-GB7245FH.cjs.map +7 -0
  44. package/dist/lib/node/{AutomationPanel-RXJDVLCF.cjs → chunk-QXIHYOMF.cjs} +123 -9
  45. package/dist/lib/node/chunk-QXIHYOMF.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-ZS5RZ7RM.cjs → chunk-U5Z7LFWB.cjs} +6 -6
  47. package/dist/lib/node/index.cjs +100 -88
  48. package/dist/lib/node/index.cjs.map +3 -3
  49. package/dist/lib/node/{intent-resolver-TBHYXBDI.cjs → intent-resolver-C6OKFVEW.cjs} +20 -15
  50. package/dist/lib/node/intent-resolver-C6OKFVEW.cjs.map +7 -0
  51. package/dist/lib/node/meta.json +1 -1
  52. package/dist/lib/node/{react-surface-BVUZMKYS.cjs → react-surface-JT6SVCPK.cjs} +31 -24
  53. package/dist/lib/node/react-surface-JT6SVCPK.cjs.map +7 -0
  54. package/dist/lib/node/types/index.cjs +15 -9
  55. package/dist/lib/node/types/index.cjs.map +2 -2
  56. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs +9 -0
  57. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs.map +7 -0
  58. package/dist/lib/node-esm/ChatContainer-ORVWQPJO.mjs +13 -0
  59. package/dist/lib/node-esm/ChatContainer-ORVWQPJO.mjs.map +7 -0
  60. package/dist/lib/node-esm/{ai-client-2GBZRHBA.mjs → ai-client-XGNA6SJ5.mjs} +4 -4
  61. package/dist/lib/node-esm/{ai-client-2GBZRHBA.mjs.map → ai-client-XGNA6SJ5.mjs.map} +3 -3
  62. package/dist/lib/node-esm/{app-graph-builder-5N7OK23B.mjs → app-graph-builder-C6NUQGCU.mjs} +70 -4
  63. package/dist/lib/node-esm/app-graph-builder-C6NUQGCU.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-2OKJZ4ZW.mjs +519 -0
  65. package/dist/lib/node-esm/chunk-2OKJZ4ZW.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs +244 -0
  67. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-7VPT3OO3.mjs +1603 -0
  69. package/dist/lib/node-esm/chunk-7VPT3OO3.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs +151 -0
  71. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-X3LPRWIL.mjs → chunk-EMVA6QUT.mjs} +4 -2
  73. package/dist/lib/node-esm/chunk-EMVA6QUT.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-ISYLEDVU.mjs → chunk-IJRTDSKN.mjs} +2 -2
  75. package/dist/lib/node-esm/index.mjs +56 -45
  76. package/dist/lib/node-esm/index.mjs.map +3 -3
  77. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs +30 -0
  78. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs.map +7 -0
  79. package/dist/lib/node-esm/meta.json +1 -1
  80. package/dist/lib/node-esm/{react-surface-77S6XJOM.mjs → react-surface-DSVM33SA.mjs} +32 -23
  81. package/dist/lib/node-esm/react-surface-DSVM33SA.mjs.map +7 -0
  82. package/dist/lib/node-esm/types/index.mjs +10 -4
  83. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  84. package/dist/types/src/artifacts.stories.d.ts +10 -24
  85. package/dist/types/src/artifacts.stories.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/app-graph-builder.d.ts +45 -44
  87. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/index.d.ts +27 -27
  89. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  92. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts +3 -0
  93. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts.map +1 -0
  94. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.stories.d.ts +8 -0
  95. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.stories.d.ts.map +1 -0
  96. package/dist/types/src/components/AmbientChatDialog/index.d.ts +2 -0
  97. package/dist/types/src/components/AmbientChatDialog/index.d.ts.map +1 -0
  98. package/dist/types/src/components/Box/StatusLine.d.ts +11 -0
  99. package/dist/types/src/components/Box/StatusLine.d.ts.map +1 -0
  100. package/dist/types/src/components/Box/StatusLine.stories.d.ts +9 -0
  101. package/dist/types/src/components/Box/StatusLine.stories.d.ts.map +1 -0
  102. package/dist/types/src/components/Box/Tabbed.d.ts +15 -0
  103. package/dist/types/src/components/Box/Tabbed.d.ts.map +1 -0
  104. package/dist/types/src/components/Box/Tabbed.stories.d.ts +8 -0
  105. package/dist/types/src/components/Box/Tabbed.stories.d.ts.map +1 -0
  106. package/dist/types/src/components/Box/ToggleContainer.d.ts +13 -0
  107. package/dist/types/src/components/Box/ToggleContainer.d.ts.map +1 -0
  108. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts +9 -0
  109. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts.map +1 -0
  110. package/dist/types/src/components/Box/index.d.ts +4 -0
  111. package/dist/types/src/components/Box/index.d.ts.map +1 -0
  112. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +7 -0
  113. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +1 -0
  114. package/dist/types/src/components/ChatContainer/index.d.ts +4 -0
  115. package/dist/types/src/components/ChatContainer/index.d.ts.map +1 -0
  116. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts +14 -0
  117. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts.map +1 -0
  118. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts +8 -0
  119. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts.map +1 -0
  120. package/dist/types/src/components/MarkdownViewer/index.d.ts +2 -0
  121. package/dist/types/src/components/MarkdownViewer/index.d.ts.map +1 -0
  122. package/dist/types/src/components/Prompt/Prompt.d.ts +7 -0
  123. package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -0
  124. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +8 -0
  125. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -0
  126. package/dist/types/src/components/Prompt/index.d.ts +2 -0
  127. package/dist/types/src/components/Prompt/index.d.ts.map +1 -0
  128. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts +20 -0
  129. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts.map +1 -0
  130. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +6 -0
  131. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -0
  132. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +8 -0
  133. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +1 -0
  134. package/dist/types/src/components/ServiceRegistry/index.d.ts +2 -0
  135. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +1 -0
  136. package/dist/types/src/components/Thread/Thread.d.ts +6 -9
  137. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  138. package/dist/types/src/components/Thread/Thread.stories.d.ts +3 -4
  139. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/Thread/ThreadMessage.d.ts +12 -0
  141. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -0
  142. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  143. package/dist/types/src/components/index.d.ts +6 -2
  144. package/dist/types/src/components/index.d.ts.map +1 -1
  145. package/dist/types/src/hooks/index.d.ts +3 -0
  146. package/dist/types/src/hooks/index.d.ts.map +1 -1
  147. package/dist/types/src/hooks/processor.d.ts +39 -15
  148. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  149. package/dist/types/src/hooks/useChatProcessor.d.ts +7 -0
  150. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -0
  151. package/dist/types/src/hooks/useMessageQueue.d.ts +41 -0
  152. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -0
  153. package/dist/types/src/hooks/useServices.d.ts +7 -0
  154. package/dist/types/src/hooks/useServices.d.ts.map +1 -0
  155. package/dist/types/src/meta.d.ts +1 -0
  156. package/dist/types/src/meta.d.ts.map +1 -1
  157. package/dist/types/src/testing/index.d.ts +2 -1
  158. package/dist/types/src/testing/index.d.ts.map +1 -1
  159. package/dist/types/src/testing/{testing.d.ts → test-functions.d.ts} +1 -1
  160. package/dist/types/src/testing/test-functions.d.ts.map +1 -0
  161. package/dist/types/src/testing/test-services.d.ts +5 -0
  162. package/dist/types/src/testing/test-services.d.ts.map +1 -0
  163. package/dist/types/src/tools/function.d.ts +5 -0
  164. package/dist/types/src/tools/function.d.ts.map +1 -0
  165. package/dist/types/src/tools/index.d.ts +3 -0
  166. package/dist/types/src/tools/index.d.ts.map +1 -0
  167. package/dist/types/src/tools/openapi.d.ts +10 -0
  168. package/dist/types/src/tools/openapi.d.ts.map +1 -0
  169. package/dist/types/src/tools/openapi.test.d.ts +2 -0
  170. package/dist/types/src/tools/openapi.test.d.ts.map +1 -0
  171. package/dist/types/src/translations.d.ts +12 -6
  172. package/dist/types/src/translations.d.ts.map +1 -1
  173. package/dist/types/src/types/index.d.ts +1 -0
  174. package/dist/types/src/types/index.d.ts.map +1 -1
  175. package/dist/types/src/types/registry.d.ts +10 -0
  176. package/dist/types/src/types/registry.d.ts.map +1 -0
  177. package/dist/types/src/types/schema.d.ts +156 -7
  178. package/dist/types/src/types/schema.d.ts.map +1 -1
  179. package/dist/types/src/types/types.d.ts +2 -2
  180. package/dist/types/src/types/types.d.ts.map +1 -1
  181. package/dist/types/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +57 -49
  183. package/src/AutomationPlugin.tsx +18 -26
  184. package/src/artifacts.stories.tsx +126 -65
  185. package/src/capabilities/ai-client.ts +1 -1
  186. package/src/capabilities/app-graph-builder.ts +65 -5
  187. package/src/capabilities/intent-resolver.ts +14 -9
  188. package/src/capabilities/react-surface.tsx +21 -13
  189. package/src/components/AmbientChatDialog/AmbientChatDialog.stories.tsx +44 -0
  190. package/src/components/AmbientChatDialog/AmbientChatDialog.tsx +63 -0
  191. package/src/components/AmbientChatDialog/index.ts +5 -0
  192. package/src/components/Box/StatusLine.stories.tsx +52 -0
  193. package/src/components/Box/StatusLine.tsx +76 -0
  194. package/src/components/Box/Tabbed.stories.tsx +51 -0
  195. package/src/components/Box/Tabbed.tsx +89 -0
  196. package/src/components/Box/ToggleContainer.stories.tsx +110 -0
  197. package/src/components/Box/ToggleContainer.tsx +108 -0
  198. package/src/components/Box/index.ts +7 -0
  199. package/src/components/ChatContainer/ChatContainer.tsx +52 -0
  200. package/src/components/ChatContainer/index.ts +8 -0
  201. package/src/components/MarkdownViewer/MarkdownViewer.stories.tsx +56 -0
  202. package/src/components/MarkdownViewer/MarkdownViewer.tsx +79 -0
  203. package/src/components/MarkdownViewer/index.ts +5 -0
  204. package/src/components/Prompt/Prompt.stories.tsx +50 -0
  205. package/src/components/Prompt/Prompt.tsx +39 -0
  206. package/src/components/Prompt/index.ts +5 -0
  207. package/src/components/Prompt/prompt-autocomplete.ts +200 -0
  208. package/src/components/PromptEditor/PromptEditor.stories.tsx +3 -3
  209. package/src/components/PromptEditor/PromptEditor.tsx +3 -3
  210. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +49 -0
  211. package/src/components/ServiceRegistry/ServiceRegistry.tsx +76 -0
  212. package/src/components/ServiceRegistry/index.ts +5 -0
  213. package/src/components/Thread/Thread.stories.tsx +152 -97
  214. package/src/components/Thread/Thread.tsx +115 -108
  215. package/src/components/Thread/ThreadMessage.tsx +225 -0
  216. package/src/components/TriggerEditor/TriggerEditor.tsx +8 -5
  217. package/src/components/index.ts +5 -1
  218. package/src/hooks/index.ts +4 -0
  219. package/src/hooks/processor.ts +114 -65
  220. package/src/hooks/useChatProcessor.tsx +86 -0
  221. package/src/hooks/useMessageQueue.ts +23 -0
  222. package/src/hooks/useServices.ts +28 -0
  223. package/src/meta.ts +4 -1
  224. package/src/testing/index.ts +2 -1
  225. package/src/testing/test-services.ts +131 -0
  226. package/src/tools/function.ts +47 -0
  227. package/src/tools/index.ts +6 -0
  228. package/src/tools/openapi.test.ts +224 -0
  229. package/src/tools/openapi.ts +331 -0
  230. package/src/translations.ts +9 -6
  231. package/src/types/index.ts +1 -0
  232. package/src/types/registry.ts +26 -0
  233. package/src/types/schema.ts +90 -3
  234. package/src/types/types.ts +2 -2
  235. package/dist/lib/browser/AssistantPanel-KO6DZBTU.mjs +0 -340
  236. package/dist/lib/browser/AssistantPanel-KO6DZBTU.mjs.map +0 -7
  237. package/dist/lib/browser/AutomationPanel-BMLM533Z.mjs +0 -131
  238. package/dist/lib/browser/AutomationPanel-BMLM533Z.mjs.map +0 -7
  239. package/dist/lib/browser/ChatContainer-SIAJFRFF.mjs +0 -300
  240. package/dist/lib/browser/ChatContainer-SIAJFRFF.mjs.map +0 -7
  241. package/dist/lib/browser/app-graph-builder-IJTTULDP.mjs.map +0 -7
  242. package/dist/lib/browser/chunk-C3VRGDR6.mjs +0 -75
  243. package/dist/lib/browser/chunk-C3VRGDR6.mjs.map +0 -7
  244. package/dist/lib/browser/chunk-EKJVAFT2.mjs +0 -226
  245. package/dist/lib/browser/chunk-EKJVAFT2.mjs.map +0 -7
  246. package/dist/lib/browser/chunk-HKX3D3ZP.mjs.map +0 -7
  247. package/dist/lib/browser/chunk-JSNPW6JF.mjs +0 -14
  248. package/dist/lib/browser/chunk-JSNPW6JF.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-KPSDH6XZ.mjs +0 -118
  250. package/dist/lib/browser/chunk-KPSDH6XZ.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-YZF3SDZL.mjs +0 -139
  252. package/dist/lib/browser/chunk-YZF3SDZL.mjs.map +0 -7
  253. package/dist/lib/browser/intent-resolver-AHDQ3KQP.mjs +0 -24
  254. package/dist/lib/browser/intent-resolver-AHDQ3KQP.mjs.map +0 -7
  255. package/dist/lib/browser/react-surface-IGMBLSV7.mjs.map +0 -7
  256. package/dist/lib/node/AssistantPanel-PPFS2HKK.cjs +0 -360
  257. package/dist/lib/node/AssistantPanel-PPFS2HKK.cjs.map +0 -7
  258. package/dist/lib/node/AutomationPanel-RXJDVLCF.cjs.map +0 -7
  259. package/dist/lib/node/ChatContainer-GS2SC5OG.cjs +0 -318
  260. package/dist/lib/node/ChatContainer-GS2SC5OG.cjs.map +0 -7
  261. package/dist/lib/node/app-graph-builder-MF5M4QRS.cjs.map +0 -7
  262. package/dist/lib/node/chunk-5VF5JKUN.cjs.map +0 -7
  263. package/dist/lib/node/chunk-BUQOZA4N.cjs.map +0 -7
  264. package/dist/lib/node/chunk-DNLBVFR7.cjs +0 -147
  265. package/dist/lib/node/chunk-DNLBVFR7.cjs.map +0 -7
  266. package/dist/lib/node/chunk-TWDGP26W.cjs +0 -172
  267. package/dist/lib/node/chunk-TWDGP26W.cjs.map +0 -7
  268. package/dist/lib/node/chunk-VEGLN4YN.cjs +0 -250
  269. package/dist/lib/node/chunk-VEGLN4YN.cjs.map +0 -7
  270. package/dist/lib/node/chunk-Z2YFE5SJ.cjs +0 -49
  271. package/dist/lib/node/chunk-Z2YFE5SJ.cjs.map +0 -7
  272. package/dist/lib/node/intent-resolver-TBHYXBDI.cjs.map +0 -7
  273. package/dist/lib/node/react-surface-BVUZMKYS.cjs.map +0 -7
  274. package/dist/lib/node-esm/AssistantPanel-XSSKKCJY.mjs +0 -341
  275. package/dist/lib/node-esm/AssistantPanel-XSSKKCJY.mjs.map +0 -7
  276. package/dist/lib/node-esm/AutomationPanel-GQZZ4UBI.mjs +0 -132
  277. package/dist/lib/node-esm/AutomationPanel-GQZZ4UBI.mjs.map +0 -7
  278. package/dist/lib/node-esm/ChatContainer-57ILGC3R.mjs +0 -301
  279. package/dist/lib/node-esm/ChatContainer-57ILGC3R.mjs.map +0 -7
  280. package/dist/lib/node-esm/app-graph-builder-5N7OK23B.mjs.map +0 -7
  281. package/dist/lib/node-esm/chunk-5QUXIXNB.mjs +0 -227
  282. package/dist/lib/node-esm/chunk-5QUXIXNB.mjs.map +0 -7
  283. package/dist/lib/node-esm/chunk-ICHNUP5M.mjs +0 -119
  284. package/dist/lib/node-esm/chunk-ICHNUP5M.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-JCYVS5GG.mjs +0 -76
  286. package/dist/lib/node-esm/chunk-JCYVS5GG.mjs.map +0 -7
  287. package/dist/lib/node-esm/chunk-L2B6VGMG.mjs +0 -16
  288. package/dist/lib/node-esm/chunk-L2B6VGMG.mjs.map +0 -7
  289. package/dist/lib/node-esm/chunk-U7HXYMPZ.mjs +0 -141
  290. package/dist/lib/node-esm/chunk-U7HXYMPZ.mjs.map +0 -7
  291. package/dist/lib/node-esm/chunk-X3LPRWIL.mjs.map +0 -7
  292. package/dist/lib/node-esm/intent-resolver-DPJJHFGK.mjs +0 -25
  293. package/dist/lib/node-esm/intent-resolver-DPJJHFGK.mjs.map +0 -7
  294. package/dist/lib/node-esm/react-surface-77S6XJOM.mjs.map +0 -7
  295. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +0 -8
  296. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +0 -1
  297. package/dist/types/src/components/AssistantPanel/index.d.ts +0 -3
  298. package/dist/types/src/components/AssistantPanel/index.d.ts.map +0 -1
  299. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +0 -6
  300. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +0 -1
  301. package/dist/types/src/components/ChatContainer.d.ts +0 -8
  302. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  303. package/dist/types/src/testing/testing.d.ts.map +0 -1
  304. package/src/components/AssistantPanel/AssistantPanel.tsx +0 -232
  305. package/src/components/AssistantPanel/index.ts +0 -7
  306. package/src/components/AssistantPanel/system-instructions.ts +0 -166
  307. package/src/components/ChatContainer.tsx +0 -80
  308. /package/dist/lib/browser/{chunk-HZ4TA7HY.mjs.map → chunk-2H2EUYXL.mjs.map} +0 -0
  309. /package/dist/lib/node/{chunk-ZS5RZ7RM.cjs.map → chunk-U5Z7LFWB.cjs.map} +0 -0
  310. /package/dist/lib/node-esm/{chunk-ISYLEDVU.mjs.map → chunk-IJRTDSKN.mjs.map} +0 -0
  311. /package/src/testing/{testing.ts → test-functions.ts} +0 -0
@@ -1,300 +0,0 @@
1
- import "./chunk-JSNPW6JF.mjs";
2
- import {
3
- Thread
4
- } from "./chunk-YZF3SDZL.mjs";
5
- import {
6
- AutomationCapabilities
7
- } from "./chunk-HZ4TA7HY.mjs";
8
- import "./chunk-HKX3D3ZP.mjs";
9
-
10
- // packages/plugins/experimental/plugin-automation/src/components/ChatContainer.tsx
11
- import React, { useCallback, useMemo } from "react";
12
- import { Capabilities, useCapabilities, useCapability, useIntentDispatcher } from "@dxos/app-framework";
13
- import { createSystemPrompt } from "@dxos/artifact";
14
- import { DXN as DXN2, QueueSubspaceTags } from "@dxos/keys";
15
- import { getSpace } from "@dxos/react-client/echo";
16
- import { useEdgeClient, useQueue } from "@dxos/react-edge-client";
17
- import { StackItem } from "@dxos/react-ui-stack";
18
-
19
- // packages/plugins/experimental/plugin-automation/src/hooks/processor.ts
20
- import { computed, signal } from "@preact/signals-core";
21
- import { Message } from "@dxos/artifact";
22
- import { isToolUse, runTools } from "@dxos/assistant";
23
- import { createStatic } from "@dxos/echo-schema";
24
- import { invariant } from "@dxos/invariant";
25
- import { log } from "@dxos/log";
26
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-automation/src/hooks/processor.ts";
27
- var defaultOptions = {
28
- model: "@anthropic/claude-3-5-sonnet-20241022",
29
- systemPrompt: ""
30
- };
31
- var ChatProcessor = class {
32
- constructor(_client, _tools, _extensions, _options = defaultOptions) {
33
- this._client = _client;
34
- this._tools = _tools;
35
- this._extensions = _extensions;
36
- this._options = _options;
37
- this._history = [];
38
- this._pending = signal([]);
39
- this._streaming = signal([]);
40
- }
41
- get isStreaming() {
42
- return computed(() => this._pending.value.length > 0);
43
- }
44
- get messages() {
45
- return computed(() => [
46
- ...this._pending.value,
47
- ...this._streaming.value
48
- ]);
49
- }
50
- /**
51
- * Make GPT request.
52
- */
53
- async request(message, history = []) {
54
- log.info("requesting...", {
55
- message,
56
- history: history.length
57
- }, {
58
- F: __dxlog_file,
59
- L: 73,
60
- S: this,
61
- C: (f, a) => f(...a)
62
- });
63
- this._history = history;
64
- this._pending.value = [
65
- createStatic(Message, {
66
- role: "user",
67
- content: [
68
- {
69
- type: "text",
70
- text: message
71
- }
72
- ]
73
- })
74
- ];
75
- this._streaming.value = [];
76
- await this.generate();
77
- return this._reset();
78
- }
79
- /**
80
- * Cancel pending requests.
81
- * @returns Pending requests (incl. the request message).
82
- */
83
- async cancel() {
84
- log.info("cancelling...", void 0, {
85
- F: __dxlog_file,
86
- L: 92,
87
- S: this,
88
- C: (f, a) => f(...a)
89
- });
90
- this._response?.abort();
91
- return this._reset();
92
- }
93
- async _reset() {
94
- const pending = this._pending.value;
95
- this._history = [];
96
- this._pending.value = [];
97
- this._streaming.value = [];
98
- return pending;
99
- }
100
- async generate() {
101
- try {
102
- let more = false;
103
- do {
104
- log.info("requesting...", {
105
- history: this._history.length,
106
- pending: this._pending.value.length
107
- }, {
108
- F: __dxlog_file,
109
- L: 109,
110
- S: this,
111
- C: (f, a) => f(...a)
112
- });
113
- this._response = await this._client.generate({
114
- ...this._options,
115
- // TODO(burdon): Rename messages or separate history/message.
116
- history: [
117
- ...this._history,
118
- ...this._pending.value
119
- ],
120
- tools: this._tools
121
- });
122
- queueMicrotask(async () => {
123
- invariant(this._response, void 0, {
124
- F: __dxlog_file,
125
- L: 119,
126
- S: this,
127
- A: [
128
- "this._response",
129
- ""
130
- ]
131
- });
132
- for await (const event of this._response) {
133
- log.info("event", {
134
- event: event.type
135
- }, {
136
- F: __dxlog_file,
137
- L: 121,
138
- S: this,
139
- C: (f, a) => f(...a)
140
- });
141
- this._streaming.value = this._response.accumulatedMessages.map((message) => createStatic(Message, message));
142
- }
143
- });
144
- const messages = await this._response.complete();
145
- log.info("response", {
146
- messages: messages.length
147
- }, {
148
- F: __dxlog_file,
149
- L: 128,
150
- S: this,
151
- C: (f, a) => f(...a)
152
- });
153
- this._pending.value.push(...messages.map((message) => createStatic(Message, message)));
154
- this._streaming.value = [];
155
- more = false;
156
- if (messages.length > 0 && isToolUse(messages.at(-1))) {
157
- log.info("tool request...", void 0, {
158
- F: __dxlog_file,
159
- L: 135,
160
- S: this,
161
- C: (f, a) => f(...a)
162
- });
163
- const response = await runTools({
164
- message: messages.at(-1),
165
- tools: this._tools ?? [],
166
- extensions: this._extensions
167
- });
168
- log.info("tool response", {
169
- response
170
- }, {
171
- F: __dxlog_file,
172
- L: 142,
173
- S: this,
174
- C: (f, a) => f(...a)
175
- });
176
- switch (response.type) {
177
- case "continue": {
178
- this._pending.value.push(response.message);
179
- more = true;
180
- break;
181
- }
182
- }
183
- }
184
- } while (more);
185
- } catch (err) {
186
- log.catch("request failed", {
187
- err
188
- }, {
189
- F: __dxlog_file,
190
- L: 154,
191
- S: this,
192
- C: (f, a) => f(...a)
193
- });
194
- } finally {
195
- log.info("done", void 0, {
196
- F: __dxlog_file,
197
- L: 156,
198
- S: this,
199
- C: (f, a) => f(...a)
200
- });
201
- this._response = void 0;
202
- this._streaming.value = [];
203
- }
204
- }
205
- };
206
-
207
- // packages/plugins/experimental/plugin-automation/src/hooks/useLocalTriggerManager.ts
208
- import { useEffect, useState } from "react";
209
- import { Mutex } from "@dxos/async";
210
- import { Context } from "@dxos/context";
211
- import { createSubscriptionTrigger } from "@dxos/functions";
212
- import { FunctionTrigger } from "@dxos/functions";
213
- import { invariant as invariant3 } from "@dxos/invariant";
214
- import { log as log3 } from "@dxos/log";
215
- import { useClient } from "@dxos/react-client";
216
- import { Filter, useQuery } from "@dxos/react-client/echo";
217
-
218
- // packages/plugins/experimental/plugin-automation/src/hooks/invocation-handler.ts
219
- import { sleep } from "@dxos/async";
220
- import { getObjectCore, ResultFormat } from "@dxos/echo-db";
221
- import { FunctionType } from "@dxos/functions";
222
- import { invariant as invariant2 } from "@dxos/invariant";
223
- import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
224
- import { log as log2 } from "@dxos/log";
225
-
226
- // packages/plugins/experimental/plugin-automation/src/hooks/useLocalTriggerManager.ts
227
- var registerTriggersMutex = new Mutex();
228
-
229
- // packages/plugins/experimental/plugin-automation/src/components/ChatContainer.tsx
230
- var ChatContainer = ({ chat, role }) => {
231
- const edgeClient = useEdgeClient();
232
- const { dispatchPromise: dispatch } = useIntentDispatcher();
233
- const space = getSpace(chat);
234
- const aiClient = useCapability(AutomationCapabilities.AiClient);
235
- const artifactDefinitions = useCapabilities(Capabilities.ArtifactDefinition);
236
- const globalTools = useCapabilities(Capabilities.Tools);
237
- const tools = useMemo(() => [
238
- ...globalTools.flat(),
239
- ...artifactDefinitions.flatMap((definition) => definition.tools)
240
- ], [
241
- globalTools,
242
- artifactDefinitions
243
- ]);
244
- const systemPrompt = useMemo(() => createSystemPrompt({
245
- artifacts: artifactDefinitions.map((definition) => definition.instructions)
246
- }), [
247
- artifactDefinitions
248
- ]);
249
- const processor = useMemo(() => new ChatProcessor(aiClient, tools, {
250
- space,
251
- dispatch
252
- }, {
253
- model: "@anthropic/claude-3-5-sonnet-20241022",
254
- systemPrompt
255
- }), [
256
- aiClient,
257
- tools,
258
- space,
259
- systemPrompt
260
- ]);
261
- const queueDxn = useMemo(() => new DXN2(DXN2.kind.QUEUE, [
262
- QueueSubspaceTags.DATA,
263
- space.id,
264
- chat.queue.dxn.parts.at(-1)
265
- ]), [
266
- chat.queue.dxn
267
- ]);
268
- const queue = useQueue(edgeClient, queueDxn);
269
- const messages = useMemo(() => [
270
- ...queue.items,
271
- ...processor.messages.value
272
- ], [
273
- queue.items,
274
- processor.messages.value
275
- ]);
276
- const handleSubmit = useCallback(async (message) => {
277
- if (processor.isStreaming) {
278
- await processor.cancel();
279
- }
280
- const messages2 = await processor.request(message, queue.items);
281
- await queue.append(messages2);
282
- }, [
283
- processor,
284
- queue
285
- ]);
286
- return /* @__PURE__ */ React.createElement(StackItem.Content, {
287
- toolbar: false,
288
- role
289
- }, /* @__PURE__ */ React.createElement(Thread, {
290
- messages,
291
- streaming: processor.isStreaming.value,
292
- onSubmit: handleSubmit
293
- }));
294
- };
295
- var ChatContainer_default = ChatContainer;
296
- export {
297
- ChatContainer,
298
- ChatContainer_default as default
299
- };
300
- //# sourceMappingURL=ChatContainer-SIAJFRFF.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/ChatContainer.tsx", "../../../src/hooks/processor.ts", "../../../src/hooks/useLocalTriggerManager.ts", "../../../src/hooks/invocation-handler.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Capabilities, useCapabilities, useCapability, useIntentDispatcher } from '@dxos/app-framework';\nimport { createSystemPrompt, type Message } from '@dxos/artifact';\nimport { DXN, QueueSubspaceTags } from '@dxos/keys';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useEdgeClient, useQueue } from '@dxos/react-edge-client';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { Thread } from './Thread';\nimport { AutomationCapabilities } from '../capabilities';\nimport { ChatProcessor } from '../hooks';\nimport { type GptChatType } from '../types';\n\nexport const ChatContainer = ({ chat, role }: { chat: GptChatType; role: string }) => {\n const edgeClient = useEdgeClient();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(chat);\n const aiClient = useCapability(AutomationCapabilities.AiClient);\n const artifactDefinitions = useCapabilities(Capabilities.ArtifactDefinition);\n const globalTools = useCapabilities(Capabilities.Tools);\n const tools = useMemo(\n () => [...globalTools.flat(), ...artifactDefinitions.flatMap((definition) => definition.tools)],\n [globalTools, artifactDefinitions],\n );\n const systemPrompt = useMemo(\n () => createSystemPrompt({ artifacts: artifactDefinitions.map((definition) => definition.instructions) }),\n [artifactDefinitions],\n );\n\n // TODO(burdon): Create hook.\n // TODO(wittjosiah): Should these be created in the component?\n // TODO(zan): Combine with ai service client?\n const processor = useMemo(\n () =>\n new ChatProcessor(\n aiClient,\n tools,\n { space, dispatch },\n { model: '@anthropic/claude-3-5-sonnet-20241022', systemPrompt },\n ),\n [aiClient, tools, space, systemPrompt],\n );\n // TODO(wittjosiah): Remove transformation.\n const queueDxn = useMemo(\n () => new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, space!.id, chat.queue.dxn.parts.at(-1)!]),\n [chat.queue.dxn],\n );\n const queue = useQueue<Message>(edgeClient, queueDxn);\n const messages = useMemo(\n () => [...queue.items, ...processor.messages.value],\n [queue.items, processor.messages.value],\n );\n\n const handleSubmit = useCallback(\n async (message: string) => {\n // TODO(burdon): Button to cancel. Otherwise queue request.\n if (processor.isStreaming) {\n await processor.cancel();\n }\n\n const messages = await processor.request(message, queue.items);\n // TODO(burdon): Append on success only? If approved by user? Clinet/server.\n await queue.append(messages);\n },\n [processor, queue],\n );\n\n return (\n <StackItem.Content toolbar={false} role={role}>\n <Thread messages={messages} streaming={processor.isStreaming.value} onSubmit={handleSubmit} />\n </StackItem.Content>\n );\n};\n\nexport default ChatContainer;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ReadonlySignal, type Signal, computed, signal } from '@preact/signals-core';\n\nimport { type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { type Tool, Message } from '@dxos/artifact';\nimport {\n type AIServiceClientImpl,\n type GenerateRequest,\n type GenerationStream,\n isToolUse,\n runTools,\n} from '@dxos/assistant';\nimport { createStatic } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\n\nconst defaultOptions: Pick<GenerateRequest, 'model' | 'systemPrompt'> = {\n model: '@anthropic/claude-3-5-sonnet-20241022',\n systemPrompt: '',\n};\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n/**\n * Handles interactions with an AI service.\n * Manages message history, and executes tools based on AI responses.\n * Maintains a queue of messages and handles streaming responses from the AI service.\n * Supports cancellation of in-progress requests.\n */\n// TODO(burdon): Tests.\nexport class ChatProcessor {\n /** Prior history from queue. */\n private _history: Message[] = [];\n\n /** Pending messages (incl. the initial user message). */\n private _pending: Signal<Message[]> = signal([]);\n\n /** Streaming messages (from the AI service). */\n private _streaming: Signal<Message[]> = signal([]);\n\n /** Current streaming response. */\n private _response: GenerationStream | undefined;\n\n constructor(\n private readonly _client: AIServiceClientImpl,\n private readonly _tools?: Tool[],\n private readonly _extensions?: ToolContextExtensions,\n private readonly _options: Pick<GenerateRequest, 'model' | 'systemPrompt'> = defaultOptions,\n ) {}\n\n get isStreaming(): ReadonlySignal<boolean> {\n return computed(() => this._pending.value.length > 0);\n }\n\n get messages(): ReadonlySignal<Message[]> {\n return computed(() => [...this._pending.value, ...this._streaming.value]);\n }\n\n /**\n * Make GPT request.\n */\n async request(message: string, history: Message[] = []): Promise<Message[]> {\n log.info('requesting...', { message, history: history.length });\n this._history = history;\n this._pending.value = [\n createStatic(Message, {\n role: 'user',\n content: [{ type: 'text', text: message }],\n }),\n ];\n this._streaming.value = [];\n\n await this.generate();\n return this._reset();\n }\n\n /**\n * Cancel pending requests.\n * @returns Pending requests (incl. the request message).\n */\n async cancel(): Promise<Message[]> {\n log.info('cancelling...');\n this._response?.abort();\n return this._reset();\n }\n\n private async _reset(): Promise<Message[]> {\n const pending = this._pending.value;\n this._history = [];\n this._pending.value = [];\n this._streaming.value = [];\n return pending;\n }\n\n private async generate() {\n try {\n let more = false;\n do {\n log.info('requesting...', { history: this._history.length, pending: this._pending.value.length });\n this._response = await this._client.generate({\n ...this._options,\n // TODO(burdon): Rename messages or separate history/message.\n history: [...this._history, ...this._pending.value],\n tools: this._tools,\n });\n\n // Process the stream.\n queueMicrotask(async () => {\n invariant(this._response);\n for await (const event of this._response) {\n log.info('event', { event: event.type });\n this._streaming.value = this._response.accumulatedMessages.map((message) => createStatic(Message, message));\n }\n });\n\n // Update pending messages.\n const messages = await this._response.complete();\n log.info('response', { messages: messages.length });\n this._pending.value.push(...messages.map((message) => createStatic(Message, message)));\n this._streaming.value = [];\n\n // Resolve tool use locally.\n more = false;\n if (messages.length > 0 && isToolUse(messages.at(-1)!)) {\n log.info('tool request...');\n const response = await runTools({\n message: messages.at(-1)!,\n tools: this._tools ?? [],\n extensions: this._extensions,\n });\n\n log.info('tool response', { response });\n switch (response.type) {\n case 'continue': {\n this._pending.value.push(response.message);\n more = true;\n break;\n }\n }\n }\n } while (more);\n } catch (err) {\n // TODO(burdon): Handle error.\n log.catch('request failed', { err });\n } finally {\n log.info('done');\n this._response = undefined;\n this._streaming.value = [];\n }\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { Mutex } from '@dxos/async';\nimport { Context } from '@dxos/context';\nimport { createSubscriptionTrigger, type TriggerFactory } from '@dxos/functions';\nimport { FunctionTrigger } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, type Space, useQuery } from '@dxos/react-client/echo';\n\nimport { invokeFunction } from './invocation-handler';\n\nconst registerTriggersMutex = new Mutex();\n\nexport const useLocalTriggerManager = (space: Space) => {\n const client = useClient();\n\n // TODO(burdon): Factor out, creating context for plugin (runs outside of component).\n const [registry] = useState(new Map<string, Context>());\n const triggers = useQuery(space, Filter.schema(FunctionTrigger));\n useEffect(() => {\n setTimeout(async () => {\n // Mark-and-sweep removing disabled triggers.\n await registerTriggersMutex.executeSynchronized(async () => {\n const deprecated = new Set(Array.from(registry.keys()));\n log('triggers', {\n deprecated,\n all: triggers.map((t) => t.id),\n enabled: triggers.filter((t) => t.enabled).map((t) => t.id),\n });\n\n for (const trigger of triggers) {\n if (trigger.enabled) {\n if (registry.has(trigger.id)) {\n deprecated.delete(trigger.id);\n continue;\n }\n log.info('activating trigger', trigger.id);\n\n const ctx = new Context();\n registry.set(trigger.id, ctx);\n const triggerSpec = trigger.spec;\n invariant(triggerSpec);\n\n let triggerFactory: TriggerFactory<any>;\n if (triggerSpec.type === 'subscription') {\n triggerFactory = createSubscriptionTrigger;\n } else {\n log.info('unsupported trigger', { type: triggerSpec.type });\n continue;\n }\n\n await triggerFactory(ctx, space, trigger.spec, (data: any) => {\n return invokeFunction(client, space, trigger, data);\n });\n }\n }\n\n for (const id of deprecated) {\n const ctx = registry.get(id);\n if (ctx) {\n await ctx.dispose();\n registry.delete(id);\n }\n }\n });\n });\n }, [JSON.stringify(triggers)]);\n\n useEffect(() => {\n return () => {\n for (const ctx of registry.values()) {\n void ctx.dispose();\n }\n };\n }, []);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { sleep } from '@dxos/async';\nimport { getObjectCore, ResultFormat } from '@dxos/echo-db';\nimport { type AnyObjectData } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\nimport { type FunctionTrigger } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { DXN, LOCAL_SPACE_TAG } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Client, type Config } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nconst MAX_RETRIES = 3;\nconst RETRY_DELAY = 1_000;\n\nconst callFunction = async (funcUrl: string, trigger: any, data: any) => {\n const body = { event: 'trigger', trigger, data };\n\n let retryCount = 0;\n while (retryCount < MAX_RETRIES) {\n log.info('exec', { funcUrl, body, retryCount });\n const response = await fetch(funcUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n });\n\n const data = await response.text();\n log.info('response', { status: response.status, body: data });\n if (response.status === 409) {\n retryCount++;\n await sleep(RETRY_DELAY * Math.min(retryCount, 2));\n continue;\n }\n\n return { status: response.status, data };\n }\n return { status: 500 };\n};\n\nexport const invokeFunction = async (client: Client, space: Space, trigger: FunctionTrigger, data: any) => {\n try {\n invariant(trigger.spec);\n invariant(trigger.function);\n\n const script = await space.db.query({ id: trigger.function }, { format: ResultFormat.Plain }).first();\n const { objects: functions } = await space.db\n .query({ __typename: FunctionType.typename }, { format: ResultFormat.Plain })\n .run();\n const func = functions.find((fn) => referenceEquals(fn.source, trigger.function!)) as AnyObjectData | undefined;\n const funcSlug = func?.__meta.keys.find((key) => key.source === USERFUNCTIONS_META_KEY)?.id;\n if (!funcSlug) {\n log.warn('function not deployed', { scriptId: script.id, name: script.name });\n return 404;\n }\n\n const funcUrl = getFunctionUrl(client.config, funcSlug, space.id);\n const triggerData: AnyObjectData = {\n ...getObjectCore(trigger).toPlainObject(),\n // TODO: Remove when functions can query by DXN.\n promptId: trigger.meta?.prompt?.id,\n };\n // TODO: Remove when functions can add objects and easily modify collections (push, splice).\n return (await callFunction(funcUrl, triggerData, data)).status;\n } catch (err) {\n return 400;\n }\n};\n\nconst USERFUNCTIONS_META_KEY = 'dxos.org/service/function';\n\nconst getFunctionUrl = (config: Config, slug: string, spaceId?: string) => {\n const baseUrl = new URL('functions/', config.values.runtime?.services?.edge?.url);\n\n // Leading slashes cause the URL to be treated as an absolute path.\n const relativeUrl = slug.replace(/^\\//, '');\n const url = new URL(`./${relativeUrl}`, baseUrl.toString());\n spaceId && url.searchParams.set('spaceId', spaceId);\n url.protocol = 'https';\n return url.toString();\n};\n\n// TODO(dmaretskyi): Factor out.\n\ntype ReferenceLike = { '/': string } | string;\n\nconst referenceEquals = (a: ReferenceLike, b: ReferenceLike): boolean => {\n const aDXN = toDXN(a);\n const bDXN = toDXN(b);\n return aDXN.toString() === bDXN.toString();\n};\n\nconst toDXN = (ref: ReferenceLike): DXN => {\n if (typeof ref === 'string') {\n if (ref.startsWith('dxn:')) {\n return DXN.parse(ref);\n } else {\n return new DXN(DXN.kind.ECHO, [LOCAL_SPACE_TAG, ref]);\n }\n }\n\n invariant(typeof ref['/'] === 'string');\n return DXN.parse(ref['/']);\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useMemo", "Capabilities", "useCapabilities", "useCapability", "useIntentDispatcher", "createSystemPrompt", "DXN", "QueueSubspaceTags", "getSpace", "useEdgeClient", "useQueue", "StackItem", "computed", "signal", "Message", "isToolUse", "runTools", "createStatic", "invariant", "log", "defaultOptions", "model", "systemPrompt", "ChatProcessor", "constructor", "_client", "_tools", "_extensions", "_options", "_history", "_pending", "_streaming", "isStreaming", "value", "length", "messages", "request", "message", "history", "info", "role", "content", "type", "text", "generate", "_reset", "cancel", "_response", "abort", "pending", "more", "tools", "queueMicrotask", "event", "accumulatedMessages", "map", "complete", "push", "at", "response", "extensions", "err", "catch", "undefined", "useEffect", "useState", "Mutex", "Context", "createSubscriptionTrigger", "FunctionTrigger", "invariant", "log", "useClient", "Filter", "useQuery", "sleep", "getObjectCore", "ResultFormat", "FunctionType", "invariant", "DXN", "LOCAL_SPACE_TAG", "log", "registerTriggersMutex", "Mutex", "ChatContainer", "chat", "role", "edgeClient", "useEdgeClient", "dispatchPromise", "dispatch", "useIntentDispatcher", "space", "getSpace", "aiClient", "useCapability", "AutomationCapabilities", "AiClient", "artifactDefinitions", "useCapabilities", "Capabilities", "ArtifactDefinition", "globalTools", "Tools", "tools", "useMemo", "flat", "flatMap", "definition", "systemPrompt", "createSystemPrompt", "artifacts", "map", "instructions", "processor", "ChatProcessor", "model", "queueDxn", "DXN", "kind", "QUEUE", "QueueSubspaceTags", "DATA", "id", "queue", "dxn", "parts", "at", "useQueue", "messages", "items", "value", "handleSubmit", "useCallback", "message", "isStreaming", "cancel", "request", "append", "StackItem", "Content", "toolbar", "Thread", "streaming", "onSubmit"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { getTypename, parseId, SpaceState } from '@dxos/react-client/echo';\n\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${AUTOMATION_PLUGIN}/automation-for-subject`,\n resolver: ({ id }) => {\n if (!id.endsWith('~automation')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--magic-wand--regular';\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: AUTOMATION_PLUGIN }]\n : ['unnamed object settings label', { ns: AUTOMATION_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: AUTOMATION_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n createExtension({\n id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one). Effect schema!!\n if (!id.endsWith('~assistant')) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n // TODO(wittjosiah): Support assistant for arbitrary subjects.\n // This is to ensure that the assistant panel is not stuck on an old object.\n return {\n id,\n type: 'orphan-automation-for-subject',\n data: null,\n properties: {\n icon: 'ph--atom--regular',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n\n return {\n id,\n type: 'orphan-automation-for-subject',\n data: null,\n properties: {\n icon: 'ph--atom--regular',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Capabilities", "contributes", "ClientCapabilities", "createExtension", "toSignal", "memoizeQuery", "getTypename", "parseId", "SpaceState", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "AppGraphBuilder", "createExtension", "AUTOMATION_PLUGIN", "resolver", "endsWith", "type", "icon", "client", "requestCapability", "ClientCapabilities", "Client", "subjectId", "split", "spaceId", "objectId", "parseId", "spaces", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "space", "state", "SpaceState", "SPACE_READY", "label", "properties", "name", "ns", "data", "showResolvedThreads", "object", "memoizeQuery", "meta", "getTypename", "placeholder"]
7
- }
@@ -1,75 +0,0 @@
1
- import {
2
- AUTOMATION_PLUGIN
3
- } from "./chunk-HKX3D3ZP.mjs";
4
-
5
- // packages/plugins/experimental/plugin-automation/src/types/schema.ts
6
- import { Expando, Ref, S, TypedObject } from "@dxos/echo-schema";
7
- var ChainInputType;
8
- (function(ChainInputType2) {
9
- ChainInputType2[ChainInputType2["VALUE"] = 0] = "VALUE";
10
- ChainInputType2[ChainInputType2["PASS_THROUGH"] = 1] = "PASS_THROUGH";
11
- ChainInputType2[ChainInputType2["RETRIEVER"] = 2] = "RETRIEVER";
12
- ChainInputType2[ChainInputType2["FUNCTION"] = 3] = "FUNCTION";
13
- ChainInputType2[ChainInputType2["QUERY"] = 4] = "QUERY";
14
- ChainInputType2[ChainInputType2["RESOLVER"] = 5] = "RESOLVER";
15
- ChainInputType2[ChainInputType2["CONTEXT"] = 6] = "CONTEXT";
16
- ChainInputType2[ChainInputType2["SCHEMA"] = 7] = "SCHEMA";
17
- })(ChainInputType || (ChainInputType = {}));
18
- var ChainInputSchema = S.mutable(S.Struct({
19
- name: S.String,
20
- type: S.optional(S.Enums(ChainInputType)),
21
- value: S.optional(S.String)
22
- }));
23
- var ChainPromptType = class extends TypedObject({
24
- typename: "dxos.org/type/ChainPrompt",
25
- version: "0.1.0"
26
- })({
27
- command: S.optional(S.String),
28
- template: S.String,
29
- inputs: S.optional(S.mutable(S.Array(ChainInputSchema)))
30
- }) {
31
- };
32
- var ChainType = class extends TypedObject({
33
- typename: "dxos.org/type/Chain",
34
- version: "0.1.0"
35
- })({
36
- name: S.optional(S.String),
37
- prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType))))
38
- }) {
39
- };
40
- var GptChatType = class extends TypedObject({
41
- typename: "dxos.org/type/GptChat",
42
- version: "0.1.0"
43
- })({
44
- name: S.optional(S.String),
45
- // TODO(wittjosiah): Should be a ref to a Queue.
46
- queue: Ref(Expando)
47
- }) {
48
- };
49
-
50
- // packages/plugins/experimental/plugin-automation/src/types/types.ts
51
- import { S as S2 } from "@dxos/echo-schema";
52
- var AutomationAction;
53
- (function(AutomationAction2) {
54
- const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;
55
- class Create extends S2.TaggedClass()(`${AUTOMATION_ACTION}/create`, {
56
- input: S2.Struct({
57
- name: S2.optional(S2.String)
58
- }),
59
- output: S2.Struct({
60
- object: GptChatType
61
- })
62
- }) {
63
- }
64
- AutomationAction2.Create = Create;
65
- })(AutomationAction || (AutomationAction = {}));
66
-
67
- export {
68
- ChainInputType,
69
- ChainInputSchema,
70
- ChainPromptType,
71
- ChainType,
72
- GptChatType,
73
- AutomationAction
74
- };
75
- //# sourceMappingURL=chunk-C3VRGDR6.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to S.Literal (and discriminated union).\nexport enum ChainInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n\nexport const ChainInputSchema = S.mutable(\n S.Struct({\n name: S.String,\n type: S.optional(S.Enums(ChainInputType)),\n value: S.optional(S.String),\n }),\n);\n\nexport type ChainInput = S.Schema.Type<typeof ChainInputSchema>;\n\nexport class ChainPromptType extends TypedObject({ typename: 'dxos.org/type/ChainPrompt', version: '0.1.0' })({\n command: S.optional(S.String),\n template: S.String,\n inputs: S.optional(S.mutable(S.Array(ChainInputSchema))),\n}) {}\n\nexport class ChainType extends TypedObject({ typename: 'dxos.org/type/Chain', version: '0.1.0' })({\n name: S.optional(S.String),\n prompts: S.optional(S.mutable(S.Array(Ref(ChainPromptType)))),\n}) {}\n\n// TODO(wittjosiah): Better name.\nexport class GptChatType extends TypedObject({ typename: 'dxos.org/type/GptChat', version: '0.1.0' })({\n name: S.optional(S.String),\n // TODO(wittjosiah): Should be a ref to a Queue.\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { GptChatType } from './schema';\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport namespace AutomationAction {\n const AUTOMATION_ACTION = `${AUTOMATION_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${AUTOMATION_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: GptChatType,\n }),\n }) {}\n}\n"],
5
- "mappings": ";;;;;AAIA,SAASA,SAASC,KAAKC,GAAGC,mBAAmB;;UAGjCC,iBAAAA;;;;;;;;;GAAAA,mBAAAA,iBAAAA,CAAAA,EAAAA;AAWL,IAAMC,mBAAmBC,EAAEC,QAChCD,EAAEE,OAAO;EACPC,MAAMH,EAAEI;EACRC,MAAML,EAAEM,SAASN,EAAEO,MAAMT,cAAAA,CAAAA;EACzBU,OAAOR,EAAEM,SAASN,EAAEI,MAAM;AAC5B,CAAA,CAAA;AAKK,IAAMK,kBAAN,cAA8BC,YAAY;EAAEC,UAAU;EAA6BC,SAAS;AAAQ,CAAA,EAAG;EAC5GC,SAASb,EAAEM,SAASN,EAAEI,MAAM;EAC5BU,UAAUd,EAAEI;EACZW,QAAQf,EAAEM,SAASN,EAAEC,QAAQD,EAAEgB,MAAMjB,gBAAAA,CAAAA,CAAAA;AACvC,CAAA,EAAA;AAAI;AAEG,IAAMkB,YAAN,cAAwBP,YAAY;EAAEC,UAAU;EAAuBC,SAAS;AAAQ,CAAA,EAAG;EAChGT,MAAMH,EAAEM,SAASN,EAAEI,MAAM;EACzBc,SAASlB,EAAEM,SAASN,EAAEC,QAAQD,EAAEgB,MAAMG,IAAIV,eAAAA,CAAAA,CAAAA,CAAAA;AAC5C,CAAA,EAAA;AAAI;AAGG,IAAMW,cAAN,cAA0BV,YAAY;EAAEC,UAAU;EAAyBC,SAAS;AAAQ,CAAA,EAAG;EACpGT,MAAMH,EAAEM,SAASN,EAAEI,MAAM;;EAEzBiB,OAAOF,IAAIG,OAAAA;AACb,CAAA,EAAA;AAAI;;;ACxCJ,SAASC,KAAAA,UAAS;;UAKDC,mBAAAA;AACf,QAAMC,oBAAoB,GAAGC,iBAAAA;EAEtB,MAAMC,eAAeC,GAAEC,YAAW,EAAW,GAAGJ,iBAAAA,WAA4B;IACjFK,OAAOF,GAAEG,OAAO;MACdC,MAAMJ,GAAEK,SAASL,GAAEM,MAAM;IAC3B,CAAA;IACAC,QAAQP,GAAEG,OAAO;MACfK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;oBAPSV,SAAAA;AAQf,GAXiBH,qBAAAA,mBAAAA,CAAAA,EAAAA;",
6
- "names": ["Expando", "Ref", "S", "TypedObject", "ChainInputType", "ChainInputSchema", "S", "mutable", "Struct", "name", "String", "type", "optional", "Enums", "value", "ChainPromptType", "TypedObject", "typename", "version", "command", "template", "inputs", "Array", "ChainType", "prompts", "Ref", "GptChatType", "queue", "Expando", "S", "AutomationAction", "AUTOMATION_ACTION", "AUTOMATION_PLUGIN", "Create", "S", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "GptChatType"]
7
- }