@dxos/plugin-automation 0.8.1 → 0.8.2-main.2f9c567

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 (163) hide show
  1. package/dist/lib/browser/AutomationContainer-3MP23OGQ.mjs +34 -0
  2. package/dist/lib/browser/AutomationContainer-3MP23OGQ.mjs.map +7 -0
  3. package/dist/lib/browser/AutomationPanel-75HVBBNG.mjs +11 -0
  4. package/dist/lib/browser/AutomationPanel-75HVBBNG.mjs.map +7 -0
  5. package/dist/lib/browser/FunctionsContainer-HLISW5QI.mjs +33 -0
  6. package/dist/lib/browser/FunctionsContainer-HLISW5QI.mjs.map +7 -0
  7. package/dist/lib/browser/FunctionsPanel-OKFRBXLO.mjs +10 -0
  8. package/dist/lib/browser/FunctionsPanel-OKFRBXLO.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-K3BIQFWW.mjs → app-graph-builder-ND64CHOM.mjs} +42 -1
  10. package/dist/lib/browser/app-graph-builder-ND64CHOM.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-ADYCSC6Y.mjs +39 -0
  12. package/dist/lib/browser/chunk-ADYCSC6Y.mjs.map +7 -0
  13. package/dist/lib/browser/{AutomationPanel-YAHFXQX6.mjs → chunk-HTVXRMNH.mjs} +19 -18
  14. package/dist/lib/browser/chunk-HTVXRMNH.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-IDCVJ2JW.mjs +88 -0
  16. package/dist/lib/browser/chunk-IDCVJ2JW.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-N4PTKEWO.mjs +14 -0
  18. package/dist/lib/browser/chunk-N4PTKEWO.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-Q2ACSERA.mjs +211 -0
  20. package/dist/lib/browser/chunk-Q2ACSERA.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +25 -19
  22. package/dist/lib/browser/index.mjs.map +3 -3
  23. package/dist/lib/browser/intent-resolver-YH4YPX52.mjs +77 -0
  24. package/dist/lib/browser/intent-resolver-YH4YPX52.mjs.map +7 -0
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/react-surface-GA67CQBV.mjs +68 -0
  27. package/dist/lib/browser/react-surface-GA67CQBV.mjs.map +7 -0
  28. package/dist/lib/browser/types.mjs +8 -0
  29. package/dist/lib/browser/types.mjs.map +7 -0
  30. package/dist/lib/node/AutomationContainer-RIDHNHPT.cjs +62 -0
  31. package/dist/lib/node/AutomationContainer-RIDHNHPT.cjs.map +7 -0
  32. package/dist/lib/node/AutomationPanel-6RLBWAGL.cjs +32 -0
  33. package/dist/lib/node/AutomationPanel-6RLBWAGL.cjs.map +7 -0
  34. package/dist/lib/node/FunctionsContainer-RNZTNQEU.cjs +61 -0
  35. package/dist/lib/node/FunctionsContainer-RNZTNQEU.cjs.map +7 -0
  36. package/dist/lib/node/FunctionsPanel-7I7YCHPJ.cjs +31 -0
  37. package/dist/lib/node/FunctionsPanel-7I7YCHPJ.cjs.map +7 -0
  38. package/dist/lib/node/{app-graph-builder-HO4FPGZ5.cjs → app-graph-builder-TVFR6RXO.cjs} +45 -4
  39. package/dist/lib/node/app-graph-builder-TVFR6RXO.cjs.map +7 -0
  40. package/dist/lib/node/{AutomationPanel-ZKAMIU6O.cjs → chunk-52JFIUOD.cjs} +31 -26
  41. package/dist/lib/node/chunk-52JFIUOD.cjs.map +7 -0
  42. package/dist/lib/node/chunk-ESVJ2X6U.cjs +234 -0
  43. package/dist/lib/node/chunk-ESVJ2X6U.cjs.map +7 -0
  44. package/dist/lib/node/chunk-GDCG2BML.cjs +58 -0
  45. package/dist/lib/node/chunk-GDCG2BML.cjs.map +7 -0
  46. package/dist/lib/node/chunk-GLXGAIZC.cjs +116 -0
  47. package/dist/lib/node/chunk-GLXGAIZC.cjs.map +7 -0
  48. package/dist/lib/node/{chunk-AGJ6XTDN.cjs → chunk-HZTVNN4S.cjs} +16 -7
  49. package/dist/lib/node/chunk-HZTVNN4S.cjs.map +7 -0
  50. package/dist/lib/node/index.cjs +28 -22
  51. package/dist/lib/node/index.cjs.map +3 -3
  52. package/dist/lib/node/intent-resolver-6FJ6PJJI.cjs +93 -0
  53. package/dist/lib/node/intent-resolver-6FJ6PJJI.cjs.map +7 -0
  54. package/dist/lib/node/meta.json +1 -1
  55. package/dist/lib/node/{react-surface-52M54VWV.cjs → react-surface-UJDYSHZ5.cjs} +39 -15
  56. package/dist/lib/node/react-surface-UJDYSHZ5.cjs.map +7 -0
  57. package/dist/lib/node/types.cjs +30 -0
  58. package/dist/lib/node/types.cjs.map +7 -0
  59. package/dist/lib/node-esm/AutomationContainer-MCUWF267.mjs +35 -0
  60. package/dist/lib/node-esm/AutomationContainer-MCUWF267.mjs.map +7 -0
  61. package/dist/lib/node-esm/AutomationPanel-U34H2Q7Z.mjs +12 -0
  62. package/dist/lib/node-esm/AutomationPanel-U34H2Q7Z.mjs.map +7 -0
  63. package/dist/lib/node-esm/FunctionsContainer-435FW56J.mjs +34 -0
  64. package/dist/lib/node-esm/FunctionsContainer-435FW56J.mjs.map +7 -0
  65. package/dist/lib/node-esm/FunctionsPanel-NXXT5ERU.mjs +11 -0
  66. package/dist/lib/node-esm/FunctionsPanel-NXXT5ERU.mjs.map +7 -0
  67. package/dist/lib/node-esm/{app-graph-builder-XCJR33VS.mjs → app-graph-builder-NYLOXWVV.mjs} +42 -1
  68. package/dist/lib/node-esm/app-graph-builder-NYLOXWVV.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-5JC4JVYZ.mjs +212 -0
  70. package/dist/lib/node-esm/chunk-5JC4JVYZ.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-EEA6CZ6B.mjs +40 -0
  72. package/dist/lib/node-esm/chunk-EEA6CZ6B.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-RG3M42SO.mjs +16 -0
  74. package/dist/lib/node-esm/chunk-RG3M42SO.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-VYSTWH6Q.mjs +89 -0
  76. package/dist/lib/node-esm/chunk-VYSTWH6Q.mjs.map +7 -0
  77. package/dist/lib/node-esm/{AutomationPanel-XF7YPSKM.mjs → chunk-WYXWQFPK.mjs} +19 -18
  78. package/dist/lib/node-esm/chunk-WYXWQFPK.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +25 -19
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/intent-resolver-PVY22PBL.mjs +78 -0
  82. package/dist/lib/node-esm/intent-resolver-PVY22PBL.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/react-surface-R72A4EHM.mjs +69 -0
  85. package/dist/lib/node-esm/react-surface-R72A4EHM.mjs.map +7 -0
  86. package/dist/lib/node-esm/types.mjs +9 -0
  87. package/dist/lib/node-esm/types.mjs.map +7 -0
  88. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/index.d.ts +1 -0
  91. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  93. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  95. package/dist/types/src/components/AutomationContainer.d.ts +7 -0
  96. package/dist/types/src/components/AutomationContainer.d.ts.map +1 -0
  97. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +6 -3
  98. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  99. package/dist/types/src/components/AutomationPanel/index.d.ts +1 -0
  100. package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -1
  101. package/dist/types/src/components/FunctionsContainer.d.ts +7 -0
  102. package/dist/types/src/components/FunctionsContainer.d.ts.map +1 -0
  103. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts +7 -0
  104. package/dist/types/src/components/FunctionsPanel/FunctionsPanel.d.ts.map +1 -0
  105. package/dist/types/src/components/FunctionsPanel/index.d.ts +4 -0
  106. package/dist/types/src/components/FunctionsPanel/index.d.ts.map +1 -0
  107. package/dist/types/src/components/TriggerEditor/FunctionPayloadEditor.d.ts +12 -0
  108. package/dist/types/src/components/TriggerEditor/FunctionPayloadEditor.d.ts.map +1 -0
  109. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts +5 -0
  110. package/dist/types/src/components/TriggerEditor/SpecSelector.d.ts.map +1 -0
  111. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -1
  112. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  113. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  114. package/dist/types/src/components/index.d.ts +8 -1
  115. package/dist/types/src/components/index.d.ts.map +1 -1
  116. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  117. package/dist/types/src/translations.d.ts +8 -0
  118. package/dist/types/src/translations.d.ts.map +1 -1
  119. package/dist/types/src/types.d.ts +25 -0
  120. package/dist/types/src/types.d.ts.map +1 -0
  121. package/package.json +33 -24
  122. package/src/AutomationPlugin.tsx +5 -10
  123. package/src/capabilities/app-graph-builder.ts +31 -0
  124. package/src/capabilities/index.ts +1 -0
  125. package/src/capabilities/intent-resolver.ts +73 -0
  126. package/src/capabilities/react-surface.tsx +32 -8
  127. package/src/components/AutomationContainer.tsx +31 -0
  128. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +5 -5
  129. package/src/components/AutomationPanel/AutomationPanel.tsx +67 -67
  130. package/src/components/AutomationPanel/index.ts +2 -0
  131. package/src/components/FunctionsContainer.tsx +31 -0
  132. package/src/components/FunctionsPanel/FunctionsPanel.tsx +95 -0
  133. package/src/components/FunctionsPanel/index.ts +8 -0
  134. package/src/components/TriggerEditor/FunctionPayloadEditor.tsx +77 -0
  135. package/src/components/TriggerEditor/SpecSelector.tsx +59 -0
  136. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +18 -9
  137. package/src/components/TriggerEditor/TriggerEditor.tsx +49 -89
  138. package/src/components/index.ts +3 -0
  139. package/src/testing/test-functions.ts +23 -9
  140. package/src/translations.ts +10 -1
  141. package/src/types.ts +33 -0
  142. package/dist/lib/browser/AutomationPanel-YAHFXQX6.mjs.map +0 -7
  143. package/dist/lib/browser/app-graph-builder-K3BIQFWW.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-FALBBJNO.mjs +0 -138
  145. package/dist/lib/browser/chunk-FALBBJNO.mjs.map +0 -7
  146. package/dist/lib/browser/chunk-MT3FZH4V.mjs +0 -8
  147. package/dist/lib/browser/chunk-MT3FZH4V.mjs.map +0 -7
  148. package/dist/lib/browser/react-surface-4QQSJR4A.mjs +0 -42
  149. package/dist/lib/browser/react-surface-4QQSJR4A.mjs.map +0 -7
  150. package/dist/lib/node/AutomationPanel-ZKAMIU6O.cjs.map +0 -7
  151. package/dist/lib/node/app-graph-builder-HO4FPGZ5.cjs.map +0 -7
  152. package/dist/lib/node/chunk-AGJ6XTDN.cjs.map +0 -7
  153. package/dist/lib/node/chunk-FTEDH5Q6.cjs +0 -167
  154. package/dist/lib/node/chunk-FTEDH5Q6.cjs.map +0 -7
  155. package/dist/lib/node/react-surface-52M54VWV.cjs.map +0 -7
  156. package/dist/lib/node-esm/AutomationPanel-XF7YPSKM.mjs.map +0 -7
  157. package/dist/lib/node-esm/app-graph-builder-XCJR33VS.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-M4QXMIIB.mjs +0 -139
  159. package/dist/lib/node-esm/chunk-M4QXMIIB.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-OA75PSGH.mjs +0 -10
  161. package/dist/lib/node-esm/chunk-OA75PSGH.mjs.map +0 -7
  162. package/dist/lib/node-esm/react-surface-MGKM3OO3.mjs +0 -43
  163. package/dist/lib/node-esm/react-surface-MGKM3OO3.mjs.map +0 -7
