@dxos/plugin-script 0.8.2-staging.7ac8446 → 0.8.3-main.672df60
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-NLWQHNKE.mjs +12 -0
- package/dist/lib/browser/ScriptContainer-NDMTQG2N.mjs +271 -0
- package/dist/lib/browser/ScriptContainer-NDMTQG2N.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-RRLY67QC.mjs → app-graph-builder-V3HPXJAD.mjs} +10 -10
- package/dist/lib/browser/app-graph-builder-V3HPXJAD.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-WXFYD2V5.mjs → artifact-definition-L3AIY4XA.mjs} +45 -48
- package/dist/lib/browser/artifact-definition-L3AIY4XA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-MQZQB5VD.mjs → chunk-6T64VQHF.mjs} +10 -10
- package/dist/lib/browser/chunk-6T64VQHF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WSK3YQXI.mjs → chunk-6ZHHWU6S.mjs} +4 -3
- package/dist/lib/browser/{chunk-WSK3YQXI.mjs.map → chunk-6ZHHWU6S.mjs.map} +2 -2
- package/dist/lib/browser/chunk-BMVT3XMV.mjs +557 -0
- package/dist/lib/browser/chunk-BMVT3XMV.mjs.map +7 -0
- package/dist/lib/browser/chunk-BTEFFA4C.mjs +153 -0
- package/dist/lib/browser/chunk-BTEFFA4C.mjs.map +7 -0
- package/dist/lib/browser/chunk-SH4MI7PU.mjs +364 -0
- package/dist/lib/browser/chunk-SH4MI7PU.mjs.map +7 -0
- package/dist/lib/browser/chunk-WB3X5Z7Q.mjs +40 -0
- package/dist/lib/browser/chunk-WB3X5Z7Q.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4VD3K3PY.mjs → chunk-YSQMXTYO.mjs} +3 -3
- package/dist/lib/{node-esm/chunk-EB5DSAD4.mjs.map → browser/chunk-YSQMXTYO.mjs.map} +1 -1
- package/dist/lib/browser/{compiler-56LTBEQB.mjs → compiler-W4BYJYTL.mjs} +3 -3
- package/dist/lib/browser/compiler-W4BYJYTL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +20 -16
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-WCVXKRBR.mjs → intent-resolver-BIJLOJU3.mjs} +14 -14
- package/dist/lib/browser/intent-resolver-BIJLOJU3.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-WXZVPNGI.mjs → react-surface-ZBCIYBGH.mjs} +16 -28
- package/dist/lib/browser/react-surface-ZBCIYBGH.mjs.map +7 -0
- package/dist/lib/browser/{settings-Z7B37V2I.mjs → settings-FU7NTENS.mjs} +5 -5
- package/dist/lib/browser/settings-FU7NTENS.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +2 -2
- package/dist/lib/node/{DeploymentDialog-O4MU4OMF.cjs → DeploymentDialog-PC5AL3BB.cjs} +10 -10
- package/dist/lib/node/DeploymentDialog-PC5AL3BB.cjs.map +7 -0
- package/dist/lib/node/ScriptContainer-CLW7YCIP.cjs +288 -0
- package/dist/lib/node/ScriptContainer-CLW7YCIP.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-6I2BWD46.cjs → app-graph-builder-YE4OM4OC.cjs} +17 -17
- package/dist/lib/node/app-graph-builder-YE4OM4OC.cjs.map +7 -0
- package/dist/lib/node/{artifact-definition-6NVXEHJD.cjs → artifact-definition-6BD6CVOV.cjs} +55 -58
- package/dist/lib/node/artifact-definition-6BD6CVOV.cjs.map +7 -0
- package/dist/lib/node/{chunk-XFZPWFEG.cjs → chunk-HCRW6T3G.cjs} +19 -20
- package/dist/lib/node/chunk-HCRW6T3G.cjs.map +7 -0
- package/dist/lib/node/chunk-Q44SJXEN.cjs +369 -0
- package/dist/lib/node/chunk-Q44SJXEN.cjs.map +7 -0
- package/dist/lib/node/chunk-QCAKVK6S.cjs +580 -0
- package/dist/lib/node/chunk-QCAKVK6S.cjs.map +7 -0
- package/dist/lib/node/{chunk-YJQZHKKA.cjs → chunk-QG2X6J74.cjs} +7 -6
- package/dist/lib/node/{chunk-YJQZHKKA.cjs.map → chunk-QG2X6J74.cjs.map} +2 -2
- package/dist/lib/node/chunk-RARNZD62.cjs +179 -0
- package/dist/lib/node/chunk-RARNZD62.cjs.map +7 -0
- package/dist/lib/node/{chunk-VYBEBLDO.cjs → chunk-V6L73D7S.cjs} +14 -14
- package/dist/lib/node/chunk-V6L73D7S.cjs.map +7 -0
- package/dist/lib/node/{chunk-JICWAOWZ.cjs → chunk-ZEV3VARQ.cjs} +7 -7
- package/dist/lib/node/{chunk-JICWAOWZ.cjs.map → chunk-ZEV3VARQ.cjs.map} +1 -1
- package/dist/lib/node/{compiler-W2RU3M7U.cjs → compiler-TFSJRLL4.cjs} +7 -7
- package/dist/lib/node/{compiler-W2RU3M7U.cjs.map → compiler-TFSJRLL4.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +49 -45
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-J4NBDNFH.cjs → intent-resolver-QKBCESXR.cjs} +21 -21
- package/dist/lib/node/intent-resolver-QKBCESXR.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-27KTUBIZ.cjs → react-surface-HZJOZHHG.cjs} +38 -47
- package/dist/lib/node/react-surface-HZJOZHHG.cjs.map +7 -0
- package/dist/lib/node/{settings-EI6VPNKN.cjs → settings-RRCQ7ZQD.cjs} +9 -9
- package/dist/lib/node/settings-RRCQ7ZQD.cjs.map +7 -0
- package/dist/lib/node/types.cjs +5 -5
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/{DeploymentDialog-SSQSWLHX.mjs → DeploymentDialog-QHB2BGNJ.mjs} +5 -5
- package/dist/lib/node-esm/ScriptContainer-PMRP7AJ5.mjs +272 -0
- package/dist/lib/node-esm/ScriptContainer-PMRP7AJ5.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-H5XLRVX3.mjs → app-graph-builder-4CN7URJQ.mjs} +10 -10
- package/dist/lib/node-esm/app-graph-builder-4CN7URJQ.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-KQ64AYBP.mjs → artifact-definition-PPV2XKU7.mjs} +45 -48
- package/dist/lib/node-esm/artifact-definition-PPV2XKU7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-25GOLUXY.mjs +154 -0
- package/dist/lib/node-esm/chunk-25GOLUXY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-EB5DSAD4.mjs → chunk-2KJYPUQD.mjs} +3 -3
- package/dist/lib/{browser/chunk-4VD3K3PY.mjs.map → node-esm/chunk-2KJYPUQD.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-F4HA5C34.mjs → chunk-47MABIVX.mjs} +10 -10
- package/dist/lib/node-esm/chunk-47MABIVX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FDEAVT67.mjs → chunk-AEB5TPEW.mjs} +4 -3
- package/dist/lib/node-esm/{chunk-FDEAVT67.mjs.map → chunk-AEB5TPEW.mjs.map} +2 -2
- package/dist/lib/node-esm/chunk-IIPL3OKN.mjs +558 -0
- package/dist/lib/node-esm/chunk-IIPL3OKN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JFCZ3L27.mjs +365 -0
- package/dist/lib/node-esm/chunk-JFCZ3L27.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-UESZKXLR.mjs +41 -0
- package/dist/lib/node-esm/chunk-UESZKXLR.mjs.map +7 -0
- package/dist/lib/node-esm/{compiler-VT5C2Z3T.mjs → compiler-7PQ4D43R.mjs} +3 -3
- package/dist/lib/{browser/compiler-56LTBEQB.mjs.map → node-esm/compiler-7PQ4D43R.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +20 -16
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-PDZ2A26X.mjs → intent-resolver-UWYXAPLZ.mjs} +14 -14
- package/dist/lib/node-esm/intent-resolver-UWYXAPLZ.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-UCUVDVSH.mjs → react-surface-MHCPAP55.mjs} +16 -28
- package/dist/lib/node-esm/react-surface-MHCPAP55.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-HU5UEFRF.mjs → settings-NKNC32QC.mjs} +5 -5
- package/dist/lib/node-esm/settings-NKNC32QC.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +2 -2
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -177
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestContainer.d.ts +7 -0
- package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -0
- package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/index.d.ts +1 -0
- package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/hooks/deploy.d.ts +22 -19
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/format.d.ts +2 -5
- package/dist/types/src/hooks/format.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/template.d.ts +2 -5
- package/dist/types/src/hooks/template.d.ts.map +1 -1
- package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/templates/chat.d.ts +1 -1
- package/dist/types/src/templates/chat.d.ts.map +1 -1
- package/dist/types/src/templates/chess.d.ts.map +1 -1
- package/dist/types/src/templates/data-generator.d.ts +0 -7
- package/dist/types/src/templates/data-generator.d.ts.map +1 -1
- package/dist/types/src/templates/discord.d.ts.map +1 -1
- package/dist/types/src/templates/echo.d.ts +1 -1
- package/dist/types/src/templates/echo.d.ts.map +1 -1
- package/dist/types/src/templates/email.d.ts +1 -1
- package/dist/types/src/templates/email.d.ts.map +1 -1
- package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
- package/dist/types/src/templates/forex.d.ts.map +1 -1
- package/dist/types/src/templates/gmail.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -110
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +27 -26
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/util/deploy.d.ts.map +1 -1
- package/dist/types/src/util/functions.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -53
- package/src/ScriptPlugin.tsx +4 -2
- package/src/capabilities/app-graph-builder.ts +46 -29
- package/src/capabilities/artifact-definition.ts +40 -38
- package/src/capabilities/intent-resolver.ts +7 -7
- package/src/capabilities/react-surface.tsx +7 -17
- package/src/capabilities/settings.ts +2 -2
- package/src/compiler/compiler.ts +3 -3
- package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +2 -2
- package/src/components/ScriptContainer.tsx +2 -2
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +27 -18
- package/src/components/Settings/ScriptObjectSettings.tsx +5 -5
- package/src/components/TestPanel/TestContainer.tsx +21 -0
- package/src/components/TestPanel/index.ts +1 -0
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +0 -6
- package/src/hooks/deploy.ts +61 -55
- package/src/hooks/format.ts +26 -26
- package/src/hooks/index.ts +0 -1
- package/src/hooks/template.ts +24 -32
- package/src/hooks/useToolbarState.ts +2 -2
- package/src/meta.ts +3 -2
- package/src/templates/chat.ts +4 -10
- package/src/templates/chess.ts +2 -7
- package/src/templates/data-generator.ts +20 -45
- package/src/templates/discord.ts +17 -15
- package/src/templates/echo.ts +1 -12
- package/src/templates/email.ts +8 -14
- package/src/templates/forex-effect.ts +4 -8
- package/src/templates/forex.ts +1 -5
- package/src/templates/gmail.ts +37 -28
- package/src/translations.ts +1 -1
- package/src/types.ts +13 -14
- package/src/util/deploy.ts +6 -10
- package/dist/lib/browser/DeploymentDialog-AEPYJKPO.mjs +0 -12
- package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs +0 -248
- package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-WXFYD2V5.mjs.map +0 -7
- package/dist/lib/browser/chunk-2CGZFDCR.mjs +0 -480
- package/dist/lib/browser/chunk-2CGZFDCR.mjs.map +0 -7
- package/dist/lib/browser/chunk-CSZXPLYY.mjs +0 -147
- package/dist/lib/browser/chunk-CSZXPLYY.mjs.map +0 -7
- package/dist/lib/browser/chunk-KLEOGVXY.mjs +0 -352
- package/dist/lib/browser/chunk-KLEOGVXY.mjs.map +0 -7
- package/dist/lib/browser/chunk-MQZQB5VD.mjs.map +0 -7
- package/dist/lib/browser/chunk-R2CHVWJ2.mjs +0 -41
- package/dist/lib/browser/chunk-R2CHVWJ2.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUCBNCEQ.mjs +0 -87
- package/dist/lib/browser/chunk-SUCBNCEQ.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs.map +0 -7
- package/dist/lib/browser/react-surface-WXZVPNGI.mjs.map +0 -7
- package/dist/lib/browser/settings-Z7B37V2I.mjs.map +0 -7
- package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs.map +0 -7
- package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs +0 -267
- package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-6I2BWD46.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-6NVXEHJD.cjs.map +0 -7
- package/dist/lib/node/chunk-65MIJR3Q.cjs +0 -173
- package/dist/lib/node/chunk-65MIJR3Q.cjs.map +0 -7
- package/dist/lib/node/chunk-F4DP7WON.cjs +0 -372
- package/dist/lib/node/chunk-F4DP7WON.cjs.map +0 -7
- package/dist/lib/node/chunk-SLDJM45C.cjs +0 -507
- package/dist/lib/node/chunk-SLDJM45C.cjs.map +0 -7
- package/dist/lib/node/chunk-VYBEBLDO.cjs.map +0 -7
- package/dist/lib/node/chunk-X7MHLHHS.cjs +0 -91
- package/dist/lib/node/chunk-X7MHLHHS.cjs.map +0 -7
- package/dist/lib/node/chunk-XFZPWFEG.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-J4NBDNFH.cjs.map +0 -7
- package/dist/lib/node/react-surface-27KTUBIZ.cjs.map +0 -7
- package/dist/lib/node/settings-EI6VPNKN.cjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs +0 -249
- package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-KQ64AYBP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4MTPYMV2.mjs +0 -481
- package/dist/lib/node-esm/chunk-4MTPYMV2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-F4HA5C34.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MU3JKVL2.mjs +0 -148
- package/dist/lib/node-esm/chunk-MU3JKVL2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PBGVTGL2.mjs +0 -353
- package/dist/lib/node-esm/chunk-PBGVTGL2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QDYGTY4L.mjs +0 -89
- package/dist/lib/node-esm/chunk-QDYGTY4L.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RW2APVMV.mjs +0 -42
- package/dist/lib/node-esm/chunk-RW2APVMV.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-VT5C2Z3T.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs.map +0 -7
- package/dist/lib/node-esm/settings-HU5UEFRF.mjs.map +0 -7
- package/dist/types/src/hooks/useToolbarAction.d.ts +0 -13
- package/dist/types/src/hooks/useToolbarAction.d.ts.map +0 -1
- package/src/hooks/useToolbarAction.ts +0 -50
- /package/dist/lib/browser/{DeploymentDialog-AEPYJKPO.mjs.map → DeploymentDialog-NLWQHNKE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-SSQSWLHX.mjs.map → DeploymentDialog-QHB2BGNJ.mjs.map} +0 -0
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useCreateAndDeployScriptTemplates
|
|
3
|
-
} from "./chunk-MQZQB5VD.mjs";
|
|
4
|
-
import {
|
|
5
|
-
SCRIPT_PLUGIN
|
|
6
|
-
} from "./chunk-WSK3YQXI.mjs";
|
|
7
|
-
|
|
8
|
-
// packages/plugins/plugin-script/src/components/DeploymentDialog/DeploymentDialog.tsx
|
|
9
|
-
import React, { useEffect, useMemo } from "react";
|
|
10
|
-
import { createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
|
|
11
|
-
import { getSpace } from "@dxos/react-client/echo";
|
|
12
|
-
import { Button, Dialog, Icon, useTranslation } from "@dxos/react-ui";
|
|
13
|
-
var DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;
|
|
14
|
-
var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
|
|
15
|
-
const { t } = useTranslation(SCRIPT_PLUGIN);
|
|
16
|
-
const space = useMemo(() => getSpace(accessToken), [
|
|
17
|
-
accessToken
|
|
18
|
-
]);
|
|
19
|
-
const { handleCreateAndDeployScripts, status } = useCreateAndDeployScriptTemplates(space, scriptTemplates);
|
|
20
|
-
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
if (status === "success") {
|
|
23
|
-
void dispatch(createIntent(LayoutAction.AddToast, {
|
|
24
|
-
part: "toast",
|
|
25
|
-
subject: {
|
|
26
|
-
id: `${SCRIPT_PLUGIN}/deployment-success`,
|
|
27
|
-
icon: "ph--check--regular",
|
|
28
|
-
duration: Infinity,
|
|
29
|
-
title: [
|
|
30
|
-
"script deployment toast label",
|
|
31
|
-
{
|
|
32
|
-
ns: SCRIPT_PLUGIN,
|
|
33
|
-
count: scriptTemplates.length
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
description: [
|
|
37
|
-
"script deployment toast description",
|
|
38
|
-
{
|
|
39
|
-
ns: SCRIPT_PLUGIN,
|
|
40
|
-
count: scriptTemplates.length
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
closeLabel: [
|
|
44
|
-
"script deployment toast close label",
|
|
45
|
-
{
|
|
46
|
-
ns: SCRIPT_PLUGIN,
|
|
47
|
-
count: scriptTemplates.length
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
}));
|
|
52
|
-
void dispatch(createIntent(LayoutAction.UpdateDialog, {
|
|
53
|
-
part: "dialog",
|
|
54
|
-
options: {
|
|
55
|
-
state: false
|
|
56
|
-
}
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
if (status === "error") {
|
|
60
|
-
void dispatch(createIntent(LayoutAction.UpdateDialog, {
|
|
61
|
-
part: "dialog",
|
|
62
|
-
options: {
|
|
63
|
-
state: false
|
|
64
|
-
}
|
|
65
|
-
}));
|
|
66
|
-
void dispatch(createIntent(LayoutAction.AddToast, {
|
|
67
|
-
part: "toast",
|
|
68
|
-
subject: {
|
|
69
|
-
id: `${SCRIPT_PLUGIN}/deployment-error`,
|
|
70
|
-
icon: "ph--warning--regular",
|
|
71
|
-
duration: Infinity,
|
|
72
|
-
title: [
|
|
73
|
-
"script deployment error toast label",
|
|
74
|
-
{
|
|
75
|
-
ns: SCRIPT_PLUGIN,
|
|
76
|
-
count: scriptTemplates.length
|
|
77
|
-
}
|
|
78
|
-
],
|
|
79
|
-
description: [
|
|
80
|
-
"script deployment error toast description",
|
|
81
|
-
{
|
|
82
|
-
ns: SCRIPT_PLUGIN,
|
|
83
|
-
count: scriptTemplates.length
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
closeLabel: [
|
|
87
|
-
"script deployment error toast close label",
|
|
88
|
-
{
|
|
89
|
-
ns: SCRIPT_PLUGIN,
|
|
90
|
-
count: scriptTemplates.length
|
|
91
|
-
}
|
|
92
|
-
]
|
|
93
|
-
}
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
}, [
|
|
97
|
-
status,
|
|
98
|
-
dispatch
|
|
99
|
-
]);
|
|
100
|
-
return /* @__PURE__ */ React.createElement(Dialog.Content, null, /* @__PURE__ */ React.createElement("div", {
|
|
101
|
-
className: "flex justify-between items-center"
|
|
102
|
-
}, /* @__PURE__ */ React.createElement(Dialog.Title, null, t("deployment dialog title")), /* @__PURE__ */ React.createElement(Dialog.Close, {
|
|
103
|
-
asChild: true
|
|
104
|
-
}, /* @__PURE__ */ React.createElement(Button, {
|
|
105
|
-
density: "fine",
|
|
106
|
-
variant: "ghost"
|
|
107
|
-
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
108
|
-
icon: "ph--x--regular",
|
|
109
|
-
size: 4
|
|
110
|
-
})))), /* @__PURE__ */ React.createElement("div", {
|
|
111
|
-
role: "none",
|
|
112
|
-
className: "plb-4"
|
|
113
|
-
}, /* @__PURE__ */ React.createElement("p", null, t("deployment dialog scripts found message", {
|
|
114
|
-
count: scriptTemplates.length
|
|
115
|
-
})), /* @__PURE__ */ React.createElement("ul", {
|
|
116
|
-
className: "pbs-2"
|
|
117
|
-
}, scriptTemplates.map((template) => {
|
|
118
|
-
return /* @__PURE__ */ React.createElement("li", {
|
|
119
|
-
key: template.id
|
|
120
|
-
}, template.name);
|
|
121
|
-
}))), /* @__PURE__ */ React.createElement("div", {
|
|
122
|
-
role: "none",
|
|
123
|
-
className: "flex flex-row-reverse gap-1"
|
|
124
|
-
}, /* @__PURE__ */ React.createElement(Button, {
|
|
125
|
-
variant: "primary",
|
|
126
|
-
onClick: handleCreateAndDeployScripts,
|
|
127
|
-
disabled: status === "pending"
|
|
128
|
-
}, status === "pending" ? t("deployment dialog deploy functions pending button label", {
|
|
129
|
-
count: scriptTemplates.length
|
|
130
|
-
}) : t("deployment dialog deploy functions button label", {
|
|
131
|
-
count: scriptTemplates.length
|
|
132
|
-
})), /* @__PURE__ */ React.createElement(Dialog.Close, {
|
|
133
|
-
asChild: true,
|
|
134
|
-
disabled: status === "pending"
|
|
135
|
-
}, /* @__PURE__ */ React.createElement(Button, {
|
|
136
|
-
disabled: status === "pending"
|
|
137
|
-
}, t("deployment dialog skip button label")))));
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
// packages/plugins/plugin-script/src/components/DeploymentDialog/index.ts
|
|
141
|
-
var DeploymentDialog_default = DeploymentDialog;
|
|
142
|
-
|
|
143
|
-
export {
|
|
144
|
-
DEPLOYMENT_DIALOG,
|
|
145
|
-
DeploymentDialog_default
|
|
146
|
-
};
|
|
147
|
-
//# sourceMappingURL=chunk-CSZXPLYY.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';\nimport { type AccessTokenType } 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\ntype DeploymentDialogProps = {\n accessToken: AccessTokenType;\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 { DeploymentDialog, DEPLOYMENT_DIALOG } from './DeploymentDialog';\n\nexport { DEPLOYMENT_DIALOG };\n\nexport default DeploymentDialog;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useEffect", "useMemo", "createIntent", "LayoutAction", "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,352 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
templates
|
|
3
|
-
} from "./chunk-SUCBNCEQ.mjs";
|
|
4
|
-
import {
|
|
5
|
-
deployScript,
|
|
6
|
-
getFunctionUrl,
|
|
7
|
-
isScriptDeployed
|
|
8
|
-
} from "./chunk-MQZQB5VD.mjs";
|
|
9
|
-
import {
|
|
10
|
-
SCRIPT_PLUGIN
|
|
11
|
-
} from "./chunk-WSK3YQXI.mjs";
|
|
12
|
-
|
|
13
|
-
// packages/plugins/plugin-script/src/hooks/deploy.ts
|
|
14
|
-
import { useCallback, useEffect, useMemo } from "react";
|
|
15
|
-
import { FunctionType, getUserFunctionUrlInMetadata } from "@dxos/functions";
|
|
16
|
-
import { log } from "@dxos/log";
|
|
17
|
-
import { useClient } from "@dxos/react-client";
|
|
18
|
-
import { Filter, getMeta, getSpace, useQuery } from "@dxos/react-client/echo";
|
|
19
|
-
import { useTranslation } from "@dxos/react-ui";
|
|
20
|
-
import { createMenuAction } from "@dxos/react-ui-menu";
|
|
21
|
-
import { errorMessageColors } from "@dxos/react-ui-theme";
|
|
22
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
|
|
23
|
-
var createDeploy = (state) => {
|
|
24
|
-
const errorItem = createMenuAction("error", {
|
|
25
|
-
label: state.error ?? [
|
|
26
|
-
"no error label",
|
|
27
|
-
{
|
|
28
|
-
ns: SCRIPT_PLUGIN
|
|
29
|
-
}
|
|
30
|
-
],
|
|
31
|
-
icon: "ph--warning-circle--regular",
|
|
32
|
-
hidden: !state.error,
|
|
33
|
-
classNames: state.error && errorMessageColors
|
|
34
|
-
});
|
|
35
|
-
const deployAction = createMenuAction("deploy", {
|
|
36
|
-
type: "deploy",
|
|
37
|
-
label: [
|
|
38
|
-
state.deploying ? "pending label" : "deploy label",
|
|
39
|
-
{
|
|
40
|
-
ns: SCRIPT_PLUGIN
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
icon: state.deploying ? "ph--spinner-gap--regular" : "ph--cloud-arrow-up--regular",
|
|
44
|
-
disabled: state.deploying,
|
|
45
|
-
classNames: state.deploying ? "[&_svg]:animate-spin" : ""
|
|
46
|
-
});
|
|
47
|
-
const copyAction = createMenuAction("copy", {
|
|
48
|
-
type: "copy",
|
|
49
|
-
label: [
|
|
50
|
-
"copy link label",
|
|
51
|
-
{
|
|
52
|
-
ns: SCRIPT_PLUGIN
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
icon: "ph--link--regular",
|
|
56
|
-
disabled: !state.functionUrl
|
|
57
|
-
});
|
|
58
|
-
return {
|
|
59
|
-
nodes: [
|
|
60
|
-
errorItem,
|
|
61
|
-
deployAction,
|
|
62
|
-
copyAction
|
|
63
|
-
],
|
|
64
|
-
edges: [
|
|
65
|
-
{
|
|
66
|
-
source: "root",
|
|
67
|
-
target: "error"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
source: "root",
|
|
71
|
-
target: "deploy"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
source: "root",
|
|
75
|
-
target: "copy"
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
var useDeployState = ({ state, script }) => {
|
|
81
|
-
const { space, client, fn, existingFunctionUrl } = useDeployDeps({
|
|
82
|
-
script
|
|
83
|
-
});
|
|
84
|
-
useEffect(() => {
|
|
85
|
-
if (!existingFunctionUrl) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
state.functionUrl = getFunctionUrl({
|
|
89
|
-
script,
|
|
90
|
-
fn,
|
|
91
|
-
edgeUrl: client.config.values.runtime?.services?.edge?.url ?? ""
|
|
92
|
-
});
|
|
93
|
-
}, [
|
|
94
|
-
existingFunctionUrl,
|
|
95
|
-
space,
|
|
96
|
-
fn,
|
|
97
|
-
script,
|
|
98
|
-
client.config.values.runtime?.services?.edge?.url
|
|
99
|
-
]);
|
|
100
|
-
useEffect(() => {
|
|
101
|
-
state.deployed = isScriptDeployed({
|
|
102
|
-
script,
|
|
103
|
-
fn
|
|
104
|
-
});
|
|
105
|
-
}, [
|
|
106
|
-
script.changed,
|
|
107
|
-
existingFunctionUrl,
|
|
108
|
-
fn,
|
|
109
|
-
script
|
|
110
|
-
]);
|
|
111
|
-
};
|
|
112
|
-
var useDeployDeps = ({ script }) => {
|
|
113
|
-
const space = getSpace(script);
|
|
114
|
-
const [fn] = useQuery(space, Filter.schema(FunctionType, {
|
|
115
|
-
source: script
|
|
116
|
-
}));
|
|
117
|
-
const client = useClient();
|
|
118
|
-
const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [
|
|
119
|
-
fn
|
|
120
|
-
]);
|
|
121
|
-
return {
|
|
122
|
-
space,
|
|
123
|
-
fn,
|
|
124
|
-
client,
|
|
125
|
-
existingFunctionUrl
|
|
126
|
-
};
|
|
127
|
-
};
|
|
128
|
-
var useDeployHandler = ({ state, script }) => {
|
|
129
|
-
const { space, fn, client, existingFunctionUrl } = useDeployDeps({
|
|
130
|
-
script
|
|
131
|
-
});
|
|
132
|
-
const { t } = useTranslation(SCRIPT_PLUGIN);
|
|
133
|
-
return useCallback(async () => {
|
|
134
|
-
if (!script.source || !space) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
state.error = void 0;
|
|
138
|
-
state.deploying = true;
|
|
139
|
-
const result = await deployScript({
|
|
140
|
-
script,
|
|
141
|
-
client,
|
|
142
|
-
space,
|
|
143
|
-
fn,
|
|
144
|
-
existingFunctionUrl
|
|
145
|
-
});
|
|
146
|
-
if (!result.success) {
|
|
147
|
-
log.catch(result.error, void 0, {
|
|
148
|
-
F: __dxlog_file,
|
|
149
|
-
L: 105,
|
|
150
|
-
S: void 0,
|
|
151
|
-
C: (f, a) => f(...a)
|
|
152
|
-
});
|
|
153
|
-
state.error = t("upload failed label");
|
|
154
|
-
}
|
|
155
|
-
state.deploying = false;
|
|
156
|
-
}, [
|
|
157
|
-
fn,
|
|
158
|
-
client,
|
|
159
|
-
t,
|
|
160
|
-
existingFunctionUrl,
|
|
161
|
-
script,
|
|
162
|
-
space
|
|
163
|
-
]);
|
|
164
|
-
};
|
|
165
|
-
var useCopyHandler = ({ state }) => useCallback(async () => {
|
|
166
|
-
if (!state.functionUrl) {
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
await navigator.clipboard.writeText(state.functionUrl);
|
|
170
|
-
}, [
|
|
171
|
-
state.functionUrl
|
|
172
|
-
]);
|
|
173
|
-
|
|
174
|
-
// packages/plugins/plugin-script/src/hooks/useToolbarState.ts
|
|
175
|
-
import { useMemo as useMemo2 } from "react";
|
|
176
|
-
import { create } from "@dxos/live-object";
|
|
177
|
-
var useToolbarState = (initialState = {}) => {
|
|
178
|
-
return useMemo2(() => create(initialState), []);
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// packages/plugins/plugin-script/src/hooks/format.ts
|
|
182
|
-
import { format } from "prettier";
|
|
183
|
-
import prettierPluginEstree from "prettier/plugins/estree";
|
|
184
|
-
import prettierPluginTypescript from "prettier/plugins/typescript";
|
|
185
|
-
import { useCallback as useCallback2 } from "react";
|
|
186
|
-
import { log as log2 } from "@dxos/log";
|
|
187
|
-
import { createMenuAction as createMenuAction2 } from "@dxos/react-ui-menu";
|
|
188
|
-
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
|
|
189
|
-
var createFormat = () => {
|
|
190
|
-
const formatAction = createMenuAction2("format", {
|
|
191
|
-
label: [
|
|
192
|
-
"format label",
|
|
193
|
-
{
|
|
194
|
-
ns: SCRIPT_PLUGIN
|
|
195
|
-
}
|
|
196
|
-
],
|
|
197
|
-
icon: "ph--magic-wand--regular"
|
|
198
|
-
});
|
|
199
|
-
return {
|
|
200
|
-
nodes: [
|
|
201
|
-
formatAction
|
|
202
|
-
],
|
|
203
|
-
edges: [
|
|
204
|
-
{
|
|
205
|
-
source: "root",
|
|
206
|
-
target: "format"
|
|
207
|
-
}
|
|
208
|
-
]
|
|
209
|
-
};
|
|
210
|
-
};
|
|
211
|
-
var useFormatHandler = ({ script }) => useCallback2(async () => {
|
|
212
|
-
if (!script.source) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
try {
|
|
216
|
-
script.source.target.content = await format(script.source.target.content, {
|
|
217
|
-
parser: "typescript",
|
|
218
|
-
plugins: [
|
|
219
|
-
prettierPluginEstree,
|
|
220
|
-
prettierPluginTypescript
|
|
221
|
-
],
|
|
222
|
-
semi: true,
|
|
223
|
-
singleQuote: true
|
|
224
|
-
});
|
|
225
|
-
} catch (err) {
|
|
226
|
-
log2.catch(err, void 0, {
|
|
227
|
-
F: __dxlog_file2,
|
|
228
|
-
L: 45,
|
|
229
|
-
S: void 0,
|
|
230
|
-
C: (f, a) => f(...a)
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
}, [
|
|
234
|
-
script.source
|
|
235
|
-
]);
|
|
236
|
-
|
|
237
|
-
// packages/plugins/plugin-script/src/hooks/template.ts
|
|
238
|
-
import { useCallback as useCallback3 } from "react";
|
|
239
|
-
import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions/types";
|
|
240
|
-
import { getMeta as getMeta2 } from "@dxos/live-object";
|
|
241
|
-
import { createMenuItemGroup, createMenuAction as createMenuAction3 } from "@dxos/react-ui-menu";
|
|
242
|
-
var createTemplateSelectGroup = () => {
|
|
243
|
-
return createMenuItemGroup("template-select", {
|
|
244
|
-
label: [
|
|
245
|
-
"template select group label",
|
|
246
|
-
{
|
|
247
|
-
ns: SCRIPT_PLUGIN
|
|
248
|
-
}
|
|
249
|
-
],
|
|
250
|
-
variant: "dropdownMenu"
|
|
251
|
-
});
|
|
252
|
-
};
|
|
253
|
-
var createTemplateSelectActions = () => {
|
|
254
|
-
return templates.map((template) => {
|
|
255
|
-
return createMenuAction3(`template--${template.id}`, {
|
|
256
|
-
label: template.name,
|
|
257
|
-
value: template.id,
|
|
258
|
-
type: "template"
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
};
|
|
262
|
-
var createTemplateSelect = () => {
|
|
263
|
-
const templateSelectGroup = createTemplateSelectGroup();
|
|
264
|
-
const templateSelectActions = createTemplateSelectActions();
|
|
265
|
-
return {
|
|
266
|
-
nodes: [
|
|
267
|
-
templateSelectGroup,
|
|
268
|
-
...templateSelectActions
|
|
269
|
-
],
|
|
270
|
-
edges: [
|
|
271
|
-
{
|
|
272
|
-
source: "root",
|
|
273
|
-
target: "template-select"
|
|
274
|
-
},
|
|
275
|
-
...templateSelectActions.map((action) => ({
|
|
276
|
-
source: "template-select",
|
|
277
|
-
target: action.id
|
|
278
|
-
}))
|
|
279
|
-
]
|
|
280
|
-
};
|
|
281
|
-
};
|
|
282
|
-
var useTemplateSelectHandler = ({ script }) => {
|
|
283
|
-
return useCallback3((templateId) => {
|
|
284
|
-
const template = templates.find((template2) => template2.id === templateId);
|
|
285
|
-
if (template) {
|
|
286
|
-
script.name = template.name;
|
|
287
|
-
script.source.target.content = template.source;
|
|
288
|
-
const metaKeys = getMeta2(script).keys;
|
|
289
|
-
const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
|
|
290
|
-
if (oldPresetIndex >= 0) {
|
|
291
|
-
metaKeys.splice(oldPresetIndex, 1);
|
|
292
|
-
}
|
|
293
|
-
if (template.presetId) {
|
|
294
|
-
metaKeys.push({
|
|
295
|
-
source: FUNCTIONS_PRESET_META_KEY,
|
|
296
|
-
id: template.presetId
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}, [
|
|
301
|
-
script
|
|
302
|
-
]);
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
// packages/plugins/plugin-script/src/hooks/useToolbarAction.ts
|
|
306
|
-
import { useCallback as useCallback4 } from "react";
|
|
307
|
-
import { log as log3 } from "@dxos/log";
|
|
308
|
-
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/useToolbarAction.ts";
|
|
309
|
-
var useToolbarAction = (props) => {
|
|
310
|
-
const handleTemplateSelect = useTemplateSelectHandler(props);
|
|
311
|
-
const handleFormat = useFormatHandler(props);
|
|
312
|
-
const handleDeploy = useDeployHandler(props);
|
|
313
|
-
const handleCopy = useCopyHandler(props);
|
|
314
|
-
return useCallback4((action) => {
|
|
315
|
-
switch (action.properties.type) {
|
|
316
|
-
case "template":
|
|
317
|
-
handleTemplateSelect(action.properties.value);
|
|
318
|
-
break;
|
|
319
|
-
case "format":
|
|
320
|
-
void handleFormat();
|
|
321
|
-
break;
|
|
322
|
-
case "deploy":
|
|
323
|
-
void handleDeploy();
|
|
324
|
-
break;
|
|
325
|
-
case "copy":
|
|
326
|
-
void handleCopy();
|
|
327
|
-
break;
|
|
328
|
-
default:
|
|
329
|
-
log3.error("Unknown action type", action, {
|
|
330
|
-
F: __dxlog_file3,
|
|
331
|
-
L: 45,
|
|
332
|
-
S: void 0,
|
|
333
|
-
C: (f, a) => f(...a)
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
}, [
|
|
337
|
-
handleTemplateSelect,
|
|
338
|
-
handleFormat,
|
|
339
|
-
handleDeploy,
|
|
340
|
-
handleCopy
|
|
341
|
-
]);
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
export {
|
|
345
|
-
createDeploy,
|
|
346
|
-
useDeployState,
|
|
347
|
-
createFormat,
|
|
348
|
-
createTemplateSelect,
|
|
349
|
-
useToolbarAction,
|
|
350
|
-
useToolbarState
|
|
351
|
-
};
|
|
352
|
-
//# sourceMappingURL=chunk-KLEOGVXY.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/useToolbarAction.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport { FunctionType, type ScriptType, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport const createDeploy = (state: Partial<DeployState>) => {\n const errorItem = createMenuAction('error', {\n label: state.error ?? ['no error label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>('deploy', {\n type: 'deploy',\n label: [state.deploying ? 'pending label' : 'deploy label', { ns: SCRIPT_PLUGIN }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n });\n\n const copyAction = createMenuAction<DeployActionProperties>('copy', {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\n });\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, fn, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionUrl, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionUrl, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Filter.schema(FunctionType, { source: script }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n\n/**\n * Manage EDGE function deployment.\n */\nexport const useDeployHandler = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, fn, client, existingFunctionUrl } = useDeployDeps({ script });\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n return useCallback(async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionUrl });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, space]);\n};\n\nexport const useCopyHandler = ({ state }: { state: Partial<DeployState> }) =>\n useCallback(async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n }, [state.functionUrl]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { create } 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(() => create<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';\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions/types';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = () => {\n const formatAction = createMenuAction('format', {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n });\n\n return {\n nodes: [formatAction],\n edges: [{ source: 'root', target: 'format' }],\n };\n};\n\nexport const useFormatHandler = ({ script }: { script: ScriptType }) =>\n useCallback(async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n }, [script.source]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions/types';\nimport { getMeta } from '@dxos/live-object';\nimport { createMenuItemGroup, createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectGroup = () => {\n return createMenuItemGroup('template-select', {\n label: ['template select group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n });\n};\n\nconst createTemplateSelectActions = () => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(`template--${template.id}`, {\n label: template.name,\n value: template.id,\n type: 'template',\n });\n });\n};\n\nexport const createTemplateSelect = () => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions();\n return {\n nodes: [templateSelectGroup, ...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n\nexport const useTemplateSelectHandler = ({ script }: { script: ScriptType }) => {\n return useCallback(\n (templateId: string) => {\n const template = templates.find((template) => template.id === templateId);\n if (template) {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if (template.presetId) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n }\n },\n [script],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { type ScriptType } from '@dxos/functions/types';\nimport { log } from '@dxos/log';\nimport { type MenuAction, type MenuActionHandler } from '@dxos/react-ui-menu';\n\nimport { type DeployActionProperties, useDeployHandler, useCopyHandler } from './deploy';\nimport { type FormatActionProperties, useFormatHandler } from './format';\nimport { type TemplateActionProperties, useTemplateSelectHandler } from './template';\nimport { type ScriptToolbarState } from './useToolbarState';\n\nexport type ScriptToolbarActionProperties = TemplateActionProperties | FormatActionProperties | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: {\n state: ScriptToolbarState;\n script: ScriptType;\n}): MenuActionHandler<ScriptToolbarAction> => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n\n return useCallback<MenuActionHandler<ScriptToolbarAction>>(\n (action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'format':\n void handleFormat();\n break;\n case 'deploy':\n void handleDeploy();\n break;\n case 'copy':\n void handleCopy();\n break;\n default:\n log.error('Unknown action type', action);\n }\n },\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["useCallback", "useEffect", "useMemo", "FunctionType", "getUserFunctionUrlInMetadata", "log", "useClient", "Filter", "getMeta", "getSpace", "useQuery", "useTranslation", "createMenuAction", "errorMessageColors", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "type", "deploying", "disabled", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployState", "script", "space", "client", "fn", "existingFunctionUrl", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "getSpace", "useQuery", "Filter", "schema", "FunctionType", "useClient", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "result", "deployScript", "success", "log", "catch", "useCopyHandler", "navigator", "clipboard", "writeText", "useMemo", "create", "useToolbarState", "initialState", "useMemo", "create", "format", "prettierPluginEstree", "prettierPluginTypescript", "useCallback", "log", "createMenuAction", "createFormat", "formatAction", "createMenuAction", "label", "ns", "SCRIPT_PLUGIN", "icon", "nodes", "edges", "source", "target", "useFormatHandler", "script", "useCallback", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "useCallback", "FUNCTIONS_PRESET_META_KEY", "getMeta", "createMenuItemGroup", "createMenuAction", "createTemplateSelectGroup", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "createTemplateSelectActions", "templates", "map", "template", "createMenuAction", "id", "name", "value", "type", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "nodes", "edges", "source", "target", "action", "useTemplateSelectHandler", "script", "useCallback", "templateId", "find", "content", "metaKeys", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "useCallback", "log", "useToolbarAction", "props", "handleTemplateSelect", "useTemplateSelectHandler", "handleFormat", "useFormatHandler", "handleDeploy", "useDeployHandler", "handleCopy", "useCopyHandler", "useCallback", "action", "properties", "type", "value", "log", "error"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
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, getUserFunctionUrlInMetadata } 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 existingFunctionUrl = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n\n if (!existingFunctionUrl) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionUrl, 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 {\n FunctionType,\n type ScriptType,\n getUserFunctionUrlInMetadata,\n incrementSemverPatch,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { log } from '@dxos/log';\nimport { create, getMeta, makeRef, 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 existingFunctionUrl = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n return Boolean(existingFunctionUrl) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: ScriptType;\n client: Client;\n space: Space;\n fn?: FunctionType;\n existingFunctionUrl?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionUrl?: 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 existingFunctionUrl,\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 existingFunctionId = extractFunctionId(existingFunctionUrl);\n\n const { bundle, error } = await bundleScript(script.source!.target!.content);\n if (error || !bundle) {\n throw error || new Error('Bundle creation failed');\n }\n\n const { functionId, version, meta } = await uploadWorkerFunction({\n client,\n spaceId: space.id,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n source: bundle,\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 const functionUrl = makeFunctionUrl(space.id, functionId);\n setUserFunctionUrlInMetadata(getMeta(storedFunction), functionUrl);\n\n return { success: true, functionUrl };\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 extractFunctionId = (functionUrl?: string): string | undefined => {\n return functionUrl?.split('/').at(-1);\n};\n\nconst bundleScript = async (source: string): Promise<{ bundle?: string; error?: Error }> => {\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source });\n\n if (buildResult.error || !buildResult.bundle) {\n return { error: buildResult.error || new Error('Bundle creation failed') };\n }\n\n return { bundle: buildResult.bundle };\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.version = version;\n return fn;\n } else {\n return space.db.add(create(FunctionType, { name: functionId, version, source: makeRef(script) }));\n }\n};\n\nconst makeFunctionUrl = (spaceId: string, functionId: string): string => {\n return `/${spaceId}/${functionId}`;\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 { isInstanceOf } from '@dxos/echo-schema';\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(isInstanceOf(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 return { handleCreateAndDeployScripts, status, error };\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["getInvocationUrl", "getUserFunctionUrlInMetadata", "log", "getMeta", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionUrl", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "description", "trim", "verbose", "inputSchema", "outputSchema", "FunctionType", "getUserFunctionUrlInMetadata", "incrementSemverPatch", "setUserFunctionUrlInMetadata", "uploadWorkerFunction", "Bundler", "log", "create", "getMeta", "makeRef", "isScriptDeployed", "script", "fn", "existingFunctionUrl", "getUserFunctionUrlInMetadata", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "existingFunctionId", "extractFunctionId", "bundle", "bundleScript", "source", "target", "content", "Error", "functionId", "version", "meta", "uploadWorkerFunction", "spaceId", "id", "incrementSemverPatch", "undefined", "JSON", "stringify", "storedFunction", "createOrUpdateFunctionInSpace", "updateFunctionMetadata", "functionUrl", "makeFunctionUrl", "setUserFunctionUrlInMetadata", "err", "log", "catch", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "db", "add", "create", "FunctionType", "name", "makeRef", "pipe", "useCallback", "useState", "chain", "createIntent", "useIntentDispatcher", "isInstanceOf", "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", "isInstanceOf", "ScriptType", "data", "object", "deployScript", "script", "hasErrors", "some", "success"]
|
|
7
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SCRIPT_PLUGIN
|
|
3
|
-
} from "./chunk-WSK3YQXI.mjs";
|
|
4
|
-
|
|
5
|
-
// packages/plugins/plugin-script/src/types.ts
|
|
6
|
-
import { TitleAnnotationId } from "effect/SchemaAST";
|
|
7
|
-
import { SpaceSchema } from "@dxos/client/echo";
|
|
8
|
-
import { S } from "@dxos/echo-schema";
|
|
9
|
-
import { ScriptType } from "@dxos/functions/types";
|
|
10
|
-
import { EditorInputMode } from "@dxos/react-ui-editor";
|
|
11
|
-
var ScriptAction;
|
|
12
|
-
(function(ScriptAction2) {
|
|
13
|
-
const SCRIPT_ACTION = `${SCRIPT_PLUGIN}/action`;
|
|
14
|
-
ScriptAction2.CreateScriptSchema = S.Struct({
|
|
15
|
-
name: S.optional(S.String),
|
|
16
|
-
// TODO(wittjosiah): Placeholder annotation?
|
|
17
|
-
gistUrl: S.optional(S.String.annotations({
|
|
18
|
-
[TitleAnnotationId]: "Import from Gist (url)"
|
|
19
|
-
})),
|
|
20
|
-
initialTemplateId: S.optional(S.String)
|
|
21
|
-
});
|
|
22
|
-
class Create extends S.TaggedClass()(`${SCRIPT_ACTION}/create`, {
|
|
23
|
-
input: S.extend(ScriptAction2.CreateScriptSchema, S.Struct({
|
|
24
|
-
space: SpaceSchema
|
|
25
|
-
})),
|
|
26
|
-
output: S.Struct({
|
|
27
|
-
object: ScriptType
|
|
28
|
-
})
|
|
29
|
-
}) {
|
|
30
|
-
}
|
|
31
|
-
ScriptAction2.Create = Create;
|
|
32
|
-
})(ScriptAction || (ScriptAction = {}));
|
|
33
|
-
var ScriptSettingsSchema = S.mutable(S.Struct({
|
|
34
|
-
editorInputMode: EditorInputMode
|
|
35
|
-
}));
|
|
36
|
-
|
|
37
|
-
export {
|
|
38
|
-
ScriptAction,
|
|
39
|
-
ScriptSettingsSchema
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=chunk-R2CHVWJ2.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { S } from '@dxos/echo-schema';\nimport { ScriptType } from '@dxos/functions/types';\nimport { EditorInputMode } from '@dxos/react-ui-editor';\n\nimport { SCRIPT_PLUGIN } from './meta';\n\n// TODO(burdon): Standardize export (e.g., @dxos/plugin-script/meta)?\nexport { SCRIPT_PLUGIN };\n\nexport namespace ScriptAction {\n const SCRIPT_ACTION = `${SCRIPT_PLUGIN}/action`;\n\n export const CreateScriptSchema = S.Struct({\n name: S.optional(S.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: S.optional(S.String.annotations({ [TitleAnnotationId]: 'Import from Gist (url)' })),\n initialTemplateId: S.optional(S.String),\n });\n\n export type CreateScriptProps = S.Schema.Type<typeof CreateScriptSchema>;\n\n export class Create extends S.TaggedClass<Create>()(`${SCRIPT_ACTION}/create`, {\n input: S.extend(CreateScriptSchema, S.Struct({ space: SpaceSchema })),\n output: S.Struct({\n object: ScriptType,\n }),\n }) {}\n}\n\nexport const ScriptSettingsSchema = S.mutable(\n S.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettingsProps = S.Schema.Type<typeof ScriptSettingsSchema>;\n"],
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,yBAAyB;AAElC,SAASC,mBAAmB;AAC5B,SAASC,SAAS;AAClB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;;UAOfC,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;gBAEZC,qBAAqBC,EAAEC,OAAO;IACzCC,MAAMF,EAAEG,SAASH,EAAEI,MAAM;;IAEzBC,SAASL,EAAEG,SAASH,EAAEI,OAAOE,YAAY;MAAE,CAACC,iBAAAA,GAAoB;IAAyB,CAAA,CAAA;IACzFC,mBAAmBR,EAAEG,SAASH,EAAEI,MAAM;EACxC,CAAA;EAIO,MAAMK,eAAeT,EAAEU,YAAW,EAAW,GAAGb,aAAAA,WAAwB;IAC7Ec,OAAOX,EAAEY,OAAMhB,cAACG,oBAAoBC,EAAEC,OAAO;MAAEY,OAAOC;IAAY,CAAA,CAAA;IAClEC,QAAQf,EAAEC,OAAO;MACfe,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBALSR,SAAAA;AAMf,GAlBiBb,iBAAAA,eAAAA,CAAAA,EAAAA;AAoBV,IAAMsB,uBAAuBlB,EAAEmB,QACpCnB,EAAEC,OAAO;EACPmB,iBAAiBC;AACnB,CAAA,CAAA;",
|
|
6
|
-
"names": ["TitleAnnotationId", "SpaceSchema", "S", "ScriptType", "EditorInputMode", "ScriptAction", "SCRIPT_ACTION", "SCRIPT_PLUGIN", "CreateScriptSchema", "S", "Struct", "name", "optional", "String", "gistUrl", "annotations", "TitleAnnotationId", "initialTemplateId", "Create", "TaggedClass", "input", "extend", "space", "SpaceSchema", "output", "object", "ScriptType", "ScriptSettingsSchema", "mutable", "editorInputMode", "EditorInputMode"]
|
|
7
|
-
}
|