@dxos/plugin-automation 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6

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 (259) hide show
  1. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  2. package/dist/lib/browser/chunk-NQY2QL47.mjs +44 -0
  3. package/dist/lib/browser/chunk-NQY2QL47.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-JOXPQ27I.mjs → chunk-WZKRIDQ6.mjs} +9 -38
  5. package/dist/lib/browser/chunk-WZKRIDQ6.mjs.map +7 -0
  6. package/dist/lib/browser/cli/index.mjs +96 -81
  7. package/dist/lib/browser/cli/index.mjs.map +3 -3
  8. package/dist/lib/browser/create-trigger-from-template-J2Z7AAHV.mjs +77 -0
  9. package/dist/lib/browser/create-trigger-from-template-J2Z7AAHV.mjs.map +7 -0
  10. package/dist/lib/browser/hooks/index.mjs +110 -6
  11. package/dist/lib/browser/hooks/index.mjs.map +4 -4
  12. package/dist/lib/browser/index.mjs +60 -92
  13. package/dist/lib/browser/index.mjs.map +4 -4
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/operations/index.mjs +14 -0
  16. package/dist/lib/browser/operations/index.mjs.map +7 -0
  17. package/dist/lib/browser/types/index.mjs +4 -4
  18. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  19. package/dist/lib/node-esm/{chunk-RX52VKI2.mjs → chunk-POUAOKR5.mjs} +9 -37
  20. package/dist/lib/node-esm/chunk-POUAOKR5.mjs.map +7 -0
  21. package/dist/lib/node-esm/chunk-Z6J7TDVZ.mjs +45 -0
  22. package/dist/lib/node-esm/chunk-Z6J7TDVZ.mjs.map +7 -0
  23. package/dist/lib/node-esm/cli/index.mjs +96 -81
  24. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  25. package/dist/lib/node-esm/create-trigger-from-template-TRSHHYEB.mjs +78 -0
  26. package/dist/lib/node-esm/create-trigger-from-template-TRSHHYEB.mjs.map +7 -0
  27. package/dist/lib/node-esm/hooks/index.mjs +110 -6
  28. package/dist/lib/node-esm/hooks/index.mjs.map +4 -4
  29. package/dist/lib/node-esm/index.mjs +60 -92
  30. package/dist/lib/node-esm/index.mjs.map +4 -4
  31. package/dist/lib/node-esm/meta.json +1 -1
  32. package/dist/lib/node-esm/operations/index.mjs +15 -0
  33. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  34. package/dist/lib/node-esm/types/index.mjs +4 -4
  35. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  36. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  37. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/compute-runtime.d.ts +6 -0
  39. package/dist/types/src/capabilities/compute-runtime.d.ts.map +1 -0
  40. package/dist/types/src/capabilities/index.d.ts +6 -4
  41. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/node.d.ts +3 -0
  43. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  45. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  46. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  47. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  48. package/dist/types/src/cli/commands/trigger/create/index.d.ts +1 -1
  49. package/dist/types/src/cli/commands/trigger/create/queue.d.ts +1 -1
  50. package/dist/types/src/cli/commands/trigger/create/queue.d.ts.map +1 -1
  51. package/dist/types/src/cli/commands/trigger/create/subscription.d.ts +1 -1
  52. package/dist/types/src/cli/commands/trigger/create/subscription.d.ts.map +1 -1
  53. package/dist/types/src/cli/commands/trigger/create/timer.d.ts +1 -1
  54. package/dist/types/src/cli/commands/trigger/create/timer.d.ts.map +1 -1
  55. package/dist/types/src/cli/commands/trigger/list.d.ts +1 -1
  56. package/dist/types/src/cli/commands/trigger/list.d.ts.map +1 -1
  57. package/dist/types/src/cli/commands/trigger/remove.d.ts +1 -1
  58. package/dist/types/src/cli/commands/trigger/update/queue.d.ts.map +1 -1
  59. package/dist/types/src/cli/commands/trigger/update/subscription.d.ts.map +1 -1
  60. package/dist/types/src/cli/commands/trigger/update/timer.d.ts.map +1 -1
  61. package/dist/types/src/cli/commands/trigger/util.d.ts +2 -2
  62. package/dist/types/src/cli/commands/trigger/util.d.ts.map +1 -1
  63. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  64. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +3 -4
  65. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  66. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +28 -30
  67. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -1
  69. package/dist/types/src/components/FunctionsRegistry/FunctionsRegistry.d.ts.map +1 -1
  70. package/dist/types/src/components/FunctionsRegistry/index.d.ts +3 -1
  71. package/dist/types/src/components/FunctionsRegistry/index.d.ts.map +1 -1
  72. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts +2 -2
  73. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts.map +1 -1
  74. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -1
  75. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  76. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +90 -91
  77. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  78. package/dist/types/src/components/index.d.ts +3 -4
  79. package/dist/types/src/components/index.d.ts.map +1 -1
  80. package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts +4 -0
  81. package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts.map +1 -0
  82. package/dist/types/src/containers/AutomationSettings/index.d.ts +3 -0
  83. package/dist/types/src/containers/AutomationSettings/index.d.ts.map +1 -0
  84. package/dist/types/src/{components → containers/FunctionsContainer}/FunctionsContainer.d.ts +0 -1
  85. package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts.map +1 -0
  86. package/dist/types/src/containers/FunctionsContainer/index.d.ts +3 -0
  87. package/dist/types/src/containers/FunctionsContainer/index.d.ts.map +1 -0
  88. package/dist/types/src/containers/TriggerSettings/TriggerSettings.d.ts.map +1 -0
  89. package/dist/types/src/containers/TriggerSettings/index.d.ts +3 -0
  90. package/dist/types/src/containers/TriggerSettings/index.d.ts.map +1 -0
  91. package/dist/types/src/containers/index.d.ts +5 -0
  92. package/dist/types/src/containers/index.d.ts.map +1 -0
  93. package/dist/types/src/hooks/index.d.ts +2 -0
  94. package/dist/types/src/hooks/index.d.ts.map +1 -1
  95. package/dist/types/src/hooks/useComputeRuntime.d.ts +7 -0
  96. package/dist/types/src/hooks/useComputeRuntime.d.ts.map +1 -0
  97. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +4 -3
  98. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +1 -1
  99. package/dist/types/src/hooks/useComputeRuntimeService.d.ts +5 -0
  100. package/dist/types/src/hooks/useComputeRuntimeService.d.ts.map +1 -0
  101. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts +2 -1
  102. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts.map +1 -1
  103. package/dist/types/src/index.d.ts +2 -5
  104. package/dist/types/src/index.d.ts.map +1 -1
  105. package/dist/types/src/operations/create-trigger-from-template.d.ts +5 -0
  106. package/dist/types/src/operations/create-trigger-from-template.d.ts.map +1 -0
  107. package/dist/types/src/operations/definitions.d.ts +19 -0
  108. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  109. package/dist/types/src/operations/index.d.ts +4 -0
  110. package/dist/types/src/operations/index.d.ts.map +1 -0
  111. package/dist/types/src/testing/test-functions.d.ts +16 -14
  112. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  113. package/dist/types/src/translations.d.ts +29 -31
  114. package/dist/types/src/translations.d.ts.map +1 -1
  115. package/dist/types/src/types/capabilities.d.ts +5 -3
  116. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  117. package/dist/types/src/types/schema.d.ts +9 -30
  118. package/dist/types/src/types/schema.d.ts.map +1 -1
  119. package/dist/types/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +73 -46
  121. package/src/AutomationPlugin.tsx +13 -10
  122. package/src/capabilities/app-graph-builder.ts +62 -0
  123. package/src/capabilities/{compute-runtime/compute-runtime.ts → compute-runtime.ts} +68 -21
  124. package/src/capabilities/index.ts +10 -4
  125. package/src/capabilities/operation-handler.ts +16 -0
  126. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +17 -20
  127. package/src/cli/commands/trigger/create/queue.ts +7 -6
  128. package/src/cli/commands/trigger/create/subscription.ts +7 -6
  129. package/src/cli/commands/trigger/create/timer.ts +7 -6
  130. package/src/cli/commands/trigger/list.ts +3 -2
  131. package/src/cli/commands/trigger/remove.ts +2 -2
  132. package/src/cli/commands/trigger/update/queue.ts +12 -12
  133. package/src/cli/commands/trigger/update/subscription.ts +12 -11
  134. package/src/cli/commands/trigger/update/timer.ts +12 -11
  135. package/src/cli/commands/trigger/util.ts +43 -29
  136. package/src/cli/plugin.ts +7 -6
  137. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +9 -7
  138. package/src/components/AutomationPanel/AutomationPanel.tsx +147 -77
  139. package/src/components/FunctionsPanel/FunctionsPanel.tsx +37 -31
  140. package/src/components/FunctionsRegistry/FunctionsRegistry.tsx +27 -24
  141. package/src/components/FunctionsRegistry/index.ts +4 -1
  142. package/src/components/TriggerEditor/FunctionInputEditor.tsx +17 -8
  143. package/src/components/TriggerEditor/SpecSelector.tsx +12 -3
  144. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +52 -9
  145. package/src/components/TriggerEditor/TriggerEditor.tsx +46 -17
  146. package/src/components/index.ts +1 -2
  147. package/src/containers/AutomationSettings/AutomationSettings.tsx +27 -0
  148. package/src/containers/AutomationSettings/index.ts +7 -0
  149. package/src/containers/FunctionsContainer/FunctionsContainer.tsx +33 -0
  150. package/src/containers/FunctionsContainer/index.ts +7 -0
  151. package/src/{components → containers/TriggerSettings}/TriggerSettings.tsx +8 -7
  152. package/src/containers/TriggerSettings/index.ts +6 -0
  153. package/src/containers/index.ts +9 -0
  154. package/src/hooks/index.ts +3 -0
  155. package/src/hooks/useComputeRuntime.ts +15 -0
  156. package/src/hooks/useComputeRuntimeCallback.ts +6 -6
  157. package/src/hooks/useComputeRuntimeService.ts +22 -0
  158. package/src/hooks/useTriggerRuntimeControls.ts +22 -8
  159. package/src/index.ts +2 -6
  160. package/src/meta.ts +1 -1
  161. package/src/operations/create-trigger-from-template.ts +74 -0
  162. package/src/operations/definitions.ts +27 -0
  163. package/src/operations/index.ts +9 -0
  164. package/src/testing/test-functions.ts +8 -5
  165. package/src/translations.ts +35 -36
  166. package/src/types/capabilities.ts +18 -6
  167. package/src/types/events.ts +2 -2
  168. package/src/types/schema.ts +3 -24
  169. package/dist/lib/browser/AutomationPanel-FAS6ADCW.mjs +0 -11
  170. package/dist/lib/browser/AutomationSettings-XN2OIYWL.mjs +0 -56
  171. package/dist/lib/browser/AutomationSettings-XN2OIYWL.mjs.map +0 -7
  172. package/dist/lib/browser/FunctionsContainer-6QLC7JP4.mjs +0 -129
  173. package/dist/lib/browser/FunctionsContainer-6QLC7JP4.mjs.map +0 -7
  174. package/dist/lib/browser/FunctionsPanel-ZX4J75UM.mjs +0 -10
  175. package/dist/lib/browser/app-graph-builder-LAQMEBMH.mjs +0 -84
  176. package/dist/lib/browser/app-graph-builder-LAQMEBMH.mjs.map +0 -7
  177. package/dist/lib/browser/chunk-54PANILA.mjs +0 -14
  178. package/dist/lib/browser/chunk-54PANILA.mjs.map +0 -7
  179. package/dist/lib/browser/chunk-BFUIVUQH.mjs +0 -102
  180. package/dist/lib/browser/chunk-BFUIVUQH.mjs.map +0 -7
  181. package/dist/lib/browser/chunk-BKFQBKYO.mjs +0 -8
  182. package/dist/lib/browser/chunk-BKFQBKYO.mjs.map +0 -7
  183. package/dist/lib/browser/chunk-JOXPQ27I.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-PZNBEKO5.mjs +0 -17
  185. package/dist/lib/browser/chunk-PZNBEKO5.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-QW3EM35H.mjs +0 -248
  187. package/dist/lib/browser/chunk-QW3EM35H.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-RAF2FJST.mjs +0 -86
  189. package/dist/lib/browser/chunk-RAF2FJST.mjs.map +0 -7
  190. package/dist/lib/browser/chunk-YWLEY2FD.mjs +0 -200
  191. package/dist/lib/browser/chunk-YWLEY2FD.mjs.map +0 -7
  192. package/dist/lib/browser/compute-runtime-WTWLQ67J.mjs +0 -114
  193. package/dist/lib/browser/compute-runtime-WTWLQ67J.mjs.map +0 -7
  194. package/dist/lib/browser/operation-resolver-Q3MWOR7K.mjs +0 -82
  195. package/dist/lib/browser/operation-resolver-Q3MWOR7K.mjs.map +0 -7
  196. package/dist/lib/browser/react-surface-EV3AC62F.mjs +0 -65
  197. package/dist/lib/browser/react-surface-EV3AC62F.mjs.map +0 -7
  198. package/dist/lib/node-esm/AutomationPanel-B7NAGDFA.mjs +0 -12
  199. package/dist/lib/node-esm/AutomationPanel-B7NAGDFA.mjs.map +0 -7
  200. package/dist/lib/node-esm/AutomationSettings-M5PMZJ6P.mjs +0 -57
  201. package/dist/lib/node-esm/AutomationSettings-M5PMZJ6P.mjs.map +0 -7
  202. package/dist/lib/node-esm/FunctionsContainer-J4O2ULWR.mjs +0 -130
  203. package/dist/lib/node-esm/FunctionsContainer-J4O2ULWR.mjs.map +0 -7
  204. package/dist/lib/node-esm/FunctionsPanel-SS6GIVNU.mjs +0 -11
  205. package/dist/lib/node-esm/FunctionsPanel-SS6GIVNU.mjs.map +0 -7
  206. package/dist/lib/node-esm/app-graph-builder-4UCMXHYY.mjs +0 -85
  207. package/dist/lib/node-esm/app-graph-builder-4UCMXHYY.mjs.map +0 -7
  208. package/dist/lib/node-esm/chunk-2CKVH7JC.mjs +0 -201
  209. package/dist/lib/node-esm/chunk-2CKVH7JC.mjs.map +0 -7
  210. package/dist/lib/node-esm/chunk-5FXNN3MV.mjs +0 -19
  211. package/dist/lib/node-esm/chunk-5FXNN3MV.mjs.map +0 -7
  212. package/dist/lib/node-esm/chunk-7QRUPEHH.mjs +0 -16
  213. package/dist/lib/node-esm/chunk-7QRUPEHH.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-HQLVREIX.mjs +0 -87
  215. package/dist/lib/node-esm/chunk-HQLVREIX.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-K7GCM342.mjs +0 -10
  217. package/dist/lib/node-esm/chunk-K7GCM342.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-KWKWOGS5.mjs +0 -103
  219. package/dist/lib/node-esm/chunk-KWKWOGS5.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-LJAXQ6CX.mjs +0 -249
  221. package/dist/lib/node-esm/chunk-LJAXQ6CX.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-RX52VKI2.mjs.map +0 -7
  223. package/dist/lib/node-esm/compute-runtime-ZHROOBLY.mjs +0 -115
  224. package/dist/lib/node-esm/compute-runtime-ZHROOBLY.mjs.map +0 -7
  225. package/dist/lib/node-esm/operation-resolver-R5GA4YNO.mjs +0 -83
  226. package/dist/lib/node-esm/operation-resolver-R5GA4YNO.mjs.map +0 -7
  227. package/dist/lib/node-esm/react-surface-S6VZJCEZ.mjs +0 -66
  228. package/dist/lib/node-esm/react-surface-S6VZJCEZ.mjs.map +0 -7
  229. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  230. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  231. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  232. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  233. package/dist/types/src/capabilities/compute-runtime/compute-runtime.d.ts +0 -6
  234. package/dist/types/src/capabilities/compute-runtime/compute-runtime.d.ts.map +0 -1
  235. package/dist/types/src/capabilities/compute-runtime/index.d.ts +0 -3
  236. package/dist/types/src/capabilities/compute-runtime/index.d.ts.map +0 -1
  237. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  238. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  239. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  240. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  241. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  242. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  243. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  244. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  245. package/dist/types/src/components/AutomationSettings.d.ts +0 -5
  246. package/dist/types/src/components/AutomationSettings.d.ts.map +0 -1
  247. package/dist/types/src/components/FunctionsContainer.d.ts.map +0 -1
  248. package/dist/types/src/components/TriggerSettings.d.ts.map +0 -1
  249. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -71
  250. package/src/capabilities/app-graph-builder/index.ts +0 -7
  251. package/src/capabilities/operation-resolver/index.ts +0 -7
  252. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -79
  253. package/src/capabilities/react-surface/index.ts +0 -7
  254. package/src/components/AutomationSettings.tsx +0 -30
  255. package/src/components/FunctionsContainer.tsx +0 -36
  256. /package/dist/lib/browser/{AutomationPanel-FAS6ADCW.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  257. /package/dist/lib/{browser/FunctionsPanel-ZX4J75UM.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
  258. /package/dist/types/src/{components → containers/TriggerSettings}/TriggerSettings.d.ts +0 -0
  259. /package/src/capabilities/{compute-runtime/index.ts → node.ts} +0 -0
@@ -0,0 +1,78 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ CreateTriggerFromTemplate
4
+ } from "./chunk-Z6J7TDVZ.mjs";
5
+ import "./chunk-POUAOKR5.mjs";
6
+ import "./chunk-HSLMI22Q.mjs";
7
+
8
+ // src/operations/create-trigger-from-template.ts
9
+ import * as Effect from "effect/Effect";
10
+ import { LayoutOperation, getSpacePath } from "@dxos/app-toolkit";
11
+ import { Obj, Ref } from "@dxos/echo";
12
+ import { Script, Trigger } from "@dxos/functions";
13
+ import { Operation } from "@dxos/operation";
14
+ import { SpaceOperation } from "@dxos/plugin-space/operations";
15
+ import { Filter } from "@dxos/react-client/echo";
16
+ import { meta } from "#meta";
17
+ var handler = CreateTriggerFromTemplate.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ db, template, enabled = false, scriptName, input }) {
18
+ const trigger = Trigger.make({
19
+ enabled,
20
+ input
21
+ });
22
+ if (scriptName) {
23
+ const scripts = yield* Effect.promise(() => db.query(Filter.type(Script.Script, {
24
+ name: scriptName
25
+ })).run());
26
+ const [script] = scripts;
27
+ if (script) {
28
+ const functions = yield* Effect.promise(() => db.query(Filter.type(Operation.PersistentOperation, {
29
+ source: Ref.make(script)
30
+ })).run());
31
+ const [fn] = functions;
32
+ if (fn) {
33
+ Obj.change(trigger, (obj) => {
34
+ obj.function = Ref.make(fn);
35
+ });
36
+ }
37
+ }
38
+ }
39
+ switch (template.type) {
40
+ case "timer": {
41
+ Obj.change(trigger, (obj) => {
42
+ obj.spec = {
43
+ kind: "timer",
44
+ cron: template.cron
45
+ };
46
+ });
47
+ break;
48
+ }
49
+ case "queue": {
50
+ Obj.change(trigger, (obj) => {
51
+ obj.spec = {
52
+ kind: "queue",
53
+ queue: template.queueDXN.toString()
54
+ };
55
+ });
56
+ break;
57
+ }
58
+ default: {
59
+ break;
60
+ }
61
+ }
62
+ yield* Operation.invoke(SpaceOperation.AddObject, {
63
+ object: trigger,
64
+ target: db,
65
+ hidden: true
66
+ });
67
+ yield* Operation.invoke(LayoutOperation.Open, {
68
+ subject: [
69
+ `${getSpacePath(db.spaceId)}/settings/${meta.id}.automations`
70
+ ],
71
+ workspace: getSpacePath(db.spaceId)
72
+ });
73
+ })));
74
+ var create_trigger_from_template_default = handler;
75
+ export {
76
+ create_trigger_from_template_default as default
77
+ };
78
+ //# sourceMappingURL=create-trigger-from-template-TRSHHYEB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-trigger-from-template.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Script, Trigger } from '@dxos/functions';\nimport { type DXN } from '@dxos/keys';\nimport { Operation } from '@dxos/operation';\nimport { SpaceOperation } from '@dxos/plugin-space/operations';\nimport { Filter } from '@dxos/react-client/echo';\n\nimport { meta } from '#meta';\nimport { CreateTriggerFromTemplate } from './definitions';\n\nconst handler: Operation.WithHandler<typeof CreateTriggerFromTemplate> = CreateTriggerFromTemplate.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ db, template, enabled = false, scriptName, input }) {\n const trigger = Trigger.make({ enabled, input });\n\n // TODO(wittjosiah): Factor out function lookup by script name?\n if (scriptName) {\n const scripts = yield* Effect.promise(() => db.query(Filter.type(Script.Script, { name: scriptName })).run());\n const [script] = scripts;\n if (script) {\n const functions = yield* Effect.promise(() =>\n db.query(Filter.type(Operation.PersistentOperation, { source: Ref.make(script) })).run(),\n );\n const [fn] = functions;\n if (fn) {\n Obj.change(trigger, (obj) => {\n obj.function = Ref.make(fn);\n });\n }\n }\n }\n\n switch (template.type) {\n case 'timer': {\n Obj.change(trigger, (obj) => {\n obj.spec = { kind: 'timer', cron: template.cron };\n });\n break;\n }\n case 'queue': {\n Obj.change(trigger, (obj) => {\n obj.spec = {\n kind: 'queue',\n queue: (template.queueDXN as DXN).toString(),\n };\n });\n break;\n }\n default: {\n break;\n }\n }\n\n yield* Operation.invoke(SpaceOperation.AddObject, {\n object: trigger,\n target: db,\n hidden: true,\n });\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`${getSpacePath(db.spaceId)}/settings/${meta.id}.automations`],\n workspace: getSpacePath(db.spaceId),\n });\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,KAAKC,WAAW;AACzB,SAASC,QAAQC,eAAe;AAEhC,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,cAAc;AAEvB,SAASC,YAAY;AAGrB,IAAMC,UAAmEC,0BAA0BC,KACjGC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,IAAIC,UAAUC,UAAU,OAAOC,YAAYC,MAAK,GAAE;AAC/E,QAAMC,UAAUC,QAAQC,KAAK;IAAEL;IAASE;EAAM,CAAA;AAG9C,MAAID,YAAY;AACd,UAAMK,UAAU,OAAcC,eAAQ,MAAMT,GAAGU,MAAMC,OAAOC,KAAKC,OAAOA,QAAQ;MAAEC,MAAMX;IAAW,CAAA,CAAA,EAAIY,IAAG,CAAA;AAC1G,UAAM,CAACC,MAAAA,IAAUR;AACjB,QAAIQ,QAAQ;AACV,YAAMC,YAAY,OAAcR,eAAQ,MACtCT,GAAGU,MAAMC,OAAOC,KAAKf,UAAUqB,qBAAqB;QAAEC,QAAQC,IAAIb,KAAKS,MAAAA;MAAQ,CAAA,CAAA,EAAID,IAAG,CAAA;AAExF,YAAM,CAACM,EAAAA,IAAMJ;AACb,UAAII,IAAI;AACNC,YAAIC,OAAOlB,SAAS,CAACmB,QAAAA;AACnBA,cAAIC,WAAWL,IAAIb,KAAKc,EAAAA;QAC1B,CAAA;MACF;IACF;EACF;AAEA,UAAQpB,SAASW,MAAI;IACnB,KAAK,SAAS;AACZU,UAAIC,OAAOlB,SAAS,CAACmB,QAAAA;AACnBA,YAAIE,OAAO;UAAEC,MAAM;UAASC,MAAM3B,SAAS2B;QAAK;MAClD,CAAA;AACA;IACF;IACA,KAAK,SAAS;AACZN,UAAIC,OAAOlB,SAAS,CAACmB,QAAAA;AACnBA,YAAIE,OAAO;UACTC,MAAM;UACNE,OAAQ5B,SAAS6B,SAAiBC,SAAQ;QAC5C;MACF,CAAA;AACA;IACF;IACA,SAAS;AACP;IACF;EACF;AAEA,SAAOlC,UAAUmC,OAAOC,eAAeC,WAAW;IAChDC,QAAQ9B;IACR+B,QAAQpC;IACRqC,QAAQ;EACV,CAAA;AACA,SAAOxC,UAAUmC,OAAOM,gBAAgBC,MAAM;IAC5CC,SAAS;MAAC,GAAGC,aAAazC,GAAG0C,OAAO,CAAA,aAAcC,KAAKC,EAAE;;IACzDC,WAAWJ,aAAazC,GAAG0C,OAAO;EACpC,CAAA;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,uCAAehD;",
6
+ "names": ["Effect", "LayoutOperation", "getSpacePath", "Obj", "Ref", "Script", "Trigger", "Operation", "SpaceOperation", "Filter", "meta", "handler", "CreateTriggerFromTemplate", "pipe", "Operation", "withHandler", "fnUntraced", "db", "template", "enabled", "scriptName", "input", "trigger", "Trigger", "make", "scripts", "promise", "query", "Filter", "type", "Script", "name", "run", "script", "functions", "PersistentOperation", "source", "Ref", "fn", "Obj", "change", "obj", "function", "spec", "kind", "cron", "queue", "queueDXN", "toString", "invoke", "SpaceOperation", "AddObject", "object", "target", "hidden", "LayoutOperation", "Open", "subject", "getSpacePath", "spaceId", "meta", "id", "workspace"]
7
+ }
@@ -1,14 +1,118 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- invokeFunctionWithTracing,
4
- useComputeRuntimeCallback,
5
- useTriggerRuntimeControls
6
- } from "../chunk-HQLVREIX.mjs";
7
- import "../chunk-RX52VKI2.mjs";
8
- import "../chunk-5FXNN3MV.mjs";
3
+ AutomationCapabilities
4
+ } from "../chunk-POUAOKR5.mjs";
5
+ import "../chunk-HSLMI22Q.mjs";
6
+
7
+ // src/hooks/useComputeRuntimeCallback.ts
8
+ import * as Cause from "effect/Cause";
9
+ import * as Effect from "effect/Effect";
10
+ import * as Exit from "effect/Exit";
11
+ import { useCallback } from "react";
12
+ import { FunctionInvocationService, TracingService } from "@dxos/functions";
13
+ import { log } from "@dxos/log";
14
+
15
+ // src/hooks/useComputeRuntime.ts
16
+ import { useCapability } from "@dxos/app-framework/ui";
17
+ var useComputeRuntime = (id) => {
18
+ const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
19
+ return id !== void 0 ? computeRuntime.getRuntime(id) : void 0;
20
+ };
21
+
22
+ // src/hooks/useComputeRuntimeCallback.ts
23
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-automation/src/hooks/useComputeRuntimeCallback.ts";
24
+ var useComputeRuntimeCallback = (id, fn, deps) => {
25
+ const runtime = useComputeRuntime(id);
26
+ return useCallback(() => {
27
+ if (!runtime) {
28
+ throw new TypeError("Space not provided to useComputeRuntimeCallback");
29
+ }
30
+ return runtime.runPromise(fn());
31
+ }, [
32
+ runtime,
33
+ ...deps ?? []
34
+ ]);
35
+ };
36
+ var invokeFunctionWithTracing = (functionDef, inputData) => Effect.gen(function* () {
37
+ const tracer = yield* TracingService;
38
+ const trace = yield* tracer.traceInvocationStart({
39
+ target: void 0,
40
+ payload: {
41
+ data: {}
42
+ }
43
+ });
44
+ const result = yield* FunctionInvocationService.invokeFunction(functionDef, inputData).pipe(Effect.provide(trace.invocationTraceQueue ? TracingService.layerInvocation(trace) : TracingService.layerNoop), Effect.exit);
45
+ if (Exit.isFailure(result)) {
46
+ const error = Cause.prettyErrors(result.cause)[0];
47
+ log.error(error.message, error.cause ?? error.stack, {
48
+ F: __dxlog_file,
49
+ L: 57,
50
+ S: this,
51
+ C: (f, a) => f(...a)
52
+ });
53
+ }
54
+ yield* tracer.traceInvocationEnd({
55
+ trace,
56
+ // TODO(dmaretskyi): Might miss errors.
57
+ exception: Exit.isFailure(result) ? Cause.prettyErrors(result.cause)[0] : void 0
58
+ });
59
+ return result;
60
+ });
61
+
62
+ // src/hooks/useTriggerRuntimeControls.ts
63
+ import { Atom, useAtomValue } from "@effect-atom/atom-react";
64
+ import * as Effect2 from "effect/Effect";
65
+ import { useEffect, useState } from "react";
66
+ import { Filter } from "@dxos/echo";
67
+ import { Trigger } from "@dxos/functions";
68
+ import { TriggerDispatcher } from "@dxos/functions-runtime";
69
+ import { useQuery } from "@dxos/react-client/echo";
70
+ var useTriggerRuntimeControls = (db) => {
71
+ const triggers = useQuery(db, Filter.type(Trigger.Trigger));
72
+ const [dispatcher, setDispatcher] = useState(void 0);
73
+ const init = useComputeRuntimeCallback(db?.spaceId, Effect2.fnUntraced(function* () {
74
+ const dispatcher2 = yield* TriggerDispatcher;
75
+ setDispatcher(dispatcher2);
76
+ }));
77
+ useEffect(() => {
78
+ void init();
79
+ }, []);
80
+ const state = useAtomValue(dispatcher?.state ?? Atom.make(void 0));
81
+ const start = useComputeRuntimeCallback(db?.spaceId, Effect2.fnUntraced(function* () {
82
+ const dispatcher2 = yield* TriggerDispatcher;
83
+ yield* dispatcher2.start();
84
+ }));
85
+ const stop = useComputeRuntimeCallback(db?.spaceId, Effect2.fnUntraced(function* () {
86
+ const dispatcher2 = yield* TriggerDispatcher;
87
+ yield* dispatcher2.stop();
88
+ }));
89
+ return {
90
+ triggers,
91
+ state,
92
+ start: () => void start(),
93
+ stop: () => void stop()
94
+ };
95
+ };
96
+
97
+ // src/hooks/useComputeRuntimeService.ts
98
+ import { use } from "react";
99
+ import { unwrapExit } from "@dxos/effect";
100
+ import { useMemo } from "react";
101
+ var useComputeRuntimeService = (tag, spaceId) => {
102
+ const runtime = useComputeRuntime(spaceId);
103
+ if (!runtime) {
104
+ return void 0;
105
+ }
106
+ return unwrapExit(use(useMemo(() => runtime.runPromiseExit(tag), [
107
+ runtime,
108
+ tag
109
+ ])));
110
+ };
9
111
  export {
10
112
  invokeFunctionWithTracing,
113
+ useComputeRuntime,
11
114
  useComputeRuntimeCallback,
115
+ useComputeRuntimeService,
12
116
  useTriggerRuntimeControls
13
117
  };
