@dxos/plugin-script 0.8.2-main.f081794 → 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.
- package/dist/lib/browser/{DeploymentDialog-QEKJ54ZB.mjs → DeploymentDialog-W7PY33VN.mjs} +4 -4
- package/dist/lib/browser/{ScriptContainer-ATBYTIFH.mjs → ScriptContainer-6DYV7D65.mjs} +31 -19
- package/dist/lib/browser/ScriptContainer-6DYV7D65.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-2GIBRQLV.mjs → app-graph-builder-BFBTQPSP.mjs} +9 -9
- package/dist/lib/browser/app-graph-builder-BFBTQPSP.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-OEDM2SCN.mjs → artifact-definition-PD4UAAQZ.mjs} +41 -35
- package/dist/lib/browser/artifact-definition-PD4UAAQZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-6MLJJI73.mjs +40 -0
- package/dist/lib/browser/chunk-6MLJJI73.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QNXJNXQZ.mjs → chunk-BONEXAIK.mjs} +9 -9
- package/dist/lib/browser/chunk-BONEXAIK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EGDYE5MW.mjs → chunk-FFDJENAN.mjs} +84 -153
- package/dist/lib/browser/chunk-FFDJENAN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SXS6PUU5.mjs → chunk-INL55MFV.mjs} +7 -6
- package/dist/lib/browser/chunk-INL55MFV.mjs.map +7 -0
- package/dist/lib/browser/chunk-RTVU4RZW.mjs +87 -0
- package/dist/lib/browser/chunk-RTVU4RZW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-OZEMT3NO.mjs → chunk-YNOCAJYT.mjs} +2 -2
- package/dist/lib/browser/chunk-YNOCAJYT.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +13 -13
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-C5D6TNPC.mjs → intent-resolver-SXO6X6XQ.mjs} +11 -11
- package/dist/lib/browser/intent-resolver-SXO6X6XQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-XJCN7XXF.mjs → react-surface-TZGE7EGC.mjs} +10 -10
- package/dist/lib/browser/react-surface-TZGE7EGC.mjs.map +7 -0
- package/dist/lib/browser/{settings-NK4XVS2E.mjs → settings-EOKSUGB6.mjs} +2 -2
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/node/{DeploymentDialog-NUKZNILK.cjs → DeploymentDialog-43SI7XFL.cjs} +9 -9
- package/dist/lib/node/{DeploymentDialog-NUKZNILK.cjs.map → DeploymentDialog-43SI7XFL.cjs.map} +2 -2
- package/dist/lib/node/{ScriptContainer-OHHMLPUE.cjs → ScriptContainer-H56OW5FC.cjs} +31 -21
- package/dist/lib/node/ScriptContainer-H56OW5FC.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-LNI22TZF.cjs → app-graph-builder-IKOX7GHW.cjs} +12 -12
- package/dist/lib/node/app-graph-builder-IKOX7GHW.cjs.map +7 -0
- package/dist/lib/node/{artifact-definition-SEGATFNH.cjs → artifact-definition-C644EAYM.cjs} +47 -41
- package/dist/lib/node/artifact-definition-C644EAYM.cjs.map +7 -0
- package/dist/lib/node/{chunk-UUGLBCMY.cjs → chunk-7NNN3IUQ.cjs} +87 -154
- package/dist/lib/node/chunk-7NNN3IUQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-ZZ4HK5KM.cjs → chunk-HPBQHRM3.cjs} +12 -12
- package/dist/lib/node/chunk-HPBQHRM3.cjs.map +7 -0
- package/dist/lib/node/{chunk-DSFCLQ5F.cjs → chunk-K7PPLRVQ.cjs} +12 -11
- package/dist/lib/node/chunk-K7PPLRVQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-PGEGRJP3.cjs → chunk-SXJGHLK6.cjs} +16 -17
- package/dist/lib/node/chunk-SXJGHLK6.cjs.map +7 -0
- package/dist/lib/node/{chunk-PMGWL64F.cjs → chunk-VHSIOCS5.cjs} +6 -6
- package/dist/lib/node/chunk-VHSIOCS5.cjs.map +7 -0
- package/dist/lib/node/chunk-VNSZBEJW.cjs +91 -0
- package/dist/lib/node/chunk-VNSZBEJW.cjs.map +7 -0
- package/dist/lib/node/index.cjs +25 -25
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-BQPBRVHM.cjs → intent-resolver-PDSMZM2T.cjs} +20 -20
- package/dist/lib/node/intent-resolver-PDSMZM2T.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-5XHS5WYW.cjs → react-surface-BHHJQZ7P.cjs} +27 -27
- package/dist/lib/node/react-surface-BHHJQZ7P.cjs.map +7 -0
- package/dist/lib/node/{settings-7PVJBWC4.cjs → settings-425QHVGC.cjs} +7 -7
- package/dist/lib/node/types.cjs +3 -3
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/{DeploymentDialog-BIXZ5Q57.mjs → DeploymentDialog-2RRUJEBC.mjs} +4 -4
- package/dist/lib/node-esm/{ScriptContainer-4YWGWPY7.mjs → ScriptContainer-762FHDZ4.mjs} +31 -19
- package/dist/lib/node-esm/ScriptContainer-762FHDZ4.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-NNUXXXMZ.mjs → app-graph-builder-KZGKGSP6.mjs} +9 -9
- package/dist/lib/node-esm/app-graph-builder-KZGKGSP6.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-5UHIXXHW.mjs → artifact-definition-J6UM6BQF.mjs} +41 -35
- package/dist/lib/node-esm/artifact-definition-J6UM6BQF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4ISQLIIH.mjs → chunk-A3TXZHGD.mjs} +9 -9
- package/dist/lib/node-esm/chunk-A3TXZHGD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TN35DSTF.mjs → chunk-F47OE6ZM.mjs} +7 -6
- package/dist/lib/node-esm/chunk-F47OE6ZM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NNQXJQBG.mjs → chunk-NYA7KDN6.mjs} +84 -153
- package/dist/lib/node-esm/chunk-NYA7KDN6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GR4VTXVM.mjs → chunk-V733VFCJ.mjs} +2 -2
- package/dist/lib/node-esm/chunk-V733VFCJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-KGYTIL33.mjs → chunk-VMQPOPKV.mjs} +12 -13
- package/dist/lib/node-esm/chunk-VMQPOPKV.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YCTECQLY.mjs +89 -0
- package/dist/lib/node-esm/chunk-YCTECQLY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +13 -13
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-PPJKPHUQ.mjs → intent-resolver-WSAVLQY5.mjs} +11 -11
- package/dist/lib/node-esm/intent-resolver-WSAVLQY5.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-7ELFL7IO.mjs → react-surface-W7BM4PDK.mjs} +10 -10
- package/dist/lib/node-esm/react-surface-W7BM4PDK.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-SJYC4JLT.mjs → settings-BWSKKIVQ.mjs} +2 -2
- package/dist/lib/node-esm/types.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -177
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/hooks/deploy.d.ts +22 -19
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/format.d.ts +2 -5
- package/dist/types/src/hooks/format.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/template.d.ts +2 -5
- package/dist/types/src/hooks/template.d.ts.map +1 -1
- package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
- package/dist/types/src/templates/chat.d.ts +1 -1
- package/dist/types/src/templates/chat.d.ts.map +1 -1
- package/dist/types/src/templates/chess.d.ts.map +1 -1
- package/dist/types/src/templates/data-generator.d.ts.map +1 -1
- package/dist/types/src/templates/discord.d.ts.map +1 -1
- package/dist/types/src/templates/echo.d.ts +1 -1
- package/dist/types/src/templates/echo.d.ts.map +1 -1
- package/dist/types/src/templates/email.d.ts +1 -1
- package/dist/types/src/templates/email.d.ts.map +1 -1
- package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
- package/dist/types/src/templates/forex.d.ts.map +1 -1
- package/dist/types/src/templates/gmail.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -110
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +27 -26
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/util/deploy.d.ts.map +1 -1
- package/dist/types/src/util/functions.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +56 -50
- package/src/ScriptPlugin.tsx +3 -3
- package/src/capabilities/app-graph-builder.ts +46 -29
- package/src/capabilities/artifact-definition.ts +33 -30
- package/src/capabilities/intent-resolver.ts +5 -5
- package/src/capabilities/react-surface.tsx +5 -5
- package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +2 -2
- package/src/components/ScriptContainer.tsx +2 -2
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +16 -10
- package/src/components/Settings/ScriptObjectSettings.tsx +5 -5
- package/src/hooks/deploy.ts +61 -55
- package/src/hooks/format.ts +26 -26
- package/src/hooks/index.ts +0 -1
- package/src/hooks/template.ts +24 -32
- package/src/templates/chat.ts +3 -9
- package/src/templates/chess.ts +1 -6
- package/src/templates/data-generator.ts +1 -6
- package/src/templates/discord.ts +9 -9
- package/src/templates/echo.ts +1 -12
- package/src/templates/email.ts +8 -14
- package/src/templates/forex-effect.ts +2 -6
- package/src/templates/forex.ts +1 -5
- package/src/templates/gmail.ts +31 -24
- package/src/translations.ts +1 -1
- package/src/types.ts +13 -14
- package/src/util/deploy.ts +3 -4
- package/dist/lib/browser/ScriptContainer-ATBYTIFH.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-2GIBRQLV.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-OEDM2SCN.mjs.map +0 -7
- package/dist/lib/browser/chunk-EGDYE5MW.mjs.map +0 -7
- package/dist/lib/browser/chunk-OZEMT3NO.mjs.map +0 -7
- package/dist/lib/browser/chunk-QNXJNXQZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-SXS6PUU5.mjs.map +0 -7
- package/dist/lib/browser/chunk-XEPVXV72.mjs +0 -87
- package/dist/lib/browser/chunk-XEPVXV72.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZFTDU4WS.mjs +0 -41
- package/dist/lib/browser/chunk-ZFTDU4WS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-C5D6TNPC.mjs.map +0 -7
- package/dist/lib/browser/react-surface-XJCN7XXF.mjs.map +0 -7
- package/dist/lib/node/ScriptContainer-OHHMLPUE.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-LNI22TZF.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-SEGATFNH.cjs.map +0 -7
- package/dist/lib/node/chunk-4K23KEYT.cjs +0 -91
- package/dist/lib/node/chunk-4K23KEYT.cjs.map +0 -7
- package/dist/lib/node/chunk-DSFCLQ5F.cjs.map +0 -7
- package/dist/lib/node/chunk-PGEGRJP3.cjs.map +0 -7
- package/dist/lib/node/chunk-PMGWL64F.cjs.map +0 -7
- package/dist/lib/node/chunk-UUGLBCMY.cjs.map +0 -7
- package/dist/lib/node/chunk-ZZ4HK5KM.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-BQPBRVHM.cjs.map +0 -7
- package/dist/lib/node/react-surface-5XHS5WYW.cjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-4YWGWPY7.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-NNUXXXMZ.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-5UHIXXHW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4ISQLIIH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GR4VTXVM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KGYTIL33.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NNQXJQBG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TN35DSTF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-X64SI6XO.mjs +0 -89
- package/dist/lib/node-esm/chunk-X64SI6XO.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-PPJKPHUQ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-7ELFL7IO.mjs.map +0 -7
- package/dist/types/src/hooks/useToolbarAction.d.ts +0 -13
- package/dist/types/src/hooks/useToolbarAction.d.ts.map +0 -1
- package/src/hooks/useToolbarAction.ts +0 -50
- /package/dist/lib/browser/{DeploymentDialog-QEKJ54ZB.mjs.map → DeploymentDialog-W7PY33VN.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-NK4XVS2E.mjs.map → settings-EOKSUGB6.mjs.map} +0 -0
- /package/dist/lib/node/{settings-7PVJBWC4.cjs.map → settings-425QHVGC.cjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-BIXZ5Q57.mjs.map → DeploymentDialog-2RRUJEBC.mjs.map} +0 -0
- /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
|
|
30
|
-
__export(
|
|
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(
|
|
39
|
-
var
|
|
40
|
-
var
|
|
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
|
|
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,
|
|
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,
|
|
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.
|
|
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
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (!script.source
|
|
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
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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
|
-
|
|
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
|
|
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-
|
|
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": "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",
|
|
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
|
|
30
|
-
__export(
|
|
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(
|
|
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
|
|
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.
|
|
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,
|
|
86
|
-
const functionUrl = functionPath && (0,
|
|
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.
|
|
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-
|
|
497
|
-
var DeploymentDialog = (0, import_react4.lazy)(() => import("./DeploymentDialog-
|
|
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-
|
|
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
|
|
20
|
-
__export(
|
|
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(
|
|
27
|
-
var
|
|
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,
|
|
114
|
+
const { functionId, version, meta } = await (0, import_edge.uploadWorkerFunction)({
|
|
114
115
|
client,
|
|
115
|
-
|
|
116
|
-
version: fn ? (0,
|
|
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)(
|
|
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:
|
|
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)(
|
|
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-
|
|
251
|
+
//# sourceMappingURL=chunk-K7PPLRVQ.cjs.map
|