@dxos/plugin-script 0.8.1-main.ba2dec9 → 0.8.1-staging.391c573
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/{ScriptContainer-AIBCQZ7S.mjs → ScriptContainer-4FIJVITA.mjs} +4 -3
- package/dist/lib/browser/{ScriptContainer-AIBCQZ7S.mjs.map → ScriptContainer-4FIJVITA.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-5WPOWUPI.mjs → chunk-7TZYIGBS.mjs} +3 -4
- package/dist/lib/browser/chunk-7TZYIGBS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5RZVHFGR.mjs → chunk-SFG422OU.mjs} +2 -2
- package/dist/lib/browser/index.mjs +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-M4RD24IN.mjs → react-surface-HXCDELEA.mjs} +3 -3
- package/dist/lib/node/{ScriptContainer-ZYVN7ZW6.cjs → ScriptContainer-54GQSZCU.cjs} +15 -14
- package/dist/lib/node/{ScriptContainer-ZYVN7ZW6.cjs.map → ScriptContainer-54GQSZCU.cjs.map} +3 -3
- package/dist/lib/node/{chunk-PTXU7QFZ.cjs → chunk-45OE3V5M.cjs} +5 -5
- package/dist/lib/node/{chunk-B2O7H2AU.cjs → chunk-CJ45RBS4.cjs} +6 -7
- package/dist/lib/node/chunk-CJ45RBS4.cjs.map +7 -0
- package/dist/lib/node/index.cjs +8 -8
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-JDA5UZCC.cjs → react-surface-QQL4EDUS.cjs} +12 -12
- package/dist/lib/node-esm/{ScriptContainer-PI7PU5T7.mjs → ScriptContainer-JAQY5F3X.mjs} +4 -3
- package/dist/lib/node-esm/{ScriptContainer-PI7PU5T7.mjs.map → ScriptContainer-JAQY5F3X.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-AXFGQDAD.mjs → chunk-LBFWIT3Y.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-GLW67SM7.mjs → chunk-RI35DJSW.mjs} +3 -4
- package/dist/lib/node-esm/chunk-RI35DJSW.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-ODWVGWV4.mjs → react-surface-PCW5HN3B.mjs} +3 -3
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
- package/package.json +45 -45
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +1 -0
- package/src/hooks/deploy.ts +1 -2
- package/src/hooks/useToolbarState.ts +1 -0
- package/dist/lib/browser/chunk-5WPOWUPI.mjs.map +0 -7
- package/dist/lib/node/chunk-B2O7H2AU.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-GLW67SM7.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-5RZVHFGR.mjs.map → chunk-SFG422OU.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-M4RD24IN.mjs.map → react-surface-HXCDELEA.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-PTXU7QFZ.cjs.map → chunk-45OE3V5M.cjs.map} +0 -0
- /package/dist/lib/node/{react-surface-JDA5UZCC.cjs.map → react-surface-QQL4EDUS.cjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-AXFGQDAD.mjs.map → chunk-LBFWIT3Y.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-ODWVGWV4.mjs.map → react-surface-PCW5HN3B.mjs.map} +0 -0
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
ScriptContainer,
|
|
5
5
|
ScriptSettings,
|
|
6
6
|
ScriptSettingsPanel
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LBFWIT3Y.mjs";
|
|
8
8
|
import {
|
|
9
9
|
ScriptCapabilities
|
|
10
10
|
} from "./chunk-CP5LXTK5.mjs";
|
|
11
11
|
import {
|
|
12
12
|
useDeployState,
|
|
13
13
|
useToolbarState
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-RI35DJSW.mjs";
|
|
15
15
|
import "./chunk-4YUSGXJ2.mjs";
|
|
16
16
|
import {
|
|
17
17
|
SCRIPT_PLUGIN
|
|
@@ -77,4 +77,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
77
77
|
export {
|
|
78
78
|
react_surface_default as default
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=react-surface-
|
|
80
|
+
//# sourceMappingURL=react-surface-PCW5HN3B.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypescriptEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TypescriptEditor/TypescriptEditor.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAKL,KAAK,eAAe,EAMpB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,4BAA4B,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAErG,eAAO,MAAM,gBAAgB,+FAU1B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"TypescriptEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TypescriptEditor/TypescriptEditor.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAKL,KAAK,eAAe,EAMpB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,4BAA4B,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAErG,eAAO,MAAM,gBAAgB,+FAU1B,qBAAqB,sBA2DvB,CAAC;AAqCF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../../src/hooks/deploy.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,UAAU,EAMhB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGxC,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;CA8BvD,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE;;;;;;wDAzBO,mBACzD,cACN,mBAAmB;;;;2BAGtB,mBAAmB,cAAc,mBAAmB;;sBAGQ,mBACrD;kBACqB,mBAAkB;;;;;;;CAqBlD,CAAC;AAEF,eAAO,MAAM,cAAc,sBAAuB;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,SAepG,CAAC;AAEF,eAAO,MAAM,gBAAgB,sBAAuB;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../../src/hooks/deploy.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,UAAU,EAMhB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGxC,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;CA8BvD,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE;;;;;;wDAzBO,mBACzD,cACN,mBAAmB;;;;2BAGtB,mBAAmB,cAAc,mBAAmB;;sBAGQ,mBACrD;kBACqB,mBAAkB;;;;;;;CAqBlD,CAAC;AAEF,eAAO,MAAM,cAAc,sBAAuB;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,SAepG,CAAC;AAEF,eAAO,MAAM,gBAAgB,sBAAuB;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,wBAoEtG,CAAC;AAEF,eAAO,MAAM,cAAc,cAAe;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,wBAMhD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToolbarState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useToolbarState.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useToolbarState.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useToolbarState.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;AAGlE,eAAO,MAAM,eAAe,kBAAkB,kBAAkB;;;;;GAE/D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-script",
|
|
3
|
-
"version": "0.8.1-
|
|
3
|
+
"version": "0.8.1-staging.391c573",
|
|
4
4
|
"description": "Braneframe notebook plugin",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -53,44 +53,44 @@
|
|
|
53
53
|
"prettier": "^3.2.4",
|
|
54
54
|
"react-syntax-highlighter": "^15.5.0",
|
|
55
55
|
"typescript": "^5.7.2",
|
|
56
|
-
"@dxos/app-framework": "0.8.1-
|
|
57
|
-
"@dxos/artifact": "0.8.1-
|
|
58
|
-
"@dxos/assistant": "0.8.1-
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/client": "0.8.1-
|
|
62
|
-
"@dxos/compute": "0.8.1-
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/
|
|
65
|
-
"@dxos/echo-
|
|
66
|
-
"@dxos/functions": "0.8.1-
|
|
67
|
-
"@dxos/invariant": "0.8.1-
|
|
68
|
-
"@dxos/keys": "0.8.1-
|
|
69
|
-
"@dxos/live-object": "0.8.1-
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/local-storage": "0.8.1-
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/plugin-
|
|
74
|
-
"@dxos/plugin-
|
|
75
|
-
"@dxos/plugin-space": "0.8.1-
|
|
76
|
-
"@dxos/plugin-
|
|
77
|
-
"@dxos/plugin-stack": "0.8.1-
|
|
78
|
-
"@dxos/plugin-markdown": "0.8.1-
|
|
79
|
-
"@dxos/plugin-theme": "0.8.1-
|
|
80
|
-
"@dxos/
|
|
81
|
-
"@dxos/
|
|
82
|
-
"@dxos/react-
|
|
83
|
-
"@dxos/react-
|
|
84
|
-
"@dxos/react-ui-editor": "0.8.1-
|
|
85
|
-
"@dxos/react-ui-
|
|
86
|
-
"@dxos/react-ui-
|
|
87
|
-
"@dxos/react-ui-
|
|
88
|
-
"@dxos/react-ui-
|
|
89
|
-
"@dxos/react-ui-
|
|
90
|
-
"@dxos/rpc-tunnel": "0.8.1-
|
|
91
|
-
"@dxos/
|
|
92
|
-
"@dxos/
|
|
93
|
-
"@dxos/util": "0.8.1-
|
|
56
|
+
"@dxos/app-framework": "0.8.1-staging.391c573",
|
|
57
|
+
"@dxos/artifact": "0.8.1-staging.391c573",
|
|
58
|
+
"@dxos/assistant": "0.8.1-staging.391c573",
|
|
59
|
+
"@dxos/client-protocol": "0.8.1-staging.391c573",
|
|
60
|
+
"@dxos/async": "0.8.1-staging.391c573",
|
|
61
|
+
"@dxos/client": "0.8.1-staging.391c573",
|
|
62
|
+
"@dxos/compute": "0.8.1-staging.391c573",
|
|
63
|
+
"@dxos/echo-protocol": "0.8.1-staging.391c573",
|
|
64
|
+
"@dxos/debug": "0.8.1-staging.391c573",
|
|
65
|
+
"@dxos/echo-schema": "0.8.1-staging.391c573",
|
|
66
|
+
"@dxos/functions": "0.8.1-staging.391c573",
|
|
67
|
+
"@dxos/invariant": "0.8.1-staging.391c573",
|
|
68
|
+
"@dxos/keys": "0.8.1-staging.391c573",
|
|
69
|
+
"@dxos/live-object": "0.8.1-staging.391c573",
|
|
70
|
+
"@dxos/plugin-client": "0.8.1-staging.391c573",
|
|
71
|
+
"@dxos/local-storage": "0.8.1-staging.391c573",
|
|
72
|
+
"@dxos/log": "0.8.1-staging.391c573",
|
|
73
|
+
"@dxos/plugin-deck": "0.8.1-staging.391c573",
|
|
74
|
+
"@dxos/plugin-graph": "0.8.1-staging.391c573",
|
|
75
|
+
"@dxos/plugin-space": "0.8.1-staging.391c573",
|
|
76
|
+
"@dxos/plugin-explorer": "0.8.1-staging.391c573",
|
|
77
|
+
"@dxos/plugin-stack": "0.8.1-staging.391c573",
|
|
78
|
+
"@dxos/plugin-markdown": "0.8.1-staging.391c573",
|
|
79
|
+
"@dxos/plugin-theme": "0.8.1-staging.391c573",
|
|
80
|
+
"@dxos/react-edge-client": "0.8.1-staging.391c573",
|
|
81
|
+
"@dxos/protocols": "0.8.1-staging.391c573",
|
|
82
|
+
"@dxos/react-client": "0.8.1-staging.391c573",
|
|
83
|
+
"@dxos/react-ui-attention": "0.8.1-staging.391c573",
|
|
84
|
+
"@dxos/react-ui-editor": "0.8.1-staging.391c573",
|
|
85
|
+
"@dxos/react-ui-list": "0.8.1-staging.391c573",
|
|
86
|
+
"@dxos/react-ui-form": "0.8.1-staging.391c573",
|
|
87
|
+
"@dxos/react-ui-menu": "0.8.1-staging.391c573",
|
|
88
|
+
"@dxos/react-ui-stack": "0.8.1-staging.391c573",
|
|
89
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.1-staging.391c573",
|
|
90
|
+
"@dxos/rpc-tunnel": "0.8.1-staging.391c573",
|
|
91
|
+
"@dxos/rpc": "0.8.1-staging.391c573",
|
|
92
|
+
"@dxos/schema": "0.8.1-staging.391c573",
|
|
93
|
+
"@dxos/util": "0.8.1-staging.391c573"
|
|
94
94
|
},
|
|
95
95
|
"devDependencies": {
|
|
96
96
|
"@phosphor-icons/react": "^2.1.5",
|
|
@@ -101,18 +101,18 @@
|
|
|
101
101
|
"react": "~18.2.0",
|
|
102
102
|
"react-dom": "~18.2.0",
|
|
103
103
|
"vite": "5.4.7",
|
|
104
|
-
"@dxos/random": "0.8.1-
|
|
105
|
-
"@dxos/react-ui": "0.8.1-
|
|
106
|
-
"@dxos/react-ui-theme": "0.8.1-
|
|
107
|
-
"@dxos/storybook-utils": "0.8.1-
|
|
104
|
+
"@dxos/random": "0.8.1-staging.391c573",
|
|
105
|
+
"@dxos/react-ui": "0.8.1-staging.391c573",
|
|
106
|
+
"@dxos/react-ui-theme": "0.8.1-staging.391c573",
|
|
107
|
+
"@dxos/storybook-utils": "0.8.1-staging.391c573"
|
|
108
108
|
},
|
|
109
109
|
"peerDependencies": {
|
|
110
110
|
"@phosphor-icons/react": "^2.1.5",
|
|
111
111
|
"effect": "3.13.3",
|
|
112
112
|
"react": "~18.2.0",
|
|
113
113
|
"react-dom": "~18.2.0",
|
|
114
|
-
"@dxos/react-ui": "0.8.1-
|
|
115
|
-
"@dxos/react-ui
|
|
114
|
+
"@dxos/react-ui-theme": "0.8.1-staging.391c573",
|
|
115
|
+
"@dxos/react-ui": "0.8.1-staging.391c573"
|
|
116
116
|
},
|
|
117
117
|
"publishConfig": {
|
|
118
118
|
"access": "public"
|
package/src/hooks/deploy.ts
CHANGED
|
@@ -143,6 +143,7 @@ export const useDeployHandler = ({ state, script }: { state: Partial<DeployState
|
|
|
143
143
|
} else {
|
|
144
144
|
log.verbose('no input schema in function metadata', { functionId });
|
|
145
145
|
}
|
|
146
|
+
|
|
146
147
|
if (meta.outputSchema) {
|
|
147
148
|
deployedFunction.outputSchema = meta.outputSchema;
|
|
148
149
|
} else {
|
|
@@ -150,8 +151,6 @@ export const useDeployHandler = ({ state, script }: { state: Partial<DeployState
|
|
|
150
151
|
}
|
|
151
152
|
|
|
152
153
|
setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);
|
|
153
|
-
|
|
154
|
-
state.view = 'split';
|
|
155
154
|
} catch (err: any) {
|
|
156
155
|
log.catch(err);
|
|
157
156
|
state.error = t('upload failed label');
|
|
@@ -11,6 +11,7 @@ import { type ViewState } from './view';
|
|
|
11
11
|
|
|
12
12
|
export type ScriptToolbarState = Partial<DeployState & ViewState>;
|
|
13
13
|
|
|
14
|
+
// TODO(burdon): Replace with context provider?
|
|
14
15
|
export const useToolbarState = (initialState: ScriptToolbarState = {}) => {
|
|
15
16
|
return useMemo(() => create<ScriptToolbarState>(initialState), []);
|
|
16
17
|
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/view.ts", "../../../src/hooks/useToolbarAction.ts", "../../../src/components/LogsPanel/LogsPanel.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport {\n FunctionType,\n type ScriptType,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n incrementSemverPatch,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, create, getMeta, getSpace, makeRef, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { type ViewState } from './view';\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = ViewState & {\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 });\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 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\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n }, [existingFunctionUrl, space]);\n\n useEffect(() => {\n state.deployed = Boolean(existingFunctionUrl) && !script.changed;\n }, [script.changed, existingFunctionUrl]);\n};\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 try {\n const existingFunctionId = existingFunctionUrl?.split('/').at(-1);\n\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source: script.source.target!.content });\n if (buildResult.error || !buildResult.bundle) {\n throw buildResult.error;\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: buildResult.bundle,\n });\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);\n }\n\n log.info('function uploaded', { functionId, version });\n if (fn) {\n fn.version = version;\n }\n\n const deployedFunction =\n fn ?? space.db.add(create(FunctionType, { name: functionId, version, source: makeRef(script) }));\n\n script.changed = false;\n if (script.description !== undefined && script.description.trim() !== '') {\n deployedFunction.description = script.description;\n } else if (meta.description) {\n deployedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n deployedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n if (meta.outputSchema) {\n deployedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);\n\n state.view = 'split';\n } catch (err: any) {\n log.catch(err);\n state.error = t('upload failed label');\n }\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, script.name, script.source, space?.id ?? null]);\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';\nimport { type ViewState } from './view';\n\nexport type ScriptToolbarState = Partial<DeployState & ViewState>;\n\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 { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type ViewType = 'editor' | 'split' | 'logs';\n\nexport type ViewState = { view: ViewType };\n\nexport type ViewActionProperties = { type: 'view'; value: ViewType };\n\nconst views: Record<ViewType, string> = {\n editor: 'ph--code--regular',\n split: 'ph--square-split-vertical--regular',\n logs: 'ph--clock-counter-clockwise--regular',\n};\n\nconst createViewGroupItem = (state: Partial<ViewState>) => {\n return createMenuItemGroup('view', {\n label: ['view group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n applyActive: true,\n value: state.view,\n });\n};\n\nconst createViewActions = (state: Partial<ViewState>) => {\n return Object.entries(views).map(([viewType, icon]) => {\n return createMenuAction<ViewActionProperties>(`view--${viewType}`, {\n type: 'view',\n value: viewType as ViewType,\n label: [`view ${viewType} label`, { ns: SCRIPT_PLUGIN }],\n icon,\n checked: state.view === viewType,\n });\n });\n};\n\nexport const createView = (state: Partial<ViewState>) => {\n const viewGroupItem = createViewGroupItem(state);\n const viewActions = createViewActions(state);\n return {\n nodes: [viewGroupItem, ...viewActions],\n edges: [\n { source: 'root', target: 'view' },\n ...viewActions.map((action) => ({ source: 'view', target: action.id })),\n ],\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';\nimport { type ViewActionProperties } from './view';\n\nexport type ScriptToolbarActionProperties =\n | TemplateActionProperties\n | ViewActionProperties\n | FormatActionProperties\n | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: { state: ScriptToolbarState; script: ScriptType }) => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n return useCallback(\n ((action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'view':\n props.state.view = 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 }) as MenuActionHandler,\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { decodeReference } from '@dxos/echo-protocol';\nimport { type TraceEvent, type InvocationTraceEvent, type ScriptType } from '@dxos/functions/types';\nimport { useEdgeClient, useQueue } from '@dxos/react-edge-client';\nimport { Icon, List, ListItem, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { useDeployDeps } from '../../hooks';\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type LogsPanelProps = ThemedClassName<{\n script: ScriptType;\n}>;\n\nexport const LogsPanel = ({ script, classNames }: LogsPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n // TODO(wittjosiah): Refactor these hooks.\n const { space, existingFunctionUrl } = useDeployDeps({ script });\n const edgeClient = useEdgeClient();\n const invocationTraceQueue = useQueue<InvocationTraceEvent>(edgeClient, space?.properties.invocationTraceQueue?.dxn, {\n pollInterval: 500,\n });\n const [selected, setSelected] = useState<InvocationTraceEvent>();\n const workerDxn = `dxn:worker:${existingFunctionUrl?.split('/').at(-1)}`;\n\n if (!invocationTraceQueue) {\n return <div>{t('no invocations message')}</div>;\n }\n\n const handleOpenChange = useCallback((trace: InvocationTraceEvent, open: boolean) => {\n setSelected(open ? trace : undefined);\n }, []);\n\n return (\n <List classNames={mx('overflow-y-auto', classNames)}>\n {invocationTraceQueue.items\n .filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn)\n .map((trace) => (\n <InvocationTraceItem\n key={trace.id}\n trace={trace}\n open={selected?.id === trace.id}\n setOpen={handleOpenChange}\n />\n ))}\n </List>\n );\n};\n\nconst InvocationTraceItem = ({\n trace,\n open,\n setOpen,\n}: {\n trace: InvocationTraceEvent;\n open?: boolean;\n setOpen?: (trace: InvocationTraceEvent, open: boolean) => void;\n}) => {\n const edgeClient = useEdgeClient();\n const eventQueue = useQueue<TraceEvent>(\n edgeClient,\n open ? decodeReference(trace.invocationTraceQueue).dxn : undefined,\n );\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setOpen?.(trace, open);\n },\n [trace, setOpen],\n );\n\n const logs = useMemo(() => eventQueue?.items.flatMap((event) => event.logs), [eventQueue?.items]);\n const heading =\n 'bodyText' in trace.input && typeof trace.input.bodyText === 'string'\n ? trace.input.bodyText\n : JSON.stringify(trace.input);\n\n return (\n <ListItem.Root key={trace.id} collapsible open={open} onOpenChange={handleOpenChange}>\n <div className='flex items-center gap-2'>\n <ListItem.OpenTrigger />\n <ListItem.Endcap classNames='flex items-center justify-center'>\n <Icon icon={trace.outcome === 'success' ? 'ph--check--regular' : 'ph--x--regular'} size={5} />\n </ListItem.Endcap>\n <ListItem.Heading classNames='flex-1 flex items-center gap-2 truncate'>\n <span>{new Date(trace.timestampMs).toLocaleString()}</span>\n <span>{heading}</span>\n </ListItem.Heading>\n </div>\n {logs && (\n <ListItem.CollapsibleContent>\n <div className='flex items-center gap-2'>\n <span>Duration:</span>\n <span>{trace.durationMs}ms</span>\n </div>\n <pre>\n <div>{JSON.stringify(trace.input, null, 2)}</div>\n {logs.map((log, index) => {\n return <div key={index}>{JSON.stringify(log, null, 2)}</div>;\n })}\n </pre>\n </ListItem.CollapsibleContent>\n )}\n </ListItem.Root>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["useCallback", "useEffect", "useMemo", "FunctionType", "getInvocationUrl", "getUserFunctionUrlInMetadata", "incrementSemverPatch", "setUserFunctionUrlInMetadata", "uploadWorkerFunction", "Bundler", "log", "useClient", "Filter", "create", "getMeta", "getSpace", "makeRef", "useQuery", "useTranslation", "createMenuAction", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "deployAction", "type", "deploying", "disabled", "classNames", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployDeps", "script", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "client", "useClient", "existingFunctionUrl", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployState", "useEffect", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "deployed", "Boolean", "changed", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "existingFunctionId", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "bundle", "content", "functionId", "version", "meta", "uploadWorkerFunction", "incrementSemverPatch", "Error", "log", "info", "deployedFunction", "db", "add", "create", "name", "makeRef", "description", "trim", "verbose", "inputSchema", "outputSchema", "setUserFunctionUrlInMetadata", "view", "err", "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", "createMenuAction", "createMenuItemGroup", "views", "editor", "split", "logs", "createViewGroupItem", "state", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "applyActive", "value", "view", "createViewActions", "Object", "entries", "map", "viewType", "icon", "createMenuAction", "type", "checked", "createView", "viewGroupItem", "viewActions", "nodes", "edges", "source", "target", "action", "id", "useCallback", "log", "useToolbarAction", "props", "handleTemplateSelect", "useTemplateSelectHandler", "handleFormat", "useFormatHandler", "handleDeploy", "useDeployHandler", "handleCopy", "useCopyHandler", "useCallback", "action", "properties", "type", "value", "state", "view", "log", "error", "React", "useCallback", "useMemo", "useState", "decodeReference", "useEdgeClient", "useQueue", "Icon", "List", "ListItem", "useTranslation", "mx", "LogsPanel", "script", "classNames", "t", "useTranslation", "SCRIPT_PLUGIN", "space", "existingFunctionUrl", "useDeployDeps", "edgeClient", "useEdgeClient", "invocationTraceQueue", "useQueue", "properties", "dxn", "pollInterval", "selected", "setSelected", "useState", "workerDxn", "split", "at", "div", "handleOpenChange", "useCallback", "trace", "open", "undefined", "List", "mx", "items", "filter", "decodeReference", "invocationTarget", "toString", "map", "InvocationTraceItem", "key", "id", "setOpen", "eventQueue", "logs", "useMemo", "flatMap", "event", "heading", "input", "bodyText", "JSON", "stringify", "ListItem", "Root", "collapsible", "onOpenChange", "className", "OpenTrigger", "Endcap", "Icon", "icon", "outcome", "size", "Heading", "span", "Date", "timestampMs", "toLocaleString", "CollapsibleContent", "durationMs", "pre", "log", "index"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/view.ts", "../../../src/hooks/useToolbarAction.ts", "../../../src/components/LogsPanel/LogsPanel.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport {\n FunctionType,\n type ScriptType,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n incrementSemverPatch,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, create, getMeta, getSpace, makeRef, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { type ViewState } from './view';\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = ViewState & {\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 });\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 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\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n }, [existingFunctionUrl, space]);\n\n useEffect(() => {\n state.deployed = Boolean(existingFunctionUrl) && !script.changed;\n }, [script.changed, existingFunctionUrl]);\n};\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 try {\n const existingFunctionId = existingFunctionUrl?.split('/').at(-1);\n\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source: script.source.target!.content });\n if (buildResult.error || !buildResult.bundle) {\n throw buildResult.error;\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: buildResult.bundle,\n });\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);\n }\n\n log.info('function uploaded', { functionId, version });\n if (fn) {\n fn.version = version;\n }\n\n const deployedFunction =\n fn ?? space.db.add(create(FunctionType, { name: functionId, version, source: makeRef(script) }));\n\n script.changed = false;\n if (script.description !== undefined && script.description.trim() !== '') {\n deployedFunction.description = script.description;\n } else if (meta.description) {\n deployedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n deployedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n if (meta.outputSchema) {\n deployedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);\n\n state.view = 'split';\n } catch (err: any) {\n log.catch(err);\n state.error = t('upload failed label');\n }\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, script.name, script.source, space?.id ?? null]);\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';\nimport { type ViewState } from './view';\n\nexport type ScriptToolbarState = Partial<DeployState & ViewState>;\n\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 { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type ViewType = 'editor' | 'split' | 'logs';\n\nexport type ViewState = { view: ViewType };\n\nexport type ViewActionProperties = { type: 'view'; value: ViewType };\n\nconst views: Record<ViewType, string> = {\n editor: 'ph--code--regular',\n split: 'ph--square-split-vertical--regular',\n logs: 'ph--clock-counter-clockwise--regular',\n};\n\nconst createViewGroupItem = (state: Partial<ViewState>) => {\n return createMenuItemGroup('view', {\n label: ['view group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n applyActive: true,\n value: state.view,\n });\n};\n\nconst createViewActions = (state: Partial<ViewState>) => {\n return Object.entries(views).map(([viewType, icon]) => {\n return createMenuAction<ViewActionProperties>(`view--${viewType}`, {\n type: 'view',\n value: viewType as ViewType,\n label: [`view ${viewType} label`, { ns: SCRIPT_PLUGIN }],\n icon,\n checked: state.view === viewType,\n });\n });\n};\n\nexport const createView = (state: Partial<ViewState>) => {\n const viewGroupItem = createViewGroupItem(state);\n const viewActions = createViewActions(state);\n return {\n nodes: [viewGroupItem, ...viewActions],\n edges: [\n { source: 'root', target: 'view' },\n ...viewActions.map((action) => ({ source: 'view', target: action.id })),\n ],\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';\nimport { type ViewActionProperties } from './view';\n\nexport type ScriptToolbarActionProperties =\n | TemplateActionProperties\n | ViewActionProperties\n | FormatActionProperties\n | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: { state: ScriptToolbarState; script: ScriptType }) => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n return useCallback(\n ((action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'view':\n props.state.view = 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 }) as MenuActionHandler,\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { decodeReference } from '@dxos/echo-protocol';\nimport { type TraceEvent, type InvocationTraceEvent, type ScriptType } from '@dxos/functions/types';\nimport { useEdgeClient, useQueue } from '@dxos/react-edge-client';\nimport { Icon, List, ListItem, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { useDeployDeps } from '../../hooks';\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type LogsPanelProps = ThemedClassName<{\n script: ScriptType;\n}>;\n\nexport const LogsPanel = ({ script, classNames }: LogsPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n // TODO(wittjosiah): Refactor these hooks.\n const { space, existingFunctionUrl } = useDeployDeps({ script });\n const edgeClient = useEdgeClient();\n const invocationTraceQueue = useQueue<InvocationTraceEvent>(edgeClient, space?.properties.invocationTraceQueue?.dxn, {\n pollInterval: 500,\n });\n const [selected, setSelected] = useState<InvocationTraceEvent>();\n const workerDxn = `dxn:worker:${existingFunctionUrl?.split('/').at(-1)}`;\n\n if (!invocationTraceQueue) {\n return <div>{t('no invocations message')}</div>;\n }\n\n const handleOpenChange = useCallback((trace: InvocationTraceEvent, open: boolean) => {\n setSelected(open ? trace : undefined);\n }, []);\n\n return (\n <List classNames={mx('overflow-y-auto', classNames)}>\n {invocationTraceQueue.items\n .filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn)\n .map((trace) => (\n <InvocationTraceItem\n key={trace.id}\n trace={trace}\n open={selected?.id === trace.id}\n setOpen={handleOpenChange}\n />\n ))}\n </List>\n );\n};\n\nconst InvocationTraceItem = ({\n trace,\n open,\n setOpen,\n}: {\n trace: InvocationTraceEvent;\n open?: boolean;\n setOpen?: (trace: InvocationTraceEvent, open: boolean) => void;\n}) => {\n const edgeClient = useEdgeClient();\n const eventQueue = useQueue<TraceEvent>(\n edgeClient,\n open ? decodeReference(trace.invocationTraceQueue).dxn : undefined,\n );\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setOpen?.(trace, open);\n },\n [trace, setOpen],\n );\n\n const logs = useMemo(() => eventQueue?.items.flatMap((event) => event.logs), [eventQueue?.items]);\n const heading =\n 'bodyText' in trace.input && typeof trace.input.bodyText === 'string'\n ? trace.input.bodyText\n : JSON.stringify(trace.input);\n\n return (\n <ListItem.Root key={trace.id} collapsible open={open} onOpenChange={handleOpenChange}>\n <div className='flex items-center gap-2'>\n <ListItem.OpenTrigger />\n <ListItem.Endcap classNames='flex items-center justify-center'>\n <Icon icon={trace.outcome === 'success' ? 'ph--check--regular' : 'ph--x--regular'} size={5} />\n </ListItem.Endcap>\n <ListItem.Heading classNames='flex-1 flex items-center gap-2 truncate'>\n <span>{new Date(trace.timestampMs).toLocaleString()}</span>\n <span>{heading}</span>\n </ListItem.Heading>\n </div>\n {logs && (\n <ListItem.CollapsibleContent>\n <div className='flex items-center gap-2'>\n <span>Duration:</span>\n <span>{trace.durationMs}ms</span>\n </div>\n <pre>\n <div>{JSON.stringify(trace.input, null, 2)}</div>\n {logs.map((log, index) => {\n return <div key={index}>{JSON.stringify(log, null, 2)}</div>;\n })}\n </pre>\n </ListItem.CollapsibleContent>\n )}\n </ListItem.Root>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_react", "import_log", "import_react_ui_menu", "import_live_object", "import_react_ui", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "deployAction", "type", "deploying", "disabled", "classNames", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployDeps", "script", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "client", "useClient", "existingFunctionUrl", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployState", "useEffect", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "deployed", "Boolean", "changed", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "existingFunctionId", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "bundle", "content", "functionId", "version", "meta", "uploadWorkerFunction", "incrementSemverPatch", "Error", "log", "info", "deployedFunction", "db", "add", "create", "name", "makeRef", "description", "trim", "verbose", "inputSchema", "outputSchema", "setUserFunctionUrlInMetadata", "view", "err", "catch", "useCopyHandler", "navigator", "clipboard", "writeText", "useToolbarState", "initialState", "createFormat", "formatAction", "useFormatHandler", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "createTemplateSelectGroup", "createMenuItemGroup", "variant", "createTemplateSelectActions", "templates", "map", "template", "value", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "action", "useTemplateSelectHandler", "templateId", "find", "metaKeys", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "views", "editor", "logs", "createViewGroupItem", "applyActive", "createViewActions", "Object", "entries", "viewType", "checked", "createView", "viewGroupItem", "viewActions", "useToolbarAction", "props", "handleTemplateSelect", "handleFormat", "handleDeploy", "handleCopy", "properties", "LogsPanel", "edgeClient", "useEdgeClient", "invocationTraceQueue", "useQueue", "dxn", "pollInterval", "selected", "setSelected", "useState", "workerDxn", "React", "div", "handleOpenChange", "trace", "open", "List", "mx", "items", "filter", "decodeReference", "invocationTarget", "toString", "InvocationTraceItem", "setOpen", "eventQueue", "flatMap", "event", "heading", "input", "bodyText", "JSON", "stringify", "ListItem", "Root", "collapsible", "onOpenChange", "className", "OpenTrigger", "Endcap", "Icon", "outcome", "size", "Heading", "span", "Date", "timestampMs", "toLocaleString", "CollapsibleContent", "durationMs", "pre", "index"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/view.ts", "../../../src/hooks/useToolbarAction.ts", "../../../src/components/LogsPanel/LogsPanel.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport {\n FunctionType,\n type ScriptType,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n incrementSemverPatch,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, create, getMeta, getSpace, makeRef, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { type ViewState } from './view';\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = ViewState & {\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 });\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 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\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n }, [existingFunctionUrl, space]);\n\n useEffect(() => {\n state.deployed = Boolean(existingFunctionUrl) && !script.changed;\n }, [script.changed, existingFunctionUrl]);\n};\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 try {\n const existingFunctionId = existingFunctionUrl?.split('/').at(-1);\n\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source: script.source.target!.content });\n if (buildResult.error || !buildResult.bundle) {\n throw buildResult.error;\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: buildResult.bundle,\n });\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: functionId=${functionId}, version=${version}`);\n }\n\n log.info('function uploaded', { functionId, version });\n if (fn) {\n fn.version = version;\n }\n\n const deployedFunction =\n fn ?? space.db.add(create(FunctionType, { name: functionId, version, source: makeRef(script) }));\n\n script.changed = false;\n if (script.description !== undefined && script.description.trim() !== '') {\n deployedFunction.description = script.description;\n } else if (meta.description) {\n deployedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n deployedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n if (meta.outputSchema) {\n deployedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n setUserFunctionUrlInMetadata(getMeta(deployedFunction), `/${space.id}/${functionId}`);\n\n state.view = 'split';\n } catch (err: any) {\n log.catch(err);\n state.error = t('upload failed label');\n }\n state.deploying = false;\n }, [fn, client, t, existingFunctionUrl, script, script.name, script.source, space?.id ?? null]);\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';\nimport { type ViewState } from './view';\n\nexport type ScriptToolbarState = Partial<DeployState & ViewState>;\n\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 { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type ViewType = 'editor' | 'split' | 'logs';\n\nexport type ViewState = { view: ViewType };\n\nexport type ViewActionProperties = { type: 'view'; value: ViewType };\n\nconst views: Record<ViewType, string> = {\n editor: 'ph--code--regular',\n split: 'ph--square-split-vertical--regular',\n logs: 'ph--clock-counter-clockwise--regular',\n};\n\nconst createViewGroupItem = (state: Partial<ViewState>) => {\n return createMenuItemGroup('view', {\n label: ['view group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n applyActive: true,\n value: state.view,\n });\n};\n\nconst createViewActions = (state: Partial<ViewState>) => {\n return Object.entries(views).map(([viewType, icon]) => {\n return createMenuAction<ViewActionProperties>(`view--${viewType}`, {\n type: 'view',\n value: viewType as ViewType,\n label: [`view ${viewType} label`, { ns: SCRIPT_PLUGIN }],\n icon,\n checked: state.view === viewType,\n });\n });\n};\n\nexport const createView = (state: Partial<ViewState>) => {\n const viewGroupItem = createViewGroupItem(state);\n const viewActions = createViewActions(state);\n return {\n nodes: [viewGroupItem, ...viewActions],\n edges: [\n { source: 'root', target: 'view' },\n ...viewActions.map((action) => ({ source: 'view', target: action.id })),\n ],\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';\nimport { type ViewActionProperties } from './view';\n\nexport type ScriptToolbarActionProperties =\n | TemplateActionProperties\n | ViewActionProperties\n | FormatActionProperties\n | DeployActionProperties;\n\nexport type ScriptToolbarAction = MenuAction<ScriptToolbarActionProperties>;\n\nexport const useToolbarAction = (props: { state: ScriptToolbarState; script: ScriptType }) => {\n const handleTemplateSelect = useTemplateSelectHandler(props);\n const handleFormat = useFormatHandler(props);\n const handleDeploy = useDeployHandler(props);\n const handleCopy = useCopyHandler(props);\n return useCallback(\n ((action: ScriptToolbarAction) => {\n switch (action.properties.type) {\n case 'template':\n handleTemplateSelect(action.properties.value);\n break;\n case 'view':\n props.state.view = 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 }) as MenuActionHandler,\n [handleTemplateSelect, handleFormat, handleDeploy, handleCopy],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { decodeReference } from '@dxos/echo-protocol';\nimport { type TraceEvent, type InvocationTraceEvent, type ScriptType } from '@dxos/functions/types';\nimport { useEdgeClient, useQueue } from '@dxos/react-edge-client';\nimport { Icon, List, ListItem, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { useDeployDeps } from '../../hooks';\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type LogsPanelProps = ThemedClassName<{\n script: ScriptType;\n}>;\n\nexport const LogsPanel = ({ script, classNames }: LogsPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n // TODO(wittjosiah): Refactor these hooks.\n const { space, existingFunctionUrl } = useDeployDeps({ script });\n const edgeClient = useEdgeClient();\n const invocationTraceQueue = useQueue<InvocationTraceEvent>(edgeClient, space?.properties.invocationTraceQueue?.dxn, {\n pollInterval: 500,\n });\n const [selected, setSelected] = useState<InvocationTraceEvent>();\n const workerDxn = `dxn:worker:${existingFunctionUrl?.split('/').at(-1)}`;\n\n if (!invocationTraceQueue) {\n return <div>{t('no invocations message')}</div>;\n }\n\n const handleOpenChange = useCallback((trace: InvocationTraceEvent, open: boolean) => {\n setSelected(open ? trace : undefined);\n }, []);\n\n return (\n <List classNames={mx('overflow-y-auto', classNames)}>\n {invocationTraceQueue.items\n .filter((trace) => decodeReference(trace.invocationTarget).dxn?.toString() === workerDxn)\n .map((trace) => (\n <InvocationTraceItem\n key={trace.id}\n trace={trace}\n open={selected?.id === trace.id}\n setOpen={handleOpenChange}\n />\n ))}\n </List>\n );\n};\n\nconst InvocationTraceItem = ({\n trace,\n open,\n setOpen,\n}: {\n trace: InvocationTraceEvent;\n open?: boolean;\n setOpen?: (trace: InvocationTraceEvent, open: boolean) => void;\n}) => {\n const edgeClient = useEdgeClient();\n const eventQueue = useQueue<TraceEvent>(\n edgeClient,\n open ? decodeReference(trace.invocationTraceQueue).dxn : undefined,\n );\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setOpen?.(trace, open);\n },\n [trace, setOpen],\n );\n\n const logs = useMemo(() => eventQueue?.items.flatMap((event) => event.logs), [eventQueue?.items]);\n const heading =\n 'bodyText' in trace.input && typeof trace.input.bodyText === 'string'\n ? trace.input.bodyText\n : JSON.stringify(trace.input);\n\n return (\n <ListItem.Root key={trace.id} collapsible open={open} onOpenChange={handleOpenChange}>\n <div className='flex items-center gap-2'>\n <ListItem.OpenTrigger />\n <ListItem.Endcap classNames='flex items-center justify-center'>\n <Icon icon={trace.outcome === 'success' ? 'ph--check--regular' : 'ph--x--regular'} size={5} />\n </ListItem.Endcap>\n <ListItem.Heading classNames='flex-1 flex items-center gap-2 truncate'>\n <span>{new Date(trace.timestampMs).toLocaleString()}</span>\n <span>{heading}</span>\n </ListItem.Heading>\n </div>\n {logs && (\n <ListItem.CollapsibleContent>\n <div className='flex items-center gap-2'>\n <span>Duration:</span>\n <span>{trace.durationMs}ms</span>\n </div>\n <pre>\n <div>{JSON.stringify(trace.input, null, 2)}</div>\n {logs.map((log, index) => {\n return <div key={index}>{JSON.stringify(log, null, 2)}</div>;\n })}\n </pre>\n </ListItem.CollapsibleContent>\n )}\n </ListItem.Root>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["useCallback", "useEffect", "useMemo", "FunctionType", "getInvocationUrl", "getUserFunctionUrlInMetadata", "incrementSemverPatch", "setUserFunctionUrlInMetadata", "uploadWorkerFunction", "Bundler", "log", "useClient", "Filter", "create", "getMeta", "getSpace", "makeRef", "useQuery", "useTranslation", "createMenuAction", "createDeploy", "state", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "deployAction", "type", "deploying", "disabled", "classNames", "copyAction", "functionUrl", "nodes", "edges", "source", "target", "useDeployDeps", "script", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "client", "useClient", "existingFunctionUrl", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useDeployState", "useEffect", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "deployed", "Boolean", "changed", "useDeployHandler", "t", "useTranslation", "useCallback", "undefined", "existingFunctionId", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "bundle", "content", "functionId", "version", "meta", "uploadWorkerFunction", "incrementSemverPatch", "Error", "log", "info", "deployedFunction", "db", "add", "create", "name", "makeRef", "description", "trim", "verbose", "inputSchema", "outputSchema", "setUserFunctionUrlInMetadata", "view", "err", "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", "createMenuAction", "createMenuItemGroup", "views", "editor", "split", "logs", "createViewGroupItem", "state", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "applyActive", "value", "view", "createViewActions", "Object", "entries", "map", "viewType", "icon", "createMenuAction", "type", "checked", "createView", "viewGroupItem", "viewActions", "nodes", "edges", "source", "target", "action", "id", "useCallback", "log", "useToolbarAction", "props", "handleTemplateSelect", "useTemplateSelectHandler", "handleFormat", "useFormatHandler", "handleDeploy", "useDeployHandler", "handleCopy", "useCopyHandler", "useCallback", "action", "properties", "type", "value", "state", "view", "log", "error", "React", "useCallback", "useMemo", "useState", "decodeReference", "useEdgeClient", "useQueue", "Icon", "List", "ListItem", "useTranslation", "mx", "LogsPanel", "script", "classNames", "t", "useTranslation", "SCRIPT_PLUGIN", "space", "existingFunctionUrl", "useDeployDeps", "edgeClient", "useEdgeClient", "invocationTraceQueue", "useQueue", "properties", "dxn", "pollInterval", "selected", "setSelected", "useState", "workerDxn", "split", "at", "div", "handleOpenChange", "useCallback", "trace", "open", "undefined", "List", "mx", "items", "filter", "decodeReference", "invocationTarget", "toString", "map", "InvocationTraceItem", "key", "id", "setOpen", "eventQueue", "logs", "useMemo", "flatMap", "event", "heading", "input", "bodyText", "JSON", "stringify", "ListItem", "Root", "collapsible", "onOpenChange", "className", "OpenTrigger", "Endcap", "Icon", "icon", "outcome", "size", "Heading", "span", "Date", "timestampMs", "toLocaleString", "CollapsibleContent", "durationMs", "pre", "log", "index"]
|
|
7
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/lib/node-esm/{react-surface-ODWVGWV4.mjs.map → react-surface-PCW5HN3B.mjs.map}
RENAMED
|
File without changes
|