@dxos/plugin-automation 0.8.4-main.c85a9c8dae → 0.8.4-main.d9fc60f731

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 (386) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +428 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/AutomationPanel-OKF2MDLO.mjs +12 -0
  5. package/dist/lib/neutral/AutomationPlugin.mjs +10 -0
  6. package/dist/lib/{browser/cli/index.mjs → neutral/AutomationPlugin.node.mjs} +191 -186
  7. package/dist/lib/neutral/AutomationPlugin.node.mjs.map +7 -0
  8. package/dist/lib/neutral/AutomationPlugin.workerd.mjs +23 -0
  9. package/dist/lib/neutral/AutomationPlugin.workerd.mjs.map +7 -0
  10. package/dist/lib/neutral/AutomationSettings-GQF5UFM6.mjs +32 -0
  11. package/dist/lib/neutral/AutomationSettings-GQF5UFM6.mjs.map +7 -0
  12. package/dist/lib/neutral/FunctionsContainer-YBTQGCL3.mjs +38 -0
  13. package/dist/lib/neutral/FunctionsContainer-YBTQGCL3.mjs.map +7 -0
  14. package/dist/lib/{browser/chunk-U55ZXRYM.mjs → neutral/FunctionsPanel-L32Z67B7.mjs} +24 -25
  15. package/dist/lib/neutral/FunctionsPanel-L32Z67B7.mjs.map +7 -0
  16. package/dist/lib/{browser/chunk-XFXYU645.mjs → neutral/FunctionsRegistry-RTCY3LXE.mjs} +24 -25
  17. package/dist/lib/neutral/FunctionsRegistry-RTCY3LXE.mjs.map +7 -0
  18. package/dist/lib/neutral/TriggerSettings-XCHIZPOR.mjs +9 -0
  19. package/dist/lib/neutral/app-graph-builder-Q3LJLICE.mjs +75 -0
  20. package/dist/lib/neutral/app-graph-builder-Q3LJLICE.mjs.map +7 -0
  21. package/dist/lib/neutral/capabilities/index.mjs +19 -0
  22. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  23. package/dist/lib/neutral/capabilities/node.mjs +17 -0
  24. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-2JP77CMN.mjs +42 -0
  26. package/dist/lib/neutral/chunk-2JP77CMN.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-7YWISQOZ.mjs +54 -0
  28. package/dist/lib/neutral/chunk-7YWISQOZ.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-C7H62AU3.mjs +435 -0
  30. package/dist/lib/neutral/chunk-C7H62AU3.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-CMM3AFHR.mjs +111 -0
  32. package/dist/lib/neutral/chunk-CMM3AFHR.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  34. package/dist/lib/neutral/chunk-LRVJEKMN.mjs +40 -0
  35. package/dist/lib/neutral/chunk-LRVJEKMN.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-MBIODLCB.mjs +12 -0
  37. package/dist/lib/neutral/chunk-MBIODLCB.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-NCCFEPBZ.mjs +76 -0
  39. package/dist/lib/neutral/chunk-NCCFEPBZ.mjs.map +7 -0
  40. package/dist/lib/{browser/chunk-ZNI2CGQP.mjs → neutral/chunk-RCBE37YU.mjs} +158 -60
  41. package/dist/lib/neutral/chunk-RCBE37YU.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-TJOQNSS5.mjs +8 -0
  43. package/dist/lib/neutral/chunk-TJOQNSS5.mjs.map +7 -0
  44. package/dist/lib/neutral/components/index.mjs +16 -0
  45. package/dist/lib/neutral/containers/index.mjs +13 -0
  46. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  47. package/dist/lib/neutral/create-trigger-from-template-5YUHZOFA.mjs +68 -0
  48. package/dist/lib/neutral/create-trigger-from-template-5YUHZOFA.mjs.map +7 -0
  49. package/dist/lib/neutral/hooks/index.mjs +10 -0
  50. package/dist/lib/neutral/index.mjs +16 -0
  51. package/dist/lib/neutral/layer-specs-OXK75RDW.mjs +141 -0
  52. package/dist/lib/neutral/layer-specs-OXK75RDW.mjs.map +7 -0
  53. package/dist/lib/neutral/meta.json +1 -0
  54. package/dist/lib/neutral/meta.mjs +8 -0
  55. package/dist/lib/neutral/operation-handler-YXGYH5W5.mjs +13 -0
  56. package/dist/lib/neutral/operation-handler-YXGYH5W5.mjs.map +7 -0
  57. package/dist/lib/neutral/operations/index.mjs +8 -0
  58. package/dist/lib/neutral/plugin.mjs +16 -0
  59. package/dist/lib/neutral/plugin.mjs.map +7 -0
  60. package/dist/lib/neutral/react-surface-FOOBGYNG.mjs +57 -0
  61. package/dist/lib/neutral/react-surface-FOOBGYNG.mjs.map +7 -0
  62. package/dist/lib/neutral/registry-sync-JYDDTBAE.mjs +82 -0
  63. package/dist/lib/neutral/registry-sync-JYDDTBAE.mjs.map +7 -0
  64. package/dist/lib/neutral/testing.mjs +8 -0
  65. package/dist/lib/neutral/translations.mjs +60 -0
  66. package/dist/lib/neutral/translations.mjs.map +7 -0
  67. package/dist/lib/neutral/trigger-runtime-controller-BOEJYGWC.mjs +77 -0
  68. package/dist/lib/neutral/trigger-runtime-controller-BOEJYGWC.mjs.map +7 -0
  69. package/dist/lib/neutral/types/index.mjs +12 -0
  70. package/dist/lib/neutral/types/index.mjs.map +7 -0
  71. package/dist/types/src/AutomationPlugin.d.ts +1 -0
  72. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  73. package/dist/types/src/{cli/plugin.d.ts → AutomationPlugin.node.d.ts} +2 -1
  74. package/dist/types/src/AutomationPlugin.node.d.ts.map +1 -0
  75. package/dist/types/src/AutomationPlugin.test.d.ts +2 -0
  76. package/dist/types/src/AutomationPlugin.test.d.ts.map +1 -0
  77. package/dist/types/src/AutomationPlugin.workerd.d.ts +4 -0
  78. package/dist/types/src/AutomationPlugin.workerd.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  80. package/dist/types/src/capabilities/index.d.ts +8 -4
  81. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/layer-specs.d.ts +6 -0
  83. package/dist/types/src/capabilities/layer-specs.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/node.d.ts +8 -0
  85. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  87. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  89. package/dist/types/src/capabilities/registry-sync.d.ts +21 -0
  90. package/dist/types/src/capabilities/registry-sync.d.ts.map +1 -0
  91. package/dist/types/src/capabilities/trigger-runtime-controller.d.ts +5 -0
  92. package/dist/types/src/capabilities/trigger-runtime-controller.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/trigger-runtime-controller.test.d.ts +2 -0
  94. package/dist/types/src/capabilities/trigger-runtime-controller.test.d.ts.map +1 -0
  95. package/dist/types/src/commands/index.d.ts.map +1 -0
  96. package/dist/types/src/{cli/commands → commands}/trigger/create/index.d.ts +6 -6
  97. package/dist/types/src/commands/trigger/create/index.d.ts.map +1 -0
  98. package/dist/types/src/{cli/commands → commands}/trigger/create/queue.d.ts +2 -2
  99. package/dist/types/src/commands/trigger/create/queue.d.ts.map +1 -0
  100. package/dist/types/src/{cli/commands → commands}/trigger/create/subscription.d.ts +1 -1
  101. package/dist/types/src/commands/trigger/create/subscription.d.ts.map +1 -0
  102. package/dist/types/src/{cli/commands → commands}/trigger/create/timer.d.ts +1 -1
  103. package/dist/types/src/commands/trigger/create/timer.d.ts.map +1 -0
  104. package/dist/types/src/{cli/commands → commands}/trigger/index.d.ts +8 -8
  105. package/dist/types/src/commands/trigger/index.d.ts.map +1 -0
  106. package/dist/types/src/{cli/commands → commands}/trigger/list.d.ts +1 -1
  107. package/dist/types/src/commands/trigger/list.d.ts.map +1 -0
  108. package/dist/types/src/{cli/commands → commands}/trigger/options.d.ts +1 -2
  109. package/dist/types/src/commands/trigger/options.d.ts.map +1 -0
  110. package/dist/types/src/{cli/commands → commands}/trigger/remove.d.ts +1 -1
  111. package/dist/types/src/commands/trigger/remove.d.ts.map +1 -0
  112. package/dist/types/src/{cli/commands → commands}/trigger/update/index.d.ts +5 -5
  113. package/dist/types/src/commands/trigger/update/index.d.ts.map +1 -0
  114. package/dist/types/src/{cli/commands → commands}/trigger/update/queue.d.ts +2 -3
  115. package/dist/types/src/commands/trigger/update/queue.d.ts.map +1 -0
  116. package/dist/types/src/commands/trigger/update/subscription.d.ts.map +1 -0
  117. package/dist/types/src/commands/trigger/update/timer.d.ts.map +1 -0
  118. package/dist/types/src/commands/trigger/util.d.ts +85 -0
  119. package/dist/types/src/commands/trigger/util.d.ts.map +1 -0
  120. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -1
  121. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  122. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +45 -32
  123. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/AutomationPanel/TriggerEdgeMetadata.d.ts +18 -0
  125. package/dist/types/src/components/AutomationPanel/TriggerEdgeMetadata.d.ts.map +1 -0
  126. package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -1
  127. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -1
  128. package/dist/types/src/components/FunctionsPanel/index.d.ts.map +1 -1
  129. package/dist/types/src/components/FunctionsRegistry/FunctionsRegistry.d.ts.map +1 -1
  130. package/dist/types/src/components/FunctionsRegistry/index.d.ts.map +1 -1
  131. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts +6 -6
  132. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts.map +1 -1
  133. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts +4 -4
  134. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -1
  135. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -1
  136. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  137. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +109 -93
  138. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  139. package/dist/types/src/components/TriggerEditor/util.d.ts +14 -0
  140. package/dist/types/src/components/TriggerEditor/util.d.ts.map +1 -0
  141. package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts +3 -1
  142. package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts.map +1 -1
  143. package/dist/types/src/containers/AutomationSettings/index.d.ts +1 -2
  144. package/dist/types/src/containers/AutomationSettings/index.d.ts.map +1 -1
  145. package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts +2 -4
  146. package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts.map +1 -1
  147. package/dist/types/src/containers/FunctionsContainer/index.d.ts +1 -2
  148. package/dist/types/src/containers/FunctionsContainer/index.d.ts.map +1 -1
  149. package/dist/types/src/containers/TriggerSettings/TriggerSettings.d.ts +3 -3
  150. package/dist/types/src/containers/TriggerSettings/TriggerSettings.d.ts.map +1 -1
  151. package/dist/types/src/containers/TriggerSettings/index.d.ts +2 -2
  152. package/dist/types/src/containers/TriggerSettings/index.d.ts.map +1 -1
  153. package/dist/types/src/hooks/index.d.ts +1 -1
  154. package/dist/types/src/hooks/index.d.ts.map +1 -1
  155. package/dist/types/src/hooks/useEdgeTriggersDispatcherStatus.d.ts +13 -0
  156. package/dist/types/src/hooks/useEdgeTriggersDispatcherStatus.d.ts.map +1 -0
  157. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts +1 -1
  158. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts.map +1 -1
  159. package/dist/types/src/index.d.ts +0 -3
  160. package/dist/types/src/index.d.ts.map +1 -1
  161. package/dist/types/src/meta.d.ts +1 -1
  162. package/dist/types/src/meta.d.ts.map +1 -1
  163. package/dist/types/src/operations/create-trigger-from-template.d.ts +5 -0
  164. package/dist/types/src/operations/create-trigger-from-template.d.ts.map +1 -0
  165. package/dist/types/src/operations/index.d.ts +3 -0
  166. package/dist/types/src/operations/index.d.ts.map +1 -0
  167. package/dist/types/src/plugin.d.ts +4 -0
  168. package/dist/types/src/plugin.d.ts.map +1 -0
  169. package/dist/types/src/testing/test-functions.d.ts +162 -46
  170. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  171. package/dist/types/src/testing.d.ts +2 -0
  172. package/dist/types/src/testing.d.ts.map +1 -0
  173. package/dist/types/src/translations.d.ts +45 -33
  174. package/dist/types/src/translations.d.ts.map +1 -1
  175. package/dist/types/src/types/AutomationOperation.d.ts +21 -0
  176. package/dist/types/src/types/AutomationOperation.d.ts.map +1 -0
  177. package/dist/types/src/types/index.d.ts +1 -2
  178. package/dist/types/src/types/index.d.ts.map +1 -1
  179. package/dist/types/src/types/schema.d.ts +11 -32
  180. package/dist/types/src/types/schema.d.ts.map +1 -1
  181. package/dist/types/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +124 -75
  183. package/src/AutomationPlugin.node.ts +35 -0
  184. package/src/AutomationPlugin.test.ts +27 -0
  185. package/src/AutomationPlugin.tsx +33 -11
  186. package/src/AutomationPlugin.workerd.ts +18 -0
  187. package/src/capabilities/app-graph-builder.ts +66 -0
  188. package/src/capabilities/index.ts +15 -4
  189. package/src/capabilities/layer-specs.ts +197 -0
  190. package/src/capabilities/node.ts +18 -0
  191. package/src/capabilities/operation-handler.ts +16 -0
  192. package/src/capabilities/react-surface.tsx +59 -0
  193. package/src/capabilities/registry-sync.ts +110 -0
  194. package/src/capabilities/trigger-runtime-controller.test.ts +103 -0
  195. package/src/capabilities/trigger-runtime-controller.ts +126 -0
  196. package/src/{cli/commands → commands}/trigger/create/queue.ts +14 -16
  197. package/src/{cli/commands → commands}/trigger/create/subscription.ts +8 -11
  198. package/src/{cli/commands → commands}/trigger/create/timer.ts +4 -7
  199. package/src/{cli/commands → commands}/trigger/list.ts +7 -4
  200. package/src/{cli/commands → commands}/trigger/options.ts +3 -15
  201. package/src/{cli/commands → commands}/trigger/remove.ts +5 -5
  202. package/src/{cli/commands → commands}/trigger/update/queue.ts +39 -43
  203. package/src/{cli/commands → commands}/trigger/update/subscription.ts +22 -21
  204. package/src/{cli/commands → commands}/trigger/update/timer.ts +22 -20
  205. package/src/{cli/commands → commands}/trigger/util.ts +53 -38
  206. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +12 -5
  207. package/src/components/AutomationPanel/AutomationPanel.tsx +120 -58
  208. package/src/components/AutomationPanel/TriggerEdgeMetadata.tsx +148 -0
  209. package/src/components/FunctionsPanel/FunctionsPanel.tsx +35 -27
  210. package/src/components/FunctionsRegistry/FunctionsRegistry.tsx +32 -23
  211. package/src/components/TriggerEditor/FunctionInputEditor.tsx +9 -13
  212. package/src/components/TriggerEditor/SpecSelector.tsx +18 -14
  213. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +36 -18
  214. package/src/components/TriggerEditor/TriggerEditor.tsx +120 -25
  215. package/src/components/TriggerEditor/util.ts +51 -0
  216. package/src/containers/AutomationSettings/AutomationSettings.tsx +12 -8
  217. package/src/containers/AutomationSettings/index.ts +1 -3
  218. package/src/containers/FunctionsContainer/FunctionsContainer.tsx +11 -11
  219. package/src/containers/FunctionsContainer/index.ts +1 -3
  220. package/src/containers/TriggerSettings/TriggerSettings.tsx +32 -10
  221. package/src/containers/TriggerSettings/index.ts +2 -3
  222. package/src/hooks/index.ts +2 -1
  223. package/src/hooks/useEdgeTriggersDispatcherStatus.ts +78 -0
  224. package/src/hooks/useTriggerRuntimeControls.ts +13 -8
  225. package/src/index.ts +0 -4
  226. package/src/meta.ts +27 -7
  227. package/src/operations/create-trigger-from-template.ts +70 -0
  228. package/src/operations/index.ts +7 -0
  229. package/src/plugin.ts +11 -0
  230. package/src/testing/test-functions.ts +38 -4
  231. package/src/testing.ts +7 -0
  232. package/src/translations.ts +52 -39
  233. package/src/types/AutomationOperation.ts +39 -0
  234. package/src/types/index.ts +2 -2
  235. package/src/types/schema.ts +4 -25
  236. package/src/vite-env.d.ts +10 -0
  237. package/dist/lib/browser/AutomationPanel-EHRSV2DL.mjs +0 -11
  238. package/dist/lib/browser/AutomationSettings-TJYG77L6.mjs +0 -37
  239. package/dist/lib/browser/AutomationSettings-TJYG77L6.mjs.map +0 -7
  240. package/dist/lib/browser/FunctionsContainer-XHEQSNNO.mjs +0 -43
  241. package/dist/lib/browser/FunctionsContainer-XHEQSNNO.mjs.map +0 -7
  242. package/dist/lib/browser/FunctionsPanel-5WPUZGRB.mjs +0 -10
  243. package/dist/lib/browser/FunctionsRegistry-XRXIZRLL.mjs +0 -10
  244. package/dist/lib/browser/TriggerSettings-HUQT53SV.mjs +0 -13
  245. package/dist/lib/browser/TriggerSettings-HUQT53SV.mjs.map +0 -7
  246. package/dist/lib/browser/app-graph-builder-HLARI3VW.mjs +0 -85
  247. package/dist/lib/browser/app-graph-builder-HLARI3VW.mjs.map +0 -7
  248. package/dist/lib/browser/chunk-3P4R5WNC.mjs +0 -8
  249. package/dist/lib/browser/chunk-3P4R5WNC.mjs.map +0 -7
  250. package/dist/lib/browser/chunk-4EY2KMCM.mjs +0 -272
  251. package/dist/lib/browser/chunk-4EY2KMCM.mjs.map +0 -7
  252. package/dist/lib/browser/chunk-PZNBEKO5.mjs +0 -17
  253. package/dist/lib/browser/chunk-PZNBEKO5.mjs.map +0 -7
  254. package/dist/lib/browser/chunk-QPG3AKFX.mjs +0 -93
  255. package/dist/lib/browser/chunk-QPG3AKFX.mjs.map +0 -7
  256. package/dist/lib/browser/chunk-SEG5OCGB.mjs +0 -31
  257. package/dist/lib/browser/chunk-SEG5OCGB.mjs.map +0 -7
  258. package/dist/lib/browser/chunk-U55ZXRYM.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-WOBCY2FQ.mjs +0 -83
  260. package/dist/lib/browser/chunk-WOBCY2FQ.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-XFXYU645.mjs.map +0 -7
  262. package/dist/lib/browser/chunk-ZNI2CGQP.mjs.map +0 -7
  263. package/dist/lib/browser/cli/index.mjs.map +0 -7
  264. package/dist/lib/browser/compute-runtime-L2RVWXY2.mjs +0 -124
  265. package/dist/lib/browser/compute-runtime-L2RVWXY2.mjs.map +0 -7
  266. package/dist/lib/browser/hooks/index.mjs +0 -13
  267. package/dist/lib/browser/index.mjs +0 -123
  268. package/dist/lib/browser/index.mjs.map +0 -7
  269. package/dist/lib/browser/meta.json +0 -1
  270. package/dist/lib/browser/operation-resolver-2U6ZQVXR.mjs +0 -83
  271. package/dist/lib/browser/operation-resolver-2U6ZQVXR.mjs.map +0 -7
  272. package/dist/lib/browser/react-surface-U6FAYV42.mjs +0 -69
  273. package/dist/lib/browser/react-surface-U6FAYV42.mjs.map +0 -7
  274. package/dist/lib/browser/types/index.mjs +0 -14
  275. package/dist/lib/node-esm/AutomationPanel-F7MPUR7U.mjs +0 -12
  276. package/dist/lib/node-esm/AutomationSettings-5AHJMILI.mjs +0 -38
  277. package/dist/lib/node-esm/AutomationSettings-5AHJMILI.mjs.map +0 -7
  278. package/dist/lib/node-esm/FunctionsContainer-U5UVRKVT.mjs +0 -44
  279. package/dist/lib/node-esm/FunctionsContainer-U5UVRKVT.mjs.map +0 -7
  280. package/dist/lib/node-esm/FunctionsPanel-UFL5LT2R.mjs +0 -11
  281. package/dist/lib/node-esm/FunctionsRegistry-574OBZ5T.mjs +0 -11
  282. package/dist/lib/node-esm/TriggerSettings-RDIJHUKK.mjs +0 -14
  283. package/dist/lib/node-esm/TriggerSettings-RDIJHUKK.mjs.map +0 -7
  284. package/dist/lib/node-esm/app-graph-builder-Z2TMQHVX.mjs +0 -86
  285. package/dist/lib/node-esm/app-graph-builder-Z2TMQHVX.mjs.map +0 -7
  286. package/dist/lib/node-esm/chunk-2X564LII.mjs +0 -10
  287. package/dist/lib/node-esm/chunk-2X564LII.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-34HGM46Z.mjs +0 -32
  289. package/dist/lib/node-esm/chunk-34HGM46Z.mjs.map +0 -7
  290. package/dist/lib/node-esm/chunk-4DK33JDH.mjs +0 -84
  291. package/dist/lib/node-esm/chunk-4DK33JDH.mjs.map +0 -7
  292. package/dist/lib/node-esm/chunk-5FXNN3MV.mjs +0 -19
  293. package/dist/lib/node-esm/chunk-5FXNN3MV.mjs.map +0 -7
  294. package/dist/lib/node-esm/chunk-7AIKTEAX.mjs +0 -273
  295. package/dist/lib/node-esm/chunk-7AIKTEAX.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-CMZ4NKSK.mjs +0 -271
  297. package/dist/lib/node-esm/chunk-CMZ4NKSK.mjs.map +0 -7
  298. package/dist/lib/node-esm/chunk-GXFQR3KI.mjs +0 -99
  299. package/dist/lib/node-esm/chunk-GXFQR3KI.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-QNPYY3XZ.mjs +0 -94
  301. package/dist/lib/node-esm/chunk-QNPYY3XZ.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-RTEXGGBX.mjs +0 -97
  303. package/dist/lib/node-esm/chunk-RTEXGGBX.mjs.map +0 -7
  304. package/dist/lib/node-esm/cli/index.mjs +0 -1109
  305. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  306. package/dist/lib/node-esm/compute-runtime-XD6A5Q7Q.mjs +0 -125
  307. package/dist/lib/node-esm/compute-runtime-XD6A5Q7Q.mjs.map +0 -7
  308. package/dist/lib/node-esm/hooks/index.mjs +0 -14
  309. package/dist/lib/node-esm/index.mjs +0 -124
  310. package/dist/lib/node-esm/index.mjs.map +0 -7
  311. package/dist/lib/node-esm/meta.json +0 -1
  312. package/dist/lib/node-esm/operation-resolver-XWJGBHJZ.mjs +0 -84
  313. package/dist/lib/node-esm/operation-resolver-XWJGBHJZ.mjs.map +0 -7
  314. package/dist/lib/node-esm/react-surface-BVNHCWQ7.mjs +0 -70
  315. package/dist/lib/node-esm/react-surface-BVNHCWQ7.mjs.map +0 -7
  316. package/dist/lib/node-esm/types/index.mjs +0 -15
  317. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  318. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  319. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  320. package/dist/types/src/capabilities/compute-runtime/compute-runtime.d.ts +0 -6
  321. package/dist/types/src/capabilities/compute-runtime/compute-runtime.d.ts.map +0 -1
  322. package/dist/types/src/capabilities/compute-runtime/index.d.ts +0 -3
  323. package/dist/types/src/capabilities/compute-runtime/index.d.ts.map +0 -1
  324. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  325. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  326. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  327. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  328. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  329. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  330. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  331. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  332. package/dist/types/src/cli/commands/trigger/create/index.d.ts.map +0 -1
  333. package/dist/types/src/cli/commands/trigger/create/queue.d.ts.map +0 -1
  334. package/dist/types/src/cli/commands/trigger/create/subscription.d.ts.map +0 -1
  335. package/dist/types/src/cli/commands/trigger/create/timer.d.ts.map +0 -1
  336. package/dist/types/src/cli/commands/trigger/index.d.ts.map +0 -1
  337. package/dist/types/src/cli/commands/trigger/list.d.ts.map +0 -1
  338. package/dist/types/src/cli/commands/trigger/options.d.ts.map +0 -1
  339. package/dist/types/src/cli/commands/trigger/remove.d.ts.map +0 -1
  340. package/dist/types/src/cli/commands/trigger/update/index.d.ts.map +0 -1
  341. package/dist/types/src/cli/commands/trigger/update/queue.d.ts.map +0 -1
  342. package/dist/types/src/cli/commands/trigger/update/subscription.d.ts.map +0 -1
  343. package/dist/types/src/cli/commands/trigger/update/timer.d.ts.map +0 -1
  344. package/dist/types/src/cli/commands/trigger/util.d.ts +0 -46
  345. package/dist/types/src/cli/commands/trigger/util.d.ts.map +0 -1
  346. package/dist/types/src/cli/index.d.ts +0 -2
  347. package/dist/types/src/cli/index.d.ts.map +0 -1
  348. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  349. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +0 -12
  350. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +0 -1
  351. package/dist/types/src/types/capabilities.d.ts +0 -22
  352. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  353. package/dist/types/src/types/events.d.ts +0 -5
  354. package/dist/types/src/types/events.d.ts.map +0 -1
  355. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -72
  356. package/src/capabilities/app-graph-builder/index.ts +0 -7
  357. package/src/capabilities/compute-runtime/compute-runtime.ts +0 -146
  358. package/src/capabilities/compute-runtime/index.ts +0 -7
  359. package/src/capabilities/operation-resolver/index.ts +0 -7
  360. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -80
  361. package/src/capabilities/react-surface/index.ts +0 -7
  362. package/src/capabilities/react-surface/react-surface.tsx +0 -61
  363. package/src/cli/index.ts +0 -5
  364. package/src/cli/plugin.ts +0 -24
  365. package/src/hooks/useComputeRuntimeCallback.ts +0 -67
  366. package/src/types/capabilities.ts +0 -43
  367. package/src/types/events.ts +0 -11
  368. /package/dist/lib/{browser/AutomationPanel-EHRSV2DL.mjs.map → neutral/AutomationPanel-OKF2MDLO.mjs.map} +0 -0
  369. /package/dist/lib/{browser/FunctionsPanel-5WPUZGRB.mjs.map → neutral/AutomationPlugin.mjs.map} +0 -0
  370. /package/dist/lib/{browser/FunctionsRegistry-XRXIZRLL.mjs.map → neutral/TriggerSettings-XCHIZPOR.mjs.map} +0 -0
  371. /package/dist/lib/{browser/hooks/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  372. /package/dist/lib/{browser/types → neutral/components}/index.mjs.map +0 -0
  373. /package/dist/lib/{node-esm → neutral}/hooks/index.mjs.map +0 -0
  374. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  375. /package/dist/lib/{node-esm/AutomationPanel-F7MPUR7U.mjs.map → neutral/meta.mjs.map} +0 -0
  376. /package/dist/lib/{node-esm/FunctionsPanel-UFL5LT2R.mjs.map → neutral/operations/index.mjs.map} +0 -0
  377. /package/dist/lib/{node-esm/FunctionsRegistry-574OBZ5T.mjs.map → neutral/testing.mjs.map} +0 -0
  378. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  379. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
  380. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  381. /package/dist/types/src/{cli/commands → commands}/trigger/update/subscription.d.ts +0 -0
  382. /package/dist/types/src/{cli/commands → commands}/trigger/update/timer.d.ts +0 -0
  383. /package/src/{cli/commands → commands}/index.ts +0 -0
  384. /package/src/{cli/commands → commands}/trigger/create/index.ts +0 -0
  385. /package/src/{cli/commands → commands}/trigger/index.ts +0 -0
  386. /package/src/{cli/commands → commands}/trigger/update/index.ts +0 -0
@@ -1,46 +0,0 @@
1
- import * as Prompt from '@effect/cli/Prompt';
2
- import * as Effect from 'effect/Effect';
3
- import type * as Schema from 'effect/Schema';
4
- import { Database } from '@dxos/echo';
5
- import { Trigger } from '@dxos/functions';
6
- export type TriggerRemoteStatus = 'available' | 'not available' | 'n/a';
7
- /**
8
- * Determines the remote status of a trigger.
9
- * Only timer/cron triggers can be checked for remote availability.
10
- */
11
- export declare const getTriggerRemoteStatus: (trigger: Trigger.Trigger, remoteCronIds: string[]) => TriggerRemoteStatus;
12
- /**
13
- * Pretty prints a trigger with ANSI colors.
14
- */
15
- export declare const printTrigger: (trigger: Trigger.Trigger, remoteStatus?: TriggerRemoteStatus | undefined) => Effect.Effect<import("@effect/printer/Doc").Doc<any>, import("@dxos/echo/Err").ObjectNotFoundError, never>;
16
- /**
17
- * Prompts for input values based on an Effect schema.
18
- * First shows a multi-select to choose which properties to specify,
19
- * then prompts for values of the selected properties.
20
- * Required properties are automatically included and cannot be unselected.
21
- * @param schema - The Effect schema to prompt for
22
- * @param defaults - Optional default values to use as initial values and pre-select optional properties
23
- */
24
- export declare const promptForSchemaInput: (schema: Schema.Schema.AnyNoContext | undefined, defaults?: Record<string, any> | undefined) => Effect.Effect<Record<string, any>, import("@effect/platform/Terminal").QuitException, Database.Service | Prompt.Prompt.Environment>;
25
- /**
26
- * Selects a function interactively from available functions in the database.
27
- * Queries the database for functions and prompts the user to select one.
28
- */
29
- export declare const selectFunction: () => Effect.Effect<string, Error, Database.Service | import("@effect/platform/Terminal").Terminal>;
30
- /**
31
- * Selects a trigger interactively from available triggers.
32
- * If kind is provided, filters triggers by that kind.
33
- * Queries the database for triggers and prompts the user to select one.
34
- */
35
- export declare const selectTrigger: (kind?: "timer" | "queue" | "email" | "subscription" | "webhook" | undefined) => Effect.Effect<string, Error | import("@dxos/echo/Err").ObjectNotFoundError, Database.Service | import("@effect/platform/Terminal").Terminal>;
36
- /**
37
- * Selects a queue interactively from available queues in the database.
38
- * Queries schemas with QueueAnnotation, then queries objects of those types,
39
- * and extracts queue DXNs from the objects' queue properties.
40
- */
41
- export declare const selectQueue: () => Effect.Effect<string, Error, Database.Service | import("@effect/platform/Terminal").Terminal>;
42
- /**
43
- * Pretty prints trigger removal result with ANSI colors.
44
- */
45
- export declare const printTriggerRemoved: (id: string) => import("@effect/printer/Doc").Doc<any>;
46
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/trigger/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAG7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAc,QAAQ,EAAkC,MAAM,YAAY,CAAC;AAElF,OAAO,EAAY,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,eAAe,GAAG,KAAK,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,OAAO,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,KAAG,mBAK1F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,0LAiCvB,CAAC;AA2BH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,qOAoK/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc,qGAiBzB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa,+NA+BxB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,WAAW,qGAqDtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,IAAI,MAAM,2CACqD,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './plugin';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/cli/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C,eAAO,MAAM,gBAAgB,4BAQ5B,CAAC"}
@@ -1,12 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import * as Exit from 'effect/Exit';
3
- import { type DependencyList } from 'react';
4
- import { type Key } from '@dxos/echo';
5
- import { type FunctionDefinition, FunctionInvocationService, TracingService } from '@dxos/functions';
6
- import { AutomationCapabilities } from '../types';
7
- /**
8
- * Create an effectful function that has access to compute services
9
- */
10
- export declare const useComputeRuntimeCallback: <T>(id: Key.SpaceId | undefined, fn: () => Effect.Effect<T, any, AutomationCapabilities.ComputeServices>, deps?: DependencyList) => (() => Promise<T>);
11
- export declare const invokeFunctionWithTracing: <I, O>(functionDef: FunctionDefinition<I, O>, inputData: I) => Effect.Effect<Exit.Exit<O, never>, never, FunctionInvocationService | TracingService>;
12
- //# sourceMappingURL=useComputeRuntimeCallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useComputeRuntimeCallback.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useComputeRuntimeCallback.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,kBAAkB,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AAEH,eAAO,MAAM,yBAAyB,GAAI,CAAC,EACzC,IAAI,GAAG,CAAC,OAAO,GAAG,SAAS,EAC3B,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,sBAAsB,CAAC,eAAe,CAAC,EACvE,OAAO,cAAc,KACpB,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAWnB,CAAC;AAGF,eAAO,MAAM,yBAAyB,GAAI,CAAC,EAAE,CAAC,EAAE,aAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,0FA4B/F,CAAC"}
@@ -1,22 +0,0 @@
1
- import type * as ManagedRuntime from 'effect/ManagedRuntime';
2
- import { type AiService, type ToolExecutionService, type ToolResolverService } from '@dxos/ai';
3
- import { Capability } from '@dxos/app-framework';
4
- import { type Database, type Feed } from '@dxos/echo';
5
- import type { CredentialsService, FunctionInvocationService, QueueService, TracingService } from '@dxos/functions';
6
- import type { TriggerDispatcher, TriggerStateStore } from '@dxos/functions-runtime';
7
- import type { SpaceId } from '@dxos/keys';
8
- export declare namespace AutomationCapabilities {
9
- /**
10
- * Service stack for executing agents, functions, and triggers.
11
- */
12
- type ComputeServices = TriggerDispatcher | TriggerStateStore | AiService.AiService | Database.Service | Feed.Service | QueueService | CredentialsService | FunctionInvocationService | TracingService | ToolResolverService | ToolExecutionService;
13
- type ComputeRuntime = ManagedRuntime.ManagedRuntime<AutomationCapabilities.ComputeServices, never>;
14
- interface ComputeRuntimeProvider {
15
- getRuntime(spaceId: SpaceId): ComputeRuntime;
16
- }
17
- /**
18
- * Runtime for executing agents, functions, and triggers.
19
- */
20
- const ComputeRuntime: Capability.InterfaceDef<ComputeRuntimeProvider>;
21
- }
22
- //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/types/capabilities.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnH,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,yBAAiB,sBAAsB,CAAC;IACtC;;OAEG;IACH,KAAY,eAAe,GACvB,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,CAAC,SAAS,GACnB,QAAQ,CAAC,OAAO,GAChB,IAAI,CAAC,OAAO,GACZ,YAAY,GACZ,kBAAkB,GAClB,yBAAyB,GACzB,cAAc,GAEd,mBAAmB,GACnB,oBAAoB,CAAC;IAEzB,KAAY,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC1G,UAAiB,sBAAsB;QACrC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC;KAC9C;IAED;;OAEG;IACI,MAAM,cAAc,iDAAmF,CAAC;CAChH"}
@@ -1,5 +0,0 @@
1
- import { ActivationEvent } from '@dxos/app-framework';
2
- export declare namespace AutomationEvents {
3
- const ComputeRuntimeReady: ActivationEvent.ActivationEvent;
4
- }
5
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/types/events.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,yBAAiB,gBAAgB,CAAC;IACzB,MAAM,mBAAmB,iCAAiE,CAAC;CACnG"}
@@ -1,72 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capability } from '@dxos/app-framework';
8
- import { AppCapabilities } from '@dxos/app-toolkit';
9
- import { Script } from '@dxos/functions';
10
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
11
- import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
12
- import { meta as spaceMeta } from '@dxos/plugin-space';
13
-
14
- import { meta } from '../../meta';
15
-
16
- export default Capability.makeModule(
17
- Effect.fnUntraced(function* () {
18
- const extensions = yield* Effect.all([
19
- GraphBuilder.createExtension({
20
- id: `${meta.id}/space-settings-automation`,
21
- match: NodeMatcher.whenNodeType(`${spaceMeta.id}/settings`),
22
- connector: (node) =>
23
- Effect.succeed([
24
- {
25
- id: `automation-${node.id}`,
26
- type: `${meta.id}/space-settings-automation`,
27
- data: `${meta.id}/space-settings-automation`,
28
- properties: {
29
- label: ['automation panel label', { ns: meta.id }],
30
- icon: 'ph--lightning--regular',
31
- },
32
- },
33
- ]),
34
- }),
35
- GraphBuilder.createExtension({
36
- id: `${meta.id}/space-settings-functions`,
37
- match: NodeMatcher.whenNodeType(`${spaceMeta.id}/settings`),
38
- connector: (node) =>
39
- Effect.succeed([
40
- {
41
- id: `functions-${node.id}`,
42
- type: `${meta.id}/space-settings-functions`,
43
- data: `${meta.id}/space-settings-functions`,
44
- properties: {
45
- label: ['functions panel label', { ns: meta.id }],
46
- icon: 'ph--function--regular',
47
- },
48
- },
49
- ]),
50
- }),
51
- GraphBuilder.createTypeExtension({
52
- id: `${meta.id}/script-companion`,
53
- type: Script.Script,
54
- connector: (script) =>
55
- Effect.succeed([
56
- {
57
- id: [script.id, 'automation'].join(ATTENDABLE_PATH_SEPARATOR),
58
- type: PLANK_COMPANION_TYPE,
59
- data: 'automation',
60
- properties: {
61
- label: ['script automation label', { ns: meta.id }],
62
- icon: 'ph--lightning--regular',
63
- disposition: 'hidden',
64
- },
65
- },
66
- ]),
67
- }),
68
- ]);
69
-
70
- return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
71
- }),
72
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
@@ -1,146 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as BrowserKeyValueStore from '@effect/platform-browser/BrowserKeyValueStore';
6
- import { Registry } from '@effect-atom/atom';
7
- import * as Effect from 'effect/Effect';
8
- import * as Layer from 'effect/Layer';
9
- import * as ManagedRuntime from 'effect/ManagedRuntime';
10
-
11
- import { GenericToolkit } from '@dxos/ai';
12
- import { Capabilities, Capability, type CapabilityManager } from '@dxos/app-framework';
13
- import { AppCapabilities } from '@dxos/app-toolkit';
14
- import { ToolExecutionServices } from '@dxos/assistant';
15
- import { SpaceProperties } from '@dxos/client/echo';
16
- import { Resource } from '@dxos/context';
17
- import { Database, Feed, Obj, Query, Ref } from '@dxos/echo';
18
- import { createFeedServiceLayer } from '@dxos/echo-db';
19
- import { CredentialsService, QueueService } from '@dxos/functions';
20
- import {
21
- FunctionImplementationResolver,
22
- FunctionInvocationServiceLayerWithLocalLoopbackExecutor,
23
- RemoteFunctionExecutionService,
24
- TracingServiceExt,
25
- TriggerDispatcher,
26
- TriggerStateStore,
27
- } from '@dxos/functions-runtime';
28
- import { invariant } from '@dxos/invariant';
29
- import { type SpaceId } from '@dxos/keys';
30
- import { ClientCapabilities } from '@dxos/plugin-client/types';
31
-
32
- import { AutomationCapabilities } from '../../types';
33
-
34
- export default Capability.makeModule(
35
- Effect.fnUntraced(function* () {
36
- const capabilities = yield* Capability.Service;
37
- const provider = yield* Effect.tryPromise(() => new ComputeRuntimeProviderImpl(capabilities).open());
38
- return Capability.contributes(AutomationCapabilities.ComputeRuntime, provider, () =>
39
- Effect.tryPromise(() => provider.close()),
40
- );
41
- }),
42
- );
43
-
44
- /**
45
- * Adapts plugin capabilities to runtime layers.
46
- */
47
- class ComputeRuntimeProviderImpl extends Resource implements AutomationCapabilities.ComputeRuntimeProvider {
48
- readonly #runtimes = new Map<SpaceId, AutomationCapabilities.ComputeRuntime>();
49
- readonly #capabilities: CapabilityManager.CapabilityManager;
50
-
51
- constructor(capabilities: CapabilityManager.CapabilityManager) {
52
- super();
53
- this.#capabilities = capabilities;
54
- }
55
-
56
- protected override async _open() {}
57
-
58
- protected override async _close() {
59
- await Promise.all(Array.from(this.#runtimes.values()).map((rt) => rt.dispose()));
60
- this.#runtimes.clear();
61
- }
62
-
63
- getRuntime(spaceId: SpaceId): AutomationCapabilities.ComputeRuntime {
64
- if (this.#runtimes.has(spaceId)) {
65
- return this.#runtimes.get(spaceId)!;
66
- }
67
-
68
- const layer = Layer.unwrapEffect(
69
- Effect.gen(this, function* () {
70
- const client = this.#capabilities.get(ClientCapabilities.Client);
71
- const aiServiceLayer =
72
- this.#capabilities.get(AppCapabilities.AiServiceLayer) ?? Layer.die('AiService not found');
73
- const registry = this.#capabilities.get(Capabilities.AtomRegistry);
74
-
75
- // TODO(dmaretskyi): Make these reactive.
76
- const functions = [
77
- ...this.#capabilities.getAll(AppCapabilities.Functions).flat(),
78
- ...this.#capabilities.getAll(AppCapabilities.BlueprintDefinition).flatMap((blueprint) => blueprint.functions),
79
- ];
80
-
81
- const genericToolkitProvider = Layer.succeed(GenericToolkit.Provider, {
82
- getToolkit: () => {
83
- const toolkits = this.#capabilities.getAll(AppCapabilities.Toolkit);
84
- return GenericToolkit.merge(...toolkits);
85
- },
86
- });
87
-
88
- const space = client.spaces.get(spaceId);
89
- invariant(space, `Invalid space: ${spaceId}`);
90
- yield* Effect.promise(() => space.waitUntilReady());
91
-
92
- return Layer.mergeAll(TriggerDispatcher.layer({ timeControl: 'natural' })).pipe(
93
- Layer.provideMerge(Layer.succeed(Registry.AtomRegistry, registry)),
94
- Layer.provideMerge(
95
- Layer.mergeAll(
96
- TracingServiceLive,
97
- TriggerStateStore.layerKv.pipe(Layer.provide(BrowserKeyValueStore.layerLocalStorage)),
98
- ToolExecutionServices,
99
- ),
100
- ),
101
- Layer.provideMerge(
102
- FunctionInvocationServiceLayerWithLocalLoopbackExecutor.pipe(
103
- Layer.provideMerge(genericToolkitProvider),
104
- Layer.provideMerge(FunctionImplementationResolver.layerTest({ functions })),
105
- Layer.provideMerge(
106
- RemoteFunctionExecutionService.fromClient(
107
- client,
108
- // If agent is not enabled do not provide spaceId because space context will be unavailable on EDGE.
109
- client.config.get('runtime.client.edgeFeatures.agents') ? spaceId : undefined,
110
- ),
111
- ),
112
- Layer.provideMerge(aiServiceLayer),
113
- Layer.provideMerge(CredentialsService.layerFromDatabase()),
114
- Layer.provideMerge(space ? Database.layer(space.db) : Database.notAvailable),
115
- Layer.provideMerge(space ? QueueService.layer(space.queues) : QueueService.notAvailable),
116
- Layer.provideMerge(space ? createFeedServiceLayer(space.queues) : Feed.notAvailable),
117
- ),
118
- ),
119
- );
120
- }),
121
- );
122
-
123
- const runtime = ManagedRuntime.make(layer);
124
- this.#runtimes.set(spaceId, runtime);
125
- return runtime;
126
- }
127
- }
128
-
129
- const TracingServiceLive = Layer.unwrapEffect(
130
- Effect.gen(function* () {
131
- const objects = yield* Database.runQuery(Query.type(SpaceProperties));
132
- const [properties] = objects;
133
- invariant(properties);
134
- // TODO(burdon): Check ref target has loaded?
135
- if (!properties.invocationTraceQueue || !properties.invocationTraceQueue.target) {
136
- const queue = yield* QueueService.createQueue({ subspaceTag: 'trace' });
137
- Obj.change(properties, (m) => {
138
- m.invocationTraceQueue = Ref.fromDXN(queue.dxn);
139
- });
140
- }
141
-
142
- const queue = properties.invocationTraceQueue.target;
143
- invariant(queue);
144
- return TracingServiceExt.layerInvocationsQueue({ invocationTraceQueue: queue });
145
- }),
146
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const ComputeRuntime = Capability.lazy('ComputeRuntime', () => import('./compute-runtime'));
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const OperationResolver = Capability.lazy('OperationResolver', () => import('./operation-resolver'));
@@ -1,80 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capabilities, Capability } from '@dxos/app-framework';
8
- import { LayoutOperation } from '@dxos/app-toolkit';
9
- import { Obj, Ref } from '@dxos/echo';
10
- import { Function, Script, Trigger } from '@dxos/functions';
11
- import { type DXN } from '@dxos/keys';
12
- import { Operation, OperationResolver } from '@dxos/operation';
13
- import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
14
- import { SpaceOperation } from '@dxos/plugin-space/types';
15
- import { Filter } from '@dxos/react-client/echo';
16
-
17
- import { AutomationOperation } from '../../types';
18
-
19
- export default Capability.makeModule(
20
- Effect.fnUntraced(function* () {
21
- return Capability.contributes(Capabilities.OperationResolver, [
22
- OperationResolver.make({
23
- operation: AutomationOperation.CreateTriggerFromTemplate,
24
- handler: Effect.fnUntraced(function* ({ db, template, enabled = false, scriptName, input }) {
25
- const trigger = Trigger.make({ enabled, input });
26
-
27
- // TODO(wittjosiah): Factor out function lookup by script name?
28
- if (scriptName) {
29
- const scripts = yield* Effect.promise(() =>
30
- db.query(Filter.type(Script.Script, { name: scriptName })).run(),
31
- );
32
- const [script] = scripts;
33
- if (script) {
34
- const functions = yield* Effect.promise(() =>
35
- db.query(Filter.type(Function.Function, { source: Ref.make(script) })).run(),
36
- );
37
- const [fn] = functions;
38
- if (fn) {
39
- Obj.change(trigger, (t) => {
40
- t.function = Ref.make(fn);
41
- });
42
- }
43
- }
44
- }
45
-
46
- switch (template.type) {
47
- case 'timer': {
48
- Obj.change(trigger, (t) => {
49
- t.spec = { kind: 'timer', cron: template.cron };
50
- });
51
- break;
52
- }
53
- case 'queue': {
54
- Obj.change(trigger, (t) => {
55
- t.spec = {
56
- kind: 'queue',
57
- queue: (template.queueDXN as DXN).toString(),
58
- };
59
- });
60
- break;
61
- }
62
- default: {
63
- break;
64
- }
65
- }
66
-
67
- yield* Operation.invoke(SpaceOperation.AddObject, {
68
- object: trigger,
69
- target: db,
70
- hidden: true,
71
- });
72
- yield* Operation.invoke(LayoutOperation.Open, {
73
- subject: [`automation-settings${ATTENDABLE_PATH_SEPARATOR}${db.spaceId}`],
74
- workspace: db.spaceId,
75
- });
76
- }),
77
- }),
78
- ]);
79
- }),
80
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import React from 'react';
7
-
8
- import { Capabilities, Capability } from '@dxos/app-framework';
9
- import { Surface } from '@dxos/app-framework/ui';
10
- import { useLayout } from '@dxos/app-toolkit/ui';
11
- import { Obj } from '@dxos/echo';
12
- import { getSpace, parseId, useSpace } from '@dxos/react-client/echo';
13
-
14
- import { AutomationSettings, FunctionsContainer } from '../../containers';
15
- import { meta } from '../../meta';
16
-
17
- export default Capability.makeModule(() =>
18
- Effect.succeed(
19
- Capability.contributes(Capabilities.ReactSurface, [
20
- Surface.create({
21
- id: `${meta.id}/space-settings-functions`,
22
- role: 'article',
23
- filter: (data): data is { subject: string } => data.subject === `${meta.id}/space-settings-functions`,
24
- component: () => {
25
- const layout = useLayout();
26
- const { spaceId } = parseId(layout.workspace);
27
- const space = useSpace(spaceId);
28
- if (!space) {
29
- return null;
30
- }
31
-
32
- return <FunctionsContainer space={space} />;
33
- },
34
- }),
35
- Surface.create({
36
- id: `${meta.id}/space-settings-automation`,
37
- role: 'article',
38
- filter: (data): data is { subject: string } => data.subject === `${meta.id}/space-settings-automation`,
39
- component: () => {
40
- const layout = useLayout();
41
- const { spaceId } = parseId(layout.workspace);
42
- const space = useSpace(spaceId);
43
- if (!space) {
44
- return null;
45
- }
46
-
47
- return <AutomationSettings space={space} />;
48
- },
49
- }),
50
- Surface.create({
51
- id: `${meta.id}/companion/automation`,
52
- role: 'article',
53
- filter: (data): data is { companionTo: Obj.Unknown; subject: 'automation' } =>
54
- Obj.isObject(data.companionTo) && data.subject === 'automation',
55
- component: ({ data }) => {
56
- return <AutomationSettings space={getSpace(data.companionTo)!} object={data.companionTo} />;
57
- },
58
- }),
59
- ]),
60
- ),
61
- );
package/src/cli/index.ts DELETED
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export * from './plugin';
package/src/cli/plugin.ts DELETED
@@ -1,24 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Plugin } from '@dxos/app-framework';
6
- import { AppPlugin } from '@dxos/app-toolkit';
7
- import { ClientEvents } from '@dxos/plugin-client/types';
8
-
9
- // NOTE: Must not import from index to avoid pulling in react dependencies.
10
- import { ComputeRuntime } from '../capabilities/compute-runtime';
11
- import { meta } from '../meta';
12
- import { AutomationEvents } from '../types';
13
-
14
- import { trigger } from './commands';
15
-
16
- export const AutomationPlugin = Plugin.define(meta).pipe(
17
- AppPlugin.addCommandModule({ commands: [trigger] }),
18
- Plugin.addModule({
19
- activatesOn: ClientEvents.ClientReady,
20
- activatesAfter: [AutomationEvents.ComputeRuntimeReady],
21
- activate: ComputeRuntime,
22
- }),
23
- Plugin.make,
24
- );
@@ -1,67 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Cause from 'effect/Cause';
6
- import * as Effect from 'effect/Effect';
7
- import * as Exit from 'effect/Exit';
8
- import { type DependencyList, useCallback } from 'react';
9
-
10
- import { useCapability } from '@dxos/app-framework/ui';
11
- import { type Key } from '@dxos/echo';
12
- import { type FunctionDefinition, FunctionInvocationService, TracingService } from '@dxos/functions';
13
- import { log } from '@dxos/log';
14
-
15
- import { AutomationCapabilities } from '../types';
16
-
17
- /**
18
- * Create an effectful function that has access to compute services
19
- */
20
- // TODO(burdon): Factor out (figure out cross-plugin capabilities dependencies).
21
- export const useComputeRuntimeCallback = <T>(
22
- id: Key.SpaceId | undefined,
23
- fn: () => Effect.Effect<T, any, AutomationCapabilities.ComputeServices>,
24
- deps?: DependencyList,
25
- ): (() => Promise<T>) => {
26
- const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
27
- const runtime = id !== undefined ? computeRuntime.getRuntime(id) : undefined;
28
-
29
- return useCallback(() => {
30
- if (!runtime) {
31
- throw new TypeError('Space not provided to useComputeRuntimeCallback');
32
- }
33
-
34
- return runtime.runPromise(fn());
35
- }, [runtime, ...(deps ?? [])]);
36
- };
37
-
38
- // TODO(wittjosiah): Function invoking should automatically be traced (DX-647).
39
- export const invokeFunctionWithTracing = <I, O>(functionDef: FunctionDefinition<I, O>, inputData: I) =>
40
- Effect.gen(function* () {
41
- const tracer = yield* TracingService;
42
- const trace = yield* tracer.traceInvocationStart({
43
- target: undefined,
44
- payload: {
45
- data: {},
46
- },
47
- });
48
-
49
- // Invoke the function.
50
- const result = yield* FunctionInvocationService.invokeFunction(functionDef, inputData).pipe(
51
- Effect.provide(trace.invocationTraceQueue ? TracingService.layerInvocation(trace) : TracingService.layerNoop),
52
- Effect.exit,
53
- );
54
-
55
- if (Exit.isFailure(result)) {
56
- const error = Cause.prettyErrors(result.cause)[0];
57
- log.error(error.message, error.cause ?? error.stack);
58
- }
59
-
60
- yield* tracer.traceInvocationEnd({
61
- trace,
62
- // TODO(dmaretskyi): Might miss errors.
63
- exception: Exit.isFailure(result) ? Cause.prettyErrors(result.cause)[0] : undefined,
64
- });
65
-
66
- return result;
67
- });
@@ -1,43 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import type * as ManagedRuntime from 'effect/ManagedRuntime';
6
-
7
- import { type AiService, type ToolExecutionService, type ToolResolverService } from '@dxos/ai';
8
- import { Capability } from '@dxos/app-framework';
9
- import { type Database, type Feed } from '@dxos/echo';
10
- import type { CredentialsService, FunctionInvocationService, QueueService, TracingService } from '@dxos/functions';
11
- import type { TriggerDispatcher, TriggerStateStore } from '@dxos/functions-runtime';
12
- import type { SpaceId } from '@dxos/keys';
13
-
14
- import { meta } from '../meta';
15
-
16
- export namespace AutomationCapabilities {
17
- /**
18
- * Service stack for executing agents, functions, and triggers.
19
- */
20
- export type ComputeServices =
21
- | TriggerDispatcher
22
- | TriggerStateStore
23
- | AiService.AiService
24
- | Database.Service
25
- | Feed.Service
26
- | QueueService
27
- | CredentialsService
28
- | FunctionInvocationService
29
- | TracingService
30
- // TODO(dmaretskyi): Those should be provided at AI-chat call site.
31
- | ToolResolverService
32
- | ToolExecutionService;
33
-
34
- export type ComputeRuntime = ManagedRuntime.ManagedRuntime<AutomationCapabilities.ComputeServices, never>;
35
- export interface ComputeRuntimeProvider {
36
- getRuntime(spaceId: SpaceId): ComputeRuntime;
37
- }
38
-
39
- /**
40
- * Runtime for executing agents, functions, and triggers.
41
- */
42
- export const ComputeRuntime = Capability.make<ComputeRuntimeProvider>(`${meta.id}/capability/compute-runtime`);
43
- }