14
118
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
3
+ "sources": ["../../../../src/hooks/useComputeRuntimeCallback.ts", "../../../../src/hooks/useComputeRuntime.ts", "../../../../src/hooks/useTriggerRuntimeControls.ts", "../../../../src/hooks/useComputeRuntimeService.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport { type DependencyList, useCallback } from 'react';\n\nimport { type Key } from '@dxos/echo';\nimport { FunctionInvocationService, TracingService } from '@dxos/functions';\nimport { type Operation } from '@dxos/operation';\nimport { log } from '@dxos/log';\n\nimport { AutomationCapabilities } from '#types';\nimport { useComputeRuntime } from './useComputeRuntime';\n\n/**\n * Create an effectful function that has access to compute services\n */\n// TODO(burdon): Factor out (figure out cross-plugin capabilities dependencies).\nexport const useComputeRuntimeCallback = <T>(\n id: Key.SpaceId | undefined,\n fn: () => Effect.Effect<T, any, AutomationCapabilities.ComputeServices>,\n deps?: DependencyList,\n): (() => Promise<T>) => {\n const runtime = useComputeRuntime(id);\n\n return useCallback(() => {\n if (!runtime) {\n throw new TypeError('Space not provided to useComputeRuntimeCallback');\n }\n\n return runtime.runPromise(fn());\n }, [runtime, ...(deps ?? [])]);\n};\n\n// TODO(wittjosiah): Function invoking should automatically be traced (DX-647).\nexport const invokeFunctionWithTracing = <I, O>(functionDef: Operation.Definition<I, O, any>, inputData: I) =>\n Effect.gen(function* () {\n const tracer = yield* TracingService;\n const trace = yield* tracer.traceInvocationStart({\n target: undefined,\n payload: {\n data: {},\n },\n });\n\n // Invoke the function.\n const result = yield* FunctionInvocationService.invokeFunction(functionDef, inputData).pipe(\n Effect.provide(trace.invocationTraceQueue ? TracingService.layerInvocation(trace) : TracingService.layerNoop),\n Effect.exit,\n );\n\n if (Exit.isFailure(result)) {\n const error = Cause.prettyErrors(result.cause)[0];\n log.error(error.message, error.cause ?? error.stack);\n }\n\n yield* tracer.traceInvocationEnd({\n trace,\n // TODO(dmaretskyi): Might miss errors.\n exception: Exit.isFailure(result) ? Cause.prettyErrors(result.cause)[0] : undefined,\n });\n\n return result;\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { AutomationCapabilities } from '../types';\nimport { SpaceId } from '@dxos/keys';\n\n/**\n * Resolves the compute runtime for a space.\n */\nexport const useComputeRuntime = (id: SpaceId | undefined): AutomationCapabilities.ComputeRuntime | undefined => {\n const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);\n return id !== undefined ? computeRuntime.getRuntime(id) : undefined;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport type * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport { useEffect, useState } from 'react';\n\nimport { type Database, Filter } from '@dxos/echo';\nimport { Trigger } from '@dxos/functions';\nimport { TriggerDispatcher, type TriggerDispatcherState } from '@dxos/functions-runtime';\nimport { useQuery } from '@dxos/react-client/echo';\n\nimport { useComputeRuntimeCallback } from './useComputeRuntimeCallback';\n\ninterface TriggerRuntimeControls {\n triggers: Trigger.Trigger[];\n\n state: TriggerDispatcherState | undefined;\n\n start: () => void;\n stop: () => void;\n}\n\nexport const useTriggerRuntimeControls = (db: Database.Database | undefined): TriggerRuntimeControls => {\n const triggers = useQuery(db, Filter.type(Trigger.Trigger));\n\n const [dispatcher, setDispatcher] = useState<Context.Tag.Service<TriggerDispatcher> | undefined>(undefined);\n\n const init = useComputeRuntimeCallback(\n db?.spaceId,\n Effect.fnUntraced(function* () {\n const dispatcher = yield* TriggerDispatcher;\n setDispatcher(dispatcher);\n }),\n );\n\n useEffect(() => {\n void init();\n }, []);\n\n const state = useAtomValue(dispatcher?.state ?? Atom.make(undefined));\n\n const start = useComputeRuntimeCallback(\n db?.spaceId,\n Effect.fnUntraced(function* () {\n const dispatcher = yield* TriggerDispatcher;\n yield* dispatcher.start();\n }),\n );\n\n const stop = useComputeRuntimeCallback(\n db?.spaceId,\n Effect.fnUntraced(function* () {\n const dispatcher = yield* TriggerDispatcher;\n yield* dispatcher.stop();\n }),\n );\n\n return {\n triggers,\n state,\n start: () => void start(),\n stop: () => void stop(),\n };\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { SpaceId } from '@dxos/keys';\nimport { AutomationCapabilities } from '../types';\nimport * as Context from 'effect/Context';\nimport { useComputeRuntime } from './useComputeRuntime';\nimport { use } from 'react';\nimport { unwrapExit } from '@dxos/effect';\nimport { useMemo } from 'react';\n\nexport const useComputeRuntimeService = <T extends Context.Tag<any, any>>(\n tag: T,\n spaceId?: SpaceId,\n): (Context.Tag.Service<T> & AutomationCapabilities.ComputeRuntime) | undefined => {\n const runtime = useComputeRuntime(spaceId);\n if (!runtime) {\n return undefined;\n }\n return unwrapExit(use(useMemo(() => runtime.runPromiseExit(tag), [runtime, tag])));\n};\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,UAAU;AACtB,SAA8BC,mBAAmB;AAGjD,SAASC,2BAA2BC,sBAAsB;AAE1D,SAASC,WAAW;;;ACRpB,SAASC,qBAAqB;AAOvB,IAAMC,oBAAoB,CAACC,OAAAA;AAChC,QAAMC,iBAAiBC,cAAcC,uBAAuBC,cAAc;AAC1E,SAAOJ,OAAOK,SAAYJ,eAAeK,WAAWN,EAAAA,IAAMK;AAC5D;;;;ADOO,IAAME,4BAA4B,CACvCC,IACAC,IACAC,SAAAA;AAEA,QAAMC,UAAUC,kBAAkBJ,EAAAA;AAElC,SAAOK,YAAY,MAAA;AACjB,QAAI,CAACF,SAAS;AACZ,YAAM,IAAIG,UAAU,iDAAA;IACtB;AAEA,WAAOH,QAAQI,WAAWN,GAAAA,CAAAA;EAC5B,GAAG;IAACE;OAAaD,QAAQ,CAAA;GAAI;AAC/B;AAGO,IAAMM,4BAA4B,CAAOC,aAA8CC,cACrFC,WAAI,aAAA;AACT,QAAMC,SAAS,OAAOC;AACtB,QAAMC,QAAQ,OAAOF,OAAOG,qBAAqB;IAC/CC,QAAQC;IACRC,SAAS;MACPC,MAAM,CAAC;IACT;EACF,CAAA;AAGA,QAAMC,SAAS,OAAOC,0BAA0BC,eAAeb,aAAaC,SAAAA,EAAWa,KAC9EC,eAAQV,MAAMW,uBAAuBZ,eAAea,gBAAgBZ,KAAAA,IAASD,eAAec,SAAS,GACrGC,WAAI;AAGb,MAASC,eAAUT,MAAAA,GAAS;AAC1B,UAAMU,QAAcC,mBAAaX,OAAOY,KAAK,EAAE,CAAA;AAC/CC,QAAIH,MAAMA,MAAMI,SAASJ,MAAME,SAASF,MAAMK,OAAK;;;;;;EACrD;AAEA,SAAOvB,OAAOwB,mBAAmB;IAC/BtB;;IAEAuB,WAAgBR,eAAUT,MAAAA,IAAgBW,mBAAaX,OAAOY,KAAK,EAAE,CAAA,IAAKf;EAC5E,CAAA;AAEA,SAAOG;AACT,CAAA;;;AE9DF,SAASkB,MAAMC,oBAAoB;AAEnC,YAAYC,aAAY;AACxB,SAASC,WAAWC,gBAAgB;AAEpC,SAAwBC,cAAc;AACtC,SAASC,eAAe;AACxB,SAASC,yBAAsD;AAC/D,SAASC,gBAAgB;AAalB,IAAMC,4BAA4B,CAACC,OAAAA;AACxC,QAAMC,WAAWC,SAASF,IAAIG,OAAOC,KAAKC,QAAQA,OAAO,CAAA;AAEzD,QAAM,CAACC,YAAYC,aAAAA,IAAiBC,SAA6DC,MAAAA;AAEjG,QAAMC,OAAOC,0BACXX,IAAIY,SACGC,mBAAW,aAAA;AAChB,UAAMP,cAAa,OAAOQ;AAC1BP,kBAAcD,WAAAA;EAChB,CAAA,CAAA;AAGFS,YAAU,MAAA;AACR,SAAKL,KAAAA;EACP,GAAG,CAAA,CAAE;AAEL,QAAMM,QAAQC,aAAaX,YAAYU,SAASE,KAAKC,KAAKV,MAAAA,CAAAA;AAE1D,QAAMW,QAAQT,0BACZX,IAAIY,SACGC,mBAAW,aAAA;AAChB,UAAMP,cAAa,OAAOQ;AAC1B,WAAOR,YAAWc,MAAK;EACzB,CAAA,CAAA;AAGF,QAAMC,OAAOV,0BACXX,IAAIY,SACGC,mBAAW,aAAA;AAChB,UAAMP,cAAa,OAAOQ;AAC1B,WAAOR,YAAWe,KAAI;EACxB,CAAA,CAAA;AAGF,SAAO;IACLpB;IACAe;IACAI,OAAO,MAAM,KAAKA,MAAAA;IAClBC,MAAM,MAAM,KAAKA,KAAAA;EACnB;AACF;;;AC1DA,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,eAAe;AAEjB,IAAMC,2BAA2B,CACtCC,KACAC,YAAAA;AAEA,QAAMC,UAAUC,kBAAkBF,OAAAA;AAClC,MAAI,CAACC,SAAS;AACZ,WAAOE;EACT;AACA,SAAOC,WAAWC,IAAIC,QAAQ,MAAML,QAAQM,eAAeR,GAAAA,GAAM;IAACE;IAASF;GAAI,CAAA,CAAA;AACjF;",
6
+ "names": ["Cause", "Effect", "Exit", "useCallback", "FunctionInvocationService", "TracingService", "log", "useCapability", "useComputeRuntime", "id", "computeRuntime", "useCapability", "AutomationCapabilities", "ComputeRuntime", "undefined", "getRuntime", "useComputeRuntimeCallback", "id", "fn", "deps", "runtime", "useComputeRuntime", "useCallback", "TypeError", "runPromise", "invokeFunctionWithTracing", "functionDef", "inputData", "gen", "tracer", "TracingService", "trace", "traceInvocationStart", "target", "undefined", "payload", "data", "result", "FunctionInvocationService", "invokeFunction", "pipe", "provide", "invocationTraceQueue", "layerInvocation", "layerNoop", "exit", "isFailure", "error", "prettyErrors", "cause", "log", "message", "stack", "traceInvocationEnd", "exception", "Atom", "useAtomValue", "Effect", "useEffect", "useState", "Filter", "Trigger", "TriggerDispatcher", "useQuery", "useTriggerRuntimeControls", "db", "triggers", "useQuery", "Filter", "type", "Trigger", "dispatcher", "setDispatcher", "useState", "undefined", "init", "useComputeRuntimeCallback", "spaceId", "fnUntraced", "TriggerDispatcher", "useEffect", "state", "useAtomValue", "Atom", "make", "start", "stop", "use", "unwrapExit", "useMemo", "useComputeRuntimeService", "tag", "spaceId", "runtime", "useComputeRuntime", "undefined", "unwrapExit", "use", "useMemo", "runPromiseExit"]
7
7
  }
