@dxos/plugin-automation 0.8.4-main.3eb6e50203 → 0.8.4-main.3fbcb4aa9b

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 (362) hide show
  1. package/dist/lib/neutral/AutomationPanel-64U7W3SJ.mjs +11 -0
  2. package/dist/lib/neutral/AutomationPlugin.mjs +38 -0
  3. package/dist/lib/neutral/AutomationPlugin.mjs.map +7 -0
  4. package/dist/lib/{browser/cli/index.mjs → neutral/AutomationPlugin.node.mjs} +138 -133
  5. package/dist/lib/neutral/AutomationPlugin.node.mjs.map +7 -0
  6. package/dist/lib/neutral/AutomationSettings-NNL2AVNT.mjs +31 -0
  7. package/dist/lib/neutral/AutomationSettings-NNL2AVNT.mjs.map +7 -0
  8. package/dist/lib/neutral/FunctionsContainer-CU2FVKZF.mjs +38 -0
  9. package/dist/lib/neutral/FunctionsContainer-CU2FVKZF.mjs.map +7 -0
  10. package/dist/lib/{browser/chunk-QNEQ23BF.mjs → neutral/FunctionsPanel-GLCUBEDT.mjs} +23 -25
  11. package/dist/lib/neutral/FunctionsPanel-GLCUBEDT.mjs.map +7 -0
  12. package/dist/lib/{browser/FunctionsContainer-5NHAAP5H.mjs → neutral/FunctionsRegistry-VRU4FBVH.mjs} +23 -54
  13. package/dist/lib/neutral/FunctionsRegistry-VRU4FBVH.mjs.map +7 -0
  14. package/dist/lib/neutral/TriggerSettings-XCHIZPOR.mjs +9 -0
  15. package/dist/lib/neutral/app-graph-builder-GDCGRYEP.mjs +75 -0
  16. package/dist/lib/neutral/app-graph-builder-GDCGRYEP.mjs.map +7 -0
  17. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  18. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  19. package/dist/lib/neutral/capabilities/node.mjs +13 -0
  20. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-2JP77CMN.mjs +42 -0
  22. package/dist/lib/neutral/chunk-2JP77CMN.mjs.map +7 -0
  23. package/dist/lib/{browser/chunk-PZNBEKO5.mjs → neutral/chunk-ATECY555.mjs} +7 -4
  24. package/dist/lib/{browser/chunk-PZNBEKO5.mjs.map → neutral/chunk-ATECY555.mjs.map} +3 -3
  25. package/dist/lib/neutral/chunk-DSCOLDT5.mjs +93 -0
  26. package/dist/lib/neutral/chunk-DSCOLDT5.mjs.map +7 -0
  27. package/dist/lib/{browser/chunk-C273ZYLE.mjs → neutral/chunk-FKFFU54G.mjs} +53 -41
  28. package/dist/lib/neutral/chunk-FKFFU54G.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-GDNOJOAR.mjs +8 -0
  30. package/dist/lib/neutral/chunk-GDNOJOAR.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-IGGNE2XI.mjs +12 -0
  32. package/dist/lib/neutral/chunk-IGGNE2XI.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  34. package/dist/lib/{node-esm/chunk-EJPZWAGR.mjs → neutral/chunk-N735CP33.mjs} +69 -41
  35. package/dist/lib/neutral/chunk-N735CP33.mjs.map +7 -0
  36. package/dist/lib/neutral/components/index.mjs +16 -0
  37. package/dist/lib/neutral/compute-runtime-2Q5MGOR6.mjs +220 -0
  38. package/dist/lib/neutral/compute-runtime-2Q5MGOR6.mjs.map +7 -0
  39. package/dist/lib/neutral/containers/index.mjs +13 -0
  40. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  41. package/dist/lib/neutral/create-trigger-from-template-5FT7O7OU.mjs +69 -0
  42. package/dist/lib/neutral/create-trigger-from-template-5FT7O7OU.mjs.map +7 -0
  43. package/dist/lib/neutral/hooks/index.mjs +129 -0
  44. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  45. package/dist/lib/neutral/index.mjs +20 -0
  46. package/dist/lib/neutral/meta.json +1 -0
  47. package/dist/lib/neutral/meta.mjs +8 -0
  48. package/dist/lib/neutral/operation-handler-YXGYH5W5.mjs +13 -0
  49. package/dist/lib/neutral/operation-handler-YXGYH5W5.mjs.map +7 -0
  50. package/dist/lib/neutral/operations/index.mjs +8 -0
  51. package/dist/lib/neutral/plugin.mjs +16 -0
  52. package/dist/lib/neutral/plugin.mjs.map +7 -0
  53. package/dist/lib/neutral/react-surface-3OGMAMKV.mjs +57 -0
  54. package/dist/lib/neutral/react-surface-3OGMAMKV.mjs.map +7 -0
  55. package/dist/lib/neutral/translations.mjs +47 -0
  56. package/dist/lib/neutral/translations.mjs.map +7 -0
  57. package/dist/lib/neutral/types/index.mjs +16 -0
  58. package/dist/types/src/AutomationPlugin.d.ts +1 -0
  59. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  60. package/dist/types/src/{cli/plugin.d.ts → AutomationPlugin.node.d.ts} +2 -1
  61. package/dist/types/src/AutomationPlugin.node.d.ts.map +1 -0
  62. package/dist/types/src/AutomationPlugin.test.d.ts +2 -0
  63. package/dist/types/src/AutomationPlugin.test.d.ts.map +1 -0
  64. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  65. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  66. package/dist/types/src/capabilities/compute-runtime.d.ts +14 -0
  67. package/dist/types/src/capabilities/compute-runtime.d.ts.map +1 -0
  68. package/dist/types/src/capabilities/index.d.ts +6 -4
  69. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/node.d.ts +6 -0
  71. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  72. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  73. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  74. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  75. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  76. package/dist/types/src/commands/index.d.ts.map +1 -0
  77. package/dist/types/src/{cli/commands → commands}/trigger/create/index.d.ts +6 -6
  78. package/dist/types/src/commands/trigger/create/index.d.ts.map +1 -0
  79. package/dist/types/src/{cli/commands → commands}/trigger/create/queue.d.ts +1 -1
  80. package/dist/types/src/commands/trigger/create/queue.d.ts.map +1 -0
  81. package/dist/types/src/{cli/commands → commands}/trigger/create/subscription.d.ts +1 -1
  82. package/dist/types/src/commands/trigger/create/subscription.d.ts.map +1 -0
  83. package/dist/types/src/{cli/commands → commands}/trigger/create/timer.d.ts +1 -1
  84. package/dist/types/src/commands/trigger/create/timer.d.ts.map +1 -0
  85. package/dist/types/src/{cli/commands → commands}/trigger/index.d.ts +7 -7
  86. package/dist/types/src/commands/trigger/index.d.ts.map +1 -0
  87. package/dist/types/src/{cli/commands → commands}/trigger/list.d.ts +1 -1
  88. package/dist/types/src/commands/trigger/list.d.ts.map +1 -0
  89. package/dist/types/src/commands/trigger/options.d.ts.map +1 -0
  90. package/dist/types/src/{cli/commands → commands}/trigger/remove.d.ts +1 -1
  91. package/dist/types/src/commands/trigger/remove.d.ts.map +1 -0
  92. package/dist/types/src/{cli/commands → commands}/trigger/update/index.d.ts +5 -5
  93. package/dist/types/src/commands/trigger/update/index.d.ts.map +1 -0
  94. package/dist/types/src/commands/trigger/update/queue.d.ts.map +1 -0
  95. package/dist/types/src/commands/trigger/update/subscription.d.ts.map +1 -0
  96. package/dist/types/src/commands/trigger/update/timer.d.ts.map +1 -0
  97. package/dist/types/src/{cli/commands → commands}/trigger/util.d.ts +4 -4
  98. package/dist/types/src/commands/trigger/util.d.ts.map +1 -0
  99. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -1
  100. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  101. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +32 -31
  102. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -1
  104. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -1
  105. package/dist/types/src/components/FunctionsPanel/index.d.ts.map +1 -1
  106. package/dist/types/src/components/FunctionsRegistry/FunctionsRegistry.d.ts.map +1 -1
  107. package/dist/types/src/components/FunctionsRegistry/index.d.ts +3 -1
  108. package/dist/types/src/components/FunctionsRegistry/index.d.ts.map +1 -1
  109. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts +6 -6
  110. package/dist/types/src/components/TriggerEditor/FunctionInputEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts +4 -4
  112. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -1
  113. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -1
  114. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  115. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +96 -92
  116. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  117. package/dist/types/src/components/index.d.ts +2 -3
  118. package/dist/types/src/components/index.d.ts.map +1 -1
  119. package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts +6 -0
  120. package/dist/types/src/containers/AutomationSettings/AutomationSettings.d.ts.map +1 -0
  121. package/dist/types/src/containers/AutomationSettings/index.d.ts +2 -0
  122. package/dist/types/src/containers/AutomationSettings/index.d.ts.map +1 -0
  123. package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts +4 -0
  124. package/dist/types/src/containers/FunctionsContainer/FunctionsContainer.d.ts.map +1 -0
  125. package/dist/types/src/containers/FunctionsContainer/index.d.ts +2 -0
  126. package/dist/types/src/containers/FunctionsContainer/index.d.ts.map +1 -0
  127. package/dist/types/src/containers/TriggerSettings/TriggerSettings.d.ts +6 -0
  128. package/dist/types/src/containers/TriggerSettings/TriggerSettings.d.ts.map +1 -0
  129. package/dist/types/src/containers/TriggerSettings/index.d.ts +3 -0
  130. package/dist/types/src/containers/TriggerSettings/index.d.ts.map +1 -0
  131. package/dist/types/src/containers/index.d.ts +5 -0
  132. package/dist/types/src/containers/index.d.ts.map +1 -0
  133. package/dist/types/src/hooks/index.d.ts +2 -0
  134. package/dist/types/src/hooks/index.d.ts.map +1 -1
  135. package/dist/types/src/hooks/useComputeRuntime.d.ts +8 -0
  136. package/dist/types/src/hooks/useComputeRuntime.d.ts.map +1 -0
  137. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +1 -4
  138. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +1 -1
  139. package/dist/types/src/hooks/useComputeRuntimeService.d.ts +17 -0
  140. package/dist/types/src/hooks/useComputeRuntimeService.d.ts.map +1 -0
  141. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts +1 -1
  142. package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts.map +1 -1
  143. package/dist/types/src/index.d.ts +0 -3
  144. package/dist/types/src/index.d.ts.map +1 -1
  145. package/dist/types/src/meta.d.ts.map +1 -1
  146. package/dist/types/src/operations/create-trigger-from-template.d.ts +5 -0
  147. package/dist/types/src/operations/create-trigger-from-template.d.ts.map +1 -0
  148. package/dist/types/src/operations/index.d.ts +3 -0
  149. package/dist/types/src/operations/index.d.ts.map +1 -0
  150. package/dist/types/src/plugin.d.ts +4 -0
  151. package/dist/types/src/plugin.d.ts.map +1 -0
  152. package/dist/types/src/testing/test-functions.d.ts +78 -76
  153. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  154. package/dist/types/src/translations.d.ts +32 -32
  155. package/dist/types/src/translations.d.ts.map +1 -1
  156. package/dist/types/src/types/AutomationCapabilities.d.ts +22 -0
  157. package/dist/types/src/types/AutomationCapabilities.d.ts.map +1 -0
  158. package/dist/types/src/types/AutomationEvents.d.ts +3 -0
  159. package/dist/types/src/types/AutomationEvents.d.ts.map +1 -0
  160. package/dist/types/src/types/AutomationOperation.d.ts +19 -0
  161. package/dist/types/src/types/AutomationOperation.d.ts.map +1 -0
  162. package/dist/types/src/types/index.d.ts +3 -2
  163. package/dist/types/src/types/index.d.ts.map +1 -1
  164. package/dist/types/src/types/schema.d.ts +9 -30
  165. package/dist/types/src/types/schema.d.ts.map +1 -1
  166. package/dist/types/tsconfig.tsbuildinfo +1 -1
  167. package/package.json +115 -65
  168. package/src/AutomationPlugin.node.ts +29 -0
  169. package/src/AutomationPlugin.test.ts +27 -0
  170. package/src/AutomationPlugin.tsx +11 -9
  171. package/src/capabilities/app-graph-builder.ts +66 -0
  172. package/src/capabilities/compute-runtime.ts +325 -0
  173. package/src/capabilities/index.ts +10 -4
  174. package/src/capabilities/node.ts +13 -0
  175. package/src/capabilities/operation-handler.ts +16 -0
  176. package/src/capabilities/react-surface.tsx +59 -0
  177. package/src/{cli/commands → commands}/trigger/create/queue.ts +6 -9
  178. package/src/{cli/commands → commands}/trigger/create/subscription.ts +10 -13
  179. package/src/{cli/commands → commands}/trigger/create/timer.ts +6 -9
  180. package/src/{cli/commands → commands}/trigger/list.ts +7 -4
  181. package/src/{cli/commands → commands}/trigger/remove.ts +1 -1
  182. package/src/{cli/commands → commands}/trigger/update/queue.ts +18 -19
  183. package/src/{cli/commands → commands}/trigger/update/subscription.ts +17 -17
  184. package/src/{cli/commands → commands}/trigger/update/timer.ts +18 -18
  185. package/src/{cli/commands → commands}/trigger/util.ts +39 -24
  186. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +8 -7
  187. package/src/components/AutomationPanel/AutomationPanel.tsx +76 -66
  188. package/src/components/FunctionsPanel/FunctionsPanel.tsx +31 -27
  189. package/src/components/FunctionsRegistry/FunctionsRegistry.tsx +25 -21
  190. package/src/components/FunctionsRegistry/index.ts +4 -1
  191. package/src/components/TriggerEditor/FunctionInputEditor.tsx +6 -6
  192. package/src/components/TriggerEditor/SpecSelector.tsx +17 -13
  193. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +54 -12
  194. package/src/components/TriggerEditor/TriggerEditor.tsx +45 -17
  195. package/src/components/index.ts +1 -2
  196. package/src/containers/AutomationSettings/AutomationSettings.tsx +31 -0
  197. package/src/containers/AutomationSettings/index.ts +5 -0
  198. package/src/containers/FunctionsContainer/FunctionsContainer.tsx +33 -0
  199. package/src/containers/FunctionsContainer/index.ts +5 -0
  200. package/src/containers/TriggerSettings/TriggerSettings.tsx +48 -0
  201. package/src/containers/TriggerSettings/index.ts +6 -0
  202. package/src/containers/index.ts +9 -0
  203. package/src/hooks/index.ts +3 -0
  204. package/src/hooks/useComputeRuntime.ts +30 -0
  205. package/src/hooks/useComputeRuntimeCallback.ts +4 -39
  206. package/src/hooks/useComputeRuntimeService.ts +64 -0
  207. package/src/hooks/useTriggerRuntimeControls.ts +6 -3
  208. package/src/index.ts +0 -4
  209. package/src/meta.ts +3 -2
  210. package/src/operations/create-trigger-from-template.ts +72 -0
  211. package/src/operations/index.ts +7 -0
  212. package/src/plugin.ts +11 -0
  213. package/src/testing/test-functions.ts +11 -8
  214. package/src/translations.ts +39 -38
  215. package/src/types/AutomationCapabilities.ts +48 -0
  216. package/src/types/AutomationEvents.ts +11 -0
  217. package/src/types/AutomationOperation.ts +30 -0
  218. package/src/types/index.ts +4 -2
  219. package/src/types/schema.ts +3 -24
  220. package/dist/lib/browser/AutomationPanel-C6MZ22CB.mjs +0 -11
  221. package/dist/lib/browser/AutomationSettings-D7UO5V3Q.mjs +0 -57
  222. package/dist/lib/browser/AutomationSettings-D7UO5V3Q.mjs.map +0 -7
  223. package/dist/lib/browser/FunctionsContainer-5NHAAP5H.mjs.map +0 -7
  224. package/dist/lib/browser/FunctionsPanel-RD22LYMR.mjs +0 -10
  225. package/dist/lib/browser/app-graph-builder-HLARI3VW.mjs +0 -85
  226. package/dist/lib/browser/app-graph-builder-HLARI3VW.mjs.map +0 -7
  227. package/dist/lib/browser/chunk-C273ZYLE.mjs.map +0 -7
  228. package/dist/lib/browser/chunk-JFBUK3WR.mjs +0 -14
  229. package/dist/lib/browser/chunk-JFBUK3WR.mjs.map +0 -7
  230. package/dist/lib/browser/chunk-JN7QRQQX.mjs +0 -256
  231. package/dist/lib/browser/chunk-JN7QRQQX.mjs.map +0 -7
  232. package/dist/lib/browser/chunk-JOXPQ27I.mjs +0 -83
  233. package/dist/lib/browser/chunk-JOXPQ27I.mjs.map +0 -7
  234. package/dist/lib/browser/chunk-O5Y2F33G.mjs +0 -8
  235. package/dist/lib/browser/chunk-O5Y2F33G.mjs.map +0 -7
  236. package/dist/lib/browser/chunk-P5AEO35Y.mjs +0 -93
  237. package/dist/lib/browser/chunk-P5AEO35Y.mjs.map +0 -7
  238. package/dist/lib/browser/chunk-QNEQ23BF.mjs.map +0 -7
  239. package/dist/lib/browser/cli/index.mjs.map +0 -7
  240. package/dist/lib/browser/compute-runtime-BUBHYS4Y.mjs +0 -119
  241. package/dist/lib/browser/compute-runtime-BUBHYS4Y.mjs.map +0 -7
  242. package/dist/lib/browser/hooks/index.mjs +0 -13
  243. package/dist/lib/browser/index.mjs +0 -123
  244. package/dist/lib/browser/index.mjs.map +0 -7
  245. package/dist/lib/browser/meta.json +0 -1
  246. package/dist/lib/browser/operation-resolver-IN2FRGOT.mjs +0 -83
  247. package/dist/lib/browser/operation-resolver-IN2FRGOT.mjs.map +0 -7
  248. package/dist/lib/browser/react-surface-246NXXJR.mjs +0 -66
  249. package/dist/lib/browser/react-surface-246NXXJR.mjs.map +0 -7
  250. package/dist/lib/browser/types/index.mjs +0 -14
  251. package/dist/lib/node-esm/AutomationPanel-RTBY7YFM.mjs +0 -12
  252. package/dist/lib/node-esm/AutomationSettings-GK4RLSDN.mjs +0 -58
  253. package/dist/lib/node-esm/AutomationSettings-GK4RLSDN.mjs.map +0 -7
  254. package/dist/lib/node-esm/FunctionsContainer-AHHZODM5.mjs +0 -126
  255. package/dist/lib/node-esm/FunctionsContainer-AHHZODM5.mjs.map +0 -7
  256. package/dist/lib/node-esm/FunctionsPanel-V2DKWYMU.mjs +0 -11
  257. package/dist/lib/node-esm/app-graph-builder-Z2TMQHVX.mjs +0 -86
  258. package/dist/lib/node-esm/app-graph-builder-Z2TMQHVX.mjs.map +0 -7
  259. package/dist/lib/node-esm/chunk-5FXNN3MV.mjs +0 -19
  260. package/dist/lib/node-esm/chunk-5FXNN3MV.mjs.map +0 -7
  261. package/dist/lib/node-esm/chunk-AENSLAVD.mjs +0 -99
  262. package/dist/lib/node-esm/chunk-AENSLAVD.mjs.map +0 -7
  263. package/dist/lib/node-esm/chunk-EJPZWAGR.mjs.map +0 -7
  264. package/dist/lib/node-esm/chunk-K5Z4UGIO.mjs +0 -16
  265. package/dist/lib/node-esm/chunk-K5Z4UGIO.mjs.map +0 -7
  266. package/dist/lib/node-esm/chunk-M3UPTGXF.mjs +0 -10
  267. package/dist/lib/node-esm/chunk-M3UPTGXF.mjs.map +0 -7
  268. package/dist/lib/node-esm/chunk-OJEFRZEV.mjs +0 -259
  269. package/dist/lib/node-esm/chunk-OJEFRZEV.mjs.map +0 -7
  270. package/dist/lib/node-esm/chunk-Q7EMIPMW.mjs +0 -94
  271. package/dist/lib/node-esm/chunk-Q7EMIPMW.mjs.map +0 -7
  272. package/dist/lib/node-esm/chunk-RX52VKI2.mjs +0 -84
  273. package/dist/lib/node-esm/chunk-RX52VKI2.mjs.map +0 -7
  274. package/dist/lib/node-esm/cli/index.mjs +0 -1109
  275. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  276. package/dist/lib/node-esm/compute-runtime-6UEDBN76.mjs +0 -120
  277. package/dist/lib/node-esm/compute-runtime-6UEDBN76.mjs.map +0 -7
  278. package/dist/lib/node-esm/hooks/index.mjs +0 -14
  279. package/dist/lib/node-esm/index.mjs +0 -124
  280. package/dist/lib/node-esm/index.mjs.map +0 -7
  281. package/dist/lib/node-esm/meta.json +0 -1
  282. package/dist/lib/node-esm/operation-resolver-67CEAKXP.mjs +0 -84
  283. package/dist/lib/node-esm/operation-resolver-67CEAKXP.mjs.map +0 -7
  284. package/dist/lib/node-esm/react-surface-U6762KPI.mjs +0 -67
  285. package/dist/lib/node-esm/react-surface-U6762KPI.mjs.map +0 -7
  286. package/dist/lib/node-esm/types/index.mjs +0 -15
  287. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  288. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  289. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  290. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  291. package/dist/types/src/capabilities/compute-runtime/compute-runtime.d.ts +0 -6
  292. package/dist/types/src/capabilities/compute-runtime/compute-runtime.d.ts.map +0 -1
  293. package/dist/types/src/capabilities/compute-runtime/index.d.ts +0 -3
  294. package/dist/types/src/capabilities/compute-runtime/index.d.ts.map +0 -1
  295. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  296. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  297. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  298. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  299. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  300. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  301. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  302. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  303. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  304. package/dist/types/src/cli/commands/trigger/create/index.d.ts.map +0 -1
  305. package/dist/types/src/cli/commands/trigger/create/queue.d.ts.map +0 -1
  306. package/dist/types/src/cli/commands/trigger/create/subscription.d.ts.map +0 -1
  307. package/dist/types/src/cli/commands/trigger/create/timer.d.ts.map +0 -1
  308. package/dist/types/src/cli/commands/trigger/index.d.ts.map +0 -1
  309. package/dist/types/src/cli/commands/trigger/list.d.ts.map +0 -1
  310. package/dist/types/src/cli/commands/trigger/options.d.ts.map +0 -1
  311. package/dist/types/src/cli/commands/trigger/remove.d.ts.map +0 -1
  312. package/dist/types/src/cli/commands/trigger/update/index.d.ts.map +0 -1
  313. package/dist/types/src/cli/commands/trigger/update/queue.d.ts.map +0 -1
  314. package/dist/types/src/cli/commands/trigger/update/subscription.d.ts.map +0 -1
  315. package/dist/types/src/cli/commands/trigger/update/timer.d.ts.map +0 -1
  316. package/dist/types/src/cli/commands/trigger/util.d.ts.map +0 -1
  317. package/dist/types/src/cli/index.d.ts +0 -2
  318. package/dist/types/src/cli/index.d.ts.map +0 -1
  319. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  320. package/dist/types/src/components/AutomationSettings.d.ts +0 -5
  321. package/dist/types/src/components/AutomationSettings.d.ts.map +0 -1
  322. package/dist/types/src/components/FunctionsContainer.d.ts +0 -7
  323. package/dist/types/src/components/FunctionsContainer.d.ts.map +0 -1
  324. package/dist/types/src/components/TriggerSettings.d.ts +0 -6
  325. package/dist/types/src/components/TriggerSettings.d.ts.map +0 -1
  326. package/dist/types/src/types/capabilities.d.ts +0 -22
  327. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  328. package/dist/types/src/types/events.d.ts +0 -5
  329. package/dist/types/src/types/events.d.ts.map +0 -1
  330. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -72
  331. package/src/capabilities/app-graph-builder/index.ts +0 -7
  332. package/src/capabilities/compute-runtime/compute-runtime.ts +0 -140
  333. package/src/capabilities/compute-runtime/index.ts +0 -7
  334. package/src/capabilities/operation-resolver/index.ts +0 -7
  335. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -80
  336. package/src/capabilities/react-surface/index.ts +0 -7
  337. package/src/capabilities/react-surface/react-surface.tsx +0 -61
  338. package/src/cli/index.ts +0 -5
  339. package/src/cli/plugin.ts +0 -24
  340. package/src/components/AutomationSettings.tsx +0 -30
  341. package/src/components/FunctionsContainer.tsx +0 -36
  342. package/src/components/TriggerSettings.tsx +0 -26
  343. package/src/types/capabilities.ts +0 -42
  344. package/src/types/events.ts +0 -11
  345. /package/dist/lib/{browser/AutomationPanel-C6MZ22CB.mjs.map → neutral/AutomationPanel-64U7W3SJ.mjs.map} +0 -0
  346. /package/dist/lib/{browser/FunctionsPanel-RD22LYMR.mjs.map → neutral/TriggerSettings-XCHIZPOR.mjs.map} +0 -0
  347. /package/dist/lib/{browser/hooks/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  348. /package/dist/lib/{browser/types → neutral/components}/index.mjs.map +0 -0
  349. /package/dist/lib/{node-esm/hooks → neutral}/index.mjs.map +0 -0
  350. /package/dist/lib/{node-esm/AutomationPanel-RTBY7YFM.mjs.map → neutral/meta.mjs.map} +0 -0
  351. /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
  352. /package/dist/lib/{node-esm/FunctionsPanel-V2DKWYMU.mjs.map → neutral/types/index.mjs.map} +0 -0
  353. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  354. /package/dist/types/src/{cli/commands → commands}/trigger/options.d.ts +0 -0
  355. /package/dist/types/src/{cli/commands → commands}/trigger/update/queue.d.ts +0 -0
  356. /package/dist/types/src/{cli/commands → commands}/trigger/update/subscription.d.ts +0 -0
  357. /package/dist/types/src/{cli/commands → commands}/trigger/update/timer.d.ts +0 -0
  358. /package/src/{cli/commands → commands}/index.ts +0 -0
  359. /package/src/{cli/commands → commands}/trigger/create/index.ts +0 -0
  360. /package/src/{cli/commands → commands}/trigger/index.ts +0 -0
  361. /package/src/{cli/commands → commands}/trigger/options.ts +0 -0
  362. /package/src/{cli/commands → commands}/trigger/update/index.ts +0 -0
@@ -1,9 +1,6 @@
1
1
  import {
2
2
  TriggerEditor
3
- } from "./chunk-JN7QRQQX.mjs";
4
- import {
5
- meta
6
- } from "./chunk-PZNBEKO5.mjs";
3
+ } from "./chunk-N735CP33.mjs";
7
4
 
