@dxos/plugin-script 0.8.2-main.f11618f → 0.8.2-staging.42af850
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-Q2K5FJSC.mjs +272 -0
- package/dist/lib/browser/ScriptContainer-Q2K5FJSC.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-2GIBRQLV.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-OEDM2SCN.mjs → artifact-definition-L3AIY4XA.mjs} +44 -47
- package/dist/lib/browser/artifact-definition-L3AIY4XA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SXS6PUU5.mjs → chunk-6T64VQHF.mjs} +7 -6
- package/dist/lib/browser/chunk-6T64VQHF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KJMVDGRB.mjs → chunk-6ZHHWU6S.mjs} +3 -3
- package/dist/lib/browser/{chunk-KJMVDGRB.mjs.map → chunk-6ZHHWU6S.mjs.map} +1 -1
- package/dist/lib/browser/chunk-74DEDPHT.mjs +530 -0
- package/dist/lib/browser/chunk-74DEDPHT.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-EGDYE5MW.mjs → chunk-JQOAZJTK.mjs} +85 -154
- package/dist/lib/browser/chunk-JQOAZJTK.mjs.map +7 -0
- package/dist/lib/browser/chunk-M6QMJBKQ.mjs +87 -0
- package/dist/lib/browser/chunk-M6QMJBKQ.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-A4VOGQ2P.mjs → chunk-YSQMXTYO.mjs} +3 -3
- package/dist/lib/{node-esm/chunk-HKJUN636.mjs.map → browser/chunk-YSQMXTYO.mjs.map} +1 -1
- package/dist/lib/browser/{compiler-O4FJK7RR.mjs → compiler-W4BYJYTL.mjs} +3 -3
- package/dist/lib/browser/compiler-W4BYJYTL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +17 -17
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-C5D6TNPC.mjs → intent-resolver-U5YRUE7W.mjs} +12 -12
- package/dist/lib/browser/intent-resolver-U5YRUE7W.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-XJCN7XXF.mjs → react-surface-3MSPT54G.mjs} +12 -12
- package/dist/lib/browser/react-surface-3MSPT54G.mjs.map +7 -0
- package/dist/lib/browser/{settings-NK4XVS2E.mjs → settings-FU7NTENS.mjs} +3 -3
- package/dist/lib/browser/types.mjs +2 -2
- package/dist/lib/node/{DeploymentDialog-NUKZNILK.cjs → DeploymentDialog-PC5AL3BB.cjs} +10 -10
- package/dist/lib/node/DeploymentDialog-PC5AL3BB.cjs.map +7 -0
- package/dist/lib/node/ScriptContainer-56SH6R24.cjs +289 -0
- package/dist/lib/node/ScriptContainer-56SH6R24.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-LNI22TZF.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-SEGATFNH.cjs → artifact-definition-6BD6CVOV.cjs} +55 -58
- package/dist/lib/node/artifact-definition-6BD6CVOV.cjs.map +7 -0
- package/dist/lib/node/chunk-5LHP5EUJ.cjs +557 -0
- package/dist/lib/node/chunk-5LHP5EUJ.cjs.map +7 -0
- package/dist/lib/node/chunk-BYLHJ26I.cjs +91 -0
- package/dist/lib/node/chunk-BYLHJ26I.cjs.map +7 -0
- package/dist/lib/node/{chunk-PGEGRJP3.cjs → chunk-HCRW6T3G.cjs} +19 -20
- package/dist/lib/node/chunk-HCRW6T3G.cjs.map +7 -0
- package/dist/lib/node/{chunk-UUGLBCMY.cjs → chunk-NRZJV5SV.cjs} +93 -160
- package/dist/lib/node/chunk-NRZJV5SV.cjs.map +7 -0
- package/dist/lib/node/{chunk-NO5Y74F3.cjs → chunk-QG2X6J74.cjs} +6 -6
- package/dist/lib/node/{chunk-NO5Y74F3.cjs.map → chunk-QG2X6J74.cjs.map} +1 -1
- package/dist/lib/node/chunk-RARNZD62.cjs +179 -0
- package/dist/lib/node/chunk-RARNZD62.cjs.map +7 -0
- package/dist/lib/node/{chunk-DSFCLQ5F.cjs → chunk-V6L73D7S.cjs} +12 -11
- package/dist/lib/node/chunk-V6L73D7S.cjs.map +7 -0
- package/dist/lib/node/{chunk-KFJQVOGS.cjs → chunk-ZEV3VARQ.cjs} +7 -7
- package/dist/lib/node/{chunk-KFJQVOGS.cjs.map → chunk-ZEV3VARQ.cjs.map} +1 -1
- package/dist/lib/node/{compiler-FBC6ELQN.cjs → compiler-TFSJRLL4.cjs} +7 -7
- package/dist/lib/node/{compiler-FBC6ELQN.cjs.map → compiler-TFSJRLL4.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +45 -45
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-BQPBRVHM.cjs → intent-resolver-7SF26VGC.cjs} +21 -21
- package/dist/lib/node/intent-resolver-7SF26VGC.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-5XHS5WYW.cjs → react-surface-L6RS7BT2.cjs} +38 -38
- package/dist/lib/node/react-surface-L6RS7BT2.cjs.map +7 -0
- package/dist/lib/node/{settings-7PVJBWC4.cjs → settings-RRCQ7ZQD.cjs} +9 -9
- package/dist/lib/node/types.cjs +5 -5
- package/dist/lib/node/types.cjs.map +1 -1
- package/dist/lib/node-esm/{DeploymentDialog-BIXZ5Q57.mjs → DeploymentDialog-QHB2BGNJ.mjs} +5 -5
- package/dist/lib/node-esm/ScriptContainer-6RCZ43TI.mjs +273 -0
- package/dist/lib/node-esm/ScriptContainer-6RCZ43TI.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-NNUXXXMZ.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-5UHIXXHW.mjs → artifact-definition-PPV2XKU7.mjs} +44 -47
- 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-HKJUN636.mjs → chunk-2KJYPUQD.mjs} +3 -3
- package/dist/lib/{browser/chunk-A4VOGQ2P.mjs.map → node-esm/chunk-2KJYPUQD.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-TN35DSTF.mjs → chunk-47MABIVX.mjs} +7 -6
- package/dist/lib/node-esm/chunk-47MABIVX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-H7FRB3M7.mjs → chunk-AEB5TPEW.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-H7FRB3M7.mjs.map → chunk-AEB5TPEW.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-KOO76P2Y.mjs +531 -0
- package/dist/lib/node-esm/chunk-KOO76P2Y.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/{chunk-NNQXJQBG.mjs → chunk-WD7OFSM3.mjs} +85 -154
- package/dist/lib/node-esm/chunk-WD7OFSM3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Z44O2YIK.mjs +89 -0
- package/dist/lib/node-esm/chunk-Z44O2YIK.mjs.map +7 -0
- package/dist/lib/node-esm/{compiler-3NG4T5LH.mjs → compiler-7PQ4D43R.mjs} +3 -3
- package/dist/lib/{browser/compiler-O4FJK7RR.mjs.map → node-esm/compiler-7PQ4D43R.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +17 -17
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-PPJKPHUQ.mjs → intent-resolver-3APO7YDF.mjs} +12 -12
- package/dist/lib/node-esm/intent-resolver-3APO7YDF.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-7ELFL7IO.mjs → react-surface-S5LHD3IA.mjs} +12 -12
- package/dist/lib/node-esm/react-surface-S5LHD3IA.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-SJYC4JLT.mjs → settings-NKNC32QC.mjs} +3 -3
- package/dist/lib/node-esm/types.mjs +2 -2
- 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/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/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 +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.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.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 +3 -3
- package/src/capabilities/app-graph-builder.ts +46 -29
- package/src/capabilities/artifact-definition.ts +39 -37
- package/src/capabilities/intent-resolver.ts +5 -5
- package/src/capabilities/react-surface.tsx +5 -5
- 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/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/meta.ts +2 -2
- package/src/templates/chat.ts +4 -10
- package/src/templates/chess.ts +2 -7
- package/src/templates/data-generator.ts +2 -7
- package/src/templates/discord.ts +16 -14
- 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 +35 -26
- package/src/translations.ts +1 -1
- package/src/types.ts +13 -14
- package/src/util/deploy.ts +3 -4
- package/dist/lib/browser/DeploymentDialog-QEKJ54ZB.mjs +0 -12
- package/dist/lib/browser/ScriptContainer-ATBYTIFH.mjs +0 -248
- package/dist/lib/browser/ScriptContainer-ATBYTIFH.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-2GIBRQLV.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-OEDM2SCN.mjs.map +0 -7
- package/dist/lib/browser/chunk-EGDYE5MW.mjs.map +0 -7
- package/dist/lib/browser/chunk-OZEMT3NO.mjs +0 -147
- package/dist/lib/browser/chunk-OZEMT3NO.mjs.map +0 -7
- package/dist/lib/browser/chunk-QNXJNXQZ.mjs +0 -480
- package/dist/lib/browser/chunk-QNXJNXQZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-SXS6PUU5.mjs.map +0 -7
- package/dist/lib/browser/chunk-XEPVXV72.mjs +0 -87
- package/dist/lib/browser/chunk-XEPVXV72.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZFTDU4WS.mjs +0 -41
- package/dist/lib/browser/chunk-ZFTDU4WS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-C5D6TNPC.mjs.map +0 -7
- package/dist/lib/browser/react-surface-XJCN7XXF.mjs.map +0 -7
- package/dist/lib/node/DeploymentDialog-NUKZNILK.cjs.map +0 -7
- package/dist/lib/node/ScriptContainer-OHHMLPUE.cjs +0 -267
- package/dist/lib/node/ScriptContainer-OHHMLPUE.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-LNI22TZF.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-SEGATFNH.cjs.map +0 -7
- package/dist/lib/node/chunk-4K23KEYT.cjs +0 -91
- package/dist/lib/node/chunk-4K23KEYT.cjs.map +0 -7
- package/dist/lib/node/chunk-DSFCLQ5F.cjs.map +0 -7
- package/dist/lib/node/chunk-PGEGRJP3.cjs.map +0 -7
- package/dist/lib/node/chunk-PMGWL64F.cjs +0 -173
- package/dist/lib/node/chunk-PMGWL64F.cjs.map +0 -7
- package/dist/lib/node/chunk-UUGLBCMY.cjs.map +0 -7
- package/dist/lib/node/chunk-ZZ4HK5KM.cjs +0 -507
- package/dist/lib/node/chunk-ZZ4HK5KM.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-BQPBRVHM.cjs.map +0 -7
- package/dist/lib/node/react-surface-5XHS5WYW.cjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-4YWGWPY7.mjs +0 -249
- package/dist/lib/node-esm/ScriptContainer-4YWGWPY7.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-NNUXXXMZ.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-5UHIXXHW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4ISQLIIH.mjs +0 -481
- package/dist/lib/node-esm/chunk-4ISQLIIH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GR4VTXVM.mjs +0 -148
- package/dist/lib/node-esm/chunk-GR4VTXVM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KGYTIL33.mjs +0 -42
- package/dist/lib/node-esm/chunk-KGYTIL33.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NNQXJQBG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TN35DSTF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-X64SI6XO.mjs +0 -89
- package/dist/lib/node-esm/chunk-X64SI6XO.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-3NG4T5LH.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-PPJKPHUQ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-7ELFL7IO.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-QEKJ54ZB.mjs.map → DeploymentDialog-NLWQHNKE.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-NK4XVS2E.mjs.map → settings-FU7NTENS.mjs.map} +0 -0
- /package/dist/lib/node/{settings-7PVJBWC4.cjs.map → settings-RRCQ7ZQD.cjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-BIXZ5Q57.mjs.map → DeploymentDialog-QHB2BGNJ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-SJYC4JLT.mjs.map → settings-NKNC32QC.mjs.map} +0 -0
package/src/hooks/index.ts
CHANGED
package/src/hooks/template.ts
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions/types';
|
|
5
|
+
import { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions';
|
|
8
6
|
import { getMeta } from '@dxos/live-object';
|
|
9
7
|
import { createMenuItemGroup, createMenuAction } from '@dxos/react-ui-menu';
|
|
10
8
|
|
|
@@ -20,19 +18,34 @@ const createTemplateSelectGroup = () => {
|
|
|
20
18
|
});
|
|
21
19
|
};
|
|
22
20
|
|
|
23
|
-
const createTemplateSelectActions = () => {
|
|
21
|
+
const createTemplateSelectActions = (script: ScriptType) => {
|
|
24
22
|
return templates.map((template) => {
|
|
25
|
-
return createMenuAction<TemplateActionProperties>(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
return createMenuAction<TemplateActionProperties>(
|
|
24
|
+
`template--${template.id}`,
|
|
25
|
+
() => {
|
|
26
|
+
script.name = template.name;
|
|
27
|
+
script.source!.target!.content = template.source;
|
|
28
|
+
const metaKeys = getMeta(script).keys;
|
|
29
|
+
const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
|
|
30
|
+
if (oldPresetIndex >= 0) {
|
|
31
|
+
metaKeys.splice(oldPresetIndex, 1);
|
|
32
|
+
}
|
|
33
|
+
if (template.presetId) {
|
|
34
|
+
metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
label: template.name,
|
|
39
|
+
value: template.id,
|
|
40
|
+
type: 'template',
|
|
41
|
+
},
|
|
42
|
+
);
|
|
30
43
|
});
|
|
31
44
|
};
|
|
32
45
|
|
|
33
|
-
export const createTemplateSelect = () => {
|
|
46
|
+
export const createTemplateSelect = (script: ScriptType) => {
|
|
34
47
|
const templateSelectGroup = createTemplateSelectGroup();
|
|
35
|
-
const templateSelectActions = createTemplateSelectActions();
|
|
48
|
+
const templateSelectActions = createTemplateSelectActions(script);
|
|
36
49
|
return {
|
|
37
50
|
nodes: [templateSelectGroup, ...templateSelectActions],
|
|
38
51
|
edges: [
|
|
@@ -41,24 +54,3 @@ export const createTemplateSelect = () => {
|
|
|
41
54
|
],
|
|
42
55
|
};
|
|
43
56
|
};
|
|
44
|
-
|
|
45
|
-
export const useTemplateSelectHandler = ({ script }: { script: ScriptType }) => {
|
|
46
|
-
return useCallback(
|
|
47
|
-
(templateId: string) => {
|
|
48
|
-
const template = templates.find((template) => template.id === templateId);
|
|
49
|
-
if (template) {
|
|
50
|
-
script.name = template.name;
|
|
51
|
-
script.source!.target!.content = template.source;
|
|
52
|
-
const metaKeys = getMeta(script).keys;
|
|
53
|
-
const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
|
|
54
|
-
if (oldPresetIndex >= 0) {
|
|
55
|
-
metaKeys.splice(oldPresetIndex, 1);
|
|
56
|
-
}
|
|
57
|
-
if (template.presetId) {
|
|
58
|
-
metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
[script],
|
|
63
|
-
);
|
|
64
|
-
};
|
package/src/meta.ts
CHANGED
|
@@ -12,8 +12,8 @@ export const meta: PluginMeta = {
|
|
|
12
12
|
description:
|
|
13
13
|
'Scripts in Composer allow you to deploy custom functions that run on the edge. These functions can be referenced by your AI agent and called inside of cells in any Sheet. Use scripts to interact with API’s or external data inside of Composer.',
|
|
14
14
|
icon: 'ph--code--regular',
|
|
15
|
-
source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/
|
|
16
|
-
tags: ['
|
|
15
|
+
source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer',
|
|
16
|
+
tags: ['labs'],
|
|
17
17
|
screenshots: ['https://dxos.network/plugin-details-scripts-dark.png'],
|
|
18
18
|
};
|
|
19
19
|
|
package/src/templates/chat.ts
CHANGED
|
@@ -3,21 +3,15 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
|
-
import { transformServerSentEvents } from 'https://esm.sh/@dxos/script-toolbox';
|
|
6
|
+
import { transformServerSentEvents } from 'https://esm.sh/@dxos/script-toolbox?bundle=false';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Chatbot that answers questions based on the context data.
|
|
10
10
|
*/
|
|
11
|
-
export default async ({
|
|
12
|
-
event: {
|
|
13
|
-
data: { request },
|
|
14
|
-
},
|
|
15
|
-
context: { space, ai },
|
|
16
|
-
}: any) => {
|
|
17
|
-
const textBody = await request.text();
|
|
11
|
+
export default async ({ data: { bodyText }, context: { space, ai } }: any) => {
|
|
18
12
|
let parsedRequest: any;
|
|
19
13
|
try {
|
|
20
|
-
parsedRequest = JSON.parse(
|
|
14
|
+
parsedRequest = JSON.parse(bodyText);
|
|
21
15
|
} catch (err) {
|
|
22
16
|
const answer = await ai.run('@cf/meta/llama-3.1-8b-instruct', {
|
|
23
17
|
stream: true,
|
|
@@ -29,7 +23,7 @@ export default async ({
|
|
|
29
23
|
${await getContext({ space })}
|
|
30
24
|
|
|
31
25
|
QUESTION:
|
|
32
|
-
${
|
|
26
|
+
${bodyText}
|
|
33
27
|
`,
|
|
34
28
|
});
|
|
35
29
|
return new Response(transformServerSentEvents(answer));
|
package/src/templates/chess.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import { defineFunction, S } from 'dxos:functions';
|
|
7
7
|
// @ts-ignore
|
|
8
|
-
import { Chess } from 'https://esm.sh/chess.js@0.13.1';
|
|
8
|
+
import { Chess } from 'https://esm.sh/chess.js@0.13.1?bundle=false';
|
|
9
9
|
|
|
10
10
|
export default defineFunction({
|
|
11
11
|
description: 'Plays a random move in a chess game.',
|
|
@@ -25,12 +25,7 @@ export default defineFunction({
|
|
|
25
25
|
}),
|
|
26
26
|
}),
|
|
27
27
|
|
|
28
|
-
handler: async ({
|
|
29
|
-
event: {
|
|
30
|
-
data: { changedObjectId, player = 'b' },
|
|
31
|
-
},
|
|
32
|
-
context: { space },
|
|
33
|
-
}: any) => {
|
|
28
|
+
handler: async ({ data: { changedObjectId, player = 'b' }, context: { space } }: any) => {
|
|
34
29
|
const { pgn } = await space.db.query({ id: changedObjectId }).first();
|
|
35
30
|
const game = new Chess();
|
|
36
31
|
game.load_pgn(pgn);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import { defineFunction, S, create, Expando } from 'dxos:functions';
|
|
7
7
|
// @ts-ignore
|
|
8
|
-
import { randText } from 'https://esm.sh/@ngneat/falso@7.1.1';
|
|
8
|
+
import { randText } from 'https://esm.sh/@ngneat/falso@7.1.1?bundle=false';
|
|
9
9
|
|
|
10
10
|
export default defineFunction({
|
|
11
11
|
inputSchema: S.Struct({
|
|
@@ -16,12 +16,7 @@ export default defineFunction({
|
|
|
16
16
|
|
|
17
17
|
outputSchema: S.Struct({}),
|
|
18
18
|
|
|
19
|
-
handler: async ({
|
|
20
|
-
event: {
|
|
21
|
-
data: { documentAmount = 1, textSize = 10, mutationAmount = 0 },
|
|
22
|
-
},
|
|
23
|
-
context: { space },
|
|
24
|
-
}: any) => {
|
|
19
|
+
handler: async ({ data: { documentAmount = 1, textSize = 10, mutationAmount = 0 }, context: { space } }: any) => {
|
|
25
20
|
await space.db.graph.schemaRegistry.addSchema([Expando]);
|
|
26
21
|
const result: Record<string, any> = {};
|
|
27
22
|
const objects: Expando[] = [];
|
package/src/templates/discord.ts
CHANGED
|
@@ -3,23 +3,30 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
|
-
import { create,
|
|
6
|
+
import { create, defineFunction, DXN, EchoObject, Filter, ObjectId, S } from 'dxos:functions';
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
import { FetchHttpClient } from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
|
|
7
9
|
import {
|
|
8
|
-
|
|
10
|
+
DiscordConfig,
|
|
11
|
+
DiscordREST,
|
|
12
|
+
DiscordRESTMemoryLive,
|
|
9
13
|
// @ts-ignore
|
|
10
|
-
} from 'https://esm.sh
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
import { DiscordConfig, DiscordREST, DiscordRESTMemoryLive } from 'https://esm.sh/dfx@0.113.0?deps=effect@3.13.3';
|
|
14
|
+
} from 'https://esm.sh/dfx@0.113.0?deps=effect@3.14.21&bundle=false';
|
|
13
15
|
// @ts-ignore
|
|
14
|
-
import { Effect, Config, Redacted, Ref } from 'https://esm.sh/effect@3.
|
|
16
|
+
import { Effect, Config, Redacted, Ref } from 'https://esm.sh/effect@3.14.21?bundle=false';
|
|
15
17
|
|
|
16
18
|
const MessageSchema = S.Struct({
|
|
17
|
-
id:
|
|
19
|
+
id: ObjectId,
|
|
18
20
|
foreignId: S.Any, // bigint?
|
|
19
21
|
from: S.String,
|
|
20
22
|
created: S.String,
|
|
21
23
|
content: S.String,
|
|
22
|
-
}).pipe(
|
|
24
|
+
}).pipe(
|
|
25
|
+
EchoObject({
|
|
26
|
+
typename: 'example.com/type/Message',
|
|
27
|
+
version: '0.1.0',
|
|
28
|
+
}),
|
|
29
|
+
);
|
|
23
30
|
|
|
24
31
|
const DEFAULT_AFTER = 1704067200; // 2024-01-01
|
|
25
32
|
|
|
@@ -42,12 +49,7 @@ export default defineFunction({
|
|
|
42
49
|
newMessages: S.Number,
|
|
43
50
|
}),
|
|
44
51
|
|
|
45
|
-
handler: ({
|
|
46
|
-
event: {
|
|
47
|
-
data: { channelId, queueId, after = DEFAULT_AFTER, pageSize = 5 },
|
|
48
|
-
},
|
|
49
|
-
context: { space },
|
|
50
|
-
}: any) =>
|
|
52
|
+
handler: ({ data: { channelId, queueId, after = DEFAULT_AFTER, pageSize = 5 }, context: { space } }: any) =>
|
|
51
53
|
Effect.gen(function* () {
|
|
52
54
|
const { token } = yield* Effect.tryPromise({
|
|
53
55
|
try: () => space.db.query(Filter.typename('dxos.org/type/AccessToken', { source: 'discord.com' })).first(),
|
package/src/templates/echo.ts
CHANGED
|
@@ -5,15 +5,4 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* Echos the request data.
|
|
7
7
|
*/
|
|
8
|
-
export default async ({
|
|
9
|
-
event: {
|
|
10
|
-
data: { request },
|
|
11
|
-
},
|
|
12
|
-
}: any) => {
|
|
13
|
-
const data = await request.json();
|
|
14
|
-
return new Response(JSON.stringify(data ?? {}), {
|
|
15
|
-
headers: {
|
|
16
|
-
'Content-Type': 'application/json',
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
};
|
|
8
|
+
export default async ({ data }: any) => data;
|
package/src/templates/email.ts
CHANGED
|
@@ -6,15 +6,9 @@
|
|
|
6
6
|
* Appends a message to the end of a Document configured through a trigger.
|
|
7
7
|
* Trigger must have a targetDocumentId field set in Meta.
|
|
8
8
|
*/
|
|
9
|
-
export default async ({
|
|
10
|
-
|
|
11
|
-
data: { request },
|
|
12
|
-
},
|
|
13
|
-
context: { space },
|
|
14
|
-
}: any) => {
|
|
15
|
-
const { data, trigger } = (await request.json()) as RequestPayload;
|
|
9
|
+
export default async ({ data: { bodyText }, context: { space } }: any) => {
|
|
10
|
+
const { email, targetDocumentId: documentId } = JSON.parse(bodyText) as RequestPayload;
|
|
16
11
|
|
|
17
|
-
const documentId = trigger.meta.targetDocumentId;
|
|
18
12
|
const document = await space.db.query({ id: documentId }, { format: 'plain' }).first();
|
|
19
13
|
|
|
20
14
|
const contentId = document.content['/'].split(':')[3];
|
|
@@ -23,11 +17,11 @@ export default async ({
|
|
|
23
17
|
documentContent.content,
|
|
24
18
|
'',
|
|
25
19
|
'---',
|
|
26
|
-
`**From:** ${
|
|
27
|
-
`**Subject:** ${
|
|
28
|
-
`**Date:** ${
|
|
20
|
+
`**From:** ${email.from}`,
|
|
21
|
+
`**Subject:** ${email.subject}`,
|
|
22
|
+
`**Date:** ${email.created}`,
|
|
29
23
|
'',
|
|
30
|
-
|
|
24
|
+
email.body,
|
|
31
25
|
].join('\n');
|
|
32
26
|
|
|
33
27
|
await space.db.update({ id: contentId }, { content: modifiedContent });
|
|
@@ -36,6 +30,6 @@ export default async ({
|
|
|
36
30
|
};
|
|
37
31
|
|
|
38
32
|
type RequestPayload = {
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
email: { from: string; subject: string; created: string; body: string };
|
|
34
|
+
targetDocumentId: string;
|
|
41
35
|
};
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
|
-
import {
|
|
6
|
+
import { S, defineFunction } from 'dxos:functions';
|
|
7
7
|
import {
|
|
8
8
|
HttpClient,
|
|
9
9
|
HttpClientRequest,
|
|
10
10
|
FetchHttpClient,
|
|
11
11
|
// @ts-ignore
|
|
12
|
-
} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.
|
|
12
|
+
} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
|
|
13
13
|
// @ts-ignore
|
|
14
|
-
import { Effect, Schedule } from 'https://esm.sh/effect@3.
|
|
14
|
+
import { Effect, Schedule } from 'https://esm.sh/effect@3.14.21?bundle=false';
|
|
15
15
|
|
|
16
16
|
export default defineFunction({
|
|
17
17
|
description: 'Returns the exchange rate between two currencies.',
|
|
@@ -23,11 +23,7 @@ export default defineFunction({
|
|
|
23
23
|
|
|
24
24
|
outputSchema: S.String.annotations({ description: 'The exchange rate between the two currencies' }),
|
|
25
25
|
|
|
26
|
-
handler: async ({
|
|
27
|
-
event: {
|
|
28
|
-
data: { from, to },
|
|
29
|
-
},
|
|
30
|
-
}: any) =>
|
|
26
|
+
handler: async ({ data: { from, to } }: any) =>
|
|
31
27
|
Effect.gen(function* () {
|
|
32
28
|
const res = yield* HttpClientRequest.get(`https://free.ratesdb.com/v1/rates?from=${from}&to=${to}`).pipe(
|
|
33
29
|
HttpClient.execute,
|
package/src/templates/forex.ts
CHANGED
|
@@ -13,11 +13,7 @@ export default defineFunction({
|
|
|
13
13
|
to: S.String.annotations({ description: 'The target currency' }),
|
|
14
14
|
}),
|
|
15
15
|
|
|
16
|
-
handler: async ({
|
|
17
|
-
event: {
|
|
18
|
-
data: { from, to },
|
|
19
|
-
},
|
|
20
|
-
}: any) => {
|
|
16
|
+
handler: async ({ data: { from, to } }: any) => {
|
|
21
17
|
const res = await fetch(`https://free.ratesdb.com/v1/rates?from=${from}&to=${to}`);
|
|
22
18
|
const {
|
|
23
19
|
data: { rates },
|
package/src/templates/gmail.ts
CHANGED
|
@@ -4,47 +4,45 @@
|
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import { create, defineFunction, EchoObject, Filter, ObjectId, S } from 'dxos:functions';
|
|
7
|
+
// @ts-ignore
|
|
7
8
|
import {
|
|
8
9
|
HttpClient,
|
|
9
10
|
HttpClientRequest,
|
|
10
11
|
FetchHttpClient,
|
|
11
12
|
// @ts-ignore
|
|
12
|
-
} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.
|
|
13
|
+
} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
|
|
13
14
|
// @ts-ignore
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const DEFAULT_AFTER = '2025-01-01';
|
|
15
|
+
import { format, subDays } from 'https://esm.sh/date-fns@3.3.1?bundle=false';
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
import { pipe, Chunk, Effect, Ref, Schedule, Stream } from 'https://esm.sh/effect@3.14.21?bundle=false';
|
|
18
18
|
|
|
19
19
|
export default defineFunction({
|
|
20
20
|
inputSchema: S.Struct({
|
|
21
|
+
mailboxId: S.String,
|
|
22
|
+
userId: S.optional(S.String).pipe(S.withDecodingDefault(() => 'me')),
|
|
23
|
+
after: S.optional(S.Union(S.Number, S.String)).pipe(
|
|
24
|
+
S.withDecodingDefault(() => format(subDays(new Date(), 30), 'yyyy-MM-dd')),
|
|
25
|
+
),
|
|
26
|
+
pageSize: S.optional(S.Number).pipe(S.withDecodingDefault(() => 100)),
|
|
21
27
|
// TODO(wittjosiah): Remove. This is used to provide a terminal for a cron trigger.
|
|
22
28
|
tick: S.optional(S.String),
|
|
23
|
-
userId: S.optional(S.String),
|
|
24
|
-
after: S.optional(S.Union(S.Number, S.String)),
|
|
25
|
-
pageSize: S.optional(S.Number),
|
|
26
|
-
mailboxId: S.String,
|
|
27
29
|
}),
|
|
28
30
|
|
|
29
31
|
outputSchema: S.Struct({
|
|
30
32
|
newMessages: S.Number,
|
|
31
33
|
}),
|
|
32
34
|
|
|
33
|
-
handler: ({
|
|
34
|
-
event: {
|
|
35
|
-
data: { mailboxId, userId = 'me', after = DEFAULT_AFTER, pageSize = 100 },
|
|
36
|
-
},
|
|
37
|
-
context: { space },
|
|
38
|
-
}: any) =>
|
|
35
|
+
handler: ({ context: { space }, data: { mailboxId, userId, after, pageSize } }: any) =>
|
|
39
36
|
Effect.gen(function* () {
|
|
40
37
|
const { token } = yield* Effect.tryPromise({
|
|
41
38
|
try: () => space.db.query(Filter.typename('dxos.org/type/AccessToken', { source: 'gmail.com' })).first(),
|
|
42
39
|
catch: (e: any) => e,
|
|
43
40
|
});
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
// NOTE: Google API bundles size is v. large and caused runtime issues.
|
|
43
|
+
const makeRequest = (url: string) =>
|
|
46
44
|
pipe(
|
|
47
|
-
|
|
45
|
+
url,
|
|
48
46
|
HttpClientRequest.get,
|
|
49
47
|
HttpClientRequest.setHeaders({ Authorization: `Bearer ${token}`, Accept: 'application/json' }),
|
|
50
48
|
HttpClient.execute,
|
|
@@ -54,13 +52,10 @@ export default defineFunction({
|
|
|
54
52
|
Effect.scoped,
|
|
55
53
|
);
|
|
56
54
|
|
|
57
|
-
const listMessages = (userId: string, q: string, pageSize: number, pageToken: string | null) =>
|
|
58
|
-
|
|
59
|
-
return makeRequest(pageToken ? `${url}&pageToken=${pageToken}` : url);
|
|
60
|
-
};
|
|
55
|
+
const listMessages = (userId: string, q: string, pageSize: number, pageToken: string | null) =>
|
|
56
|
+
makeRequest(getUrl(userId, undefined, { q, pageSize, pageToken }));
|
|
61
57
|
|
|
62
|
-
const getMessage = (userId: string,
|
|
63
|
-
makeRequest(`https://gmail.googleapis.com/gmail/v1/users/${userId}/messages/${id}`);
|
|
58
|
+
const getMessage = (userId: string, messageId: string) => makeRequest(getUrl(userId, messageId));
|
|
64
59
|
|
|
65
60
|
const mailbox = yield* Effect.tryPromise({
|
|
66
61
|
try: () => space.db.query({ id: mailboxId }).first(),
|
|
@@ -137,6 +132,16 @@ export default defineFunction({
|
|
|
137
132
|
}).pipe(Effect.provide(FetchHttpClient.layer)),
|
|
138
133
|
});
|
|
139
134
|
|
|
135
|
+
const getUrl = (userId: string, messageId?: string, params?: Record<string, any>) => {
|
|
136
|
+
const api = new URL(
|
|
137
|
+
[`https://gmail.googleapis.com/gmail/v1/users/${userId}/messages`, messageId].filter(Boolean).join('/'),
|
|
138
|
+
);
|
|
139
|
+
Object.entries(params ?? {})
|
|
140
|
+
.filter(([_, value]) => value != null)
|
|
141
|
+
.forEach(([key, value]) => api.searchParams.set(key, value));
|
|
142
|
+
return api.toString();
|
|
143
|
+
};
|
|
144
|
+
|
|
140
145
|
/**
|
|
141
146
|
* Parses an email string in the format "Name <email@example.com>" into separate name and email components.
|
|
142
147
|
*/
|
|
@@ -153,10 +158,9 @@ const parseEmailString = (emailString: string): { name?: string; email: string }
|
|
|
153
158
|
return undefined;
|
|
154
159
|
};
|
|
155
160
|
|
|
156
|
-
// TODO(wittjosiah): These schemas should be imported from @dxos/schema.
|
|
157
|
-
|
|
158
161
|
//
|
|
159
162
|
// Schemas
|
|
163
|
+
// TODO(wittjosiah): These schemas should be imported from @dxos/S.
|
|
160
164
|
//
|
|
161
165
|
|
|
162
166
|
const ActorRoles = ['user', 'assistant'] as const;
|
|
@@ -240,5 +244,10 @@ const MessageType = S.Struct({
|
|
|
240
244
|
}),
|
|
241
245
|
),
|
|
242
246
|
),
|
|
243
|
-
}).pipe(
|
|
247
|
+
}).pipe(
|
|
248
|
+
EchoObject({
|
|
249
|
+
typename: 'dxos.org/type/Message',
|
|
250
|
+
version: '0.1.0',
|
|
251
|
+
}),
|
|
252
|
+
);
|
|
244
253
|
type MessageType = S.Schema.Type<typeof MessageType>;
|
package/src/translations.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Schema } from 'effect';
|
|
6
6
|
|
|
7
7
|
import { SpaceSchema } from '@dxos/client/echo';
|
|
8
|
-
import {
|
|
9
|
-
import { ScriptType } from '@dxos/functions/types';
|
|
8
|
+
import { ScriptType } from '@dxos/functions';
|
|
10
9
|
import { EditorInputMode } from '@dxos/react-ui-editor';
|
|
11
10
|
|
|
12
11
|
import { SCRIPT_PLUGIN } from './meta';
|
|
@@ -17,27 +16,27 @@ export { SCRIPT_PLUGIN };
|
|
|
17
16
|
export namespace ScriptAction {
|
|
18
17
|
const SCRIPT_ACTION = `${SCRIPT_PLUGIN}/action`;
|
|
19
18
|
|
|
20
|
-
export const CreateScriptSchema =
|
|
21
|
-
name:
|
|
19
|
+
export const CreateScriptSchema = Schema.Struct({
|
|
20
|
+
name: Schema.optional(Schema.String),
|
|
22
21
|
// TODO(wittjosiah): Placeholder annotation?
|
|
23
|
-
gistUrl:
|
|
24
|
-
initialTemplateId:
|
|
22
|
+
gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),
|
|
23
|
+
initialTemplateId: Schema.optional(Schema.String),
|
|
25
24
|
});
|
|
26
25
|
|
|
27
|
-
export type CreateScriptProps =
|
|
26
|
+
export type CreateScriptProps = Schema.Schema.Type<typeof CreateScriptSchema>;
|
|
28
27
|
|
|
29
|
-
export class Create extends
|
|
30
|
-
input:
|
|
31
|
-
output:
|
|
28
|
+
export class Create extends Schema.TaggedClass<Create>()(`${SCRIPT_ACTION}/create`, {
|
|
29
|
+
input: Schema.extend(CreateScriptSchema, Schema.Struct({ space: SpaceSchema })),
|
|
30
|
+
output: Schema.Struct({
|
|
32
31
|
object: ScriptType,
|
|
33
32
|
}),
|
|
34
33
|
}) {}
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
export const ScriptSettingsSchema =
|
|
38
|
-
|
|
36
|
+
export const ScriptSettingsSchema = Schema.mutable(
|
|
37
|
+
Schema.Struct({
|
|
39
38
|
editorInputMode: EditorInputMode,
|
|
40
39
|
}),
|
|
41
40
|
);
|
|
42
41
|
|
|
43
|
-
export type ScriptSettingsProps =
|
|
42
|
+
export type ScriptSettingsProps = Schema.Schema.Type<typeof ScriptSettingsSchema>;
|
package/src/util/deploy.ts
CHANGED
|
@@ -7,12 +7,11 @@ import {
|
|
|
7
7
|
FunctionType,
|
|
8
8
|
type ScriptType,
|
|
9
9
|
getUserFunctionUrlInMetadata,
|
|
10
|
-
incrementSemverPatch,
|
|
11
10
|
makeFunctionUrl,
|
|
12
11
|
setUserFunctionUrlInMetadata,
|
|
13
|
-
uploadWorkerFunction,
|
|
14
12
|
} from '@dxos/functions';
|
|
15
13
|
import { Bundler } from '@dxos/functions/bundler';
|
|
14
|
+
import { incrementSemverPatch, uploadWorkerFunction } from '@dxos/functions/edge';
|
|
16
15
|
import { log } from '@dxos/log';
|
|
17
16
|
import { live, getMeta, makeRef, type Space } from '@dxos/react-client/echo';
|
|
18
17
|
|
|
@@ -58,7 +57,7 @@ export const deployScript = async ({
|
|
|
58
57
|
|
|
59
58
|
const { functionId, version, meta } = await uploadWorkerFunction({
|
|
60
59
|
client,
|
|
61
|
-
|
|
60
|
+
ownerPublicKey: space.key,
|
|
62
61
|
version: fn ? incrementSemverPatch(fn.version) : '0.0.1',
|
|
63
62
|
functionId: existingFunctionId,
|
|
64
63
|
source: bundle,
|
|
@@ -72,7 +71,7 @@ export const deployScript = async ({
|
|
|
72
71
|
script.changed = false;
|
|
73
72
|
updateFunctionMetadata(script, storedFunction, meta, functionId);
|
|
74
73
|
|
|
75
|
-
const functionUrl = makeFunctionUrl(
|
|
74
|
+
const functionUrl = makeFunctionUrl({ functionId });
|
|
76
75
|
setUserFunctionUrlInMetadata(getMeta(storedFunction), functionUrl);
|
|
77
76
|
|
|
78
77
|
return { success: true, functionUrl };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DEPLOYMENT_DIALOG,
|
|
3
|
-
DeploymentDialog_default
|
|
4
|
-
} from "./chunk-OZEMT3NO.mjs";
|
|
5
|
-
import "./chunk-SXS6PUU5.mjs";
|
|
6
|
-
import "./chunk-ZFTDU4WS.mjs";
|
|
7
|
-
import "./chunk-KJMVDGRB.mjs";
|
|
8
|
-
export {
|
|
9
|
-
DEPLOYMENT_DIALOG,
|
|
10
|
-
DeploymentDialog_default as default
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=DeploymentDialog-QEKJ54ZB.mjs.map
|