@@ -1,102 +1,69 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- AutomationPanel,
4
- AutomationSettings,
5
- FunctionsContainer,
6
- FunctionsPanel
7
- } from "./chunk-7QRUPEHH.mjs";
8
- import {
9
- ComputeRuntime
10
- } from "./chunk-K7GCM342.mjs";
11
- import {
12
- invokeFunctionWithTracing,
13
- useComputeRuntimeCallback,
14
- useTriggerRuntimeControls
15
- } from "./chunk-HQLVREIX.mjs";
16
- import {
17
- AutomationAction,
18
- AutomationCapabilities,
19
- AutomationEvents,
20
- AutomationOperation
21
- } from "./chunk-RX52VKI2.mjs";
22
- import {
23
- TriggerEditor
24
- } from "./chunk-LJAXQ6CX.mjs";
25
- import {
26
- meta
27
- } from "./chunk-5FXNN3MV.mjs";
2
+ import "./chunk-HSLMI22Q.mjs";
28
3
 
29
4
  // src/AutomationPlugin.tsx
30
- import { Common, Plugin } from "@dxos/app-framework";
31
- import { Function, Trigger } from "@dxos/functions";
5
+ import { Plugin } from "@dxos/app-framework";
6
+ import { AppPlugin } from "@dxos/app-toolkit";
7
+ import { Trigger } from "@dxos/functions";
8
+ import { Operation } from "@dxos/operation";
32
9
  import { ClientEvents } from "@dxos/plugin-client/types";