8
5
  // src/components/AutomationPanel/AutomationPanel.tsx
9
6
  import * as Array from "effect/Array";
@@ -11,11 +8,13 @@ import * as EFn from "effect/Function";
11
8
  import * as Match from "effect/Match";
12
9
  import * as Schema from "effect/Schema";
13
10
  import React, { useCallback, useMemo, useState } from "react";
14
- import { Filter, Obj, Tag } from "@dxos/echo";
15
- import { Function, Script, Trigger } from "@dxos/functions";
11
+ import { useTypeOptions } from "@dxos/app-toolkit/ui";
12
+ import { Script, Trigger } from "@dxos/compute";
13
+ import { Operation } from "@dxos/compute";
14
+ import { Context } from "@dxos/context";
15
+ import { Filter, Obj, Query, Tag } from "@dxos/echo";
16
16
  import { KEY_QUEUE_CURSOR } from "@dxos/functions-runtime";
17
17
  import { FunctionsServiceClient } from "@dxos/functions-runtime/edge";
18
- import { useTypeOptions } from "@dxos/plugin-space";
19
18
  import { useClient } from "@dxos/react-client";
20
19
  import { useObject, useQuery } from "@dxos/react-client/echo";
21
20
  import { Clipboard, IconButton, Input, Separator, useTranslation } from "@dxos/react-ui";
