@dxos/plugin-script 0.8.4-main.28f8d3d → 0.8.4-main.406dc2a
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-65TWT6S5.mjs +13 -0
- package/dist/lib/browser/NotebookContainer-LVGRPFY3.mjs +683 -0
- package/dist/lib/browser/NotebookContainer-LVGRPFY3.mjs.map +7 -0
- package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs +149 -0
- package/dist/lib/browser/ScriptContainer-LRTRN7JW.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-IABOSTBK.mjs → app-graph-builder-DPYULSME.mjs} +8 -7
- package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +28 -0
- package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +7 -0
- package/dist/lib/browser/chunk-5CYLWXRH.mjs +89 -0
- package/dist/lib/browser/chunk-5CYLWXRH.mjs.map +7 -0
- package/dist/lib/browser/chunk-75LH4EUR.mjs +326 -0
- package/dist/lib/browser/chunk-75LH4EUR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-MWZDJNCQ.mjs → chunk-E7DXDICD.mjs} +27 -28
- package/dist/lib/browser/chunk-E7DXDICD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QYAREHGH.mjs → chunk-EZVXV6DA.mjs} +3 -5
- package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-OULPWKXN.mjs → chunk-I3QSGUFJ.mjs} +157 -66
- package/dist/lib/browser/chunk-I3QSGUFJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SUOLJH55.mjs → chunk-JO2O7W6J.mjs} +71 -50
- package/dist/lib/browser/chunk-JO2O7W6J.mjs.map +7 -0
- package/dist/lib/browser/chunk-N6M34EUC.mjs +112 -0
- package/dist/lib/browser/chunk-N6M34EUC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-OAVS36Q3.mjs → chunk-NM4WQS4F.mjs} +14 -14
- package/dist/lib/browser/chunk-NM4WQS4F.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5TVBECWH.mjs → chunk-OKXN2N7M.mjs} +2 -2
- package/dist/lib/browser/chunk-ST3ACVUC.mjs +88 -0
- package/dist/lib/browser/chunk-ST3ACVUC.mjs.map +7 -0
- package/dist/lib/browser/{compiler-RIWQVBPX.mjs → compiler-G2N2CG63.mjs} +24 -11
- package/dist/lib/browser/{compiler-RIWQVBPX.mjs.map → compiler-G2N2CG63.mjs.map} +2 -2
- package/dist/lib/browser/index.mjs +113 -37
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-SAL2TM7U.mjs → intent-resolver-JLU7DVLQ.mjs} +31 -15
- package/dist/lib/browser/intent-resolver-JLU7DVLQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-E3SXU6ON.mjs → react-surface-76SDTUYG.mjs} +38 -15
- package/dist/lib/browser/react-surface-76SDTUYG.mjs.map +7 -0
- package/dist/lib/browser/{settings-KCTBK5TY.mjs → settings-ERFKVNUK.mjs} +9 -8
- package/dist/lib/browser/settings-ERFKVNUK.mjs.map +7 -0
- package/dist/lib/browser/templates/index.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +7 -4
- package/dist/lib/node-esm/{DeploymentDialog-O2XZVRLU.mjs → DeploymentDialog-I63ZC2HH.mjs} +6 -5
- package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs +684 -0
- package/dist/lib/node-esm/NotebookContainer-QY5NJGJI.mjs.map +7 -0
- package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs +150 -0
- package/dist/lib/node-esm/ScriptContainer-SVXCSLNH.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-CQTTAYHP.mjs → app-graph-builder-UXJGHXSL.mjs} +8 -7
- package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +30 -0
- package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2GVTWESW.mjs +90 -0
- package/dist/lib/node-esm/chunk-2GVTWESW.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4X375PGY.mjs +90 -0
- package/dist/lib/node-esm/chunk-4X375PGY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-67OVZHI3.mjs +327 -0
- package/dist/lib/node-esm/chunk-67OVZHI3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IO6T72KY.mjs → chunk-C2ORIPKH.mjs} +14 -14
- package/dist/lib/node-esm/chunk-C2ORIPKH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-35M3CHYE.mjs → chunk-NUXZQQ6P.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-AHXJ6NQU.mjs → chunk-OG2SIKHE.mjs} +3 -5
- package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6WMFL3JL.mjs → chunk-SMFPSKQT.mjs} +157 -66
- package/dist/lib/node-esm/chunk-SMFPSKQT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +114 -0
- package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7L4JDSXJ.mjs → chunk-VZAFGLD7.mjs} +27 -28
- package/dist/lib/node-esm/chunk-VZAFGLD7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PACUN7RS.mjs → chunk-YW36TZ7K.mjs} +71 -50
- package/dist/lib/node-esm/chunk-YW36TZ7K.mjs.map +7 -0
- package/dist/lib/node-esm/{compiler-S52P5P3F.mjs → compiler-PLDAZ5GJ.mjs} +24 -11
- package/dist/lib/node-esm/{compiler-S52P5P3F.mjs.map → compiler-PLDAZ5GJ.mjs.map} +2 -2
- package/dist/lib/node-esm/index.mjs +113 -37
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-GO53JOPL.mjs → intent-resolver-SFGTIFOG.mjs} +31 -15
- package/dist/lib/node-esm/intent-resolver-SFGTIFOG.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-W3NRCS5O.mjs → react-surface-SHEBNW4R.mjs} +38 -15
- package/dist/lib/node-esm/react-surface-SHEBNW4R.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-DXZ334A3.mjs → settings-5TYXQ42N.mjs} +9 -8
- package/dist/lib/node-esm/settings-5TYXQ42N.mjs.map +7 -0
- package/dist/lib/node-esm/templates/index.mjs +1 -1
- package/dist/lib/node-esm/types/index.mjs +7 -4
- package/dist/types/src/ScriptPlugin.d.ts +1 -1
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- 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/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/index.d.ts +6 -5
- 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/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +246 -13
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
- package/dist/types/src/components/NotebookContainer.d.ts +10 -0
- package/dist/types/src/components/NotebookContainer.d.ts.map +1 -0
- package/dist/types/src/components/NotebookContainer.stories.d.ts +248 -0
- package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +14 -0
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
- package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +14 -0
- package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +248 -0
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
- package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
- 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.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +245 -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 +2 -2
- package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +4 -2
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +11 -4
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts +12 -11
- 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/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/notebook/eval.d.ts +13 -0
- package/dist/types/src/notebook/eval.d.ts.map +1 -0
- package/dist/types/src/notebook/index.d.ts +2 -0
- package/dist/types/src/notebook/index.d.ts.map +1 -0
- package/dist/types/src/notebook/notebook.d.ts +35 -0
- package/dist/types/src/notebook/notebook.d.ts.map +1 -0
- package/dist/types/src/notebook/notebook.test.d.ts +2 -0
- package/dist/types/src/notebook/notebook.test.d.ts.map +1 -0
- package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
- package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
- package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
- package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
- package/dist/types/src/templates/chess.d.ts.map +1 -1
- package/dist/types/src/templates/data-generator.d.ts.map +1 -1
- package/dist/types/src/templates/discord.d.ts.map +1 -1
- package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
- package/dist/types/src/templates/forex.d.ts.map +1 -1
- package/dist/types/src/templates/gmail.d.ts.map +1 -1
- package/dist/types/src/templates/index.d.ts +43 -1
- package/dist/types/src/templates/index.d.ts.map +1 -1
- package/dist/types/src/templates/{echo.d.ts → ping.d.ts} +1 -1
- package/dist/types/src/templates/ping.d.ts.map +1 -0
- package/dist/types/src/testing/data.d.ts +19 -0
- package/dist/types/src/testing/data.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +28 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/actions.d.ts +66 -0
- package/dist/types/src/types/actions.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +54 -31
- package/dist/types/src/types/schema.d.ts.map +1 -1
- 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 +5 -2
- package/dist/types/src/util/functions.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +72 -68
- package/src/ScriptPlugin.tsx +99 -64
- package/src/capabilities/app-graph-builder.ts +4 -3
- package/src/capabilities/artifact-definition.ts +1 -1
- package/src/capabilities/blueprint-definition.ts +30 -0
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +14 -4
- package/src/capabilities/react-surface.tsx +17 -5
- package/src/capabilities/settings.ts +3 -3
- package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +34 -20
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +12 -18
- package/src/components/FrameContainer/FrameContainer.tsx +3 -2
- package/src/components/NotebookContainer.stories.tsx +32 -0
- package/src/components/NotebookContainer.tsx +124 -0
- package/src/components/NotebookStack/NotebookCell.tsx +217 -0
- package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
- package/src/components/NotebookStack/NotebookStack.stories.tsx +32 -0
- package/src/components/NotebookStack/NotebookStack.tsx +79 -0
- package/src/components/NotebookStack/index.ts +6 -0
- package/src/components/ScriptContainer.tsx +2 -2
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +34 -18
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +29 -22
- package/src/components/Settings/ScriptObjectSettings.tsx +109 -29
- package/src/components/Settings/ScriptPluginSettings.tsx +37 -47
- package/src/components/TestPanel/TestPanel.tsx +6 -6
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +74 -27
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +30 -24
- package/src/components/index.ts +3 -0
- package/src/events.ts +2 -2
- package/src/hooks/deploy.ts +17 -18
- package/src/hooks/format.ts +2 -2
- package/src/hooks/template.ts +4 -3
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +3 -3
- package/src/index.ts +1 -0
- package/src/meta.ts +2 -4
- package/src/notebook/eval.ts +105 -0
- package/src/notebook/index.ts +5 -0
- package/src/notebook/notebook.test.ts +70 -0
- package/src/notebook/notebook.ts +183 -0
- package/src/notebook/vfs-parser.test.ts +149 -0
- package/src/notebook/vfs-parser.ts +451 -0
- package/src/templates/chess.ts +2 -0
- package/src/templates/data-generator.ts +2 -0
- package/src/templates/discord.ts +11 -3
- package/src/templates/forex-effect.ts +6 -2
- package/src/templates/forex.ts +2 -0
- package/src/templates/gmail.ts +31 -60
- package/src/templates/index.ts +6 -6
- package/src/testing/data.ts +47 -0
- package/src/testing/index.ts +5 -0
- package/src/translations.ts +31 -4
- package/src/types/actions.ts +53 -0
- package/src/types/index.ts +1 -0
- package/src/types/schema.ts +30 -19
- package/src/util/deploy.ts +20 -33
- package/src/util/functions.ts +35 -6
- package/dist/lib/browser/DeploymentDialog-C3XH2Z56.mjs +0 -12
- package/dist/lib/browser/ScriptContainer-FUBR4OZE.mjs +0 -263
- package/dist/lib/browser/ScriptContainer-FUBR4OZE.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-IABOSTBK.mjs.map +0 -7
- package/dist/lib/browser/chunk-G4A2MGAL.mjs +0 -88
- package/dist/lib/browser/chunk-G4A2MGAL.mjs.map +0 -7
- package/dist/lib/browser/chunk-IS4OG2UW.mjs +0 -39
- package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +0 -7
- package/dist/lib/browser/chunk-MWZDJNCQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-OAVS36Q3.mjs.map +0 -7
- package/dist/lib/browser/chunk-OULPWKXN.mjs.map +0 -7
- package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUOLJH55.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SAL2TM7U.mjs.map +0 -7
- package/dist/lib/browser/react-surface-E3SXU6ON.mjs.map +0 -7
- package/dist/lib/browser/settings-KCTBK5TY.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-VJ75TM24.mjs +0 -264
- package/dist/lib/node-esm/ScriptContainer-VJ75TM24.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-CQTTAYHP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3BBEM2U7.mjs +0 -90
- package/dist/lib/node-esm/chunk-3BBEM2U7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6WMFL3JL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7L4JDSXJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IO6T72KY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JIPFLBYA.mjs +0 -40
- package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PACUN7RS.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-GO53JOPL.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-W3NRCS5O.mjs.map +0 -7
- package/dist/lib/node-esm/settings-DXZ334A3.mjs.map +0 -7
- package/dist/types/src/templates/echo.d.ts.map +0 -1
- /package/dist/lib/browser/{DeploymentDialog-C3XH2Z56.mjs.map → DeploymentDialog-65TWT6S5.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-5TVBECWH.mjs.map → chunk-OKXN2N7M.mjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-O2XZVRLU.mjs.map → DeploymentDialog-I63ZC2HH.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-35M3CHYE.mjs.map → chunk-NUXZQQ6P.mjs.map} +0 -0
- /package/src/templates/{echo.ts → ping.ts} +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
templates
|
|
4
|
-
} from "./chunk-3BBEM2U7.mjs";
|
|
5
2
|
import {
|
|
6
3
|
deployScript,
|
|
7
4
|
getFunctionUrl,
|
|
8
5
|
isScriptDeployed
|
|
9
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YW36TZ7K.mjs";
|
|
10
7
|
import {
|
|
11
|
-
|
|
12
|
-
} from "./chunk-
|
|
8
|
+
templates
|
|
9
|
+
} from "./chunk-2GVTWESW.mjs";
|
|
10
|
+
import {
|
|
11
|
+
meta
|
|
12
|
+
} from "./chunk-OG2SIKHE.mjs";
|
|
13
13
|
|
|
14
14
|
// src/hooks/deploy.ts
|
|
15
15
|
import { useEffect, useMemo } from "react";
|
|
16
|
-
import { FunctionType,
|
|
16
|
+
import { FunctionType, getUserFunctionIdInMetadata } from "@dxos/functions";
|
|
17
17
|
import { log } from "@dxos/log";
|
|
18
18
|
import { useClient } from "@dxos/react-client";
|
|
19
19
|
import { Query, Ref, getMeta, getSpace, useQuery } from "@dxos/react-client/echo";
|
|
20
20
|
import { createMenuAction } from "@dxos/react-ui-menu";
|
|
21
21
|
import { errorMessageColors } from "@dxos/react-ui-theme";
|
|
22
22
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
|
|
23
|
-
var createDeploy = ({ state, script, space, fn, client,
|
|
23
|
+
var createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }) => {
|
|
24
24
|
const errorItem = createMenuAction("error", () => {
|
|
25
25
|
}, {
|
|
26
26
|
label: state.error ?? [
|
|
27
27
|
"no error label",
|
|
28
28
|
{
|
|
29
|
-
ns:
|
|
29
|
+
ns: meta.id
|
|
30
30
|
}
|
|
31
31
|
],
|
|
32
32
|
icon: "ph--warning-circle--regular",
|
|
@@ -44,7 +44,7 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }
|
|
|
44
44
|
client,
|
|
45
45
|
space,
|
|
46
46
|
fn,
|
|
47
|
-
|
|
47
|
+
existingFunctionId
|
|
48
48
|
});
|
|
49
49
|
if (!result.success) {
|
|
50
50
|
log.catch(result.error, void 0, {
|
|
@@ -59,9 +59,9 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }
|
|
|
59
59
|
}, {
|
|
60
60
|
type: "deploy",
|
|
61
61
|
label: [
|
|
62
|
-
state.deploying ? "
|
|
62
|
+
state.deploying ? "publishing label" : "deploy label",
|
|
63
63
|
{
|
|
64
|
-
ns:
|
|
64
|
+
ns: meta.id
|
|
65
65
|
}
|
|
66
66
|
],
|
|
67
67
|
icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
|
|
@@ -69,16 +69,15 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }
|
|
|
69
69
|
classNames: state.deploying ? "[&_svg]:animate-spin" : ""
|
|
70
70
|
});
|
|
71
71
|
const copyAction = createMenuAction("copy", async () => {
|
|
72
|
-
if (
|
|
73
|
-
|
|
72
|
+
if (state.functionUrl) {
|
|
73
|
+
await navigator.clipboard.writeText(state.functionUrl);
|
|
74
74
|
}
|
|
75
|
-
await navigator.clipboard.writeText(state.functionUrl);
|
|
76
75
|
}, {
|
|
77
76
|
type: "copy",
|
|
78
77
|
label: [
|
|
79
78
|
"copy link label",
|
|
80
79
|
{
|
|
81
|
-
ns:
|
|
80
|
+
ns: meta.id
|
|
82
81
|
}
|
|
83
82
|
],
|
|
84
83
|
icon: "ph--link--regular",
|
|
@@ -107,11 +106,11 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }
|
|
|
107
106
|
};
|
|
108
107
|
};
|
|
109
108
|
var useDeployState = ({ state, script }) => {
|
|
110
|
-
const { space, client, fn,
|
|
109
|
+
const { space, client, fn, existingFunctionId } = useDeployDeps({
|
|
111
110
|
script
|
|
112
111
|
});
|
|
113
112
|
useEffect(() => {
|
|
114
|
-
if (!
|
|
113
|
+
if (!existingFunctionId) {
|
|
115
114
|
return;
|
|
116
115
|
}
|
|
117
116
|
state.functionUrl = getFunctionUrl({
|
|
@@ -120,7 +119,7 @@ var useDeployState = ({ state, script }) => {
|
|
|
120
119
|
edgeUrl: client.config.values.runtime?.services?.edge?.url ?? ""
|
|
121
120
|
});
|
|
122
121
|
}, [
|
|
123
|
-
|
|
122
|
+
existingFunctionId,
|
|
124
123
|
space,
|
|
125
124
|
fn,
|
|
126
125
|
script,
|
|
@@ -133,25 +132,25 @@ var useDeployState = ({ state, script }) => {
|
|
|
133
132
|
});
|
|
134
133
|
}, [
|
|
135
134
|
script.changed,
|
|
136
|
-
|
|
135
|
+
existingFunctionId,
|
|
137
136
|
fn,
|
|
138
137
|
script
|
|
139
138
|
]);
|
|
140
139
|
};
|
|
141
140
|
var useDeployDeps = ({ script }) => {
|
|
141
|
+
const client = useClient();
|
|
142
142
|
const space = getSpace(script);
|
|
143
143
|
const [fn] = useQuery(space, Query.type(FunctionType, {
|
|
144
144
|
source: Ref.make(script)
|
|
145
145
|
}));
|
|
146
|
-
const
|
|
147
|
-
const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [
|
|
146
|
+
const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(getMeta(fn)), [
|
|
148
147
|
fn
|
|
149
148
|
]);
|
|
150
149
|
return {
|
|
150
|
+
client,
|
|
151
151
|
space,
|
|
152
152
|
fn,
|
|
153
|
-
|
|
154
|
-
existingFunctionUrl
|
|
153
|
+
existingFunctionId
|
|
155
154
|
};
|
|
156
155
|
};
|
|
157
156
|
|
|
@@ -196,7 +195,7 @@ var createFormat = (script) => {
|
|
|
196
195
|
label: [
|
|
197
196
|
"format label",
|
|
198
197
|
{
|
|
199
|
-
ns:
|
|
198
|
+
ns: meta.id
|
|
200
199
|
}
|
|
201
200
|
],
|
|
202
201
|
icon: "ph--magic-wand--regular"
|
|
@@ -223,7 +222,7 @@ var createTemplateSelectGroup = () => {
|
|
|
223
222
|
label: [
|
|
224
223
|
"template select group label",
|
|
225
224
|
{
|
|
226
|
-
ns:
|
|
225
|
+
ns: meta.id
|
|
227
226
|
}
|
|
228
227
|
],
|
|
229
228
|
variant: "dropdownMenu"
|
|
@@ -239,7 +238,7 @@ var createTemplateSelectActions = (script) => {
|
|
|
239
238
|
if (oldPresetIndex >= 0) {
|
|
240
239
|
metaKeys.splice(oldPresetIndex, 1);
|
|
241
240
|
}
|
|
242
|
-
if (template
|
|
241
|
+
if ("presetId" in template) {
|
|
243
242
|
metaKeys.push({
|
|
244
243
|
source: FUNCTIONS_PRESET_META_KEY,
|
|
245
244
|
id: template.presetId
|
|
@@ -281,4 +280,4 @@ export {
|
|
|
281
280
|
createTemplateSelect,
|
|
282
281
|
useToolbarState
|
|
283
282
|
};
|
|
284
|
-
//# sourceMappingURL=chunk-
|
|
283
|
+
//# sourceMappingURL=chunk-VZAFGLD7.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { FunctionType, type ScriptType, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { Query, Ref, type Space, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport type CreateDeployOptions = {\n state: Partial<DeployState>;\n script: ScriptType;\n fn: FunctionType;\n space?: Space;\n existingFunctionId?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }: CreateDeployOptions) => {\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: state.error ?? ['no error label', { ns: meta.id }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionId });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n },\n {\n type: 'deploy',\n label: [state.deploying ? 'publishing label' : 'deploy label', { ns: meta.id }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (state.functionUrl) {\n await navigator.clipboard.writeText(state.functionUrl);\n }\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, fn, existingFunctionId } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionId) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionId, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionId, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: ScriptType }) => {\n const client = useClient();\n const space = getSpace(script);\n const [fn] = useQuery(space, Query.type(FunctionType, { source: Ref.make(script) }));\n const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(getMeta(fn)), [fn]);\n return { client, space, fn, existingFunctionId };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { live } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => live<ScriptToolbarState>(initialState), []);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: ScriptType) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [\n {\n source: 'root',\n target: 'format',\n },\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions';\nimport { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectGroup = () => {\n // TODO(burdon): This should not be in the toolbar (move to create Object dialog).\n return createMenuItemGroup('template-select', {\n label: ['template select group label', { ns: meta.id }],\n variant: 'dropdownMenu',\n });\n};\n\nconst createTemplateSelectActions = (script: ScriptType) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = Obj.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 ('presetId' in template) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: ScriptType) => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [templateSelectGroup, ...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useEffect", "useMemo", "FunctionType", "getUserFunctionIdInMetadata", "log", "useClient", "Query", "Ref", "getMeta", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionId", "t", "errorItem", "createMenuAction", "label", "error", "ns", "meta", "id", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "undefined", "deploying", "result", "deployScript", "success", "log", "catch", "type", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "useClient", "getSpace", "useQuery", "Query", "FunctionType", "Ref", "make", "useMemo", "getUserFunctionIdInMetadata", "getMeta", "useMemo", "live", "useToolbarState", "initialState", "useMemo", "live", "format", "prettierPluginEstree", "prettierPluginTypescript", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "target", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "label", "ns", "meta", "id", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createMenuItemGroup", "createTemplateSelectGroup", "createMenuItemGroup", "label", "ns", "meta", "id", "variant", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "name", "source", "target", "content", "metaKeys", "Obj", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "push", "presetId", "value", "type", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "nodes", "edges", "action"]
|
|
7
|
+
}
|
|
@@ -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-4X375PGY.mjs";
|
|
5
5
|
|
|
6
6
|
// src/util/functions.ts
|
|
7
|
-
import { getInvocationUrl,
|
|
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
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
|
};
|
|
@@ -28,7 +28,7 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
|
|
|
28
28
|
functionId
|
|
29
29
|
}, {
|
|
30
30
|
F: __dxlog_file,
|
|
31
|
-
L:
|
|
31
|
+
L: 45,
|
|
32
32
|
S: void 0,
|
|
33
33
|
C: (f, a) => f(...a)
|
|
34
34
|
});
|
|
@@ -40,7 +40,7 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
|
|
|
40
40
|
functionId
|
|
41
41
|
}, {
|
|
42
42
|
F: __dxlog_file,
|
|
43
|
-
L:
|
|
43
|
+
L: 51,
|
|
44
44
|
S: void 0,
|
|
45
45
|
C: (f, a) => f(...a)
|
|
46
46
|
});
|
|
@@ -52,25 +52,55 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
|
|
|
52
52
|
functionId
|
|
53
53
|
}, {
|
|
54
54
|
F: __dxlog_file,
|
|
55
|
-
L:
|
|
55
|
+
L: 57,
|
|
56
56
|
S: void 0,
|
|
57
57
|
C: (f, a) => f(...a)
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
+
if (meta.key) {
|
|
61
|
+
storedFunction.key = meta.key;
|
|
62
|
+
} else {
|
|
63
|
+
log.verbose("no key in function metadata", {
|
|
64
|
+
functionId
|
|
65
|
+
}, {
|
|
66
|
+
F: __dxlog_file,
|
|
67
|
+
L: 63,
|
|
68
|
+
S: void 0,
|
|
69
|
+
C: (f, a) => f(...a)
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var getAccessCredential = (identityKey) => {
|
|
74
|
+
return {
|
|
75
|
+
issuer: identityKey,
|
|
76
|
+
issuanceDate: /* @__PURE__ */ new Date(),
|
|
77
|
+
subject: {
|
|
78
|
+
id: identityKey,
|
|
79
|
+
assertion: {
|
|
80
|
+
"@type": "dxos.halo.credentials.ServiceAccess",
|
|
81
|
+
serverName: "hub.dxos.network",
|
|
82
|
+
serverKey: identityKey,
|
|
83
|
+
identityKey,
|
|
84
|
+
capabilities: [
|
|
85
|
+
"composer:beta"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
};
|
|
60
90
|
};
|
|
61
91
|
|
|
62
92
|
// src/util/deploy.ts
|
|
63
93
|
import { Obj, Ref } from "@dxos/echo";
|
|
64
|
-
import { FunctionType,
|
|
94
|
+
import { FunctionType, getUserFunctionIdInMetadata as getUserFunctionIdInMetadata2, setUserFunctionIdInMetadata } from "@dxos/functions";
|
|
65
95
|
import { Bundler } from "@dxos/functions/bundler";
|
|
66
96
|
import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
|
|
67
97
|
import { log as log2 } from "@dxos/log";
|
|
68
98
|
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
|
|
69
99
|
var isScriptDeployed = ({ script, fn }) => {
|
|
70
|
-
const
|
|
71
|
-
return Boolean(
|
|
100
|
+
const existingFunctionId = fn && getUserFunctionIdInMetadata2(Obj.getMeta(fn));
|
|
101
|
+
return Boolean(existingFunctionId) && !script.changed;
|
|
72
102
|
};
|
|
73
|
-
var deployScript = async ({ script, client, space, fn,
|
|
103
|
+
var deployScript = async ({ script, client, space, fn, existingFunctionId }) => {
|
|
74
104
|
const validationError = validateDeployInputs(script, space);
|
|
75
105
|
if (validationError) {
|
|
76
106
|
return {
|
|
@@ -79,17 +109,26 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
|
|
|
79
109
|
};
|
|
80
110
|
}
|
|
81
111
|
try {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
112
|
+
const bundler = new Bundler({
|
|
113
|
+
platform: "browser",
|
|
114
|
+
sandboxedModules: [],
|
|
115
|
+
remoteModules: {}
|
|
116
|
+
});
|
|
117
|
+
const buildResult = await bundler.bundle({
|
|
118
|
+
source: script.source.target.content
|
|
119
|
+
});
|
|
120
|
+
if ("error" in buildResult) {
|
|
121
|
+
throw buildResult.error || new Error("Bundle creation failed");
|
|
86
122
|
}
|
|
87
123
|
const { functionId, version, meta } = await uploadWorkerFunction({
|
|
88
124
|
client,
|
|
89
125
|
ownerPublicKey: space.key,
|
|
90
126
|
version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
|
|
91
127
|
functionId: existingFunctionId,
|
|
92
|
-
|
|
128
|
+
entryPoint: buildResult.entryPoint,
|
|
129
|
+
assets: {
|
|
130
|
+
[buildResult.entryPoint]: buildResult.asset
|
|
131
|
+
}
|
|
93
132
|
});
|
|
94
133
|
if (functionId === void 0 || version === void 0) {
|
|
95
134
|
throw new Error(`Upload didn't return expected data: ${JSON.stringify({
|
|
@@ -100,18 +139,15 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
|
|
|
100
139
|
const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
|
|
101
140
|
script.changed = false;
|
|
102
141
|
updateFunctionMetadata(script, storedFunction, meta, functionId);
|
|
103
|
-
|
|
104
|
-
functionId
|
|
105
|
-
});
|
|
106
|
-
setUserFunctionUrlInMetadata(Obj.getMeta(storedFunction), functionUrl);
|
|
142
|
+
setUserFunctionIdInMetadata(Obj.getMeta(storedFunction), functionId);
|
|
107
143
|
return {
|
|
108
144
|
success: true,
|
|
109
|
-
|
|
145
|
+
functionId
|
|
110
146
|
};
|
|
111
147
|
} catch (err) {
|
|
112
148
|
log2.catch(err, void 0, {
|
|
113
149
|
F: __dxlog_file2,
|
|
114
|
-
L:
|
|
150
|
+
L: 78,
|
|
115
151
|
S: void 0,
|
|
116
152
|
C: (f, a) => f(...a)
|
|
117
153
|
});
|
|
@@ -127,42 +163,25 @@ var validateDeployInputs = (script, space) => {
|
|
|
127
163
|
}
|
|
128
164
|
return null;
|
|
129
165
|
};
|
|
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
166
|
var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) => {
|
|
152
167
|
if (fn) {
|
|
168
|
+
fn.name = script.name ?? "New Function";
|
|
153
169
|
fn.version = version;
|
|
154
170
|
return fn;
|
|
155
171
|
} else {
|
|
156
|
-
|
|
157
|
-
name:
|
|
172
|
+
const fn2 = Obj.make(FunctionType, {
|
|
173
|
+
name: script.name ?? "New Function",
|
|
158
174
|
version,
|
|
159
175
|
source: Ref.make(script)
|
|
160
|
-
})
|
|
176
|
+
});
|
|
177
|
+
space.db.add(fn2);
|
|
178
|
+
setUserFunctionIdInMetadata(Obj.getMeta(fn2), functionId);
|
|
179
|
+
return fn2;
|
|
161
180
|
}
|
|
162
181
|
};
|
|
163
182
|
|
|
164
183
|
// src/hooks/useCreateAndDeployScriptTemplates.ts
|
|
165
|
-
import
|
|
184
|
+
import * as Function from "effect/Function";
|
|
166
185
|
import { useCallback, useState } from "react";
|
|
167
186
|
import { chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
168
187
|
import { Obj as Obj2 } from "@dxos/echo";
|
|
@@ -189,7 +208,7 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
|
|
|
189
208
|
setStatus("pending");
|
|
190
209
|
setError(void 0);
|
|
191
210
|
const deploymentResults = await Promise.all(scriptTemplates.map(async (template) => {
|
|
192
|
-
const result = await dispatch(pipe(createIntent(ScriptAction.
|
|
211
|
+
const result = await dispatch(Function.pipe(createIntent(ScriptAction.CreateScript, {
|
|
193
212
|
space,
|
|
194
213
|
initialTemplateId: template.id
|
|
195
214
|
}), chain(SpaceAction.AddObject, {
|
|
@@ -227,8 +246,10 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
|
|
|
227
246
|
|
|
228
247
|
export {
|
|
229
248
|
getFunctionUrl,
|
|
249
|
+
updateFunctionMetadata,
|
|
250
|
+
getAccessCredential,
|
|
230
251
|
isScriptDeployed,
|
|
231
252
|
deployScript,
|
|
232
253
|
useCreateAndDeployScriptTemplates
|
|
233
254
|
};
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
255
|
+
//# sourceMappingURL=chunk-YW36TZ7K.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 FunctionType, type ScriptType, getInvocationUrl, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { getMeta, getSpace } from '@dxos/react-client/echo';\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 = (\n script: ScriptType,\n storedFunction: FunctionType,\n meta: any,\n functionId: string,\n) => {\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 if (meta.key) {\n storedFunction.key = meta.key;\n } else {\n log.verbose('no key in function metadata', { functionId });\n }\n};\n\nexport const getAccessCredential = (identityKey: PublicKey): Credential => {\n return {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n };\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 * as Function 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 Function.pipe(\n createIntent(ScriptAction.CreateScript, { space, initialTemplateId: template.id as any }),\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": ";;;;;;AAIA,SAA6CA,kBAAkBC,mCAAmC;AAElG,SAASC,WAAW;AAEpB,SAASC,SAASC,gBAAgB;;AAI3B,IAAMC,iBAAiB,CAAC,EAC7BC,QACAC,IACAC,QAAO,MAKR;AACC,QAAMC,QAAQL,SAASE,MAAAA;AACvB,QAAMI,qBAAqBH,MAAMN,4BAA4BE,QAAQI,EAAAA,CAAAA;AAErE,MAAI,CAACG,oBAAoB;AACvB,WAAOC;EACT;AAEA,SAAOX,iBAAiBU,oBAAoBF,SAAS;IACnDI,SAASH,OAAOI;EAClB,CAAA;AACF;AAEO,IAAMC,yBAAyB,CACpCR,QACAS,gBACAC,MACAC,eAAAA;AAEA,MAAIX,OAAOY,gBAAgBP,UAAaL,OAAOY,YAAYC,KAAI,MAAO,IAAI;AACxEJ,mBAAeG,cAAcZ,OAAOY;EACtC,WAAWF,KAAKE,aAAa;AAC3BH,mBAAeG,cAAcF,KAAKE;EACpC,OAAO;AACLhB,QAAIkB,QAAQ,uCAAuC;MAAEH;IAAW,GAAA;;;;;;EAClE;AAEA,MAAID,KAAKK,aAAa;AACpBN,mBAAeM,cAAcL,KAAKK;EACpC,OAAO;AACLnB,QAAIkB,QAAQ,wCAAwC;MAAEH;IAAW,GAAA;;;;;;EACnE;AAEA,MAAID,KAAKM,cAAc;AACrBP,mBAAeO,eAAeN,KAAKM;EACrC,OAAO;AACLpB,QAAIkB,QAAQ,yCAAyC;MAAEH;IAAW,GAAA;;;;;;EACpE;AAEA,MAAID,KAAKO,KAAK;AACZR,mBAAeQ,MAAMP,KAAKO;EAC5B,OAAO;AACLrB,QAAIkB,QAAQ,+BAA+B;MAAEH;IAAW,GAAA;;;;;;EAC1D;AACF;AAEO,IAAMO,sBAAsB,CAACC,gBAAAA;AAClC,SAAO;IACLC,QAAQD;IACRE,cAAc,oBAAIC,KAAAA;IAClBC,SAAS;MACPhB,IAAIY;MACJK,WAAW;QACT,SAAS;QACTC,YAAY;QACZC,WAAWP;QACXA;QACAQ,cAAc;UAAC;;MACjB;IACF;EACF;AACF;;;AC5EA,SAASC,KAAKC,WAAW;AACzB,SACEC,cAEAC,+BAAAA,8BACAC,mCACK;AACP,SAASC,eAAe;AACxB,SAASC,sBAAsBC,4BAA4B;AAC3D,SAASC,OAAAA,YAAW;;AAKb,IAAMC,mBAAmB,CAAC,EAAEC,QAAQC,GAAE,MAAmC;AAC9E,QAAMC,qBAAqBD,MAAME,6BAA4BC,IAAIC,QAAQJ,EAAAA,CAAAA;AACzE,SAAOK,QAAQJ,kBAAAA,KAAuB,CAACF,OAAOO;AAChD;AAeO,IAAMC,eAAe,OAAO,EACjCR,QACAS,QACAC,OACAT,IACAC,mBAAkB,MACA;AAClB,QAAMS,kBAAkBC,qBAAqBZ,QAAQU,KAAAA;AACrD,MAAIC,iBAAiB;AACnB,WAAO;MAAEE,SAAS;MAAOC,OAAOH;IAAgB;EAClD;AAEA,MAAI;AACF,UAAMI,UAAU,IAAIC,QAAQ;MAAEC,UAAU;MAAWC,kBAAkB,CAAA;MAAIC,eAAe,CAAC;IAAE,CAAA;AAC3F,UAAMC,cAAc,MAAML,QAAQM,OAAO;MAAEC,QAAQtB,OAAOsB,OAAQC,OAAQC;IAAQ,CAAA;AAClF,QAAI,WAAWJ,aAAa;AAC1B,YAAMA,YAAYN,SAAS,IAAIW,MAAM,wBAAA;IACvC;AAEA,UAAM,EAAEC,YAAYC,SAASC,KAAI,IAAK,MAAMC,qBAAqB;MAC/DpB;MACAqB,gBAAgBpB,MAAMqB;MACtBJ,SAAS1B,KAAK+B,qBAAqB/B,GAAG0B,OAAO,IAAI;MACjDD,YAAYxB;MACZ+B,YAAYb,YAAYa;MACxBC,QAAQ;QAAE,CAACd,YAAYa,UAAU,GAAGb,YAAYe;MAAM;IACxD,CAAA;AAEA,QAAIT,eAAeU,UAAaT,YAAYS,QAAW;AACrD,YAAM,IAAIX,MAAM,uCAAuCY,KAAKC,UAAU;QAAEZ;QAAYC;MAAQ,CAAA,CAAA,EAAI;IAClG;AAEA,UAAMY,iBAAiBC,8BAA8B9B,OAAOT,IAAID,QAAQ0B,YAAYC,OAAAA;AACpF3B,WAAOO,UAAU;AACjBkC,2BAAuBzC,QAAQuC,gBAAgBX,MAAMF,UAAAA;AAErDgB,gCAA4BtC,IAAIC,QAAQkC,cAAAA,GAAiBb,UAAAA;AAEzD,WAAO;MAAEb,SAAS;MAAMa;IAAW;EACrC,SAASiB,KAAU;AACjBC,IAAAA,KAAIC,MAAMF,KAAAA,QAAAA;;;;;;AACV,WAAO;MAAE9B,SAAS;MAAOC,OAAO6B;IAAI;EACtC;AACF;AAKA,IAAM/B,uBAAuB,CAACZ,QAAoBU,UAAAA;AAChD,MAAI,CAACV,OAAOsB,UAAU,CAACZ,OAAO;AAC5B,WAAO,IAAIe,MAAM,sCAAA;EACnB;AACA,SAAO;AACT;AAEA,IAAMe,gCAAgC,CACpC9B,OACAT,IACAD,QACA0B,YACAC,YAAAA;AAEA,MAAI1B,IAAI;AACNA,OAAG6C,OAAO9C,OAAO8C,QAAQ;AACzB7C,OAAG0B,UAAUA;AACb,WAAO1B;EACT,OAAO;AACL,UAAMA,MAAKG,IAAI2C,KAAKC,cAAc;MAAEF,MAAM9C,OAAO8C,QAAQ;MAAgBnB;MAASL,QAAQ2B,IAAIF,KAAK/C,MAAAA;IAAQ,CAAA;AAC3GU,UAAMwC,GAAGC,IAAIlD,GAAAA;AACbyC,gCAA4BtC,IAAIC,QAAQJ,GAAAA,GAAKyB,UAAAA;AAC7C,WAAOzB;EACT;AACF;;;ACzGA,YAAYmD,cAAc;AAC1B,SAASC,aAAaC,gBAAgB;AAEtC,SAASC,OAAOC,cAAcC,2BAA2B;AACzD,SAASC,OAAAA,YAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,iBAAiB;;AAgBnB,IAAMC,oCAAoC,CAACC,OAA0BC,oBAAAA;AAC1E,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,QAAMC,SAASC,UAAAA;AACf,QAAM,CAACC,QAAQC,SAAAA,IAAaC,SAA2B,MAAA;AACvD,QAAM,CAACC,OAAOC,QAAAA,IAAYF,SAA4BG,MAAAA;AAEtD,QAAMC,+BAA+BC,YAAY,YAAA;AAC/CC,cAAUf,OAAAA,QAAAA;;;;;;;;;AACVQ,cAAU,SAAA;AACVG,aAASC,MAAAA;AAET,UAAMI,oBAAoB,MAAMC,QAAQC,IACtCjB,gBAAgBkB,IAAI,OAAOC,aAAAA;AACzB,YAAMC,SAAS,MAAMlB,SACVmB,cACPC,aAAaC,aAAaC,cAAc;QAAEzB;QAAO0B,mBAAmBN,SAASO;MAAU,CAAA,GACvFC,MAAMC,YAAYC,WAAW;QAAEC,QAAQ/B;MAAM,CAAA,CAAA,CAAA;AAGjDe,gBAAUiB,KAAIC,WAAWC,YAAYb,OAAOc,MAAMC,MAAAA,GAAAA,QAAAA;;;;;;;;;AAElD,aAAOC,aAAa;QAAErC;QAAOK;QAAQiC,QAAQjB,OAAOc,KAAKC;MAAO,CAAA;IAClE,CAAA,CAAA;AAGF,UAAMG,YAAYvB,kBAAkBwB,KAAK,CAACnB,WAAW,CAACA,OAAOoB,OAAO;AACpEjC,cAAU+B,YAAY,UAAU,SAAA;EAClC,GAAG;IAACvC;IAAOG;IAAUE;IAAQJ;GAAgB;AAG7C,SAAO;IAAEY;IAA8BN;IAAQG;EAAM;AACvD;",
|
|
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", "key", "getAccessCredential", "identityKey", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "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", "Function", "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", "CreateScript", "initialTemplateId", "id", "chain", "SpaceAction", "AddObject", "target", "Obj", "instanceOf", "ScriptType", "data", "object", "deployScript", "script", "hasErrors", "some", "success"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
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-NUXZQQ6P.mjs";
|
|
5
|
+
import "./chunk-OG2SIKHE.mjs";
|
|
6
6
|
|
|
7
7
|
// src/capabilities/compiler.ts
|
|
8
8
|
import wasmUrl from "esbuild-wasm/esbuild.wasm?url";
|
|
@@ -13,6 +13,19 @@ import { initializeBundler } from "@dxos/functions/bundler";
|
|
|
13
13
|
import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
|
|
14
14
|
import ts from "typescript";
|
|
15
15
|
import { invariant } from "@dxos/invariant";
|
|
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
|
+
}
|
|
16
29
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
|
|
17
30
|
var defaultOptions = {
|
|
18
31
|
lib: [
|
|
@@ -22,12 +35,6 @@ var defaultOptions = {
|
|
|
22
35
|
target: ts.ScriptTarget.ES2022
|
|
23
36
|
};
|
|
24
37
|
var Compiler = class {
|
|
25
|
-
_options;
|
|
26
|
-
_env;
|
|
27
|
-
_fsMap;
|
|
28
|
-
constructor(_options = defaultOptions) {
|
|
29
|
-
this._options = _options;
|
|
30
|
-
}
|
|
31
38
|
async initialize() {
|
|
32
39
|
if (this._env) {
|
|
33
40
|
return;
|
|
@@ -63,10 +70,16 @@ var Compiler = class {
|
|
|
63
70
|
compile(fileName) {
|
|
64
71
|
return this.environment.languageService.getEmitOutput(fileName);
|
|
65
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
|
+
}
|
|
66
79
|
};
|
|
67
80
|
|
|
68
81
|
// src/capabilities/compiler.ts
|
|
69
|
-
var compiler_default = async () => {
|
|
82
|
+
var compiler_default = (async () => {
|
|
70
83
|
const compiler = new Compiler();
|
|
71
84
|
await compiler.initialize();
|
|
72
85
|
compiler.setFile("/src/typings.d.ts", "declare module 'https://*';");
|
|
@@ -79,8 +92,8 @@ var compiler_default = async () => {
|
|
|
79
92
|
wasmUrl
|
|
80
93
|
});
|
|
81
94
|
return contributes(ScriptCapabilities.Compiler, compiler);
|
|
82
|
-
};
|
|
95
|
+
});
|
|
83
96
|
export {
|
|
84
97
|
compiler_default as default
|
|
85
98
|
};
|
|
86
|
-
//# sourceMappingURL=compiler-
|
|
99
|
+
//# sourceMappingURL=compiler-PLDAZ5GJ.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/compiler.ts", "../../../src/compiler/compiler.ts"],
|
|
4
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
|
|
6
|
-
"names": ["wasmUrl", "contributes", "initializeBundler", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "
|
|
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,oBAAe,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
7
|
}
|