@dxos/plugin-automation 0.7.5-labs.ff2ff30 → 0.7.5-main.5ae2ba8

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 (317) hide show
  1. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs +132 -0
  2. package/dist/lib/browser/AutomationPanel-ITYXSN5Z.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-R4JH4TLE.mjs → chunk-OFDNNRLE.mjs} +3 -8
  4. package/dist/lib/browser/chunk-OFDNNRLE.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-U7QLNY2S.mjs +8 -0
  6. package/dist/lib/browser/chunk-U7QLNY2S.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-WY2C7JY4.mjs +119 -0
  8. package/dist/lib/browser/chunk-WY2C7JY4.mjs.map +7 -0
  9. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs +56 -0
  10. package/dist/lib/browser/complementary-panel-4CPOJL4Y.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +21 -377
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/react-surface-SAPMN4PF.mjs +27 -0
  15. package/dist/lib/browser/react-surface-SAPMN4PF.mjs.map +7 -0
  16. package/dist/lib/node/{chunk-QXIHYOMF.cjs → AutomationPanel-X33HHDMQ.cjs} +19 -132
  17. package/dist/lib/node/AutomationPanel-X33HHDMQ.cjs.map +7 -0
  18. package/dist/lib/node/chunk-7Q5SNGCL.cjs +148 -0
  19. package/dist/lib/node/chunk-7Q5SNGCL.cjs.map +7 -0
  20. package/dist/lib/node/chunk-CB5OB6JH.cjs +40 -0
  21. package/dist/lib/node/chunk-CB5OB6JH.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-EQYHOTGG.cjs → chunk-ORMEYEBE.cjs} +6 -12
  23. package/dist/lib/node/chunk-ORMEYEBE.cjs.map +7 -0
  24. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs +72 -0
  25. package/dist/lib/node/complementary-panel-ZYJJ42ZU.cjs.map +7 -0
  26. package/dist/lib/node/index.cjs +36 -378
  27. package/dist/lib/node/index.cjs.map +4 -4
  28. package/dist/lib/node/meta.json +1 -1
  29. package/dist/lib/node/{react-surface-LWDY7SQG.cjs → react-surface-2WRVAPGR.cjs} +9 -34
  30. package/dist/lib/node/react-surface-2WRVAPGR.cjs.map +7 -0
  31. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs +133 -0
  32. package/dist/lib/node-esm/AutomationPanel-HY3GB4BT.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-EMVA6QUT.mjs → chunk-6MUUH67V.mjs} +3 -8
  34. package/dist/lib/node-esm/chunk-6MUUH67V.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs +10 -0
  36. package/dist/lib/node-esm/chunk-R3P2WPBQ.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs +120 -0
  38. package/dist/lib/node-esm/chunk-UDD2VA6G.mjs.map +7 -0
  39. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs +57 -0
  40. package/dist/lib/node-esm/complementary-panel-S42RIIAY.mjs.map +7 -0
  41. package/dist/lib/node-esm/index.mjs +21 -377
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs +28 -0
  45. package/dist/lib/node-esm/react-surface-QWLPOYXO.mjs.map +7 -0
  46. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/{ai-client.d.ts → complementary-panel.d.ts} +2 -3
  48. package/dist/types/src/capabilities/complementary-panel.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +1 -180
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  52. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -2
  53. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  54. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -2
  56. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  57. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  58. package/dist/types/src/components/index.d.ts +1 -12
  59. package/dist/types/src/components/index.d.ts.map +1 -1
  60. package/dist/types/src/index.d.ts +1 -3
  61. package/dist/types/src/index.d.ts.map +1 -1
  62. package/dist/types/src/meta.d.ts +0 -2
  63. package/dist/types/src/meta.d.ts.map +1 -1
  64. package/dist/types/src/testing/index.d.ts +0 -1
  65. package/dist/types/src/testing/index.d.ts.map +1 -1
  66. package/dist/types/src/testing/test-functions.d.ts +0 -2
  67. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  68. package/dist/types/src/translations.d.ts +1 -94
  69. package/dist/types/src/translations.d.ts.map +1 -1
  70. package/package.json +23 -73
  71. package/src/AutomationPlugin.tsx +9 -64
  72. package/src/capabilities/complementary-panel.ts +56 -0
  73. package/src/capabilities/index.ts +1 -5
  74. package/src/capabilities/react-surface.tsx +3 -23
  75. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +1 -2
  76. package/src/components/AutomationPanel/AutomationPanel.tsx +56 -49
  77. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +1 -2
  78. package/src/components/index.ts +0 -8
  79. package/src/index.ts +2 -3
  80. package/src/meta.ts +1 -4
  81. package/src/testing/index.ts +0 -1
  82. package/src/testing/test-functions.ts +0 -7
  83. package/src/translations.ts +1 -29
  84. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs +0 -8
  85. package/dist/lib/browser/AutomationPanel-VW2XIUPU.mjs.map +0 -7
  86. package/dist/lib/browser/ChatContainer-5TAVTN3T.mjs +0 -12
  87. package/dist/lib/browser/ChatContainer-5TAVTN3T.mjs.map +0 -7
  88. package/dist/lib/browser/ai-client-5CNY6JBF.mjs +0 -22
  89. package/dist/lib/browser/ai-client-5CNY6JBF.mjs.map +0 -7
  90. package/dist/lib/browser/app-graph-builder-FZGK55G7.mjs +0 -197
  91. package/dist/lib/browser/app-graph-builder-FZGK55G7.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-2H2EUYXL.mjs +0 -15
  93. package/dist/lib/browser/chunk-2H2EUYXL.mjs.map +0 -7
  94. package/dist/lib/browser/chunk-DVE33EZL.mjs +0 -1602
  95. package/dist/lib/browser/chunk-DVE33EZL.mjs.map +0 -7
  96. package/dist/lib/browser/chunk-MJK7GL5P.mjs +0 -307
  97. package/dist/lib/browser/chunk-MJK7GL5P.mjs.map +0 -7
  98. package/dist/lib/browser/chunk-NQFZ6XRX.mjs +0 -243
  99. package/dist/lib/browser/chunk-NQFZ6XRX.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-Q4IMHYGH.mjs +0 -150
  101. package/dist/lib/browser/chunk-Q4IMHYGH.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-R4JH4TLE.mjs.map +0 -7
  103. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs +0 -29
  104. package/dist/lib/browser/intent-resolver-BWAXKT27.mjs.map +0 -7
  105. package/dist/lib/browser/react-surface-ILBDBZCN.mjs +0 -58
  106. package/dist/lib/browser/react-surface-ILBDBZCN.mjs.map +0 -7
  107. package/dist/lib/browser/types/index.mjs +0 -24
  108. package/dist/lib/browser/types/index.mjs.map +0 -7
  109. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs +0 -26
  110. package/dist/lib/node/AutomationPanel-G6EDDYWW.cjs.map +0 -7
  111. package/dist/lib/node/ChatContainer-EN24W3K4.cjs +0 -33
  112. package/dist/lib/node/ChatContainer-EN24W3K4.cjs.map +0 -7
  113. package/dist/lib/node/ai-client-FKLPDELV.cjs +0 -38
  114. package/dist/lib/node/ai-client-FKLPDELV.cjs.map +0 -7
  115. package/dist/lib/node/app-graph-builder-T76NYV42.cjs +0 -212
  116. package/dist/lib/node/app-graph-builder-T76NYV42.cjs.map +0 -7
  117. package/dist/lib/node/chunk-CJGJXNY3.cjs +0 -1586
  118. package/dist/lib/node/chunk-CJGJXNY3.cjs.map +0 -7
  119. package/dist/lib/node/chunk-EQYHOTGG.cjs.map +0 -7
  120. package/dist/lib/node/chunk-GB7245FH.cjs +0 -173
  121. package/dist/lib/node/chunk-GB7245FH.cjs.map +0 -7
  122. package/dist/lib/node/chunk-HMBKP6VG.cjs +0 -324
  123. package/dist/lib/node/chunk-HMBKP6VG.cjs.map +0 -7
  124. package/dist/lib/node/chunk-QXIHYOMF.cjs.map +0 -7
  125. package/dist/lib/node/chunk-U5Z7LFWB.cjs +0 -34
  126. package/dist/lib/node/chunk-U5Z7LFWB.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-C6OKFVEW.cjs +0 -44
  128. package/dist/lib/node/intent-resolver-C6OKFVEW.cjs.map +0 -7
  129. package/dist/lib/node/react-surface-LWDY7SQG.cjs.map +0 -7
  130. package/dist/lib/node/types/index.cjs +0 -46
  131. package/dist/lib/node/types/index.cjs.map +0 -7
  132. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs +0 -9
  133. package/dist/lib/node-esm/AutomationPanel-V3IWQAMO.mjs.map +0 -7
  134. package/dist/lib/node-esm/ChatContainer-CNTY3C2D.mjs +0 -13
  135. package/dist/lib/node-esm/ChatContainer-CNTY3C2D.mjs.map +0 -7
  136. package/dist/lib/node-esm/ai-client-XGNA6SJ5.mjs +0 -23
  137. package/dist/lib/node-esm/ai-client-XGNA6SJ5.mjs.map +0 -7
  138. package/dist/lib/node-esm/app-graph-builder-IJQEN7WT.mjs +0 -198
  139. package/dist/lib/node-esm/app-graph-builder-IJQEN7WT.mjs.map +0 -7
  140. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs +0 -244
  141. package/dist/lib/node-esm/chunk-6HLBYDUI.mjs.map +0 -7
  142. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs +0 -151
  143. package/dist/lib/node-esm/chunk-DNCXRGAF.mjs.map +0 -7
  144. package/dist/lib/node-esm/chunk-EMVA6QUT.mjs.map +0 -7
  145. package/dist/lib/node-esm/chunk-IJRTDSKN.mjs +0 -16
  146. package/dist/lib/node-esm/chunk-IJRTDSKN.mjs.map +0 -7
  147. package/dist/lib/node-esm/chunk-QP47VJT6.mjs +0 -1603
  148. package/dist/lib/node-esm/chunk-QP47VJT6.mjs.map +0 -7
  149. package/dist/lib/node-esm/chunk-ZLIAMW45.mjs +0 -308
  150. package/dist/lib/node-esm/chunk-ZLIAMW45.mjs.map +0 -7
  151. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs +0 -30
  152. package/dist/lib/node-esm/intent-resolver-DCP4ZDBA.mjs.map +0 -7
  153. package/dist/lib/node-esm/react-surface-SBDXFVIN.mjs +0 -59
  154. package/dist/lib/node-esm/react-surface-SBDXFVIN.mjs.map +0 -7
  155. package/dist/lib/node-esm/types/index.mjs +0 -25
  156. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  157. package/dist/types/src/artifacts.stories.d.ts +0 -16
  158. package/dist/types/src/artifacts.stories.d.ts.map +0 -1
  159. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  160. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -181
  161. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  162. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  163. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  164. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  165. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  166. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts +0 -3
  167. package/dist/types/src/components/AmbientChatDialog/AmbientChatDialog.d.ts.map +0 -1
  168. package/dist/types/src/components/AmbientChatDialog/index.d.ts +0 -2
  169. package/dist/types/src/components/AmbientChatDialog/index.d.ts.map +0 -1
  170. package/dist/types/src/components/Box/StatusLine.d.ts +0 -11
  171. package/dist/types/src/components/Box/StatusLine.d.ts.map +0 -1
  172. package/dist/types/src/components/Box/StatusLine.stories.d.ts +0 -9
  173. package/dist/types/src/components/Box/StatusLine.stories.d.ts.map +0 -1
  174. package/dist/types/src/components/Box/Tabbed.d.ts +0 -15
  175. package/dist/types/src/components/Box/Tabbed.d.ts.map +0 -1
  176. package/dist/types/src/components/Box/Tabbed.stories.d.ts +0 -8
  177. package/dist/types/src/components/Box/Tabbed.stories.d.ts.map +0 -1
  178. package/dist/types/src/components/Box/ToggleContainer.d.ts +0 -13
  179. package/dist/types/src/components/Box/ToggleContainer.d.ts.map +0 -1
  180. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts +0 -9
  181. package/dist/types/src/components/Box/ToggleContainer.stories.d.ts.map +0 -1
  182. package/dist/types/src/components/Box/index.d.ts +0 -4
  183. package/dist/types/src/components/Box/index.d.ts.map +0 -1
  184. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts +0 -7
  185. package/dist/types/src/components/ChatContainer/ChatContainer.d.ts.map +0 -1
  186. package/dist/types/src/components/ChatContainer/index.d.ts +0 -4
  187. package/dist/types/src/components/ChatContainer/index.d.ts.map +0 -1
  188. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts +0 -14
  189. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.d.ts.map +0 -1
  190. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts +0 -8
  191. package/dist/types/src/components/MarkdownViewer/MarkdownViewer.stories.d.ts.map +0 -1
  192. package/dist/types/src/components/MarkdownViewer/index.d.ts +0 -2
  193. package/dist/types/src/components/MarkdownViewer/index.d.ts.map +0 -1
  194. package/dist/types/src/components/Prompt/Prompt.d.ts +0 -7
  195. package/dist/types/src/components/Prompt/Prompt.d.ts.map +0 -1
  196. package/dist/types/src/components/Prompt/Prompt.stories.d.ts +0 -8
  197. package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +0 -1
  198. package/dist/types/src/components/Prompt/index.d.ts +0 -2
  199. package/dist/types/src/components/Prompt/index.d.ts.map +0 -1
  200. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts +0 -20
  201. package/dist/types/src/components/Prompt/prompt-autocomplete.d.ts.map +0 -1
  202. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts +0 -10
  203. package/dist/types/src/components/PromptEditor/PromptEditor.d.ts.map +0 -1
  204. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts +0 -6
  205. package/dist/types/src/components/PromptEditor/PromptEditor.stories.d.ts.map +0 -1
  206. package/dist/types/src/components/PromptEditor/index.d.ts +0 -2
  207. package/dist/types/src/components/PromptEditor/index.d.ts.map +0 -1
  208. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts +0 -4
  209. package/dist/types/src/components/PromptEditor/prompt-extension.d.ts.map +0 -1
  210. package/dist/types/src/components/PromptEditor/types.d.ts +0 -18
  211. package/dist/types/src/components/PromptEditor/types.d.ts.map +0 -1
  212. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
  213. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
  214. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
  215. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
  216. package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
  217. package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
  218. package/dist/types/src/components/Thread/Thread.d.ts +0 -11
  219. package/dist/types/src/components/Thread/Thread.d.ts.map +0 -1
  220. package/dist/types/src/components/Thread/Thread.stories.d.ts +0 -11
  221. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +0 -1
  222. package/dist/types/src/components/Thread/ThreadMessage.d.ts +0 -12
  223. package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +0 -1
  224. package/dist/types/src/components/Thread/index.d.ts +0 -2
  225. package/dist/types/src/components/Thread/index.d.ts.map +0 -1
  226. package/dist/types/src/hooks/email.d.ts +0 -4
  227. package/dist/types/src/hooks/email.d.ts.map +0 -1
  228. package/dist/types/src/hooks/index.d.ts +0 -6
  229. package/dist/types/src/hooks/index.d.ts.map +0 -1
  230. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  231. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  232. package/dist/types/src/hooks/processor.d.ts +0 -70
  233. package/dist/types/src/hooks/processor.d.ts.map +0 -1
  234. package/dist/types/src/hooks/processor.test.d.ts +0 -2
  235. package/dist/types/src/hooks/processor.test.d.ts.map +0 -1
  236. package/dist/types/src/hooks/useChatProcessor.d.ts +0 -7
  237. package/dist/types/src/hooks/useChatProcessor.d.ts.map +0 -1
  238. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  239. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  240. package/dist/types/src/hooks/useMessageQueue.d.ts +0 -41
  241. package/dist/types/src/hooks/useMessageQueue.d.ts.map +0 -1
  242. package/dist/types/src/hooks/useServices.d.ts +0 -7
  243. package/dist/types/src/hooks/useServices.d.ts.map +0 -1
  244. package/dist/types/src/presets.d.ts +0 -9
  245. package/dist/types/src/presets.d.ts.map +0 -1
  246. package/dist/types/src/testing/test-services.d.ts +0 -5
  247. package/dist/types/src/testing/test-services.d.ts.map +0 -1
  248. package/dist/types/src/tools/function.d.ts +0 -5
  249. package/dist/types/src/tools/function.d.ts.map +0 -1
  250. package/dist/types/src/tools/index.d.ts +0 -3
  251. package/dist/types/src/tools/index.d.ts.map +0 -1
  252. package/dist/types/src/tools/openapi.d.ts +0 -10
  253. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  254. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  255. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  256. package/dist/types/src/types/index.d.ts +0 -4
  257. package/dist/types/src/types/index.d.ts.map +0 -1
  258. package/dist/types/src/types/registry.d.ts +0 -10
  259. package/dist/types/src/types/registry.d.ts.map +0 -1
  260. package/dist/types/src/types/schema.d.ts +0 -221
  261. package/dist/types/src/types/schema.d.ts.map +0 -1
  262. package/dist/types/src/types/types.d.ts +0 -18
  263. package/dist/types/src/types/types.d.ts.map +0 -1
  264. package/src/artifacts.stories.tsx +0 -241
  265. package/src/capabilities/ai-client.ts +0 -19
  266. package/src/capabilities/app-graph-builder.ts +0 -187
  267. package/src/capabilities/capabilities.ts +0 -12
  268. package/src/capabilities/intent-resolver.ts +0 -27
  269. package/src/components/AmbientChatDialog/AmbientChatDialog.tsx +0 -26
  270. package/src/components/AmbientChatDialog/index.ts +0 -5
  271. package/src/components/Box/StatusLine.stories.tsx +0 -52
  272. package/src/components/Box/StatusLine.tsx +0 -76
  273. package/src/components/Box/Tabbed.stories.tsx +0 -51
  274. package/src/components/Box/Tabbed.tsx +0 -89
  275. package/src/components/Box/ToggleContainer.stories.tsx +0 -110
  276. package/src/components/Box/ToggleContainer.tsx +0 -108
  277. package/src/components/Box/index.ts +0 -7
  278. package/src/components/ChatContainer/ChatContainer.tsx +0 -52
  279. package/src/components/ChatContainer/index.ts +0 -8
  280. package/src/components/MarkdownViewer/MarkdownViewer.stories.tsx +0 -56
  281. package/src/components/MarkdownViewer/MarkdownViewer.tsx +0 -79
  282. package/src/components/MarkdownViewer/index.ts +0 -5
  283. package/src/components/Prompt/Prompt.stories.tsx +0 -50
  284. package/src/components/Prompt/Prompt.tsx +0 -36
  285. package/src/components/Prompt/index.ts +0 -5
  286. package/src/components/Prompt/prompt-autocomplete.ts +0 -200
  287. package/src/components/PromptEditor/PromptEditor.stories.tsx +0 -64
  288. package/src/components/PromptEditor/PromptEditor.tsx +0 -222
  289. package/src/components/PromptEditor/index.ts +0 -5
  290. package/src/components/PromptEditor/prompt-extension.ts +0 -43
  291. package/src/components/PromptEditor/types.tsx +0 -28
  292. package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
  293. package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -75
  294. package/src/components/ServiceRegistry/index.ts +0 -5
  295. package/src/components/Thread/Thread.stories.tsx +0 -197
  296. package/src/components/Thread/Thread.tsx +0 -156
  297. package/src/components/Thread/ThreadMessage.tsx +0 -225
  298. package/src/components/Thread/index.ts +0 -5
  299. package/src/hooks/email.ts +0 -49
  300. package/src/hooks/index.ts +0 -10
  301. package/src/hooks/invocation-handler.ts +0 -109
  302. package/src/hooks/processor.test.ts +0 -15
  303. package/src/hooks/processor.ts +0 -210
  304. package/src/hooks/useChatProcessor.tsx +0 -86
  305. package/src/hooks/useLocalTriggerManager.ts +0 -82
  306. package/src/hooks/useMessageQueue.ts +0 -23
  307. package/src/hooks/useServices.ts +0 -28
  308. package/src/presets.ts +0 -248
  309. package/src/testing/test-services.ts +0 -131
  310. package/src/tools/function.ts +0 -47
  311. package/src/tools/index.ts +0 -6
  312. package/src/tools/openapi.test.ts +0 -227
  313. package/src/tools/openapi.ts +0 -331
  314. package/src/types/index.ts +0 -7
  315. package/src/types/registry.ts +0 -26
  316. package/src/types/schema.ts +0 -132
  317. package/src/types/types.ts +0 -21