@@ -1,3 +1,4 @@
1
1
  import { AutomationPanel } from './AutomationPanel';
2
+ export * from './AutomationPanel';
2
3
  export default AutomationPanel;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/AutomationPanel/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/AutomationPanel/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAElC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type Space } from '@dxos/react-client/echo';
3
+ export declare const FunctionsContainer: ({ space }: {
4
+ space: Space;
5
+ }) => React.JSX.Element;
6
+ export default FunctionsContainer;
7
+ //# sourceMappingURL=FunctionsContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionsContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/FunctionsContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAQrD,eAAO,MAAM,kBAAkB,cAAe;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,sBAc7D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type Space } from '@dxos/react-client/echo';
3
+ export type FunctionsPanelProps = {
4
+ space: Space;
5
+ };
6
+ export declare const FunctionsPanel: ({ space }: FunctionsPanelProps) => React.JSX.Element;
7
+ //# sourceMappingURL=FunctionsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/FunctionsPanel/FunctionsPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAsC,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAUzF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,cAAe,mBAAmB,sBAuE5D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FunctionsPanel } from './FunctionsPanel';
2
+ export * from './FunctionsPanel';
3
+ export default FunctionsPanel;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/FunctionsPanel/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,kBAAkB,CAAC;AACjC,eAAe,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { type FunctionType } from '@dxos/functions';
3
+ import { type FormInputStateProps, type QueryRefOptions } from '@dxos/react-ui-form';
4
+ export type FunctionMetaEditorProps = {
5
+ functions: FunctionType[];
6
+ onQueryRefOptions: QueryRefOptions;
7
+ } & FormInputStateProps;
8
+ /**
9
+ * Editor component for function meta parameters.
10
+ */
11
+ export declare const FunctionPayloadEditor: ({ functions, getValue, onValueChange, onQueryRefOptions, }: FunctionMetaEditorProps) => React.JSX.Element | null;
12
+ //# sourceMappingURL=FunctionPayloadEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionPayloadEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TriggerEditor/FunctionPayloadEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAQ,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAiB,MAAM,qBAAqB,CAAC;AAE1G,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,iBAAiB,EAAE,eAAe,CAAC;CACpC,GAAG,mBAAmB,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,qBAAqB,+DAK/B,uBAAuB,6BAoDzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type InputProps } from '@dxos/react-ui-form';
3
+ export type SpecSelectorProps = InputProps;
4
+ export declare const SpecSelector: (props: SpecSelectorProps) => React.JSX.Element;
5
+ //# sourceMappingURL=SpecSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/TriggerEditor/SpecSelector.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAe,KAAK,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAIlF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,eAAO,MAAM,YAAY,UAAW,iBAAiB,sBA4CpD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type FunctionTriggerType, type FunctionTrigger } from '@dxos/functions/types';
2
+ import { type FunctionTriggerType, type FunctionTrigger } from '@dxos/functions';
3
3
  import { type Space } from '@dxos/react-client/echo';
