@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
@@ -0,0 +1,68 @@
1
+ import {
2
+ AutomationContainer,
3
+ AutomationPanel,
4
+ FunctionsContainer
5
+ } from "./chunk-N4PTKEWO.mjs";
6
+ import "./chunk-Q2ACSERA.mjs";
7
+ import {
8
+ meta
9
+ } from "./chunk-WKKQV4PC.mjs";
10
+
11
+ // packages/plugins/plugin-automation/src/capabilities/react-surface.tsx
12
+ import React from "react";
13
+ import { Capabilities, contributes, createSurface, useLayout } from "@dxos/app-framework";
14
+ import { isInstanceOf } from "@dxos/echo-schema";
15
+ import { ScriptType } from "@dxos/functions";
16
+ import { getSpace, parseId, useSpace } from "@dxos/react-client/echo";
17
+ import { StackItem } from "@dxos/react-ui-stack";
18
+ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
19
+ createSurface({
20
+ id: `${meta.id}/space-settings-automation`,
21
+ role: "article",
22
+ filter: (data) => data.subject === `${meta.id}/space-settings-automation`,
23
+ component: () => {
24
+ const layout = useLayout();
25
+ const { spaceId } = parseId(layout.workspace);
26
+ const space = useSpace(spaceId);
27
+ if (!space || !spaceId) {
28
+ return null;
29
+ }
30
+ return /* @__PURE__ */ React.createElement(AutomationContainer, {
31
+ space
32
+ });
33
+ }
34
+ }),
35
+ createSurface({
36
+ id: `${meta.id}/space-settings-functions`,
37
+ role: "article",
38
+ filter: (data) => data.subject === `${meta.id}/space-settings-functions`,
39
+ component: () => {
40
+ const layout = useLayout();
41
+ const { spaceId } = parseId(layout.workspace);
42
+ const space = useSpace(spaceId);
43
+ if (!space || !spaceId) {
44
+ return null;
45
+ }
46
+ return /* @__PURE__ */ React.createElement(FunctionsContainer, {
47
+ space
48
+ });
49
+ }
50
+ }),
51
+ createSurface({
52
+ id: `${meta.id}/companion/automation`,
53
+ role: "article",
54
+ filter: (data) => isInstanceOf(ScriptType, data.companionTo) && data.subject === "automation",
55
+ component: ({ data, role }) => {
56
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
57
+ role
58
+ }, /* @__PURE__ */ React.createElement(AutomationPanel, {
59
+ space: getSpace(data.companionTo),
60
+ object: data.companionTo
61
+ }));
62
+ }
63
+ })
64
+ ]);
65
+ export {
66
+ react_surface_default as default
67
+ };
68
+ //# sourceMappingURL=react-surface-GA67CQBV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useLayout } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { ScriptType } from '@dxos/functions';\nimport { getSpace, parseId, useSpace } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { AutomationContainer, AutomationPanel, FunctionsContainer } from '../components';\nimport { meta } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/space-settings-automation`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/space-settings-automation`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <AutomationContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-functions`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/space-settings-functions`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <FunctionsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/companion/automation`,\n role: 'article',\n filter: (data): data is { companionTo: ScriptType; subject: 'automation' } =>\n isInstanceOf(ScriptType, data.companionTo) && data.subject === 'automation',\n component: ({ data, role }) => {\n return (\n <StackItem.Content role={role}>\n <AutomationPanel space={getSpace(data.companionTo)!} object={data.companionTo} />\n </StackItem.Content>\n );\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,eAAeC,iBAAiB;AACpE,SAASC,oBAAoB;AAC7B,SAASC,kBAAkB;AAC3B,SAASC,UAAUC,SAASC,gBAAgB;AAC5C,SAASC,iBAAiB;AAK1B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAsCA,KAAKC,YAAY,GAAGJ,KAAKD,EAAE;IAC1EM,WAAW,MAAA;AACT,YAAMC,SAASC,UAAAA;AACf,YAAM,EAAEC,QAAO,IAAKC,QAAQH,OAAOI,SAAS;AAC5C,YAAMC,QAAQC,SAASJ,OAAAA;AACvB,UAAI,CAACG,SAAS,CAACH,SAAS;AACtB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACK,qBAAAA;QAAoBF;;IAC9B;EACF,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAsCA,KAAKC,YAAY,GAAGJ,KAAKD,EAAE;IAC1EM,WAAW,MAAA;AACT,YAAMC,SAASC,UAAAA;AACf,YAAM,EAAEC,QAAO,IAAKC,QAAQH,OAAOI,SAAS;AAC5C,YAAMC,QAAQC,SAASJ,OAAAA;AACvB,UAAI,CAACG,SAAS,CAACH,SAAS;AACtB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACM,oBAAAA;QAAmBH;;IAC7B;EACF,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPY,aAAaC,YAAYb,KAAKc,WAAW,KAAKd,KAAKC,YAAY;IACjEC,WAAW,CAAC,EAAEF,MAAMF,KAAI,MAAE;AACxB,aACE,sBAAA,cAACiB,UAAUC,SAAO;QAAClB;SACjB,sBAAA,cAACmB,iBAAAA;QAAgBT,OAAOU,SAASlB,KAAKc,WAAW;QAAIK,QAAQnB,KAAKc;;IAGxE;EACF,CAAA;CACD;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "useLayout", "isInstanceOf", "ScriptType", "getSpace", "parseId", "useSpace", "StackItem", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "subject", "component", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "AutomationContainer", "FunctionsContainer", "isInstanceOf", "ScriptType", "companionTo", "StackItem", "Content", "AutomationPanel", "getSpace", "object"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ AutomationAction
3
+ } from "./chunk-ADYCSC6Y.mjs";
4
+ import "./chunk-WKKQV4PC.mjs";
5
+ export {
6
+ AutomationAction
7
+ };
8
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var AutomationContainer_RIDHNHPT_exports = {};
30
+ __export(AutomationContainer_RIDHNHPT_exports, {
31
+ AutomationContainer: () => AutomationContainer,
32
+ default: () => AutomationContainer_default
33
+ });
34
+ module.exports = __toCommonJS(AutomationContainer_RIDHNHPT_exports);
35
+ var import_chunk_52JFIUOD = require("./chunk-52JFIUOD.cjs");
36
+ var import_chunk_ESVJ2X6U = require("./chunk-ESVJ2X6U.cjs");
37
+ var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
38
+ var import_react = __toESM(require("react"));
39
+ var import_react_ui = require("@dxos/react-ui");
40
+ var import_react_ui_form = require("@dxos/react-ui-form");
41
+ var import_react_ui_stack = require("@dxos/react-ui-stack");
42
+ var AutomationContainer = ({ space }) => {
43
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_7GXNXMSM.AUTOMATION_PLUGIN);
44
+ return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
45
+ classNames: "block overflow-y-auto"
46
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.ControlPage, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.ControlSection, {
47
+ title: t("automation verbose label", {
48
+ ns: import_chunk_7GXNXMSM.AUTOMATION_PLUGIN
49
+ }),
50
+ description: t("automation description", {
51
+ ns: import_chunk_7GXNXMSM.AUTOMATION_PLUGIN
52
+ })
53
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_52JFIUOD.AutomationPanel, {
54
+ space
55
+ }))));
56
+ };
57
+ var AutomationContainer_default = AutomationContainer;
58
+ // Annotate the CommonJS export names for ESM import in node:
59
+ 0 && (module.exports = {
60
+ AutomationContainer
61
+ });
62
+ //# sourceMappingURL=AutomationContainer-RIDHNHPT.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AutomationContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { ControlSection, ControlPage } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { AutomationPanel } from './AutomationPanel';\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport const AutomationContainer = ({ space }: { space: Space }) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('automation verbose label', { ns: AUTOMATION_PLUGIN })}\n description={t('automation description', { ns: AUTOMATION_PLUGIN })}\n >\n <AutomationPanel space={space} />\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\nexport default AutomationContainer;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAGlB,sBAA+B;AAC/B,2BAA4C;AAC5C,4BAA0B;AAKnB,IAAMA,sBAAsB,CAAC,EAAEC,MAAK,MAAoB;AAC7D,QAAM,EAAEC,EAAC,QAAKC,gCAAeC,uCAAAA;AAC7B,SACE,6BAAAC,QAAA,cAACC,gCAAUC,SAAO;IAACC,YAAW;KAC5B,6BAAAH,QAAA,cAACI,kCAAAA,MACC,6BAAAJ,QAAA,cAACK,qCAAAA;IACCC,OAAOT,EAAE,4BAA4B;MAAEU,IAAIR;IAAkB,CAAA;IAC7DS,aAAaX,EAAE,0BAA0B;MAAEU,IAAIR;IAAkB,CAAA;KAEjE,6BAAAC,QAAA,cAACS,uCAAAA;IAAgBb;;AAK3B;AAEA,IAAA,8BAAeD;",
6
+ "names": ["AutomationContainer", "space", "t", "useTranslation", "AUTOMATION_PLUGIN", "React", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "description", "AutomationPanel"]
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var AutomationPanel_6RLBWAGL_exports = {};
20
+ __export(AutomationPanel_6RLBWAGL_exports, {
21
+ AutomationPanel: () => import_chunk_52JFIUOD.AutomationPanel,
22
+ default: () => import_chunk_52JFIUOD.AutomationPanel_default
23
+ });
24
+ module.exports = __toCommonJS(AutomationPanel_6RLBWAGL_exports);
25
+ var import_chunk_52JFIUOD = require("./chunk-52JFIUOD.cjs");
26
+ var import_chunk_ESVJ2X6U = require("./chunk-ESVJ2X6U.cjs");
27
+ var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ AutomationPanel
31
+ });
32
+ //# sourceMappingURL=AutomationPanel-6RLBWAGL.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["AutomationPanel-6RLBWAGL.cjs"],
4
+ "sourcesContent": ["import {\n AutomationPanel,\n AutomationPanel_default\n} from \"./chunk-52JFIUOD.cjs\";\nimport \"./chunk-ESVJ2X6U.cjs\";\nimport \"./chunk-7GXNXMSM.cjs\";\nexport {\n AutomationPanel,\n AutomationPanel_default as default\n};\n//# sourceMappingURL=AutomationPanel-6RLBWAGL.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;AACP,4BAAO;AACP,4BAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var FunctionsContainer_RNZTNQEU_exports = {};
30
+ __export(FunctionsContainer_RNZTNQEU_exports, {
31
+ FunctionsContainer: () => FunctionsContainer,
32
+ default: () => FunctionsContainer_default
33
+ });
34
+ module.exports = __toCommonJS(FunctionsContainer_RNZTNQEU_exports);
35
+ var import_chunk_GLXGAIZC = require("./chunk-GLXGAIZC.cjs");
36
+ var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
37
+ var import_react = __toESM(require("react"));
38
+ var import_react_ui = require("@dxos/react-ui");
39
+ var import_react_ui_form = require("@dxos/react-ui-form");
40
+ var import_react_ui_stack = require("@dxos/react-ui-stack");
41
+ var FunctionsContainer = ({ space }) => {
42
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_7GXNXMSM.AUTOMATION_PLUGIN);
43
+ return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
44
+ classNames: "block overflow-y-auto"
45
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.ControlPage, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.ControlSection, {
46
+ title: t("functions verbose label", {
47
+ ns: import_chunk_7GXNXMSM.AUTOMATION_PLUGIN
48
+ }),
49
+ description: t("functions description", {
50
+ ns: import_chunk_7GXNXMSM.AUTOMATION_PLUGIN
51
+ })
52
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_GLXGAIZC.FunctionsPanel, {
53
+ space
54
+ }))));
55
+ };
56
+ var FunctionsContainer_default = FunctionsContainer;
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ FunctionsContainer
60
+ });
61
+ //# sourceMappingURL=FunctionsContainer-RNZTNQEU.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/FunctionsContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { FunctionsPanel } from './FunctionsPanel';\nimport { AUTOMATION_PLUGIN } from '../meta';\n\nexport const FunctionsContainer = ({ space }: { space: Space }) => {\n const { t } = useTranslation(AUTOMATION_PLUGIN);\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('functions verbose label', { ns: AUTOMATION_PLUGIN })}\n description={t('functions description', { ns: AUTOMATION_PLUGIN })}\n >\n <FunctionsPanel space={space} />\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\nexport default FunctionsContainer;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAGlB,sBAA+B;AAC/B,2BAA4C;AAC5C,4BAA0B;AAKnB,IAAMA,qBAAqB,CAAC,EAAEC,MAAK,MAAoB;AAC5D,QAAM,EAAEC,EAAC,QAAKC,gCAAeC,uCAAAA;AAC7B,SACE,6BAAAC,QAAA,cAACC,gCAAUC,SAAO;IAACC,YAAW;KAC5B,6BAAAH,QAAA,cAACI,kCAAAA,MACC,6BAAAJ,QAAA,cAACK,qCAAAA;IACCC,OAAOT,EAAE,2BAA2B;MAAEU,IAAIR;IAAkB,CAAA;IAC5DS,aAAaX,EAAE,yBAAyB;MAAEU,IAAIR;IAAkB,CAAA;KAEhE,6BAAAC,QAAA,cAACS,sCAAAA;IAAeb;;AAK1B;AAEA,IAAA,6BAAeD;",
6
+ "names": ["FunctionsContainer", "space", "t", "useTranslation", "AUTOMATION_PLUGIN", "React", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "description", "FunctionsPanel"]
7
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var FunctionsPanel_7I7YCHPJ_exports = {};
20
+ __export(FunctionsPanel_7I7YCHPJ_exports, {
21
+ FunctionsPanel: () => import_chunk_GLXGAIZC.FunctionsPanel,
22
+ default: () => import_chunk_GLXGAIZC.FunctionsPanel_default
23
+ });
24
+ module.exports = __toCommonJS(FunctionsPanel_7I7YCHPJ_exports);
25
+ var import_chunk_GLXGAIZC = require("./chunk-GLXGAIZC.cjs");
26
+ var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ FunctionsPanel
30
+ });
31
+ //# sourceMappingURL=FunctionsPanel-7I7YCHPJ.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["FunctionsPanel-7I7YCHPJ.cjs"],
4
+ "sourcesContent": ["import {\n FunctionsPanel,\n FunctionsPanel_default\n} from \"./chunk-GLXGAIZC.cjs\";\nimport \"./chunk-7GXNXMSM.cjs\";\nexport {\n FunctionsPanel,\n FunctionsPanel_default as default\n};\n//# sourceMappingURL=FunctionsPanel-7I7YCHPJ.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;AACP,4BAAO;",
6
+ "names": []
7
+ }
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_HO4FPGZ5_exports = {};
20
- __export(app_graph_builder_HO4FPGZ5_exports, {
19
+ var app_graph_builder_TVFR6RXO_exports = {};
20
+ __export(app_graph_builder_TVFR6RXO_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_HO4FPGZ5_exports);
23
+ module.exports = __toCommonJS(app_graph_builder_TVFR6RXO_exports);
24
24
  var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
25
25
  var import_app_framework = require("@dxos/app-framework");
26
26
  var import_echo_schema = require("@dxos/echo-schema");
@@ -28,7 +28,48 @@ var import_functions = require("@dxos/functions");
28
28
  var import_types = require("@dxos/plugin-deck/types");
29
29
  var import_plugin_graph = require("@dxos/plugin-graph");
30
30
  var import_types2 = require("@dxos/plugin-script/types");
31
+ var import_plugin_space = require("@dxos/plugin-space");
31
32
  var app_graph_builder_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
33
+ (0, import_plugin_graph.createExtension)({
34
+ id: `${import_chunk_7GXNXMSM.meta.id}/space-settings-automation`,
35
+ filter: (node) => node.type === `${import_plugin_space.SPACE_PLUGIN}/settings`,
36
+ connector: ({ node }) => [
37
+ {
38
+ id: `automation-${node.id}`,
39
+ type: `${import_chunk_7GXNXMSM.meta.id}/space-settings-automation`,
40
+ data: `${import_chunk_7GXNXMSM.meta.id}/space-settings-automation`,
41
+ properties: {
42
+ label: [
43
+ "automation panel label",
44
+ {
45
+ ns: import_chunk_7GXNXMSM.meta.id
46
+ }
47
+ ],
48
+ icon: "ph--lightning--regular"
49
+ }
50
+ }
51
+ ]
52
+ }),
53
+ (0, import_plugin_graph.createExtension)({
54
+ id: `${import_chunk_7GXNXMSM.meta.id}/space-settings-functions`,
55
+ filter: (node) => node.type === `${import_plugin_space.SPACE_PLUGIN}/settings`,
56
+ connector: ({ node }) => [
57
+ {
58
+ id: `functions-${node.id}`,
59
+ type: `${import_chunk_7GXNXMSM.meta.id}/space-settings-functions`,
60
+ data: `${import_chunk_7GXNXMSM.meta.id}/space-settings-functions`,
61
+ properties: {
62
+ label: [
63
+ "functions panel label",
64
+ {
65
+ ns: import_chunk_7GXNXMSM.meta.id
66
+ }
67
+ ],
68
+ icon: "ph--function--regular"
69
+ }
70
+ }
71
+ ]
72
+ }),
32
73
  (0, import_plugin_graph.createExtension)({
33
74
  id: `${import_types2.SCRIPT_PLUGIN}/script-companion`,
34
75
  filter: (node) => (0, import_echo_schema.isInstanceOf)(import_functions.ScriptType, node.data),
@@ -53,4 +94,4 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
53
94
  ]
54
95
  })
55
96
  ]);
