@dxos/plugin-script 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446
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-AEPYJKPO.mjs +12 -0
- package/dist/lib/browser/{ScriptContainer-6DYV7D65.mjs → ScriptContainer-R25PRK2D.mjs} +19 -31
- package/dist/lib/browser/ScriptContainer-R25PRK2D.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-BFBTQPSP.mjs → app-graph-builder-RRLY67QC.mjs} +10 -10
- package/dist/lib/browser/app-graph-builder-RRLY67QC.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-PD4UAAQZ.mjs → artifact-definition-WXFYD2V5.mjs} +38 -44
- package/dist/lib/browser/artifact-definition-WXFYD2V5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BONEXAIK.mjs → chunk-2CGZFDCR.mjs} +10 -10
- package/dist/lib/browser/chunk-2CGZFDCR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-A4VOGQ2P.mjs → chunk-4VD3K3PY.mjs} +2 -2
- package/dist/lib/browser/{chunk-YNOCAJYT.mjs → chunk-CSZXPLYY.mjs} +3 -3
- package/dist/lib/browser/chunk-CSZXPLYY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FFDJENAN.mjs → chunk-KLEOGVXY.mjs} +156 -87
- package/dist/lib/browser/chunk-KLEOGVXY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-INL55MFV.mjs → chunk-MQZQB5VD.mjs} +10 -10
- package/dist/lib/browser/chunk-MQZQB5VD.mjs.map +7 -0
- package/dist/lib/browser/chunk-R2CHVWJ2.mjs +41 -0
- package/dist/lib/browser/chunk-R2CHVWJ2.mjs.map +7 -0
- package/dist/lib/browser/chunk-SUCBNCEQ.mjs +87 -0
- package/dist/lib/browser/chunk-SUCBNCEQ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KJMVDGRB.mjs → chunk-WSK3YQXI.mjs} +1 -2
- package/dist/lib/browser/{chunk-KJMVDGRB.mjs.map → chunk-WSK3YQXI.mjs.map} +2 -2
- package/dist/lib/browser/{compiler-O4FJK7RR.mjs → compiler-56LTBEQB.mjs} +3 -3
- package/dist/lib/browser/index.mjs +15 -16
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-SXO6X6XQ.mjs → intent-resolver-WCVXKRBR.mjs} +14 -14
- package/dist/lib/browser/intent-resolver-WCVXKRBR.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-TZGE7EGC.mjs → react-surface-WXZVPNGI.mjs} +12 -12
- package/dist/lib/browser/react-surface-WXZVPNGI.mjs.map +7 -0
- package/dist/lib/browser/{settings-EOKSUGB6.mjs → settings-Z7B37V2I.mjs} +5 -5
- package/dist/lib/browser/settings-Z7B37V2I.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +2 -2
- package/dist/lib/node/{DeploymentDialog-43SI7XFL.cjs → DeploymentDialog-O4MU4OMF.cjs} +10 -10
- package/dist/lib/node/DeploymentDialog-O4MU4OMF.cjs.map +7 -0
- package/dist/lib/node/{ScriptContainer-H56OW5FC.cjs → ScriptContainer-5KY6ZOQD.cjs} +22 -32
- package/dist/lib/node/ScriptContainer-5KY6ZOQD.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-IKOX7GHW.cjs → app-graph-builder-6I2BWD46.cjs} +17 -17
- package/dist/lib/node/app-graph-builder-6I2BWD46.cjs.map +7 -0
- package/dist/lib/node/{artifact-definition-C644EAYM.cjs → artifact-definition-6NVXEHJD.cjs} +47 -53
- package/dist/lib/node/artifact-definition-6NVXEHJD.cjs.map +7 -0
- package/dist/lib/node/{chunk-VHSIOCS5.cjs → chunk-65MIJR3Q.cjs} +17 -17
- package/dist/lib/node/chunk-65MIJR3Q.cjs.map +7 -0
- package/dist/lib/node/{chunk-7NNN3IUQ.cjs → chunk-F4DP7WON.cjs} +160 -93
- package/dist/lib/node/chunk-F4DP7WON.cjs.map +7 -0
- package/dist/lib/node/{chunk-KFJQVOGS.cjs → chunk-JICWAOWZ.cjs} +6 -6
- package/dist/lib/node/{chunk-HPBQHRM3.cjs → chunk-SLDJM45C.cjs} +18 -18
- package/dist/lib/node/chunk-SLDJM45C.cjs.map +7 -0
- package/dist/lib/node/{chunk-K7PPLRVQ.cjs → chunk-VYBEBLDO.cjs} +14 -14
- package/dist/lib/node/chunk-VYBEBLDO.cjs.map +7 -0
- package/dist/lib/node/chunk-X7MHLHHS.cjs +91 -0
- package/dist/lib/node/chunk-X7MHLHHS.cjs.map +7 -0
- package/dist/lib/node/{chunk-SXJGHLK6.cjs → chunk-XFZPWFEG.cjs} +19 -18
- package/dist/lib/node/chunk-XFZPWFEG.cjs.map +7 -0
- package/dist/lib/node/{chunk-NO5Y74F3.cjs → chunk-YJQZHKKA.cjs} +4 -5
- package/dist/lib/node/{chunk-NO5Y74F3.cjs.map → chunk-YJQZHKKA.cjs.map} +2 -2
- package/dist/lib/node/{compiler-FBC6ELQN.cjs → compiler-W2RU3M7U.cjs} +7 -7
- package/dist/lib/node/index.cjs +44 -45
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-PDSMZM2T.cjs → intent-resolver-J4NBDNFH.cjs} +21 -21
- package/dist/lib/node/intent-resolver-J4NBDNFH.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-BHHJQZ7P.cjs → react-surface-27KTUBIZ.cjs} +38 -38
- package/dist/lib/node/react-surface-27KTUBIZ.cjs.map +7 -0
- package/dist/lib/node/{settings-425QHVGC.cjs → settings-EI6VPNKN.cjs} +9 -9
- package/dist/lib/node/settings-EI6VPNKN.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-2RRUJEBC.mjs → DeploymentDialog-SSQSWLHX.mjs} +5 -5
- package/dist/lib/node-esm/{ScriptContainer-762FHDZ4.mjs → ScriptContainer-W2F4FGDV.mjs} +19 -31
- package/dist/lib/node-esm/ScriptContainer-W2F4FGDV.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-KZGKGSP6.mjs → app-graph-builder-H5XLRVX3.mjs} +10 -10
- package/dist/lib/node-esm/app-graph-builder-H5XLRVX3.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-J6UM6BQF.mjs → artifact-definition-KQ64AYBP.mjs} +38 -44
- package/dist/lib/node-esm/artifact-definition-KQ64AYBP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-A3TXZHGD.mjs → chunk-4MTPYMV2.mjs} +10 -10
- package/dist/lib/node-esm/chunk-4MTPYMV2.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HKJUN636.mjs → chunk-EB5DSAD4.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-F47OE6ZM.mjs → chunk-F4HA5C34.mjs} +10 -10
- package/dist/lib/node-esm/chunk-F4HA5C34.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-H7FRB3M7.mjs → chunk-FDEAVT67.mjs} +1 -2
- package/dist/lib/node-esm/{chunk-H7FRB3M7.mjs.map → chunk-FDEAVT67.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-V733VFCJ.mjs → chunk-MU3JKVL2.mjs} +3 -3
- package/dist/lib/node-esm/chunk-MU3JKVL2.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NYA7KDN6.mjs → chunk-PBGVTGL2.mjs} +156 -87
- package/dist/lib/node-esm/chunk-PBGVTGL2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QDYGTY4L.mjs +89 -0
- package/dist/lib/node-esm/chunk-QDYGTY4L.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-VMQPOPKV.mjs → chunk-RW2APVMV.mjs} +14 -13
- package/dist/lib/node-esm/chunk-RW2APVMV.mjs.map +7 -0
- package/dist/lib/node-esm/{compiler-3NG4T5LH.mjs → compiler-VT5C2Z3T.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +15 -16
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-WSAVLQY5.mjs → intent-resolver-PDZ2A26X.mjs} +14 -14
- package/dist/lib/node-esm/intent-resolver-PDZ2A26X.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-W7BM4PDK.mjs → react-surface-UCUVDVSH.mjs} +12 -12
- package/dist/lib/node-esm/react-surface-UCUVDVSH.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-BWSKKIVQ.mjs → settings-HU5UEFRF.mjs} +5 -5
- package/dist/lib/node-esm/settings-HU5UEFRF.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 +179 -2
- 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 +177 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/hooks/deploy.d.ts +19 -22
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/format.d.ts +5 -2
- package/dist/types/src/hooks/format.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/template.d.ts +5 -2
- 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/useToolbarAction.d.ts +13 -0
- package/dist/types/src/hooks/useToolbarAction.d.ts.map +1 -0
- 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 +7 -0
- 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 +110 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +26 -27
- 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 +50 -56
- package/src/ScriptPlugin.tsx +2 -4
- package/src/capabilities/app-graph-builder.ts +29 -46
- package/src/capabilities/artifact-definition.ts +32 -35
- package/src/capabilities/intent-resolver.ts +7 -7
- package/src/capabilities/react-surface.tsx +5 -5
- package/src/capabilities/settings.ts +2 -2
- 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 +10 -16
- package/src/components/Settings/ScriptObjectSettings.tsx +5 -5
- package/src/hooks/deploy.ts +55 -61
- package/src/hooks/format.ts +26 -26
- package/src/hooks/index.ts +1 -0
- package/src/hooks/template.ts +32 -24
- package/src/hooks/useToolbarAction.ts +50 -0
- package/src/hooks/useToolbarState.ts +2 -2
- package/src/meta.ts +0 -1
- package/src/templates/chat.ts +9 -3
- package/src/templates/chess.ts +6 -1
- package/src/templates/data-generator.ts +45 -20
- package/src/templates/discord.ts +10 -10
- package/src/templates/echo.ts +12 -1
- package/src/templates/email.ts +14 -8
- package/src/templates/forex-effect.ts +6 -2
- package/src/templates/forex.ts +5 -1
- package/src/templates/gmail.ts +26 -33
- package/src/translations.ts +1 -1
- package/src/types.ts +14 -13
- package/src/util/deploy.ts +10 -6
- package/dist/lib/browser/DeploymentDialog-W7PY33VN.mjs +0 -12
- package/dist/lib/browser/ScriptContainer-6DYV7D65.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-BFBTQPSP.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-PD4UAAQZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-6MLJJI73.mjs +0 -40
- package/dist/lib/browser/chunk-6MLJJI73.mjs.map +0 -7
- package/dist/lib/browser/chunk-BONEXAIK.mjs.map +0 -7
- package/dist/lib/browser/chunk-FFDJENAN.mjs.map +0 -7
- package/dist/lib/browser/chunk-INL55MFV.mjs.map +0 -7
- package/dist/lib/browser/chunk-RTVU4RZW.mjs +0 -87
- package/dist/lib/browser/chunk-RTVU4RZW.mjs.map +0 -7
- package/dist/lib/browser/chunk-YNOCAJYT.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SXO6X6XQ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-TZGE7EGC.mjs.map +0 -7
- package/dist/lib/browser/settings-EOKSUGB6.mjs.map +0 -7
- package/dist/lib/node/DeploymentDialog-43SI7XFL.cjs.map +0 -7
- package/dist/lib/node/ScriptContainer-H56OW5FC.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-IKOX7GHW.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-C644EAYM.cjs.map +0 -7
- package/dist/lib/node/chunk-7NNN3IUQ.cjs.map +0 -7
- package/dist/lib/node/chunk-HPBQHRM3.cjs.map +0 -7
- package/dist/lib/node/chunk-K7PPLRVQ.cjs.map +0 -7
- package/dist/lib/node/chunk-SXJGHLK6.cjs.map +0 -7
- package/dist/lib/node/chunk-VHSIOCS5.cjs.map +0 -7
- package/dist/lib/node/chunk-VNSZBEJW.cjs +0 -91
- package/dist/lib/node/chunk-VNSZBEJW.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-PDSMZM2T.cjs.map +0 -7
- package/dist/lib/node/react-surface-BHHJQZ7P.cjs.map +0 -7
- package/dist/lib/node/settings-425QHVGC.cjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-762FHDZ4.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-KZGKGSP6.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-J6UM6BQF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-A3TXZHGD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-F47OE6ZM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NYA7KDN6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-V733VFCJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VMQPOPKV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YCTECQLY.mjs +0 -89
- package/dist/lib/node-esm/chunk-YCTECQLY.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-WSAVLQY5.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-W7BM4PDK.mjs.map +0 -7
- package/dist/lib/node-esm/settings-BWSKKIVQ.mjs.map +0 -7
- /package/dist/lib/browser/{DeploymentDialog-W7PY33VN.mjs.map → DeploymentDialog-AEPYJKPO.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-A4VOGQ2P.mjs.map → chunk-4VD3K3PY.mjs.map} +0 -0
- /package/dist/lib/browser/{compiler-O4FJK7RR.mjs.map → compiler-56LTBEQB.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-KFJQVOGS.cjs.map → chunk-JICWAOWZ.cjs.map} +0 -0
- /package/dist/lib/node/{compiler-FBC6ELQN.cjs.map → compiler-W2RU3M7U.cjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-2RRUJEBC.mjs.map → DeploymentDialog-SSQSWLHX.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-HKJUN636.mjs.map → chunk-EB5DSAD4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{compiler-3NG4T5LH.mjs.map → compiler-VT5C2Z3T.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DeploymentDialog/DeploymentDialog.tsx", "../../../src/components/DeploymentDialog/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useMemo } from 'react';\n\nimport { 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,27 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
2
|
templates
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SUCBNCEQ.mjs";
|
|
4
4
|
import {
|
|
5
5
|
deployScript,
|
|
6
6
|
getFunctionUrl,
|
|
7
7
|
isScriptDeployed
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MQZQB5VD.mjs";
|
|
9
9
|
import {
|
|
10
10
|
SCRIPT_PLUGIN
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WSK3YQXI.mjs";
|
|
12
12
|
|
|
13
13
|
// packages/plugins/plugin-script/src/hooks/deploy.ts
|
|
14
|
-
import { useEffect, useMemo } from "react";
|
|
14
|
+
import { useCallback, useEffect, useMemo } from "react";
|
|
15
15
|
import { FunctionType, getUserFunctionUrlInMetadata } from "@dxos/functions";
|
|
16
16
|
import { log } from "@dxos/log";
|
|
17
17
|
import { useClient } from "@dxos/react-client";
|
|
18
|
-
import { getMeta, getSpace,
|
|
18
|
+
import { Filter, getMeta, getSpace, useQuery } from "@dxos/react-client/echo";
|
|
19
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
19
20
|
import { createMenuAction } from "@dxos/react-ui-menu";
|
|
20
21
|
import { errorMessageColors } from "@dxos/react-ui-theme";
|
|
21
22
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
|
|
22
|
-
var createDeploy = (
|
|
23
|
-
const errorItem = createMenuAction("error",
|
|
24
|
-
}, {
|
|
23
|
+
var createDeploy = (state) => {
|
|
24
|
+
const errorItem = createMenuAction("error", {
|
|
25
25
|
label: state.error ?? [
|
|
26
26
|
"no error label",
|
|
27
27
|
{
|
|
@@ -32,30 +32,7 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }
|
|
|
32
32
|
hidden: !state.error,
|
|
33
33
|
classNames: state.error && errorMessageColors
|
|
34
34
|
});
|
|
35
|
-
const deployAction = createMenuAction("deploy",
|
|
36
|
-
if (!script.source || !space) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
state.error = void 0;
|
|
40
|
-
state.deploying = true;
|
|
41
|
-
const result = await deployScript({
|
|
42
|
-
script,
|
|
43
|
-
client,
|
|
44
|
-
space,
|
|
45
|
-
fn,
|
|
46
|
-
existingFunctionUrl
|
|
47
|
-
});
|
|
48
|
-
if (!result.success) {
|
|
49
|
-
log.catch(result.error, void 0, {
|
|
50
|
-
F: __dxlog_file,
|
|
51
|
-
L: 59,
|
|
52
|
-
S: void 0,
|
|
53
|
-
C: (f, a) => f(...a)
|
|
54
|
-
});
|
|
55
|
-
state.error = t("upload failed label");
|
|
56
|
-
}
|
|
57
|
-
state.deploying = false;
|
|
58
|
-
}, {
|
|
35
|
+
const deployAction = createMenuAction("deploy", {
|
|
59
36
|
type: "deploy",
|
|
60
37
|
label: [
|
|
61
38
|
state.deploying ? "pending label" : "deploy label",
|
|
@@ -67,12 +44,7 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }
|
|
|
67
44
|
disabled: state.deploying,
|
|
68
45
|
classNames: state.deploying ? "[&_svg]:animate-spin" : ""
|
|
69
46
|
});
|
|
70
|
-
const copyAction = createMenuAction("copy",
|
|
71
|
-
if (!state.functionUrl) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
await navigator.clipboard.writeText(state.functionUrl);
|
|
75
|
-
}, {
|
|
47
|
+
const copyAction = createMenuAction("copy", {
|
|
76
48
|
type: "copy",
|
|
77
49
|
label: [
|
|
78
50
|
"copy link label",
|
|
@@ -139,8 +111,8 @@ var useDeployState = ({ state, script }) => {
|
|
|
139
111
|
};
|
|
140
112
|
var useDeployDeps = ({ script }) => {
|
|
141
113
|
const space = getSpace(script);
|
|
142
|
-
const [fn] = useQuery(space,
|
|
143
|
-
source:
|
|
114
|
+
const [fn] = useQuery(space, Filter.schema(FunctionType, {
|
|
115
|
+
source: script
|
|
144
116
|
}));
|
|
145
117
|
const client = useClient();
|
|
146
118
|
const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [
|
|
@@ -153,45 +125,69 @@ var useDeployDeps = ({ script }) => {
|
|
|
153
125
|
existingFunctionUrl
|
|
154
126
|
};
|
|
155
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
|
+
]);
|
|
156
173
|
|
|
157
174
|
// packages/plugins/plugin-script/src/hooks/useToolbarState.ts
|
|
158
175
|
import { useMemo as useMemo2 } from "react";
|
|
159
|
-
import {
|
|
176
|
+
import { create } from "@dxos/live-object";
|
|
160
177
|
var useToolbarState = (initialState = {}) => {
|
|
161
|
-
return useMemo2(() =>
|
|
178
|
+
return useMemo2(() => create(initialState), []);
|
|
162
179
|
};
|
|
163
180
|
|
|
164
181
|
// packages/plugins/plugin-script/src/hooks/format.ts
|
|
165
182
|
import { format } from "prettier";
|
|
166
183
|
import prettierPluginEstree from "prettier/plugins/estree";
|
|
167
184
|
import prettierPluginTypescript from "prettier/plugins/typescript";
|
|
185
|
+
import { useCallback as useCallback2 } from "react";
|
|
168
186
|
import { log as log2 } from "@dxos/log";
|
|
169
187
|
import { createMenuAction as createMenuAction2 } from "@dxos/react-ui-menu";
|
|
170
188
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/format.ts";
|
|
171
|
-
var createFormat = (
|
|
172
|
-
const formatAction = createMenuAction2("format",
|
|
173
|
-
if (!script.source) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
try {
|
|
177
|
-
script.source.target.content = await format(script.source.target.content, {
|
|
178
|
-
parser: "typescript",
|
|
179
|
-
plugins: [
|
|
180
|
-
prettierPluginEstree,
|
|
181
|
-
prettierPluginTypescript
|
|
182
|
-
],
|
|
183
|
-
semi: true,
|
|
184
|
-
singleQuote: true
|
|
185
|
-
});
|
|
186
|
-
} catch (err) {
|
|
187
|
-
log2.catch(err, void 0, {
|
|
188
|
-
F: __dxlog_file2,
|
|
189
|
-
L: 34,
|
|
190
|
-
S: void 0,
|
|
191
|
-
C: (f, a) => f(...a)
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}, {
|
|
189
|
+
var createFormat = () => {
|
|
190
|
+
const formatAction = createMenuAction2("format", {
|
|
195
191
|
label: [
|
|
196
192
|
"format label",
|
|
197
193
|
{
|
|
@@ -212,9 +208,35 @@ var createFormat = (script) => {
|
|
|
212
208
|
]
|
|
213
209
|
};
|
|
214
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
|
+
]);
|
|
215
236
|
|
|
216
237
|
// packages/plugins/plugin-script/src/hooks/template.ts
|
|
217
|
-
import {
|
|
238
|
+
import { useCallback as useCallback3 } from "react";
|
|
239
|
+
import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions/types";
|
|
218
240
|
import { getMeta as getMeta2 } from "@dxos/live-object";
|
|
219
241
|
import { createMenuItemGroup, createMenuAction as createMenuAction3 } from "@dxos/react-ui-menu";
|
|
220
242
|
var createTemplateSelectGroup = () => {
|
|
@@ -228,32 +250,18 @@ var createTemplateSelectGroup = () => {
|
|
|
228
250
|
variant: "dropdownMenu"
|
|
229
251
|
});
|
|
230
252
|
};
|
|
231
|
-
var createTemplateSelectActions = (
|
|
253
|
+
var createTemplateSelectActions = () => {
|
|
232
254
|
return templates.map((template) => {
|
|
233
|
-
return createMenuAction3(`template--${template.id}`,
|
|
234
|
-
script.name = template.name;
|
|
235
|
-
script.source.target.content = template.source;
|
|
236
|
-
const metaKeys = getMeta2(script).keys;
|
|
237
|
-
const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
|
|
238
|
-
if (oldPresetIndex >= 0) {
|
|
239
|
-
metaKeys.splice(oldPresetIndex, 1);
|
|
240
|
-
}
|
|
241
|
-
if (template.presetId) {
|
|
242
|
-
metaKeys.push({
|
|
243
|
-
source: FUNCTIONS_PRESET_META_KEY,
|
|
244
|
-
id: template.presetId
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
}, {
|
|
255
|
+
return createMenuAction3(`template--${template.id}`, {
|
|
248
256
|
label: template.name,
|
|
249
257
|
value: template.id,
|
|
250
258
|
type: "template"
|
|
251
259
|
});
|
|
252
260
|
});
|
|
253
261
|
};
|
|
254
|
-
var createTemplateSelect = (
|
|
262
|
+
var createTemplateSelect = () => {
|
|
255
263
|
const templateSelectGroup = createTemplateSelectGroup();
|
|
256
|
-
const templateSelectActions = createTemplateSelectActions(
|
|
264
|
+
const templateSelectActions = createTemplateSelectActions();
|
|
257
265
|
return {
|
|
258
266
|
nodes: [
|
|
259
267
|
templateSelectGroup,
|
|
@@ -271,13 +279,74 @@ var createTemplateSelect = (script) => {
|
|
|
271
279
|
]
|
|
272
280
|
};
|
|
273
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
|
+
};
|
|
274
343
|
|
|
275
344
|
export {
|
|
276
345
|
createDeploy,
|
|
277
346
|
useDeployState,
|
|
278
|
-
useDeployDeps,
|
|
279
347
|
createFormat,
|
|
280
348
|
createTemplateSelect,
|
|
349
|
+
useToolbarAction,
|
|
281
350
|
useToolbarState
|
|
282
351
|
};
|
|
283
|
-
//# sourceMappingURL=chunk-
|
|
352
|
+
//# sourceMappingURL=chunk-KLEOGVXY.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", "../../../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,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ScriptAction
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-R2CHVWJ2.mjs";
|
|
4
4
|
|
|
5
5
|
// packages/plugins/plugin-script/src/util/functions.ts
|
|
6
6
|
import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
|
|
@@ -59,11 +59,10 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
// packages/plugins/plugin-script/src/util/deploy.ts
|
|
62
|
-
import { FunctionType, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2,
|
|
62
|
+
import { FunctionType, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2, incrementSemverPatch, setUserFunctionUrlInMetadata, uploadWorkerFunction } from "@dxos/functions";
|
|
63
63
|
import { Bundler } from "@dxos/functions/bundler";
|
|
64
|
-
import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
|
|
65
64
|
import { log as log2 } from "@dxos/log";
|
|
66
|
-
import {
|
|
65
|
+
import { create, getMeta as getMeta2, makeRef } from "@dxos/react-client/echo";
|
|
67
66
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
|
|
68
67
|
var isScriptDeployed = ({ script, fn }) => {
|
|
69
68
|
const existingFunctionUrl = fn && getUserFunctionUrlInMetadata2(getMeta2(fn));
|
|
@@ -85,7 +84,7 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
|
|
|
85
84
|
}
|
|
86
85
|
const { functionId, version, meta } = await uploadWorkerFunction({
|
|
87
86
|
client,
|
|
88
|
-
|
|
87
|
+
spaceId: space.id,
|
|
89
88
|
version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
|
|
90
89
|
functionId: existingFunctionId,
|
|
91
90
|
source: bundle
|
|
@@ -99,9 +98,7 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
|
|
|
99
98
|
const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
|
|
100
99
|
script.changed = false;
|
|
101
100
|
updateFunctionMetadata(script, storedFunction, meta, functionId);
|
|
102
|
-
const functionUrl = makeFunctionUrl(
|
|
103
|
-
functionId
|
|
104
|
-
});
|
|
101
|
+
const functionUrl = makeFunctionUrl(space.id, functionId);
|
|
105
102
|
setUserFunctionUrlInMetadata(getMeta2(storedFunction), functionUrl);
|
|
106
103
|
return {
|
|
107
104
|
success: true,
|
|
@@ -152,13 +149,16 @@ var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) =>
|
|
|
152
149
|
fn.version = version;
|
|
153
150
|
return fn;
|
|
154
151
|
} else {
|
|
155
|
-
return space.db.add(
|
|
152
|
+
return space.db.add(create(FunctionType, {
|
|
156
153
|
name: functionId,
|
|
157
154
|
version,
|
|
158
155
|
source: makeRef(script)
|
|
159
156
|
}));
|
|
160
157
|
}
|
|
161
158
|
};
|
|
159
|
+
var makeFunctionUrl = (spaceId, functionId) => {
|
|
160
|
+
return `/${spaceId}/${functionId}`;
|
|
161
|
+
};
|
|
162
162
|
|
|
163
163
|
// packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts
|
|
164
164
|
import { pipe } from "effect/Function";
|
|
@@ -230,4 +230,4 @@ export {
|
|
|
230
230
|
deployScript,
|
|
231
231
|
useCreateAndDeployScriptTemplates
|
|
232
232
|
};
|
|
233
|
-
//# sourceMappingURL=chunk-
|
|
233
|
+
//# sourceMappingURL=chunk-MQZQB5VD.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/functions.ts", "../../../src/util/deploy.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ScriptType, getInvocationUrl, 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": ";;;;;AAIA,SAA0BA,kBAAkBC,oCAAoC;AAChF,SAASC,WAAW;AACpB,SAASC,SAASC,gBAAgB;;AAK3B,IAAMC,iBAAiB,CAAC,EAC7BC,QACAC,IACAC,QAAO,MAKR;AACC,QAAMC,QAAQL,SAASE,MAAAA;AACvB,QAAMI,sBAAsBH,MAAMN,6BAA6BE,QAAQI,EAAAA,CAAAA;AAEvE,MAAI,CAACG,qBAAqB;AACxB,WAAOC;EACT;AAEA,SAAOX,iBAAiBU,qBAAqBF,SAAS;IACpDI,SAASH,OAAOI;EAClB,CAAA;AACF;AAEO,IAAMC,yBAAyB,CAACR,QAAoBS,gBAAqBC,MAAWC,eAAAA;AACzF,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;AACF;;;AC/CA,SACEM,cAEAC,gCAAAA,+BACAC,sBACAC,8BACAC,4BACK;AACP,SAASC,eAAe;AACxB,SAASC,OAAAA,YAAW;AACpB,SAASC,QAAQC,WAAAA,UAASC,eAA2B;;AAI9C,IAAMC,mBAAmB,CAAC,EAAEC,QAAQC,GAAE,MAAmC;AAC9E,QAAMC,sBAAsBD,MAAME,8BAA6BC,SAAQH,EAAAA,CAAAA;AACvE,SAAOI,QAAQH,mBAAAA,KAAwB,CAACF,OAAOM;AACjD;AAeO,IAAMC,eAAe,OAAO,EACjCP,QACAQ,QACAC,OACAR,IACAC,oBAAmB,MACD;AAClB,QAAMQ,kBAAkBC,qBAAqBX,QAAQS,KAAAA;AACrD,MAAIC,iBAAiB;AACnB,WAAO;MAAEE,SAAS;MAAOC,OAAOH;IAAgB;EAClD;AAEA,MAAI;AACF,UAAMI,qBAAqBC,kBAAkBb,mBAAAA;AAE7C,UAAM,EAAEc,QAAQH,MAAK,IAAK,MAAMI,aAAajB,OAAOkB,OAAQC,OAAQC,OAAO;AAC3E,QAAIP,SAAS,CAACG,QAAQ;AACpB,YAAMH,SAAS,IAAIQ,MAAM,wBAAA;IAC3B;AAEA,UAAM,EAAEC,YAAYC,SAASC,KAAI,IAAK,MAAMC,qBAAqB;MAC/DjB;MACAkB,SAASjB,MAAMkB;MACfJ,SAAStB,KAAK2B,qBAAqB3B,GAAGsB,OAAO,IAAI;MACjDD,YAAYR;MACZI,QAAQF;IACV,CAAA;AAEA,QAAIM,eAAeO,UAAaN,YAAYM,QAAW;AACrD,YAAM,IAAIR,MAAM,uCAAuCS,KAAKC,UAAU;QAAET;QAAYC;MAAQ,CAAA,CAAA,EAAI;IAClG;AAEA,UAAMS,iBAAiBC,8BAA8BxB,OAAOR,IAAID,QAAQsB,YAAYC,OAAAA;AACpFvB,WAAOM,UAAU;AACjB4B,2BAAuBlC,QAAQgC,gBAAgBR,MAAMF,UAAAA;AAErD,UAAMa,cAAcC,gBAAgB3B,MAAMkB,IAAIL,UAAAA;AAC9Ce,iCAA6BjC,SAAQ4B,cAAAA,GAAiBG,WAAAA;AAEtD,WAAO;MAAEvB,SAAS;MAAMuB;IAAY;EACtC,SAASG,KAAU;AACjBC,IAAAA,KAAIC,MAAMF,KAAAA,QAAAA;;;;;;AACV,WAAO;MAAE1B,SAAS;MAAOC,OAAOyB;IAAI;EACtC;AACF;AAKA,IAAM3B,uBAAuB,CAACX,QAAoBS,UAAAA;AAChD,MAAI,CAACT,OAAOkB,UAAU,CAACT,OAAO;AAC5B,WAAO,IAAIY,MAAM,sCAAA;EACnB;AACA,SAAO;AACT;AAEA,IAAMN,oBAAoB,CAACoB,gBAAAA;AACzB,SAAOA,aAAaM,MAAM,GAAA,EAAKC,GAAG,EAAC;AACrC;AAEA,IAAMzB,eAAe,OAAOC,WAAAA;AAC1B,QAAMyB,UAAU,IAAIC,QAAQ;IAAEC,UAAU;IAAWC,kBAAkB,CAAA;IAAIC,eAAe,CAAC;EAAE,CAAA;AAC3F,QAAMC,cAAc,MAAML,QAAQ3B,OAAO;IAAEE;EAAO,CAAA;AAElD,MAAI8B,YAAYnC,SAAS,CAACmC,YAAYhC,QAAQ;AAC5C,WAAO;MAAEH,OAAOmC,YAAYnC,SAAS,IAAIQ,MAAM,wBAAA;IAA0B;EAC3E;AAEA,SAAO;IAAEL,QAAQgC,YAAYhC;EAAO;AACtC;AAEA,IAAMiB,gCAAgC,CACpCxB,OACAR,IACAD,QACAsB,YACAC,YAAAA;AAEA,MAAItB,IAAI;AACNA,OAAGsB,UAAUA;AACb,WAAOtB;EACT,OAAO;AACL,WAAOQ,MAAMwC,GAAGC,IAAIC,OAAOC,cAAc;MAAEC,MAAM/B;MAAYC;MAASL,QAAQoC,QAAQtD,MAAAA;IAAQ,CAAA,CAAA;EAChG;AACF;AAEA,IAAMoC,kBAAkB,CAACV,SAAiBJ,eAAAA;AACxC,SAAO,IAAII,OAAAA,IAAWJ,UAAAA;AACxB;;;ACzHA,SAASiC,YAAY;AACrB,SAASC,aAAaC,gBAAgB;AAEtC,SAASC,OAAOC,cAAcC,2BAA2B;AACzD,SAASC,oBAAoB;AAC7B,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,SACnBmB,KACEC,aAAaC,aAAaC,QAAQ;QAAEzB;QAAO0B,mBAAmBN,SAASO;MAAG,CAAA,GAC1EC,MAAMC,YAAYC,WAAW;QAAEC,QAAQ/B;MAAM,CAAA,CAAA,CAAA;AAGjDe,gBAAUiB,aAAaC,YAAYZ,OAAOa,MAAMC,MAAAA,GAAAA,QAAAA;;;;;;;;;AAEhD,aAAOC,aAAa;QAAEpC;QAAOK;QAAQgC,QAAQhB,OAAOa,KAAKC;MAAO,CAAA;IAClE,CAAA,CAAA;AAGF,UAAMG,YAAYtB,kBAAkBuB,KAAK,CAAClB,WAAW,CAACA,OAAOmB,OAAO;AACpEhC,cAAU8B,YAAY,UAAU,SAAA;EAClC,GAAG;IAACtC;IAAOG;IAAUE;IAAQJ;GAAgB;AAE7C,SAAO;IAAEY;IAA8BN;IAAQG;EAAM;AACvD;",
|
|
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
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|