4
4
  export type TriggerEditorProps = {
5
5
  space: Space;
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TriggerEditor/TriggerEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAGrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAMvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AA0BF,eAAO,MAAM,aAAa,yCAA0C,kBAAkB,sBAkFrF,CAAC"}
1
+ {"version":3,"file":"TriggerEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TriggerEditor/TriggerEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAQ5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,aAAa,yCAA0C,kBAAkB,sBAgErF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TriggerEditor/TriggerEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAqC7C,QAAA,MAAM,IAAI,EAAE,IAqBX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC"}
1
+ {"version":3,"file":"TriggerEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TriggerEditor/TriggerEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAsC7C,QAAA,MAAM,IAAI,EAAE,IA6BX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC"}
@@ -1,3 +1,10 @@
1
1
  export * from './TriggerEditor';
2
- export declare const AutomationPanel: import("react").LazyExoticComponent<({ space, object }: import("./AutomationPanel/AutomationPanel").AutomationPanelProps) => import("react").JSX.Element>;
2
+ export declare const AutomationContainer: import("react").LazyExoticComponent<({ space }: {
3
+ space: import("@dxos/client-protocol").Space;
4
+ }) => import("react").JSX.Element>;
5
+ export declare const AutomationPanel: import("react").LazyExoticComponent<({ space, object, initialTrigger, onDone }: import("./AutomationPanel").AutomationPanelProps) => import("react").JSX.Element>;
6
+ export declare const FunctionsContainer: import("react").LazyExoticComponent<({ space }: {
7
+ space: import("@dxos/client-protocol").Space;
8
+ }) => import("react").JSX.Element>;
9
+ export declare const FunctionsPanel: import("react").LazyExoticComponent<({ space }: import("./FunctionsPanel").FunctionsPanelProps) => import("react").JSX.Element>;
3
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC;AAEhC,eAAO,MAAM,eAAe,2JAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC;AAEhC,eAAO,MAAM,mBAAmB;;kCAA8C,CAAC;AAC/E,eAAO,MAAM,eAAe,mKAA0C,CAAC;AACvE,eAAO,MAAM,kBAAkB;;kCAA6C,CAAC;AAC7E,eAAO,MAAM,cAAc,iIAAyC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-functions.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-functions.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;IA2BrB,CAAC"}
1
+ {"version":3,"file":"test-functions.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-functions.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS;;;;;;;;;;IAsCrB,CAAC"}
@@ -4,6 +4,14 @@ declare const _default: {
4
4
  'plugin name': string;
5
5
  'automation panel label': string;
6
6
  'script automation label': string;
7
+ 'automation verbose label': string;
8
+ 'automation description': string;
9
+ 'functions panel label': string;
10
+ 'functions verbose label': string;
11
+ 'functions description': string;
12
+ 'function copy id': string;
13
+ 'no functions found': string;
14
+ 'go to function source button label': string;
7
15
  'trigger editor title': string;
8
16
  'new trigger label': string;
9
17
  'trigger type timer': string;
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMA,wBA0BE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAmCE"}
@@ -0,0 +1,25 @@
1
+ import { Schema } from 'effect';
2
+ export declare namespace AutomationAction {
3
+ const CreateTriggerFromTemplate_base: Schema.TaggedClass<CreateTriggerFromTemplate, "dxos.org/plugin/automation/action/create-trigger-from-template", {
4
+ readonly _tag: Schema.tag<"dxos.org/plugin/automation/action/create-trigger-from-template">;
5
+ } & {
6
+ input: Schema.Struct<{
7
+ space: Schema.Schema<import("@dxos/client-protocol").Space, import("@dxos/client-protocol").Space, never>;
8
+ template: Schema.Union<[Schema.Struct<{
9
+ type: Schema.Literal<["timer"]>;
10
+ cron: typeof Schema.String;
11
+ }>, Schema.Struct<{
12
+ type: Schema.Literal<["queue"]>;
13
+ queueDXN: typeof Schema.Any;
14
+ }>]>;
15
+ enabled: Schema.optional<typeof Schema.Boolean>;
16
+ scriptName: Schema.optional<typeof Schema.String>;
17
+ input: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
18
+ }>;
19
+ output: typeof Schema.Void;
20
+ }>;
21
+ export class CreateTriggerFromTemplate extends CreateTriggerFromTemplate_base {
22
+ }
23
+ export {};
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAWhC,yBAAiB,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;IAGhC,MAAM,OAAO,yBAA0B,SAAQ,8BAa9C;KAAG;;CACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-automation",
3
- "version": "0.8.1",
3
+ "version": "0.8.2-main.2f9c567",
4
4
  "description": "Prompt chain plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -13,6 +13,11 @@
13
13
  "types": "./dist/types/src/index.d.ts",
14
14
  "browser": "./dist/lib/browser/index.mjs",
15
15
  "node": "./dist/lib/node-esm/index.mjs"
16
+ },
17
+ "./types": {
18
+ "types": "./dist/types/src/types.d.ts",
19
+ "browser": "./dist/lib/browser/types.mjs",
20
+ "node": "./dist/lib/node-esm/types.mjs"
16
21
  }
17
22
  },
18
23
  "types": "dist/types/src/index.d.ts",
@@ -26,24 +31,27 @@
26
31
  ],
