@dcl/sdk-commands 7.29.1-35862852104.commit-1f44e80 → 7.29.1-35901015152.commit-d1b7b96

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.
Files changed (70) hide show
  1. package/dist/commands/start/index.d.ts +0 -1
  2. package/dist/commands/start/index.js +6 -24
  3. package/dist/commands/start/index.js.map +1 -1
  4. package/dist/commands/start/server/routes.d.ts +1 -1
  5. package/dist/commands/start/server/routes.js +2 -6
  6. package/dist/commands/start/server/routes.js.map +1 -1
  7. package/dist/commands/start/utils.d.ts +0 -32
  8. package/dist/commands/start/utils.js +0 -72
  9. package/dist/commands/start/utils.js.map +1 -1
  10. package/dist/components/analytics.d.ts +1 -75
  11. package/dist/components/analytics.js +2 -3
  12. package/dist/components/analytics.js.map +1 -1
  13. package/dist/logic/bundle.js +0 -31
  14. package/dist/logic/bundle.js.map +1 -1
  15. package/dist/logic/config.d.ts +0 -1
  16. package/dist/logic/config.js +0 -7
  17. package/dist/logic/config.js.map +1 -1
  18. package/dist/logic/error.d.ts +1 -1
  19. package/dist/logic/error.js.map +1 -1
  20. package/dist/logic/exec.d.ts +0 -1
  21. package/dist/logic/exec.js +2 -2
  22. package/dist/logic/exec.js.map +1 -1
  23. package/dist/logic/lang.js +1 -1
  24. package/dist/logic/project-files.js +0 -2
  25. package/dist/logic/project-files.js.map +1 -1
  26. package/dist/logic/runtime-script.js +5 -9
  27. package/dist/logic/runtime-script.js.map +1 -1
  28. package/dist/logic/runtime-script.ts +6 -9
  29. package/dist/logic/scene-validations.d.ts +1 -8
  30. package/dist/logic/scene-validations.js.map +1 -1
  31. package/package.json +4 -4
  32. package/dist/commands/sdk-server-logs/index.d.ts +0 -24
  33. package/dist/commands/sdk-server-logs/index.js +0 -313
  34. package/dist/commands/sdk-server-logs/index.js.map +0 -1
  35. package/dist/commands/start/dcl-env.d.ts +0 -16
  36. package/dist/commands/start/dcl-env.js +0 -51
  37. package/dist/commands/start/dcl-env.js.map +0 -1
  38. package/dist/commands/start/multiplayer-server.d.ts +0 -35
  39. package/dist/commands/start/multiplayer-server.js +0 -244
  40. package/dist/commands/start/multiplayer-server.js.map +0 -1
  41. package/dist/commands/start/server/runtime-env.d.ts +0 -71
  42. package/dist/commands/start/server/runtime-env.js +0 -253
  43. package/dist/commands/start/server/runtime-env.js.map +0 -1
  44. package/dist/commands/start/server/storage-service.d.ts +0 -8
  45. package/dist/commands/start/server/storage-service.js +0 -156
  46. package/dist/commands/start/server/storage-service.js.map +0 -1
  47. package/dist/commands/storage/env.d.ts +0 -5
  48. package/dist/commands/storage/env.js +0 -86
  49. package/dist/commands/storage/env.js.map +0 -1
  50. package/dist/commands/storage/index.d.ts +0 -26
  51. package/dist/commands/storage/index.js +0 -142
  52. package/dist/commands/storage/index.js.map +0 -1
  53. package/dist/commands/storage/player.d.ts +0 -5
  54. package/dist/commands/storage/player.js +0 -143
  55. package/dist/commands/storage/player.js.map +0 -1
  56. package/dist/commands/storage/scene.d.ts +0 -5
  57. package/dist/commands/storage/scene.js +0 -105
  58. package/dist/commands/storage/scene.js.map +0 -1
  59. package/dist/commands/storage/shared.d.ts +0 -62
  60. package/dist/commands/storage/shared.js +0 -260
  61. package/dist/commands/storage/shared.js.map +0 -1
  62. package/dist/commands/storage/types.d.ts +0 -56
  63. package/dist/commands/storage/types.js +0 -23
  64. package/dist/commands/storage/types.js.map +0 -1
  65. package/dist/logic/auth-chain-headers.d.ts +0 -11
  66. package/dist/logic/auth-chain-headers.js +0 -25
  67. package/dist/logic/auth-chain-headers.js.map +0 -1
  68. package/dist/logic/lsd-realm.d.ts +0 -5
  69. package/dist/logic/lsd-realm.js +0 -28
  70. package/dist/logic/lsd-realm.js.map +0 -1