33
-
34
- // src/capabilities/app-graph-builder/index.ts
35
- import { Capability } from "@dxos/app-framework";
36
- var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-4UCMXHYY.mjs"));
37
-
38
- // src/capabilities/operation-resolver/index.ts
39
- import { Capability as Capability2 } from "@dxos/app-framework";
40
- var OperationResolver = Capability2.lazy("OperationResolver", () => import("./operation-resolver-R5GA4YNO.mjs"));
41
-
42
- // src/capabilities/react-surface/index.ts
43
- import { Capability as Capability3 } from "@dxos/app-framework";
44
- var ReactSurface = Capability3.lazy("ReactSurface", () => import("./react-surface-S6VZJCEZ.mjs"));
10
+ import { meta as meta2 } from "#meta";
45
11
 
46
12
  // src/translations.ts
13
+ import { meta } from "#meta";
47
14
  var translations = [
48
15
  {
49
16
  "en-US": {
50
17
  [meta.id]: {
51
- "plugin name": "Automation",
52
- "automation panel label": "Automations",
53
- "script automation label": "Automation",
54
- "automation verbose label": "Manage automations",
55
- "automation description": "You can manage all the triggers which automate your space here.",
56
- "runtime label": "Enable Local Runtime",
57
- "runtime description": "This will start a trigger dispatcher locally for this space to run triggers on your device while Composer is running.",
58
- "functions panel label": "Functions",
59
- "functions verbose label": "Manage deployed functions",
60
- "functions registry verbose label": "Functions registry",
61
- "functions registry description": "Import functions from the registry",
62
- "functions description": "You can manage all the functions deployed from your space on EDGE here.",
63
- "function copy id": "Copy Function ID",
64
- "no functions found": "No functions found",
65
- "go to function source button label": "Show function source",
66
- "delete function button label": "Delete function",
67
- "function parameters label": "Function parameters",
68
- "trigger editor title": "Configure Trigger",
69
- "new trigger label": "Add Trigger",
70
- "trigger type timer": "Timer",
71
- "trigger type webhook": "Webhook",
72
- "trigger type websocket": "Websocket",
73
- "trigger type subscription": "Subscription",
74
- "trigger type email": "Email",
75
- "trigger type queue": "Queue",
76
- "trigger copy url": "Copy URL",
77
- "trigger copy email": "Copy Email",
78
- "trigger payload add": "Add",
79
- "trigger payload remove": "Remove",
80
- "trigger payload prop name placeholder": "New payload property name"
18
+ "plugin.name": "Automation",
19
+ "automation-panel.label": "Automations",
20
+ "script-automation.label": "Automation",
21
+ "automation-verbose.label": "Manage automations",
22
+ "automation.description": "You can manage all the triggers which automate your space here.",
23
+ "runtime.label": "Enable Local Runtime",
24
+ "runtime.description": "This will start a trigger dispatcher locally for this space to run triggers on your device while Composer is running.",
25
+ "functions-panel.label": "Functions",
26
+ "functions-verbose.label": "Manage deployed functions",
27
+ "functions-registry-verbose.label": "Functions registry",
28
+ "functions-registry.description": "Import functions from the registry",
29
+ "functions.description": "You can manage all the functions deployed from your space on EDGE here.",
30
+ "show-source-button.label": "Show source",
31
+ "delete-function-button.label": "Delete function",
32
+ "function-parameters.label": "Function parameters",
33
+ "trigger-editor.title": "Configure Trigger",
34
+ "trigger-editor.description": "Triggers are used to run functions at specific times or when specific events occur.",
35
+ "new-trigger.label": "Add Trigger",
36
+ "trigger-type.timer.label": "Timer",
37
+ "trigger-type.webhook.label": "Webhook",
38
+ "trigger-type.websocket.label": "Websocket",
39
+ "trigger-type.subscription.label": "Subscription",
40
+ "trigger-type.email.label": "Email",
41
+ "trigger-type.queue.label": "Feed",
42
+ "trigger-payload-prop-name.placeholder": "New payload property name",
43
+ "import-function-button.label": "Loading...",
44
+ "loading-functions.message": "Loading functions...",
45
+ "update-function-button.label": "Update"
81
46
  }
82
47
  }
83
48
  }
84
49
  ];