56
- //# sourceMappingURL=app-graph-builder-HO4FPGZ5.cjs.map
97
+ //# sourceMappingURL=app-graph-builder-TVFR6RXO.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { ScriptType } from '@dxos/functions';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\nimport { SCRIPT_PLUGIN } from '@dxos/plugin-script/types';\nimport { SPACE_PLUGIN } from '@dxos/plugin-space';\n\nimport { meta } from '../meta';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/space-settings-automation`,\n filter: (node): node is Node<null> => node.type === `${SPACE_PLUGIN}/settings`,\n connector: ({ node }) => [\n {\n id: `automation-${node.id}`,\n type: `${meta.id}/space-settings-automation`,\n data: `${meta.id}/space-settings-automation`,\n properties: {\n label: ['automation panel label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n },\n },\n ],\n }),\n createExtension({\n id: `${meta.id}/space-settings-functions`,\n filter: (node): node is Node<null> => node.type === `${SPACE_PLUGIN}/settings`,\n connector: ({ node }) => [\n {\n id: `functions-${node.id}`,\n type: `${meta.id}/space-settings-functions`,\n data: `${meta.id}/space-settings-functions`,\n properties: {\n label: ['functions panel label', { ns: meta.id }],\n icon: 'ph--function--regular',\n },\n },\n ],\n }),\n createExtension({\n id: `${SCRIPT_PLUGIN}/script-companion`,\n filter: (node): node is Node<ScriptType> => isInstanceOf(ScriptType, node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'automation'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'automation',\n properties: {\n label: ['script automation label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n },\n },\n ],\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA+D;AAC/D,yBAA6B;AAC7B,uBAA2B;AAC3B,mBAAgE;AAChE,0BAA2C;AAC3C,IAAAA,gBAA8B;AAC9B,0BAA6B;AAI7B,IAAA,4BAAe,CAACC,gBACdC,kCAAYC,kCAAaC,iBAAiB;MACxCC,qCAAgB;IACdC,IAAI,GAAGC,2BAAKD,EAAE;IACdE,QAAQ,CAACC,SAA6BA,KAAKC,SAAS,GAAGC,gCAAAA;IACvDC,WAAW,CAAC,EAAEH,KAAI,MAAO;MACvB;QACEH,IAAI,cAAcG,KAAKH,EAAE;QACzBI,MAAM,GAAGH,2BAAKD,EAAE;QAChBO,MAAM,GAAGN,2BAAKD,EAAE;QAChBQ,YAAY;UACVC,OAAO;YAAC;YAA0B;cAAEC,IAAIT,2BAAKD;YAAG;;UAChDW,MAAM;QACR;MACF;;EAEJ,CAAA;MACAZ,qCAAgB;IACdC,IAAI,GAAGC,2BAAKD,EAAE;IACdE,QAAQ,CAACC,SAA6BA,KAAKC,SAAS,GAAGC,gCAAAA;IACvDC,WAAW,CAAC,EAAEH,KAAI,MAAO;MACvB;QACEH,IAAI,aAAaG,KAAKH,EAAE;QACxBI,MAAM,GAAGH,2BAAKD,EAAE;QAChBO,MAAM,GAAGN,2BAAKD,EAAE;QAChBQ,YAAY;UACVC,OAAO;YAAC;YAAyB;cAAEC,IAAIT,2BAAKD;YAAG;;UAC/CW,MAAM;QACR;MACF;;EAEJ,CAAA;MACAZ,qCAAgB;IACdC,IAAI,GAAGY,2BAAAA;IACPV,QAAQ,CAACC,aAAmCU,iCAAaC,6BAAYX,KAAKI,IAAI;IAC9ED,WAAW,CAAC,EAAEH,KAAI,MAAO;MACvB;QACEH,IAAI;UAACG,KAAKH;UAAI;UAAce,KAAKC,sCAAAA;QACjCZ,MAAMa;QACNV,MAAM;QACNC,YAAY;UACVC,OAAO;YAAC;YAA2B;cAAEC,IAAIT,2BAAKD;YAAG;;UACjDW,MAAM;QACR;MACF;;EAEJ,CAAA;CACD;",
6
+ "names": ["import_types", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "filter", "node", "type", "SPACE_PLUGIN", "connector", "data", "properties", "label", "ns", "icon", "SCRIPT_PLUGIN", "isInstanceOf", "ScriptType", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
+ }
@@ -26,31 +26,31 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var AutomationPanel_ZKAMIU6O_exports = {};
30
- __export(AutomationPanel_ZKAMIU6O_exports, {
31
- default: () => AutomationPanel_default
29
+ var chunk_52JFIUOD_exports = {};
30
+ __export(chunk_52JFIUOD_exports, {
31
+ AutomationPanel: () => AutomationPanel,
32
+ AutomationPanel_default: () => AutomationPanel_default
32
33
  });
33
- module.exports = __toCommonJS(AutomationPanel_ZKAMIU6O_exports);
34
- var import_chunk_FTEDH5Q6 = require("./chunk-FTEDH5Q6.cjs");
34
+ module.exports = __toCommonJS(chunk_52JFIUOD_exports);
35
+ var import_chunk_ESVJ2X6U = require("./chunk-ESVJ2X6U.cjs");
35
36
  var import_chunk_7GXNXMSM = require("./chunk-7GXNXMSM.cjs");
37
+ var import_effect = require("effect");
36
38
  var import_react = __toESM(require("react"));
37
- var import_echo_schema = require("@dxos/echo-schema");
38
- var import_types = require("@dxos/functions/types");
39
+ var import_functions = require("@dxos/functions");
39
40
  var import_react_client = require("@dxos/react-client");
40
41
  var import_echo = require("@dxos/react-client/echo");
41
42
  var import_react_ui = require("@dxos/react-ui");
42
43
  var import_react_ui_form = require("@dxos/react-ui-form");
43
44
  var import_react_ui_list = require("@dxos/react-ui-list");
44
- var import_react_ui_stack = require("@dxos/react-ui-stack");
45
45
  var import_react_ui_theme = require("@dxos/react-ui-theme");
46
46
  var grid = "grid grid-cols-[40px_1fr_32px] min-bs-[2.5rem]";
47
- var AutomationPanel = ({ space, object }) => {
47
+ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
48
48
  const { t } = (0, import_react_ui.useTranslation)(import_chunk_7GXNXMSM.AUTOMATION_PLUGIN);
49
49
  const client = (0, import_react_client.useClient)();
50
- const triggers = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionTrigger));
51
- const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionType));
52
- const scripts = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.ScriptType));
53
- const [trigger, setTrigger] = (0, import_react.useState)();
50
+ const triggers = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.FunctionTrigger));
51
+ const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.FunctionType));
52
+ const scripts = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.ScriptType));
53
+ const [trigger, setTrigger] = (0, import_react.useState)(initialTrigger);
54
54
  const [selected, setSelected] = (0, import_react.useState)();
