@dxos/plugin-script 0.8.4-main.67995b8 → 0.8.4-main.f5c0578
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-M4QIHTDR.mjs → DeploymentDialog-C3XH2Z56.mjs} +3 -3
- package/dist/lib/browser/{ScriptContainer-Z6SIGRRC.mjs → ScriptContainer-FUBR4OZE.mjs} +8 -7
- package/dist/lib/browser/ScriptContainer-FUBR4OZE.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-HLQ7K3BT.mjs → app-graph-builder-IABOSTBK.mjs} +2 -2
- package/dist/lib/{node-esm/app-graph-builder-7EYIHWH4.mjs.map → browser/app-graph-builder-IABOSTBK.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-R4R7VOFY.mjs → chunk-G4A2MGAL.mjs} +7 -7
- package/dist/lib/browser/chunk-G4A2MGAL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3U6DTUH3.mjs → chunk-MWZDJNCQ.mjs} +5 -5
- package/dist/lib/browser/{chunk-3U6DTUH3.mjs.map → chunk-MWZDJNCQ.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-P4HQKUCP.mjs → chunk-OAVS36Q3.mjs} +3 -3
- package/dist/lib/browser/chunk-OAVS36Q3.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FIM2MVNJ.mjs → chunk-OULPWKXN.mjs} +6 -6
- package/dist/lib/browser/{chunk-FIM2MVNJ.mjs.map → chunk-OULPWKXN.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-FMDXKOP7.mjs → chunk-SUOLJH55.mjs} +1 -1
- package/dist/lib/browser/{chunk-FMDXKOP7.mjs.map → chunk-SUOLJH55.mjs.map} +2 -2
- package/dist/lib/browser/{compiler-CXCUA4UQ.mjs → compiler-RIWQVBPX.mjs} +4 -1
- package/dist/lib/browser/compiler-RIWQVBPX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +13 -19
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-S3H2SMUY.mjs → intent-resolver-SAL2TM7U.mjs} +7 -7
- package/dist/lib/browser/{intent-resolver-S3H2SMUY.mjs.map → intent-resolver-SAL2TM7U.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-FYYXZA7C.mjs → react-surface-E3SXU6ON.mjs} +9 -9
- package/dist/lib/browser/react-surface-E3SXU6ON.mjs.map +7 -0
- package/dist/lib/browser/templates/index.mjs +1 -1
- package/dist/lib/node-esm/{DeploymentDialog-3KPRWFE7.mjs → DeploymentDialog-O2XZVRLU.mjs} +3 -3
- package/dist/lib/node-esm/{ScriptContainer-KPU75HHI.mjs → ScriptContainer-VJ75TM24.mjs} +8 -7
- package/dist/lib/node-esm/ScriptContainer-VJ75TM24.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-7EYIHWH4.mjs → app-graph-builder-CQTTAYHP.mjs} +2 -2
- package/dist/lib/{browser/app-graph-builder-HLQ7K3BT.mjs.map → node-esm/app-graph-builder-CQTTAYHP.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-F5GFJ3PY.mjs → chunk-3BBEM2U7.mjs} +7 -7
- package/dist/lib/node-esm/chunk-3BBEM2U7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7NMI4CEU.mjs → chunk-6WMFL3JL.mjs} +6 -6
- package/dist/lib/node-esm/{chunk-7NMI4CEU.mjs.map → chunk-6WMFL3JL.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-RT43MACC.mjs → chunk-7L4JDSXJ.mjs} +5 -5
- package/dist/lib/node-esm/{chunk-RT43MACC.mjs.map → chunk-7L4JDSXJ.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-QKK3NDHW.mjs → chunk-IO6T72KY.mjs} +3 -3
- package/dist/lib/node-esm/chunk-IO6T72KY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XJPK3IYI.mjs → chunk-PACUN7RS.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-XJPK3IYI.mjs.map → chunk-PACUN7RS.mjs.map} +2 -2
- package/dist/lib/node-esm/{compiler-EPFKQXPE.mjs → compiler-S52P5P3F.mjs} +4 -1
- package/dist/lib/node-esm/compiler-S52P5P3F.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +13 -19
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-OHKNJFCC.mjs → intent-resolver-GO53JOPL.mjs} +7 -7
- package/dist/lib/node-esm/{intent-resolver-OHKNJFCC.mjs.map → intent-resolver-GO53JOPL.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-V32NWHKN.mjs → react-surface-W3NRCS5O.mjs} +9 -9
- package/dist/lib/node-esm/react-surface-W3NRCS5O.mjs.map +7 -0
- package/dist/lib/node-esm/templates/index.mjs +1 -1
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +0 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/index.d.ts +1 -1
- package/dist/types/src/components/DeploymentDialog/index.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.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts +2 -2
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
- package/dist/types/src/templates/data-generator.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -59
- package/src/ScriptPlugin.tsx +2 -14
- package/src/capabilities/app-graph-builder.ts +2 -2
- package/src/capabilities/artifact-definition.ts +6 -3
- package/src/capabilities/compiler.ts +2 -1
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/intent-resolver.ts +1 -1
- package/src/capabilities/react-surface.tsx +3 -2
- package/src/compiler/compiler.ts +1 -1
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +4 -4
- package/src/components/DeploymentDialog/index.ts +1 -1
- package/src/components/ScriptContainer.tsx +3 -2
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +2 -1
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +2 -2
- package/src/components/Settings/ScriptObjectSettings.tsx +2 -2
- package/src/components/TestPanel/TestContainer.tsx +2 -1
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +2 -1
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +3 -2
- package/src/hooks/deploy.ts +1 -1
- package/src/hooks/template.ts +1 -1
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +1 -0
- package/src/templates/chess.ts +1 -1
- package/src/templates/data-generator.ts +7 -3
- package/src/templates/discord.ts +2 -2
- package/src/templates/forex-effect.ts +1 -1
- package/src/templates/forex.ts +1 -1
- package/src/templates/gmail.ts +3 -3
- package/dist/lib/browser/ScriptContainer-Z6SIGRRC.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-CK3BIBSI.mjs +0 -247
- package/dist/lib/browser/artifact-definition-CK3BIBSI.mjs.map +0 -7
- package/dist/lib/browser/chunk-P4HQKUCP.mjs.map +0 -7
- package/dist/lib/browser/chunk-R4R7VOFY.mjs.map +0 -7
- package/dist/lib/browser/compiler-CXCUA4UQ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-FYYXZA7C.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-KPU75HHI.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-YCBV4YX2.mjs +0 -248
- package/dist/lib/node-esm/artifact-definition-YCBV4YX2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-F5GFJ3PY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QKK3NDHW.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-EPFKQXPE.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-V32NWHKN.mjs.map +0 -7
- /package/dist/lib/browser/{DeploymentDialog-M4QIHTDR.mjs.map → DeploymentDialog-C3XH2Z56.mjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-3KPRWFE7.mjs.map → DeploymentDialog-O2XZVRLU.mjs.map} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-script",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.f5c0578",
|
|
4
4
|
"description": "Braneframe notebook plugin",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"source": "./src/index.ts",
|
|
13
14
|
"types": "./dist/types/src/index.d.ts",
|
|
14
15
|
"browser": "./dist/lib/browser/index.mjs",
|
|
15
|
-
"node": "./dist/lib/node-esm/index.mjs"
|
|
16
|
-
"source": "./src/index.ts"
|
|
16
|
+
"node": "./dist/lib/node-esm/index.mjs"
|
|
17
17
|
},
|
|
18
18
|
"./types": {
|
|
19
|
+
"source": "./src/types/index.ts",
|
|
19
20
|
"types": "./dist/types/src/types/index.d.ts",
|
|
20
21
|
"browser": "./dist/lib/browser/types/index.mjs",
|
|
21
|
-
"node": "./dist/lib/node-esm/types/index.mjs"
|
|
22
|
-
"source": "./src/types/index.ts"
|
|
22
|
+
"node": "./dist/lib/node-esm/types/index.mjs"
|
|
23
23
|
},
|
|
24
24
|
"./templates": {
|
|
25
|
+
"source": "./src/templates/index.ts",
|
|
25
26
|
"types": "./dist/types/src/templates/index.d.ts",
|
|
26
27
|
"browser": "./dist/lib/browser/templates/index.mjs",
|
|
27
|
-
"node": "./dist/lib/node-esm/templates/index.mjs"
|
|
28
|
-
"source": "./src/templates/index.ts"
|
|
28
|
+
"node": "./dist/lib/node-esm/templates/index.mjs"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"types": "dist/types/src/index.d.ts",
|
|
@@ -63,64 +63,64 @@
|
|
|
63
63
|
"date-fns": "^3.3.1",
|
|
64
64
|
"esbuild-wasm": "^0.16.14",
|
|
65
65
|
"prettier": "^3.6.2",
|
|
66
|
-
"react-syntax-highlighter": "^15.
|
|
67
|
-
"typescript": "^5.
|
|
68
|
-
"@dxos/ai": "0.8.4-main.
|
|
69
|
-
"@dxos/app-framework": "0.8.4-main.
|
|
70
|
-
"@dxos/assistant": "0.8.4-main.
|
|
71
|
-
"@dxos/async": "0.8.4-main.
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/client": "0.8.4-main.
|
|
74
|
-
"@dxos/
|
|
75
|
-
"@dxos/compute": "0.8.4-main.
|
|
76
|
-
"@dxos/debug": "0.8.4-main.
|
|
77
|
-
"@dxos/
|
|
78
|
-
"@dxos/
|
|
79
|
-
"@dxos/echo-protocol": "0.8.4-main.
|
|
80
|
-
"@dxos/
|
|
81
|
-
"@dxos/
|
|
82
|
-
"@dxos/invariant": "0.8.4-main.
|
|
83
|
-
"@dxos/keys": "0.8.4-main.
|
|
84
|
-
"@dxos/live-object": "0.8.4-main.
|
|
85
|
-
"@dxos/local-storage": "0.8.4-main.
|
|
86
|
-
"@dxos/
|
|
87
|
-
"@dxos/plugin-
|
|
88
|
-
"@dxos/
|
|
89
|
-
"@dxos/plugin-graph": "0.8.4-main.
|
|
90
|
-
"@dxos/plugin-
|
|
91
|
-
"@dxos/plugin-markdown": "0.8.4-main.
|
|
92
|
-
"@dxos/plugin-space": "0.8.4-main.
|
|
93
|
-
"@dxos/plugin-stack": "0.8.4-main.
|
|
94
|
-
"@dxos/plugin-
|
|
95
|
-
"@dxos/plugin-
|
|
96
|
-
"@dxos/react-client": "0.8.4-main.
|
|
97
|
-
"@dxos/
|
|
98
|
-
"@dxos/
|
|
99
|
-
"@dxos/react-ui-attention": "0.8.4-main.
|
|
100
|
-
"@dxos/react-ui-editor": "0.8.4-main.
|
|
101
|
-
"@dxos/react-ui-form": "0.8.4-main.
|
|
102
|
-
"@dxos/react-ui-list": "0.8.4-main.
|
|
103
|
-
"@dxos/react-ui-menu": "0.8.4-main.
|
|
104
|
-
"@dxos/react-ui-stack": "0.8.4-main.
|
|
105
|
-
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.
|
|
106
|
-
"@dxos/rpc": "0.8.4-main.
|
|
107
|
-
"@dxos/rpc-tunnel": "0.8.4-main.
|
|
108
|
-
"@dxos/schema": "0.8.4-main.
|
|
109
|
-
"@dxos/util": "0.8.4-main.
|
|
66
|
+
"react-syntax-highlighter": "^15.6.1",
|
|
67
|
+
"typescript": "^5.9.2",
|
|
68
|
+
"@dxos/ai": "0.8.4-main.f5c0578",
|
|
69
|
+
"@dxos/app-framework": "0.8.4-main.f5c0578",
|
|
70
|
+
"@dxos/assistant": "0.8.4-main.f5c0578",
|
|
71
|
+
"@dxos/async": "0.8.4-main.f5c0578",
|
|
72
|
+
"@dxos/client": "0.8.4-main.f5c0578",
|
|
73
|
+
"@dxos/client-protocol": "0.8.4-main.f5c0578",
|
|
74
|
+
"@dxos/blueprints": "0.8.4-main.f5c0578",
|
|
75
|
+
"@dxos/compute": "0.8.4-main.f5c0578",
|
|
76
|
+
"@dxos/debug": "0.8.4-main.f5c0578",
|
|
77
|
+
"@dxos/devtools": "0.8.4-main.f5c0578",
|
|
78
|
+
"@dxos/echo": "0.8.4-main.f5c0578",
|
|
79
|
+
"@dxos/echo-protocol": "0.8.4-main.f5c0578",
|
|
80
|
+
"@dxos/functions": "0.8.4-main.f5c0578",
|
|
81
|
+
"@dxos/echo-schema": "0.8.4-main.f5c0578",
|
|
82
|
+
"@dxos/invariant": "0.8.4-main.f5c0578",
|
|
83
|
+
"@dxos/keys": "0.8.4-main.f5c0578",
|
|
84
|
+
"@dxos/live-object": "0.8.4-main.f5c0578",
|
|
85
|
+
"@dxos/local-storage": "0.8.4-main.f5c0578",
|
|
86
|
+
"@dxos/log": "0.8.4-main.f5c0578",
|
|
87
|
+
"@dxos/plugin-client": "0.8.4-main.f5c0578",
|
|
88
|
+
"@dxos/plugin-deck": "0.8.4-main.f5c0578",
|
|
89
|
+
"@dxos/plugin-graph": "0.8.4-main.f5c0578",
|
|
90
|
+
"@dxos/plugin-explorer": "0.8.4-main.f5c0578",
|
|
91
|
+
"@dxos/plugin-markdown": "0.8.4-main.f5c0578",
|
|
92
|
+
"@dxos/plugin-space": "0.8.4-main.f5c0578",
|
|
93
|
+
"@dxos/plugin-stack": "0.8.4-main.f5c0578",
|
|
94
|
+
"@dxos/plugin-theme": "0.8.4-main.f5c0578",
|
|
95
|
+
"@dxos/plugin-token-manager": "0.8.4-main.f5c0578",
|
|
96
|
+
"@dxos/react-client": "0.8.4-main.f5c0578",
|
|
97
|
+
"@dxos/react-edge-client": "0.8.4-main.f5c0578",
|
|
98
|
+
"@dxos/protocols": "0.8.4-main.f5c0578",
|
|
99
|
+
"@dxos/react-ui-attention": "0.8.4-main.f5c0578",
|
|
100
|
+
"@dxos/react-ui-editor": "0.8.4-main.f5c0578",
|
|
101
|
+
"@dxos/react-ui-form": "0.8.4-main.f5c0578",
|
|
102
|
+
"@dxos/react-ui-list": "0.8.4-main.f5c0578",
|
|
103
|
+
"@dxos/react-ui-menu": "0.8.4-main.f5c0578",
|
|
104
|
+
"@dxos/react-ui-stack": "0.8.4-main.f5c0578",
|
|
105
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.f5c0578",
|
|
106
|
+
"@dxos/rpc": "0.8.4-main.f5c0578",
|
|
107
|
+
"@dxos/rpc-tunnel": "0.8.4-main.f5c0578",
|
|
108
|
+
"@dxos/schema": "0.8.4-main.f5c0578",
|
|
109
|
+
"@dxos/util": "0.8.4-main.f5c0578"
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
112
|
"@effect-rx/rx-react": "0.38.0",
|
|
113
|
-
"@effect/platform": "0.
|
|
113
|
+
"@effect/platform": "0.90.2",
|
|
114
114
|
"@types/react": "~18.2.0",
|
|
115
115
|
"@types/react-dom": "~18.2.0",
|
|
116
|
-
"effect": "3.17.
|
|
116
|
+
"effect": "3.17.7",
|
|
117
117
|
"react": "~18.2.0",
|
|
118
118
|
"react-dom": "~18.2.0",
|
|
119
119
|
"vite": "5.4.7",
|
|
120
|
-
"@dxos/random": "0.8.4-main.
|
|
121
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
122
|
-
"@dxos/react-ui
|
|
123
|
-
"@dxos/storybook-utils": "0.8.4-main.
|
|
120
|
+
"@dxos/random": "0.8.4-main.f5c0578",
|
|
121
|
+
"@dxos/react-ui-theme": "0.8.4-main.f5c0578",
|
|
122
|
+
"@dxos/react-ui": "0.8.4-main.f5c0578",
|
|
123
|
+
"@dxos/storybook-utils": "0.8.4-main.f5c0578"
|
|
124
124
|
},
|
|
125
125
|
"peerDependencies": {
|
|
126
126
|
"@effect-rx/rx-react": "^0.34.1",
|
|
@@ -128,8 +128,8 @@
|
|
|
128
128
|
"effect": "^3.13.3",
|
|
129
129
|
"react": "~18.2.0",
|
|
130
130
|
"react-dom": "~18.2.0",
|
|
131
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
132
|
-
"@dxos/react-ui-theme": "0.8.4-main.
|
|
131
|
+
"@dxos/react-ui": "0.8.4-main.f5c0578",
|
|
132
|
+
"@dxos/react-ui-theme": "0.8.4-main.f5c0578"
|
|
133
133
|
},
|
|
134
134
|
"publishConfig": {
|
|
135
135
|
"access": "public"
|
package/src/ScriptPlugin.tsx
CHANGED
|
@@ -4,21 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import { Schema } from 'effect';
|
|
6
6
|
|
|
7
|
-
import { Capabilities, contributes, createIntent, defineModule, definePlugin
|
|
7
|
+
import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';
|
|
8
8
|
import { Ref } from '@dxos/echo';
|
|
9
9
|
import { ScriptType } from '@dxos/functions';
|
|
10
10
|
import { ClientEvents } from '@dxos/plugin-client';
|
|
11
11
|
import { SpaceCapabilities } from '@dxos/plugin-space';
|
|
12
12
|
import { defineObjectForm } from '@dxos/plugin-space/types';
|
|
13
13
|
|
|
14
|
-
import {
|
|
15
|
-
AppGraphBuilder,
|
|
16
|
-
ArtifactDefinition,
|
|
17
|
-
Compiler,
|
|
18
|
-
IntentResolver,
|
|
19
|
-
ReactSurface,
|
|
20
|
-
ScriptSettings,
|
|
21
|
-
} from './capabilities';
|
|
14
|
+
import { AppGraphBuilder, Compiler, IntentResolver, ReactSurface, ScriptSettings } from './capabilities';
|
|
22
15
|
import { ScriptEvents } from './events';
|
|
23
16
|
import { meta } from './meta';
|
|
24
17
|
import { translations } from './translations';
|
|
@@ -84,9 +77,4 @@ export const ScriptPlugin = () =>
|
|
|
84
77
|
activatesOn: Events.SetupIntentResolver,
|
|
85
78
|
activate: IntentResolver,
|
|
86
79
|
}),
|
|
87
|
-
defineModule({
|
|
88
|
-
id: `${meta.id}/module/artifact-definition`,
|
|
89
|
-
activatesOn: Events.SetupArtifactDefinition,
|
|
90
|
-
activate: ArtifactDefinition,
|
|
91
|
-
}),
|
|
92
80
|
]);
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
import { Rx } from '@effect-rx/rx-react';
|
|
6
6
|
import { Option, pipe } from 'effect';
|
|
7
7
|
|
|
8
|
-
import { Capabilities,
|
|
8
|
+
import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
|
|
9
9
|
import { Obj } from '@dxos/echo';
|
|
10
10
|
import { ScriptType } from '@dxos/functions';
|
|
11
|
-
import {
|
|
11
|
+
import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
|
|
12
12
|
import { createExtension } from '@dxos/plugin-graph';
|
|
13
13
|
|
|
14
14
|
import { meta } from '../meta';
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
// ISSUE(burdon): defineArtifact
|
|
6
|
+
// @ts-nocheck
|
|
7
|
+
|
|
5
8
|
import { Schema } from 'effect';
|
|
6
9
|
|
|
7
|
-
import {
|
|
8
|
-
import { Capabilities, contributes, createIntent
|
|
9
|
-
import {
|
|
10
|
+
import { ToolResult, createTool } from '@dxos/ai';
|
|
11
|
+
import { Capabilities, type PromiseIntentDispatcher, contributes, createIntent } from '@dxos/app-framework';
|
|
12
|
+
import { ArtifactId, createArtifactElement } from '@dxos/assistant';
|
|
10
13
|
import { defineArtifact } from '@dxos/blueprints';
|
|
11
14
|
import { Filter, Obj, Ref } from '@dxos/echo';
|
|
12
15
|
import { ScriptType } from '@dxos/functions';
|
|
@@ -8,9 +8,10 @@ import wasmUrl from 'esbuild-wasm/esbuild.wasm?url';
|
|
|
8
8
|
import { contributes } from '@dxos/app-framework';
|
|
9
9
|
import { initializeBundler } from '@dxos/functions/bundler';
|
|
10
10
|
|
|
11
|
-
import { ScriptCapabilities } from './capabilities';
|
|
12
11
|
import { Compiler } from '../compiler';
|
|
13
12
|
|
|
13
|
+
import { ScriptCapabilities } from './capabilities';
|
|
14
|
+
|
|
14
15
|
export default async () => {
|
|
15
16
|
const compiler = new Compiler();
|
|
16
17
|
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import { lazy } from '@dxos/app-framework';
|
|
6
6
|
|
|
7
7
|
export const AppGraphBuilder = lazy(() => import('./app-graph-builder'));
|
|
8
|
-
export const ArtifactDefinition = lazy(() => import('./artifact-definition'));
|
|
9
8
|
export const Compiler = lazy(() => import('./compiler'));
|
|
10
9
|
export const IntentResolver = lazy(() => import('./intent-resolver'));
|
|
11
10
|
export const ReactSurface = lazy(() => import('./react-surface'));
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Octokit } from '@octokit/core';
|
|
6
6
|
import { Predicate } from 'effect';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { Capabilities, LayoutAction, contributes, createIntent, createResolver } from '@dxos/app-framework';
|
|
9
9
|
import { Obj, Ref } from '@dxos/echo';
|
|
10
10
|
import { ScriptType } from '@dxos/functions';
|
|
11
11
|
import { TokenManagerAction } from '@dxos/plugin-token-manager/types';
|
|
@@ -13,19 +13,20 @@ import { getSpace } from '@dxos/react-client/echo';
|
|
|
13
13
|
import { StackItem } from '@dxos/react-ui-stack';
|
|
14
14
|
import { type DataType } from '@dxos/schema';
|
|
15
15
|
|
|
16
|
-
import { ScriptCapabilities } from './capabilities';
|
|
17
16
|
import {
|
|
18
17
|
DEPLOYMENT_DIALOG,
|
|
19
18
|
DeploymentDialog,
|
|
20
19
|
ScriptContainer,
|
|
21
|
-
ScriptPluginSettings,
|
|
22
20
|
ScriptObjectSettings,
|
|
21
|
+
ScriptPluginSettings,
|
|
23
22
|
ScriptProperties,
|
|
24
23
|
TestContainer,
|
|
25
24
|
} from '../components';
|
|
26
25
|
import { meta } from '../meta';
|
|
27
26
|
import { type ScriptSettingsProps } from '../types';
|
|
28
27
|
|
|
28
|
+
import { ScriptCapabilities } from './capabilities';
|
|
29
|
+
|
|
29
30
|
export default () =>
|
|
30
31
|
contributes(Capabilities.ReactSurface, [
|
|
31
32
|
createSurface({
|
package/src/compiler/compiler.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { useEffect, useMemo } from 'react';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';
|
|
8
8
|
import { getSpace } from '@dxos/react-client/echo';
|
|
9
9
|
import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
|
|
10
10
|
import { type DataType } from '@dxos/schema';
|
|
@@ -16,9 +16,9 @@ import { type Template } from '../../templates';
|
|
|
16
16
|
export const DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;
|
|
17
17
|
|
|
18
18
|
// TODO(ZaymonFC):
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
19
|
+
// - Show activity and feedback to the user.
|
|
20
|
+
// - Only take an array of templateIds and get the name from the data.
|
|
21
|
+
// - Pending / onError states.
|
|
22
22
|
|
|
23
23
|
type DeploymentDialogProps = {
|
|
24
24
|
accessToken: DataType.AccessToken;
|
|
@@ -10,11 +10,12 @@ import { useIdentity } from '@dxos/react-client/halo';
|
|
|
10
10
|
import { createDataExtensions, listener, stackItemContentEditorClassNames } from '@dxos/react-ui-editor';
|
|
11
11
|
import { StackItem } from '@dxos/react-ui-stack';
|
|
12
12
|
|
|
13
|
-
import { ScriptToolbar } from './ScriptToolbar';
|
|
14
|
-
import { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';
|
|
15
13
|
import { useDeployState, useToolbarState } from '../hooks';
|
|
16
14
|
import { type ScriptSettingsProps } from '../types';
|
|
17
15
|
|
|
16
|
+
import { ScriptToolbar } from './ScriptToolbar';
|
|
17
|
+
import { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';
|
|
18
|
+
|
|
18
19
|
export type ScriptEditorProps = {
|
|
19
20
|
role: string;
|
|
20
21
|
script: ScriptType;
|
|
@@ -8,9 +8,10 @@ import { type Meta } from '@storybook/react-vite';
|
|
|
8
8
|
|
|
9
9
|
import { withLayout, withTheme } from '@dxos/storybook-utils';
|
|
10
10
|
|
|
11
|
-
import { ScriptToolbar } from './ScriptToolbar';
|
|
12
11
|
import { templates } from '../../templates';
|
|
13
12
|
|
|
13
|
+
import { ScriptToolbar } from './ScriptToolbar';
|
|
14
|
+
|
|
14
15
|
export const Default = {
|
|
15
16
|
args: {
|
|
16
17
|
binding: 'example',
|
|
@@ -7,8 +7,8 @@ import React, { useMemo } from 'react';
|
|
|
7
7
|
|
|
8
8
|
import { type ScriptType } from '@dxos/functions';
|
|
9
9
|
import { fullyQualifiedId } from '@dxos/react-client/echo';
|
|
10
|
-
import { ElevationProvider,
|
|
11
|
-
import {
|
|
10
|
+
import { ElevationProvider, type ThemedClassName, useTranslation } from '@dxos/react-ui';
|
|
11
|
+
import { MenuProvider, ToolbarMenu, createGapSeparator, rxFromSignal, useMenuActions } from '@dxos/react-ui-menu';
|
|
12
12
|
|
|
13
13
|
import {
|
|
14
14
|
type CreateDeployOptions,
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
import { Octokit } from '@octokit/core';
|
|
6
6
|
import React, { type ChangeEvent, useCallback, useEffect, useState } from 'react';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { SettingsAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';
|
|
9
9
|
import { FunctionType, type ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';
|
|
10
10
|
import { log } from '@dxos/log';
|
|
11
11
|
import { useClient } from '@dxos/react-client';
|
|
12
|
-
import { Filter, getMeta, getSpace,
|
|
12
|
+
import { Filter, Ref, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';
|
|
13
13
|
import { Button, Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';
|
|
14
14
|
import { DataType } from '@dxos/schema';
|
|
15
15
|
|
|
@@ -7,9 +7,10 @@ import React from 'react';
|
|
|
7
7
|
import { type ScriptType } from '@dxos/functions';
|
|
8
8
|
import { StackItem } from '@dxos/react-ui-stack';
|
|
9
9
|
|
|
10
|
-
import { TestPanel } from './TestPanel';
|
|
11
10
|
import { useDeployState, useToolbarState } from '../../hooks';
|
|
12
11
|
|
|
12
|
+
import { TestPanel } from './TestPanel';
|
|
13
|
+
|
|
13
14
|
export type TestContainerProps = {
|
|
14
15
|
role: string;
|
|
15
16
|
script: ScriptType;
|
|
@@ -11,9 +11,10 @@ import { createDocAccessor, createObject } from '@dxos/react-client/echo';
|
|
|
11
11
|
import { createDataExtensions } from '@dxos/react-ui-editor';
|
|
12
12
|
import { withTheme } from '@dxos/storybook-utils';
|
|
13
13
|
|
|
14
|
-
import { TypescriptEditor } from './TypescriptEditor';
|
|
15
14
|
import { templates } from '../../templates';
|
|
16
15
|
|
|
16
|
+
import { TypescriptEditor } from './TypescriptEditor';
|
|
17
|
+
|
|
17
18
|
// TODO(burdon): Features:
|
|
18
19
|
// - language support for S
|
|
19
20
|
// - hierarchical editor (DND)
|
|
@@ -11,10 +11,10 @@ import { keymap } from '@codemirror/view';
|
|
|
11
11
|
import { tags } from '@lezer/highlight';
|
|
12
12
|
import { type VirtualTypeScriptEnvironment } from '@typescript/vfs';
|
|
13
13
|
import { continueKeymap } from '@valtown/codemirror-continue';
|
|
14
|
-
import {
|
|
14
|
+
import { type HoverInfo, tsAutocomplete, tsFacet, tsHover, tsLinter, tsSync } from '@valtown/codemirror-ts';
|
|
15
15
|
import React from 'react';
|
|
16
16
|
|
|
17
|
-
import { type
|
|
17
|
+
import { type ThemeMode, type ThemedClassName, useThemeContext } from '@dxos/react-ui';
|
|
18
18
|
import {
|
|
19
19
|
type EditorInputMode,
|
|
20
20
|
InputModeExtensions,
|
|
@@ -64,6 +64,7 @@ export const TypescriptEditor = ({
|
|
|
64
64
|
lineWrapping: false,
|
|
65
65
|
monospace: true,
|
|
66
66
|
scrollPastEnd: true,
|
|
67
|
+
search: true,
|
|
67
68
|
}),
|
|
68
69
|
createThemeExtensions({ themeMode, syntaxHighlighting: true }),
|
|
69
70
|
InputModeExtensions[inputMode],
|
package/src/hooks/deploy.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { useEffect, useMemo } from 'react';
|
|
|
7
7
|
import { FunctionType, type ScriptType, getUserFunctionUrlInMetadata } from '@dxos/functions';
|
|
8
8
|
import { log } from '@dxos/log';
|
|
9
9
|
import { type Client, useClient } from '@dxos/react-client';
|
|
10
|
-
import {
|
|
10
|
+
import { Query, Ref, type Space, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';
|
|
11
11
|
import { type TFunction } from '@dxos/react-ui';
|
|
12
12
|
import { createMenuAction } from '@dxos/react-ui-menu';
|
|
13
13
|
import { errorMessageColors } from '@dxos/react-ui-theme';
|
package/src/hooks/template.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { Obj } from '@dxos/echo';
|
|
6
6
|
import { FUNCTIONS_PRESET_META_KEY, type ScriptType } from '@dxos/functions';
|
|
7
|
-
import {
|
|
7
|
+
import { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';
|
|
8
8
|
|
|
9
9
|
import { SCRIPT_PLUGIN } from '../meta';
|
|
10
10
|
import { templates } from '../templates';
|
|
@@ -55,5 +55,6 @@ export const useCreateAndDeployScriptTemplates = (space: Space | undefined, scri
|
|
|
55
55
|
setStatus(hasErrors ? 'error' : 'success');
|
|
56
56
|
}, [space, dispatch, client, scriptTemplates]);
|
|
57
57
|
|
|
58
|
+
// TODO(burdon): Return onCreateAndDeployScripts.
|
|
58
59
|
return { handleCreateAndDeployScripts, status, error };
|
|
59
60
|
};
|
package/src/templates/chess.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
|
-
import {
|
|
6
|
+
import { Expando, S, create, defineFunction } from 'dxos:functions';
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
import { randText } from 'https://esm.sh/@ngneat/falso@7.1.1?bundle=false';
|
|
9
9
|
|
|
@@ -12,11 +12,15 @@ export default defineFunction({
|
|
|
12
12
|
documentAmount: S.optional(S.Number),
|
|
13
13
|
textSize: S.optional(S.Number),
|
|
14
14
|
mutationAmount: S.optional(S.Number),
|
|
15
|
+
waitAfterCreation: S.optional(S.Number),
|
|
15
16
|
}),
|
|
16
17
|
|
|
17
18
|
outputSchema: S.Struct({}),
|
|
18
19
|
|
|
19
|
-
handler: async ({
|
|
20
|
+
handler: async ({
|
|
21
|
+
data: { documentAmount = 1, textSize = 10, mutationAmount = 0, waitAfterCreation = 10_000 },
|
|
22
|
+
context: { space },
|
|
23
|
+
}: any) => {
|
|
20
24
|
await space.db.graph.schemaRegistry.addSchema([Expando]);
|
|
21
25
|
const result: Record<string, any> = {};
|
|
22
26
|
const objects: Expando[] = [];
|
|
@@ -42,7 +46,7 @@ export default defineFunction({
|
|
|
42
46
|
|
|
43
47
|
// Flush and wait for data to propagate.
|
|
44
48
|
await space.db.flush();
|
|
45
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
49
|
+
await new Promise((resolve) => setTimeout(resolve, waitAfterCreation));
|
|
46
50
|
return { createdObjects: objects.length };
|
|
47
51
|
},
|
|
48
52
|
});
|
package/src/templates/discord.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
|
-
import {
|
|
6
|
+
import { DXN, EchoObject, Filter, ObjectId, S, create, defineFunction } from 'dxos:functions';
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
import { FetchHttpClient } from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
|
|
9
9
|
import {
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
// @ts-ignore
|
|
14
14
|
} from 'https://esm.sh/dfx@0.113.0?deps=effect@3.14.21&bundle=false';
|
|
15
15
|
// @ts-ignore
|
|
16
|
-
import {
|
|
16
|
+
import { Config, Effect, Redacted, Ref } from 'https://esm.sh/effect@3.14.21?bundle=false';
|
|
17
17
|
|
|
18
18
|
const MessageSchema = S.Struct({
|
|
19
19
|
id: ObjectId,
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import { S, defineFunction } from 'dxos:functions';
|
|
7
7
|
import {
|
|
8
|
+
FetchHttpClient,
|
|
8
9
|
HttpClient,
|
|
9
10
|
HttpClientRequest,
|
|
10
|
-
FetchHttpClient,
|
|
11
11
|
// @ts-ignore
|
|
12
12
|
} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
|
|
13
13
|
// @ts-ignore
|
package/src/templates/forex.ts
CHANGED
package/src/templates/gmail.ts
CHANGED
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
// @ts-ignore
|
|
6
|
-
import {
|
|
6
|
+
import { EchoObject, Filter, ObjectId, S, create, defineFunction } from 'dxos:functions';
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
import {
|
|
9
|
+
FetchHttpClient,
|
|
9
10
|
HttpClient,
|
|
10
11
|
HttpClientRequest,
|
|
11
|
-
FetchHttpClient,
|
|
12
12
|
// @ts-ignore
|
|
13
13
|
} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
|
|
14
14
|
// @ts-ignore
|
|
15
15
|
import { format, subDays } from 'https://esm.sh/date-fns@3.3.1?bundle=false';
|
|
16
16
|
// @ts-ignore
|
|
17
|
-
import {
|
|
17
|
+
import { Chunk, Effect, Ref, Schedule, Stream, pipe } from 'https://esm.sh/effect@3.14.21?bundle=false';
|
|
18
18
|
|
|
19
19
|
export default defineFunction({
|
|
20
20
|
inputSchema: S.Struct({
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/ScriptContainer.tsx", "../../../src/components/ScriptToolbar/ScriptToolbar.tsx", "../../../src/components/TypescriptEditor/TypescriptEditor.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { createDocAccessor, getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { createDataExtensions, listener, stackItemContentEditorClassNames } from '@dxos/react-ui-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { ScriptToolbar } from './ScriptToolbar';\nimport { TypescriptEditor, type TypescriptEditorProps } from './TypescriptEditor';\nimport { useDeployState, useToolbarState } from '../hooks';\nimport { type ScriptSettingsProps } from '../types';\n\nexport type ScriptEditorProps = {\n role: string;\n script: ScriptType;\n settings?: ScriptSettingsProps;\n} & Pick<TypescriptEditorProps, 'env'>;\n\nexport const ScriptContainer = ({ role, script, settings = { editorInputMode: 'vscode' }, env }: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n const state = useToolbarState();\n useDeployState({ state, script });\n\n const extensions = useMemo(\n () =>\n script.source.target\n ? [\n listener({\n onChange: (text) => {\n if (script.source.target?.content !== text) {\n script.changed = true;\n }\n },\n }),\n createDataExtensions({\n id: script.id,\n text: createDocAccessor(script.source.target, ['content']),\n space,\n identity,\n }),\n ]\n : [],\n [identity, space, script, script.source.target],\n );\n\n return (\n <StackItem.Content toolbar>\n <ScriptToolbar state={state} role={role} script={script} />\n <TypescriptEditor\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n classNames={stackItemContentEditorClassNames(role)}\n inputMode={settings.editorInputMode}\n toolbar\n />\n </StackItem.Content>\n );\n};\n\nexport default ScriptContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport React, { useMemo } from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { ElevationProvider, useTranslation, type ThemedClassName } from '@dxos/react-ui';\nimport { createGapSeparator, MenuProvider, rxFromSignal, ToolbarMenu, useMenuActions } from '@dxos/react-ui-menu';\n\nimport {\n type CreateDeployOptions,\n type ScriptToolbarState,\n createDeploy,\n createFormat,\n createTemplateSelect,\n useDeployDeps,\n} from '../../hooks';\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nconst createToolbar = ({ state, script, ...options }: CreateDeployOptions) =>\n Rx.make((get) =>\n get(\n rxFromSignal(() => {\n const templateSelect = createTemplateSelect(script);\n const format = createFormat(script);\n const gap = createGapSeparator();\n const deploy = createDeploy({ state, script, ...options });\n return {\n nodes: [...templateSelect.nodes, ...format.nodes, ...gap.nodes, ...deploy.nodes],\n edges: [...templateSelect.edges, ...format.edges, ...gap.edges, ...deploy.edges],\n };\n }),\n ),\n );\n\nexport type ScriptToolbarProps = ThemedClassName<{\n role?: string;\n script: ScriptType;\n state: ScriptToolbarState;\n}>;\n\nexport const ScriptToolbar = ({ script, role, state, classNames }: ScriptToolbarProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const options = useDeployDeps({ script });\n const toolbarCreator = useMemo(() => createToolbar({ state, script, t, ...options }), [state, script, options, t]);\n const menu = useMenuActions(toolbarCreator);\n\n return (\n <ElevationProvider elevation={role === 'section' ? 'positioned' : 'base'}>\n <MenuProvider {...menu} attendableId={fullyQualifiedId(script)}>\n <ToolbarMenu classNames={classNames} />\n </MenuProvider>\n </ElevationProvider>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { javascript } from '@codemirror/lang-javascript';\nimport { defaultHighlightStyle } from '@codemirror/language';\nimport { lintKeymap } from '@codemirror/lint';\nimport { Prec } from '@codemirror/state';\nimport { oneDarkHighlightStyle } from '@codemirror/theme-one-dark';\nimport { keymap } from '@codemirror/view';\nimport { tags } from '@lezer/highlight';\nimport { type VirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport { continueKeymap } from '@valtown/codemirror-continue';\nimport { tsSync, tsFacet, tsLinter, tsAutocomplete, tsHover, type HoverInfo } from '@valtown/codemirror-ts';\nimport React from 'react';\n\nimport { type ThemedClassName, type ThemeMode, useThemeContext } from '@dxos/react-ui';\nimport {\n type EditorInputMode,\n InputModeExtensions,\n type UseTextEditorProps,\n autocomplete,\n createBasicExtensions,\n createThemeExtensions,\n folding,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nexport type TypescriptEditorProps = ThemedClassName<\n {\n id: string;\n inputMode?: EditorInputMode;\n toolbar?: boolean;\n env?: VirtualTypeScriptEnvironment;\n } & Pick<UseTextEditorProps, 'initialValue' | 'extensions' | 'scrollTo' | 'selection'>\n>;\n\nexport const TypescriptEditor = ({\n classNames,\n id,\n inputMode = 'vscode',\n toolbar,\n env,\n initialValue,\n extensions,\n scrollTo,\n selection,\n}: TypescriptEditorProps) => {\n const { themeMode } = useThemeContext();\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n id,\n initialValue,\n selection,\n scrollTo,\n extensions: [\n extensions,\n createBasicExtensions({\n highlightActiveLine: true,\n indentWithTab: true,\n lineNumbers: true,\n lineWrapping: false,\n monospace: true,\n scrollPastEnd: true,\n }),\n createThemeExtensions({ themeMode, syntaxHighlighting: true }),\n InputModeExtensions[inputMode],\n folding(),\n // Continues block comments when pressing Enter.\n Prec.high(keymap.of(continueKeymap)),\n\n // TODO(burdon): Factor out.\n javascript({ typescript: true }),\n // https://github.com/val-town/codemirror-ts\n autocomplete({ override: env ? [tsAutocomplete()] : undefined }),\n keymap.of(lintKeymap),\n env && [\n tsFacet.of({ env, path: `/src/${id}.ts` }),\n tsSync(),\n tsLinter(),\n tsHover({ renderTooltip: createTooltipRenderer(themeMode) }),\n ],\n ].filter(isNonNullable),\n }),\n [id, extensions, themeMode, inputMode, selection, scrollTo],\n );\n\n return (\n <div\n ref={parentRef}\n data-toolbar={toolbar ? 'enabled' : 'disabled'}\n className={mx(classNames)}\n {...focusAttributes}\n />\n );\n};\n\nconst createTooltipRenderer = (themeMode: ThemeMode) => {\n const theme = themeMode === 'dark' ? oneDarkHighlightStyle : defaultHighlightStyle;\n\n const classFromKind = (_kind: string) => {\n // E.g., localName, methodName, parameterName, etc.\n const kind = _kind.endsWith('Name') ? 'name' : _kind;\n const validTag = kind in tags;\n if (!validTag) {\n return '';\n }\n\n const tag = tags[kind as keyof typeof tags];\n if (typeof tag === 'function') {\n return '';\n }\n\n return theme.style([tag]) ?? '';\n };\n\n return (info: HoverInfo) => {\n const div = document.createElement('div');\n div.className = 'p-1 rounded border border-separator bg-baseSurface xs:max-w-80 max-w-lg';\n\n if (info.quickInfo?.displayParts) {\n for (const part of info.quickInfo.displayParts) {\n const span = div.appendChild(document.createElement('span'));\n span.className = classFromKind(part.kind);\n span.innerText = part.text;\n }\n }\n\n return { dom: div };\n };\n};\n\nexport default TypescriptEditor;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useMemo", "createDocAccessor", "getSpace", "useIdentity", "createDataExtensions", "listener", "stackItemContentEditorClassNames", "StackItem", "Rx", "React", "useMemo", "fullyQualifiedId", "ElevationProvider", "useTranslation", "createGapSeparator", "MenuProvider", "rxFromSignal", "ToolbarMenu", "useMenuActions", "createToolbar", "state", "script", "options", "Rx", "make", "get", "rxFromSignal", "templateSelect", "createTemplateSelect", "format", "createFormat", "gap", "createGapSeparator", "deploy", "createDeploy", "nodes", "edges", "ScriptToolbar", "role", "classNames", "t", "useTranslation", "SCRIPT_PLUGIN", "useDeployDeps", "toolbarCreator", "useMemo", "menu", "useMenuActions", "ElevationProvider", "elevation", "MenuProvider", "attendableId", "fullyQualifiedId", "ToolbarMenu", "javascript", "defaultHighlightStyle", "lintKeymap", "Prec", "oneDarkHighlightStyle", "keymap", "tags", "continueKeymap", "tsSync", "tsFacet", "tsLinter", "tsAutocomplete", "tsHover", "React", "useThemeContext", "InputModeExtensions", "autocomplete", "createBasicExtensions", "createThemeExtensions", "folding", "useTextEditor", "mx", "isNonNullable", "TypescriptEditor", "classNames", "id", "inputMode", "toolbar", "env", "initialValue", "extensions", "scrollTo", "selection", "themeMode", "useThemeContext", "parentRef", "focusAttributes", "useTextEditor", "createBasicExtensions", "highlightActiveLine", "indentWithTab", "lineNumbers", "lineWrapping", "monospace", "scrollPastEnd", "createThemeExtensions", "syntaxHighlighting", "InputModeExtensions", "folding", "Prec", "high", "keymap", "of", "continueKeymap", "javascript", "typescript", "autocomplete", "override", "tsAutocomplete", "undefined", "lintKeymap", "tsFacet", "path", "tsSync", "tsLinter", "tsHover", "renderTooltip", "createTooltipRenderer", "filter", "isNonNullable", "React", "div", "ref", "data-toolbar", "className", "mx", "theme", "oneDarkHighlightStyle", "defaultHighlightStyle", "classFromKind", "_kind", "kind", "endsWith", "validTag", "tags", "tag", "style", "info", "document", "createElement", "quickInfo", "displayParts", "part", "span", "appendChild", "innerText", "text", "dom", "ScriptContainer", "role", "script", "settings", "editorInputMode", "env", "identity", "useIdentity", "space", "getSpace", "state", "useToolbarState", "useDeployState", "extensions", "useMemo", "source", "target", "listener", "onChange", "text", "content", "changed", "createDataExtensions", "id", "createDocAccessor", "React", "StackItem", "Content", "toolbar", "ScriptToolbar", "TypescriptEditor", "initialValue", "classNames", "stackItemContentEditorClassNames", "inputMode"]
|
|
7
|
-
}
|