@dxos/plugin-script 0.7.5-labs.e27f9b9 → 0.7.5-labs.ea4b4c2
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/{AutomationPanel-OOIRJFPJ.mjs → AutomationPanel-J3SZ5L3Y.mjs} +3 -3
- package/dist/lib/browser/{ScriptContainer-EBER222J.mjs → ScriptContainer-AL4ZLJID.mjs} +91 -66
- package/dist/lib/browser/ScriptContainer-AL4ZLJID.mjs.map +7 -0
- package/dist/lib/browser/artifact-UOESRBEZ.mjs +243 -0
- package/dist/lib/browser/artifact-UOESRBEZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SJ4J527G.mjs → chunk-45LXDWNF.mjs} +2 -2
- package/dist/lib/browser/{chunk-ZM6T4HPR.mjs → chunk-6MOQ4BP3.mjs} +2 -2
- package/dist/lib/browser/{chunk-PEYUXEY6.mjs → chunk-ALQHMUJN.mjs} +6 -6
- package/dist/lib/browser/{chunk-PEYUXEY6.mjs.map → chunk-ALQHMUJN.mjs.map} +2 -2
- package/dist/lib/browser/chunk-FVVCAWNP.mjs +21 -0
- package/dist/lib/browser/chunk-FVVCAWNP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XPGBHZ3L.mjs → chunk-N46LE7FS.mjs} +2 -2
- package/dist/lib/browser/{compiler-HT53ILG7.mjs → compiler-YY2XSKHQ.mjs} +4 -6
- package/dist/lib/browser/compiler-YY2XSKHQ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +14 -14
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-G2REMZHC.mjs → intent-resolver-CMKQTLBG.mjs} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-GH4LL6CF.mjs → react-surface-YELZNYPR.mjs} +5 -5
- package/dist/lib/browser/{react-surface-GH4LL6CF.mjs.map → react-surface-YELZNYPR.mjs.map} +2 -2
- package/dist/lib/browser/{settings-YQQEU3DF.mjs → settings-SZCDKHWO.mjs} +3 -3
- package/dist/lib/browser/types.mjs +2 -2
- package/dist/lib/node/{AutomationPanel-EPRDDR3A.cjs → AutomationPanel-4M55FURO.cjs} +8 -8
- package/dist/lib/node/{ScriptContainer-UXMQLKDV.cjs → ScriptContainer-FKCNWHBW.cjs} +93 -66
- package/dist/lib/node/ScriptContainer-FKCNWHBW.cjs.map +7 -0
- package/dist/lib/node/artifact-PDTB4LV4.cjs +262 -0
- package/dist/lib/node/artifact-PDTB4LV4.cjs.map +7 -0
- package/dist/lib/node/{chunk-EFTZN5X7.cjs → chunk-5UH3F7TA.cjs} +8 -5
- package/dist/lib/node/chunk-5UH3F7TA.cjs.map +7 -0
- package/dist/lib/node/{chunk-A2DI2G4D.cjs → chunk-ALY3N6PW.cjs} +6 -6
- package/dist/lib/node/{chunk-6VKZJ4MH.cjs → chunk-DJGLGRQV.cjs} +6 -6
- package/dist/lib/node/{chunk-UAHKFS7F.cjs → chunk-F5Z3DMHA.cjs} +10 -10
- package/dist/lib/node/{chunk-UAHKFS7F.cjs.map → chunk-F5Z3DMHA.cjs.map} +2 -2
- package/dist/lib/node/{chunk-DQRAVZM7.cjs → chunk-IID7WUQS.cjs} +6 -6
- package/dist/lib/node/{compiler-457ZR24G.cjs → compiler-UIBLKJKG.cjs} +9 -9
- package/dist/lib/node/compiler-UIBLKJKG.cjs.map +7 -0
- package/dist/lib/node/index.cjs +33 -32
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-IWGK77AZ.cjs → intent-resolver-V5ASU5DW.cjs} +7 -7
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-3JKCVT5O.cjs → react-surface-SMMFAPZD.cjs} +18 -18
- package/dist/lib/node/{react-surface-3JKCVT5O.cjs.map → react-surface-SMMFAPZD.cjs.map} +2 -2
- package/dist/lib/node/{settings-NGHDYAVK.cjs → settings-SZFSMSKM.cjs} +9 -9
- package/dist/lib/node/types.cjs +4 -4
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/{AutomationPanel-DMLAGQS5.mjs → AutomationPanel-W6SKG35R.mjs} +3 -3
- package/dist/lib/node-esm/{ScriptContainer-56ES2HQ5.mjs → ScriptContainer-52KVAFUY.mjs} +91 -66
- package/dist/lib/node-esm/ScriptContainer-52KVAFUY.mjs.map +7 -0
- package/dist/lib/node-esm/artifact-IX4ZCTUF.mjs +245 -0
- package/dist/lib/node-esm/artifact-IX4ZCTUF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XUWS7OTK.mjs → chunk-CGF7EOGD.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-675XSDRN.mjs → chunk-CP5LXTK5.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-TYGM5YLW.mjs → chunk-GXRS4YIV.mjs} +6 -6
- package/dist/lib/node-esm/{chunk-TYGM5YLW.mjs.map → chunk-GXRS4YIV.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-BHP545D7.mjs → chunk-P2V2Y5LV.mjs} +5 -2
- package/dist/lib/node-esm/chunk-P2V2Y5LV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JHGOPQVO.mjs → chunk-UNQFIERE.mjs} +2 -2
- package/dist/lib/node-esm/{compiler-PEARFTFR.mjs → compiler-XTXFGZJM.mjs} +4 -6
- package/dist/lib/node-esm/compiler-XTXFGZJM.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +14 -14
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-KGADFH3H.mjs → intent-resolver-75BHFRUK.mjs} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-JW776PVP.mjs → react-surface-7PHSWVOU.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-JW776PVP.mjs.map → react-surface-7PHSWVOU.mjs.map} +2 -2
- package/dist/lib/node-esm/{settings-XGXDY4NI.mjs → settings-GR4O2WHZ.mjs} +3 -3
- package/dist/lib/node-esm/types.mjs +2 -2
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact.d.ts +11 -0
- package/dist/types/src/capabilities/artifact.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +1 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts +2 -2
- 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/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts.map +1 -0
- package/dist/types/src/hooks/format.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +7 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/{components/ScriptToolbar/templateSelect.d.ts → hooks/template.d.ts} +1 -1
- package/dist/types/src/hooks/template.d.ts.map +1 -0
- package/dist/types/src/{components/ScriptToolbar → hooks}/useToolbarAction.d.ts +1 -1
- package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -0
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -0
- package/dist/types/src/hooks/view.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -0
- package/dist/types/src/meta.d.ts.map +1 -1
- package/package.json +43 -42
- package/src/ScriptPlugin.tsx +6 -1
- package/src/capabilities/artifact.ts +219 -0
- package/src/capabilities/compiler.ts +1 -1
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/react-surface.tsx +2 -1
- package/src/components/FrameContainer/FrameContainer.tsx +1 -2
- package/src/components/ScriptContainer.tsx +10 -5
- package/src/components/ScriptSettingsPanel.tsx +2 -2
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +8 -6
- package/src/{components/ScriptToolbar → hooks}/deploy.ts +14 -3
- package/src/{components/ScriptToolbar → hooks}/format.ts +1 -1
- package/src/hooks/index.ts +11 -0
- package/src/{components/ScriptToolbar/templateSelect.ts → hooks/template.ts} +2 -2
- package/src/{components/ScriptToolbar → hooks}/useToolbarAction.ts +1 -1
- package/src/{components/ScriptToolbar → hooks}/view.ts +1 -1
- package/src/index.ts +0 -1
- package/src/meta.ts +3 -1
- package/dist/lib/browser/ScriptContainer-EBER222J.mjs.map +0 -7
- package/dist/lib/browser/chunk-5BU5ERNU.mjs +0 -18
- package/dist/lib/browser/chunk-5BU5ERNU.mjs.map +0 -7
- package/dist/lib/browser/chunk-SDHKTS6H.mjs +0 -237
- package/dist/lib/browser/chunk-SDHKTS6H.mjs.map +0 -7
- package/dist/lib/browser/compiler-HT53ILG7.mjs.map +0 -7
- package/dist/lib/node/ScriptContainer-UXMQLKDV.cjs.map +0 -7
- package/dist/lib/node/chunk-EFTZN5X7.cjs.map +0 -7
- package/dist/lib/node/chunk-T4TXCRN5.cjs +0 -260
- package/dist/lib/node/chunk-T4TXCRN5.cjs.map +0 -7
- package/dist/lib/node/compiler-457ZR24G.cjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-56ES2HQ5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BHP545D7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-G76M6O46.mjs +0 -239
- package/dist/lib/node-esm/chunk-G76M6O46.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-PEARFTFR.mjs.map +0 -7
- package/dist/types/src/bundler/bundler.d.ts +0 -39
- package/dist/types/src/bundler/bundler.d.ts.map +0 -1
- package/dist/types/src/bundler/bundler.test.d.ts +0 -2
- package/dist/types/src/bundler/bundler.test.d.ts.map +0 -1
- package/dist/types/src/bundler/index.d.ts +0 -2
- package/dist/types/src/bundler/index.d.ts.map +0 -1
- package/dist/types/src/components/ScriptToolbar/deploy.d.ts.map +0 -1
- package/dist/types/src/components/ScriptToolbar/format.d.ts.map +0 -1
- package/dist/types/src/components/ScriptToolbar/templateSelect.d.ts.map +0 -1
- package/dist/types/src/components/ScriptToolbar/useToolbarAction.d.ts.map +0 -1
- package/dist/types/src/components/ScriptToolbar/useToolbarState.d.ts.map +0 -1
- package/dist/types/src/components/ScriptToolbar/view.d.ts.map +0 -1
- package/src/bundler/bundler.test.ts +0 -55
- package/src/bundler/bundler.ts +0 -250
- package/src/bundler/index.ts +0 -5
- /package/dist/lib/browser/{AutomationPanel-OOIRJFPJ.mjs.map → AutomationPanel-J3SZ5L3Y.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-SJ4J527G.mjs.map → chunk-45LXDWNF.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-ZM6T4HPR.mjs.map → chunk-6MOQ4BP3.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-XPGBHZ3L.mjs.map → chunk-N46LE7FS.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-resolver-G2REMZHC.mjs.map → intent-resolver-CMKQTLBG.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-YQQEU3DF.mjs.map → settings-SZCDKHWO.mjs.map} +0 -0
- /package/dist/lib/node/{AutomationPanel-EPRDDR3A.cjs.map → AutomationPanel-4M55FURO.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-A2DI2G4D.cjs.map → chunk-ALY3N6PW.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-6VKZJ4MH.cjs.map → chunk-DJGLGRQV.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-DQRAVZM7.cjs.map → chunk-IID7WUQS.cjs.map} +0 -0
- /package/dist/lib/node/{intent-resolver-IWGK77AZ.cjs.map → intent-resolver-V5ASU5DW.cjs.map} +0 -0
- /package/dist/lib/node/{settings-NGHDYAVK.cjs.map → settings-SZFSMSKM.cjs.map} +0 -0
- /package/dist/lib/node-esm/{AutomationPanel-DMLAGQS5.mjs.map → AutomationPanel-W6SKG35R.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-XUWS7OTK.mjs.map → chunk-CGF7EOGD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-675XSDRN.mjs.map → chunk-CP5LXTK5.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-JHGOPQVO.mjs.map → chunk-UNQFIERE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-resolver-KGADFH3H.mjs.map → intent-resolver-75BHFRUK.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-XGXDY4NI.mjs.map → settings-GR4O2WHZ.mjs.map} +0 -0
- /package/dist/types/src/{components/ScriptToolbar → hooks}/deploy.d.ts +0 -0
- /package/dist/types/src/{components/ScriptToolbar → hooks}/format.d.ts +0 -0
- /package/dist/types/src/{components/ScriptToolbar → hooks}/useToolbarState.d.ts +0 -0
- /package/dist/types/src/{components/ScriptToolbar → hooks}/view.d.ts +0 -0
- /package/src/{components/ScriptToolbar → hooks}/useToolbarState.ts +0 -0
|
@@ -26,16 +26,15 @@ 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 ScriptContainer_FKCNWHBW_exports = {};
|
|
30
|
+
__export(ScriptContainer_FKCNWHBW_exports, {
|
|
31
31
|
ScriptContainer: () => ScriptContainer,
|
|
32
32
|
default: () => ScriptContainer_default
|
|
33
33
|
});
|
|
34
|
-
module.exports = __toCommonJS(
|
|
35
|
-
var import_chunk_T4TXCRN5 = require("./chunk-T4TXCRN5.cjs");
|
|
34
|
+
module.exports = __toCommonJS(ScriptContainer_FKCNWHBW_exports);
|
|
36
35
|
var import_chunk_PKT5DD3O = require("./chunk-PKT5DD3O.cjs");
|
|
37
|
-
var
|
|
38
|
-
var
|
|
36
|
+
var import_chunk_IID7WUQS = require("./chunk-IID7WUQS.cjs");
|
|
37
|
+
var import_chunk_5UH3F7TA = require("./chunk-5UH3F7TA.cjs");
|
|
39
38
|
var import_react = __toESM(require("react"));
|
|
40
39
|
var import_echo = require("@dxos/react-client/echo");
|
|
41
40
|
var import_halo = require("@dxos/react-client/halo");
|
|
@@ -49,6 +48,7 @@ var import_react_ui_editor2 = require("@dxos/react-ui-editor");
|
|
|
49
48
|
var import_react_ui_menu = require("@dxos/react-ui-menu");
|
|
50
49
|
var import_react3 = require("react");
|
|
51
50
|
var import_functions = require("@dxos/functions");
|
|
51
|
+
var import_bundler = require("@dxos/functions/bundler");
|
|
52
52
|
var import_log = require("@dxos/log");
|
|
53
53
|
var import_react_client = require("@dxos/react-client");
|
|
54
54
|
var import_echo3 = require("@dxos/react-client/echo");
|
|
@@ -64,9 +64,9 @@ var import_react5 = require("react");
|
|
|
64
64
|
var import_functions2 = require("@dxos/functions");
|
|
65
65
|
var import_live_object = require("@dxos/live-object");
|
|
66
66
|
var import_react_ui_menu4 = require("@dxos/react-ui-menu");
|
|
67
|
+
var import_react_ui_menu5 = require("@dxos/react-ui-menu");
|
|
67
68
|
var import_react6 = require("react");
|
|
68
69
|
var import_log3 = require("@dxos/log");
|
|
69
|
-
var import_react_ui_menu5 = require("@dxos/react-ui-menu");
|
|
70
70
|
var import_react7 = require("react");
|
|
71
71
|
var import_live_object2 = require("@dxos/live-object");
|
|
72
72
|
var import_lang_javascript = require("@codemirror/lang-javascript");
|
|
@@ -81,13 +81,13 @@ var import_react8 = __toESM(require("react"));
|
|
|
81
81
|
var import_react_ui3 = require("@dxos/react-ui");
|
|
82
82
|
var import_react_ui_editor3 = require("@dxos/react-ui-editor");
|
|
83
83
|
var import_util = require("@dxos/util");
|
|
84
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/
|
|
84
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/deploy.ts";
|
|
85
85
|
var createDeploy = (state) => {
|
|
86
86
|
const errorItem = (0, import_react_ui_menu2.createMenuAction)("error", {
|
|
87
87
|
label: state.error ?? [
|
|
88
88
|
"no error label",
|
|
89
89
|
{
|
|
90
|
-
ns:
|
|
90
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
91
91
|
}
|
|
92
92
|
],
|
|
93
93
|
icon: "ph--warning-circle--regular",
|
|
@@ -98,7 +98,7 @@ var createDeploy = (state) => {
|
|
|
98
98
|
label: [
|
|
99
99
|
state.deploying ? "pending label" : "deploy label",
|
|
100
100
|
{
|
|
101
|
-
ns:
|
|
101
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
102
102
|
}
|
|
103
103
|
],
|
|
104
104
|
icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
|
|
@@ -110,7 +110,7 @@ var createDeploy = (state) => {
|
|
|
110
110
|
label: [
|
|
111
111
|
"copy link label",
|
|
112
112
|
{
|
|
113
|
-
ns:
|
|
113
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
114
114
|
}
|
|
115
115
|
],
|
|
116
116
|
icon: "ph--link--regular",
|
|
@@ -182,7 +182,7 @@ var useDeployHandler = ({ state, script }) => {
|
|
|
182
182
|
state,
|
|
183
183
|
script
|
|
184
184
|
});
|
|
185
|
-
const { t } = (0, import_react_ui2.useTranslation)(
|
|
185
|
+
const { t } = (0, import_react_ui2.useTranslation)(import_chunk_5UH3F7TA.SCRIPT_PLUGIN);
|
|
186
186
|
return (0, import_react3.useCallback)(async () => {
|
|
187
187
|
if (!script.source || !space) {
|
|
188
188
|
return;
|
|
@@ -191,7 +191,7 @@ var useDeployHandler = ({ state, script }) => {
|
|
|
191
191
|
state.deploying = true;
|
|
192
192
|
try {
|
|
193
193
|
const existingFunctionId = existingFunctionUrl?.split("/").at(-1);
|
|
194
|
-
const bundler = new
|
|
194
|
+
const bundler = new import_bundler.Bundler({
|
|
195
195
|
platform: "browser",
|
|
196
196
|
sandboxedModules: [],
|
|
197
197
|
remoteModules: {}
|
|
@@ -228,7 +228,20 @@ var useDeployHandler = ({ state, script }) => {
|
|
|
228
228
|
source: (0, import_echo3.makeRef)(script)
|
|
229
229
|
}));
|
|
230
230
|
script.changed = false;
|
|
231
|
-
|
|
231
|
+
if (script.description !== void 0 && script.description.trim() !== "") {
|
|
232
|
+
deployedFunction.description = script.description;
|
|
233
|
+
} else if (meta.description) {
|
|
234
|
+
deployedFunction.description = meta.description;
|
|
235
|
+
} else {
|
|
236
|
+
import_log.log.verbose("no description in function metadata", {
|
|
237
|
+
functionId
|
|
238
|
+
}, {
|
|
239
|
+
F: __dxlog_file,
|
|
240
|
+
L: 138,
|
|
241
|
+
S: void 0,
|
|
242
|
+
C: (f, a) => f(...a)
|
|
243
|
+
});
|
|
244
|
+
}
|
|
232
245
|
if (meta.inputSchema) {
|
|
233
246
|
deployedFunction.inputSchema = meta.inputSchema;
|
|
234
247
|
} else {
|
|
@@ -236,7 +249,19 @@ var useDeployHandler = ({ state, script }) => {
|
|
|
236
249
|
functionId
|
|
237
250
|
}, {
|
|
238
251
|
F: __dxlog_file,
|
|
239
|
-
L:
|
|
252
|
+
L: 144,
|
|
253
|
+
S: void 0,
|
|
254
|
+
C: (f, a) => f(...a)
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
if (meta.outputSchema) {
|
|
258
|
+
deployedFunction.outputSchema = meta.outputSchema;
|
|
259
|
+
} else {
|
|
260
|
+
import_log.log.verbose("no output schema in function metadata", {
|
|
261
|
+
functionId
|
|
262
|
+
}, {
|
|
263
|
+
F: __dxlog_file,
|
|
264
|
+
L: 149,
|
|
240
265
|
S: void 0,
|
|
241
266
|
C: (f, a) => f(...a)
|
|
242
267
|
});
|
|
@@ -246,7 +271,7 @@ var useDeployHandler = ({ state, script }) => {
|
|
|
246
271
|
} catch (err) {
|
|
247
272
|
import_log.log.catch(err, void 0, {
|
|
248
273
|
F: __dxlog_file,
|
|
249
|
-
L:
|
|
274
|
+
L: 156,
|
|
250
275
|
S: void 0,
|
|
251
276
|
C: (f, a) => f(...a)
|
|
252
277
|
});
|
|
@@ -272,13 +297,13 @@ var useCopyHandler = ({ state }) => (0, import_react3.useCallback)(async () => {
|
|
|
272
297
|
}, [
|
|
273
298
|
state.functionUrl
|
|
274
299
|
]);
|
|
275
|
-
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/
|
|
300
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/format.ts";
|
|
276
301
|
var createFormat = () => {
|
|
277
302
|
const formatAction = (0, import_react_ui_menu3.createMenuAction)("format", {
|
|
278
303
|
label: [
|
|
279
304
|
"format label",
|
|
280
305
|
{
|
|
281
|
-
ns:
|
|
306
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
282
307
|
}
|
|
283
308
|
],
|
|
284
309
|
icon: "ph--magic-wand--regular"
|
|
@@ -325,7 +350,7 @@ var createTemplateSelectGroup = () => {
|
|
|
325
350
|
label: [
|
|
326
351
|
"template select group label",
|
|
327
352
|
{
|
|
328
|
-
ns:
|
|
353
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
329
354
|
}
|
|
330
355
|
],
|
|
331
356
|
variant: "dropdownMenu"
|
|
@@ -382,44 +407,6 @@ var useTemplateSelectHandler = ({ script }) => {
|
|
|
382
407
|
script
|
|
383
408
|
]);
|
|
384
409
|
};
|
|
385
|
-
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/components/ScriptToolbar/useToolbarAction.ts";
|
|
386
|
-
var useToolbarAction = (props) => {
|
|
387
|
-
const handleTemplateSelect = useTemplateSelectHandler(props);
|
|
388
|
-
const handleFormat = useFormatHandler(props);
|
|
389
|
-
const handleDeploy = useDeployHandler(props);
|
|
390
|
-
const handleCopy = useCopyHandler(props);
|
|
391
|
-
return (0, import_react6.useCallback)((action) => {
|
|
392
|
-
switch (action.properties.type) {
|
|
393
|
-
case "template":
|
|
394
|
-
handleTemplateSelect(action.properties.value);
|
|
395
|
-
break;
|
|
396
|
-
case "view":
|
|
397
|
-
props.state.view = action.properties.value;
|
|
398
|
-
break;
|
|
399
|
-
case "format":
|
|
400
|
-
void handleFormat();
|
|
401
|
-
break;
|
|
402
|
-
case "deploy":
|
|
403
|
-
void handleDeploy();
|
|
404
|
-
break;
|
|
405
|
-
case "copy":
|
|
406
|
-
void handleCopy();
|
|
407
|
-
break;
|
|
408
|
-
default:
|
|
409
|
-
import_log3.log.error("Unknown action type", action, {
|
|
410
|
-
F: __dxlog_file3,
|
|
411
|
-
L: 49,
|
|
412
|
-
S: void 0,
|
|
413
|
-
C: (f, a) => f(...a)
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
}, [
|
|
417
|
-
handleTemplateSelect,
|
|
418
|
-
handleFormat,
|
|
419
|
-
handleDeploy,
|
|
420
|
-
handleCopy
|
|
421
|
-
]);
|
|
422
|
-
};
|
|
423
410
|
var views = {
|
|
424
411
|
editor: "ph--code--regular",
|
|
425
412
|
split: "ph--square-split-vertical--regular",
|
|
@@ -430,7 +417,7 @@ var createViewGroupItem = (state) => {
|
|
|
430
417
|
label: [
|
|
431
418
|
"view group label",
|
|
432
419
|
{
|
|
433
|
-
ns:
|
|
420
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
434
421
|
}
|
|
435
422
|
],
|
|
436
423
|
variant: "dropdownMenu",
|
|
@@ -446,7 +433,7 @@ var createViewActions = (state) => {
|
|
|
446
433
|
label: [
|
|
447
434
|
`view ${viewType} label`,
|
|
448
435
|
{
|
|
449
|
-
ns:
|
|
436
|
+
ns: import_chunk_5UH3F7TA.SCRIPT_PLUGIN
|
|
450
437
|
}
|
|
451
438
|
],
|
|
452
439
|
icon,
|
|
@@ -474,6 +461,47 @@ var createView = (state) => {
|
|
|
474
461
|
]
|
|
475
462
|
};
|
|
476
463
|
};
|
|
464
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/hooks/useToolbarAction.ts";
|
|
465
|
+
var useToolbarAction = (props) => {
|
|
466
|
+
const handleTemplateSelect = useTemplateSelectHandler(props);
|
|
467
|
+
const handleFormat = useFormatHandler(props);
|
|
468
|
+
const handleDeploy = useDeployHandler(props);
|
|
469
|
+
const handleCopy = useCopyHandler(props);
|
|
470
|
+
return (0, import_react6.useCallback)((action) => {
|
|
471
|
+
switch (action.properties.type) {
|
|
472
|
+
case "template":
|
|
473
|
+
handleTemplateSelect(action.properties.value);
|
|
474
|
+
break;
|
|
475
|
+
case "view":
|
|
476
|
+
props.state.view = action.properties.value;
|
|
477
|
+
break;
|
|
478
|
+
case "format":
|
|
479
|
+
void handleFormat();
|
|
480
|
+
break;
|
|
481
|
+
case "deploy":
|
|
482
|
+
void handleDeploy();
|
|
483
|
+
break;
|
|
484
|
+
case "copy":
|
|
485
|
+
void handleCopy();
|
|
486
|
+
break;
|
|
487
|
+
default:
|
|
488
|
+
import_log3.log.error("Unknown action type", action, {
|
|
489
|
+
F: __dxlog_file3,
|
|
490
|
+
L: 49,
|
|
491
|
+
S: void 0,
|
|
492
|
+
C: (f, a) => f(...a)
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
}, [
|
|
496
|
+
handleTemplateSelect,
|
|
497
|
+
handleFormat,
|
|
498
|
+
handleDeploy,
|
|
499
|
+
handleCopy
|
|
500
|
+
]);
|
|
501
|
+
};
|
|
502
|
+
var useToolbarState = (initialState = {}) => {
|
|
503
|
+
return (0, import_react7.useMemo)(() => (0, import_live_object2.create)(initialState), []);
|
|
504
|
+
};
|
|
477
505
|
var createToolbar = (state) => {
|
|
478
506
|
const templateSelect = createTemplateSelect();
|
|
479
507
|
const format2 = createFormat();
|
|
@@ -519,9 +547,6 @@ var ScriptToolbar = ({ script, role, state, classNames }) => {
|
|
|
519
547
|
classNames
|
|
520
548
|
}))));
|
|
521
549
|
};
|
|
522
|
-
var useToolbarState = (initialState = {}) => {
|
|
523
|
-
return (0, import_react7.useMemo)(() => (0, import_live_object2.create)(initialState), []);
|
|
524
|
-
};
|
|
525
550
|
var TypescriptEditor = ({ id, env, className, initialValue, extensions, scrollTo, selection, toolbar, inputMode = "vscode" }) => {
|
|
526
551
|
const { themeMode } = (0, import_react_ui3.useThemeContext)();
|
|
527
552
|
const { parentRef, focusAttributes } = (0, import_react_ui_editor3.useTextEditor)(() => ({
|
|
@@ -629,7 +654,9 @@ var createTooltipRenderer = (themeMode) => {
|
|
|
629
654
|
};
|
|
630
655
|
};
|
|
631
656
|
};
|
|
632
|
-
var ScriptContainer = ({ role, classNames, script, settings
|
|
657
|
+
var ScriptContainer = ({ role, classNames, script, settings = {
|
|
658
|
+
editorInputMode: "vscode"
|
|
659
|
+
}, env }) => {
|
|
633
660
|
const identity = (0, import_halo.useIdentity)();
|
|
634
661
|
const space = (0, import_echo.getSpace)(script);
|
|
635
662
|
const extensions = (0, import_react.useMemo)(() => [
|
|
@@ -655,7 +682,7 @@ var ScriptContainer = ({ role, classNames, script, settings, env }) => {
|
|
|
655
682
|
identity
|
|
656
683
|
]);
|
|
657
684
|
const state = useToolbarState({
|
|
658
|
-
view: "
|
|
685
|
+
view: "editor"
|
|
659
686
|
});
|
|
660
687
|
useDeployState({
|
|
661
688
|
state,
|
|
@@ -678,7 +705,7 @@ var ScriptContainer = ({ role, classNames, script, settings, env }) => {
|
|
|
678
705
|
className: (0, import_react_ui_editor.stackItemContentEditorClassNames)(role),
|
|
679
706
|
inputMode: settings.editorInputMode,
|
|
680
707
|
toolbar: true
|
|
681
|
-
}), state.view !== "editor" && /* @__PURE__ */ import_react.default.createElement(
|
|
708
|
+
}), state.view !== "editor" && /* @__PURE__ */ import_react.default.createElement(import_chunk_IID7WUQS.DebugPanel, {
|
|
682
709
|
functionUrl: state.functionUrl
|
|
683
710
|
})));
|
|
684
711
|
};
|
|
@@ -687,4 +714,4 @@ var ScriptContainer_default = ScriptContainer;
|
|
|
687
714
|
0 && (module.exports = {
|
|
688
715
|
ScriptContainer
|
|
689
716
|
});
|
|
690
|
-
//# sourceMappingURL=ScriptContainer-
|
|
717
|
+
//# sourceMappingURL=ScriptContainer-FKCNWHBW.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ScriptContainer.tsx", "../../../src/components/ScriptToolbar/ScriptToolbar.tsx", "../../../src/hooks/deploy.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/view.ts", "../../../src/hooks/useToolbarAction.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/components/TypescriptEditor/TypescriptEditor.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { createDocAccessor, getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { createDataExtensions, listener, stackItemContentEditorClassNames } from '@dxos/react-ui-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { DebugPanel } from './DebugPanel';\nimport { ScriptToolbar } from './ScriptToolbar';\nimport { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';\nimport { useDeployState, useToolbarState } from '../hooks';\nimport { type ScriptSettingsProps } from '../types';\n\nexport type ScriptEditorProps = ThemedClassName<{\n script: ScriptType;\n settings?: ScriptSettingsProps;\n role?: string;\n}> &\n Pick<TypescriptEditorProps, 'env'>;\n\nexport const ScriptContainer = ({\n role,\n classNames,\n script,\n settings = { editorInputMode: 'vscode' },\n env,\n}: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n\n const extensions = useMemo(\n () => [\n listener({\n onChange: (text) => {\n if (script.source.target && script.source.target.content !== text) {\n script.changed = true;\n }\n },\n }),\n createDataExtensions({\n id: script.id,\n text: script.source.target && createDocAccessor(script.source.target, ['content']),\n space,\n identity,\n }),\n ],\n [script, script.source.target, space, identity],\n );\n\n const state = useToolbarState({ view: 'editor' });\n useDeployState({ state, script });\n\n return (\n <StackItem.Content toolbar>\n <ScriptToolbar state={state} role={role} script={script} />\n <div role='none' className={mx('flex flex-col w-full overflow-hidden divide-y divide-separator', classNames)}>\n {state.view !== 'debug' && (\n <TypescriptEditor\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n className={stackItemContentEditorClassNames(role)}\n inputMode={settings.editorInputMode}\n toolbar\n />\n )}\n\n {state.view !== 'editor' && <DebugPanel functionUrl={state.functionUrl} />}\n </div>\n </StackItem.Content>\n );\n};\n\nexport default ScriptContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { ElevationProvider, type ThemedClassName } from '@dxos/react-ui';\nimport { stackItemContentToolbarClassNames } from '@dxos/react-ui-editor';\nimport { createGapSeparator, MenuProvider, ToolbarMenu, useMenuActions } from '@dxos/react-ui-menu';\n\nimport {\n type ScriptToolbarState,\n createDeploy,\n createFormat,\n createTemplateSelect,\n createView,\n useToolbarAction,\n} from '../../hooks';\n\nexport type ScriptToolbarProps = ThemedClassName<{\n role?: string;\n script: ScriptType;\n state: ScriptToolbarState;\n}>;\n\nconst createToolbar = (state: ScriptToolbarState) => {\n const templateSelect = createTemplateSelect();\n const format = createFormat();\n const gap = createGapSeparator();\n const deploy = createDeploy(state);\n const view = createView(state);\n return {\n nodes: [...templateSelect.nodes, ...format.nodes, ...gap.nodes, ...deploy.nodes, ...view.nodes],\n edges: [...templateSelect.edges, ...format.edges, ...gap.edges, ...deploy.edges, ...view.edges],\n };\n};\n\nexport const ScriptToolbar = ({ script, role, state, classNames }: ScriptToolbarProps) => {\n const handleAction = useToolbarAction({ state, script });\n const toolbarCreator = useCallback(() => createToolbar(state), [state]);\n const menu = useMenuActions(toolbarCreator);\n return (\n <div role='none' className={stackItemContentToolbarClassNames(role)}>\n <ElevationProvider elevation={role === 'section' ? 'positioned' : 'base'}>\n <MenuProvider {...menu} onAction={handleAction} attendableId={fullyQualifiedId(script)}>\n <ToolbarMenu classNames={classNames} />\n </MenuProvider>\n </ElevationProvider>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport {\n FunctionType,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n incrementSemverPatch,\n type ScriptType,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, create, getMeta, getSpace, makeRef, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { type ViewState } from './view';\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = ViewState & {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport const createDeploy = (state: Partial<DeployState>) => {\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 });\n\n const deployAction = createMenuAction<DeployActionProperties>('deploy', {\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 const copyAction = createMenuAction<DeployActionProperties>('copy', {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\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\nconst useDeployDeps = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Filter.schema(FunctionType, { source: script }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, existingFunctionUrl } = useDeployDeps({ state, script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n }, [existingFunctionUrl, space]);\n\n useEffect(() => {\n state.deployed = Boolean(existingFunctionUrl) && !script.changed;\n }, [script.changed, existingFunctionUrl]);\n};\n\nexport const useDeployHandler = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, fn, client, existingFunctionUrl } = useDeployDeps({ state, script });\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n return useCallback(async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n try {\n const existingFunctionId = existingFunctionUrl?.split('/').at(-1);\n\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle(script.source.target!.content);\n if (buildResult.error || !buildResult.bundle) {\n throw buildResult.error;\n }\n\n const { functionId, version, meta } = await uploadWorkerFunction({\n client,\n spaceId: space.id,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n source: buildResult.bundle,\n });\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);\n }\n\n log.info('function uploaded', { functionId, version });\n if (fn) {\n fn.version = version;\n }\n\n const deployedFunction =\n fn ?? space.db.add(create(FunctionType, { name: functionId, version, source: makeRef(script) }));\n\n script.changed = false;\n if (script.description !== undefined && script.description.trim() !== '') {\n deployedFunction.description = script.description;\n } else if (meta.description) {\n deployedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n deployedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n if (meta.outputSchema) {\n deployedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);\n\n state.view = 'split';\n } catch (err: any) {\n log.catch(err);\n state.error = t('upload failed label');\n }\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, script.name, script.source, space?.id ?? null]);\n};\n\nexport const useCopyHandler = ({ state }: { state: Partial<DeployState> }) =>\n useCallback(async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n }, [state.functionUrl]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\nimport { useCallback } from 'react';\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 = () => {\n const formatAction = createMenuAction('format', {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n });\n\n return {\n nodes: [formatAction],\n edges: [{ source: 'root', target: 'format' }],\n };\n};\n\nexport const useFormatHandler = ({ script }: { script: ScriptType }) =>\n useCallback(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 }, [script.source]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\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 = () => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(`template--${template.id}`, {\n label: template.name,\n value: template.id,\n type: 'template',\n });\n });\n};\n\nexport const createTemplateSelect = () => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions();\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\nexport const useTemplateSelectHandler = ({ script }: { script: ScriptType }) => {\n return useCallback(\n (templateId: string) => {\n const template = templates.find((template) => template.id === templateId);\n if (template) {\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 [script],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type ViewType = 'editor' | 'split' | 'debug';\n\nexport type ViewState = { view: ViewType };\n\nexport type ViewActionProperties = { type: 'view'; value: ViewType };\n\nconst views: Record<ViewType, string> = {\n editor: 'ph--code--regular',\n split: 'ph--square-split-vertical--regular',\n debug: 'ph--bug--regular',\n};\n\nconst createViewGroupItem = (state: Partial<ViewState>) => {\n return createMenuItemGroup('view', {\n label: ['view group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n applyActive: true,\n value: state.view,\n });\n};\n\nconst createViewActions = (state: Partial<ViewState>) => {\n return Object.entries(views).map(([viewType, icon]) => {\n return createMenuAction<ViewActionProperties>(`view--${viewType}`, {\n type: 'view',\n value: viewType as ViewType,\n label: [`view ${viewType} label`, { ns: SCRIPT_PLUGIN }],\n icon,\n checked: state.view === viewType,\n });\n });\n};\n\nexport const createView = (state: Partial<ViewState>) => {\n const viewGroupItem = createViewGroupItem(state);\n const viewActions = createViewActions(state);\n return {\n nodes: [viewGroupItem, ...viewActions],\n edges: [\n { source: 'root', target: 'view' },\n ...viewActions.map((action) => ({ source: 'view', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type MenuAction, type MenuActionHandler } from '@dxos/react-ui-menu';\n\nimport { type DeployActionProperties, useDeployHandler, useCopyHandler } from './deploy';\nimport { type FormatActionProperties, useFormatHandler } from './format';\nimport { type TemplateActionProperties, useTemplateSelectHandler } from './template';\nimport { type ScriptToolbarState } from './useToolbarState';\nimport { type ViewActionProperties } from './view';\n\nexport type ScriptToolbarActionProperties =\n | TemplateActionProperties\n | ViewActionProperties\n | FormatActionProperties\n | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: { state: ScriptToolbarState; script: ScriptType }) => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n return useCallback(\n ((action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'view':\n props.state.view = action.properties.value;\n break;\n case 'format':\n void handleFormat();\n break;\n case 'deploy':\n void handleDeploy();\n break;\n case 'copy':\n void handleCopy();\n break;\n default:\n log.error('Unknown action type', action);\n }\n }) as MenuActionHandler,\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { create } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\nimport { type ViewState } from './view';\n\nexport type ScriptToolbarState = Partial<DeployState & ViewState>;\n\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => create<ScriptToolbarState>(initialState), []);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { javascript } from '@codemirror/lang-javascript';\nimport { defaultHighlightStyle } from '@codemirror/language';\nimport { Prec } from '@codemirror/state';\nimport { oneDarkHighlightStyle } from '@codemirror/theme-one-dark';\nimport { keymap } from '@codemirror/view';\nimport { tags } from '@lezer/highlight';\nimport { type VirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport { continueKeymap } from '@valtown/codemirror-continue';\nimport { tsSync, tsFacet, tsLinter, tsAutocomplete, tsHover, type HoverInfo } from '@valtown/codemirror-ts';\nimport React from 'react';\n\nimport { type ThemeMode, useThemeContext } from '@dxos/react-ui';\nimport {\n autocomplete,\n createBasicExtensions,\n createThemeExtensions,\n editorFullWidth,\n type EditorInputMode,\n editorMonospace,\n EditorView,\n folding,\n InputModeExtensions,\n useTextEditor,\n type UseTextEditorProps,\n} from '@dxos/react-ui-editor';\nimport { nonNullable } from '@dxos/util';\n\nexport type TypescriptEditorProps = {\n id: string;\n inputMode?: EditorInputMode;\n env?: VirtualTypeScriptEnvironment;\n toolbar?: boolean;\n} & Pick<UseTextEditorProps, 'className' | 'initialValue' | 'extensions' | 'scrollTo' | 'selection'>;\n\nexport const TypescriptEditor = ({\n id,\n env,\n className,\n initialValue,\n extensions,\n scrollTo,\n selection,\n toolbar,\n inputMode = 'vscode',\n}: TypescriptEditorProps) => {\n const { themeMode } = useThemeContext();\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n id,\n initialValue,\n extensions: [\n extensions,\n createBasicExtensions({\n highlightActiveLine: true,\n indentWithTab: true,\n lineNumbers: true,\n lineWrapping: false,\n scrollPastEnd: true,\n }),\n createThemeExtensions({\n themeMode,\n syntaxHighlighting: true,\n slots: {\n content: { className: editorFullWidth },\n },\n }),\n // NOTE: Not using default editor gutter because folding for code works best right beside text.\n EditorView.theme({\n '.cm-gutters': {\n // Match margin from content.\n marginTop: '16px',\n },\n }),\n InputModeExtensions[inputMode],\n folding(),\n // Continues block comments when you hit Enter.\n Prec.high(keymap.of(continueKeymap)),\n // TODO(burdon): Factor out.\n [\n editorMonospace,\n javascript({ typescript: true }),\n // https://github.com/val-town/codemirror-ts\n autocomplete({ override: env ? [tsAutocomplete()] : [] }),\n env\n ? [\n tsFacet.of({ env, path: `/src/${id}.ts` }),\n tsSync(),\n tsLinter(),\n tsHover({ renderTooltip: createTooltipRenderer(themeMode) }),\n ]\n : [],\n ],\n ].filter(nonNullable),\n selection,\n scrollTo,\n }),\n [id, extensions, themeMode, inputMode, selection, scrollTo],\n );\n\n return (\n <div ref={parentRef} data-toolbar={toolbar ? 'enabled' : 'disabled'} className={className} {...focusAttributes} />\n );\n};\n\nconst createTooltipRenderer = (themeMode: ThemeMode) => {\n const theme = themeMode === 'dark' ? oneDarkHighlightStyle : defaultHighlightStyle;\n\n const classFromKind = (_kind: string) => {\n // E.g., localName, methodName, parameterName, etc.\n const kind = _kind.endsWith('Name') ? 'name' : _kind;\n const validTag = kind in tags;\n if (!validTag) {\n return '';\n }\n\n const tag = tags[kind as keyof typeof tags];\n if (typeof tag === 'function') {\n return '';\n }\n\n return theme.style([tag]) ?? '';\n };\n\n return (info: HoverInfo) => {\n const div = document.createElement('div');\n div.className = 'p-1 rounded border border-separator bg-baseSurface xs:max-w-80 max-w-lg';\n\n if (info.quickInfo?.displayParts) {\n for (const part of info.quickInfo.displayParts) {\n const span = div.appendChild(document.createElement('span'));\n span.className = classFromKind(part.kind);\n span.innerText = part.text;\n }\n }\n\n return { dom: div };\n };\n};\n\nexport default TypescriptEditor;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_echo", "import_react_ui_editor", "import_react_ui", "import_react_ui_menu", "import_log", "import_functions", "import_live_object", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "deployAction", "type", "deploying", "disabled", "classNames", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployDeps", "script", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "client", "useClient", "existingFunctionUrl", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployState", "useEffect", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "deployed", "Boolean", "changed", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "existingFunctionId", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "bundle", "content", "functionId", "version", "meta", "uploadWorkerFunction", "incrementSemverPatch", "Error", "log", "info", "deployedFunction", "db", "add", "create", "name", "makeRef", "description", "trim", "verbose", "inputSchema", "outputSchema", "setUserFunctionUrlInMetadata", "view", "err", "catch", "useCopyHandler", "navigator", "clipboard", "writeText", "createFormat", "formatAction", "useFormatHandler", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "createTemplateSelectGroup", "createMenuItemGroup", "variant", "createTemplateSelectActions", "templates", "map", "template", "value", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "action", "useTemplateSelectHandler", "templateId", "find", "metaKeys", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "views", "editor", "debug", "createViewGroupItem", "applyActive", "createViewActions", "Object", "entries", "viewType", "checked", "createView", "viewGroupItem", "viewActions", "useToolbarAction", "props", "handleTemplateSelect", "handleFormat", "handleDeploy", "handleCopy", "properties", "useToolbarState", "initialState", "createToolbar", "templateSelect", "gap", "createGapSeparator", "deploy", "ScriptToolbar", "role", "handleAction", "toolbarCreator", "menu", "useMenuActions", "React", "div", "className", "stackItemContentToolbarClassNames", "ElevationProvider", "elevation", "MenuProvider", "onAction", "attendableId", "fullyQualifiedId", "ToolbarMenu", "TypescriptEditor", "env", "initialValue", "extensions", "scrollTo", "selection", "toolbar", "inputMode", "themeMode", "useThemeContext", "parentRef", "focusAttributes", "useTextEditor", "createBasicExtensions", "highlightActiveLine", "indentWithTab", "lineNumbers", "lineWrapping", "scrollPastEnd", "createThemeExtensions", "syntaxHighlighting", "slots", "editorFullWidth", "EditorView", "theme", "marginTop", "InputModeExtensions", "folding", "Prec", "high", "keymap", "of", "continueKeymap", "editorMonospace", "javascript", "typescript", "autocomplete", "override", "tsAutocomplete", "tsFacet", "path", "tsSync", "tsLinter", "tsHover", "renderTooltip", "createTooltipRenderer", "filter", "nonNullable", "ref", "data-toolbar", "oneDarkHighlightStyle", "defaultHighlightStyle", "classFromKind", "_kind", "kind", "endsWith", "validTag", "tags", "tag", "style", "document", "createElement", "quickInfo", "displayParts", "part", "span", "appendChild", "innerText", "text", "dom", "ScriptContainer", "settings", "editorInputMode", "identity", "useIdentity", "listener", "onChange", "createDataExtensions", "createDocAccessor", "StackItem", "Content", "mx", "stackItemContentEditorClassNames", "DebugPanel"]
|
|
7
|
+
}
|