85
50
 
86
51
  // src/AutomationPlugin.tsx
87
- var AutomationPlugin = Plugin.define(meta).pipe(Common.Plugin.addTranslationsModule({
88
- translations
89
- }), Common.Plugin.addSchemaModule({
52
+ import { AutomationEvents } from "#types";
53
+ import { AppGraphBuilder, ComputeRuntime, OperationHandler, ReactSurface } from "#capabilities";
54
+ var AutomationPlugin = Plugin.define(meta2).pipe(AppPlugin.addAppGraphModule({
55
+ activate: AppGraphBuilder
56
+ }), AppPlugin.addOperationHandlerModule({
57
+ activate: OperationHandler
58
+ }), AppPlugin.addSchemaModule({
90
59
  schema: [
91
- Function.Function,
60
+ Operation.PersistentOperation,
92
61
  Trigger.Trigger
93
62
  ]
94
- }), Common.Plugin.addAppGraphModule({
95
- activate: AppGraphBuilder
96
- }), Common.Plugin.addOperationResolverModule({
97
- activate: OperationResolver
98
- }), Common.Plugin.addSurfaceModule({
63
+ }), AppPlugin.addSurfaceModule({
99
64
  activate: ReactSurface
65
+ }), AppPlugin.addTranslationsModule({
66
+ translations
100
67
  }), Plugin.addModule({
101
68
  activatesOn: ClientEvents.ClientReady,
102
69
  activatesAfter: [
@@ -104,20 +71,21 @@ var AutomationPlugin = Plugin.define(meta).pipe(Common.Plugin.addTranslationsMod
104
71
  ],
105
72
  activate: ComputeRuntime
106
73
  }), Plugin.make);
74
+
75
+ // src/meta.ts
76
+ import { trim } from "@dxos/util";
77
+ var meta3 = {
78
+ id: "org.dxos.plugin.automation",
79
+ name: "Automation",
80
+ description: trim`
81
+ Workflow automation engine that triggers custom actions based on object events and conditions.
82
+ Create automated pipelines that respond to changes and streamline repetitive tasks.
83
+ `,
84
+ icon: "ph--robot--regular",
85
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-automation"
86
+ };
107
87
  export {
108
- AutomationAction,
109
- AutomationCapabilities,
110
- AutomationEvents,
111
- AutomationOperation,
112
- AutomationPanel,
113
88
  AutomationPlugin,
114
- AutomationSettings,
115
- FunctionsContainer,
116
- FunctionsPanel,
117
- TriggerEditor,
118
- invokeFunctionWithTracing,
119
- meta,
120
- useComputeRuntimeCallback,
121
- useTriggerRuntimeControls
89
+ meta3 as meta
122
90
  };
123
91
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/AutomationPlugin.tsx", "../../../src/capabilities/app-graph-builder/index.ts", "../../../src/capabilities/operation-resolver/index.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Common, Plugin } from '@dxos/app-framework';\nimport { Function, Trigger } from '@dxos/functions';\nimport { ClientEvents } from '@dxos/plugin-client/types';\n\nimport { AppGraphBuilder, ComputeRuntime, OperationResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { AutomationEvents } from './types';\n\nexport const AutomationPlugin = Plugin.define(meta).pipe(\n Common.Plugin.addTranslationsModule({ translations }),\n Common.Plugin.addSchemaModule({ schema: [Function.Function, Trigger.Trigger] }),\n Common.Plugin.addAppGraphModule({ activate: AppGraphBuilder }),\n Common.Plugin.addOperationResolverModule({ activate: OperationResolver }),\n Common.Plugin.addSurfaceModule({ activate: ReactSurface }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activatesAfter: [AutomationEvents.ComputeRuntimeReady],\n activate: ComputeRuntime,\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const OperationResolver = Capability.lazy('OperationResolver', () => import('./operation-resolver'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Automation',\n 'automation panel label': 'Automations',\n 'script automation label': 'Automation',\n 'automation verbose label': 'Manage automations',\n 'automation description': 'You can manage all the triggers which automate your space here.',\n\n 'runtime label': 'Enable Local Runtime',\n 'runtime description':\n 'This will start a trigger dispatcher locally for this space to run triggers on your device while Composer is running.',\n\n 'functions panel label': 'Functions',\n 'functions verbose label': 'Manage deployed functions',\n 'functions registry verbose label': 'Functions registry',\n 'functions registry description': 'Import functions from the registry',\n 'functions description': 'You can manage all the functions deployed from your space on EDGE here.',\n 'function copy id': 'Copy Function ID',\n 'no functions found': 'No functions found',\n 'go to function source button label': 'Show function source',\n 'delete function button label': 'Delete function',\n\n 'function parameters label': 'Function parameters',\n\n 'trigger editor title': 'Configure Trigger',\n 'new trigger label': 'Add Trigger',\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n 'trigger type email': 'Email',\n 'trigger type queue': 'Queue',\n\n 'trigger copy url': 'Copy URL',\n 'trigger copy email': 'Copy Email',\n\n 'trigger payload add': 'Add',\n 'trigger payload remove': 'Remove',\n 'trigger payload prop name placeholder': 'New payload property name',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,QAAQC,cAAc;AAC/B,SAASC,UAAUC,eAAe;AAClC,SAASC,oBAAoB;;;ACF7B,SAASC,kBAAkB;AAEpB,IAAMC,kBAAkBC,WAAWC,KAAK,mBAAmB,MAAM,OAAO,kCAAA,CAAA;;;ACF/E,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,oBAAoBC,YAAWC,KAAK,qBAAqB,MAAM,OAAO,mCAAA,CAAA;;;ACFnF,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACElE,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;QAC5B,0BAA0B;QAE1B,iBAAiB;QACjB,uBACE;QAEF,yBAAyB;QACzB,2BAA2B;QAC3B,oCAAoC;QACpC,kCAAkC;QAClC,yBAAyB;QACzB,oBAAoB;QACpB,sBAAsB;QACtB,sCAAsC;QACtC,gCAAgC;QAEhC,6BAA6B;QAE7B,wBAAwB;QACxB,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,6BAA6B;QAC7B,sBAAsB;QACtB,sBAAsB;QAEtB,oBAAoB;QACpB,sBAAsB;QAEtB,uBAAuB;QACvB,0BAA0B;QAC1B,yCAAyC;MAC3C;IACF;EACF;;;;AJtCK,IAAMC,mBAAmBC,OAAOC,OAAOC,IAAAA,EAAMC,KAClDC,OAAOJ,OAAOK,sBAAsB;EAAEC;AAAa,CAAA,GACnDF,OAAOJ,OAAOO,gBAAgB;EAAEC,QAAQ;IAACC,SAASA;IAAUC,QAAQA;;AAAS,CAAA,GAC7EN,OAAOJ,OAAOW,kBAAkB;EAAEC,UAAUC;AAAgB,CAAA,GAC5DT,OAAOJ,OAAOc,2BAA2B;EAAEF,UAAUG;AAAkB,CAAA,GACvEX,OAAOJ,OAAOgB,iBAAiB;EAAEJ,UAAUK;AAAa,CAAA,GACxDjB,OAAOkB,UAAU;EACfC,aAAaC,aAAaC;EAC1BC,gBAAgB;IAACC,iBAAiBC;;EAClCZ,UAAUa;AACZ,CAAA,GACAzB,OAAO0B,IAAI;",
6
- "names": ["Common", "Plugin", "Function", "Trigger", "ClientEvents", "Capability", "AppGraphBuilder", "Capability", "lazy", "Capability", "OperationResolver", "Capability", "lazy", "Capability", "ReactSurface", "Capability", "lazy", "translations", "meta", "id", "AutomationPlugin", "Plugin", "define", "meta", "pipe", "Common", "addTranslationsModule", "translations", "addSchemaModule", "schema", "Function", "Trigger", "addAppGraphModule", "activate", "AppGraphBuilder", "addOperationResolverModule", "OperationResolver", "addSurfaceModule", "ReactSurface", "addModule", "activatesOn", "ClientEvents", "ClientReady", "activatesAfter", "AutomationEvents", "ComputeRuntimeReady", "ComputeRuntime", "make"]
3
+ "sources": ["../../../src/AutomationPlugin.tsx", "../../../src/translations.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Trigger } from '@dxos/functions';\nimport { Operation } from '@dxos/operation';\nimport { ClientEvents } from '@dxos/plugin-client/types';\n\nimport { meta } from '#meta';\nimport { translations } from './translations';\nimport { AutomationEvents } from '#types';\n\nimport { AppGraphBuilder, ComputeRuntime, OperationHandler, ReactSurface } from '#capabilities';\n\nexport const AutomationPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Operation.PersistentOperation, Trigger.Trigger] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activatesAfter: [AutomationEvents.ComputeRuntimeReady],\n activate: ComputeRuntime,\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Automation',\n 'automation-panel.label': 'Automations',\n 'script-automation.label': 'Automation',\n 'automation-verbose.label': 'Manage automations',\n 'automation.description': 'You can manage all the triggers which automate your space here.',\n\n 'runtime.label': 'Enable Local Runtime',\n 'runtime.description':\n 'This will start a trigger dispatcher locally for this space to run triggers on your device while Composer is running.',\n\n 'functions-panel.label': 'Functions',\n 'functions-verbose.label': 'Manage deployed functions',\n 'functions-registry-verbose.label': 'Functions registry',\n 'functions-registry.description': 'Import functions from the registry',\n 'functions.description': 'You can manage all the functions deployed from your space on EDGE here.',\n 'show-source-button.label': 'Show source',\n 'delete-function-button.label': 'Delete function',\n\n 'function-parameters.label': 'Function parameters',\n\n 'trigger-editor.title': 'Configure Trigger',\n 'trigger-editor.description':\n 'Triggers are used to run functions at specific times or when specific events occur.',\n 'new-trigger.label': 'Add Trigger',\n\n 'trigger-type.timer.label': 'Timer',\n 'trigger-type.webhook.label': 'Webhook',\n 'trigger-type.websocket.label': 'Websocket',\n 'trigger-type.subscription.label': 'Subscription',\n 'trigger-type.email.label': 'Email',\n 'trigger-type.queue.label': 'Feed',\n\n 'trigger-payload-prop-name.placeholder': 'New payload property name',\n 'import-function-button.label': 'Loading...',\n 'loading-functions.message': 'Loading functions...',\n 'update-function-button.label': 'Update',\n },\n },\n },\n] as const satisfies Resource[];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.automation',\n name: 'Automation',\n description: trim`\n Workflow automation engine that triggers custom actions based on object events and conditions.\n Create automated pipelines that respond to changes and streamline repetitive tasks.\n `,\n icon: 'ph--robot--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-automation',\n};\n"],
5
+ "mappings": ";;;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAE7B,SAASC,QAAAA,aAAY;;;ACJrB,SAASC,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;QAC5B,0BAA0B;QAE1B,iBAAiB;QACjB,uBACE;QAEF,yBAAyB;QACzB,2BAA2B;QAC3B,oCAAoC;QACpC,kCAAkC;QAClC,yBAAyB;QACzB,4BAA4B;QAC5B,gCAAgC;QAEhC,6BAA6B;QAE7B,wBAAwB;QACxB,8BACE;QACF,qBAAqB;QAErB,4BAA4B;QAC5B,8BAA8B;QAC9B,gCAAgC;QAChC,mCAAmC;QACnC,4BAA4B;QAC5B,4BAA4B;QAE5B,yCAAyC;QACzC,gCAAgC;QAChC,6BAA6B;QAC7B,gCAAgC;MAClC;IACF;EACF;;;;ADtCF,SAASC,wBAAwB;AAEjC,SAASC,iBAAiBC,gBAAgBC,kBAAkBC,oBAAoB;AAEzE,IAAMC,mBAAmBC,OAAOC,OAAOC,KAAAA,EAAMC,KAClDC,UAAUC,kBAAkB;EAAEC,UAAUC;AAAgB,CAAA,GACxDH,UAAUI,0BAA0B;EAAEF,UAAUG;AAAiB,CAAA,GACjEL,UAAUM,gBAAgB;EAAEC,QAAQ;IAACC,UAAUC;IAAqBC,QAAQA;;AAAS,CAAA,GACrFV,UAAUW,iBAAiB;EAAET,UAAUU;AAAa,CAAA,GACpDZ,UAAUa,sBAAsB;EAAEC;AAAa,CAAA,GAC/ClB,OAAOmB,UAAU;EACfC,aAAaC,aAAaC;EAC1BC,gBAAgB;IAACC,iBAAiBC;;EAClCnB,UAAUoB;AACZ,CAAA,GACA1B,OAAO2B,IAAI;;;AEtBb,SAASC,YAAY;AAEd,IAAMC,QAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,QAAQ;AACV;",
6
+ "names": ["Plugin", "AppPlugin", "Trigger", "Operation", "ClientEvents", "meta", "meta", "translations", "meta", "id", "AutomationEvents", "AppGraphBuilder", "ComputeRuntime", "OperationHandler", "ReactSurface", "AutomationPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addAppGraphModule", "activate", "AppGraphBuilder", "addOperationHandlerModule", "OperationHandler", "addSchemaModule", "schema", "Operation", "PersistentOperation", "Trigger", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations", "addModule", "activatesOn", "ClientEvents", "ClientReady", "activatesAfter", "AutomationEvents", "ComputeRuntimeReady", "ComputeRuntime", "make", "trim", "meta", "id", "name", "description", "trim", "icon", "source"]
7
7
  }