@dxos/plugin-script 0.8.2-main.f11618f → 0.8.2-main.fbd8ed0

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 (206) hide show
  1. package/dist/lib/browser/{DeploymentDialog-QEKJ54ZB.mjs → DeploymentDialog-W7PY33VN.mjs} +4 -4
  2. package/dist/lib/browser/{ScriptContainer-ATBYTIFH.mjs → ScriptContainer-6DYV7D65.mjs} +31 -19
  3. package/dist/lib/browser/ScriptContainer-6DYV7D65.mjs.map +7 -0
  4. package/dist/lib/browser/{app-graph-builder-2GIBRQLV.mjs → app-graph-builder-BFBTQPSP.mjs} +9 -9
  5. package/dist/lib/browser/app-graph-builder-BFBTQPSP.mjs.map +7 -0
  6. package/dist/lib/browser/{artifact-definition-OEDM2SCN.mjs → artifact-definition-PD4UAAQZ.mjs} +41 -35
  7. package/dist/lib/browser/artifact-definition-PD4UAAQZ.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-6MLJJI73.mjs +40 -0
  9. package/dist/lib/browser/chunk-6MLJJI73.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-QNXJNXQZ.mjs → chunk-BONEXAIK.mjs} +9 -9
  11. package/dist/lib/browser/chunk-BONEXAIK.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-EGDYE5MW.mjs → chunk-FFDJENAN.mjs} +84 -153
  13. package/dist/lib/browser/chunk-FFDJENAN.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-SXS6PUU5.mjs → chunk-INL55MFV.mjs} +7 -6
  15. package/dist/lib/browser/chunk-INL55MFV.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-RTVU4RZW.mjs +87 -0
  17. package/dist/lib/browser/chunk-RTVU4RZW.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-OZEMT3NO.mjs → chunk-YNOCAJYT.mjs} +2 -2
  19. package/dist/lib/browser/chunk-YNOCAJYT.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +13 -13
  21. package/dist/lib/browser/index.mjs.map +3 -3
  22. package/dist/lib/browser/{intent-resolver-C5D6TNPC.mjs → intent-resolver-SXO6X6XQ.mjs} +11 -11
  23. package/dist/lib/browser/intent-resolver-SXO6X6XQ.mjs.map +7 -0
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/{react-surface-XJCN7XXF.mjs → react-surface-TZGE7EGC.mjs} +10 -10
  26. package/dist/lib/browser/react-surface-TZGE7EGC.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-NK4XVS2E.mjs → settings-EOKSUGB6.mjs} +2 -2
  28. package/dist/lib/browser/types.mjs +1 -1
  29. package/dist/lib/node/{DeploymentDialog-NUKZNILK.cjs → DeploymentDialog-43SI7XFL.cjs} +9 -9
  30. package/dist/lib/node/{DeploymentDialog-NUKZNILK.cjs.map → DeploymentDialog-43SI7XFL.cjs.map} +2 -2
  31. package/dist/lib/node/{ScriptContainer-OHHMLPUE.cjs → ScriptContainer-H56OW5FC.cjs} +31 -21
  32. package/dist/lib/node/ScriptContainer-H56OW5FC.cjs.map +7 -0
  33. package/dist/lib/node/{app-graph-builder-LNI22TZF.cjs → app-graph-builder-IKOX7GHW.cjs} +12 -12
  34. package/dist/lib/node/app-graph-builder-IKOX7GHW.cjs.map +7 -0
  35. package/dist/lib/node/{artifact-definition-SEGATFNH.cjs → artifact-definition-C644EAYM.cjs} +47 -41
  36. package/dist/lib/node/artifact-definition-C644EAYM.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-UUGLBCMY.cjs → chunk-7NNN3IUQ.cjs} +87 -154
  38. package/dist/lib/node/chunk-7NNN3IUQ.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-ZZ4HK5KM.cjs → chunk-HPBQHRM3.cjs} +12 -12
  40. package/dist/lib/node/chunk-HPBQHRM3.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-DSFCLQ5F.cjs → chunk-K7PPLRVQ.cjs} +12 -11
  42. package/dist/lib/node/chunk-K7PPLRVQ.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-PGEGRJP3.cjs → chunk-SXJGHLK6.cjs} +16 -17
  44. package/dist/lib/node/chunk-SXJGHLK6.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-PMGWL64F.cjs → chunk-VHSIOCS5.cjs} +6 -6
  46. package/dist/lib/node/chunk-VHSIOCS5.cjs.map +7 -0
  47. package/dist/lib/node/chunk-VNSZBEJW.cjs +91 -0
  48. package/dist/lib/node/chunk-VNSZBEJW.cjs.map +7 -0
  49. package/dist/lib/node/index.cjs +25 -25
  50. package/dist/lib/node/index.cjs.map +3 -3
  51. package/dist/lib/node/{intent-resolver-BQPBRVHM.cjs → intent-resolver-PDSMZM2T.cjs} +20 -20
  52. package/dist/lib/node/intent-resolver-PDSMZM2T.cjs.map +7 -0
  53. package/dist/lib/node/meta.json +1 -1
  54. package/dist/lib/node/{react-surface-5XHS5WYW.cjs → react-surface-BHHJQZ7P.cjs} +27 -27
  55. package/dist/lib/node/react-surface-BHHJQZ7P.cjs.map +7 -0
  56. package/dist/lib/node/{settings-7PVJBWC4.cjs → settings-425QHVGC.cjs} +7 -7
  57. package/dist/lib/node/types.cjs +3 -3
  58. package/dist/lib/node/types.cjs.map +1 -1
  59. package/dist/lib/node-esm/{DeploymentDialog-BIXZ5Q57.mjs → DeploymentDialog-2RRUJEBC.mjs} +4 -4
  60. package/dist/lib/node-esm/{ScriptContainer-4YWGWPY7.mjs → ScriptContainer-762FHDZ4.mjs} +31 -19
  61. package/dist/lib/node-esm/ScriptContainer-762FHDZ4.mjs.map +7 -0
  62. package/dist/lib/node-esm/{app-graph-builder-NNUXXXMZ.mjs → app-graph-builder-KZGKGSP6.mjs} +9 -9
  63. package/dist/lib/node-esm/app-graph-builder-KZGKGSP6.mjs.map +7 -0
  64. package/dist/lib/node-esm/{artifact-definition-5UHIXXHW.mjs → artifact-definition-J6UM6BQF.mjs} +41 -35
  65. package/dist/lib/node-esm/artifact-definition-J6UM6BQF.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-4ISQLIIH.mjs → chunk-A3TXZHGD.mjs} +9 -9
  67. package/dist/lib/node-esm/chunk-A3TXZHGD.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-TN35DSTF.mjs → chunk-F47OE6ZM.mjs} +7 -6
  69. package/dist/lib/node-esm/chunk-F47OE6ZM.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-NNQXJQBG.mjs → chunk-NYA7KDN6.mjs} +84 -153
  71. package/dist/lib/node-esm/chunk-NYA7KDN6.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-GR4VTXVM.mjs → chunk-V733VFCJ.mjs} +2 -2
  73. package/dist/lib/node-esm/chunk-V733VFCJ.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-KGYTIL33.mjs → chunk-VMQPOPKV.mjs} +12 -13
  75. package/dist/lib/node-esm/chunk-VMQPOPKV.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-YCTECQLY.mjs +89 -0
  77. package/dist/lib/node-esm/chunk-YCTECQLY.mjs.map +7 -0
  78. package/dist/lib/node-esm/index.mjs +13 -13
  79. package/dist/lib/node-esm/index.mjs.map +3 -3
  80. package/dist/lib/node-esm/{intent-resolver-PPJKPHUQ.mjs → intent-resolver-WSAVLQY5.mjs} +11 -11
  81. package/dist/lib/node-esm/intent-resolver-WSAVLQY5.mjs.map +7 -0
  82. package/dist/lib/node-esm/meta.json +1 -1
  83. package/dist/lib/node-esm/{react-surface-7ELFL7IO.mjs → react-surface-W7BM4PDK.mjs} +10 -10
  84. package/dist/lib/node-esm/react-surface-W7BM4PDK.mjs.map +7 -0
  85. package/dist/lib/node-esm/{settings-SJYC4JLT.mjs → settings-BWSKKIVQ.mjs} +2 -2
  86. package/dist/lib/node-esm/types.mjs +1 -1
  87. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  88. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/index.d.ts +1 -177
  91. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  92. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
  93. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  94. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  95. package/dist/types/src/components/ScriptContainer.d.ts +1 -1
  96. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  97. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -1
  98. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  99. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +1 -1
  100. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  101. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  102. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  103. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  104. package/dist/types/src/components/index.d.ts +1 -1
  105. package/dist/types/src/hooks/deploy.d.ts +22 -19
  106. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  107. package/dist/types/src/hooks/format.d.ts +2 -5
  108. package/dist/types/src/hooks/format.d.ts.map +1 -1
  109. package/dist/types/src/hooks/index.d.ts +0 -1
  110. package/dist/types/src/hooks/index.d.ts.map +1 -1
  111. package/dist/types/src/hooks/template.d.ts +2 -5
  112. package/dist/types/src/hooks/template.d.ts.map +1 -1
  113. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  114. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  115. package/dist/types/src/templates/chat.d.ts +1 -1
  116. package/dist/types/src/templates/chat.d.ts.map +1 -1
  117. package/dist/types/src/templates/chess.d.ts.map +1 -1
  118. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  119. package/dist/types/src/templates/discord.d.ts.map +1 -1
  120. package/dist/types/src/templates/echo.d.ts +1 -1
  121. package/dist/types/src/templates/echo.d.ts.map +1 -1
  122. package/dist/types/src/templates/email.d.ts +1 -1
  123. package/dist/types/src/templates/email.d.ts.map +1 -1
  124. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  125. package/dist/types/src/templates/forex.d.ts.map +1 -1
  126. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  127. package/dist/types/src/translations.d.ts +2 -110
  128. package/dist/types/src/translations.d.ts.map +1 -1
  129. package/dist/types/src/types.d.ts +27 -26
  130. package/dist/types/src/types.d.ts.map +1 -1
  131. package/dist/types/src/util/deploy.d.ts.map +1 -1
  132. package/dist/types/src/util/functions.d.ts.map +1 -1
  133. package/dist/types/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +56 -50
  135. package/src/ScriptPlugin.tsx +3 -3
  136. package/src/capabilities/app-graph-builder.ts +46 -29
  137. package/src/capabilities/artifact-definition.ts +33 -30
  138. package/src/capabilities/intent-resolver.ts +5 -5
  139. package/src/capabilities/react-surface.tsx +5 -5
  140. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
  141. package/src/components/DeploymentDialog/DeploymentDialog.tsx +2 -2
  142. package/src/components/ScriptContainer.tsx +2 -2
  143. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
  144. package/src/components/ScriptToolbar/ScriptToolbar.tsx +16 -10
  145. package/src/components/Settings/ScriptObjectSettings.tsx +5 -5
  146. package/src/hooks/deploy.ts +61 -55
  147. package/src/hooks/format.ts +26 -26
  148. package/src/hooks/index.ts +0 -1
  149. package/src/hooks/template.ts +24 -32
  150. package/src/templates/chat.ts +3 -9
  151. package/src/templates/chess.ts +1 -6
  152. package/src/templates/data-generator.ts +1 -6
  153. package/src/templates/discord.ts +9 -9
  154. package/src/templates/echo.ts +1 -12
  155. package/src/templates/email.ts +8 -14
  156. package/src/templates/forex-effect.ts +2 -6
  157. package/src/templates/forex.ts +1 -5
  158. package/src/templates/gmail.ts +31 -24
  159. package/src/translations.ts +1 -1
  160. package/src/types.ts +13 -14
  161. package/src/util/deploy.ts +3 -4
  162. package/dist/lib/browser/ScriptContainer-ATBYTIFH.mjs.map +0 -7
  163. package/dist/lib/browser/app-graph-builder-2GIBRQLV.mjs.map +0 -7
  164. package/dist/lib/browser/artifact-definition-OEDM2SCN.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-EGDYE5MW.mjs.map +0 -7
  166. package/dist/lib/browser/chunk-OZEMT3NO.mjs.map +0 -7
  167. package/dist/lib/browser/chunk-QNXJNXQZ.mjs.map +0 -7
  168. package/dist/lib/browser/chunk-SXS6PUU5.mjs.map +0 -7
  169. package/dist/lib/browser/chunk-XEPVXV72.mjs +0 -87
  170. package/dist/lib/browser/chunk-XEPVXV72.mjs.map +0 -7
  171. package/dist/lib/browser/chunk-ZFTDU4WS.mjs +0 -41
  172. package/dist/lib/browser/chunk-ZFTDU4WS.mjs.map +0 -7
  173. package/dist/lib/browser/intent-resolver-C5D6TNPC.mjs.map +0 -7
  174. package/dist/lib/browser/react-surface-XJCN7XXF.mjs.map +0 -7
  175. package/dist/lib/node/ScriptContainer-OHHMLPUE.cjs.map +0 -7
  176. package/dist/lib/node/app-graph-builder-LNI22TZF.cjs.map +0 -7
  177. package/dist/lib/node/artifact-definition-SEGATFNH.cjs.map +0 -7
  178. package/dist/lib/node/chunk-4K23KEYT.cjs +0 -91
  179. package/dist/lib/node/chunk-4K23KEYT.cjs.map +0 -7
  180. package/dist/lib/node/chunk-DSFCLQ5F.cjs.map +0 -7
  181. package/dist/lib/node/chunk-PGEGRJP3.cjs.map +0 -7
  182. package/dist/lib/node/chunk-PMGWL64F.cjs.map +0 -7
  183. package/dist/lib/node/chunk-UUGLBCMY.cjs.map +0 -7
  184. package/dist/lib/node/chunk-ZZ4HK5KM.cjs.map +0 -7
  185. package/dist/lib/node/intent-resolver-BQPBRVHM.cjs.map +0 -7
  186. package/dist/lib/node/react-surface-5XHS5WYW.cjs.map +0 -7
  187. package/dist/lib/node-esm/ScriptContainer-4YWGWPY7.mjs.map +0 -7
  188. package/dist/lib/node-esm/app-graph-builder-NNUXXXMZ.mjs.map +0 -7
  189. package/dist/lib/node-esm/artifact-definition-5UHIXXHW.mjs.map +0 -7
  190. package/dist/lib/node-esm/chunk-4ISQLIIH.mjs.map +0 -7
  191. package/dist/lib/node-esm/chunk-GR4VTXVM.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-KGYTIL33.mjs.map +0 -7
  193. package/dist/lib/node-esm/chunk-NNQXJQBG.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-TN35DSTF.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-X64SI6XO.mjs +0 -89
  196. package/dist/lib/node-esm/chunk-X64SI6XO.mjs.map +0 -7
  197. package/dist/lib/node-esm/intent-resolver-PPJKPHUQ.mjs.map +0 -7
  198. package/dist/lib/node-esm/react-surface-7ELFL7IO.mjs.map +0 -7
  199. package/dist/types/src/hooks/useToolbarAction.d.ts +0 -13
  200. package/dist/types/src/hooks/useToolbarAction.d.ts.map +0 -1
  201. package/src/hooks/useToolbarAction.ts +0 -50
  202. /package/dist/lib/browser/{DeploymentDialog-QEKJ54ZB.mjs.map → DeploymentDialog-W7PY33VN.mjs.map} +0 -0
  203. /package/dist/lib/browser/{settings-NK4XVS2E.mjs.map → settings-EOKSUGB6.mjs.map} +0 -0
  204. /package/dist/lib/node/{settings-7PVJBWC4.cjs.map → settings-425QHVGC.cjs.map} +0 -0
  205. /package/dist/lib/node-esm/{DeploymentDialog-BIXZ5Q57.mjs.map → DeploymentDialog-2RRUJEBC.mjs.map} +0 -0
  206. /package/dist/lib/node-esm/{settings-SJYC4JLT.mjs.map → settings-BWSKKIVQ.mjs.map} +0 -0