@@ -24,15 +23,17 @@ import { List } from "@dxos/react-ui-list";
24
23
  import { Pipeline } from "@dxos/types";
25
24
  import { ghostHover, mx } from "@dxos/ui-theme";
26
25
  import { isNonNullable } from "@dxos/util";
27
- var grid = "grid grid-cols-[40px_1fr_32px_32px] min-bs-[2.5rem]";
26
+ import { meta } from "#meta";
27
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-automation/src/components/AutomationPanel/AutomationPanel.tsx";
28
+ var grid = "grid grid-cols-[40px_1fr_32px_32px] min-h-[2.5rem]";
28
29
  var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
29
30
  const { t } = useTranslation(meta.id);
30
31
  const client = useClient();
31
32
  const functionsServiceClient = useMemo(() => FunctionsServiceClient.fromClient(client), [
32
33
  client
33
34
  ]);
34
- const functions = useQuery(space.db, Filter.type(Function.Function));
35
- const triggers = useQuery(space.db, Filter.type(Trigger.Trigger));
35
+ const functions = useQuery(space.db, Filter.type(Operation.PersistentOperation));
36
+ const triggers = useQuery(space.db, Query.select(Filter.type(Trigger.Trigger)).debugLabel("plugin-automation.AutomationPanel"));
36
37
  const filteredTriggers = useMemo(() => {
37
38
  return object ? triggers.filter(triggerMatch(object)) : triggers;
38
39
  }, [
@@ -49,9 +50,6 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
49
50
  ],
50
51
  kind: [
51
52
  "user"
52
- ],
53
- registered: [
54
- "registered"
55
53
  ]
56
54
  }