27
32
  "dependencies": {
28
33
  "@preact/signals-core": "^1.6.0",
29
- "@dxos/app-framework": "0.8.1",
30
- "@dxos/conductor": "0.8.1",
31
- "@dxos/async": "0.8.1",
32
- "@dxos/echo-schema": "0.8.1",
33
- "@dxos/functions": "0.8.1",
34
- "@dxos/invariant": "0.8.1",
35
- "@dxos/live-object": "0.8.1",
36
- "@dxos/log": "0.8.1",
37
- "@dxos/plugin-client": "0.8.1",
38
- "@dxos/plugin-deck": "0.8.1",
39
- "@dxos/plugin-script": "0.8.1",
40
- "@dxos/react-client": "0.8.1",
41
- "@dxos/plugin-space": "0.8.1",
42
- "@dxos/plugin-graph": "0.8.1",
43
- "@dxos/react-ui-form": "0.8.1",
44
- "@dxos/react-ui-list": "0.8.1",
45
- "@dxos/react-ui-stack": "0.8.1",
46
- "@dxos/util": "0.8.1"
34
+ "effect": "3.14.21",
35
+ "@dxos/app-framework": "0.8.2-main.2f9c567",
36
+ "@dxos/async": "0.8.2-main.2f9c567",
37
+ "@dxos/conductor": "0.8.2-main.2f9c567",
38
+ "@dxos/echo": "0.8.2-main.2f9c567",
39
+ "@dxos/echo-schema": "0.8.2-main.2f9c567",
40
+ "@dxos/functions": "0.8.2-main.2f9c567",
41
+ "@dxos/live-object": "0.8.2-main.2f9c567",
42
+ "@dxos/invariant": "0.8.2-main.2f9c567",
43
+ "@dxos/log": "0.8.2-main.2f9c567",
44
+ "@dxos/plugin-client": "0.8.2-main.2f9c567",
45
+ "@dxos/plugin-deck": "0.8.2-main.2f9c567",
46
+ "@dxos/plugin-graph": "0.8.2-main.2f9c567",
47
+ "@dxos/plugin-space": "0.8.2-main.2f9c567",
48
+ "@dxos/random": "0.8.2-main.2f9c567",
49
+ "@dxos/react-client": "0.8.2-main.2f9c567",
50
+ "@dxos/react-ui-form": "0.8.2-main.2f9c567",
51
+ "@dxos/plugin-script": "0.8.2-main.2f9c567",
52
+ "@dxos/react-ui-stack": "0.8.2-main.2f9c567",
53
+ "@dxos/util": "0.8.2-main.2f9c567",
54
+ "@dxos/react-ui-list": "0.8.2-main.2f9c567"
47
55
  },
