@dcl/sdk-commands 7.29.1-36591934525.commit-48aa9b5 → 7.29.1-36624944101.commit-bb81ac6
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/commands/code-to-composite/scene-executor.js +1 -18
- package/dist/commands/code-to-composite/scene-executor.js.map +1 -1
- package/dist/commands/sdk-server-logs/index.d.ts +24 -0
- package/dist/commands/sdk-server-logs/index.js +313 -0
- package/dist/commands/sdk-server-logs/index.js.map +1 -0
- package/dist/commands/start/dcl-env.d.ts +16 -0
- package/dist/commands/start/dcl-env.js +51 -0
- package/dist/commands/start/dcl-env.js.map +1 -0
- package/dist/commands/start/index.d.ts +1 -0
- package/dist/commands/start/index.js +24 -6
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/multiplayer-server.d.ts +35 -0
- package/dist/commands/start/multiplayer-server.js +244 -0
- package/dist/commands/start/multiplayer-server.js.map +1 -0
- package/dist/commands/start/server/routes.d.ts +1 -1
- package/dist/commands/start/server/routes.js +6 -2
- package/dist/commands/start/server/routes.js.map +1 -1
- package/dist/commands/start/server/runtime-env.d.ts +84 -0
- package/dist/commands/start/server/runtime-env.js +415 -0
- package/dist/commands/start/server/runtime-env.js.map +1 -0
- package/dist/commands/start/server/storage-service.d.ts +8 -0
- package/dist/commands/start/server/storage-service.js +243 -0
- package/dist/commands/start/server/storage-service.js.map +1 -0
- package/dist/commands/start/utils.d.ts +32 -0
- package/dist/commands/start/utils.js +72 -0
- package/dist/commands/start/utils.js.map +1 -1
- package/dist/commands/storage/env.d.ts +5 -0
- package/dist/commands/storage/env.js +86 -0
- package/dist/commands/storage/env.js.map +1 -0
- package/dist/commands/storage/index.d.ts +26 -0
- package/dist/commands/storage/index.js +142 -0
- package/dist/commands/storage/index.js.map +1 -0
- package/dist/commands/storage/player.d.ts +5 -0
- package/dist/commands/storage/player.js +143 -0
- package/dist/commands/storage/player.js.map +1 -0
- package/dist/commands/storage/scene.d.ts +5 -0
- package/dist/commands/storage/scene.js +105 -0
- package/dist/commands/storage/scene.js.map +1 -0
- package/dist/commands/storage/shared.d.ts +62 -0
- package/dist/commands/storage/shared.js +260 -0
- package/dist/commands/storage/shared.js.map +1 -0
- package/dist/commands/storage/types.d.ts +56 -0
- package/dist/commands/storage/types.js +23 -0
- package/dist/commands/storage/types.js.map +1 -0
- package/dist/components/analytics.d.ts +75 -1
- package/dist/components/analytics.js +3 -2
- package/dist/components/analytics.js.map +1 -1
- package/dist/logic/auth-chain-headers.d.ts +11 -0
- package/dist/logic/auth-chain-headers.js +25 -0
- package/dist/logic/auth-chain-headers.js.map +1 -0
- package/dist/logic/bundle.js +31 -0
- package/dist/logic/bundle.js.map +1 -1
- package/dist/logic/config.d.ts +1 -0
- package/dist/logic/config.js +7 -0
- package/dist/logic/config.js.map +1 -1
- package/dist/logic/error.d.ts +1 -1
- package/dist/logic/error.js.map +1 -1
- package/dist/logic/exec.d.ts +1 -0
- package/dist/logic/exec.js +2 -2
- package/dist/logic/exec.js.map +1 -1
- package/dist/logic/lang.js +1 -1
- package/dist/logic/lsd-realm.d.ts +5 -0
- package/dist/logic/lsd-realm.js +28 -0
- package/dist/logic/lsd-realm.js.map +1 -0
- package/dist/logic/project-files.js +2 -0
- package/dist/logic/project-files.js.map +1 -1
- package/dist/logic/scene-validations.d.ts +8 -1
- package/dist/logic/scene-validations.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChildProcess } from 'child_process';
|
|
2
|
+
import { CliComponents } from '../../components';
|
|
3
|
+
import { PreviewComponents } from './types';
|
|
4
|
+
import { ProjectUnion } from '../../logic/project-validations';
|
|
5
|
+
type ServerEngine = 'bevy' | 'hammurabi';
|
|
6
|
+
export type MultiplayerServer = {
|
|
7
|
+
child: ChildProcess;
|
|
8
|
+
/** true once the process survived the startup grace window, false if it errored or exited first. */
|
|
9
|
+
ready: Promise<boolean>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Starts the Multiplayer Server process using npx to install and run in one step
|
|
13
|
+
*/
|
|
14
|
+
export declare function startMultiplayerServer(components: Pick<CliComponents, 'logger' | 'analytics'>, workingDir: string, realm: string, engine?: ServerEngine, engineArgs?: string[], position?: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
}): MultiplayerServer;
|
|
18
|
+
/** Waits for the server process to come up, fail, or time out. */
|
|
19
|
+
export declare function waitForServerReady(components: Pick<CliComponents, 'logger'>, ready: Promise<boolean>, timeoutMs?: number): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Spawns the multiplayer server for the project.
|
|
22
|
+
* In the auth-server SDK, all scenes are authoritative multiplayer.
|
|
23
|
+
* Uses npx to handle installation and execution in a single step (works in Electron).
|
|
24
|
+
*
|
|
25
|
+
* Which implementation runs is chosen by DCL_SERVER_ENGINE (bevy | hammurabi), defaulting
|
|
26
|
+
* to bevy. When bevy reports itself unavailable on this machine (exit 78) the preview is
|
|
27
|
+
* aborted with instructions to opt into hammurabi — there is no automatic fallback.
|
|
28
|
+
*
|
|
29
|
+
* @param components - Preview components including logger
|
|
30
|
+
* @param project - The project to start the multiplayer server for
|
|
31
|
+
* @param realm - The realm URL to pass to the server
|
|
32
|
+
* @returns The readiness promise, or undefined when the server could not be spawned
|
|
33
|
+
*/
|
|
34
|
+
export declare function spawnAuthServer(components: PreviewComponents, project: ProjectUnion, realm: string, dclenv?: string): Promise<boolean> | undefined;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startMultiplayerServer = startMultiplayerServer;
|
|
4
|
+
exports.waitForServerReady = waitForServerReady;
|
|
5
|
+
exports.spawnAuthServer = spawnAuthServer;
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
const beautiful_logs_1 = require("../../logic/beautiful-logs");
|
|
8
|
+
const log_1 = require("../../components/log");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const scene_validations_1 = require("../../logic/scene-validations");
|
|
11
|
+
const future_1 = require("../../logic/future");
|
|
12
|
+
const dcl_env_1 = require("./dcl-env");
|
|
13
|
+
const HAMMURABI_PACKAGE = '@dcl/hammurabi-server';
|
|
14
|
+
const HAMMURABI_VERSION = 'next';
|
|
15
|
+
const BEVY_PACKAGE = '@dcl-regenesislabs/bevy-headless-server';
|
|
16
|
+
const BEVY_VERSION = '0.1.0-35098753248.commit-508acb8';
|
|
17
|
+
const EXIT_UNAVAILABLE = 78;
|
|
18
|
+
const CMD_METACHARACTERS = /[&|<>^%"!\r\n]/;
|
|
19
|
+
const DEFAULT_ENGINE = 'bevy';
|
|
20
|
+
function selectedEngine() {
|
|
21
|
+
const requested = process.env.DCL_SERVER_ENGINE;
|
|
22
|
+
return requested === 'bevy' || requested === 'hammurabi' ? requested : DEFAULT_ENGINE;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* npx accepts a directory or tarball as well as a registry spec, so pointing
|
|
26
|
+
* DCL_SERVER_PACKAGE at a local build exercises this spawn path without publishing.
|
|
27
|
+
*/
|
|
28
|
+
function packageSpec(engine) {
|
|
29
|
+
const override = process.env.DCL_SERVER_PACKAGE;
|
|
30
|
+
if (override)
|
|
31
|
+
return override;
|
|
32
|
+
return engine === 'bevy' ? `${BEVY_PACKAGE}@${BEVY_VERSION}` : `${HAMMURABI_PACKAGE}@${HAMMURABI_VERSION}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Registers cleanup handlers on the global process object
|
|
36
|
+
* Returns a function to remove the handlers
|
|
37
|
+
*/
|
|
38
|
+
function registerProcessCleanup(cleanup) {
|
|
39
|
+
process.on('SIGTERM', cleanup);
|
|
40
|
+
process.on('SIGINT', cleanup);
|
|
41
|
+
process.on('exit', cleanup);
|
|
42
|
+
return () => {
|
|
43
|
+
process.off('SIGTERM', cleanup);
|
|
44
|
+
process.off('SIGINT', cleanup);
|
|
45
|
+
process.off('exit', cleanup);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const TRACING_PREFIX = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})\.\d+Z\s+(INFO|WARN|ERROR|DEBUG|TRACE)\s+[\w:]+:\s?/;
|
|
49
|
+
const HEARTBEAT_LINE = /^\[headless\] alive:/;
|
|
50
|
+
const SERVER_READY_GRACE_MS = 1500;
|
|
51
|
+
const SERVER_READY_TIMEOUT_MS = 10000;
|
|
52
|
+
const ANSI_CODES = /\u001b\[[0-9;]*m/g;
|
|
53
|
+
const ENGINE_NOISE = [
|
|
54
|
+
/^failed to process gltf/,
|
|
55
|
+
/^Path not found: \$ipfs/,
|
|
56
|
+
/^bevy_render feature is enabled but RenderApp was not detected/,
|
|
57
|
+
/^Could not find an asset loader matching: .* Path: Some\("embedded:\/\//
|
|
58
|
+
];
|
|
59
|
+
const SCENE_CONTEXT = /^\[\[-?\d+, -?\d+\] \d+\.\d+\] /;
|
|
60
|
+
function colorByLevel(level, message) {
|
|
61
|
+
if (level === 'WARN')
|
|
62
|
+
return log_1.colors.yellow(message);
|
|
63
|
+
if (level === 'ERROR')
|
|
64
|
+
return log_1.colors.redBright(message);
|
|
65
|
+
return message;
|
|
66
|
+
}
|
|
67
|
+
function localTime(utcTimestamp) {
|
|
68
|
+
const date = new Date(utcTimestamp + 'Z');
|
|
69
|
+
return isNaN(date.getTime()) ? '' : log_1.colors.dim(date.toTimeString().slice(0, 8)) + ' ';
|
|
70
|
+
}
|
|
71
|
+
/** Forwards a server child stream to `sink`, line by line, tagged `[Server]` and ANSI-cleaned. */
|
|
72
|
+
function forwardEngineLogs(source, sink) {
|
|
73
|
+
if (!source)
|
|
74
|
+
return;
|
|
75
|
+
const serverTag = log_1.colors.greenBright('[Server]') + ' ';
|
|
76
|
+
const writeClean = (raw) => {
|
|
77
|
+
const line = raw.replace(ANSI_CODES, '');
|
|
78
|
+
if (!line.trim())
|
|
79
|
+
return;
|
|
80
|
+
if (HEARTBEAT_LINE.test(line))
|
|
81
|
+
return;
|
|
82
|
+
const match = line.match(TRACING_PREFIX);
|
|
83
|
+
if (!match) {
|
|
84
|
+
sink.write(serverTag + line.replace(/^\[headless\] /, '') + '\n');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const message = line.slice(match[0].length);
|
|
88
|
+
if (ENGINE_NOISE.some((pattern) => pattern.test(message)))
|
|
89
|
+
return;
|
|
90
|
+
if (SCENE_CONTEXT.test(message)) {
|
|
91
|
+
const sceneMessage = message.replace(SCENE_CONTEXT, '');
|
|
92
|
+
const sceneTag = sceneMessage.match(/^(LOG|WARN|ERROR|DEBUG) /);
|
|
93
|
+
const body = sceneTag ? sceneMessage.slice(sceneTag[0].length) : sceneMessage;
|
|
94
|
+
sink.write(serverTag + localTime(match[1]) + colorByLevel(sceneTag?.[1], body) + '\n');
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
sink.write(serverTag + localTime(match[1]) + colorByLevel(match[2], message) + '\n');
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
let pending = '';
|
|
101
|
+
source.setEncoding('utf8');
|
|
102
|
+
source.on('data', (chunk) => {
|
|
103
|
+
const lines = (pending + chunk).split('\n');
|
|
104
|
+
pending = lines.pop() ?? '';
|
|
105
|
+
lines.forEach(writeClean);
|
|
106
|
+
});
|
|
107
|
+
source.on('end', () => {
|
|
108
|
+
if (pending)
|
|
109
|
+
writeClean(pending);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Starts the Multiplayer Server process using npx to install and run in one step
|
|
114
|
+
*/
|
|
115
|
+
function startMultiplayerServer(components, workingDir, realm, engine = DEFAULT_ENGINE, engineArgs = [], position) {
|
|
116
|
+
const pkg = packageSpec(engine);
|
|
117
|
+
(0, beautiful_logs_1.printProgressInfo)(components.logger, `Starting ${log_1.colors.bold('Multiplayer Server')} (${engine}) with realm: ${log_1.colors.bold(realm)}`);
|
|
118
|
+
const npxArgs = ['--yes', pkg, `--realm=${realm}`, ...engineArgs];
|
|
119
|
+
if (position)
|
|
120
|
+
npxArgs.push(`--position=${position.x},${position.y}`);
|
|
121
|
+
const npxCliJs = (0, utils_1.findNpxCliJs)();
|
|
122
|
+
const npxPath = npxCliJs ? null : (0, utils_1.findNpxBin)();
|
|
123
|
+
if (!npxCliJs && !npxPath) {
|
|
124
|
+
throw new Error('npx-cli.js and npx were not found in a trusted location');
|
|
125
|
+
}
|
|
126
|
+
const useShell = !!npxPath && process.platform === 'win32';
|
|
127
|
+
if (useShell) {
|
|
128
|
+
const unsafe = npxArgs.find((arg) => CMD_METACHARACTERS.test(arg));
|
|
129
|
+
if (unsafe)
|
|
130
|
+
throw new Error(`refusing to run npx through the shell with argument ${JSON.stringify(unsafe)}`);
|
|
131
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `npx-cli.js not found next to ${process.execPath} or any npm on PATH; running ${npxPath} through the shell`);
|
|
132
|
+
}
|
|
133
|
+
const env = (0, utils_1.isElectronEnvironment)()
|
|
134
|
+
? { ...(0, utils_1.getSpawnEnv)(), npm_config_prefix: workingDir }
|
|
135
|
+
: { ...(0, utils_1.getSpawnEnv)() };
|
|
136
|
+
if (engine === 'bevy' && !env.RUST_LOG) {
|
|
137
|
+
env.RUST_LOG = 'warn,scene_runner::renderer_context=info';
|
|
138
|
+
}
|
|
139
|
+
const stdio = ['inherit', 'pipe', 'pipe'];
|
|
140
|
+
const serverProcess = npxCliJs
|
|
141
|
+
? (0, child_process_1.spawn)(process.execPath, [npxCliJs, ...npxArgs], { cwd: workingDir, shell: false, stdio, env })
|
|
142
|
+
: (0, child_process_1.spawn)(useShell ? `"${npxPath}"` : npxPath, useShell ? npxArgs.map((arg) => `"${arg}"`) : npxArgs, {
|
|
143
|
+
cwd: workingDir,
|
|
144
|
+
shell: useShell,
|
|
145
|
+
stdio,
|
|
146
|
+
env
|
|
147
|
+
});
|
|
148
|
+
forwardEngineLogs(serverProcess.stdout, process.stdout);
|
|
149
|
+
forwardEngineLogs(serverProcess.stderr, process.stderr);
|
|
150
|
+
const ready = (0, future_1.future)();
|
|
151
|
+
let graceTimer;
|
|
152
|
+
serverProcess.on('spawn', () => {
|
|
153
|
+
graceTimer = setTimeout(() => ready.resolve(true), SERVER_READY_GRACE_MS);
|
|
154
|
+
});
|
|
155
|
+
serverProcess.on('error', (error) => {
|
|
156
|
+
clearTimeout(graceTimer);
|
|
157
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server process error: ${error.message}`);
|
|
158
|
+
ready.resolve(false);
|
|
159
|
+
});
|
|
160
|
+
const cleanup = () => {
|
|
161
|
+
if (!serverProcess.killed) {
|
|
162
|
+
serverProcess.kill('SIGTERM');
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const removeCleanup = registerProcessCleanup(cleanup);
|
|
166
|
+
serverProcess.on('close', (code, signal) => {
|
|
167
|
+
removeCleanup();
|
|
168
|
+
clearTimeout(graceTimer);
|
|
169
|
+
ready.resolve(false);
|
|
170
|
+
if (code !== 0 && code !== null) {
|
|
171
|
+
components.analytics.track('Multiplayer server exited', {
|
|
172
|
+
engine,
|
|
173
|
+
exitCode: code,
|
|
174
|
+
unavailable: code === EXIT_UNAVAILABLE
|
|
175
|
+
});
|
|
176
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server exited with code ${code}. The preview keeps running without it, ` +
|
|
177
|
+
`but clients wait for state sync (\`isStateSyncronized()\` stays false) until a server joins the scene room.`);
|
|
178
|
+
}
|
|
179
|
+
else if (signal && signal !== 'SIGTERM' && signal !== 'SIGINT') {
|
|
180
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server terminated by signal ${signal}`);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
return { child: serverProcess, ready };
|
|
184
|
+
}
|
|
185
|
+
/** Waits for the server process to come up, fail, or time out. */
|
|
186
|
+
async function waitForServerReady(components, ready, timeoutMs = SERVER_READY_TIMEOUT_MS) {
|
|
187
|
+
(0, beautiful_logs_1.printProgressInfo)(components.logger, 'Waiting for the Multiplayer Server to start...');
|
|
188
|
+
let timer;
|
|
189
|
+
const timeout = new Promise((resolve) => {
|
|
190
|
+
timer = setTimeout(() => resolve('timeout'), timeoutMs);
|
|
191
|
+
});
|
|
192
|
+
const result = await Promise.race([ready, timeout]);
|
|
193
|
+
clearTimeout(timer);
|
|
194
|
+
if (result === true) {
|
|
195
|
+
(0, beautiful_logs_1.printProgressInfo)(components.logger, `${log_1.colors.bold('Multiplayer Server')} is ready`);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const reason = result === 'timeout' ? `is not ready after ${timeoutMs / 1000}s` : 'is not running';
|
|
199
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Multiplayer Server ${reason}. Opening the client anyway; state sync completes once a server joins the scene room.`);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Spawns the multiplayer server for the project.
|
|
203
|
+
* In the auth-server SDK, all scenes are authoritative multiplayer.
|
|
204
|
+
* Uses npx to handle installation and execution in a single step (works in Electron).
|
|
205
|
+
*
|
|
206
|
+
* Which implementation runs is chosen by DCL_SERVER_ENGINE (bevy | hammurabi), defaulting
|
|
207
|
+
* to bevy. When bevy reports itself unavailable on this machine (exit 78) the preview is
|
|
208
|
+
* aborted with instructions to opt into hammurabi — there is no automatic fallback.
|
|
209
|
+
*
|
|
210
|
+
* @param components - Preview components including logger
|
|
211
|
+
* @param project - The project to start the multiplayer server for
|
|
212
|
+
* @param realm - The realm URL to pass to the server
|
|
213
|
+
* @returns The readiness promise, or undefined when the server could not be spawned
|
|
214
|
+
*/
|
|
215
|
+
function spawnAuthServer(components, project, realm, dclenv = 'org') {
|
|
216
|
+
const engine = selectedEngine();
|
|
217
|
+
try {
|
|
218
|
+
const server = startMultiplayerServer(components, project.workingDirectory, realm, engine, engine === 'bevy' ? (0, dcl_env_1.engineEnvArgs)(dclenv) : [], (0, scene_validations_1.getBaseCoords)(project.scene));
|
|
219
|
+
void components.signaler.programClosed
|
|
220
|
+
.then(() => {
|
|
221
|
+
if (!server.child.killed)
|
|
222
|
+
server.child.kill('SIGTERM');
|
|
223
|
+
})
|
|
224
|
+
.catch(() => { });
|
|
225
|
+
if (engine === 'bevy') {
|
|
226
|
+
server.child.on('close', (code) => {
|
|
227
|
+
if (code !== EXIT_UNAVAILABLE)
|
|
228
|
+
return;
|
|
229
|
+
const { logger } = components;
|
|
230
|
+
logger.error(`The bevy multiplayer server (${packageSpec(engine)}) cannot run on this machine ` +
|
|
231
|
+
`(exit ${EXIT_UNAVAILABLE}: unsupported platform or missing binary — ${process.platform}-${process.arch}).`);
|
|
232
|
+
logger.error(`To run the preview with the hammurabi server instead:`);
|
|
233
|
+
logger.error(` DCL_SERVER_ENGINE=hammurabi npm start`);
|
|
234
|
+
void components.analytics.stop().finally(() => process.exit(EXIT_UNAVAILABLE));
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return server.ready;
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
(0, beautiful_logs_1.printWarning)(components.logger, `Failed to start Multiplayer Server: ${error.message}`);
|
|
241
|
+
return undefined;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=multiplayer-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiplayer-server.js","sourceRoot":"","sources":["../../../src/commands/start/multiplayer-server.ts"],"names":[],"mappings":";;AAgIA,wDAgGC;AAGD,gDAqBC;AAgBD,0CAuCC;AA/SD,iDAAiE;AAGjE,+DAA4E;AAC5E,8CAA6C;AAG7C,mCAAsF;AACtF,qEAA6D;AAC7D,+CAA2C;AAC3C,uCAAyC;AAEzC,MAAM,iBAAiB,GAAG,uBAAuB,CAAA;AACjD,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEhC,MAAM,YAAY,GAAG,yCAAyC,CAAA;AAC9D,MAAM,YAAY,GAAG,kCAAkC,CAAA;AAEvD,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAI3B,MAAM,kBAAkB,GAAG,gBAAgB,CAAA;AAE3C,MAAM,cAAc,GAAiB,MAAM,CAAA;AAE3C,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAC/C,OAAO,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAA;AACvF,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAoB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAC/C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,IAAI,iBAAiB,EAAE,CAAA;AAC5G,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,OAAmB;IACjD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE3B,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAA;AACH,CAAC;AAED,MAAM,cAAc,GAAG,2FAA2F,CAAA;AAClH,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAM,qBAAqB,GAAG,IAAK,CAAA;AACnC,MAAM,uBAAuB,GAAG,KAAM,CAAA;AACtC,MAAM,UAAU,GAAG,mBAAmB,CAAA;AAEtC,MAAM,YAAY,GAAG;IACnB,yBAAyB;IACzB,yBAAyB;IACzB,gEAAgE;IAChE,yEAAyE;CAC1E,CAAA;AAED,MAAM,aAAa,GAAG,iCAAiC,CAAA;AAEvD,SAAS,YAAY,CAAC,KAAyB,EAAE,OAAe;IAC9D,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,YAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnD,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,YAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACvD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,YAAoB;IACrC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAA;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AACvF,CAAC;AAED,kGAAkG;AAClG,SAAS,iBAAiB,CAAC,MAAuB,EAAE,IAAwB;IAC1E,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,SAAS,GAAG,YAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,GAAG,CAAA;IACtD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAM;QACxB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAM;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAAE,OAAM;QACjE,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;YAC7E,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACxF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;QACtF,CAAC;IACH,CAAC,CAAA;IACD,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;QAC3B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,IAAI,OAAO;YAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC;AAQD;;GAEG;AACH,SAAgB,sBAAsB,CACpC,UAAuD,EACvD,UAAkB,EAClB,KAAa,EACb,SAAuB,cAAc,EACrC,aAAuB,EAAE,EACzB,QAAmC;IAEnC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAE/B,IAAA,kCAAiB,EACf,UAAU,CAAC,MAAM,EACjB,YAAY,YAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,MAAM,iBAAiB,YAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC9F,CAAA;IAED,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,CAAA;IACjE,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACpE,MAAM,QAAQ,GAAG,IAAA,oBAAY,GAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAU,GAAE,CAAA;IAC9C,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAClE,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC5G,IAAA,6BAAY,EACV,UAAU,CAAC,MAAM,EACjB,gCAAgC,OAAO,CAAC,QAAQ,gCAAgC,OAAO,oBAAoB,CAC5G,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAA8B,IAAA,6BAAqB,GAAE;QAC5D,CAAC,CAAC,EAAE,GAAG,IAAA,mBAAW,GAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE;QACrD,CAAC,CAAC,EAAE,GAAG,IAAA,mBAAW,GAAE,EAAE,CAAA;IAExB,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,GAAG,0CAA0C,CAAA;IAC3D,CAAC;IAED,MAAM,KAAK,GAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAEvD,MAAM,aAAa,GAAG,QAAQ;QAC5B,CAAC,CAAC,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAChG,CAAC,CAAC,IAAA,qBAAK,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAQ,GAAG,CAAC,CAAC,CAAC,OAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAClG,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,QAAQ;YACf,KAAK;YACL,GAAG;SACJ,CAAC,CAAA;IAEN,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACvD,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAEvD,MAAM,KAAK,GAAG,IAAA,eAAM,GAAW,CAAA;IAC/B,IAAI,UAAsC,CAAA;IAE1C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC7B,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAClC,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,IAAA,6BAAY,EAAC,UAAU,CAAC,MAAM,EAAE,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACrF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAErD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACzC,aAAa,EAAE,CAAA;QACf,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACtD,MAAM;gBACN,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,IAAI,KAAK,gBAAgB;aACvC,CAAC,CAAA;YACF,IAAA,6BAAY,EACV,UAAU,CAAC,MAAM,EACjB,uCAAuC,IAAI,0CAA0C;gBACnF,6GAA6G,CAChH,CAAA;QACH,CAAC;aAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjE,IAAA,6BAAY,EAAC,UAAU,CAAC,MAAM,EAAE,2CAA2C,MAAM,EAAE,CAAC,CAAA;QACtF,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;AACxC,CAAC;AAED,kEAAkE;AAC3D,KAAK,UAAU,kBAAkB,CACtC,UAAyC,EACzC,KAAuB,EACvB,YAAoB,uBAAuB;IAE3C,IAAA,kCAAiB,EAAC,UAAU,CAAC,MAAM,EAAE,gDAAgD,CAAC,CAAA;IACtF,IAAI,KAAiC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACjD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,YAAY,CAAC,KAAK,CAAC,CAAA;IACnB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAA,kCAAiB,EAAC,UAAU,CAAC,MAAM,EAAE,GAAG,YAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QACrF,OAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAA;IAClG,IAAA,6BAAY,EACV,UAAU,CAAC,MAAM,EACjB,sBAAsB,MAAM,uFAAuF,CACpH,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,eAAe,CAC7B,UAA6B,EAC7B,OAAqB,EACrB,KAAa,EACb,SAAiB,KAAK;IAEtB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAsB,CACnC,UAAU,EACV,OAAO,CAAC,gBAAgB,EACxB,KAAK,EACL,MAAM,EACN,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,uBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAC9C,IAAA,iCAAa,EAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,CAAA;QACD,KAAK,UAAU,CAAC,QAAQ,CAAC,aAAa;aACnC,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxD,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAI,IAAI,KAAK,gBAAgB;oBAAE,OAAM;gBACrC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;gBAC7B,MAAM,CAAC,KAAK,CACV,gCAAgC,WAAW,CAAC,MAAM,CAAC,+BAA+B;oBAChF,SAAS,gBAAgB,8CAA8C,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,CAC9G,CAAA;gBACD,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBACrE,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;gBACvD,KAAK,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAChF,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAA,6BAAY,EAAC,UAAU,CAAC,MAAM,EAAE,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACvF,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -3,4 +3,4 @@ import { Workspace } from '../../../logic/workspace-validations';
|
|
|
3
3
|
import { DataLayer } from '../data-layer/rpc';
|
|
4
4
|
import { PreviewComponents } from '../types';
|
|
5
5
|
export declare const sceneUpdateClients: Set<WebSocket>;
|
|
6
|
-
export declare function wireRouter(components: PreviewComponents, workspace: Workspace, dataLayer?: DataLayer): Promise<void>;
|
|
6
|
+
export declare function wireRouter(components: PreviewComponents, workspace: Workspace, dataLayer?: DataLayer, dclenv?: string): Promise<void>;
|
|
@@ -10,10 +10,12 @@ const http_server_1 = require("@well-known-components/http-server");
|
|
|
10
10
|
const ws_1 = require("@well-known-components/http-server/dist/ws");
|
|
11
11
|
const ws_2 = require("../data-layer/ws");
|
|
12
12
|
const endpoints_1 = require("./endpoints");
|
|
13
|
+
const storage_service_1 = require("./storage-service");
|
|
13
14
|
const realm_1 = require("./realm");
|
|
14
15
|
const utils_1 = require("../utils");
|
|
16
|
+
const dcl_env_1 = require("../dcl-env");
|
|
15
17
|
exports.sceneUpdateClients = new Set();
|
|
16
|
-
async function wireRouter(components, workspace, dataLayer) {
|
|
18
|
+
async function wireRouter(components, workspace, dataLayer, dclenv = 'org') {
|
|
17
19
|
const router = new http_server_1.Router();
|
|
18
20
|
if (dataLayer) {
|
|
19
21
|
router.get('/data-layer', async (ctx, next) => {
|
|
@@ -46,7 +48,8 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
const [x, y] = baseParcel.split(',');
|
|
49
|
-
|
|
51
|
+
// same Pulse params as the terminal QR in start/index.ts
|
|
52
|
+
const deepLink = `decentraland://open?preview=${lanUrl}&position=${x},${y}${(0, dcl_env_1.lsdDeepLinkPulseParams)(workspace.projects[0].workingDirectory, dclenv)}`;
|
|
50
53
|
const qrDataUrl = await qrcode_1.default.toDataURL(deepLink);
|
|
51
54
|
return {
|
|
52
55
|
headers: { 'content-type': 'application/json' },
|
|
@@ -60,6 +63,7 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
60
63
|
};
|
|
61
64
|
});
|
|
62
65
|
(0, realm_1.setupRealmAndComms)(components, router, localSceneParcels);
|
|
66
|
+
(0, storage_service_1.setupStorageEndpoints)(components, router, workspace);
|
|
63
67
|
await (0, endpoints_1.setupEcs6Endpoints)(components, router, workspace);
|
|
64
68
|
components.server.setContext(components);
|
|
65
69
|
components.server.use(router.allowedMethods());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/commands/start/server/routes.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/commands/start/server/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { CliComponents } from '../../../components';
|
|
2
|
+
/**
|
|
3
|
+
* Structure for all server-side storage data.
|
|
4
|
+
* Stored in sdk-commands package directory (hidden from users).
|
|
5
|
+
*/
|
|
6
|
+
export interface ServerStorage {
|
|
7
|
+
env: Record<string, string>;
|
|
8
|
+
world: Record<string, unknown>;
|
|
9
|
+
players: Record<string, Record<string, unknown>>;
|
|
10
|
+
}
|
|
11
|
+
export interface StorageLimits {
|
|
12
|
+
maxValueSizeBytes: number;
|
|
13
|
+
maxTotalSizeBytes: number;
|
|
14
|
+
}
|
|
15
|
+
/** The deployed service's defaults, in bytes; totals are per world, or per player. */
|
|
16
|
+
export declare const STORAGE_LIMITS: Record<'env' | 'world' | 'player', StorageLimits>;
|
|
17
|
+
export declare class StorageLimitExceededError extends Error {
|
|
18
|
+
}
|
|
19
|
+
/** The lock was removed or replaced while this process held it; nothing was written. */
|
|
20
|
+
export declare class StoreLockLostError extends Error {
|
|
21
|
+
}
|
|
22
|
+
/** Only a missing file is an empty store; any other read failure throws. */
|
|
23
|
+
export declare function loadServerStorage(components: Pick<CliComponents, 'fs' | 'logger'>): Promise<ServerStorage>;
|
|
24
|
+
/**
|
|
25
|
+
* Saves all server-side storage data to server-storage.json.
|
|
26
|
+
*/
|
|
27
|
+
export declare function saveServerStorage(components: Pick<CliComponents, 'fs' | 'logger'>, data: ServerStorage): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Loads environment variables from a .env file in the project directory.
|
|
30
|
+
* Returns a Map of key-value pairs.
|
|
31
|
+
*/
|
|
32
|
+
export declare function loadEnvFile(components: Pick<CliComponents, 'fs' | 'logger'>, projectDirectory: string): Promise<Map<string, string>>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets runtime environment variables.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getEnvStorage(components: Pick<CliComponents, 'fs' | 'logger'>): Promise<Record<string, string>>;
|
|
37
|
+
/**
|
|
38
|
+
* Gets merged environment variables.
|
|
39
|
+
* Runtime values (from server-storage.json) override .env values.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getMergedEnv(components: Pick<CliComponents, 'fs' | 'logger'>, projectDirectory: string): Promise<Map<string, string>>;
|
|
42
|
+
/**
|
|
43
|
+
* Sets a runtime environment variable.
|
|
44
|
+
*/
|
|
45
|
+
export declare function setEnvValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string, value: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Deletes a runtime environment variable.
|
|
48
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
49
|
+
*/
|
|
50
|
+
export declare function deleteEnvValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string): Promise<boolean>;
|
|
51
|
+
/**
|
|
52
|
+
* Gets all world storage data.
|
|
53
|
+
*/
|
|
54
|
+
export declare function getWorldStorage(components: Pick<CliComponents, 'fs' | 'logger'>): Promise<Record<string, unknown>>;
|
|
55
|
+
/**
|
|
56
|
+
* Gets a value from world storage.
|
|
57
|
+
*/
|
|
58
|
+
export declare function getWorldValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string): Promise<unknown | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* Gets all storage data for a player, empty when the player has none.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getPlayerStorage(components: Pick<CliComponents, 'fs' | 'logger'>, address: string): Promise<Record<string, unknown>>;
|
|
63
|
+
/**
|
|
64
|
+
* Sets a value in world storage.
|
|
65
|
+
*/
|
|
66
|
+
export declare function setWorldValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string, value: unknown): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Deletes a value from world storage.
|
|
69
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
70
|
+
*/
|
|
71
|
+
export declare function deleteWorldValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string): Promise<boolean>;
|
|
72
|
+
/**
|
|
73
|
+
* Gets a value from a player's storage.
|
|
74
|
+
*/
|
|
75
|
+
export declare function getPlayerValue(components: Pick<CliComponents, 'fs' | 'logger'>, address: string, key: string): Promise<unknown | undefined>;
|
|
76
|
+
/**
|
|
77
|
+
* Sets a value in a player's storage.
|
|
78
|
+
*/
|
|
79
|
+
export declare function setPlayerValue(components: Pick<CliComponents, 'fs' | 'logger'>, address: string, key: string, value: unknown): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Deletes a value from a player's storage.
|
|
82
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
83
|
+
*/
|
|
84
|
+
export declare function deletePlayerValue(components: Pick<CliComponents, 'fs' | 'logger'>, address: string, key: string): Promise<boolean>;
|