57
55
  });
@@ -72,8 +70,8 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
72
70
  };
73
71
  const handleSave = (trigger2) => {
74
72
  if (selected) {
75
- Obj.change(selected, (mutable) => {
76
- Object.assign(mutable, trigger2);
73
+ Obj.update(selected, (selected2) => {
74
+ Object.assign(selected2, trigger2);
77
75
  });
78
76
  } else {
79
77
  space.db.add(Trigger.make(trigger2));
@@ -87,11 +85,11 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
87
85
  onDone?.();
88
86
  };
89
87
  const handleForceRunTrigger = async (trigger2) => {
90
- await functionsServiceClient.forceRunCronTrigger(space.id, trigger2.id);
88
+ await functionsServiceClient.forceRunCronTrigger(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 87 }), space.id, trigger2.id);
91
89
  };
92
90
  const handleResetCursor = async (trigger2) => {
93
- Obj.change(trigger2, (t2) => {
94
- Obj.deleteKeys(t2, KEY_QUEUE_CURSOR);
91
+ Obj.update(trigger2, (trigger3) => {
92
+ Obj.deleteKeys(trigger3, KEY_QUEUE_CURSOR);
95
93
  });
96
94
  await space.db.flush({
97
95
  indexes: true
@@ -99,7 +97,8 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
99
97
  };
100
98
  if (trigger) {
101
99
  return /* @__PURE__ */ React.createElement(Settings.Item, {
102
- title: t("trigger editor title")
100
+ title: t("trigger-editor.title"),
101
+ description: t("trigger-editor.description")
103
102
  }, /* @__PURE__ */ React.createElement(TriggerEditor, {
104
103
  db: space.db,
105
104
  trigger,
@@ -110,13 +109,13 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
110
109
  onCancel: handleCancel
111
110
  }));
112
111
  }
113
- return /* @__PURE__ */ React.createElement(Settings.Container, null, filteredTriggers.length > 0 && /* @__PURE__ */ React.createElement(List.Root, {
112
+ return /* @__PURE__ */ React.createElement(Settings.Panel, null, /* @__PURE__ */ React.createElement(Clipboard.Provider, null, filteredTriggers.length > 0 && /* @__PURE__ */ React.createElement(List.Root, {
114
113
  items: filteredTriggers,
115
114
  isItem: Schema.is(Trigger.Trigger),
116
115
  getId: (field) => field.id
117
116
  }, ({ items: filteredTriggers2 }) => /* @__PURE__ */ React.createElement("div", {
118
117
  role: "list",
119
- className: "flex flex-col is-full"
118
+ className: "flex flex-col w-full"
120
119
  }, filteredTriggers2?.map((trigger2) => /* @__PURE__ */ React.createElement(TriggerListItem, {
121
120
  key: trigger2.id,
122
121
  trigger: trigger2,
@@ -126,12 +125,12 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
126
125
  onResetCursor: handleResetCursor,
127
126
  onForceRun: handleForceRunTrigger
128
127
  })))), filteredTriggers.length > 0 && /* @__PURE__ */ React.createElement(Separator, {
129
- classNames: "mlb-4"
128
+ classNames: "my-4"
130
129
  }), /* @__PURE__ */ React.createElement(IconButton, {
131
130
  icon: "ph--plus--regular",
132
- label: t("new trigger label"),
131
+ label: t("new-trigger.label"),
133
132
  onClick: handleAdd
134
- }));
133
+ })));
135
134
  };
136
135
  var TriggerListItem = ({ trigger, functions, onSelect, onDelete, onResetCursor, onForceRun }) => {
137
136
  const client = useClient();
@@ -169,36 +168,49 @@ var TriggerListItem = ({ trigger, functions, onSelect, onDelete, onResetCursor,
169
168
  onForceRun,
170
169
  trigger
171
170
  ]);
171
+ const actionProps = useMemo(() => {
172
+ if (trigger.spec?.kind === "timer" && onForceRun) {
173
+ return {
174
+ disabled: !enabled || trigger.spec?.kind !== "timer",
175
+ icon: "ph--play--regular",
176
+ label: "Force run",
177
+ onClick: handleForceRun
178
+ };
179
+ }
180
+ if (trigger.spec?.kind === "queue" && onResetCursor) {
181
+ return {
182
+ disabled: !cursor,
183
+ icon: "ph--arrow-clockwise--regular",
184
+ label: "Reset cursor",
185
+ onClick: handleResetCursor
186
+ };
187
+ }
188
+ }, [
189
+ enabled,
190
+ trigger.spec?.kind,
191
+ handleForceRun
192
+ ]);
172
193
  return /* @__PURE__ */ React.createElement(List.Item, {
173
194
  key: trigger.id,
174
195
  item: snapshot,
175
- classNames: mx(grid, ghostHover, "items-center", "pli-2")
196
+ classNames: mx(grid, ghostHover, "items-center", "px-2")
176
197
  }, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Switch, {
177
198
  checked: enabled,
178
199
  onCheckedChange: onEnabledChange
179
200
  })), /* @__PURE__ */ React.createElement("div", {
180
201
  className: "flex"
181
202
  }, /* @__PURE__ */ React.createElement(List.ItemTitle, {
182
- classNames: "pli-1 cursor-pointer is-0 shrink truncate",
203
+ classNames: "px-1 cursor-pointer w-0 shrink truncate",
183
204
  onClick: handleSelect
184
205
  }, getFunctionName(functions, trigger) ?? "\u2205", cursor && /* @__PURE__ */ React.createElement("div", {
185
206
  className: "text-xs text-description truncate ml-4"
186
207
  }, "Position: ", cursor)), copyAction && /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
187
208
  label: t(copyAction.translationKey),
188
209
  value: copyAction.contentProvider()
189
- })), trigger.spec?.kind === "timer" && onForceRun && /* @__PURE__ */ React.createElement(List.ItemButton, {
190
- autoHide: false,
191
- disabled: !enabled || trigger.spec?.kind !== "timer",
192
- icon: "ph--play--regular",
193
- label: "Force run",
194
- onClick: handleForceRun
195
- }), trigger.spec?.kind === "queue" && onResetCursor && /* @__PURE__ */ React.createElement(List.ItemButton, {
196
- autoHide: false,
197
- disabled: !cursor,
198
- icon: "ph--arrow-clockwise--regular",
199
- label: "Reset cursor",
200
- onClick: handleResetCursor
201
- }), onDelete && /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
210
+ })), actionProps ? /* @__PURE__ */ React.createElement(List.ItemIconButton, {
211
+ ...actionProps,
212
+ autoHide: false
213
+ }) : /* @__PURE__ */ React.createElement("div", null), onDelete && /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
202
214
  onClick: handleDelete
203
215
  }));
204
216
  };
@@ -231,7 +243,7 @@ var getFunctionName = (functions, trigger) => {
231
243
  };