@@ -15,7 +15,7 @@ import {
15
15
  } from '@dxos/functions';
16
16
  import { type Client, useClient } from '@dxos/react-client';
17
17
  import { create, Filter, useQuery, type Space, type ReactiveObject, getSpace } from '@dxos/react-client/echo';
18
- import { IconButton, Input, useTranslation, Button } from '@dxos/react-ui';
18
+ import { Clipboard, IconButton, Input, useTranslation } from '@dxos/react-ui';
19
19
  import { List } from '@dxos/react-ui-list';
20
20
  import { ghostHover, mx } from '@dxos/react-ui-theme';
21
21
 
@@ -73,57 +73,62 @@ export const AutomationPanel = ({ space, object }: AutomationPanelProps) => {
73
73
  };
74
74
 
75
75
  return (
76
- <div className='flex flex-col w-full divide-y divide-separator overflow-y-auto'>
77
- <List.Root<FunctionTrigger> items={triggers} isItem={S.is(FunctionTrigger)} getId={(field) => field.id}>
78
- {({ items: triggers }) => (
79
- <div role='list' className='flex flex-col w-full'>
80
- {triggers?.map((trigger) => {
81
- const copyAction = getCopyAction(client, trigger);
82
- return (
83
- <List.Item<FunctionTrigger>
84
- key={trigger.id}
85
- item={trigger}
86
- classNames={mx(grid, ghostHover, 'items-center', 'px-2')}
87
- >
88
- <Input.Root>
89
- <Input.Switch
90
- checked={trigger.enabled}
91
- onCheckedChange={(checked) => (trigger.enabled = checked)}
92
- />
93
- </Input.Root>
94
-
95
- <div className={'flex'}>
96
- <List.ItemTitle
97
- classNames='px-1 cursor-pointer w-0 shrink truncate'
98
- onClick={() => handleSelect(trigger)}
76
+ <Clipboard.Provider>
77
+ <div className='flex flex-col w-full'>
78
+ {!trigger && (
79
+ <List.Root<FunctionTrigger> items={triggers} isItem={S.is(FunctionTrigger)} getId={(field) => field.id}>
80
+ {({ items: triggers }) => (
81
+ <div role='list' className='flex flex-col w-full'>
82
+ {triggers?.map((trigger) => {
83
+ const copyAction = getCopyAction(client, trigger);
84
+ return (
85
+ <List.Item<FunctionTrigger>
86
+ key={trigger.id}
87
+ item={trigger}
88
+ classNames={mx(grid, ghostHover, 'items-center', 'px-2')}
99
89
  >
100
- {getFunctionName(scripts, functions, trigger) ?? '∅'}
101
- </List.ItemTitle>
102
-
103
- {/* TODO: a better way to expose copy action */}
104
- {copyAction && (
105
- <Button onClick={() => navigator.clipboard.writeText(copyAction.contentProvider())}>
106
- {t(copyAction.translationKey)}
107
- </Button>
108
- )}
109
- </div>
110
-
111
- <List.ItemDeleteButton onClick={() => handleDelete(trigger)} />
112
- </List.Item>
113
- );
114
- })}
115
- </div>
90
+ <Input.Root>
91
+ <Input.Switch
92
+ checked={trigger.enabled}
93
+ onCheckedChange={(checked) => (trigger.enabled = checked)}
94
+ />
95
+ </Input.Root>
96
+
97
+ <div className={'flex'}>
98
+ <List.ItemTitle
99
+ classNames='px-1 cursor-pointer w-0 shrink truncate'
100
+ onClick={() => handleSelect(trigger)}
101
+ >
102
+ {getFunctionName(scripts, functions, trigger) ?? '∅'}
103
+ </List.ItemTitle>
104
+
105
+ {/* TODO: a better way to expose copy action */}
106
+ {copyAction && (
107
+ <Clipboard.IconButton
108
+ label={t(copyAction.translationKey)}
109
+ value={copyAction.contentProvider()}
110
+ />
111
+ )}
112
+ </div>
113
+
114
+ <List.ItemDeleteButton onClick={() => handleDelete(trigger)} />
115
+ </List.Item>
116
+ );
117
+ })}
118
+ </div>
119
+ )}
120
+ </List.Root>
116
121
  )}
117
- </List.Root>
118
122
 
119
- {trigger && <TriggerEditor space={space} trigger={trigger} onSave={handleSave} onCancel={handleCancel} />}
123
+ {trigger && <TriggerEditor space={space} trigger={trigger} onSave={handleSave} onCancel={handleCancel} />}
120
124
 
121
- {!trigger && (
122
- <div className='flex p-2 justify-center'>
123
- <IconButton icon='ph--plus--regular' label={t('new trigger')} onClick={handleAdd} />
124
- </div>
125
- )}
126
- </div>
125
+ {!trigger && (
126
+ <div className='flex p-2 justify-center'>
127
+ <IconButton icon='ph--plus--regular' label={t('new trigger label')} onClick={handleAdd} />
128
+ </div>
129
+ )}
130
+ </div>
131
+ </Clipboard.Provider>
127
132
  );
128
133
  };
129
134
 
@@ -148,8 +153,10 @@ const getWebhookUrl = (client: Client, trigger: FunctionTrigger) => {
148
153
  };
149
154
 
150
155
  const getFunctionName = (scripts: ScriptType[], functions: FunctionType[], trigger: FunctionTriggerType) => {
156
+ // TODO(wittjosiah): Truncation should be done in the UI.
157
+ // Warning that the List component is currently a can of worms.
151
158
  const shortId = trigger.function && `${trigger.function?.slice(0, 16)}…`;
152
- const functionObject = functions.find((fn) => fn.name === trigger.function);
159
+ const functionObject = functions.find((fn) => `dxn:worker:${fn.name}` === trigger.function);
153
160
  if (!functionObject) {
154
161
  return shortId;
155
162
  }
@@ -16,7 +16,6 @@ import { withLayout, withTheme } from '@dxos/storybook-utils';
16
16
  import { TriggerEditor } from './TriggerEditor';
17
17
  import { functions } from '../../testing';
18
18
  import translations from '../../translations';
19
- import { ChainPromptType } from '../../types';
20
19
 
21
20
  const DefaultStory = () => {
22
21
  const spaces = useSpaces();
@@ -50,7 +49,7 @@ const meta: Meta = {
50
49
  withClientProvider({
51
50
  createIdentity: true,
52
51
  createSpace: true,
53
- types: [FunctionType, FunctionTrigger, ChainPromptType],
52
+ types: [FunctionType, FunctionTrigger],
54
53
  onSpaceCreated: ({ space }) => {
55
54
  for (const fn of functions) {
56
55
  space.db.add(create(FunctionType, fn));
@@ -4,14 +4,6 @@
4
4
 
5
5
  import { lazy } from 'react';
6
6
 
7
- export * from './AmbientChatDialog';
8
- export * from './AutomationPanel';
9
- export * from './ChatContainer';
10
- export * from './MarkdownViewer';
11
- export * from './PromptEditor';
12
- export * from './ServiceRegistry';
13
- export * from './Thread';
14
7
  export * from './TriggerEditor';
15
8
 
16
9
  export const AutomationPanel = lazy(() => import('./AutomationPanel'));
17
- export const ChatContainer = lazy(() => import('./ChatContainer'));
package/src/index.ts CHANGED
@@ -2,8 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './AutomationPlugin';
6
5
  export * from './components';
7
6
  export * from './meta';
8
- export * from './presets';
9
- export * from './types';
7
+
8
+ export * from './AutomationPlugin';
package/src/meta.ts CHANGED
@@ -6,14 +6,11 @@ import { type PluginMeta } from '@dxos/app-framework';
6
6
 
7
7
  export const AUTOMATION_PLUGIN = 'dxos.org/plugin/automation';
8
8
 
9
- export const AMBIENT_CHAT_DIALOG = `${AUTOMATION_PLUGIN}/ambient-chat/dialog`;
10
-
11
9
  export const meta = {
12
10
  id: AUTOMATION_PLUGIN,
13
11
  name: 'Automation',
14
12
  description:
15
13
  'The Automation tab allows you to trigger pre-defined workflows related to the element you are interacting with inside of Composer.',
16
- icon: 'ph--magic-wand--regular',
14
+ icon: 'ph--robot--regular',
17
15
  source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-automation',
18
- tags: ['experimental'],
19
16
  } satisfies PluginMeta;
@@ -3,4 +3,3 @@
3
3
  //
4
4
 
5
5
  export * from './test-functions';
6
- export * from './test-services';
@@ -2,15 +2,8 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { createSystemPrompt } from '@dxos/artifact';
6
- import { type GenerateRequest } from '@dxos/assistant';
7
5
  import { AST, S, toJsonSchema } from '@dxos/echo-schema';
8
6
 
9
- export const createProcessorOptions = (artifacts: string[]): Pick<GenerateRequest, 'model' | 'systemPrompt'> => ({
10
- model: '@anthropic/claude-3-5-sonnet-20241022',
11
- systemPrompt: createSystemPrompt({ artifacts }),
12
- });
13
-
14
7
  export const functions = [
15
8
  {
16
9
  name: 'example.com/function/chess',
@@ -3,38 +3,15 @@
3
3
  //
4
4
 
5
5
  import { AUTOMATION_PLUGIN } from './meta';
6
- import { AIChatType } from './types';
7
6
 
8
7
  export default [
9
8
  {
10
9
  'en-US': {
11
- [AIChatType.typename]: {
12
- 'typename label': 'AI Chat',
13
- },
14
10
  [AUTOMATION_PLUGIN]: {
15
11
  'plugin name': 'Automation',
16
- 'object placeholder': 'New prompt',
17
- 'create object label': 'Create prompt',
18
- 'create trigger label': 'Create trigger',
19
- 'create stack section label': 'Create prompt',
20
- 'command placeholder': 'Enter slash command...',
21
- 'template placeholder': 'Enter template...',
22
- 'value placeholder': 'Enter value...',
23
- 'select preset template placeholder': 'Select preset',
24
- 'open automation panel label': 'Show Automations',
25
12
  'automation panel label': 'Automations',
26
- 'service registry label': 'Service Registry',
27
-
28
- 'chat input placeholder': 'Ask a question...',
29
- 'chat stop': 'Cancel request.',
30
-
31
- 'function select label': 'Function',
32
- 'function select placeholder': 'Select function',
33
- 'function enabled': 'Enabled',
34
-
35
- 'trigger select label': 'Trigger',
36
- 'trigger select placeholder': 'Trigger type',
37
13
 
14
+ 'new trigger label': 'New Trigger',
38
15
  'trigger type timer': 'Timer',
39
16
  'trigger type webhook': 'Webhook',
40
17
  'trigger type websocket': 'Websocket',
@@ -42,11 +19,6 @@ export default [
42
19
  'trigger type email': 'Email',
43
20
  'trigger type queue': 'Queue',
44
21
 
45
- 'trigger filter': 'Filter',
46
- 'trigger cron': 'Cron',
47
- 'trigger method': 'Method',
48
- 'trigger endpoint': 'Endpoint',
49
-
50
22
  'trigger copy url': 'Copy URL',
51
23
  'trigger copy email': 'Copy Email',
52
24
 
@@ -1,8 +0,0 @@
1
- import {
2
- AutomationPanel_default
3
- } from "./chunk-NQFZ6XRX.mjs";
4
- import "./chunk-R4JH4TLE.mjs";
5
- export {
6
- AutomationPanel_default as default
7
- };
8
- //# sourceMappingURL=AutomationPanel-VW2XIUPU.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,12 +0,0 @@
1
- import {
2
- ChatContainer,
3
- ChatContainer_default
4
- } from "./chunk-DVE33EZL.mjs";
5
- import "./chunk-2H2EUYXL.mjs";
6
- import "./chunk-Q4IMHYGH.mjs";
7
- import "./chunk-R4JH4TLE.mjs";
8
- export {
9
- ChatContainer,
10
- ChatContainer_default as default
11
- };
12
- //# sourceMappingURL=ChatContainer-5TAVTN3T.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,22 +0,0 @@
1
- import {
2
- AutomationCapabilities
3
- } from "./chunk-2H2EUYXL.mjs";
4
- import "./chunk-R4JH4TLE.mjs";
5
-
6
- // packages/plugins/experimental/plugin-automation/src/capabilities/ai-client.ts
7
- import { contributes } from "@dxos/app-framework";
8
- import { AIServiceClientImpl } from "@dxos/assistant";
9
- import { ClientCapabilities } from "@dxos/plugin-client";
10
- var DEFAULT_AI_SERVICE_URL = "http://localhost:8788";
11
- var ai_client_default = (context) => {
12
- const client = context.requestCapability(ClientCapabilities.Client);
13
- const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;
14
- const aiClient = new AIServiceClientImpl({
15
- endpoint
16
- });
17
- return contributes(AutomationCapabilities.AiClient, aiClient);
18
- };
19
- export {
20
- ai_client_default as default
21
- };
22
- //# sourceMappingURL=ai-client-5CNY6JBF.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/ai-client.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginsContext } from '@dxos/app-framework';\nimport { AIServiceClientImpl } from '@dxos/assistant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { AutomationCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Factor out.\nconst DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';\n\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;\n const aiClient = new AIServiceClientImpl({ endpoint });\n return contributes(AutomationCapabilities.AiClient, aiClient);\n};\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,mBAAwC;AACjD,SAASC,2BAA2B;AACpC,SAASC,0BAA0B;AAKnC,IAAMC,yBAAyB;AAE/B,IAAA,oBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAClE,QAAMC,WAAWJ,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,IAAIC,UAAUZ;AACvE,QAAMa,WAAW,IAAIC,oBAAoB;IAAER;EAAS,CAAA;AACpD,SAAOS,YAAYC,uBAAuBC,UAAUJ,QAAAA;AACtD;",
6
- "names": ["contributes", "AIServiceClientImpl", "ClientCapabilities", "DEFAULT_AI_SERVICE_URL", "context", "client", "requestCapability", "ClientCapabilities", "Client", "endpoint", "config", "values", "runtime", "services", "ai", "server", "aiClient", "AIServiceClientImpl", "contributes", "AutomationCapabilities", "AiClient"]
7
- }
@@ -1,197 +0,0 @@
1
- import {
2
- AMBIENT_CHAT_DIALOG,
3
- AUTOMATION_PLUGIN
4
- } from "./chunk-R4JH4TLE.mjs";
5
-
6
- // packages/plugins/experimental/plugin-automation/src/capabilities/app-graph-builder.ts
7
- import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
8
- import { ClientCapabilities } from "@dxos/plugin-client";
9
- import { createExtension, ROOT_ID, toSignal } from "@dxos/plugin-graph";
10
- import { memoizeQuery } from "@dxos/plugin-space";
11
- import { getTypename, parseId, SpaceState } from "@dxos/react-client/echo";
12
- var app_graph_builder_default = (context) => {
13
- const resolve = (typename) => context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
14
- return contributes(Capabilities.AppGraphBuilder, [
15
- createExtension({
16
- id: `${AUTOMATION_PLUGIN}/service-registry`,
17
- resolver: ({ id }) => {
18
- if (!id.endsWith("~service-registry")) {
19
- return;
20
- }
21
- const type = "orphan-settings-for-subject";
22
- const icon = "ph--plugs--regular";
23
- const client = context.requestCapability(ClientCapabilities.Client);
24
- const [subjectId] = id.split("~");
25
- const { spaceId } = parseId(subjectId);
26
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
27
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
28
- return {
29
- id,
30
- type,
31
- data: null,
32
- properties: {
33
- icon,
34
- label: [
35
- "service registry label",
36
- {
37
- ns: AUTOMATION_PLUGIN
38
- }
39
- ],
40
- object: null,
41
- space
42
- }
43
- };
44
- }
45
- }),
46
- createExtension({
47
- id: `${AUTOMATION_PLUGIN}/ambient-chat`,
48
- filter: (node) => node.id === ROOT_ID,
49
- actions: () => [
50
- {
51
- id: `${LayoutAction.UpdateDialog._tag}/ambient-chat/open`,
52
- data: async () => {
53
- const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
54
- await dispatch(createIntent(LayoutAction.UpdateDialog, {
55
- part: "dialog",
56
- subject: AMBIENT_CHAT_DIALOG,
57
- options: {
58
- state: true,
59
- blockAlign: "end"
60
- }
61
- }));
62
- },
63
- properties: {
64
- label: [
65
- "open ambient chat label",
66
- {
67
- ns: AUTOMATION_PLUGIN
68
- }
69
- ],
70
- icon: "ph--chat-centered-text--regular",
71
- disposition: "pin-end",
72
- keyBinding: {
73
- macos: "shift+meta+k",
74
- windows: "shift+ctrl+k"
75
- }
76
- }
77
- }
78
- ]
79
- }),
80
- createExtension({
81
- id: `${AUTOMATION_PLUGIN}/automation-for-subject`,
82
- resolver: ({ id }) => {
83
- if (!id.endsWith("~automation")) {
84
- return;
85
- }
86
- const type = "orphan-settings-for-subject";
87
- const icon = "ph--magic-wand--regular";
88
- const client = context.requestCapability(ClientCapabilities.Client);
89
- const [subjectId] = id.split("~");
90
- const { spaceId, objectId } = parseId(subjectId);
91
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
92
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
93
- if (!objectId) {
94
- const label2 = space ? space.properties.name || [
95
- "unnamed space label",
96
- {
97
- ns: AUTOMATION_PLUGIN
98
- }
99
- ] : [
100
- "unnamed object settings label",
101
- {
102
- ns: AUTOMATION_PLUGIN
103
- }
104
- ];
105
- return {
106
- id,
107
- type,
108
- data: null,
109
- properties: {
110
- icon,
111
- label: label2,
112
- showResolvedThreads: false,
113
- object: null,
114
- space
115
- }
116
- };
117
- }
118
- const [object] = memoizeQuery(space, {
119
- id: objectId
120
- });
121
- if (!object || !subjectId) {
122
- return;
123
- }
124
- const meta = resolve(getTypename(object) ?? "");
125
- const label = meta.label?.(object) || object.name || meta.placeholder || [
126
- "unnamed object settings label",
127
- {
128
- ns: AUTOMATION_PLUGIN
129
- }
130
- ];
131
- return {
132
- id,
133
- type,
134
- data: null,
135
- properties: {
136
- icon,
137
- label,
138
- object
139
- }
140
- };
141
- }
142
- }),
143
- createExtension({
144
- id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,
145
- resolver: ({ id }) => {
146
- if (!id.endsWith("~assistant")) {
147
- return;
148
- }
149
- const client = context.requestCapability(ClientCapabilities.Client);
150
- const [subjectId] = id.split("~");
151
- const { spaceId, objectId } = parseId(subjectId);
152
- const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
153
- const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
154
- if (!objectId) {
155
- return {
156
- id,
157
- type: "orphan-automation-for-subject",
158
- data: null,
159
- properties: {
160
- icon: "ph--atom--regular",
161
- label: [
162
- "assistant panel label",
163
- {
164
- ns: AUTOMATION_PLUGIN
165
- }
166
- ],
167
- object: null,
168
- space
169
- }
170
- };
171
- }
172
- const [object] = memoizeQuery(space, {
173
- id: objectId
174
- });
175
- return {
176
- id,
177
- type: "orphan-automation-for-subject",
178
- data: null,
179
- properties: {
180
- icon: "ph--atom--regular",
181
- label: [
182
- "assistant panel label",
183
- {
184
- ns: AUTOMATION_PLUGIN
185
- }
186
- ],
187
- object
188
- }
189
- };
190
- }
191
- })
192
- ]);
193
- };
194
- export {
195
- app_graph_builder_default as default
196
- };
197
- //# sourceMappingURL=app-graph-builder-FZGK55G7.mjs.map
@@ -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, createIntent, LayoutAction, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, type Node, ROOT_ID, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { getTypename, parseId, SpaceState } from '@dxos/react-client/echo';\n\nimport { AMBIENT_CHAT_DIALOG, 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}/service-registry`,\n resolver: ({ id }) => {\n if (!id.endsWith('~service-registry')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--plugs--regular';\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const [subjectId] = id.split('~');\n const { spaceId } = 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 return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label: ['service registry label', { ns: AUTOMATION_PLUGIN }],\n object: null,\n space,\n },\n };\n },\n }),\n createExtension({\n id: `${AUTOMATION_PLUGIN}/ambient-chat`,\n filter: (node): node is Node<null> => node.id === ROOT_ID,\n actions: () => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/ambient-chat/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: AMBIENT_CHAT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n },\n }),\n );\n },\n properties: {\n label: ['open ambient chat label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--chat-centered-text--regular',\n disposition: 'pin-end',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ],\n }),\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 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 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", "createIntent", "LayoutAction", "ClientCapabilities", "createExtension", "ROOT_ID", "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", "parseId", "spaces", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "space", "state", "SpaceState", "SPACE_READY", "data", "properties", "label", "ns", "object", "filter", "node", "ROOT_ID", "actions", "LayoutAction", "UpdateDialog", "_tag", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "part", "subject", "AMBIENT_CHAT_DIALOG", "options", "blockAlign", "disposition", "keyBinding", "macos", "windows", "objectId", "name", "showResolvedThreads", "memoizeQuery", "meta", "getTypename", "placeholder"]
7
- }
@@ -1,15 +0,0 @@
1
- import {
2
- AUTOMATION_PLUGIN
3
- } from "./chunk-R4JH4TLE.mjs";
4
-
5
- // packages/plugins/experimental/plugin-automation/src/capabilities/capabilities.ts
6
- import { defineCapability } from "@dxos/app-framework";
7
- var AutomationCapabilities;
8
- (function(AutomationCapabilities2) {
9
- AutomationCapabilities2.AiClient = defineCapability(`${AUTOMATION_PLUGIN}/capability/ai-client`);
10
- })(AutomationCapabilities || (AutomationCapabilities = {}));
11
-
12
- export {
13
- AutomationCapabilities
14
- };
15
- //# sourceMappingURL=chunk-2H2EUYXL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/capabilities.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type AIServiceClientImpl } from '@dxos/assistant';\n\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport namespace AutomationCapabilities {\n export const AiClient = defineCapability<AIServiceClientImpl>(`${AUTOMATION_PLUGIN}/capability/ai-client`);\n}\n"],
5
- "mappings": ";;;;;AAIA,SAASA,wBAAwB;;UAKhBC,yBAAAA;0BACFC,WAAWC,iBAAsC,GAAGC,iBAAAA,uBAAwC;AAC3G,GAFiBH,2BAAAA,yBAAAA,CAAAA,EAAAA;",
6
- "names": ["defineCapability", "AutomationCapabilities", "AiClient", "defineCapability", "AUTOMATION_PLUGIN"]
7
- }