@@ -26,25 +26,24 @@ 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 chunk_UUGLBCMY_exports = {};
30
- __export(chunk_UUGLBCMY_exports, {
29
+ var chunk_7NNN3IUQ_exports = {};
30
+ __export(chunk_7NNN3IUQ_exports, {
31
31
  createDeploy: () => createDeploy,
32
32
  createFormat: () => createFormat,
33
33
  createTemplateSelect: () => createTemplateSelect,
34
+ useDeployDeps: () => useDeployDeps,
34
35
  useDeployState: () => useDeployState,
35
- useToolbarAction: () => useToolbarAction,
36
36
  useToolbarState: () => useToolbarState
37
37
  });
38
- module.exports = __toCommonJS(chunk_UUGLBCMY_exports);
39
- var import_chunk_4K23KEYT = require("./chunk-4K23KEYT.cjs");
40
- var import_chunk_DSFCLQ5F = require("./chunk-DSFCLQ5F.cjs");
38
+ module.exports = __toCommonJS(chunk_7NNN3IUQ_exports);
39
+ var import_chunk_VNSZBEJW = require("./chunk-VNSZBEJW.cjs");
40
+ var import_chunk_K7PPLRVQ = require("./chunk-K7PPLRVQ.cjs");
41
41
  var import_chunk_NO5Y74F3 = require("./chunk-NO5Y74F3.cjs");
42
42
  var import_react = require("react");
43
43
  var import_functions = require("@dxos/functions");
44
44
  var import_log = require("@dxos/log");
45
45
  var import_react_client = require("@dxos/react-client");
46
46
  var import_echo = require("@dxos/react-client/echo");
47
- var import_react_ui = require("@dxos/react-ui");
48
47
  var import_react_ui_menu = require("@dxos/react-ui-menu");
49
48
  var import_react_ui_theme = require("@dxos/react-ui-theme");
50
49
  var import_react2 = require("react");
@@ -52,18 +51,15 @@ var import_live_object = require("@dxos/live-object");
52
51
  var import_prettier = require("prettier");
53
52
  var import_estree = __toESM(require("prettier/plugins/estree"));
54
53
  var import_typescript = __toESM(require("prettier/plugins/typescript"));
55
- var import_react3 = require("react");
56
54
  var import_log2 = require("@dxos/log");
57
55
  var import_react_ui_menu2 = require("@dxos/react-ui-menu");
58
- var import_react4 = require("react");
59
- var import_types = require("@dxos/functions/types");
56
+ var import_functions2 = require("@dxos/functions");
60
57
  var import_live_object2 = require("@dxos/live-object");
61
58
  var import_react_ui_menu3 = require("@dxos/react-ui-menu");
62
- var import_react5 = require("react");
63
- var import_log3 = require("@dxos/log");
64
59
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
65
- var createDeploy = (state) => {
66
- const errorItem = (0, import_react_ui_menu.createMenuAction)("error", {
60
+ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }) => {
61
+ const errorItem = (0, import_react_ui_menu.createMenuAction)("error", () => {
62
+ }, {
67
63
  label: state.error ?? [
68
64
  "no error label",
69
65
  {
@@ -74,7 +70,30 @@ var createDeploy = (state) => {
74
70
  hidden: !state.error,
75
71
  classNames: state.error && import_react_ui_theme.errorMessageColors
76
72
  });
77
- const deployAction = (0, import_react_ui_menu.createMenuAction)("deploy", {
73
+ const deployAction = (0, import_react_ui_menu.createMenuAction)("deploy", async () => {
74
+ if (!script.source || !space) {
75
+ return;
76
+ }
77
+ state.error = void 0;
78
+ state.deploying = true;
79
+ const result = await (0, import_chunk_K7PPLRVQ.deployScript)({
80
+ script,
81
+ client,
82
+ space,
83
+ fn,
84
+ existingFunctionUrl
85
+ });
86
+ if (!result.success) {
87
+ import_log.log.catch(result.error, void 0, {
88
+ F: __dxlog_file,
89
+ L: 59,
90
+ S: void 0,
91
+ C: (f, a) => f(...a)
92
+ });
93
+ state.error = t("upload failed label");
94
+ }
95
+ state.deploying = false;
96
+ }, {
78
97
  type: "deploy",
79
98
  label: [
80
99
  state.deploying ? "pending label" : "deploy label",
@@ -86,7 +105,12 @@ var createDeploy = (state) => {
86
105
  disabled: state.deploying,
87
106
  classNames: state.deploying ? "[&_svg]:animate-spin" : ""
88
107
  });
89
- const copyAction = (0, import_react_ui_menu.createMenuAction)("copy", {
108
+ const copyAction = (0, import_react_ui_menu.createMenuAction)("copy", async () => {
109
+ if (!state.functionUrl) {
110
+ return;
111
+ }
112
+ await navigator.clipboard.writeText(state.functionUrl);
113
+ }, {
90
114
  type: "copy",
91
115
  label: [
92
116
  "copy link label",
@@ -127,7 +151,7 @@ var useDeployState = ({ state, script }) => {
127
151
  if (!existingFunctionUrl) {
128
152
  return;
129
153
  }
130
- state.functionUrl = (0, import_chunk_DSFCLQ5F.getFunctionUrl)({
154
+ state.functionUrl = (0, import_chunk_K7PPLRVQ.getFunctionUrl)({
131
155
  script,
132
156
  fn,
133
157
  edgeUrl: client.config.values.runtime?.services?.edge?.url ?? ""
@@ -140,7 +164,7 @@ var useDeployState = ({ state, script }) => {
140
164
  client.config.values.runtime?.services?.edge?.url
141
165
  ]);
142
166
  (0, import_react.useEffect)(() => {
143
- state.deployed = (0, import_chunk_DSFCLQ5F.isScriptDeployed)({
167
+ state.deployed = (0, import_chunk_K7PPLRVQ.isScriptDeployed)({
144
168
  script,
145
169
  fn
146
170
  });
@@ -153,8 +177,8 @@ var useDeployState = ({ state, script }) => {
153
177
  };
154
178
  var useDeployDeps = ({ script }) => {
155
179
  const space = (0, import_echo.getSpace)(script);
156
- const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_functions.FunctionType, {
157
- source: script
180
+ const [fn] = (0, import_echo.useQuery)(space, import_echo.Query.type(import_functions.FunctionType, {
181
+ source: import_echo.Ref.make(script)
158
182
  }));
159
183
  const client = (0, import_react_client.useClient)();
160
184
  const existingFunctionUrl = (0, import_react.useMemo)(() => fn && (0, import_functions.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn)), [
@@ -167,57 +191,34 @@ var useDeployDeps = ({ script }) => {
167
191
  existingFunctionUrl
168
192
  };
169
193
  };
170
- var useDeployHandler = ({ state, script }) => {
171
- const { space, fn, client, existingFunctionUrl } = useDeployDeps({
172
- script
173
- });
174
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
175
- return (0, import_react.useCallback)(async () => {
176
- if (!script.source || !space) {
194
+ var useToolbarState = (initialState = {}) => {
195
+ return (0, import_react2.useMemo)(() => (0, import_live_object.live)(initialState), []);
196
+ };
197
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
198
+ var createFormat = (script) => {
199
+ const formatAction = (0, import_react_ui_menu2.createMenuAction)("format", async () => {
200
+ if (!script.source) {
177
201
  return;
178
202
  }
179
- state.error = void 0;
180
- state.deploying = true;
181
- const result = await (0, import_chunk_DSFCLQ5F.deployScript)({
182
- script,
183
- client,
184
- space,
185
- fn,
186
- existingFunctionUrl
187
- });
188
- if (!result.success) {
189
- import_log.log.catch(result.error, void 0, {
190
- F: __dxlog_file,
191
- L: 105,
203
+ try {
204
+ script.source.target.content = await (0, import_prettier.format)(script.source.target.content, {
205
+ parser: "typescript",
206
+ plugins: [
207
+ import_estree.default,
208
+ import_typescript.default
209
+ ],
210
+ semi: true,
211
+ singleQuote: true
212
+ });
213
+ } catch (err) {
214
+ import_log2.log.catch(err, void 0, {
215
+ F: __dxlog_file2,
216
+ L: 34,
192
217
  S: void 0,
193
218
  C: (f, a) => f(...a)
194
219
  });
195
- state.error = t("upload failed label");
196
220
  }
197
- state.deploying = false;
198
- }, [
199
- fn,
200
- client,
201
- t,
202
- existingFunctionUrl,
203
- script,
204
- space
205
- ]);
206
- };
207
- var useCopyHandler = ({ state }) => (0, import_react.useCallback)(async () => {
208
- if (!state.functionUrl) {
209
- return;
210
- }
211
- await navigator.clipboard.writeText(state.functionUrl);
212
- }, [
213
- state.functionUrl
214
- ]);
215
- var useToolbarState = (initialState = {}) => {
216
- return (0, import_react2.useMemo)(() => (0, import_live_object.live)(initialState), []);
217
- };
218
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
219
- var createFormat = () => {
220
- const formatAction = (0, import_react_ui_menu2.createMenuAction)("format", {
221
+ }, {
221
222
  label: [
222
223
  "format label",
223
224
  {
@@ -238,31 +239,6 @@ var createFormat = () => {
238
239
  ]
239
240
  };
240
241
  };
241
- var useFormatHandler = ({ script }) => (0, import_react3.useCallback)(async () => {
242
- if (!script.source) {
243
- return;
244
- }
245
- try {
246
- script.source.target.content = await (0, import_prettier.format)(script.source.target.content, {
247
- parser: "typescript",
248
- plugins: [
249
- import_estree.default,
250
- import_typescript.default
251
- ],
252
- semi: true,
253
- singleQuote: true
254
- });
255
- } catch (err) {
256
- import_log2.log.catch(err, void 0, {
257
- F: __dxlog_file2,
258
- L: 45,
259
- S: void 0,
260
- C: (f, a) => f(...a)
261
- });
262
- }
263
- }, [
264
- script.source
265
- ]);
266
242
  var createTemplateSelectGroup = () => {
267
243
  return (0, import_react_ui_menu3.createMenuItemGroup)("template-select", {
268
244
  label: [
@@ -274,18 +250,32 @@ var createTemplateSelectGroup = () => {
274
250
  variant: "dropdownMenu"
275
251
  });
276
252
  };
277
- var createTemplateSelectActions = () => {
278
- return import_chunk_4K23KEYT.templates.map((template) => {
279
- return (0, import_react_ui_menu3.createMenuAction)(`template--${template.id}`, {
253
+ var createTemplateSelectActions = (script) => {
254
+ return import_chunk_VNSZBEJW.templates.map((template) => {
255
+ return (0, import_react_ui_menu3.createMenuAction)(`template--${template.id}`, () => {
256
+ script.name = template.name;
257
+ script.source.target.content = template.source;
258
+ const metaKeys = (0, import_live_object2.getMeta)(script).keys;
259
+ const oldPresetIndex = metaKeys.findIndex((key) => key.source === import_functions2.FUNCTIONS_PRESET_META_KEY);
260
+ if (oldPresetIndex >= 0) {
261
+ metaKeys.splice(oldPresetIndex, 1);
262
+ }
263
+ if (template.presetId) {
264
+ metaKeys.push({
265
+ source: import_functions2.FUNCTIONS_PRESET_META_KEY,
266
+ id: template.presetId
267
+ });
268
+ }
269
+ }, {
280
270
  label: template.name,
281
271
  value: template.id,
282
272
  type: "template"
283
273
  });
284
274
  });
285
275
  };
286
- var createTemplateSelect = () => {
276
+ var createTemplateSelect = (script) => {
287
277
  const templateSelectGroup = createTemplateSelectGroup();
288
- const templateSelectActions = createTemplateSelectActions();
278
+ const templateSelectActions = createTemplateSelectActions(script);
289
279
  return {
290
280
  nodes: [
291
281
  templateSelectGroup,
@@ -303,70 +293,13 @@ var createTemplateSelect = () => {
303
293
  ]
304
294
  };
305
295
  };
306
- var useTemplateSelectHandler = ({ script }) => {
307
- return (0, import_react4.useCallback)((templateId) => {
308
- const template = import_chunk_4K23KEYT.templates.find((template2) => template2.id === templateId);
309
- if (template) {
310
- script.name = template.name;
311
- script.source.target.content = template.source;
312
- const metaKeys = (0, import_live_object2.getMeta)(script).keys;
313
- const oldPresetIndex = metaKeys.findIndex((key) => key.source === import_types.FUNCTIONS_PRESET_META_KEY);
314
- if (oldPresetIndex >= 0) {
315
- metaKeys.splice(oldPresetIndex, 1);
316
- }
317
- if (template.presetId) {
318
- metaKeys.push({
319
- source: import_types.FUNCTIONS_PRESET_META_KEY,
320
- id: template.presetId
321
- });
322
- }
323
- }
324
- }, [
325
- script
326
- ]);
327
- };
328
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/useToolbarAction.ts";
329
- var useToolbarAction = (props) => {
330
- const handleTemplateSelect = useTemplateSelectHandler(props);
331
- const handleFormat = useFormatHandler(props);
332
- const handleDeploy = useDeployHandler(props);
333
- const handleCopy = useCopyHandler(props);
334
- return (0, import_react5.useCallback)((action) => {
335
- switch (action.properties.type) {
336
- case "template":
337
- handleTemplateSelect(action.properties.value);
338
- break;
339
- case "format":
340
- void handleFormat();
341
- break;
342
- case "deploy":
343
- void handleDeploy();
344
- break;
345
- case "copy":
346
- void handleCopy();
347
- break;
348
- default:
349
- import_log3.log.error("Unknown action type", action, {
350
- F: __dxlog_file3,
351
- L: 45,
352
- S: void 0,
353
- C: (f, a) => f(...a)
354
- });
355
- }
356
- }, [
357
- handleTemplateSelect,
358
- handleFormat,
359
- handleDeploy,
360
- handleCopy
361
- ]);
362
- };
363
296
  // Annotate the CommonJS export names for ESM import in node:
364
297
  0 && (module.exports = {
365
298
  createDeploy,
366
299
  createFormat,
367
300
  createTemplateSelect,
301
+ useDeployDeps,
368
302
  useDeployState,
369
- useToolbarAction,
370
303
  useToolbarState
371
304
  });
372
- //# sourceMappingURL=chunk-UUGLBCMY.cjs.map
305
+ //# sourceMappingURL=chunk-7NNN3IUQ.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { FunctionType, type ScriptType, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { getMeta, getSpace, Query, Ref, type Space, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport type CreateDeployOptions = {\n state: Partial<DeployState>;\n script: ScriptType;\n fn: FunctionType;\n space?: Space;\n existingFunctionUrl?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }: CreateDeployOptions) => {\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: state.error ?? ['no error label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionUrl });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n },\n {\n type: 'deploy',\n label: [state.deploying ? 'pending label' : 'deploy label', { ns: SCRIPT_PLUGIN }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, fn, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionUrl, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionUrl, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Query.type(FunctionType, { source: Ref.make(script) }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { live } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => live<ScriptToolbarState>(initialState), []);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: ScriptType) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [{ source: 'root', target: 'format' }],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions';\nimport { getMeta } from '@dxos/live-object';\nimport { createMenuItemGroup, createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectGroup = () => {\n return createMenuItemGroup('template-select', {\n label: ['template select group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n });\n};\n\nconst createTemplateSelectActions = (script: ScriptType) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if (template.presetId) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: ScriptType) => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [templateSelectGroup, ...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAmC;AAEnC,uBAA4E;AAC5E,iBAAoB;AACpB,0BAAuC;AACvC,kBAAoE;AAEpE,2BAAiC;AACjC,4BAAmC;ACRnC,IAAAA,gBAAwB;AAExB,yBAAqB;ACFrB,sBAAuB;AACvB,oBAAiC;AACjC,wBAAqC;AAGrC,IAAAC,cAAoB;AACpB,IAAAC,wBAAiC;ACNjC,IAAAC,oBAA2D;AAC3D,IAAAC,sBAAwB;AACxB,IAAAF,wBAAsD;;AH8B/C,IAAMG,eAAe,CAAC,EAAEC,OAAOC,QAAQC,OAAOC,IAAIC,QAAQC,qBAAqBC,EAAC,MAAuB;AAE5G,QAAMC,gBAAYC,uCAAiB,SAAS,MAAA;EAAO,GAAG;IACpDC,OAAOT,MAAMU,SAAS;MAAC;MAAkB;QAAEC,IAAIC;MAAc;;IAC7DC,MAAM;IACNC,QAAQ,CAACd,MAAMU;IACfK,YAAYf,MAAMU,SAASM;EAC7B,CAAA;AAEA,QAAMC,mBAAeT,uCACnB,UACA,YAAA;AACE,QAAI,CAACP,OAAOiB,UAAU,CAAChB,OAAO;AAC5B;IACF;AAEAF,UAAMU,QAAQS;AACdnB,UAAMoB,YAAY;AAElB,UAAMC,SAAS,UAAMC,oCAAa;MAAErB;MAAQG;MAAQF;MAAOC;MAAIE;IAAoB,CAAA;AAEnF,QAAI,CAACgB,OAAOE,SAAS;AACnBC,qBAAIC,MAAMJ,OAAOX,OAAK,QAAA;;;;;;AACtBV,YAAMU,QAAQJ,EAAE,qBAAA;IAClB;AAEAN,UAAMoB,YAAY;EACpB,GACA;IACEM,MAAM;IACNjB,OAAO;MAACT,MAAMoB,YAAY,kBAAkB;MAAgB;QAAET,IAAIC;MAAc;;IAChFC,MAAMb,MAAMoB,YAAY,6BAA6B;IACrDO,UAAU3B,MAAMoB;IAChBL,YAAYf,MAAMoB,YAAY,yBAAyB;EACzD,CAAA;AAGF,QAAMQ,iBAAapB,uCACjB,QACA,YAAA;AACE,QAAI,CAACR,MAAM6B,aAAa;AACtB;IACF;AACA,UAAMC,UAAUC,UAAUC,UAAUhC,MAAM6B,WAAW;EACvD,GACA;IACEH,MAAM;IACNjB,OAAO;MAAC;MAAmB;QAAEE,IAAIC;MAAc;;IAC/CC,MAAM;IACNc,UAAU,CAAC3B,MAAM6B;EACnB,CAAA;AAGF,SAAO;IACLI,OAAO;MAAC1B;MAAWU;MAAcW;;IACjCM,OAAO;MACL;QAAEhB,QAAQ;QAAQiB,QAAQ;MAAQ;MAClC;QAAEjB,QAAQ;QAAQiB,QAAQ;MAAS;MACnC;QAAEjB,QAAQ;QAAQiB,QAAQ;MAAO;;EAErC;AACF;AAEO,IAAMC,iBAAiB,CAAC,EAAEpC,OAAOC,OAAM,MAAuD;AACnG,QAAM,EAAEC,OAAOE,QAAQD,IAAIE,oBAAmB,IAAKgC,cAAc;IAAEpC;EAAO,CAAA;AAC1EqC,8BAAU,MAAA;AACR,QAAI,CAACjC,qBAAqB;AACxB;IACF;AAEAL,UAAM6B,kBAAcU,sCAAe;MACjCtC;MACAE;MACAqC,SAASpC,OAAOqC,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,OAAO;IAChE,CAAA;EACF,GAAG;IAACzC;IAAqBH;IAAOC;IAAIF;IAAQG,OAAOqC,OAAOC,OAAOC,SAASC,UAAUC,MAAMC;GAAI;AAE9FR,8BAAU,MAAA;AACRtC,UAAM+C,eAAWC,wCAAiB;MAAE/C;MAAQE;IAAG,CAAA;EACjD,GAAG;IAACF,OAAOgD;IAAS5C;IAAqBF;IAAIF;GAAO;AACtD;AAEO,IAAMoC,gBAAgB,CAAC,EAAEpC,OAAM,MAA0B;AAC9D,QAAMC,YAAQgD,sBAASjD,MAAAA;AACvB,QAAM,CAACE,EAAAA,QAAMgD,sBAASjD,OAAOkD,kBAAM1B,KAAK2B,+BAAc;IAAEnC,QAAQoC,gBAAIC,KAAKtD,MAAAA;EAAQ,CAAA,CAAA;AACjF,QAAMG,aAASoD,+BAAAA;AACf,QAAMnD,0BAAsBoD,sBAAQ,MAAMtD,UAAMuD,mDAA6BC,qBAAQxD,EAAAA,CAAAA,GAAM;IAACA;GAAG;AAC/F,SAAO;IAAED;IAAOC;IAAIC;IAAQC;EAAoB;AAClD;AC/GO,IAAMuD,kBAAkB,CAACC,eAAmC,CAAC,MAAC;AACnE,aAAOJ,cAAAA,SAAQ,UAAMK,yBAAyBD,YAAAA,GAAe,CAAA,CAAE;AACjE;;ACCO,IAAME,eAAe,CAAC9D,WAAAA;AAC3B,QAAM+D,mBAAexD,sBAAAA,kBACnB,UACA,YAAA;AACE,QAAI,CAACP,OAAOiB,QAAQ;AAClB;IACF;AAEA,QAAI;AACFjB,aAAOiB,OAAOiB,OAAQ8B,UAAU,UAAMC,wBAAOjE,OAAOiB,OAAOiB,OAAQ8B,SAAS;QAC1EE,QAAQ;QACRC,SAAS;UAACC,cAAAA;UAAsBC,kBAAAA;;QAChCC,MAAM;QACNC,aAAa;MACf,CAAA;IACF,SAASC,KAAU;AAEjBjD,kBAAAA,IAAIC,MAAMgD,KAAAA,QAAAA;;;;;;IACZ;EACF,GACA;IACEhE,OAAO;MAAC;MAAgB;QAAEE,IAAIC;MAAc;;IAC5CC,MAAM;EACR,CAAA;AAGF,SAAO;IACLoB,OAAO;MAAC+B;;IACR9B,OAAO;MAAC;QAAEhB,QAAQ;QAAQiB,QAAQ;MAAS;;EAC7C;AACF;ACjCA,IAAMuC,4BAA4B,MAAA;AAChC,aAAOC,2CAAoB,mBAAmB;IAC5ClE,OAAO;MAAC;MAA+B;QAAEE,IAAIC;MAAc;;IAC3DgE,SAAS;EACX,CAAA;AACF;AAEA,IAAMC,8BAA8B,CAAC5E,WAAAA;AACnC,SAAO6E,gCAAUC,IAAI,CAACC,aAAAA;AACpB,eAAOxE,sBAAAA,kBACL,aAAawE,SAASC,EAAE,IACxB,MAAA;AACEhF,aAAOiF,OAAOF,SAASE;AACvBjF,aAAOiB,OAAQiB,OAAQ8B,UAAUe,SAAS9D;AAC1C,YAAMiE,eAAWxB,oBAAAA,SAAQ1D,MAAAA,EAAQmF;AACjC,YAAMC,iBAAiBF,SAASG,UAAU,CAACC,QAAQA,IAAIrE,WAAWsE,2CAAAA;AAClE,UAAIH,kBAAkB,GAAG;AACvBF,iBAASM,OAAOJ,gBAAgB,CAAA;MAClC;AACA,UAAIL,SAASU,UAAU;AACrBP,iBAASQ,KAAK;UAAEzE,QAAQsE;UAA2BP,IAAID,SAASU;QAAS,CAAA;MAC3E;IACF,GACA;MACEjF,OAAOuE,SAASE;MAChBU,OAAOZ,SAASC;MAChBvD,MAAM;IACR,CAAA;EAEJ,CAAA;AACF;AAEO,IAAMmE,uBAAuB,CAAC5F,WAAAA;AACnC,QAAM6F,sBAAsBpB,0BAAAA;AAC5B,QAAMqB,wBAAwBlB,4BAA4B5E,MAAAA;AAC1D,SAAO;IACLgC,OAAO;MAAC6D;SAAwBC;;IAChC7D,OAAO;MACL;QAAEhB,QAAQ;QAAQiB,QAAQ;MAAkB;SACzC4D,sBAAsBhB,IAAI,CAACiB,YAAY;QAAE9E,QAAQ;QAAmBiB,QAAQ6D,OAAOf;MAAG,EAAA;;EAE7F;AACF;",
6
+ "names": ["import_react", "import_log", "import_react_ui_menu", "import_functions", "import_live_object", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionUrl", "t", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "undefined", "deploying", "result", "deployScript", "success", "log", "catch", "type", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "getSpace", "useQuery", "Query", "FunctionType", "Ref", "make", "useClient", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useToolbarState", "initialState", "live", "createFormat", "formatAction", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "createTemplateSelectGroup", "createMenuItemGroup", "variant", "createTemplateSelectActions", "templates", "map", "template", "id", "name", "metaKeys", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "value", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "action"]
7
+ }
@@ -26,8 +26,8 @@ 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 chunk_ZZ4HK5KM_exports = {};
30
- __export(chunk_ZZ4HK5KM_exports, {
29
+ var chunk_HPBQHRM3_exports = {};
30
+ __export(chunk_HPBQHRM3_exports, {
31
31
  DeploymentDialog: () => DeploymentDialog,
32
32
  ScriptContainer: () => ScriptContainer,
33
33
  ScriptObjectSettings: () => ScriptObjectSettings,
@@ -35,12 +35,12 @@ __export(chunk_ZZ4HK5KM_exports, {
35
35
  ScriptProperties: () => ScriptProperties,
36
36
  TestPanel: () => TestPanel
37
37
  });
38
- module.exports = __toCommonJS(chunk_ZZ4HK5KM_exports);
38
+ module.exports = __toCommonJS(chunk_HPBQHRM3_exports);
39
39
  var import_chunk_NO5Y74F3 = require("./chunk-NO5Y74F3.cjs");
40
40
  var import_core = require("@octokit/core");
41
41
  var import_react = __toESM(require("react"));
42
42
  var import_app_framework = require("@dxos/app-framework");
43
- var import_types = require("@dxos/functions/types");
43
+ var import_functions = require("@dxos/functions");
44
44
  var import_log = require("@dxos/log");
45
45
  var import_react_client = require("@dxos/react-client");
46
46
  var import_echo = require("@dxos/react-client/echo");
@@ -79,11 +79,11 @@ var Binding = ({ object }) => {
79
79
  const { t } = (0, import_react_ui.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
80
80
  const client = (0, import_react_client.useClient)();
81
81
  const space = (0, import_echo.getSpace)(object);
82
- const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionType, {
83
- source: object
82
+ const [fn] = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_functions.FunctionType, {
83
+ source: import_echo.Ref.make(object)
84
84
  }));
85
- const functionPath = fn && (0, import_types.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn));
86
- const functionUrl = functionPath && (0, import_types.getInvocationUrl)(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
85
+ const functionPath = fn && (0, import_functions.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn));
86
+ const functionUrl = functionPath && (0, import_functions.getInvocationUrl)(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
87
87
  spaceId: space?.id
88
88
  });
89
89
  const [binding, setBinding] = (0, import_react_ui.useControlledState)(fn?.binding ?? "");
@@ -132,7 +132,7 @@ var Publishing = ({ object }) => {
132
132
  const { t } = (0, import_react_ui.useTranslation)(import_chunk_NO5Y74F3.SCRIPT_PLUGIN);
133
133
  const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
134
134
  const space = (0, import_echo.getSpace)(object);
135
- const [githubToken] = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_schema.AccessTokenType, {
135
+ const [githubToken] = (0, import_echo.useQuery)(space, import_echo.Filter.type(import_schema.DataType.AccessToken, {
136
136
  source: "github.com"
137
137
  }));
138
138
  const gistKey = (0, import_echo.getMeta)(object).keys.find(({ source }) => source === "github.com");
@@ -493,8 +493,8 @@ var RobotAvatar = () => /* @__PURE__ */ import_react3.default.createElement(impo
493
493
  variant: "circle",
494
494
  icon: "ph--robot--regular"
495
495
  }));
496
- var ScriptContainer = (0, import_react4.lazy)(() => import("./ScriptContainer-OHHMLPUE.cjs"));
497
- var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-NUKZNILK.cjs"));
496
+ var ScriptContainer = (0, import_react4.lazy)(() => import("./ScriptContainer-H56OW5FC.cjs"));
497
+ var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-43SI7XFL.cjs"));
498
498
  // Annotate the CommonJS export names for ESM import in node:
499
499
  0 && (module.exports = {
500
500
  DeploymentDialog,
@@ -504,4 +504,4 @@ var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-
504
504
  ScriptProperties,
505
505
  TestPanel
506
506
  });
507
- //# sourceMappingURL=chunk-ZZ4HK5KM.cjs.map
507
+ //# sourceMappingURL=chunk-HPBQHRM3.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Settings/ScriptObjectSettings.tsx", "../../../src/components/Settings/ScriptPluginSettings.tsx", "../../../src/components/TestPanel/TestPanel.tsx", "../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { type ChangeEvent, useCallback, useEffect, useState } from 'react';\n\nimport { createIntent, SettingsAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { FunctionType, type ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, Ref, useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { DataType } from '@dxos/schema';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type ScriptObjectSettingsProps = {\n object: ScriptType;\n};\n\nexport const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {\n return (\n <>\n <Binding object={object} />\n <Publishing object={object} />\n </>\n );\n};\n\nexport const ScriptProperties = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n return (\n <Input.Root>\n <Input.Label>{t('description label')}</Input.Label>\n <Input.TextInput\n placeholder={t('description placeholder')}\n value={object.description ?? ''}\n onChange={(event) => {\n object.description = event.target.value;\n }}\n />\n </Input.Root>\n );\n};\n\nconst Binding = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const client = useClient();\n const space = getSpace(object);\n const [fn] = useQuery(space, Filter.type(FunctionType, { source: Ref.make(object) }));\n\n const functionPath = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n const functionUrl =\n functionPath &&\n getInvocationUrl(functionPath, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n fn.binding = binding;\n }, [fn, binding]);\n\n if (!fn || !functionUrl) {\n return null;\n }\n\n // TODO(burdon): Use form.\n return (\n <div role='form' className='flex flex-col p-2 gap-2'>\n <h2>{t('remote function settings heading')}</h2>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function url label')}</Input.Label>\n <div role='none' className='flex gap-1'>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n fn.name = event.target.value;\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </div>\n </div>\n </Input.Root>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function binding label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function binding placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </div>\n </Input.Root>\n </div>\n );\n};\n\n// TODO(burdon): Move to separate tab?\nconst Publishing = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(object);\n const [githubToken] = useQuery(space, Filter.type(DataType.AccessToken, { source: 'github.com' }));\n const gistKey = getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useEffect(() => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n const timeout = setTimeout(async () => {\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n });\n\n return () => clearTimeout(timeout);\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () => dispatch(createIntent(SettingsAction.Open, { plugin: 'dxos.org/plugin/token-manager' })),\n [],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n if (response.data.id) {\n meta.keys.push({ source: 'github.com', id: response.data.id });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col p-2 gap-4'>\n <div>\n <h2>{t('script publish settings label')}</h2>\n <p className='text-description text-sm'>{t('script publish settings description')}</p>\n </div>\n {!githubToken && (\n <div className='flex flex-col gap-2'>\n <span>{t('no github token label')}</span>\n <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>\n </div>\n )}\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t(publishing ? 'publishing label' : 'publish label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\n// TODO(wittjosiah): Factor out.\n// From https://stackoverflow.com/a/67243723/2804332\nconst kebabize = (str: string) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { useClient } from '@dxos/react-client';\nimport { Button, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type ScriptSettingsProps } from '../../types';\n\nexport const ScriptPluginSettings = ({ settings }: { settings: ScriptSettingsProps }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n\n // TODO(burdon): Check token.\n const handleAuthenticate = async () => {\n const { identityKey } = client.halo.identity.get()!;\n await client.halo.writeCredentials([\n {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n } satisfies Credential,\n ]);\n };\n\n return (\n <DeprecatedFormContainer>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <DeprecatedFormInput label={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { Avatar, Icon, Input, type ThemedClassName, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { errorText, mx } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\ntype State = 'pending' | 'responding';\n\n/**\n * Request or response.\n */\ntype Message = { type: 'request' | 'response'; text?: string; data?: any; error?: Error };\n\nexport type TestPanelProps = ThemedClassName<{\n functionUrl?: string;\n}>;\n\n// TODO(burdon): Need persistent history (currently lost when switching tabs)..\nexport const TestPanel = ({ classNames, functionUrl }: TestPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState('');\n const [result, setResult] = useState('');\n const [state, setState] = useState<State | null>(null);\n\n // TODO(burdon): Persistent history (thread).\n const [history, setHistory] = useState<Message[]>([]);\n\n const scrollerRef = useRef<HTMLDivElement>(null);\n const handleScroll = () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;\n }\n };\n\n const controller = useRef<AbortController>();\n useEffect(() => {\n return () => {\n handleStop();\n };\n }, []);\n\n const handleStop = () => {\n controller.current?.abort('stop');\n controller.current = undefined;\n };\n\n const handleClear = () => {\n handleStop();\n setInput('');\n setResult('');\n setHistory([]);\n inputRef.current?.focus();\n };\n\n const handleResponse = ({ text, data, error }: { text?: string; data?: any; error?: Error } = {}) => {\n controller.current = undefined;\n setHistory((history) => [...history, { type: 'response', text, data, error } satisfies Message]);\n setResult('');\n setState(null);\n handleScroll();\n };\n\n const handleRequest = async (input: string) => {\n // Returns a promise that resolves when a value has been received.\n try {\n setState('pending');\n\n let data = null;\n // Detect JSON input.\n if (input.charAt(0) === '{') {\n try {\n const validJsonString = input.replace(/'/g, '\"').replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3');\n data = JSON.parse(validJsonString);\n input = JSON.stringify(data, null, 2);\n } catch (err) {\n inputRef.current?.focus();\n return;\n }\n }\n\n setInput('');\n setResult('');\n setHistory((history) => [...history, { type: 'request', text: input }]);\n setTimeout(() => {\n handleScroll();\n });\n\n // Throws DOMException when aborted.\n controller.current = new AbortController();\n const response = await fetch(functionUrl!, {\n signal: controller.current.signal,\n method: 'POST',\n body: input,\n headers: {\n 'Content-Type': data ? 'application/json' : 'text/plain',\n },\n });\n\n // Check for error.\n if (!response.ok) {\n const text = await response.text();\n handleResponse({ error: new Error(text || response.statusText || String(response.status)) });\n return;\n }\n\n // Check for JSON.\n const contentType = response.headers.get('content-type');\n if (contentType === 'application/json') {\n const data = await response.json();\n handleResponse({ data });\n return;\n }\n\n // Text (including streaming).\n setState('responding');\n let text = '';\n const reader = response.body!.getReader();\n const pump = async ({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> => {\n text = text + new TextDecoder().decode(value);\n if (!controller.current || done) {\n handleResponse({ text });\n return;\n }\n\n setResult(text);\n setTimeout(() => {\n handleScroll();\n });\n\n return reader.read().then(pump);\n };\n\n void reader\n .read()\n .then(pump)\n .catch((err) => {\n if (err.name !== 'AbortError') {\n log.catch(err);\n }\n });\n } catch (err: any) {\n if (err !== 'stop') {\n const error = err instanceof Error ? err : new Error(err);\n handleResponse({ error });\n log.catch(err);\n } else {\n handleResponse();\n }\n }\n };\n\n return (\n <div className={mx('flex flex-col h-full overflow-hidden', classNames)}>\n {/* TODO(burdon): Replace with Thread. */}\n <MessageThread ref={scrollerRef} state={state} result={result} history={history} />\n {/* TODO(burdon): Replace with Form based on the function's input schema. */}\n <Toolbar.Root classNames='p-2'>\n <Input.Root>\n <Input.TextInput\n ref={inputRef}\n autoFocus\n placeholder={t('function request placeholder')}\n value={input}\n onChange={(ev) => setInput(ev.target.value)}\n onKeyDown={(ev) => ev.key === 'Enter' && handleRequest(input)}\n />\n </Input.Root>\n <Toolbar.Button onClick={() => handleRequest(input)}>\n <Icon icon='ph--play--regular' size={4} />\n </Toolbar.Button>\n <Toolbar.Button onClick={() => (state ? handleStop() : handleClear())}>\n <Icon icon={state ? 'ph--stop--regular' : 'ph--trash--regular'} size={4} />\n </Toolbar.Button>\n </Toolbar.Root>\n </div>\n );\n};\n\n// TODO(burdon): Replace with thread?\n// TODO(burdon): Button to edit/re-run question.\ntype MessageThreadProps = {\n state: State | null;\n history: Message[];\n result: string;\n};\n\nconst MessageThread = forwardRef<HTMLDivElement, MessageThreadProps>(\n ({ state, history, result }: MessageThreadProps, forwardedRef) => {\n return (\n <div ref={forwardedRef} className='flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto'>\n {history.map((message, i) => (\n <div key={i} className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>{message.type === 'response' && <RobotAvatar />}</div>\n <div className='overflow-auto'>\n <MessageItem message={message} />\n </div>\n </div>\n ))}\n\n {result?.length > 0 && (\n <div className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>\n {(state === 'pending' && <Icon icon='ph--spinner--regular' size={6} classNames='animate-spin' />) || (\n <Icon icon='ph--robot--regular' size={6} classNames='animate-[pulse_1s_ease-in-out_infinite]' />\n )}\n </div>\n <div className='overflow-auto'>\n <MessageItem message={{ type: 'response', text: result }} />\n </div>\n </div>\n )}\n </div>\n );\n },\n);\n\nconst MessageItem = ({ classNames, message }: ThemedClassName<{ message: Message }>) => {\n const { type, text, data, error } = message;\n const wrapper = 'p-1 px-2 rounded-lg bg-hoverSurface overflow-auto';\n return (\n <div className={mx('flex', type === 'request' ? 'ml-[1rem] justify-end' : 'mr-[1rem]', classNames)}>\n {error && <div className={mx(wrapper, 'whitespace-pre', errorText)}>{String(error)}</div>}\n\n {text !== undefined && (\n <div className={mx(wrapper, type === 'request' && 'bg-primary-400 dark:bg-primary-600')}>\n {text || '\\u00D8'}\n </div>\n )}\n\n {data && (\n <SyntaxHighlighter language='json' className={mx(wrapper, 'px-8 py-2 text-xs')}>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n );\n};\n\nconst RobotAvatar = () => (\n <Avatar.Root>\n <Avatar.Content size={6} variant='circle' icon='ph--robot--regular' />\n </Avatar.Root>\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './Settings';\nexport * from './TestPanel';\nexport { DEPLOYMENT_DIALOG } from './DeploymentDialog';\n\nexport const ScriptContainer = lazy(() => import('./ScriptContainer'));\nexport const DeploymentDialog = lazy(() => import('./DeploymentDialog'));\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_client", "import_react_ui", "import_log", "ScriptObjectSettings", "object", "React", "Binding", "Publishing", "ScriptProperties", "t", "useTranslation", "SCRIPT_PLUGIN", "Input", "Root", "Label", "TextInput", "placeholder", "value", "description", "onChange", "event", "target", "client", "useClient", "space", "getSpace", "fn", "useQuery", "Filter", "type", "FunctionType", "source", "Ref", "make", "functionPath", "getUserFunctionUrlInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "binding", "setBinding", "useControlledState", "handleBindingChange", "useCallback", "handleBindingBlur", "div", "role", "className", "h2", "disabled", "name", "Clipboard", "IconButton", "onBlur", "dispatchPromise", "dispatch", "useIntentDispatcher", "githubToken", "DataType", "AccessToken", "gistKey", "keys", "find", "gistUrl", "setGistUrl", "useState", "useEffect", "token", "gistId", "undefined", "timeout", "setTimeout", "octokit", "Octokit", "auth", "response", "request", "gist_id", "data", "html_url", "err", "log", "catch", "clearTimeout", "handleOpenTokenManager", "createIntent", "SettingsAction", "Open", "plugin", "publishing", "setPublishing", "handlePublish", "load", "filename", "kebabize", "files", "content", "meta", "githubKey", "public", "push", "p", "span", "Button", "onClick", "str", "replace", "$", "ofs", "toLowerCase", "ScriptPluginSettings", "settings", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Select", "editorInputMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorInputModes", "map", "mode", "Option", "key", "TestPanel", "classNames", "inputRef", "useRef", "input", "setInput", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "handleStop", "abort", "handleClear", "focus", "handleResponse", "text", "error", "handleRequest", "charAt", "validJsonString", "JSON", "parse", "stringify", "AbortController", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "json", "reader", "getReader", "pump", "done", "TextDecoder", "decode", "read", "then", "mx", "MessageThread", "ref", "Toolbar", "autoFocus", "ev", "onKeyDown", "Icon", "icon", "size", "forwardRef", "forwardedRef", "message", "i", "RobotAvatar", "MessageItem", "length", "wrapper", "errorText", "SyntaxHighlighter", "language", "Avatar", "variant", "ScriptContainer", "lazy", "DeploymentDialog"]
7
+ }
@@ -16,20 +16,21 @@ 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 chunk_DSFCLQ5F_exports = {};
20
- __export(chunk_DSFCLQ5F_exports, {
19
+ var chunk_K7PPLRVQ_exports = {};
20
+ __export(chunk_K7PPLRVQ_exports, {
21
21
  deployScript: () => deployScript,
22
22
  getFunctionUrl: () => getFunctionUrl,
23
23
  isScriptDeployed: () => isScriptDeployed,
24
24
  useCreateAndDeployScriptTemplates: () => useCreateAndDeployScriptTemplates
25
25
  });
26
- module.exports = __toCommonJS(chunk_DSFCLQ5F_exports);
27
- var import_chunk_PGEGRJP3 = require("./chunk-PGEGRJP3.cjs");
26
+ module.exports = __toCommonJS(chunk_K7PPLRVQ_exports);
27
+ var import_chunk_SXJGHLK6 = require("./chunk-SXJGHLK6.cjs");
28
28
  var import_functions = require("@dxos/functions");
29
29
  var import_log = require("@dxos/log");
30
30
  var import_echo = require("@dxos/react-client/echo");
31
31
  var import_functions2 = require("@dxos/functions");
32
32
  var import_bundler = require("@dxos/functions/bundler");
33
+ var import_edge = require("@dxos/functions/edge");
33
34
  var import_log2 = require("@dxos/log");
34
35
  var import_echo2 = require("@dxos/react-client/echo");
35
36
  var import_Function = require("effect/Function");
@@ -110,10 +111,10 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
110
111
  if (error || !bundle) {
111
112
  throw error || new Error("Bundle creation failed");
112
113
  }
113
- const { functionId, version, meta } = await (0, import_functions2.uploadWorkerFunction)({
114
+ const { functionId, version, meta } = await (0, import_edge.uploadWorkerFunction)({
114
115
  client,
115
- spaceId: space.id,
116
- version: fn ? (0, import_functions2.incrementSemverPatch)(fn.version) : "0.0.1",
116
+ ownerPublicKey: space.key,
117
+ version: fn ? (0, import_edge.incrementSemverPatch)(fn.version) : "0.0.1",
117
118
  functionId: existingFunctionId,
118
119
  source: bundle
119
120
  });
@@ -126,7 +127,7 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
126
127
  const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
127
128
  script.changed = false;
128
129
  updateFunctionMetadata(script, storedFunction, meta, functionId);
129
- const functionUrl = (0, import_functions2.makeFunctionUrl)(space.id, {
130
+ const functionUrl = (0, import_functions2.makeFunctionUrl)({
130
131
  functionId
131
132
  });
132
133
  (0, import_functions2.setUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(storedFunction), functionUrl);
@@ -137,7 +138,7 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
137
138
  } catch (err) {
138
139
  import_log2.log.catch(err, void 0, {
139
140
  F: __dxlog_file2,
140
- L: 80,
141
+ L: 79,
141
142
  S: void 0,
142
143
  C: (f, a) => f(...a)
143
144
  });
@@ -205,7 +206,7 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
205
206
  setStatus("pending");
206
207
  setError(void 0);
207
208
  const deploymentResults = await Promise.all(scriptTemplates.map(async (template) => {
208
- const result = await dispatch((0, import_Function.pipe)((0, import_app_framework.createIntent)(import_chunk_PGEGRJP3.ScriptAction.Create, {
209
+ const result = await dispatch((0, import_Function.pipe)((0, import_app_framework.createIntent)(import_chunk_SXJGHLK6.ScriptAction.Create, {
209
210
  space,
210
211
  initialTemplateId: template.id
211
212
  }), (0, import_app_framework.chain)(import_types.SpaceAction.AddObject, {
@@ -247,4 +248,4 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
247
248
  isScriptDeployed,
248
249
  useCreateAndDeployScriptTemplates
249
250
  });
250
- //# sourceMappingURL=chunk-DSFCLQ5F.cjs.map
251
+ //# sourceMappingURL=chunk-K7PPLRVQ.cjs.map