232
244
  var scriptMatch = (script) => (trigger) => {
233
245
  const fn = trigger.function?.target;
234
- if (!Obj.instanceOf(Function.Function, fn)) {
246
+ if (!Obj.instanceOf(Operation.PersistentOperation, fn)) {
235
247
  return false;
236
248
  }
237
249
  return fn.source?.target === script;
@@ -255,4 +267,4 @@ export {
255
267
  AutomationPanel,
256
268
  AutomationPanel_default
257
269
  };
258
- //# sourceMappingURL=chunk-C273ZYLE.mjs.map
270
+ //# sourceMappingURL=chunk-FKFFU54G.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AutomationPanel/AutomationPanel.tsx", "../../../src/components/AutomationPanel/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as EFn from 'effect/Function';\nimport * as Match from 'effect/Match';\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { useTypeOptions } from '@dxos/app-toolkit/ui';\nimport { Script, Trigger } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Context } from '@dxos/context';\nimport { Filter, Obj, Query, Tag } from '@dxos/echo';\nimport { KEY_QUEUE_CURSOR } from '@dxos/functions-runtime';\nimport { FunctionsServiceClient } from '@dxos/functions-runtime/edge';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, useObject, useQuery } from '@dxos/react-client/echo';\nimport { Clipboard, IconButton, type IconButtonProps, Input, Separator, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { Pipeline } from '@dxos/types';\nimport { ghostHover, mx } from '@dxos/ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nimport { TriggerEditor, type TriggerEditorProps } from '../TriggerEditor';\n\nconst grid = 'grid grid-cols-[40px_1fr_32px_32px] min-h-[2.5rem]';\n\nexport type AutomationPanelProps = {\n space: Space;\n object?: Obj.Unknown;\n initialTrigger?: Trigger.Trigger;\n onDone?: () => void;\n};\n\n// TODO(burdon): Factor out common layout with ViewEditor.\nexport const AutomationPanel = ({ space, object, initialTrigger, onDone }: AutomationPanelProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const functionsServiceClient = useMemo(() => FunctionsServiceClient.fromClient(client), [client]);\n const functions = useQuery(space.db, Filter.type(Operation.PersistentOperation));\n const triggers = useQuery(\n space.db,\n Query.select(Filter.type(Trigger.Trigger)).debugLabel('plugin-automation.AutomationPanel'),\n );\n const filteredTriggers = useMemo(() => {\n return object ? triggers.filter(triggerMatch(object)) : triggers;\n }, [object, triggers]);\n const tags = useQuery(space.db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n space,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n },\n });\n\n const [trigger, setTrigger] = useState<Trigger.Trigger | undefined>(initialTrigger);\n const [selected, setSelected] = useState<Trigger.Trigger>();\n\n const handleSelect = (trigger: Trigger.Trigger) => {\n setTrigger(trigger);\n setSelected(trigger);\n };\n\n const handleAdd = () => {\n setTrigger(Trigger.make({}));\n setSelected(undefined);\n };\n\n const handleDelete = (trigger: Trigger.Trigger) => {\n space.db.remove(trigger);\n setTrigger(undefined);\n setSelected(undefined);\n };\n\n const handleSave: TriggerEditorProps['onSave'] = (trigger) => {\n if (selected) {\n Obj.update(selected, (selected) => {\n Object.assign(selected, trigger);\n });\n } else {\n space.db.add(Trigger.make(trigger));\n }\n\n setTrigger(undefined);\n setSelected(undefined);\n onDone?.();\n };\n\n const handleCancel: TriggerEditorProps['onCancel'] = () => {\n setTrigger(undefined);\n onDone?.();\n };\n\n const handleForceRunTrigger = async (trigger: Trigger.Trigger) => {\n await functionsServiceClient.forceRunCronTrigger(Context.default(), space.id, trigger.id);\n };\n\n const handleResetCursor = async (trigger: Trigger.Trigger) => {\n Obj.update(trigger, (trigger) => {\n Obj.deleteKeys(trigger, KEY_QUEUE_CURSOR);\n });\n await space.db.flush({ indexes: true });\n };\n\n if (trigger) {\n return (\n <Settings.Item title={t('trigger-editor.title')} description={t('trigger-editor.description')}>\n <TriggerEditor\n db={space.db}\n trigger={trigger}\n readonlySpec={Boolean(object)}\n tags={tags}\n types={types}\n onSave={handleSave}\n onCancel={handleCancel}\n />\n </Settings.Item>\n );\n }\n\n return (\n <Settings.Panel>\n <Clipboard.Provider>\n {filteredTriggers.length > 0 && (\n <List.Root<Trigger.Trigger>\n items={filteredTriggers}\n isItem={Schema.is(Trigger.Trigger)}\n getId={(field) => field.id}\n >\n {({ items: filteredTriggers }) => (\n <div role='list' className='flex flex-col w-full'>\n {filteredTriggers?.map((trigger) => (\n <TriggerListItem\n key={trigger.id}\n trigger={trigger}\n functions={functions}\n onSelect={handleSelect}\n onDelete={handleDelete}\n onResetCursor={handleResetCursor}\n onForceRun={handleForceRunTrigger}\n />\n ))}\n </div>\n )}\n </List.Root>\n )}\n\n {filteredTriggers.length > 0 && <Separator classNames='my-4' />}\n <IconButton icon='ph--plus--regular' label={t('new-trigger.label')} onClick={handleAdd} />\n </Clipboard.Provider>\n </Settings.Panel>\n );\n};\n\nconst TriggerListItem = ({\n trigger,\n functions,\n onSelect,\n onDelete,\n onResetCursor,\n onForceRun,\n}: {\n trigger: Trigger.Trigger;\n functions: Operation.PersistentOperation[];\n onSelect?: (trigger: Trigger.Trigger) => void;\n onDelete?: (trigger: Trigger.Trigger) => void;\n onResetCursor?: (trigger: Trigger.Trigger) => void;\n onForceRun?: (trigger: Trigger.Trigger) => void;\n}) => {\n const client = useClient();\n const copyAction = getCopyAction(client, trigger);\n const { t } = useTranslation(meta.id);\n const cursor = Obj.getKeys(trigger, KEY_QUEUE_CURSOR).at(0)?.id;\n const [snapshot, updateTrigger] = useObject(trigger);\n\n const enabled = snapshot.enabled ?? false;\n const onEnabledChange = (checked: boolean) => {\n updateTrigger((trigger) => {\n trigger.enabled = checked;\n });\n };\n\n const handleSelect = useCallback(() => {\n onSelect?.(trigger);\n }, [onSelect, trigger]);\n\n const handleDelete = useCallback(() => {\n onDelete?.(trigger);\n }, [onDelete, trigger]);\n\n const handleResetCursor = useCallback(() => {\n onResetCursor?.(trigger);\n }, [onResetCursor, trigger]);\n\n const handleForceRun = useCallback(() => {\n onForceRun?.(trigger);\n }, [onForceRun, trigger]);\n\n const actionProps = useMemo<IconButtonProps | undefined>(() => {\n if (trigger.spec?.kind === 'timer' && onForceRun) {\n return {\n disabled: !enabled || trigger.spec?.kind !== 'timer',\n icon: 'ph--play--regular',\n label: 'Force run',\n onClick: handleForceRun,\n };\n }\n\n if (trigger.spec?.kind === 'queue' && onResetCursor) {\n return {\n disabled: !cursor,\n icon: 'ph--arrow-clockwise--regular',\n label: 'Reset cursor',\n onClick: handleResetCursor,\n };\n }\n }, [enabled, trigger.spec?.kind, handleForceRun]);\n\n return (\n <List.Item<Obj.Snapshot<Trigger.Trigger>>\n key={trigger.id}\n item={snapshot}\n classNames={mx(grid, ghostHover, 'items-center', 'px-2')}\n >\n <Input.Root>\n <Input.Switch checked={enabled} onCheckedChange={onEnabledChange} />\n </Input.Root>\n\n <div className={'flex'}>\n <List.ItemTitle classNames='px-1 cursor-pointer w-0 shrink truncate' onClick={handleSelect}>\n {getFunctionName(functions, trigger) ?? '∅'}\n {cursor && <div className='text-xs text-description truncate ml-4'>Position: {cursor}</div>}\n </List.ItemTitle>\n\n {copyAction && (\n <Clipboard.IconButton label={t(copyAction.translationKey)} value={copyAction.contentProvider()} />\n )}\n </div>\n\n {actionProps ? <List.ItemIconButton {...actionProps} autoHide={false} /> : <div />}\n\n {onDelete && <List.ItemDeleteButton onClick={handleDelete} />}\n </List.Item>\n );\n};\n\nconst getCopyAction = (client: Client, trigger: Trigger.Trigger | undefined) => {\n if (trigger?.spec?.kind === 'email') {\n return {\n translationKey: 'trigger copy email' as const,\n contentProvider: () => `${Obj.getDatabase(trigger)!.spaceId}@dxos.network`,\n };\n }\n\n if (trigger?.spec?.kind === 'webhook') {\n return {\n translationKey: 'trigger copy url' as const,\n contentProvider: () => getWebhookUrl(client, trigger!),\n };\n }\n\n return undefined;\n};\n\nconst getWebhookUrl = (client: Client, trigger: Trigger.Trigger) => {\n const spaceId = Obj.getDatabase(trigger)!.spaceId;\n const edgeUrl = new URL(client.config.values.runtime!.services!.edge!.url!);\n const isSecure = edgeUrl.protocol.startsWith('https') || edgeUrl.protocol.startsWith('wss');\n edgeUrl.protocol = isSecure ? 'https' : 'http';\n return new URL(`/webhook/${spaceId}:${trigger.id}`, edgeUrl).toString();\n};\n\nconst getFunctionName = (functions: Operation.PersistentOperation[], trigger: Trigger.Trigger) => {\n // TODO(wittjosiah): Truncation should be done in the UI.\n // Warning that the List component is currently a can of worms.\n const shortId = trigger.function && `${trigger.function.dxn.toString().slice(0, 16)}…`;\n const functionObject = functions.find((fn) => fn === trigger.function?.target);\n return functionObject?.name ?? shortId;\n};\n\nconst scriptMatch = (script: Script.Script) => (trigger: Trigger.Trigger) => {\n const fn = trigger.function?.target;\n if (!Obj.instanceOf(Operation.PersistentOperation, fn)) {\n return false;\n }\n\n return fn.source?.target === script;\n};\n\nconst projectMatch = (project: Pipeline.Pipeline) => {\n const viewQueries = EFn.pipe(\n project.columns,\n Array.map((column) => column.view.target),\n Array.filter(isNonNullable),\n Array.map((view) => Obj.getSnapshot(view).query.ast),\n Array.map((ast) => JSON.stringify(ast)),\n );\n\n return (trigger: Trigger.Trigger) => {\n const spec = Obj.getSnapshot(trigger).spec;\n if (spec?.kind !== 'subscription') {\n return false;\n }\n\n // TODO(wittjosiah): Implement better way of comparing query ASTs.\n return viewQueries.some((query) => JSON.stringify(spec.query) === query);\n };\n};\n\nconst triggerMatch = Match.type<Obj.Unknown>().pipe(\n Match.withReturnType<(trigger: Trigger.Trigger) => boolean>(),\n Match.when(\n (obj) => Obj.instanceOf(Script.Script, obj),\n (obj) => scriptMatch(obj),\n ),\n Match.when(\n (obj) => Obj.instanceOf(Pipeline.Pipeline, obj),\n (obj) => projectMatch(obj),\n ),\n Match.orElse((_obj) => () => true),\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { AutomationPanel } from './AutomationPanel';\n\nexport * from './AutomationPanel';\n\nexport default AutomationPanel;\n"],
5
+ "mappings": "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",
6
+ "names": ["Array", "EFn", "Match", "Schema", "React", "useCallback", "useMemo", "useState", "useTypeOptions", "Script", "Trigger", "Operation", "Context", "Filter", "Obj", "Query", "Tag", "KEY_QUEUE_CURSOR", "FunctionsServiceClient", "useClient", "useObject", "useQuery", "Clipboard", "IconButton", "Input", "Separator", "useTranslation", "Settings", "List", "Pipeline", "ghostHover", "mx", "isNonNullable", "meta", "AutomationPanel", "client", "useClient", "functionsServiceClient", "useMemo", "filteredTriggers", "object", "triggers", "filter", "triggerMatch", "space", "annotation", "kind", "handleSelect", "trigger", "setTrigger", "setSelected", "handleAdd", "undefined", "handleDelete", "handleSave", "selected", "Object", "onDone", "handleCancel", "handleForceRunTrigger", "handleResetCursor", "KEY_QUEUE_CURSOR", "flush", "title", "db", "readonlySpec", "tags", "types", "onSave", "onCancel", "Trigger", "getId", "role", "className", "functions", "onSelect", "onDelete", "onResetCursor", "onForceRun", "classNames", "IconButton", "icon", "onClick", "TriggerListItem", "getCopyAction", "useTranslation", "cursor", "getKeys", "snapshot", "updateTrigger", "useObject", "enabled", "onEnabledChange", "checked", "disabled", "spec", "label", "handleForceRun", "mx", "onCheckedChange", "List", "ItemTitle", "getFunctionName", "copyAction", "Clipboard", "contentProvider", "actionProps", "autoHide", "translationKey", "getWebhookUrl", "isSecure", "edgeUrl", "protocol", "startsWith", "spaceId", "toString", "functionObject", "name", "shortId", "scriptMatch", "script", "instanceOf", "Operation", "PersistentOperation", "source", "projectMatch", "project", "getSnapshot", "AutomationPanel"]
7
+ }
@@ -0,0 +1,8 @@
1
+ // src/operations/index.ts
2
+ import { OperationHandlerSet } from "@dxos/compute";
3
+ var AutomationOperationHandlerSet = OperationHandlerSet.lazy(() => import("./create-trigger-from-template-5FT7O7OU.mjs"));
4
+
5
+ export {
6
+ AutomationOperationHandlerSet
7
+ };
8
+ //# sourceMappingURL=chunk-GDNOJOAR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const AutomationOperationHandlerSet = OperationHandlerSet.lazy(() => import('./create-trigger-from-template'));\n"],
5
+ "mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,gCAAgCD,oBAAoBE,KAAK,MAAM,OAAO,6CAAA,CAAA;",
6
+ "names": ["OperationHandlerSet", "AutomationOperationHandlerSet", "lazy"]
7
+ }
@@ -0,0 +1,12 @@
1
+ // src/components/index.ts
2
+ import { lazy } from "react";
3
+ var AutomationPanel = lazy(() => import("./AutomationPanel-64U7W3SJ.mjs"));
4
+ var FunctionsPanel = lazy(() => import("./FunctionsPanel-GLCUBEDT.mjs"));
5
+ var FunctionsRegistry = lazy(() => import("./FunctionsRegistry-VRU4FBVH.mjs"));
6
+
7
+ export {
8
+ AutomationPanel,
9
+ FunctionsPanel,
10
+ FunctionsRegistry
11
+ };
12
+ //# sourceMappingURL=chunk-IGGNE2XI.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './TriggerEditor';\n\nexport const AutomationPanel = lazy(() => import('./AutomationPanel'));\nexport const FunctionsPanel = lazy(() => import('./FunctionsPanel'));\nexport const FunctionsRegistry = lazy(() => import('./FunctionsRegistry'));\n"],
5
+ "mappings": ";AAIA,SAASA,YAAY;AAId,IAAMC,kBAAkBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AAC1C,IAAME,iBAAiBF,KAAK,MAAM,OAAO,+BAAA,CAAA;AACzC,IAAMG,oBAAoBH,KAAK,MAAM,OAAO,kCAAA,CAAA;",
6
+ "names": ["lazy", "AutomationPanel", "FunctionsPanel", "FunctionsRegistry"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -1,13 +1,8 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- meta
4
- } from "./chunk-5FXNN3MV.mjs";
5
-
6
1
  // src/components/TriggerEditor/TriggerEditor.tsx
