@dxos/plugin-script 0.8.3 → 0.8.4-main.1f223c7
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-QZSTVNIS.mjs +12 -0
- package/dist/lib/browser/{ScriptContainer-RSN52NH7.mjs → ScriptContainer-DNNA6XC6.mjs} +20 -16
- package/dist/lib/browser/ScriptContainer-DNNA6XC6.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-5Z3MUX4N.mjs → app-graph-builder-IABOSTBK.mjs} +4 -4
- package/dist/lib/{node-esm/app-graph-builder-IOOUTHV2.mjs.map → browser/app-graph-builder-IABOSTBK.mjs.map} +3 -3
- package/dist/lib/browser/blueprint-definition-AR7ITBCD.mjs +28 -0
- package/dist/lib/browser/blueprint-definition-AR7ITBCD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YSQMXTYO.mjs → chunk-5TVBECWH.mjs} +3 -3
- package/dist/lib/browser/chunk-6CAH7VIE.mjs +283 -0
- package/dist/lib/browser/chunk-6CAH7VIE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3JLR2SHJ.mjs → chunk-GZKWMME3.mjs} +52 -53
- package/dist/lib/browser/chunk-GZKWMME3.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WB3X5Z7Q.mjs → chunk-IS4OG2UW.mjs} +5 -6
- package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QJH7I2UV.mjs → chunk-NXKU3BNX.mjs} +40 -51
- package/dist/lib/browser/chunk-NXKU3BNX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6ZHHWU6S.mjs → chunk-QYAREHGH.mjs} +2 -2
- package/dist/lib/browser/chunk-RNGIQIEJ.mjs +88 -0
- package/dist/lib/browser/chunk-RNGIQIEJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-LA66DQGU.mjs → chunk-YCZPTTFO.mjs} +6 -6
- package/dist/lib/browser/chunk-YCZPTTFO.mjs.map +7 -0
- package/dist/lib/browser/{compiler-W4BYJYTL.mjs → compiler-2HJH34GM.mjs} +26 -10
- package/dist/lib/browser/compiler-2HJH34GM.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +34 -31
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-JOJNH4UX.mjs → intent-resolver-F4YSRPJI.mjs} +11 -12
- package/dist/lib/browser/intent-resolver-F4YSRPJI.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-7BKUWL2U.mjs → react-surface-BBHFU6MI.mjs} +13 -14
- package/dist/lib/browser/react-surface-BBHFU6MI.mjs.map +7 -0
- package/dist/lib/browser/{settings-Z22D6JVJ.mjs → settings-KCTBK5TY.mjs} +4 -4
- package/dist/lib/browser/templates/index.mjs +9 -0
- package/dist/lib/browser/types/index.mjs +10 -0
- package/dist/lib/node-esm/{DeploymentDialog-IA4CH6WZ.mjs → DeploymentDialog-G6EHEPXN.mjs} +5 -5
- package/dist/lib/node-esm/{ScriptContainer-4IOOIPBF.mjs → ScriptContainer-KPYZN2KY.mjs} +20 -16
- package/dist/lib/node-esm/ScriptContainer-KPYZN2KY.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-IOOUTHV2.mjs → app-graph-builder-CQTTAYHP.mjs} +4 -4
- package/dist/lib/{browser/app-graph-builder-5Z3MUX4N.mjs.map → node-esm/app-graph-builder-CQTTAYHP.mjs.map} +3 -3
- package/dist/lib/node-esm/blueprint-definition-TJY4TX6S.mjs +30 -0
- package/dist/lib/node-esm/blueprint-definition-TJY4TX6S.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2GBESIHU.mjs +284 -0
- package/dist/lib/node-esm/chunk-2GBESIHU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2KJYPUQD.mjs → chunk-35M3CHYE.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs → chunk-AHXJ6NQU.mjs} +2 -2
- package/dist/lib/node-esm/chunk-GWHLP5LM.mjs +90 -0
- package/dist/lib/node-esm/chunk-GWHLP5LM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-B4TP3LSZ.mjs → chunk-HUHVIOL5.mjs} +52 -53
- package/dist/lib/node-esm/chunk-HUHVIOL5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-UESZKXLR.mjs → chunk-JIPFLBYA.mjs} +5 -6
- package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MJJQBUOL.mjs → chunk-M642JUOZ.mjs} +40 -51
- package/dist/lib/node-esm/chunk-M642JUOZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-T7XDCUTF.mjs → chunk-ZA36GO4T.mjs} +6 -6
- package/dist/lib/node-esm/chunk-ZA36GO4T.mjs.map +7 -0
- package/dist/lib/node-esm/{compiler-7PQ4D43R.mjs → compiler-7SP27RA6.mjs} +26 -10
- package/dist/lib/node-esm/compiler-7SP27RA6.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +34 -31
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-HTM5PSRZ.mjs → intent-resolver-CGQYRWWD.mjs} +11 -12
- package/dist/lib/{browser/intent-resolver-JOJNH4UX.mjs.map → node-esm/intent-resolver-CGQYRWWD.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-6UO64YOS.mjs → react-surface-UWIWPKZD.mjs} +13 -14
- package/dist/lib/node-esm/react-surface-UWIWPKZD.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-KZEGCDYX.mjs → settings-DXZ334A3.mjs} +4 -4
- package/dist/lib/node-esm/templates/index.mjs +10 -0
- package/dist/lib/node-esm/templates/index.mjs.map +7 -0
- package/dist/lib/node-esm/{types.mjs → types/index.mjs} +3 -6
- package/dist/lib/node-esm/types/index.mjs.map +7 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/compiler.d.ts +1 -1
- package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +6 -6
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +139 -12
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/index.d.ts +1 -1
- package/dist/types/src/components/DeploymentDialog/index.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 +3 -3
- package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +7 -10
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +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/TestContainer.d.ts +4 -3
- package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +10 -3
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts +4 -3
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- 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/templates/data-generator.d.ts.map +1 -1
- package/dist/types/src/templates/index.d.ts +2 -0
- package/dist/types/src/templates/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +68 -176
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/{types.d.ts → types/schema.d.ts} +3 -5
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/src/util/deploy.d.ts +3 -3
- 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 +79 -70
- package/src/ScriptPlugin.tsx +7 -7
- package/src/capabilities/app-graph-builder.ts +2 -2
- package/src/capabilities/artifact-definition.ts +9 -12
- package/src/capabilities/blueprint-definition.ts +30 -0
- package/src/capabilities/compiler.ts +2 -1
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +2 -5
- package/src/capabilities/react-surface.tsx +6 -5
- package/src/compiler/compiler.ts +1 -1
- package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +29 -17
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +5 -5
- package/src/components/DeploymentDialog/index.ts +1 -1
- package/src/components/FrameContainer/FrameContainer.tsx +3 -2
- package/src/components/FrameContainer/frame.tsx +1 -1
- package/src/components/ScriptContainer.tsx +6 -4
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +19 -14
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +14 -4
- package/src/components/Settings/ScriptObjectSettings.tsx +19 -23
- package/src/components/Settings/ScriptPluginSettings.tsx +33 -28
- package/src/components/TestPanel/TestContainer.tsx +9 -3
- package/src/components/TestPanel/TestPanel.tsx +1 -1
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +9 -16
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +6 -4
- package/src/hooks/deploy.ts +11 -11
- package/src/hooks/template.ts +3 -3
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +1 -0
- package/src/templates/chess.ts +1 -1
- package/src/templates/data-generator.ts +8 -4
- package/src/templates/discord.ts +4 -4
- package/src/templates/email.ts +2 -2
- package/src/templates/forex-effect.ts +3 -3
- package/src/templates/forex.ts +1 -1
- package/src/templates/gmail.ts +14 -55
- package/src/templates/index.ts +2 -0
- package/src/translations.ts +9 -6
- package/src/types/index.ts +5 -0
- package/src/{types.ts → types/schema.ts} +2 -7
- package/src/util/deploy.ts +20 -33
- package/src/util/functions.ts +4 -4
- package/dist/lib/browser/DeploymentDialog-RPPPWEEL.mjs +0 -12
- package/dist/lib/browser/ScriptContainer-RSN52NH7.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-A4TBQL75.mjs +0 -249
- package/dist/lib/browser/artifact-definition-A4TBQL75.mjs.map +0 -7
- package/dist/lib/browser/chunk-3FU4QZVP.mjs +0 -364
- package/dist/lib/browser/chunk-3FU4QZVP.mjs.map +0 -7
- package/dist/lib/browser/chunk-3JLR2SHJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-LA66DQGU.mjs.map +0 -7
- package/dist/lib/browser/chunk-QJH7I2UV.mjs.map +0 -7
- package/dist/lib/browser/chunk-WB3X5Z7Q.mjs.map +0 -7
- package/dist/lib/browser/compiler-W4BYJYTL.mjs.map +0 -7
- package/dist/lib/browser/react-surface-7BKUWL2U.mjs.map +0 -7
- package/dist/lib/browser/types.mjs +0 -13
- package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs +0 -33
- package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs.map +0 -7
- package/dist/lib/node/ScriptContainer-CAC7AISY.cjs +0 -278
- package/dist/lib/node/ScriptContainer-CAC7AISY.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-25OOTBW4.cjs +0 -80
- package/dist/lib/node/app-graph-builder-25OOTBW4.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-QKZI6PTO.cjs +0 -265
- package/dist/lib/node/artifact-definition-QKZI6PTO.cjs.map +0 -7
- package/dist/lib/node/chunk-AU2FOE26.cjs +0 -369
- package/dist/lib/node/chunk-AU2FOE26.cjs.map +0 -7
- package/dist/lib/node/chunk-BUOBOT3V.cjs +0 -179
- package/dist/lib/node/chunk-BUOBOT3V.cjs.map +0 -7
- package/dist/lib/node/chunk-HCRW6T3G.cjs +0 -60
- package/dist/lib/node/chunk-HCRW6T3G.cjs.map +0 -7
- package/dist/lib/node/chunk-OSBMUJ4T.cjs +0 -580
- package/dist/lib/node/chunk-OSBMUJ4T.cjs.map +0 -7
- package/dist/lib/node/chunk-QG2X6J74.cjs +0 -52
- package/dist/lib/node/chunk-QG2X6J74.cjs.map +0 -7
- package/dist/lib/node/chunk-YO5W2IPQ.cjs +0 -251
- package/dist/lib/node/chunk-YO5W2IPQ.cjs.map +0 -7
- package/dist/lib/node/chunk-ZEV3VARQ.cjs +0 -34
- package/dist/lib/node/chunk-ZEV3VARQ.cjs.map +0 -7
- package/dist/lib/node/compiler-TFSJRLL4.cjs +0 -104
- package/dist/lib/node/compiler-TFSJRLL4.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -225
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs +0 -100
- package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-EUKPDFU3.cjs +0 -120
- package/dist/lib/node/react-surface-EUKPDFU3.cjs.map +0 -7
- package/dist/lib/node/settings-WO53FLYZ.cjs +0 -38
- package/dist/lib/node/settings-WO53FLYZ.cjs.map +0 -7
- package/dist/lib/node/types.cjs +0 -34
- package/dist/lib/node/types.cjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-4IOOIPBF.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs +0 -250
- package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-B4TP3LSZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MJJQBUOL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-T7XDCUTF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UESZKXLR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-W2DAXWHA.mjs +0 -365
- package/dist/lib/node-esm/chunk-W2DAXWHA.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-7PQ4D43R.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HTM5PSRZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-6UO64YOS.mjs.map +0 -7
- package/dist/types/src/types.d.ts.map +0 -1
- /package/dist/lib/browser/{DeploymentDialog-RPPPWEEL.mjs.map → DeploymentDialog-QZSTVNIS.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-YSQMXTYO.mjs.map → chunk-5TVBECWH.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-6ZHHWU6S.mjs.map → chunk-QYAREHGH.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-Z22D6JVJ.mjs.map → settings-KCTBK5TY.mjs.map} +0 -0
- /package/dist/lib/browser/{types.mjs.map → templates/index.mjs.map} +0 -0
- /package/dist/lib/{node-esm/DeploymentDialog-IA4CH6WZ.mjs.map → browser/types/index.mjs.map} +0 -0
- /package/dist/lib/node-esm/{types.mjs.map → DeploymentDialog-G6EHEPXN.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-2KJYPUQD.mjs.map → chunk-35M3CHYE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs.map → chunk-AHXJ6NQU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-KZEGCDYX.mjs.map → settings-DXZ334A3.mjs.map} +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ScriptAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JIPFLBYA.mjs";
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
import { getInvocationUrl,
|
|
6
|
+
// src/util/functions.ts
|
|
7
|
+
import { getInvocationUrl, getUserFunctionIdInMetadata } from "@dxos/functions";
|
|
8
8
|
import { log } from "@dxos/log";
|
|
9
9
|
import { getMeta, getSpace } from "@dxos/react-client/echo";
|
|
10
|
-
var __dxlog_file = "/
|
|
10
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
|
|
11
11
|
var getFunctionUrl = ({ script, fn, edgeUrl }) => {
|
|
12
12
|
const space = getSpace(script);
|
|
13
|
-
const
|
|
14
|
-
if (!
|
|
13
|
+
const existingFunctionId = fn && getUserFunctionIdInMetadata(getMeta(fn));
|
|
14
|
+
if (!existingFunctionId) {
|
|
15
15
|
return void 0;
|
|
16
16
|
}
|
|
17
|
-
return getInvocationUrl(
|
|
17
|
+
return getInvocationUrl(existingFunctionId, edgeUrl, {
|
|
18
18
|
spaceId: space?.id
|
|
19
19
|
});
|
|
20
20
|
};
|
|
@@ -59,18 +59,18 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
|
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
//
|
|
62
|
+
// src/util/deploy.ts
|
|
63
63
|
import { Obj, Ref } from "@dxos/echo";
|
|
64
|
-
import { FunctionType,
|
|
64
|
+
import { FunctionType, getUserFunctionIdInMetadata as getUserFunctionIdInMetadata2, setUserFunctionIdInMetadata } from "@dxos/functions";
|
|
65
65
|
import { Bundler } from "@dxos/functions/bundler";
|
|
66
66
|
import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
|
|
67
67
|
import { log as log2 } from "@dxos/log";
|
|
68
|
-
var __dxlog_file2 = "/
|
|
68
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
|
|
69
69
|
var isScriptDeployed = ({ script, fn }) => {
|
|
70
|
-
const
|
|
71
|
-
return Boolean(
|
|
70
|
+
const existingFunctionId = fn && getUserFunctionIdInMetadata2(Obj.getMeta(fn));
|
|
71
|
+
return Boolean(existingFunctionId) && !script.changed;
|
|
72
72
|
};
|
|
73
|
-
var deployScript = async ({ script, client, space, fn,
|
|
73
|
+
var deployScript = async ({ script, client, space, fn, existingFunctionId }) => {
|
|
74
74
|
const validationError = validateDeployInputs(script, space);
|
|
75
75
|
if (validationError) {
|
|
76
76
|
return {
|
|
@@ -79,17 +79,26 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
|
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
81
|
try {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
const bundler = new Bundler({
|
|
83
|
+
platform: "browser",
|
|
84
|
+
sandboxedModules: [],
|
|
85
|
+
remoteModules: {}
|
|
86
|
+
});
|
|
87
|
+
const buildResult = await bundler.bundle({
|
|
88
|
+
source: script.source.target.content
|
|
89
|
+
});
|
|
90
|
+
if ("error" in buildResult) {
|
|
91
|
+
throw buildResult.error || new Error("Bundle creation failed");
|
|
86
92
|
}
|
|
87
93
|
const { functionId, version, meta } = await uploadWorkerFunction({
|
|
88
94
|
client,
|
|
89
95
|
ownerPublicKey: space.key,
|
|
90
96
|
version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
|
|
91
97
|
functionId: existingFunctionId,
|
|
92
|
-
|
|
98
|
+
entryPoint: buildResult.entryPoint,
|
|
99
|
+
assets: {
|
|
100
|
+
[buildResult.entryPoint]: buildResult.asset
|
|
101
|
+
}
|
|
93
102
|
});
|
|
94
103
|
if (functionId === void 0 || version === void 0) {
|
|
95
104
|
throw new Error(`Upload didn't return expected data: ${JSON.stringify({
|
|
@@ -100,18 +109,15 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
|
|
|
100
109
|
const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
|
|
101
110
|
script.changed = false;
|
|
102
111
|
updateFunctionMetadata(script, storedFunction, meta, functionId);
|
|
103
|
-
|
|
104
|
-
functionId
|
|
105
|
-
});
|
|
106
|
-
setUserFunctionUrlInMetadata(Obj.getMeta(storedFunction), functionUrl);
|
|
112
|
+
setUserFunctionIdInMetadata(Obj.getMeta(storedFunction), functionId);
|
|
107
113
|
return {
|
|
108
114
|
success: true,
|
|
109
|
-
|
|
115
|
+
functionId
|
|
110
116
|
};
|
|
111
117
|
} catch (err) {
|
|
112
118
|
log2.catch(err, void 0, {
|
|
113
119
|
F: __dxlog_file2,
|
|
114
|
-
L:
|
|
120
|
+
L: 78,
|
|
115
121
|
S: void 0,
|
|
116
122
|
C: (f, a) => f(...a)
|
|
117
123
|
});
|
|
@@ -127,41 +133,24 @@ var validateDeployInputs = (script, space) => {
|
|
|
127
133
|
}
|
|
128
134
|
return null;
|
|
129
135
|
};
|
|
130
|
-
var extractFunctionId = (functionUrl) => {
|
|
131
|
-
return functionUrl?.split("/").at(-1);
|
|
132
|
-
};
|
|
133
|
-
var bundleScript = async (source) => {
|
|
134
|
-
const bundler = new Bundler({
|
|
135
|
-
platform: "browser",
|
|
136
|
-
sandboxedModules: [],
|
|
137
|
-
remoteModules: {}
|
|
138
|
-
});
|
|
139
|
-
const buildResult = await bundler.bundle({
|
|
140
|
-
source
|
|
141
|
-
});
|
|
142
|
-
if (buildResult.error || !buildResult.bundle) {
|
|
143
|
-
return {
|
|
144
|
-
error: buildResult.error || new Error("Bundle creation failed")
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
bundle: buildResult.bundle
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
136
|
var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) => {
|
|
152
137
|
if (fn) {
|
|
138
|
+
fn.name = script.name ?? "New Function";
|
|
153
139
|
fn.version = version;
|
|
154
140
|
return fn;
|
|
155
141
|
} else {
|
|
156
|
-
|
|
157
|
-
name:
|
|
142
|
+
const fn2 = Obj.make(FunctionType, {
|
|
143
|
+
name: script.name ?? "New Function",
|
|
158
144
|
version,
|
|
159
145
|
source: Ref.make(script)
|
|
160
|
-
})
|
|
146
|
+
});
|
|
147
|
+
space.db.add(fn2);
|
|
148
|
+
setUserFunctionIdInMetadata(Obj.getMeta(fn2), functionId);
|
|
149
|
+
return fn2;
|
|
161
150
|
}
|
|
162
151
|
};
|
|
163
152
|
|
|
164
|
-
//
|
|
153
|
+
// src/hooks/useCreateAndDeployScriptTemplates.ts
|
|
165
154
|
import { pipe } from "effect/Function";
|
|
166
155
|
import { useCallback, useState } from "react";
|
|
167
156
|
import { chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
@@ -170,7 +159,7 @@ import { ScriptType } from "@dxos/functions";
|
|
|
170
159
|
import { invariant } from "@dxos/invariant";
|
|
171
160
|
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
172
161
|
import { useClient } from "@dxos/react-client";
|
|
173
|
-
var __dxlog_file3 = "/
|
|
162
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
|
|
174
163
|
var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
|
|
175
164
|
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
176
165
|
const client = useClient();
|
|
@@ -231,4 +220,4 @@ export {
|
|
|
231
220
|
deployScript,
|
|
232
221
|
useCreateAndDeployScriptTemplates
|
|
233
222
|
};
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-M642JUOZ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/functions.ts", "../../../src/util/deploy.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ScriptType, getInvocationUrl, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { getMeta, getSpace } from '@dxos/react-client/echo';\n\n/**\n * Get the function URL for a given script and client configuration\n */\nexport const getFunctionUrl = ({\n script,\n fn,\n edgeUrl,\n}: {\n script: ScriptType;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionId = fn && getUserFunctionIdInMetadata(getMeta(fn));\n\n if (!existingFunctionId) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionId, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (script: ScriptType, storedFunction: any, meta: any, functionId: string) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n storedFunction.description = script.description;\n } else if (meta.description) {\n storedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n storedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n storedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport {\n FunctionType,\n type ScriptType,\n getUserFunctionIdInMetadata,\n setUserFunctionIdInMetadata,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { incrementSemverPatch, uploadWorkerFunction } from '@dxos/functions/edge';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { updateFunctionMetadata } from './functions';\n\nexport const isScriptDeployed = ({ script, fn }: { script: ScriptType; fn: any }): boolean => {\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionId) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: ScriptType;\n client: Client;\n space: Space;\n fn?: FunctionType;\n existingFunctionId?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionId?: string };\n\n/**\n * Deploy a script to a space, handling bundling and uploading to the FaaS infrastructure.\n */\nexport const deployScript = async ({\n script,\n client,\n space,\n fn,\n existingFunctionId,\n}: DeployScriptProps): Promise<DeployScriptResult> => {\n const validationError = validateDeployInputs(script, space);\n if (validationError) {\n return { success: false, error: validationError };\n }\n\n try {\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source: script.source!.target!.content });\n if ('error' in buildResult) {\n throw buildResult.error || new Error('Bundle creation failed');\n }\n\n const { functionId, version, meta } = await uploadWorkerFunction({\n client,\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n entryPoint: buildResult.entryPoint,\n assets: { [buildResult.entryPoint]: buildResult.asset },\n });\n\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: ${JSON.stringify({ functionId, version })}`);\n }\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);\n script.changed = false;\n updateFunctionMetadata(script, storedFunction, meta, functionId);\n\n setUserFunctionIdInMetadata(Obj.getMeta(storedFunction), functionId);\n\n return { success: true, functionId };\n } catch (err: any) {\n log.catch(err);\n return { success: false, error: err };\n }\n};\n\n/**\n * Validate inputs for script deployment.\n */\nconst validateDeployInputs = (script: ScriptType, space: Space): Error | null => {\n if (!script.source || !space) {\n return new Error('Script source or space not available');\n }\n return null;\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: FunctionType | undefined,\n script: ScriptType,\n functionId: string,\n version: string,\n): FunctionType => {\n if (fn) {\n fn.name = script.name ?? 'New Function';\n fn.version = version;\n return fn;\n } else {\n const fn = Obj.make(FunctionType, { name: script.name ?? 'New Function', version, source: Ref.make(script) });\n space.db.add(fn);\n setUserFunctionIdInMetadata(Obj.getMeta(fn), functionId);\n return fn;\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect/Function';\nimport { useCallback, useState } from 'react';\n\nimport { chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type Template } from '../templates';\nimport { ScriptAction } from '../types';\nimport { deployScript } from '../util';\n\ntype DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';\n\n/**\n * Hook for creating and deploying multiple script templates concurrently.\n *\n * Takes a space and an array of script template IDs, then provides a callback\n * function that creates each script from its template and deploys it to the space.\n * All creation / deployment operations run concurrently for improved performance.\n */\nexport const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const [status, setStatus] = useState<DeploymentStatus>('idle');\n const [error, setError] = useState<Error | undefined>(undefined);\n\n const handleCreateAndDeployScripts = useCallback(async () => {\n invariant(space);\n setStatus('pending');\n setError(undefined);\n\n const deploymentResults = await Promise.all(\n scriptTemplates.map(async (template) => {\n const result = await dispatch(\n pipe(\n createIntent(ScriptAction.Create, { space, initialTemplateId: template.id }),\n chain(SpaceAction.AddObject, { target: space }),\n ),\n );\n invariant(Obj.instanceOf(ScriptType, result.data?.object));\n\n return deployScript({ space, client, script: result.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, dispatch, client, scriptTemplates]);\n\n // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["getInvocationUrl", "getUserFunctionIdInMetadata", "log", "getMeta", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionId", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "description", "trim", "verbose", "inputSchema", "outputSchema", "Obj", "Ref", "FunctionType", "getUserFunctionIdInMetadata", "setUserFunctionIdInMetadata", "Bundler", "incrementSemverPatch", "uploadWorkerFunction", "log", "isScriptDeployed", "script", "fn", "existingFunctionId", "getUserFunctionIdInMetadata", "Obj", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "bundle", "source", "target", "content", "Error", "functionId", "version", "meta", "uploadWorkerFunction", "ownerPublicKey", "key", "incrementSemverPatch", "entryPoint", "assets", "asset", "undefined", "JSON", "stringify", "storedFunction", "createOrUpdateFunctionInSpace", "updateFunctionMetadata", "setUserFunctionIdInMetadata", "err", "log", "catch", "name", "make", "FunctionType", "Ref", "db", "add", "pipe", "useCallback", "useState", "chain", "createIntent", "useIntentDispatcher", "Obj", "ScriptType", "invariant", "SpaceAction", "useClient", "useCreateAndDeployScriptTemplates", "space", "scriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "status", "setStatus", "useState", "error", "setError", "undefined", "handleCreateAndDeployScripts", "useCallback", "invariant", "deploymentResults", "Promise", "all", "map", "template", "result", "pipe", "createIntent", "ScriptAction", "Create", "initialTemplateId", "id", "chain", "SpaceAction", "AddObject", "target", "Obj", "instanceOf", "ScriptType", "data", "object", "deployScript", "script", "hasErrors", "some", "success"]
|
|
7
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
useCreateAndDeployScriptTemplates
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-M642JUOZ.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SCRIPT_PLUGIN
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-AHXJ6NQU.mjs";
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// src/components/DeploymentDialog/DeploymentDialog.tsx
|
|
10
10
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
11
11
|
import React, { useEffect, useMemo } from "react";
|
|
12
|
-
import {
|
|
12
|
+
import { LayoutAction, createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
13
13
|
import { getSpace } from "@dxos/react-client/echo";
|
|
14
14
|
import { Button, Dialog, Icon, useTranslation } from "@dxos/react-ui";
|
|
15
15
|
var DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;
|
|
@@ -144,11 +144,11 @@ var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
|
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
146
|
|
|
147
|
-
//
|
|
147
|
+
// src/components/DeploymentDialog/index.ts
|
|
148
148
|
var DeploymentDialog_default = DeploymentDialog;
|
|
149
149
|
|
|
150
150
|
export {
|
|
151
151
|
DEPLOYMENT_DIALOG,
|
|
152
152
|
DeploymentDialog_default
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
//# sourceMappingURL=chunk-ZA36GO4T.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DeploymentDialog/DeploymentDialog.tsx", "../../../src/components/DeploymentDialog/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useMemo } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nimport { useCreateAndDeployScriptTemplates } from '../../hooks/useCreateAndDeployScriptTemplates';\nimport { SCRIPT_PLUGIN } from '../../meta';\nimport { type Template } from '../../templates';\n\nexport const DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;\n\n// TODO(ZaymonFC):\n// - Show activity and feedback to the user.\n// - Only take an array of templateIds and get the name from the data.\n// - Pending / onError states.\n\nexport type DeploymentDialogProps = {\n accessToken: DataType.AccessToken;\n scriptTemplates: Template[];\n};\n\nexport const DeploymentDialog = ({ accessToken, scriptTemplates }: DeploymentDialogProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const space = useMemo(() => getSpace(accessToken), [accessToken]);\n\n // TODO(ZaymonFC): Thinking further. All of this should get moved to intents to run async in the background.\n // Deployment shouldn't be tied to the lifecycle of the dialogue component.\n const { handleCreateAndDeployScripts, status } = useCreateAndDeployScriptTemplates(space, scriptTemplates);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n useEffect(() => {\n if (status === 'success') {\n // TODO(ZaymonFC): We can probably re-use this toast for normal script deployment.\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SCRIPT_PLUGIN}/deployment-success`,\n icon: 'ph--check--regular',\n duration: Infinity,\n title: ['script deployment toast label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n description: ['script deployment toast description', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n closeLabel: ['script deployment toast close label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n },\n }),\n );\n void dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n }\n if (status === 'error') {\n void dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SCRIPT_PLUGIN}/deployment-error`,\n icon: 'ph--warning--regular',\n duration: Infinity,\n title: ['script deployment error toast label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n description: [\n 'script deployment error toast description',\n { ns: SCRIPT_PLUGIN, count: scriptTemplates.length },\n ],\n closeLabel: [\n 'script deployment error toast close label',\n { ns: SCRIPT_PLUGIN, count: scriptTemplates.length },\n ],\n },\n }),\n );\n }\n }, [status, dispatch]);\n\n return (\n <Dialog.Content>\n <div className='flex justify-between items-center'>\n <Dialog.Title>{t('deployment dialog title')}</Dialog.Title>\n <Dialog.Close asChild>\n <Button density='fine' variant='ghost'>\n <Icon icon='ph--x--regular' size={4} />\n </Button>\n </Dialog.Close>\n </div>\n <div role='none' className='plb-4'>\n {/* TODO: Implement deployment logic and UI. */}\n <p>{t('deployment dialog scripts found message', { count: scriptTemplates.length })}</p>\n <ul className='pbs-2'>\n {scriptTemplates.map((template) => {\n return <li key={template.id}>{template.name}</li>;\n })}\n </ul>\n </div>\n <div role='none' className='flex flex-row-reverse gap-1'>\n <Button variant='primary' onClick={handleCreateAndDeployScripts} disabled={status === 'pending'}>\n {status === 'pending'\n ? t('deployment dialog deploy functions pending button label', { count: scriptTemplates.length })\n : t('deployment dialog deploy functions button label', { count: scriptTemplates.length })}\n </Button>\n <Dialog.Close asChild disabled={status === 'pending'}>\n <Button disabled={status === 'pending'}>{t('deployment dialog skip button label')}</Button>\n </Dialog.Close>\n </div>\n </Dialog.Content>\n );\n};\n\nexport default DeploymentDialog;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { DEPLOYMENT_DIALOG, DeploymentDialog } from './DeploymentDialog';\n\nexport { DEPLOYMENT_DIALOG };\n\nexport default DeploymentDialog;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useEffect", "useMemo", "LayoutAction", "createIntent", "useIntentDispatcher", "getSpace", "Button", "Dialog", "Icon", "useTranslation", "DEPLOYMENT_DIALOG", "SCRIPT_PLUGIN", "DeploymentDialog", "accessToken", "scriptTemplates", "t", "useTranslation", "space", "useMemo", "getSpace", "handleCreateAndDeployScripts", "status", "useCreateAndDeployScriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "useEffect", "createIntent", "LayoutAction", "AddToast", "part", "subject", "id", "icon", "duration", "Infinity", "title", "ns", "count", "length", "description", "closeLabel", "UpdateDialog", "options", "state", "Dialog", "Content", "div", "className", "Title", "Close", "asChild", "Button", "density", "variant", "Icon", "size", "role", "p", "ul", "map", "template", "li", "key", "name", "onClick", "disabled", "DeploymentDialog"]
|
|
7
|
+
}
|
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ScriptCapabilities
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-35M3CHYE.mjs";
|
|
5
|
+
import "./chunk-AHXJ6NQU.mjs";
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// src/capabilities/compiler.ts
|
|
8
8
|
import wasmUrl from "esbuild-wasm/esbuild.wasm?url";
|
|
9
9
|
import { contributes } from "@dxos/app-framework";
|
|
10
10
|
import { initializeBundler } from "@dxos/functions/bundler";
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// src/compiler/compiler.ts
|
|
13
13
|
import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
|
|
14
14
|
import ts from "typescript";
|
|
15
15
|
import { invariant } from "@dxos/invariant";
|
|
16
|
-
|
|
16
|
+
function _define_property(obj, key, value) {
|
|
17
|
+
if (key in obj) {
|
|
18
|
+
Object.defineProperty(obj, key, {
|
|
19
|
+
value,
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true
|
|
23
|
+
});
|
|
24
|
+
} else {
|
|
25
|
+
obj[key] = value;
|
|
26
|
+
}
|
|
27
|
+
return obj;
|
|
28
|
+
}
|
|
29
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
|
|
17
30
|
var defaultOptions = {
|
|
18
31
|
lib: [
|
|
19
32
|
"DOM",
|
|
@@ -22,9 +35,6 @@ var defaultOptions = {
|
|
|
22
35
|
target: ts.ScriptTarget.ES2022
|
|
23
36
|
};
|
|
24
37
|
var Compiler = class {
|
|
25
|
-
constructor(_options = defaultOptions) {
|
|
26
|
-
this._options = _options;
|
|
27
|
-
}
|
|
28
38
|
async initialize() {
|
|
29
39
|
if (this._env) {
|
|
30
40
|
return;
|
|
@@ -60,9 +70,15 @@ var Compiler = class {
|
|
|
60
70
|
compile(fileName) {
|
|
61
71
|
return this.environment.languageService.getEmitOutput(fileName);
|
|
62
72
|
}
|
|
73
|
+
constructor(_options = defaultOptions) {
|
|
74
|
+
_define_property(this, "_options", void 0);
|
|
75
|
+
_define_property(this, "_env", void 0);
|
|
76
|
+
_define_property(this, "_fsMap", void 0);
|
|
77
|
+
this._options = _options;
|
|
78
|
+
}
|
|
63
79
|
};
|
|
64
80
|
|
|
65
|
-
//
|
|
81
|
+
// src/capabilities/compiler.ts
|
|
66
82
|
var compiler_default = async () => {
|
|
67
83
|
const compiler = new Compiler();
|
|
68
84
|
await compiler.initialize();
|
|
@@ -80,4 +96,4 @@ var compiler_default = async () => {
|
|
|
80
96
|
export {
|
|
81
97
|
compiler_default as default
|
|
82
98
|
};
|
|
83
|
-
//# sourceMappingURL=compiler-
|
|
99
|
+
//# sourceMappingURL=compiler-7SP27RA6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/compiler.ts", "../../../src/compiler/compiler.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\n\nimport { contributes } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions/bundler';\n\nimport { Compiler } from '../compiler';\n\nimport { ScriptCapabilities } from './capabilities';\n\nexport default async () => {\n const compiler = new Compiler();\n\n await compiler.initialize();\n // TODO(wittjosiah): Fetch types for https modules.\n compiler.setFile('/src/typings.d.ts', \"declare module 'https://*';\");\n // TODO(wittjosiah): Proper function handler types.\n // TODO(wittjosiah): Remove.\n compiler.setFile(\n '/src/runtime.ts',\n `\n export const Filter: any = {};\n export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;\n export const functionHandler = (handler: FunctionHandler) => handler;\n `,\n );\n await initializeBundler({ wasmUrl });\n\n return contributes(ScriptCapabilities.Compiler, compiler);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type VirtualTypeScriptEnvironment,\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.5.4', true, ts);\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, [], ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAKA,OAAOA,aAAa;AAEpB,SAASC,mBAAmB;AAC5B,SAASC,yBAAyB;;;ACJlC,SAEEC,yBACAC,cACAC,0CACK;AACP,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;;;;;;;;;;;;;;;AAE1B,IAAMC,iBAAqC;EACzCC,KAAK;IAAC;IAAO;;EACbC,QAAQJ,GAAGK,aAAaC;AAC1B;AAEO,IAAMC,WAAN,MAAMA;EAMX,MAAMC,aAA4B;AAChC,QAAI,KAAKC,MAAM;AACb;IACF;AAIA,SAAKC,SAAS,MAAMb,wBAAwB,KAAKc,UAAU,SAAS,MAAMX,EAAAA;AAC1E,UAAMY,SAASd,aAAa,KAAKY,MAAM;AACvC,SAAKD,OAAOV,mCAAmCa,QAAQ,CAAA,GAAIZ,IAAI,KAAKW,QAAQ;EAC9E;EAEA,IAAIE,cAAc;AAChBZ,cAAU,KAAKQ,MAAM,yCAAA;;;;;;;;;AACrB,WAAO,KAAKA;EACd;EAEAK,QAAQC,UAAkBC,SAAuB;AAC/Cf,cAAU,KAAKS,QAAQ,oCAAA;;;;;;;;;AACvB,SAAKG,YAAYI,WAAWF,UAAUC,OAAAA;EACxC;EAEAE,QAAQH,UAAiC;AACvC,WAAO,KAAKF,YAAYM,gBAAgBC,cAAcL,QAAAA;EACxD;EA1BA,YAA6BJ,WAA+BT,gBAAgB;;AAH5E,qBAAA,MAAQO,QAAR,MAAA;AACA,qBAAA,MAAQC,UAAR,MAAA;SAE6BC,WAAAA;EAAgD;AA2B/E;;;ADpCA,IAAA,mBAAe,YAAA;AACb,QAAMU,WAAW,IAAIC,SAAAA;AAErB,QAAMD,SAASE,WAAU;AAEzBF,WAASG,QAAQ,qBAAqB,6BAAA;AAGtCH,WAASG,QACP,mBACA;;;;OAIG;AAEL,QAAMC,kBAAkB;IAAEC;EAAQ,CAAA;AAElC,SAAOC,YAAYC,mBAAmBN,UAAUD,QAAAA;AAClD;",
|
|
6
|
+
"names": ["wasmUrl", "contributes", "initializeBundler", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "initialize", "_env", "_fsMap", "_options", "system", "environment", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "compiler", "Compiler", "initialize", "setFile", "initializeBundler", "wasmUrl", "contributes", "ScriptCapabilities"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ScriptCapabilities
|
|
4
|
-
} from "./chunk-2KJYPUQD.mjs";
|
|
5
2
|
import {
|
|
6
3
|
DeploymentDialog,
|
|
7
4
|
ScriptContainer,
|
|
@@ -10,61 +7,67 @@ import {
|
|
|
10
7
|
ScriptProperties,
|
|
11
8
|
TestContainer,
|
|
12
9
|
TestPanel
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HUHVIOL5.mjs";
|
|
11
|
+
import {
|
|
12
|
+
ScriptCapabilities
|
|
13
|
+
} from "./chunk-35M3CHYE.mjs";
|
|
14
14
|
import {
|
|
15
15
|
DEPLOYMENT_DIALOG
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-ZA36GO4T.mjs";
|
|
17
|
+
import "./chunk-2GBESIHU.mjs";
|
|
18
|
+
import "./chunk-GWHLP5LM.mjs";
|
|
19
|
+
import "./chunk-M642JUOZ.mjs";
|
|
19
20
|
import {
|
|
20
21
|
ScriptAction
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-JIPFLBYA.mjs";
|
|
22
23
|
import {
|
|
23
24
|
SCRIPT_PLUGIN,
|
|
24
25
|
defaultScriptsForIntegration,
|
|
25
26
|
meta
|
|
26
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-AHXJ6NQU.mjs";
|
|
27
28
|
|
|
28
|
-
//
|
|
29
|
+
// src/capabilities/index.ts
|
|
29
30
|
import { lazy } from "@dxos/app-framework";
|
|
30
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
31
|
-
var
|
|
32
|
-
var Compiler = lazy(() => import("./compiler-
|
|
33
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
34
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
35
|
-
var ScriptSettings = lazy(() => import("./settings-
|
|
31
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-CQTTAYHP.mjs"));
|
|
32
|
+
var BlueprintDefinition = lazy(() => import("./blueprint-definition-TJY4TX6S.mjs"));
|
|
33
|
+
var Compiler = lazy(() => import("./compiler-7SP27RA6.mjs"));
|
|
34
|
+
var IntentResolver = lazy(() => import("./intent-resolver-CGQYRWWD.mjs"));
|
|
35
|
+
var ReactSurface = lazy(() => import("./react-surface-UWIWPKZD.mjs"));
|
|
36
|
+
var ScriptSettings = lazy(() => import("./settings-DXZ334A3.mjs"));
|
|
36
37
|
|
|
37
|
-
//
|
|
38
|
+
// src/ScriptPlugin.tsx
|
|
38
39
|
import { Schema } from "effect";
|
|
39
|
-
import { Capabilities, contributes, createIntent, defineModule, definePlugin
|
|
40
|
+
import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
|
|
41
|
+
import { Ref } from "@dxos/echo";
|
|
40
42
|
import { ScriptType as ScriptType2 } from "@dxos/functions";
|
|
41
|
-
import { RefArray } from "@dxos/live-object";
|
|
42
43
|
import { ClientEvents } from "@dxos/plugin-client";
|
|
43
44
|
import { SpaceCapabilities } from "@dxos/plugin-space";
|
|
44
45
|
import { defineObjectForm } from "@dxos/plugin-space/types";
|
|
45
46
|
|
|
46
|
-
//
|
|
47
|
+
// src/events.ts
|
|
47
48
|
import { defineEvent } from "@dxos/app-framework";
|
|
48
49
|
(function(ScriptEvents2) {
|
|
49
50
|
ScriptEvents2.SetupCompiler = defineEvent(`${SCRIPT_PLUGIN}/event/setup-compiler`);
|
|
50
51
|
})(ScriptEvents || (ScriptEvents = {}));
|
|
51
52
|
var ScriptEvents;
|
|
52
53
|
|
|
53
|
-
//
|
|
54
|
-
import { Type } from "@dxos/echo";
|
|
54
|
+
// src/translations.ts
|
|
55
55
|
import { ScriptType } from "@dxos/functions";
|
|
56
|
-
var
|
|
56
|
+
var translations = [
|
|
57
57
|
{
|
|
58
58
|
"en-US": {
|
|
59
|
-
[
|
|
59
|
+
[ScriptType.typename]: {
|
|
60
60
|
"typename label": "Script",
|
|
61
61
|
"typename label_zero": "Scripts",
|
|
62
62
|
"typename label_one": "Script",
|
|
63
63
|
"typename label_other": "Scripts",
|
|
64
|
-
"object name placeholder": "New script"
|
|
64
|
+
"object name placeholder": "New script",
|
|
65
|
+
"rename object label": "Rename script",
|
|
66
|
+
"delete object label": "Delete script"
|
|
65
67
|
},
|
|
66
|
-
[
|
|
68
|
+
[meta.id]: {
|
|
67
69
|
"plugin name": "Scripts",
|
|
70
|
+
"settings title": "Scripts plugin settings",
|
|
68
71
|
"description label": "Description",
|
|
69
72
|
"description placeholder": "Enter description",
|
|
70
73
|
"binding placeholder": "Function name",
|
|
@@ -122,7 +125,7 @@ var translations_default = [
|
|
|
122
125
|
}
|
|
123
126
|
];
|
|
124
127
|
|
|
125
|
-
//
|
|
128
|
+
// src/ScriptPlugin.tsx
|
|
126
129
|
var ScriptPlugin = () => definePlugin(meta, [
|
|
127
130
|
defineModule({
|
|
128
131
|
id: `${meta.id}/module/settings`,
|
|
@@ -137,7 +140,7 @@ var ScriptPlugin = () => definePlugin(meta, [
|
|
|
137
140
|
defineModule({
|
|
138
141
|
id: `${meta.id}/module/translations`,
|
|
139
142
|
activatesOn: Events.SetupTranslations,
|
|
140
|
-
activate: () => contributes(Capabilities.Translations,
|
|
143
|
+
activate: () => contributes(Capabilities.Translations, translations)
|
|
141
144
|
}),
|
|
142
145
|
defineModule({
|
|
143
146
|
id: `${meta.id}/module/metadata`,
|
|
@@ -147,7 +150,7 @@ var ScriptPlugin = () => definePlugin(meta, [
|
|
|
147
150
|
metadata: {
|
|
148
151
|
icon: "ph--code--regular",
|
|
149
152
|
// TODO(wittjosiah): Move out of metadata.
|
|
150
|
-
loadReferences: async (script) => await
|
|
153
|
+
loadReferences: async (script) => await Ref.Array.loadAll([
|
|
151
154
|
script.source
|
|
152
155
|
])
|
|
153
156
|
}
|
|
@@ -185,9 +188,9 @@ var ScriptPlugin = () => definePlugin(meta, [
|
|
|
185
188
|
activate: IntentResolver
|
|
186
189
|
}),
|
|
187
190
|
defineModule({
|
|
188
|
-
id: `${meta.id}/module/
|
|
191
|
+
id: `${meta.id}/module/blueprint`,
|
|
189
192
|
activatesOn: Events.SetupArtifactDefinition,
|
|
190
|
-
activate:
|
|
193
|
+
activate: BlueprintDefinition
|
|
191
194
|
})
|
|
192
195
|
]);
|
|
193
196
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/index.ts", "../../../src/ScriptPlugin.tsx", "../../../src/events.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["lazy", "AppGraphBuilder", "lazy", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const Compiler = lazy(() => import('./compiler'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ScriptSettings = lazy(() => import('./settings'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport {\n AppGraphBuilder,\n BlueprintDefinition,\n Compiler,\n IntentResolver,\n ReactSurface,\n ScriptSettings,\n} from './capabilities';\nimport { ScriptEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { ScriptAction } from './types';\n\nexport const ScriptPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: ScriptSettings,\n }),\n defineModule({\n id: `${meta.id}/module/compiler`,\n activatesOn: ScriptEvents.SetupCompiler,\n activate: Compiler,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: ScriptType.typename,\n metadata: {\n icon: 'ph--code--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (script: ScriptType) => await Ref.Array.loadAll([script.source]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: ScriptType,\n formSchema: ScriptAction.CreateScriptSchema.pipe(Schema.omit('initialTemplateId')),\n getIntent: (props, options) => createIntent(ScriptAction.Create, { ...props, space: options.space }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.\n activatesBefore: [ScriptEvents.SetupCompiler],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport namespace ScriptEvents {\n export const SetupCompiler = defineEvent(`${SCRIPT_PLUGIN}/event/setup-compiler`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ScriptType } from '@dxos/functions';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [ScriptType.typename]: {\n 'typename label': 'Script',\n 'typename label_zero': 'Scripts',\n 'typename label_one': 'Script',\n 'typename label_other': 'Scripts',\n 'object name placeholder': 'New script',\n 'rename object label': 'Rename script',\n 'delete object label': 'Delete script',\n },\n [meta.id]: {\n 'plugin name': 'Scripts',\n 'settings title': 'Scripts plugin settings',\n 'description label': 'Description',\n 'description placeholder': 'Enter description',\n 'binding placeholder': 'Function name',\n 'function request placeholder': 'Function request',\n 'deploy label': 'Deploy',\n 'deployed label': 'Current version of the script is deployed',\n 'upload failed label': 'Upload failed',\n 'copy link label': 'Copy function link',\n 'format label': 'Format',\n 'toggle details label': 'Toggle details panel',\n 'authenticate action label': 'Authenticate functions service',\n 'authenticate button label': 'Authenticate',\n 'name label': 'Name',\n 'remote function settings heading': 'Remote Function',\n 'function url label': 'Invocation URL',\n 'function binding label': 'Function binding',\n 'function binding placeholder': 'Enter binding name (e.g., NAME)',\n 'script publish settings label': 'Publishing',\n 'script publish settings description': 'Scripts can be shared publicly as Github gists.',\n 'no github token label': 'This space has no GitHub access token available.',\n 'open token manager label': 'Open Token Manager',\n 'publish label': 'Publish',\n 'publishing label': 'Publishing',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'template select group label': 'Select template',\n 'function panel label': 'Debug Function',\n 'script test label': 'Test',\n 'script logs label': 'Logs',\n 'deployment dialog title': 'Default Scripts',\n 'deployment dialog scripts found message_one':\n 'We found the following script template for your new integration:',\n 'deployment dialog scripts found message_other':\n 'We found the following script templates for your new integration:',\n 'deployment dialog deploy functions button label_one': 'Create and deploy script',\n 'deployment dialog deploy functions button label_other': 'Create and deploy scripts',\n 'deployment dialog deploy functions pending button label_one': 'Deploying script',\n 'deployment dialog deploy functions pending button label_other': 'Deploying scripts',\n 'deployment dialog skip button label': 'Skip',\n 'script deployment toast label_one': 'Script deployed',\n 'script deployment toast label_other': 'Scripts deployed',\n 'script deployment toast description_one': 'Your script has been deployed successfully.',\n 'script deployment toast description_other': 'Your scripts have been deployed successfully.',\n 'script deployment toast close label_one': 'Close',\n 'script deployment toast close label_other': 'Close',\n 'script deployment error toast label_one': 'Script deployment failed',\n 'script deployment error toast label_other': 'Scripts deployment failed',\n 'script deployment error toast description_one': 'There was an error deploying your script.',\n 'script deployment error toast description_other': 'There was an error deploying your scripts.',\n 'script deployment error toast close label_one': 'Close',\n 'script deployment error toast close label_other': 'Close',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["lazy", "AppGraphBuilder", "lazy", "BlueprintDefinition", "Compiler", "IntentResolver", "ReactSurface", "ScriptSettings", "Schema", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "ScriptType", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "defineEvent", "ScriptEvents", "SetupCompiler", "defineEvent", "SCRIPT_PLUGIN", "ScriptType", "translations", "ScriptType", "typename", "meta", "id", "ScriptPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "ScriptSettings", "ScriptEvents", "SetupCompiler", "Compiler", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "ScriptType", "typename", "metadata", "icon", "loadReferences", "script", "Ref", "Array", "loadAll", "source", "SetupAppGraph", "AppGraphBuilder", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "ScriptAction", "CreateScriptSchema", "pipe", "Schema", "omit", "getIntent", "props", "options", "createIntent", "Create", "space", "SetupReactSurface", "activatesBefore", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupArtifactDefinition", "BlueprintDefinition"]
|
|
7
7
|
}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-HUHVIOL5.mjs";
|
|
3
3
|
import {
|
|
4
4
|
DEPLOYMENT_DIALOG
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZA36GO4T.mjs";
|
|
6
|
+
import "./chunk-2GBESIHU.mjs";
|
|
6
7
|
import {
|
|
7
8
|
templates
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-GWHLP5LM.mjs";
|
|
10
|
+
import "./chunk-M642JUOZ.mjs";
|
|
10
11
|
import {
|
|
11
12
|
ScriptAction
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-JIPFLBYA.mjs";
|
|
13
14
|
import {
|
|
14
15
|
defaultScriptsForIntegration
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-AHXJ6NQU.mjs";
|
|
16
17
|
|
|
17
|
-
//
|
|
18
|
+
// src/capabilities/intent-resolver.ts
|
|
18
19
|
import { Octokit } from "@octokit/core";
|
|
19
20
|
import { Predicate } from "effect";
|
|
20
|
-
import {
|
|
21
|
+
import { Capabilities, LayoutAction, contributes, createIntent, createResolver } from "@dxos/app-framework";
|
|
21
22
|
import { Obj, Ref } from "@dxos/echo";
|
|
22
23
|
import { ScriptType } from "@dxos/functions";
|
|
23
24
|
import { TokenManagerAction } from "@dxos/plugin-token-manager/types";
|
|
@@ -49,9 +50,7 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
|
|
|
49
50
|
data: {
|
|
50
51
|
object: Obj.make(ScriptType, {
|
|
51
52
|
name,
|
|
52
|
-
source: Ref.make(
|
|
53
|
-
content
|
|
54
|
-
}))
|
|
53
|
+
source: Ref.make(DataType.makeText(content))
|
|
55
54
|
})
|
|
56
55
|
}
|
|
57
56
|
};
|
|
@@ -88,4 +87,4 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
|
|
|
88
87
|
export {
|
|
89
88
|
intent_resolver_default as default
|
|
90
89
|
};
|
|
91
|
-
//# sourceMappingURL=intent-resolver-
|
|
90
|
+
//# sourceMappingURL=intent-resolver-CGQYRWWD.mjs.map
|