@@ -1,260 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createStorageInfo = exports.getStorageBaseUrl = exports.makeAuthenticatedRequest = exports.getAuthHeaders = exports.setupStorageCommand = exports.getLinkerDappOptions = exports.confirmAction = exports.buildStorageMetadata = exports.validateWorkspaceAndWorld = exports.isLocalStorageTarget = void 0;
7
- const fp_future_1 = __importDefault(require("fp-future"));
8
- const crypto_1 = require("@dcl/crypto");
9
- const crypto_2 = require("@dcl/crypto/dist/crypto");
10
- const eth_connect_1 = require("eth-connect");
11
- const readline_1 = __importDefault(require("readline"));
12
- const error_1 = require("../../logic/error");
13
- const account_1 = require("../../logic/account");
14
- const auth_chain_headers_1 = require("../../logic/auth-chain-headers");
15
- const routes_1 = require("../../linker-dapp/routes");
16
- const run_dapp_1 = require("../../run-dapp");
17
- const workspace_validations_1 = require("../../logic/workspace-validations");
18
- const scene_validations_1 = require("../../logic/scene-validations");
19
- const STORAGE_SERVER_ORG = 'https://storage.decentraland.org';
20
- /** True when the storage target is a local development server. Matches by exact hostname so a lookalike host (localhost.evil.com) is not treated as local. */
21
- const isLocalStorageTarget = (baseURL) => {
22
- try {
23
- const { hostname } = new URL(baseURL);
24
- return hostname === 'localhost' || hostname === '127.0.0.1';
25
- }
26
- catch {
27
- return false;
28
- }
29
- };
30
- exports.isLocalStorageTarget = isLocalStorageTarget;
31
- /** Validates the workspace and resolves the storage target (local server, a World, or a Genesis City scene by its base parcel). */
32
- const validateWorkspaceAndWorld = async (components, projectRoot, baseURL) => {
33
- await (0, workspace_validations_1.getValidWorkspace)(components, projectRoot);
34
- const sceneJson = await (0, scene_validations_1.getValidSceneJson)(components, projectRoot);
35
- const worldName = sceneJson.worldConfiguration?.name;
36
- const baseParcel = sceneJson.scene?.base;
37
- if (!(0, exports.isLocalStorageTarget)(baseURL) && !worldName && !baseParcel) {
38
- throw new error_1.CliError('STORAGE_MISSING_LOCATION', 'scene.json must define worldConfiguration.name (World) or scene.base (Genesis City parcel) to use storage on remote servers');
39
- }
40
- const resolvedBaseParcel = baseParcel ?? '0,0';
41
- const parcels = sceneJson.scene?.parcels ?? [resolvedBaseParcel];
42
- return { worldName, baseParcel: resolvedBaseParcel, parcels };
43
- };
44
- exports.validateWorkspaceAndWorld = validateWorkspaceAndWorld;
45
- /**
46
- * Builds metadata for server-side storage service requests (ADR-44 format)
47
- */
48
- const buildStorageMetadata = (worldName, baseParcel) => {
49
- const meta = {};
50
- if (worldName) {
51
- meta.realm = { serverName: worldName };
52
- meta.realmName = worldName;
53
- }
54
- meta.parcel = baseParcel;
55
- return JSON.stringify(meta);
56
- };
57
- exports.buildStorageMetadata = buildStorageMetadata;
58
- /**
59
- * Confirms an action with the user
60
- * Accepts: yes, y, no, n (case insensitive)
61
- */
62
- const confirmAction = async (message) => {
63
- return new Promise((resolve) => {
64
- const rl = readline_1.default.createInterface({
65
- input: process.stdin,
66
- output: process.stdout
67
- });
68
- rl.question(`${message} (Yes/No): `, (answer) => {
69
- rl.close();
70
- const normalized = answer.toLowerCase().trim();
71
- resolve(normalized === 'yes' || normalized === 'y');
72
- });
73
- });
74
- };
75
- exports.confirmAction = confirmAction;
76
- /**
77
- * Extracts linker dApp options from command arguments
78
- */
79
- const getLinkerDappOptions = (args) => {
80
- return {
81
- linkerPort: args['--port'],
82
- openBrowser: !args['--no-browser'],
83
- isHttps: !!args['--https']
84
- };
85
- };
86
- exports.getLinkerDappOptions = getLinkerDappOptions;
87
- /**
88
- * Common setup for server-side storage commands: validates action, workspace, and world configuration
89
- */
90
- const setupStorageCommand = async (components, projectRoot, action, targetArg, validActions) => {
91
- const { logger } = components;
92
- // Validate action
93
- if (!validActions.includes(action)) {
94
- throw new error_1.CliError('STORAGE_INVALID_ACTION', `Invalid action '${action}'. Use: ${validActions.join(', ')}`);
95
- }
96
- // Get base URL
97
- const baseURL = (0, exports.getStorageBaseUrl)(targetArg);
98
- const { worldName, baseParcel, parcels } = await (0, exports.validateWorkspaceAndWorld)(components, projectRoot, baseURL);
99
- if ((0, exports.isLocalStorageTarget)(baseURL)) {
100
- logger.info('Local development mode (no world configuration required)');
101
- }
102
- else if (worldName) {
103
- logger.info(`World: ${worldName}`);
104
- }
105
- else {
106
- logger.info(`Genesis City scene at parcel ${baseParcel}`);
107
- }
108
- return { baseURL, worldName, baseParcel, parcels };
109
- };
110
- exports.setupStorageCommand = setupStorageCommand;
111
- /**
112
- * Sets up routes for the linker dApp specific to server-side storage operations
113
- */
114
- const setStorageRoutes = (router, components, awaitResponse, deployCallback) => {
115
- const { logger } = components;
116
- const resolveLinkerPromise = () => setTimeout(() => awaitResponse.resolve(), 100);
117
- const rejectLinkerPromise = (e) => setTimeout(() => awaitResponse.reject(e), 100);
118
- router.post('/api/storage', async (ctx) => {
119
- const value = (await ctx.request.json());
120
- if (!value.address || !value.authChain) {
121
- const errorMessage = `Invalid payload: ${Object.keys(value).join(' - ')}`;
122
- logger.error(errorMessage);
123
- resolveLinkerPromise();
124
- return { status: 400, body: { success: false, error: errorMessage } };
125
- }
126
- try {
127
- const result = await deployCallback(value);
128
- resolveLinkerPromise();
129
- if (!result.success) {
130
- return { status: 400, body: { success: false, error: result.error } };
131
- }
132
- return { body: { success: true, data: result.data } };
133
- }
134
- catch (e) {
135
- rejectLinkerPromise(e);
136
- return { status: 400, body: { success: false, error: e.message } };
137
- }
138
- });
139
- return router;
140
- };
141
- /**
142
- * Gets authentication (private key or linker dApp) and executes callback with signed headers
143
- */
144
- const getAuthHeaders = async (components, awaitResponse, info, linkOptions, deployCallback) => {
145
- // If DCL_PRIVATE_KEY is set, sign directly without the linker dapp
146
- if (process.env.DCL_PRIVATE_KEY) {
147
- const wallet = (0, account_1.createWallet)(process.env.DCL_PRIVATE_KEY);
148
- const authChain = crypto_1.Authenticator.createSimpleAuthChain(info.rootCID, wallet.address, (0, crypto_2.ethSign)((0, eth_connect_1.hexToBytes)(wallet.privateKey), info.rootCID));
149
- const linkerResponse = { authChain, address: wallet.address };
150
- await deployCallback(linkerResponse);
151
- awaitResponse.resolve();
152
- return {};
153
- }
154
- // Use linker dapp for signing
155
- const { router: commonRouter } = (0, routes_1.setRoutes)(components, {
156
- storageType: info.storageType,
157
- key: info.key,
158
- value: info.value,
159
- address: info.address,
160
- world: info.world,
161
- action: info.action,
162
- targetUrl: info.targetUrl,
163
- rootCID: info.rootCID,
164
- baseParcel: info.baseParcel,
165
- parcels: info.parcels,
166
- skipValidations: info.skipValidations,
167
- debug: info.debug,
168
- isWorld: info.isWorld,
169
- title: 'Storage Service',
170
- description: 'Manage storage in the Decentraland Storage Service'
171
- });
172
- const router = setStorageRoutes(commonRouter, components, awaitResponse, deployCallback);
173
- const actionLabel = info.action === 'delete' || info.action === 'clear' ? 'delete' : 'deploy';
174
- components.logger.info(`You need to sign the content before the ${actionLabel}:`);
175
- const { program } = await (0, run_dapp_1.runDapp)(components, router, { ...linkOptions, uri: `/` });
176
- return { program };
177
- };
178
- exports.getAuthHeaders = getAuthHeaders;
179
- /**
180
- * Makes an authenticated request to the server-side storage service
181
- */
182
- const makeAuthenticatedRequest = async (components, info, linkOptions, method, url, body, additionalHeaders) => {
183
- const { fetch: fetchComponent } = components;
184
- const awaitResponse = (0, fp_future_1.default)();
185
- let operationResult = { success: false, error: 'Operation not completed' };
186
- const { program } = await (0, exports.getAuthHeaders)(components, awaitResponse, info, linkOptions, async (linkerResponse) => {
187
- const authHeaders = (0, auth_chain_headers_1.createAuthChainHeaders)(linkerResponse.authChain, info.timestamp, info.metadata);
188
- const headers = {
189
- ...authHeaders,
190
- ...additionalHeaders
191
- };
192
- if (method !== 'GET') {
193
- headers['Content-Type'] = 'application/json';
194
- }
195
- const res = await fetchComponent.fetch(url, {
196
- method,
197
- headers,
198
- body: body ? JSON.stringify(body) : undefined
199
- });
200
- if (res.ok) {
201
- try {
202
- const text = await res.text();
203
- const responseData = text ? JSON.parse(text) : {};
204
- operationResult = { success: true, data: responseData.value };
205
- }
206
- catch {
207
- operationResult = { success: true };
208
- }
209
- }
210
- else {
211
- const errorText = await res.text();
212
- operationResult = { success: false, error: errorText };
213
- }
214
- return operationResult;
215
- });
216
- try {
217
- await awaitResponse;
218
- }
219
- finally {
220
- void program?.stop();
221
- }
222
- return operationResult;
223
- };
224
- exports.makeAuthenticatedRequest = makeAuthenticatedRequest;
225
- /**
226
- * Gets the base URL for server-side storage service operations
227
- */
228
- const getStorageBaseUrl = (targetArg) => {
229
- return targetArg || STORAGE_SERVER_ORG;
230
- };
231
- exports.getStorageBaseUrl = getStorageBaseUrl;
232
- /**
233
- * Creates storage info object for signing server-side storage service requests
234
- */
235
- const createStorageInfo = (storageType, action, url, worldName, baseParcel, parcels, key, value, address) => {
236
- const timestamp = String(Date.now());
237
- const metadata = (0, exports.buildStorageMetadata)(worldName, baseParcel);
238
- const pathname = new URL(url).pathname;
239
- const method = action === 'get' ? 'get' : action === 'set' ? 'put' : 'delete';
240
- const payload = [method, pathname, timestamp, metadata].join(':').toLowerCase();
241
- return {
242
- storageType,
243
- key,
244
- value,
245
- address,
246
- world: worldName,
247
- action,
248
- targetUrl: url,
249
- rootCID: payload,
250
- timestamp,
251
- metadata,
252
- baseParcel,
253
- parcels,
254
- skipValidations: true,
255
- debug: !!process.env.DEBUG,
256
- isWorld: !!worldName
257
- };
258
- };
259
- exports.createStorageInfo = createStorageInfo;
260
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/storage/shared.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import { Result } from 'arg';
2
- import { CliComponents } from '../../components';
3
- export declare const args: {
4
- '--help': BooleanConstructor;
5
- '-h': string;
6
- '--dir': StringConstructor;
7
- '--target': StringConstructor;
8
- '-t': string;
9
- '--port': NumberConstructor;
10
- '-p': string;
11
- '--https': BooleanConstructor;
12
- '--no-browser': BooleanConstructor;
13
- '-b': string;
14
- '--value': StringConstructor;
15
- '-v': string;
16
- '--address': StringConstructor;
17
- '-a': string;
18
- '--confirm': BooleanConstructor;
19
- '-c': string;
20
- };
21
- export interface Options {
22
- args: Result<typeof args>;
23
- components: CliComponents;
24
- }
25
- export type StorageType = 'env' | 'scene' | 'player';
26
- export interface StorageInfo {
27
- storageType?: StorageType;
28
- key?: string;
29
- value?: string;
30
- address?: string;
31
- world?: string;
32
- action: 'get' | 'set' | 'delete' | 'clear';
33
- targetUrl: string;
34
- rootCID: string;
35
- timestamp: string;
36
- metadata: string;
37
- baseParcel: string;
38
- parcels: string[];
39
- skipValidations: boolean;
40
- debug: boolean;
41
- isWorld: boolean;
42
- }
43
- export interface LinkerOptions {
44
- linkerPort?: number;
45
- openBrowser: boolean;
46
- isHttps: boolean;
47
- }
48
- export interface AuthHeaders {
49
- [key: string]: string;
50
- }
51
- export interface ApiResponse {
52
- ok: boolean;
53
- status: number;
54
- text: () => Promise<string>;
55
- json: () => Promise<any>;
56
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.args = void 0;
4
- const args_1 = require("../../logic/args");
5
- exports.args = (0, args_1.declareArgs)({
6
- '--help': Boolean,
7
- '-h': '--help',
8
- '--dir': String,
9
- '--target': String,
10
- '-t': '--target',
11
- '--port': Number,
12
- '-p': '--port',
13
- '--https': Boolean,
14
- '--no-browser': Boolean,
15
- '-b': '--no-browser',
16
- '--value': String,
17
- '-v': '--value',
18
- '--address': String,
19
- '-a': '--address',
20
- '--confirm': Boolean,
21
- '-c': '--confirm'
22
- });
23
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/storage/types.ts"],"names":[],"mappings":";;;AAEA,2CAA8C;AAEjC,QAAA,IAAI,GAAG,IAAA,kBAAW,EAAC;IAC9B,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,OAAO;IACvB,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,WAAW;CAClB,CAAC,CAAA"}
@@ -1,11 +0,0 @@
1
- import { AuthChain } from '@dcl/crypto';
2
- /**
3
- * Creates HTTP headers from an auth chain following ADR-44 (Signed Fetch) format.
4
- * Used for authenticated requests to Decentraland services.
5
- *
6
- * @param authChain - The authentication chain from the linker dApp or wallet signing
7
- * @param timestamp - Unix timestamp of the request
8
- * @param metadata - JSON string with request metadata (e.g., { key, value, world })
9
- * @returns Record of HTTP headers to include in the request
10
- */
11
- export declare function createAuthChainHeaders(authChain: AuthChain, timestamp: string, metadata: string): Record<string, string>;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAuthChainHeaders = createAuthChainHeaders;
4
- const AUTH_CHAIN_HEADER_PREFIX = 'x-identity-auth-chain-';
5
- const AUTH_TIMESTAMP_HEADER = 'x-identity-timestamp';
6
- const AUTH_METADATA_HEADER = 'x-identity-metadata';
7
- /**
8
- * Creates HTTP headers from an auth chain following ADR-44 (Signed Fetch) format.
9
- * Used for authenticated requests to Decentraland services.
10
- *
11
- * @param authChain - The authentication chain from the linker dApp or wallet signing
12
- * @param timestamp - Unix timestamp of the request
13
- * @param metadata - JSON string with request metadata (e.g., { key, value, world })
14
- * @returns Record of HTTP headers to include in the request
15
- */
16
- function createAuthChainHeaders(authChain, timestamp, metadata) {
17
- const headers = {};
18
- authChain.forEach((link, i) => {
19
- headers[AUTH_CHAIN_HEADER_PREFIX + i] = JSON.stringify(link);
20
- });
21
- headers[AUTH_TIMESTAMP_HEADER] = timestamp;
22
- headers[AUTH_METADATA_HEADER] = metadata;
23
- return headers;
24
- }
25
- //# sourceMappingURL=auth-chain-headers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-chain-headers.js","sourceRoot":"","sources":["../../src/logic/auth-chain-headers.ts"],"names":[],"mappings":";;AAeA,wDAeC;AA5BD,MAAM,wBAAwB,GAAG,wBAAwB,CAAA;AACzD,MAAM,qBAAqB,GAAG,sBAAsB,CAAA;AACpD,MAAM,oBAAoB,GAAG,qBAAqB,CAAA;AAElD;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,SAAoB,EACpB,SAAiB,EACjB,QAAgB;IAEhB,MAAM,OAAO,GAA2B,EAAE,CAAA;IAE1C,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5B,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;IAC1C,OAAO,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAA;IAExC,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,5 +0,0 @@
1
- /** Pulse's `MaxRealmLength`. */
2
- export declare const PULSE_MAX_REALM_LENGTH = 255;
3
- /** The scene entity id the preview server already serves, reused verbatim. */
4
- export declare function lsdPreviewSceneId(projectRoot: string): string;
5
- export declare function lsdRealmKey(projectRoot: string): string;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PULSE_MAX_REALM_LENGTH = void 0;
4
- exports.lsdPreviewSceneId = lsdPreviewSceneId;
5
- exports.lsdRealmKey = lsdRealmKey;
6
- // Local Scene Development identity and the Pulse realm key.
7
- // Pulse matches realms by exact string and nothing is exchanged, so a derivation
8
- // that drifts is invisible: peers just never see each other.
9
- // Contract and caveats: docs/lsd-identity-and-pulse-realm.md
10
- const crypto_1 = require("crypto");
11
- const project_files_1 = require("./project-files");
12
- /** Pulse's `MaxRealmLength`. */
13
- exports.PULSE_MAX_REALM_LENGTH = 255;
14
- const LSD_REALM_PREFIX = 'lsd:';
15
- const LSD_REALM_HASHED_PREFIX = 'lsd:sha256:';
16
- /** The scene entity id the preview server already serves, reused verbatim. */
17
- function lsdPreviewSceneId(projectRoot) {
18
- return (0, project_files_1.b64HashingFunction)(projectRoot);
19
- }
20
- function lsdRealmKey(projectRoot) {
21
- const previewSceneId = lsdPreviewSceneId(projectRoot);
22
- const realmKey = LSD_REALM_PREFIX + previewSceneId;
23
- // hashed, not truncated: every party must land on the same string unprompted
24
- if (realmKey.length <= exports.PULSE_MAX_REALM_LENGTH)
25
- return realmKey;
26
- return LSD_REALM_HASHED_PREFIX + (0, crypto_1.createHash)('sha256').update(previewSceneId).digest('hex');
27
- }
28
- //# sourceMappingURL=lsd-realm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lsd-realm.js","sourceRoot":"","sources":["../../src/logic/lsd-realm.ts"],"names":[],"mappings":";;;AAcA,8CAEC;AAED,kCAQC;AA1BD,4DAA4D;AAC5D,iFAAiF;AACjF,6DAA6D;AAC7D,6DAA6D;AAC7D,mCAAmC;AACnC,mDAAoD;AAEpD,gCAAgC;AACnB,QAAA,sBAAsB,GAAG,GAAG,CAAA;AAEzC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAC/B,MAAM,uBAAuB,GAAG,aAAa,CAAA;AAE7C,8EAA8E;AAC9E,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAA,kCAAkB,EAAC,WAAW,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,WAAW,CAAC,WAAmB;IAC7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,gBAAgB,GAAG,cAAc,CAAA;IAElD,6EAA6E;IAC7E,IAAI,QAAQ,CAAC,MAAM,IAAI,8BAAsB;QAAE,OAAO,QAAQ,CAAA;IAE9D,OAAO,uBAAuB,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5F,CAAC"}