7
2
  import React3, { useCallback as useCallback3, useMemo as useMemo3 } from "react";
3
+ import { Operation, Script, Trigger as Trigger2 } from "@dxos/compute";
8
4
  import { ComputeGraph } from "@dxos/conductor";
9
- import { DXN } from "@dxos/echo";
10
- import { Function, Script, Trigger as Trigger2 } from "@dxos/functions";
5
+ import { DXN, Entity, Feed, Obj as Obj2 } from "@dxos/echo";
11
6
  import { Filter as Filter2, Ref as Ref2, useQuery } from "@dxos/react-client/echo";
12
7
  import { Input } from "@dxos/react-ui";
13
8
  import { QueryForm } from "@dxos/react-ui-components";
@@ -15,9 +10,10 @@ import { Form as Form2, FormFieldLabel, SelectField as SelectField2, omitId } fr
15
10
 
16
11
  // src/components/TriggerEditor/FunctionInputEditor.tsx
17
12
  import React, { useCallback, useMemo } from "react";
18
- import { Obj, Ref, Type } from "@dxos/echo";
13
+ import { JsonSchema, Obj, Ref } from "@dxos/echo";
19
14
  import { useOnTransition, useTranslation } from "@dxos/react-ui";
20
15
  import { Form, useFormValues } from "@dxos/react-ui-form";