48
56
  "devDependencies": {
49
57
  "@types/react": "~18.2.0",
@@ -51,15 +59,16 @@
51
59
  "react": "~18.2.0",
52
60
  "react-dom": "~18.2.0",
53
61
  "vite": "5.4.7",
54
- "@dxos/react-ui-theme": "0.8.1",
55
- "@dxos/react-ui": "0.8.1",
56
- "@dxos/storybook-utils": "0.8.1"
62
+ "@dxos/react-ui-theme": "0.8.2-main.2f9c567",
63
+ "@dxos/react-ui": "0.8.2-main.2f9c567",
64
+ "@dxos/storybook-utils": "0.8.2-main.2f9c567"
57
65
  },
58
66
  "peerDependencies": {
67
+ "effect": "^3.13.3",
59
68
  "react": "~18.2.0",
60
69
  "react-dom": "~18.2.0",
61
- "@dxos/react-ui": "0.8.1",
62
- "@dxos/react-ui-theme": "0.8.1"
70
+ "@dxos/react-ui": "0.8.2-main.2f9c567",
71
+ "@dxos/react-ui-theme": "0.8.2-main.2f9c567"
63
72
  },
64
73
  "publishConfig": {
65
74
  "access": "public"
@@ -3,11 +3,10 @@
3
3
  //
4
4
 
5
5
  import { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';
6
- import { FunctionType, FunctionTrigger } from '@dxos/functions/types';
6
+ import { FunctionType, FunctionTrigger } from '@dxos/functions';
7
7
  import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
8
- import { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';
9
8
 
10
- import { AppGraphBuilder, ReactSurface } from './capabilities';
9
+ import { AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';
11
10
  import { meta } from './meta';
12
11
  import translations from './translations';
13
12
 
@@ -29,13 +28,9 @@ export const AutomationPlugin = () =>
29
28
  activate: AppGraphBuilder,
30
29
  }),
31
30
  defineModule({
32
- id: `${meta.id}/module/space-settings`,
33
- activatesOn: SpaceEvents.SetupSettingsPanel,
34
- activate: () =>
35
- contributes(SpaceCapabilities.SettingsSection, {
36
- id: 'automation',
37
- label: ['automation panel label', { ns: meta.id }],
38
- }),
31
+ id: `${meta.id}/module/intent-resolver`,
32
+ activatesOn: Events.SetupIntentResolver,
33
+ activate: IntentResolver,
39
34
  }),
40
35
  defineModule({
41
36
  id: `${meta.id}/module/react-surface`,
@@ -8,11 +8,42 @@ import { ScriptType } from '@dxos/functions';
8
8
  import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
9
9
  import { createExtension, type Node } from '@dxos/plugin-graph';
10
10
  import { SCRIPT_PLUGIN } from '@dxos/plugin-script/types';
11
+ import { SPACE_PLUGIN } from '@dxos/plugin-space';
11
12
 
12
13
  import { meta } from '../meta';
13
14
 
14
15
  export default (context: PluginsContext) =>
15
16
  contributes(Capabilities.AppGraphBuilder, [
17
+ createExtension({
18
+ id: `${meta.id}/space-settings-automation`,
19
+ filter: (node): node is Node<null> => node.type === `${SPACE_PLUGIN}/settings`,
20
+ connector: ({ node }) => [
21
+ {
22
+ id: `automation-${node.id}`,
23
+ type: `${meta.id}/space-settings-automation`,
24
+ data: `${meta.id}/space-settings-automation`,
25
+ properties: {
26
+ label: ['automation panel label', { ns: meta.id }],
27
+ icon: 'ph--lightning--regular',
28
+ },
29
+ },
30
+ ],
31
+ }),
32
+ createExtension({
33
+ id: `${meta.id}/space-settings-functions`,
34
+ filter: (node): node is Node<null> => node.type === `${SPACE_PLUGIN}/settings`,
35
+ connector: ({ node }) => [
36
+ {
37
+ id: `functions-${node.id}`,
38
+ type: `${meta.id}/space-settings-functions`,
39
+ data: `${meta.id}/space-settings-functions`,
40
+ properties: {
41
+ label: ['functions panel label', { ns: meta.id }],
42
+ icon: 'ph--function--regular',
43
+ },
44
+ },
45
+ ],
46
+ }),
16
47
  createExtension({
17
48
  id: `${SCRIPT_PLUGIN}/script-companion`,
18
49
  filter: (node): node is Node<ScriptType> => isInstanceOf(ScriptType, node.data),
@@ -5,4 +5,5 @@
5
5
  import { lazy } from '@dxos/app-framework';
6
6
 
7
7
  export const AppGraphBuilder = lazy(() => import('./app-graph-builder'));
8
+ export const IntentResolver = lazy(() => import('./intent-resolver'));
8
9
  export const ReactSurface = lazy(() => import('./react-surface'));
@@ -0,0 +1,73 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import {
6
+ contributes,
7
+ Capabilities,
8
+ createResolver,
9
+ type PluginsContext,
10
+ createIntent,
11
+ LayoutAction,
12
+ } from '@dxos/app-framework';
13
+ import { Type } from '@dxos/echo';
14
+ import { FunctionTrigger, FunctionType, ScriptType, TriggerKind } from '@dxos/functions';
15
+ import { type DXN } from '@dxos/keys';
16
+ import { live } from '@dxos/live-object';
17
+ import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
18
+ import { SpaceAction } from '@dxos/plugin-space/types';
19
+ import { Filter } from '@dxos/react-client/echo';
20
+
21
+ import { AutomationAction } from '../types';
22
+
23
+ export default (context: PluginsContext) =>
24
+ contributes(Capabilities.IntentResolver, [
25
+ createResolver({
26
+ intent: AutomationAction.CreateTriggerFromTemplate,
27
+ resolve: async ({ space, template, enabled = false, scriptName, input }) => {
28
+ const trigger = live(FunctionTrigger, { enabled, input });
29
+
30
+ // TODO(wittjosiah): Factor out function lookup by script name?
31
+ if (scriptName) {
32
+ const {
33
+ objects: [script],
34
+ } = await space.db.query(Filter.schema(ScriptType, { name: scriptName })).run();
35
+ if (script) {
36
+ const {
37
+ objects: [fn],
38
+ } = await space.db.query(Filter.schema(FunctionType, { source: script })).run();
39
+ if (fn) {
40
+ trigger.function = Type.ref(fn);
41
+ }
42
+ }
43
+ }
44
+
45
+ switch (template.type) {
46
+ case 'timer': {
47
+ trigger.spec = { type: TriggerKind.Timer, cron: template.cron };
48
+ break;
49
+ }
50
+ case 'queue': {
51
+ trigger.spec = { type: TriggerKind.Queue, queue: (template.queueDXN as DXN).toString() };
52
+ break;
53
+ }
54
+ default: {
55
+ break;
56
+ }
57
+ }
58
+
59
+ return {
60
+ intents: [
61
+ createIntent(SpaceAction.AddObject, { object: trigger, target: space }),
62
+ createIntent(LayoutAction.Open, {
63
+ part: 'main',
64
+ subject: [`automation-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],
65
+ options: {
66
+ workspace: space.id,
67
+ },
68
+ }),
69
+ ],
70
+ };
71
+ },
72
+ }),
73
+ ]);
@@ -4,22 +4,46 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
7
+ import { Capabilities, contributes, createSurface, useLayout } from '@dxos/app-framework';
8
8
  import { isInstanceOf } from '@dxos/echo-schema';
9
- import { ScriptType } from '@dxos/functions/types';
10
- import { getSpace, isSpace, type Space } from '@dxos/react-client/echo';
9
+ import { ScriptType } from '@dxos/functions';
10
+ import { getSpace, parseId, useSpace } from '@dxos/react-client/echo';
11
11
  import { StackItem } from '@dxos/react-ui-stack';
12
12
 
13
- import { AutomationPanel } from '../components';
13
+ import { AutomationContainer, AutomationPanel, FunctionsContainer } from '../components';
14
14
  import { meta } from '../meta';
15
15
 
16
16
  export default () =>
17
17
  contributes(Capabilities.ReactSurface, [
18
18
  createSurface({
19
- id: `${meta.id}/automation`,
20
- role: 'space-settings--automation',
21
- filter: (data): data is { subject: Space } => isSpace(data.subject),
22
- component: ({ data }) => <AutomationPanel space={data.subject} />,
19
+ id: `${meta.id}/space-settings-automation`,
20
+ role: 'article',
21
+ filter: (data): data is { subject: string } => data.subject === `${meta.id}/space-settings-automation`,
22
+ component: () => {
23
+ const layout = useLayout();
24
+ const { spaceId } = parseId(layout.workspace);
25
+ const space = useSpace(spaceId);
26
+ if (!space || !spaceId) {
27
+ return null;
28
+ }
29
+
30
+ return <AutomationContainer space={space} />;
31
+ },
32
+ }),
33
+ createSurface({
34
+ id: `${meta.id}/space-settings-functions`,
35
+ role: 'article',
36
+ filter: (data): data is { subject: string } => data.subject === `${meta.id}/space-settings-functions`,
37
+ component: () => {
38
+ const layout = useLayout();
39
+ const { spaceId } = parseId(layout.workspace);
40
+ const space = useSpace(spaceId);
41
+ if (!space || !spaceId) {
42
+ return null;
43
+ }
44
+
45
+ return <FunctionsContainer space={space} />;
46
+ },
23
47
  }),
24
48
  createSurface({
25
49
  id: `${meta.id}/companion/automation`,
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import React from 'react';
6
+
7
+ import { type Space } from '@dxos/react-client/echo';
8
+ import { useTranslation } from '@dxos/react-ui';
9
+ import { ControlSection, ControlPage } from '@dxos/react-ui-form';
10
+ import { StackItem } from '@dxos/react-ui-stack';
11
+
12
+ import { AutomationPanel } from './AutomationPanel';
13
+ import { AUTOMATION_PLUGIN } from '../meta';
14
+
15
+ export const AutomationContainer = ({ space }: { space: Space }) => {
16
+ const { t } = useTranslation(AUTOMATION_PLUGIN);
17
+ return (
18
+ <StackItem.Content classNames='block overflow-y-auto'>
19
+ <ControlPage>
20
+ <ControlSection
21
+ title={t('automation verbose label', { ns: AUTOMATION_PLUGIN })}
22
+ description={t('automation description', { ns: AUTOMATION_PLUGIN })}
23
+ >
24
+ <AutomationPanel space={space} />
25
+ </ControlSection>
26
+ </ControlPage>
27
+ </StackItem.Content>
28
+ );
29
+ };
30
+
31
+ export default AutomationContainer;
@@ -7,8 +7,8 @@ import '@dxos-theme';
7
7
  import { type Meta } from '@storybook/react';
8
8
  import React from 'react';
9
9
 
10
- import { FunctionType, FunctionTrigger } from '@dxos/functions/types';
11
- import { create, useSpaces } from '@dxos/react-client/echo';
10
+ import { FunctionType, FunctionTrigger } from '@dxos/functions';
11
+ import { live, useSpaces } from '@dxos/react-client/echo';
12
12
  import { withClientProvider } from '@dxos/react-client/testing';
13
13
  import { withLayout, withTheme } from '@dxos/storybook-utils';
14
14
 
@@ -21,7 +21,7 @@ const DefaultStory = () => {
21
21
  const space = spaces[1];
22
22
 
23
23
  return (
24
- <div role='none' className='flex w-[350px] border border-separator overflow-hidden'>
24
+ <div role='none' className='w-96'>
25
25
  <AutomationPanel space={space} />
26
26
  </div>
27
27
  );
@@ -38,11 +38,11 @@ const meta: Meta = {
38
38
  types: [FunctionType, FunctionTrigger],
39
39
  onSpaceCreated: ({ space }) => {
40
40
  for (const fn of functions) {
41
- space.db.add(create(FunctionType, fn));
41
+ space.db.add(live(FunctionType, fn));
42
42
  }
43
43
  },
44
44
  }),
45
- withLayout({ fullscreen: true, tooltips: true, classNames: 'flex justify-center m-2' }),
45
+ withLayout({ fullscreen: true, tooltips: true, classNames: 'flex juastify-center m-2' }),
46
46
  withTheme,
47
47
  ],
48
48
  parameters: {