55
55
  const handleSelect = (trigger2) => {
56
56
  const { id: _, ...values } = trigger2;
@@ -58,7 +58,7 @@ var AutomationPanel = ({ space, object }) => {
58
58
  setSelected(trigger2);
59
59
  };
60
60
  const handleAdd = () => {
61
- setTrigger((0, import_echo.create)(import_types.FunctionTriggerSchema, {}));
61
+ setTrigger((0, import_echo.live)(import_functions.FunctionTriggerSchema, {}));
62
62
  setSelected(void 0);
63
63
  };
64
64
  const handleDelete = (trigger2) => {
@@ -70,21 +70,21 @@ var AutomationPanel = ({ space, object }) => {
70
70
  if (selected) {
71
71
  Object.assign(selected, trigger2);
72
72
  } else {
73
- space.db.add((0, import_echo.create)(import_types.FunctionTrigger, trigger2));
73
+ space.db.add((0, import_echo.live)(import_functions.FunctionTrigger, trigger2));
74
74
  }
75
75
  setTrigger(void 0);
76
76
  setSelected(void 0);
77
+ onDone?.();
77
78
  };
78
79
  const handleCancel = () => {
79
80
  setTrigger(void 0);
81
+ onDone?.();
80
82
  };
81
- return /* @__PURE__ */ import_react.default.createElement(import_react_ui.Clipboard.Provider, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
82
- classNames: "block overflow-y-auto"
83
- }, /* @__PURE__ */ import_react.default.createElement("div", {
83
+ return /* @__PURE__ */ import_react.default.createElement("div", {
84
84
  className: "flex flex-col w-full"
85
85
  }, trigger ? /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.ControlItem, {
86
86
  title: t("trigger editor title")
87
- }, /* @__PURE__ */ import_react.default.createElement(import_chunk_FTEDH5Q6.TriggerEditor, {
87
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_ESVJ2X6U.TriggerEditor, {
88
88
  space,
89
89
  trigger,
90
90
  onSave: handleSave,
@@ -94,7 +94,7 @@ var AutomationPanel = ({ space, object }) => {
94
94
  className: import_react_ui_form.controlItemClasses
95
95
  }, /* @__PURE__ */ import_react.default.createElement(import_react_ui_list.List.Root, {
96
96
  items: triggers,
97
- isItem: import_echo_schema.S.is(import_types.FunctionTrigger),
97
+ isItem: import_effect.Schema.is(import_functions.FunctionTrigger),
98
98
  getId: (field) => field.id
99
99
  }, ({ items: triggers2 }) => /* @__PURE__ */ import_react.default.createElement("div", {
100
100
  role: "list",
@@ -125,16 +125,16 @@ var AutomationPanel = ({ space, object }) => {
125
125
  icon: "ph--plus--regular",
126
126
  label: t("new trigger label"),
127
127
  onClick: handleAdd
128
- })))));
128
+ })));
129
129
  };
130
130
  var getCopyAction = (client, trigger) => {
131
- if (trigger?.spec?.type === import_types.TriggerKind.Email) {
131
+ if (trigger?.spec?.type === import_functions.TriggerKind.Email) {
132
132
  return {
133
133
  translationKey: "trigger copy email",
134
134
  contentProvider: () => `${(0, import_echo.getSpace)(trigger).id}@dxos.network`
135
135
  };
136
136
  }
137
- if (trigger?.spec?.type === import_types.TriggerKind.Webhook) {
137
+ if (trigger?.spec?.type === import_functions.TriggerKind.Webhook) {
138
138
  return {
139
139
  translationKey: "trigger copy url",
140
140
  contentProvider: () => getWebhookUrl(client, trigger)
@@ -150,12 +150,17 @@ var getWebhookUrl = (client, trigger) => {
150
150
  return new URL(`/webhook/${spaceId}:${trigger.id}`, edgeUrl).toString();
151
151
  };
152
152
  var getFunctionName = (scripts, functions, trigger) => {
153
- const shortId = trigger.function && `${trigger.function?.slice(0, 16)}\u2026`;
154
- const functionObject = functions.find((fn) => `dxn:worker:${fn.name}` === trigger.function);
153
+ const shortId = trigger.function && `${trigger.function.dxn.toString().slice(0, 16)}\u2026`;
154
+ const functionObject = functions.find((fn) => fn === trigger.function?.target);
155
155
  if (!functionObject) {
156
156
  return shortId;
157
157
  }
158
158
  return scripts.find((s) => functionObject.source?.target?.id === s.id)?.name ?? shortId;
159
159
  };
160
160
  var AutomationPanel_default = AutomationPanel;
161
- //# sourceMappingURL=AutomationPanel-ZKAMIU6O.cjs.map
161
+ // Annotate the CommonJS export names for ESM import in node:
162
+ 0 && (module.exports = {
163
+ AutomationPanel,
164
+ AutomationPanel_default
165
+ });
166
+ //# sourceMappingURL=chunk-52JFIUOD.cjs.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 { Schema } from 'effect';\nimport React, { useState } from 'react';\n\nimport {\n FunctionType,\n FunctionTrigger,\n FunctionTriggerSchema,\n TriggerKind,\n type FunctionTriggerType,\n ScriptType,\n} from '@dxos/functions';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { live, Filter, useQuery, type Space, type Live, getSpace } from '@dxos/react-client/echo';\nimport { Clipboard, IconButton, Input, Separator, useTranslation } from '@dxos/react-ui';\nimport { ControlItem, controlItemClasses } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { ghostHover, mx } from '@dxos/react-ui-theme';\n\nimport { AUTOMATION_PLUGIN } from '../../meta';\nimport { TriggerEditor, type TriggerEditorProps } from '../TriggerEditor';\n\nconst grid = 'grid grid-cols-[40px_1fr_32px] min-bs-[2.5rem]';\n\nexport type AutomationPanelProps = {\n space: Space;\n object?: Live<any>;\n initialTrigger?: FunctionTriggerType;\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(AUTOMATION_PLUGIN);\n const client = useClient();\n const triggers = useQuery(space, Filter.schema(FunctionTrigger));\n const functions = useQuery(space, Filter.schema(FunctionType));\n const scripts = useQuery(space, Filter.schema(ScriptType));\n\n const [trigger, setTrigger] = useState<FunctionTriggerType | undefined>(initialTrigger);\n const [selected, setSelected] = useState<FunctionTrigger>();\n\n const handleSelect = (trigger: FunctionTrigger) => {\n const { id: _, ...values } = trigger;\n setTrigger(values);\n setSelected(trigger);\n };\n\n const handleAdd = () => {\n setTrigger(live(FunctionTriggerSchema, {}));\n setSelected(undefined);\n };\n\n const handleDelete = (trigger: FunctionTrigger) => {\n space.db.remove(trigger);\n setTrigger(undefined);\n setSelected(undefined);\n };\n\n const handleSave: TriggerEditorProps['onSave'] = (trigger) => {\n if (selected) {\n Object.assign(selected, trigger);\n } else {\n space.db.add(live(FunctionTrigger, 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 return (\n <div className='flex flex-col w-full'>\n {trigger ? (\n <ControlItem title={t('trigger editor title')}>\n <TriggerEditor space={space} trigger={trigger} onSave={handleSave} onCancel={handleCancel} />\n </ControlItem>\n ) : (\n <div role='none' className={controlItemClasses}>\n <List.Root<FunctionTrigger> items={triggers} isItem={Schema.is(FunctionTrigger)} getId={(field) => field.id}>\n {({ items: triggers }) => (\n <div role='list' className='flex flex-col w-full'>\n {triggers?.map((trigger) => {\n const copyAction = getCopyAction(client, trigger);\n return (\n <List.Item<FunctionTrigger>\n key={trigger.id}\n item={trigger}\n classNames={mx(grid, ghostHover, 'items-center', 'px-2')}\n >\n <Input.Root>\n <Input.Switch\n checked={trigger.enabled}\n onCheckedChange={(checked) => (trigger.enabled = checked)}\n />\n </Input.Root>\n\n <div className={'flex'}>\n <List.ItemTitle\n classNames='px-1 cursor-pointer w-0 shrink truncate'\n onClick={() => handleSelect(trigger)}\n >\n {getFunctionName(scripts, functions, trigger) ?? '∅'}\n </List.ItemTitle>\n\n {/* TODO: a better way to expose copy action */}\n {copyAction && (\n <Clipboard.IconButton\n label={t(copyAction.translationKey)}\n value={copyAction.contentProvider()}\n />\n )}\n </div>\n\n <List.ItemDeleteButton onClick={() => handleDelete(trigger)} />\n </List.Item>\n );\n })}\n </div>\n )}\n </List.Root>\n {triggers.length > 0 && <Separator classNames='mlb-4' />}\n <IconButton icon='ph--plus--regular' label={t('new trigger label')} onClick={handleAdd} />\n </div>\n )}\n </div>\n );\n};\n\nconst getCopyAction = (client: Client, trigger: FunctionTrigger | undefined) => {\n if (trigger?.spec?.type === TriggerKind.Email) {\n return { translationKey: 'trigger copy email', contentProvider: () => `${getSpace(trigger)!.id}@dxos.network` };\n }\n\n if (trigger?.spec?.type === TriggerKind.Webhook) {\n return { translationKey: 'trigger copy url', contentProvider: () => getWebhookUrl(client, trigger) };\n }\n\n return undefined;\n};\n\nconst getWebhookUrl = (client: Client, trigger: FunctionTrigger) => {\n const spaceId = getSpace(trigger)!.id;\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 = (scripts: ScriptType[], functions: FunctionType[], trigger: FunctionTriggerType) => {\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 if (!functionObject) {\n return shortId;\n }\n\n return scripts.find((s) => functionObject.source?.target?.id === s.id)?.name ?? shortId;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { AutomationPanel } from './AutomationPanel';\n\nexport * from './AutomationPanel';\n\nexport default AutomationPanel;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AACvB,mBAAgC;AAEhC,uBAOO;AACP,0BAAuC;AACvC,kBAAwE;AACxE,sBAAwE;AACxE,2BAAgD;AAChD,2BAAqB;AACrB,4BAA+B;AAK/B,IAAMA,OAAO;AAUN,IAAMC,kBAAkB,CAAC,EAAEC,OAAOC,QAAQC,gBAAgBC,OAAM,MAAwB;AAC7F,QAAM,EAAEC,EAAC,QAAKC,gCAAeC,uCAAAA;AAC7B,QAAMC,aAASC,+BAAAA;AACf,QAAMC,eAAWC,sBAASV,OAAOW,mBAAOC,OAAOC,gCAAAA,CAAAA;AAC/C,QAAMC,gBAAYJ,sBAASV,OAAOW,mBAAOC,OAAOG,6BAAAA,CAAAA;AAChD,QAAMC,cAAUN,sBAASV,OAAOW,mBAAOC,OAAOK,2BAAAA,CAAAA;AAE9C,QAAM,CAACC,SAASC,UAAAA,QAAcC,uBAA0ClB,cAAAA;AACxE,QAAM,CAACmB,UAAUC,WAAAA,QAAeF,uBAAAA;AAEhC,QAAMG,eAAe,CAACL,aAAAA;AACpB,UAAM,EAAEM,IAAIC,GAAG,GAAGC,OAAAA,IAAWR;AAC7BC,eAAWO,MAAAA;AACXJ,gBAAYJ,QAAAA;EACd;AAEA,QAAMS,YAAY,MAAA;AAChBR,mBAAWS,kBAAKC,wCAAuB,CAAC,CAAA,CAAA;AACxCP,gBAAYQ,MAAAA;EACd;AAEA,QAAMC,eAAe,CAACb,aAAAA;AACpBlB,UAAMgC,GAAGC,OAAOf,QAAAA;AAChBC,eAAWW,MAAAA;AACXR,gBAAYQ,MAAAA;EACd;AAEA,QAAMI,aAA2C,CAAChB,aAAAA;AAChD,QAAIG,UAAU;AACZc,aAAOC,OAAOf,UAAUH,QAAAA;IAC1B,OAAO;AACLlB,YAAMgC,GAAGK,QAAIT,kBAAKf,kCAAiBK,QAAAA,CAAAA;IACrC;AAEAC,eAAWW,MAAAA;AACXR,gBAAYQ,MAAAA;AACZ3B,aAAAA;EACF;AAEA,QAAMmC,eAA+C,MAAA;AACnDnB,eAAWW,MAAAA;AACX3B,aAAAA;EACF;AAEA,SACE,6BAAAoC,QAAA,cAACC,OAAAA;IAAIC,WAAU;KACZvB,UACC,6BAAAqB,QAAA,cAACG,kCAAAA;IAAYC,OAAOvC,EAAE,sBAAA;KACpB,6BAAAmC,QAAA,cAACK,qCAAAA;IAAc5C;IAAckB;IAAkB2B,QAAQX;IAAYY,UAAUR;QAG/E,6BAAAC,QAAA,cAACC,OAAAA;IAAIO,MAAK;IAAON,WAAWO;KAC1B,6BAAAT,QAAA,cAACU,0BAAKC,MAAI;IAAkBC,OAAO1C;IAAU2C,QAAQC,qBAAOC,GAAGzC,gCAAAA;IAAkB0C,OAAO,CAACC,UAAUA,MAAMhC;KACtG,CAAC,EAAE2B,OAAO1C,UAAQ,MACjB,6BAAA8B,QAAA,cAACC,OAAAA;IAAIO,MAAK;IAAON,WAAU;KACxBhC,WAAUgD,IAAI,CAACvC,aAAAA;AACd,UAAMwC,aAAaC,cAAcpD,QAAQW,QAAAA;AACzC,WACE,6BAAAqB,QAAA,cAACU,0BAAKW,MAAI;MACRC,KAAK3C,SAAQM;MACbsC,MAAM5C;MACN6C,gBAAYC,0BAAGlE,MAAMmE,kCAAY,gBAAgB,MAAA;OAEjD,6BAAA1B,QAAA,cAAC2B,sBAAMhB,MAAI,MACT,6BAAAX,QAAA,cAAC2B,sBAAMC,QAAM;MACXC,SAASlD,SAAQmD;MACjBC,iBAAiB,CAACF,YAAalD,SAAQmD,UAAUD;SAIrD,6BAAA7B,QAAA,cAACC,OAAAA;MAAIC,WAAW;OACd,6BAAAF,QAAA,cAACU,0BAAKsB,WAAS;MACbR,YAAW;MACXS,SAAS,MAAMjD,aAAaL,QAAAA;OAE3BuD,gBAAgBzD,SAASF,WAAWI,QAAAA,KAAY,QAAA,GAIlDwC,cACC,6BAAAnB,QAAA,cAACmC,0BAAUC,YAAU;MACnBC,OAAOxE,EAAEsD,WAAWmB,cAAc;MAClCC,OAAOpB,WAAWqB,gBAAe;SAKvC,6BAAAxC,QAAA,cAACU,0BAAK+B,kBAAgB;MAACR,SAAS,MAAMzC,aAAab,QAAAA;;EAGzD,CAAA,CAAA,CAAA,GAILT,SAASwE,SAAS,KAAK,6BAAA1C,QAAA,cAAC2C,2BAAAA;IAAUnB,YAAW;MAC9C,6BAAAxB,QAAA,cAACoC,4BAAAA;IAAWQ,MAAK;IAAoBP,OAAOxE,EAAE,mBAAA;IAAsBoE,SAAS7C;;AAKvF;AAEA,IAAMgC,gBAAgB,CAACpD,QAAgBW,YAAAA;AACrC,MAAIA,SAASkE,MAAMC,SAASC,6BAAYC,OAAO;AAC7C,WAAO;MAAEV,gBAAgB;MAAsBE,iBAAiB,MAAM,OAAGS,sBAAStE,OAAAA,EAAUM,EAAE;IAAgB;EAChH;AAEA,MAAIN,SAASkE,MAAMC,SAASC,6BAAYG,SAAS;AAC/C,WAAO;MAAEZ,gBAAgB;MAAoBE,iBAAiB,MAAMW,cAAcnF,QAAQW,OAAAA;IAAS;EACrG;AAEA,SAAOY;AACT;AAEA,IAAM4D,gBAAgB,CAACnF,QAAgBW,YAAAA;AACrC,QAAMyE,cAAUH,sBAAStE,OAAAA,EAAUM;AACnC,QAAMoE,UAAU,IAAIC,IAAItF,OAAOuF,OAAOpE,OAAOqE,QAASC,SAAUC,KAAMC,GAAG;AACzE,QAAMC,WAAWP,QAAQQ,SAASC,WAAW,OAAA,KAAYT,QAAQQ,SAASC,WAAW,KAAA;AACrFT,UAAQQ,WAAWD,WAAW,UAAU;AACxC,SAAO,IAAIN,IAAI,YAAYF,OAAAA,IAAWzE,QAAQM,EAAE,IAAIoE,OAAAA,EAASU,SAAQ;AACvE;AAEA,IAAM7B,kBAAkB,CAACzD,SAAuBF,WAA2BI,YAAAA;AAGzE,QAAMqF,UAAUrF,QAAQsF,YAAY,GAAGtF,QAAQsF,SAASC,IAAIH,SAAQ,EAAGI,MAAM,GAAG,EAAA,CAAA;AAChF,QAAMC,iBAAiB7F,UAAU8F,KAAK,CAACC,OAAOA,OAAO3F,QAAQsF,UAAUM,MAAAA;AACvE,MAAI,CAACH,gBAAgB;AACnB,WAAOJ;EACT;AAEA,SAAOvF,QAAQ4F,KAAK,CAACG,MAAMJ,eAAeK,QAAQF,QAAQtF,OAAOuF,EAAEvF,EAAE,GAAGyF,QAAQV;AAClF;AC/JA,IAAA,0BAAexG;",
6
+ "names": ["grid", "AutomationPanel", "space", "object", "initialTrigger", "onDone", "t", "useTranslation", "AUTOMATION_PLUGIN", "client", "useClient", "triggers", "useQuery", "Filter", "schema", "FunctionTrigger", "functions", "FunctionType", "scripts", "ScriptType", "trigger", "setTrigger", "useState", "selected", "setSelected", "handleSelect", "id", "_", "values", "handleAdd", "live", "FunctionTriggerSchema", "undefined", "handleDelete", "db", "remove", "handleSave", "Object", "assign", "add", "handleCancel", "React", "div", "className", "ControlItem", "title", "TriggerEditor", "onSave", "onCancel", "role", "controlItemClasses", "List", "Root", "items", "isItem", "Schema", "is", "getId", "field", "map", "copyAction", "getCopyAction", "Item", "key", "item", "classNames", "mx", "ghostHover", "Input", "Switch", "checked", "enabled", "onCheckedChange", "ItemTitle", "onClick", "getFunctionName", "Clipboard", "IconButton", "label", "translationKey", "value", "contentProvider", "ItemDeleteButton", "length", "Separator", "icon", "spec", "type", "TriggerKind", "Email", "getSpace", "Webhook", "getWebhookUrl", "spaceId", "edgeUrl", "URL", "config", "runtime", "services", "edge", "url", "isSecure", "protocol", "startsWith", "toString", "shortId", "function", "dxn", "slice", "functionObject", "find", "fn", "target", "s", "source", "name"]
7
+ }