16
+ import { meta } from "#meta";
21
17
  var FunctionInputEditor = ({ type, functions, db, getValue, onValueChange }) => {
22
18
  const { t } = useTranslation(meta.id);
23
19
  const selectedFunctionValue = useFormValues(FunctionInputEditor.displayName, [
@@ -49,7 +45,7 @@ var FunctionInputEditor = ({ type, functions, db, getValue, onValueChange }) =>
49
45
  const inputSchema = useMemo(() => selectedFunction?.inputSchema, [
50
46
  selectedFunction
51
47
  ]);
52
- const effectSchema = useMemo(() => inputSchema ? Type.toEffectSchema(inputSchema) : void 0, [
48
+ const effectSchema = useMemo(() => inputSchema ? JsonSchema.toEffectSchema(inputSchema) : void 0, [
53
49
  inputSchema
54
50
  ]);
55
51
  const propertyCount = inputSchema?.properties ? Object.keys(inputSchema.properties).length : 0;
@@ -73,7 +69,7 @@ var FunctionInputEditor = ({ type, functions, db, getValue, onValueChange }) =>
73
69
  return null;
74
70
  }
75
71
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Form.Label, {
76
- label: t("function parameters label"),
72
+ label: t("function-parameters.label"),
77
73
  asChild: true
78
74
  }), /* @__PURE__ */ React.createElement(Form.Root, {
79
75
  key: selectedFunction.id,
@@ -87,12 +83,13 @@ FunctionInputEditor.displayName = "AutomationTrigger.FunctionInputEditor";
87
83
 
88
84
  // src/components/TriggerEditor/SpecSelector.tsx
89
85
  import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
86
+ import { Trigger } from "@dxos/compute";
90
87
  import { Filter, Query } from "@dxos/echo";
91
- import { Trigger } from "@dxos/functions";
92
88
  import { useTranslation as useTranslation2 } from "@dxos/react-ui";
93
89
  import { SelectField, useFormFieldState } from "@dxos/react-ui-form";
90
+ import { meta as meta2 } from "#meta";
94
91
  var SpecSelector = (props) => {
95
- const { t } = useTranslation2(meta.id);
92
+ const { t } = useTranslation2(meta2.id);
96
93
  const specProps = useFormFieldState(SpecSelector.displayName, [
97
94
  "spec"
98
95
  ]);
@@ -100,30 +97,15 @@ var SpecSelector = (props) => {
100
97
  const getDefaultTriggerSpec = (kind) => {
101
98
  switch (kind) {
102
99
  case "timer":
103
- return {
104
- kind: "timer",
105
- cron: ""
106
- };
100
+ return Trigger.specTimer("");
107
101
  case "subscription":
108
- return {
109
- kind: "subscription",
110
- query: {
111
- ast: Query.select(Filter.nothing()).ast
112
- }
113
- };
102
+ return Trigger.specSubscription(Query.select(Filter.nothing()));
114
103
  case "queue":
115
- return {
116
- kind: "queue",
117
- queue: "dxn:"
118
- };
104
+ return Trigger.specQueue("dxn:queue:default");
119
105
  case "email":
120
- return {
121
- kind: "email"
122
- };
106
+ return Trigger.specEmail();
123
107
  case "webhook":
124
- return {
125
- kind: "webhook"
126
- };
108
+ return Trigger.specWebhook();
127
109
  default:
128
110
  return void 0;
129
111
  }
@@ -137,9 +119,17 @@ var SpecSelector = (props) => {
137
119
  props.type,
138
120
  specProps
139
121
  ]);
122
+ const kindLabels = {
123
+ timer: t("trigger-type.timer.label"),
124
+ webhook: t("trigger-type.webhook.label"),
125
+ websocket: t("trigger-type.websocket.label"),
126
+ subscription: t("trigger-type.subscription.label"),
127
+ email: t("trigger-type.email.label"),
128
+ queue: t("trigger-type.queue.label")
129
+ };
140
130
  const options = useMemo2(() => Trigger.Kinds.map((kind) => ({
141
131
  value: kind,
142
- label: t(`trigger type ${kind}`)
132
+ label: kindLabels[kind]
143
133
  })), [
144
134
  t
145
135
  ]);
@@ -159,18 +149,34 @@ var TriggerEditor = ({ db, types, tags, readonlySpec, trigger, ...formProps }) =
159
149
  tags,
160
150
  readonlySpec
161
151
  });
152
+ const handleValuesChanged = useCallback3((newValues) => {
153
+ Obj2.update(trigger, (trigger2) => {
154
+ Object.assign(trigger2, newValues);
155
+ });
156
+ }, [
157
+ trigger
158
+ ]);
159
+ const triggerSchema = useMemo3(() => omitId(Trigger2.Trigger), []);
160
+ const defaultValues = useMemo3(() => {
161
+ const { id: _, ...values } = trigger;
162
+ return values;
163
+ }, [
164
+ trigger
165
+ ]);
162
166
  return /* @__PURE__ */ React3.createElement(Form2.Root, {
163
167
  ...formProps,
164
- schema: omitId(Trigger2.Trigger),
165
- values: trigger,
166
168
  db,
167
- fieldMap
169
+ schema: triggerSchema,
170
+ defaultValues,
171
+ fieldMap,
172
+ onValuesChanged: handleValuesChanged
168
173
  }, /* @__PURE__ */ React3.createElement(Form2.Viewport, null, /* @__PURE__ */ React3.createElement(Form2.Content, null, /* @__PURE__ */ React3.createElement(Form2.FieldSet, null), /* @__PURE__ */ React3.createElement(Form2.Actions, null))));
169
174
  };
170
175
  var useCustomInputs = ({ db, readonlySpec, types, tags }) => {
171
- const functions = useQuery(db, Filter2.type(Function.Function));
176
+ const functions = useQuery(db, Filter2.type(Operation.PersistentOperation));
172
177
  const workflows = useQuery(db, Filter2.type(ComputeGraph));
173
178
  const scripts = useQuery(db, Filter2.type(Script.Script));
179
+ const feeds = useQuery(db, Filter2.type(Feed.Feed));
174
180
  return useMemo3(() => ({
175
181
  // Function selector.
176
182
  ["function"]: (props) => {
@@ -201,13 +207,18 @@ var useCustomInputs = ({ db, readonlySpec, types, tags }) => {
201
207
  });
202
208
  },
203
209
  // Spec selector.
204
- ["spec.kind"]: (props) => /* @__PURE__ */ React3.createElement(SpecSelector, {
210
+ "spec.kind": (props) => /* @__PURE__ */ React3.createElement(SpecSelector, {
205
211
  ...props,
206
212
  readonly: readonlySpec
207
213
  }),
214
+ // Queue feed selector with parent labels.
215
+ "spec.queue": (props) => /* @__PURE__ */ React3.createElement(SelectField2, {
216
+ ...props,
217
+ options: getFeedQueueOptions(feeds)
218
+ }),
208
219
  // TODO(wittjosiah): Copied from ViewEditor.
209
220
  // Query input editor.
210
- ["spec.query"]: (props) => {
221
+ "spec.query": (props) => {
211
222
  const handleChange = useCallback3((query) => props.onValueChange(props.type, {
212
223
  ast: query.ast
213
224
  }), [
@@ -225,7 +236,7 @@ var useCustomInputs = ({ db, readonlySpec, types, tags }) => {
225
236
  }));
226
237
  },
227
238
  // Function input editor.
228
- ["input"]: (props) => /* @__PURE__ */ React3.createElement(FunctionInputEditor, {
239
+ input: (props) => /* @__PURE__ */ React3.createElement(FunctionInputEditor, {
229
240
  ...props,
230
241
  functions,
231
242
  db
@@ -234,6 +245,7 @@ var useCustomInputs = ({ db, readonlySpec, types, tags }) => {
234
245
  workflows,
235
246
  scripts,
236
247
  functions,
248
+ feeds,
237
249
  readonlySpec
238
250
  ]);
239
251
  };
@@ -250,8 +262,24 @@ var getFunctionOptions = (scripts, functions) => {
250
262
  value: `dxn:echo:@:${fn.id}`
251
263
  }));
252
264
  };
265
+ var getFeedQueueOptions = (feeds) => {
266
+ return feeds.flatMap((feed) => {
267
+ const queueDxn = Feed.getQueueDxn(feed);
268
+ if (!queueDxn) {
269
+ return [];
270
+ }
271
+ const parent = Obj2.getParent(feed);
272
+ const label = parent ? Entity.getLabel(parent) : Entity.getLabel(feed);
273
+ return [
274
+ {
275
+ label: label ?? feed.id,
276
+ value: queueDxn.toString()
277
+ }
278
+ ];
279
+ });
280
+ };
253
281
 
254
282
  export {
255
283
  TriggerEditor
256
284
  };
257
- //# sourceMappingURL=chunk-EJPZWAGR.mjs.map
285
+ //# sourceMappingURL=chunk-N735CP33.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/TriggerEditor/TriggerEditor.tsx", "../../../src/components/TriggerEditor/FunctionInputEditor.tsx", "../../../src/components/TriggerEditor/SpecSelector.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Operation, Script, Trigger } from '@dxos/compute';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { DXN, type Database, Entity, Feed, Obj, type Query } from '@dxos/echo';\nimport { Filter, Ref, useQuery } from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { QueryForm, type QueryFormProps } from '@dxos/react-ui-components';\nimport {\n type ExcludeId,\n Form,\n FormFieldLabel,\n type FormFieldMap,\n type FormRootProps,\n SelectField,\n omitId,\n} from '@dxos/react-ui-form';\n\nimport { FunctionInputEditor } from './FunctionInputEditor';\nimport { SpecSelector } from './SpecSelector';\n\ntype TriggerFormSchema = ExcludeId<typeof Trigger.Trigger>;\n\nexport type TriggerEditorProps = {\n db: Database.Database;\n trigger: Trigger.Trigger;\n // TODO(wittjosiah): This needs to apply to whole spec but currently only applies to spec.kind & spec.query.\n readonlySpec?: boolean;\n} &\n // prettier-ignore\n Pick<QueryFormProps, 'types' | 'tags'> &\n Pick<FormRootProps<TriggerFormSchema>, 'onSave' | 'onCancel'>;\n\nexport const TriggerEditor = ({ db, types, tags, readonlySpec, trigger, ...formProps }: TriggerEditorProps) => {\n const fieldMap = useCustomInputs({ db, types, tags, readonlySpec });\n\n const handleValuesChanged = useCallback(\n (newValues: Partial<TriggerFormSchema>) => {\n Obj.update(trigger, (trigger) => {\n Object.assign(trigger, newValues);\n });\n },\n [trigger],\n );\n\n const triggerSchema = useMemo(() => omitId(Trigger.Trigger), []);\n const defaultValues = useMemo(() => {\n const { id: _, ...values } = trigger;\n return values;\n }, [trigger]);\n\n return (\n <Form.Root<TriggerFormSchema>\n {...formProps}\n db={db}\n schema={triggerSchema}\n defaultValues={defaultValues}\n fieldMap={fieldMap}\n onValuesChanged={handleValuesChanged}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Actions />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n\ntype UseCustomInputsProps = {\n db: Database.Database;\n readonlySpec?: boolean;\n} & Pick<QueryFormProps, 'types' | 'tags'>;\n\nconst useCustomInputs = ({ db, readonlySpec, types, tags }: UseCustomInputsProps): FormFieldMap => {\n const functions = useQuery(db, Filter.type(Operation.PersistentOperation));\n const workflows = useQuery(db, Filter.type(ComputeGraph));\n const scripts = useQuery(db, Filter.type(Script.Script));\n const feeds = useQuery(db, Filter.type(Feed.Feed));\n\n return useMemo(\n (): FormFieldMap => ({\n // Function selector.\n ['function' satisfies keyof Trigger.Trigger]: (props) => {\n const getValue = useCallback(() => {\n const formValue = props.getValue();\n if (Ref.isRef(formValue)) {\n return formValue.dxn.toString() as string;\n }\n return undefined;\n }, [props]);\n\n const handleOnValueChange = useCallback(\n (_type: any, dxnString: string) => {\n const dxn = DXN.parse(dxnString);\n if (dxn) {\n const ref = Ref.fromDXN(dxn);\n props.onValueChange(props.type, ref);\n }\n },\n [props.type, props.onValueChange],\n );\n\n return (\n <SelectField\n {...props}\n getValue={getValue as any}\n onValueChange={handleOnValueChange}\n options={getWorkflowOptions(workflows).concat(getFunctionOptions(scripts, functions))}\n />\n );\n },\n\n // Spec selector.\n 'spec.kind': (props) => <SpecSelector {...props} readonly={readonlySpec} />,\n\n // Queue feed selector with parent labels.\n 'spec.queue': (props) => <SelectField {...props} options={getFeedQueueOptions(feeds)} />,\n\n // TODO(wittjosiah): Copied from ViewEditor.\n // Query input editor.\n 'spec.query': (props) => {\n const handleChange = useCallback(\n (query: Query.Any) => props.onValueChange(props.type, { ast: query.ast }),\n [props.type, props.onValueChange],\n );\n\n return (\n <Input.Root>\n <FormFieldLabel label={props.label} asChild />\n <QueryForm initialQuery={(props.getValue() as any).ast} types={types} tags={tags} onChange={handleChange} />\n </Input.Root>\n );\n },\n\n // Function input editor.\n input: (props) => <FunctionInputEditor {...props} functions={functions} db={db} />,\n }),\n [workflows, scripts, functions, feeds, readonlySpec],\n );\n};\n\nconst getWorkflowOptions = (graphs: ComputeGraph[]) => {\n return graphs.map((graph) => ({ label: `compute-${graph.id}`, value: `dxn:echo:@:${graph.id}` }));\n};\n\nconst getFunctionOptions = (scripts: Script.Script[], functions: Operation.PersistentOperation[]) => {\n const getLabel = (fn: Operation.PersistentOperation) =>\n scripts.find((s) => fn.source?.target?.id === s.id)?.name ?? fn.name;\n return functions.map((fn) => ({ label: getLabel(fn), value: `dxn:echo:@:${fn.id}` }));\n};\n\nconst getFeedQueueOptions = (feeds: Feed.Feed[]) => {\n return feeds.flatMap((feed) => {\n const queueDxn = Feed.getQueueDxn(feed);\n if (!queueDxn) {\n return [];\n }\n const parent = Obj.getParent(feed);\n const label = parent ? Entity.getLabel(parent) : Entity.getLabel(feed);\n return [{ label: label ?? feed.id, value: queueDxn.toString() }];\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as SchemaAST from 'effect/SchemaAST';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type Operation } from '@dxos/compute';\nimport { type Database, JsonSchema, Obj, Ref } from '@dxos/echo';\nimport { type JsonPath } from '@dxos/echo/internal';\nimport { useOnTransition, useTranslation } from '@dxos/react-ui';\nimport { Form, type FormFieldStateProps, type FormRootProps, useFormValues } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\n\nexport type FunctionInputEditorProps = {\n type: SchemaAST.AST;\n functions: Operation.PersistentOperation[];\n db?: Database.Database;\n} & FormFieldStateProps;\n\nexport const FunctionInputEditor = ({ type, functions, db, getValue, onValueChange }: FunctionInputEditorProps) => {\n const { t } = useTranslation(meta.id);\n const selectedFunctionValue = useFormValues(FunctionInputEditor.displayName, ['function' as JsonPath]);\n const selectedFunctionId = useMemo(() => {\n if (Ref.isRef(selectedFunctionValue)) {\n return selectedFunctionValue.dxn.toString().split('dxn:echo:@:').at(1);\n }\n }, [selectedFunctionValue]);\n\n const selectedFunction = useMemo(\n () => functions.find((fn) => fn.id === selectedFunctionId),\n [functions, selectedFunctionId],\n );\n\n useOnTransition(\n // Clear function parameter input when the function changes.\n selectedFunctionValue,\n (prevValue) => {\n if (!Ref.isRef(prevValue) || !Ref.isRef(selectedFunctionValue)) {\n return false;\n }\n\n return prevValue.dxn.toString() !== selectedFunctionValue.dxn.toString();\n },\n (currValue) => currValue !== undefined,\n () => onValueChange(type, {}),\n );\n\n const inputSchema = useMemo(() => selectedFunction?.inputSchema, [selectedFunction]);\n const effectSchema = useMemo(() => (inputSchema ? JsonSchema.toEffectSchema(inputSchema) : undefined), [inputSchema]);\n const propertyCount = inputSchema?.properties ? Object.keys(inputSchema.properties).length : 0;\n const defaultValues = useMemo(() => {\n const raw = getValue() ?? {};\n return Obj.isObject(raw) ? { ...Obj.getSnapshot(raw) } : { ...raw };\n }, [getValue]);\n\n const handleValuesChanged = useCallback<NonNullable<FormRootProps['onValuesChanged']>>(\n (values) => {\n onValueChange(type, values);\n },\n [type, onValueChange],\n );\n\n if (selectedFunction === undefined || effectSchema === undefined || propertyCount === 0) {\n return null;\n }\n\n return (\n <>\n <Form.Label label={t('function-parameters.label')} asChild />\n <Form.Root\n key={selectedFunction.id}\n schema={effectSchema}\n defaultValues={defaultValues}\n db={db}\n onValuesChanged={handleValuesChanged}\n >\n <Form.FieldSet />\n </Form.Root>\n </>\n );\n};\n\nFunctionInputEditor.displayName = 'AutomationTrigger.FunctionInputEditor';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Trigger } from '@dxos/compute';\nimport { Filter, Query } from '@dxos/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { type FormFieldComponentProps, SelectField, useFormFieldState } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\n\nexport type SpecSelectorProps = FormFieldComponentProps;\n\nexport const SpecSelector = (props: SpecSelectorProps) => {\n const { t } = useTranslation(meta.id);\n const specProps = useFormFieldState(SpecSelector.displayName, ['spec' satisfies keyof Trigger.Trigger]);\n\n const handleTypeChange = useCallback(\n (_type: any, value: string): Trigger.Spec | undefined => {\n const getDefaultTriggerSpec = (kind: string) => {\n switch (kind) {\n case 'timer':\n return Trigger.specTimer('');\n case 'subscription':\n return Trigger.specSubscription(Query.select(Filter.nothing()));\n case 'queue':\n return Trigger.specQueue('dxn:queue:default');\n case 'email':\n return Trigger.specEmail();\n case 'webhook':\n return Trigger.specWebhook();\n default:\n return undefined;\n }\n };\n\n const defaultSpec = getDefaultTriggerSpec(value);\n if (!defaultSpec) {\n return;\n }\n\n // Update the entire spec object, not just the `spec.kind`.\n specProps.onValueChange(props.type, defaultSpec);\n },\n [props.type, specProps],\n );\n\n const kindLabels: Record<string, string> = {\n timer: t('trigger-type.timer.label'),\n webhook: t('trigger-type.webhook.label'),\n websocket: t('trigger-type.websocket.label'),\n subscription: t('trigger-type.subscription.label'),\n email: t('trigger-type.email.label'),\n queue: t('trigger-type.queue.label'),\n };\n\n const options = useMemo(\n () =>\n Trigger.Kinds.map((kind) => ({\n value: kind,\n label: kindLabels[kind],\n })),\n [t],\n );\n\n return <SelectField {...props} options={options} onValueChange={handleTypeChange} />;\n};\n\nSpecSelector.displayName = 'Form.SpecSelector';\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useMemo", "Operation", "Script", "Trigger", "ComputeGraph", "DXN", "Entity", "Feed", "Obj", "Filter", "Ref", "useQuery", "Input", "QueryForm", "Form", "FormFieldLabel", "SelectField", "omitId", "React", "useCallback", "useMemo", "JsonSchema", "Obj", "Ref", "useOnTransition", "useTranslation", "Form", "useFormValues", "meta", "FunctionInputEditor", "type", "functions", "db", "getValue", "onValueChange", "t", "id", "selectedFunctionValue", "displayName", "selectedFunctionId", "isRef", "dxn", "toString", "split", "at", "selectedFunction", "find", "fn", "prevValue", "currValue", "undefined", "inputSchema", "effectSchema", "toEffectSchema", "propertyCount", "properties", "Object", "keys", "length", "defaultValues", "raw", "isObject", "getSnapshot", "handleValuesChanged", "values", "Label", "label", "asChild", "Root", "key", "schema", "onValuesChanged", "FieldSet", "React", "useCallback", "useMemo", "Trigger", "Filter", "Query", "useTranslation", "SelectField", "useFormFieldState", "meta", "SpecSelector", "props", "t", "id", "specProps", "displayName", "handleTypeChange", "_type", "value", "getDefaultTriggerSpec", "kind", "specTimer", "specSubscription", "select", "nothing", "specQueue", "specEmail", "specWebhook", "undefined", "defaultSpec", "onValueChange", "type", "kindLabels", "timer", "webhook", "websocket", "subscription", "email", "queue", "options", "Kinds", "map", "label", "TriggerEditor", "db", "types", "tags", "readonlySpec", "trigger", "formProps", "fieldMap", "useCustomInputs", "handleValuesChanged", "useCallback", "newValues", "Obj", "update", "Object", "assign", "triggerSchema", "useMemo", "omitId", "Trigger", "defaultValues", "id", "_", "values", "React", "Form", "Root", "schema", "onValuesChanged", "Viewport", "Content", "FieldSet", "Actions", "functions", "useQuery", "Filter", "type", "Operation", "PersistentOperation", "workflows", "ComputeGraph", "scripts", "Script", "feeds", "Feed", "props", "getValue", "formValue", "Ref", "isRef", "dxn", "toString", "undefined", "handleOnValueChange", "_type", "dxnString", "DXN", "parse", "ref", "fromDXN", "onValueChange", "SelectField", "options", "getWorkflowOptions", "concat", "getFunctionOptions", "SpecSelector", "readonly", "getFeedQueueOptions", "handleChange", "query", "ast", "Input", "FormFieldLabel", "label", "asChild", "QueryForm", "initialQuery", "onChange", "input", "FunctionInputEditor", "graphs", "map", "graph", "value", "getLabel", "fn", "find", "s", "source", "target", "name", "flatMap", "feed", "queueDxn", "getQueueDxn", "parent", "getParent", "Entity"]
7
+ }
@@ -0,0 +1,16 @@
1
+ import {
2
+ AutomationPanel,
3
+ FunctionsPanel,
4
+ FunctionsRegistry
5
+ } from "../chunk-IGGNE2XI.mjs";
6
+ import {
7
+ TriggerEditor
8
+ } from "../chunk-N735CP33.mjs";
9
+ import "../chunk-J5LGTIGS.mjs";
10
+ export {
11
+ AutomationPanel,
12
+ FunctionsPanel,
13
+ FunctionsRegistry,
14
+ TriggerEditor
15
+ };
16
+ //# sourceMappingURL=index.mjs.map