@dcl/sdk-commands 7.22.5-24836126953.commit-ddc8da1 → 7.22.5

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 (71) hide show
  1. package/dist/commands/deploy/index.d.ts +1 -0
  2. package/dist/commands/deploy/index.js +93 -8
  3. package/dist/commands/deploy/index.js.map +1 -1
  4. package/dist/commands/deploy/utils.d.ts +49 -2
  5. package/dist/commands/deploy/utils.js +211 -16
  6. package/dist/commands/deploy/utils.js.map +1 -1
  7. package/dist/commands/start/index.d.ts +0 -1
  8. package/dist/commands/start/index.js +3 -22
  9. package/dist/commands/start/index.js.map +1 -1
  10. package/dist/commands/start/server/routes.js +0 -2
  11. package/dist/commands/start/server/routes.js.map +1 -1
  12. package/dist/commands/start/types.d.ts +0 -3
  13. package/dist/commands/start/utils.d.ts +0 -34
  14. package/dist/commands/start/utils.js +0 -104
  15. package/dist/commands/start/utils.js.map +1 -1
  16. package/dist/components/analytics.d.ts +2 -70
  17. package/dist/components/analytics.js +2 -3
  18. package/dist/components/analytics.js.map +1 -1
  19. package/dist/linker-dapp/routes.d.ts +1 -0
  20. package/dist/logic/bundle.js +2 -37
  21. package/dist/logic/bundle.js.map +1 -1
  22. package/dist/logic/config.d.ts +0 -1
  23. package/dist/logic/config.js +0 -7
  24. package/dist/logic/config.js.map +1 -1
  25. package/dist/logic/dcl-ignore.js +2 -1
  26. package/dist/logic/dcl-ignore.js.map +1 -1
  27. package/dist/logic/error.d.ts +1 -1
  28. package/dist/logic/error.js.map +1 -1
  29. package/dist/logic/exec.d.ts +0 -1
  30. package/dist/logic/exec.js +2 -2
  31. package/dist/logic/exec.js.map +1 -1
  32. package/dist/logic/lang.js +1 -1
  33. package/dist/logic/project-validations.d.ts +13 -0
  34. package/dist/logic/project-validations.js +29 -2
  35. package/dist/logic/project-validations.js.map +1 -1
  36. package/dist/logic/scene-validations.d.ts +1 -8
  37. package/dist/logic/scene-validations.js.map +1 -1
  38. package/package.json +5 -5
  39. package/dist/commands/sdk-server-logs/index.d.ts +0 -24
  40. package/dist/commands/sdk-server-logs/index.js +0 -313
  41. package/dist/commands/sdk-server-logs/index.js.map +0 -1
  42. package/dist/commands/start/hammurabi-server.d.ts +0 -19
  43. package/dist/commands/start/hammurabi-server.js +0 -78
  44. package/dist/commands/start/hammurabi-server.js.map +0 -1
  45. package/dist/commands/start/server/runtime-env.d.ts +0 -71
  46. package/dist/commands/start/server/runtime-env.js +0 -226
  47. package/dist/commands/start/server/runtime-env.js.map +0 -1
  48. package/dist/commands/start/server/storage-service.d.ts +0 -8
  49. package/dist/commands/start/server/storage-service.js +0 -156
  50. package/dist/commands/start/server/storage-service.js.map +0 -1
  51. package/dist/commands/storage/env.d.ts +0 -5
  52. package/dist/commands/storage/env.js +0 -86
  53. package/dist/commands/storage/env.js.map +0 -1
  54. package/dist/commands/storage/index.d.ts +0 -26
  55. package/dist/commands/storage/index.js +0 -142
  56. package/dist/commands/storage/index.js.map +0 -1
  57. package/dist/commands/storage/player.d.ts +0 -5
  58. package/dist/commands/storage/player.js +0 -143
  59. package/dist/commands/storage/player.js.map +0 -1
  60. package/dist/commands/storage/scene.d.ts +0 -5
  61. package/dist/commands/storage/scene.js +0 -105
  62. package/dist/commands/storage/scene.js.map +0 -1
  63. package/dist/commands/storage/shared.d.ts +0 -62
  64. package/dist/commands/storage/shared.js +0 -249
  65. package/dist/commands/storage/shared.js.map +0 -1
  66. package/dist/commands/storage/types.d.ts +0 -56
  67. package/dist/commands/storage/types.js +0 -23
  68. package/dist/commands/storage/types.js.map +0 -1
  69. package/dist/logic/auth-chain-headers.d.ts +0 -11
  70. package/dist/logic/auth-chain-headers.js +0 -25
  71. package/dist/logic/auth-chain-headers.js.map +0 -1
@@ -27,6 +27,7 @@ export declare const args: {
27
27
  '--port': NumberConstructor;
28
28
  '-p': string;
29
29
  '--programmatic': BooleanConstructor;
30
+ '--multi-scene': BooleanConstructor;
30
31
  };
31
32
  export declare function help(options: Options): void;
32
33
  export declare function main(options: Options): Promise<ProgrammaticDeployResult | void>;
@@ -39,7 +39,8 @@ exports.args = (0, args_1.declareArgs)({
39
39
  '-b': '--no-browser',
40
40
  '--port': Number,
41
41
  '-p': '--port',
42
- '--programmatic': Boolean
42
+ '--programmatic': Boolean,
43
+ '--multi-scene': Boolean
43
44
  });
44
45
  function help(options) {
45
46
  options.components.logger.log(`
@@ -54,6 +55,7 @@ function help(options) {
54
55
  --skip-build Skip build before deploy
55
56
  --skip-validations Skip permissions verifications on the client side when deploying content
56
57
  --programmatic Enable programmatic mode - returns a promise that resolves when deployment completes
58
+ --multi-scene Deploy alongside existing scenes in a world (additive deploy, no deletion)
57
59
 
58
60
  Example:
59
61
  - Deploy your scene:
@@ -72,6 +74,9 @@ async function main(options) {
72
74
  const skipBuild = options.args['--skip-build'];
73
75
  const linkerPort = options.args['--port'];
74
76
  const isProgrammatic = options.args['--programmatic'];
77
+ const multiScene = !!options.args['--multi-scene'];
78
+ const autoYes = !!options.args['--yes'];
79
+ const targetContent = options.args['--target-content'];
75
80
  if (workspace.projects.length !== 1) {
76
81
  throw new error_1.CliError('DEPLOY_WORKSPACE_NOT_SUPPORTED', i18next_1.default.t('errors.deploy.workspace_not_supported'));
77
82
  }
@@ -85,14 +90,56 @@ async function main(options) {
85
90
  const sceneJson = { sdkVersion, ...(await (0, scene_validations_1.getValidSceneJson)(options.components, projectRoot, { log: true })) };
86
91
  const coords = (0, scene_validations_1.getBaseCoords)(sceneJson);
87
92
  const isWorld = (0, utils_1.sceneHasWorldCfg)(sceneJson);
93
+ const worldName = sceneJson.worldConfiguration?.name;
94
+ if (isWorld && !targetContent && !options.args['--target']) {
95
+ throw new error_1.CliError('DEPLOY_MISSING_TARGET_CONTENT', `Your scene.json has worldConfiguration set (world: "${worldName}"). ` +
96
+ `You must specify the worlds content server using --target-content.\n` +
97
+ `Example: sdk-commands deploy --target-content https://worlds-content-server.decentraland.org`);
98
+ }
88
99
  const trackProps = {
89
100
  projectHash: (0, project_files_1.b64HashingFunction)(projectRoot),
90
101
  coords,
91
102
  isWorld
92
103
  };
93
104
  const packageJson = await (0, project_files_1.getPackageJson)(options.components, projectRoot);
105
+ // NOTE: keeping 👇 for query backward-compatibility
94
106
  const dependencies = Array.from(new Set([...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})]));
107
+ const dependencyVersions = {};
108
+ for (const dep of dependencies) {
109
+ dependencyVersions[dep] = await (0, config_1.getInstalledPackageVersion)(options.components, dep, projectRoot);
110
+ }
95
111
  options.components.analytics.track('Scene deploy started', trackProps);
112
+ let needsDelete = false;
113
+ if (isWorld && !multiScene && worldName) {
114
+ try {
115
+ const existingScenes = await (0, utils_1.fetchWorldScenes)(options.components.logger, worldName, targetContent);
116
+ if (existingScenes.length > 0) {
117
+ const scenesOnOtherParcels = (0, utils_1.getScenesOnOtherParcels)(existingScenes, sceneJson.scene.parcels);
118
+ if (scenesOnOtherParcels.length > 0) {
119
+ options.components.logger.warn(`World "${worldName}" has ${scenesOnOtherParcels.length} other scene(s) that will be removed:`);
120
+ for (const scene of scenesOnOtherParcels) {
121
+ const title = scene.entity?.metadata?.display?.title || 'Untitled';
122
+ const parcels = scene.parcels?.join(', ') || 'unknown parcels';
123
+ options.components.logger.log(` - "${title}" at parcels ${parcels}`);
124
+ }
125
+ options.components.logger.log('');
126
+ options.components.logger.warn('Deploying without --multi-scene will DELETE all existing scenes in world first.');
127
+ if (!autoYes) {
128
+ const confirmed = await (0, utils_1.promptUser)('Continue? (y/N) ');
129
+ if (!confirmed) {
130
+ throw new error_1.CliError('DEPLOY_CANCELLED', 'Deployment cancelled by user.');
131
+ }
132
+ }
133
+ needsDelete = true;
134
+ }
135
+ }
136
+ }
137
+ catch (e) {
138
+ if (e instanceof error_1.CliError)
139
+ throw e;
140
+ options.components.logger.warn(`Could not check existing world scenes: ${e.message}`);
141
+ }
142
+ }
96
143
  if (!skipBuild) {
97
144
  await (0, build_1.buildScene)({ ...options, args: { '--dir': projectRoot, '--watch': false, '--production': true, _: [] } }, project);
98
145
  }
@@ -107,16 +154,14 @@ async function main(options) {
107
154
  files: contentFiles,
108
155
  metadata: sceneJson
109
156
  });
110
- // Signing message
111
157
  const messageToSign = entityId;
112
- // Start the linker dapp and wait for the user to sign in (linker response).
113
- // And then close the program
158
+ const deleteScenesFromWorldPayload = needsDelete && worldName ? (0, utils_1.buildDeleteScenesFromWorldPayload)(worldName) : undefined;
114
159
  const awaitResponse = (0, fp_future_1.default)();
115
160
  const { program } = await (0, utils_1.getAddressAndSignature)(options.components, awaitResponse, messageToSign, sceneJson, files, !!options.args['--skip-validations'] || !!options.args['--target'] || !!options.args['--target-content'], {
116
161
  openBrowser,
117
162
  linkerPort,
118
163
  isHttps: !!options.args['--https']
119
- }, deployEntity);
164
+ }, deployEntity, deleteScenesFromWorldPayload, targetContent, multiScene);
120
165
  // Programmatic mode early return
121
166
  if (isProgrammatic) {
122
167
  return {
@@ -139,8 +184,50 @@ async function main(options) {
139
184
  }
140
185
  async function deployEntity(linkerResponse) {
141
186
  const { authChain, chainId } = linkerResponse;
187
+ if (isWorld && worldName && targetContent && linkerResponse.address) {
188
+ options.components.logger.log(`[DEPLOY] Checking permissions for wallet ${linkerResponse.address}...`);
189
+ try {
190
+ const permissionCheck = await (0, utils_1.checkWorldDeploymentPermission)(options.components.logger, worldName, linkerResponse.address, targetContent, sceneJson.scene.parcels);
191
+ if (!permissionCheck.allowed) {
192
+ const deniedMsg = permissionCheck.deniedParcels?.length
193
+ ? `\nYou don't have permission for parcels: ${permissionCheck.deniedParcels.join(', ')}.`
194
+ : '';
195
+ throw new error_1.CliError('DEPLOY_NO_PERMISSION', `Wallet ${linkerResponse.address} does not have permission to deploy to world "${worldName}".${deniedMsg}\n` +
196
+ `Contact the world owner to grant deployment permissions.`);
197
+ }
198
+ options.components.logger.log(`[DEPLOY] Permissions verified.`);
199
+ }
200
+ catch (e) {
201
+ if (e instanceof error_1.CliError)
202
+ throw e;
203
+ options.components.logger.warn(`Could not verify deployment permissions: ${e.message}`);
204
+ }
205
+ }
142
206
  // Uploading data
143
207
  const { client, url } = await (0, utils_1.getCatalyst)(chainId, options.args['--target'], options.args['--target-content']);
208
+ if (needsDelete && worldName && !linkerResponse.deleteSignature) {
209
+ throw new error_1.CliError('DEPLOY_DELETE_FAILED', `Cannot delete existing scenes from "${worldName}": missing signature for deleting the scenes.`);
210
+ }
211
+ if (needsDelete && worldName && linkerResponse.deleteSignature) {
212
+ options.components.logger.info(`[DEPLOY] deleting scenes for "${worldName}"`);
213
+ try {
214
+ const deleteResponse = await (0, utils_1.deleteWorldScenes)(options.components, worldName, linkerResponse.deleteSignature, targetContent);
215
+ if (deleteResponse.ok) {
216
+ options.components.logger.info(`[DEPLOY] existing scenes for "${worldName} deleted successfully"`);
217
+ }
218
+ else {
219
+ const errorText = await deleteResponse.text();
220
+ options.components.logger.info(`[DEPLOY] DELETE FAILED: status=${deleteResponse.status} body=${errorText}`);
221
+ throw new error_1.CliError('DEPLOY_DELETE_FAILED', `Failed to delete existing scenes from "${worldName}" (status ${deleteResponse.status}): ${errorText}\n`);
222
+ }
223
+ }
224
+ catch (e) {
225
+ if (e instanceof error_1.CliError)
226
+ throw e;
227
+ throw new error_1.CliError('DEPLOY_DELETE_FAILED', `Error deleting existing scenes from "${worldName}": ${e.message}\n` +
228
+ `Hint: Use --multi-scene to deploy alongside existing scenes without deleting them.`);
229
+ }
230
+ }
144
231
  (0, beautiful_logs_1.printProgressInfo)(options.components.logger, `Uploading data to: ${url}...`);
145
232
  const deployData = { entityId, files: entityFiles, authChain };
146
233
  const position = sceneJson.scene.base;
@@ -149,9 +236,6 @@ async function main(options) {
149
236
  const domain = chainId === schemas_1.ChainId.ETHEREUM_MAINNET ? 'https://play.decentraland.org' : 'https://play.decentraland.zone';
150
237
  const sceneUrl = `${domain}/?NETWORK=${network}&position=${position}${worldRealm}`;
151
238
  try {
152
- options.components.logger.info(`Address: ${linkerResponse.address}`);
153
- options.components.logger.info(`AuthChain: ${linkerResponse.authChain}`);
154
- options.components.logger.info(`Network: ${(0, schemas_1.getChainName)(linkerResponse.chainId)}`);
155
239
  const response = (await client.deploy(deployData, {
156
240
  timeout: 600000
157
241
  }));
@@ -172,6 +256,7 @@ async function main(options) {
172
256
  worldName: sceneJson.worldConfiguration?.name,
173
257
  isPortableExperience: !!sceneJson.isPortableExperience,
174
258
  dependencies,
259
+ dependencyVersions,
175
260
  serverlessMultiplayer: trackFeatures.serverlessMultiplayer
176
261
  });
177
262
  if (!isWorld) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/deploy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/deploy/index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,9 @@ export declare function getCatalyst(chainId?: ChainId, target?: string, targetCo
10
10
  client: ContentClient;
11
11
  url: string;
12
12
  }>;
13
- export declare function getAddressAndSignature(components: CliComponents, awaitResponse: IFuture<void>, messageToSign: string, scene: Scene, files: IFile[], skipValidations: boolean, linkOptions: Omit<dAppOptions, 'uri'>, deployCallback: (response: LinkerResponse) => Promise<void>): Promise<{
13
+ export declare function buildDeleteScenesFromWorldPayload(worldName: string): string;
14
+ export declare function deleteWorldScenes(components: Pick<CliComponents, 'logger'>, worldName: string, deleteSignature: string, targetContent?: string): Promise<Response>;
15
+ export declare function getAddressAndSignature(components: CliComponents, awaitResponse: IFuture<void>, messageToSign: string, scene: Scene, files: IFile[], skipValidations: boolean, linkOptions: Omit<dAppOptions, 'uri'>, deployCallback: (response: LinkerResponse) => Promise<void>, deleteScenesFromWorldPayload?: string, targetContent?: string, multiScene?: boolean): Promise<{
14
16
  program?: Lifecycle.ComponentBasedProgram<unknown>;
15
17
  }>;
16
18
  export declare function sceneHasWorldCfg(scene: Scene): boolean;
@@ -27,8 +29,11 @@ export interface SceneInfo {
27
29
  isPortableExperience: boolean;
28
30
  isWorld: boolean;
29
31
  world?: string;
32
+ deleteScenesFromWorldPayload?: string;
33
+ targetContent?: string;
34
+ multiScene?: boolean;
30
35
  }
31
- export declare function getSceneInfo(components: Pick<CliComponents, 'config'>, scene: Scene, rootCID: string, skipValidations: boolean): Promise<{
36
+ export declare function getSceneInfo(components: Pick<CliComponents, 'config'>, scene: Scene, rootCID: string, skipValidations: boolean, deleteScenesFromWorldPayload?: string, targetContent?: string, multiScene?: boolean): Promise<{
32
37
  baseParcel: string;
33
38
  parcels: string[];
34
39
  rootCID: string;
@@ -41,4 +46,46 @@ export declare function getSceneInfo(components: Pick<CliComponents, 'config'>,
41
46
  isPortableExperience: boolean;
42
47
  isWorld: boolean;
43
48
  world: string | undefined;
49
+ deleteScenesFromWorldPayload: string | undefined;
50
+ targetContent: string | undefined;
51
+ multiScene: boolean | undefined;
44
52
  }>;
53
+ export interface WorldScene {
54
+ entityId: string;
55
+ parcels?: string[];
56
+ entity?: {
57
+ metadata?: {
58
+ display?: {
59
+ title?: string;
60
+ };
61
+ };
62
+ };
63
+ }
64
+ export declare function getScenesOnOtherParcels(existingScenes: WorldScene[], deployingParcels: string[]): WorldScene[];
65
+ export declare function fetchWorldScenes(logger: {
66
+ info: (msg: string) => void;
67
+ }, worldName: string, targetContent?: string): Promise<WorldScene[]>;
68
+ export declare function promptUser(question: string): Promise<boolean>;
69
+ interface WorldPermissionsResponse {
70
+ permissions: {
71
+ deployment: {
72
+ type: string;
73
+ wallets: string[];
74
+ };
75
+ };
76
+ owner?: string;
77
+ summary?: Record<string, {
78
+ permission: string;
79
+ world_wide: boolean;
80
+ parcel_count: number;
81
+ }[]>;
82
+ }
83
+ export declare function fetchWorldPermissions(worldName: string, targetContent: string): Promise<WorldPermissionsResponse>;
84
+ export declare function fetchParcelPermissions(worldName: string, address: string, targetContent: string): Promise<string[]>;
85
+ export declare function checkWorldDeploymentPermission(logger: {
86
+ info: (msg: string) => void;
87
+ }, worldName: string, address: string, targetContent: string, deployingParcels: string[]): Promise<{
88
+ allowed: boolean;
89
+ deniedParcels?: string[];
90
+ }>;
91
+ export {};
@@ -1,9 +1,51 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.getCatalyst = getCatalyst;
37
+ exports.buildDeleteScenesFromWorldPayload = buildDeleteScenesFromWorldPayload;
38
+ exports.deleteWorldScenes = deleteWorldScenes;
4
39
  exports.getAddressAndSignature = getAddressAndSignature;
5
40
  exports.sceneHasWorldCfg = sceneHasWorldCfg;
6
41
  exports.getSceneInfo = getSceneInfo;
42
+ exports.getScenesOnOtherParcels = getScenesOnOtherParcels;
43
+ exports.fetchWorldScenes = fetchWorldScenes;
44
+ exports.promptUser = promptUser;
45
+ exports.fetchWorldPermissions = fetchWorldPermissions;
46
+ exports.fetchParcelPermissions = fetchParcelPermissions;
47
+ exports.checkWorldDeploymentPermission = checkWorldDeploymentPermission;
48
+ const readline = __importStar(require("readline"));
7
49
  const schemas_1 = require("@dcl/schemas");
8
50
  const dcl_catalyst_client_1 = require("dcl-catalyst-client");
9
51
  const contracts_snapshots_1 = require("dcl-catalyst-client/dist/contracts-snapshots");
@@ -37,11 +79,17 @@ async function getCatalyst(chainId = schemas_1.ChainId.ETHEREUM_MAINNET, target,
37
79
  else {
38
80
  const catalysts = (0, contracts_snapshots_1.getCatalystServersFromCache)('mainnet');
39
81
  for (const catalyst of catalysts) {
40
- const client = (0, dcl_catalyst_client_1.createCatalystClient)({ url: catalyst.address, fetcher: (0, fetch_component_1.createFetchComponent)() });
41
- const isHealthy = (await client.fetchAbout()).healthy;
42
- if (isHealthy) {
43
- catalystClient = client;
44
- break;
82
+ try {
83
+ const client = (0, dcl_catalyst_client_1.createCatalystClient)({ url: catalyst.address, fetcher: (0, fetch_component_1.createFetchComponent)() });
84
+ const about = await client.fetchAbout();
85
+ if (about.healthy) {
86
+ catalystClient = client;
87
+ break;
88
+ }
89
+ }
90
+ catch (_) {
91
+ // Unreachable or invalid response — skip and try next catalyst
92
+ continue;
45
93
  }
46
94
  }
47
95
  }
@@ -50,16 +98,48 @@ async function getCatalyst(chainId = schemas_1.ChainId.ETHEREUM_MAINNET, target,
50
98
  url: (await catalystClient.fetchAbout()).lambdas.publicUrl
51
99
  };
52
100
  }
53
- async function getAddressAndSignature(components, awaitResponse, messageToSign, scene, files, skipValidations, linkOptions, deployCallback) {
101
+ function buildDeleteScenesFromWorldPayload(worldName) {
102
+ const encodedName = encodeURIComponent(worldName);
103
+ const path = `/entities/${encodedName}`;
104
+ const timestamp = String(Date.now());
105
+ const metadata = '{}';
106
+ return ['delete', path, timestamp, metadata].join(':').toLowerCase();
107
+ }
108
+ async function deleteWorldScenes(components, worldName, deleteSignature, targetContent) {
109
+ const { logger } = components;
110
+ const encodedName = encodeURIComponent(worldName);
111
+ const deleteUrl = `${targetContent}/entities/${encodedName}`;
112
+ const authChain = JSON.parse(deleteSignature);
113
+ const lastLink = authChain[authChain.length - 1];
114
+ const payloadParts = lastLink.payload.split(':');
115
+ const timestamp = payloadParts[2] || String(Date.now());
116
+ const metadata = payloadParts[3] || '{}';
117
+ const headers = {
118
+ 'x-identity-timestamp': timestamp,
119
+ 'x-identity-metadata': metadata
120
+ };
121
+ authChain.forEach((link, i) => {
122
+ headers[`x-identity-auth-chain-${i}`] = JSON.stringify(link);
123
+ });
124
+ const response = await fetch(deleteUrl, { method: 'DELETE', headers });
125
+ logger.info(`[DELETE] deleting world scenes status=${response.status}`);
126
+ return response;
127
+ }
128
+ async function getAddressAndSignature(components, awaitResponse, messageToSign, scene, files, skipValidations, linkOptions, deployCallback, deleteScenesFromWorldPayload, targetContent, multiScene) {
54
129
  if (process.env.DCL_PRIVATE_KEY) {
55
130
  const wallet = (0, account_1.createWallet)(process.env.DCL_PRIVATE_KEY);
56
131
  const authChain = crypto_2.Authenticator.createSimpleAuthChain(messageToSign, wallet.address, (0, crypto_1.ethSign)((0, eth_connect_1.hexToBytes)(wallet.privateKey), messageToSign));
57
- const linkerResponse = { authChain, address: wallet.address };
132
+ let deleteSignature;
133
+ if (deleteScenesFromWorldPayload) {
134
+ const deleteAuthChain = crypto_2.Authenticator.createSimpleAuthChain(deleteScenesFromWorldPayload, wallet.address, (0, crypto_1.ethSign)((0, eth_connect_1.hexToBytes)(wallet.privateKey), deleteScenesFromWorldPayload));
135
+ deleteSignature = JSON.stringify(deleteAuthChain);
136
+ }
137
+ const linkerResponse = { authChain, address: wallet.address, deleteSignature };
58
138
  await deployCallback(linkerResponse);
59
139
  awaitResponse.resolve();
60
140
  return {};
61
141
  }
62
- const sceneInfo = await getSceneInfo(components, scene, messageToSign, skipValidations);
142
+ const sceneInfo = await getSceneInfo(components, scene, messageToSign, skipValidations, deleteScenesFromWorldPayload, targetContent, multiScene);
63
143
  const { router: commonRouter } = (0, routes_1.setRoutes)(components, sceneInfo);
64
144
  const router = setDeployRoutes(commonRouter, components, awaitResponse, sceneInfo, files, deployCallback);
65
145
  components.logger.info('You need to sign the content before the deployment:');
@@ -68,7 +148,6 @@ async function getAddressAndSignature(components, awaitResponse, messageToSign,
68
148
  }
69
149
  function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, deployCallback) {
70
150
  const { logger } = components;
71
- // We need to wait so the linker-dapp can receive the response and show a nice message.
72
151
  const resolveLinkerPromise = () => setTimeout(() => awaitResponse.resolve(), 100);
73
152
  const rejectLinkerPromise = (e) => setTimeout(() => awaitResponse.reject(e), 100);
74
153
  let linkerResponse;
@@ -85,14 +164,50 @@ function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, de
85
164
  const network = chainId === schemas_1.ChainId.ETHEREUM_MAINNET ? 'mainnet' : 'sepolia';
86
165
  const value = await (0, catalyst_requests_1.getPointers)(components, pointer, network);
87
166
  const deployedToAll = new Set(value.map((c) => c.entityId)).size === 1;
88
- // Deployed to every catalyst, close the linker dapp and
89
- // exit the command automatically so the user dont have to.
90
167
  if (deployedToAll)
91
168
  resolveLinkerPromise();
92
169
  return {
93
170
  body: { catalysts: value }
94
171
  };
95
172
  });
173
+ router.get('/api/world-parcel-permissions/:address', async (ctx) => {
174
+ if (!sceneInfo.isWorld || !sceneInfo.world || !sceneInfo.targetContent) {
175
+ return { status: 400, body: { message: 'Not a world deployment or missing targetContent' } };
176
+ }
177
+ try {
178
+ const address = ctx.params.address;
179
+ const permissions = await fetchWorldPermissions(sceneInfo.world, sceneInfo.targetContent);
180
+ const lowerAddress = address.toLowerCase();
181
+ const allGranted = sceneInfo.parcels.map((p) => {
182
+ const [x, y] = p.split(',');
183
+ return { x: parseInt(x, 10), y: parseInt(y, 10), isUpdateAuthorized: true };
184
+ });
185
+ if (permissions.owner?.toLowerCase() === lowerAddress) {
186
+ return { body: { authorizations: allGranted, worldWidePermission: true } };
187
+ }
188
+ const walletSummary = permissions.summary?.[lowerAddress];
189
+ const deploymentSummary = walletSummary?.find((s) => s.permission === 'deployment');
190
+ const hasWorldWide = deploymentSummary?.world_wide ?? false;
191
+ if (hasWorldWide) {
192
+ return { body: { authorizations: allGranted, worldWidePermission: true } };
193
+ }
194
+ const allowedParcels = await fetchParcelPermissions(sceneInfo.world, address, sceneInfo.targetContent);
195
+ const allowedSet = new Set(allowedParcels);
196
+ return {
197
+ body: {
198
+ authorizations: sceneInfo.parcels.map((p) => {
199
+ const [x, y] = p.split(',');
200
+ return { x: parseInt(x, 10), y: parseInt(y, 10), isUpdateAuthorized: allowedSet.has(p) };
201
+ }),
202
+ worldWidePermission: false
203
+ }
204
+ };
205
+ }
206
+ catch (e) {
207
+ logger.error(`Error fetching world parcel permissions: ${e.message}`);
208
+ return { status: 500, body: { message: e.message } };
209
+ }
210
+ });
96
211
  router.post('/api/deploy', async (ctx) => {
97
212
  const value = (await ctx.request.json());
98
213
  if (!value.address || !value.authChain || !value.chainId) {
@@ -101,12 +216,9 @@ function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, de
101
216
  resolveLinkerPromise();
102
217
  return { status: 400, body: { message: errorMessage } };
103
218
  }
104
- // Store the chainId so we can use it on the catalyst pointers.
105
219
  linkerResponse = value;
106
220
  try {
107
221
  await deployCallback(value);
108
- // If its a world we dont wait for the catalyst pointers.
109
- // Close the program.
110
222
  if (sceneInfo.isWorld) {
111
223
  resolveLinkerPromise();
112
224
  }
@@ -122,7 +234,7 @@ function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, de
122
234
  function sceneHasWorldCfg(scene) {
123
235
  return !!Object.keys(scene.worldConfiguration || {}).length;
124
236
  }
125
- async function getSceneInfo(components, scene, rootCID, skipValidations) {
237
+ async function getSceneInfo(components, scene, rootCID, skipValidations, deleteScenesFromWorldPayload, targetContent, multiScene) {
126
238
  const { scene: { parcels, base }, display, isPortableExperience } = scene;
127
239
  return {
128
240
  baseParcel: base,
@@ -136,7 +248,90 @@ async function getSceneInfo(components, scene, rootCID, skipValidations) {
136
248
  skipValidations,
137
249
  isPortableExperience: !!isPortableExperience,
138
250
  isWorld: sceneHasWorldCfg(scene),
139
- world: scene.worldConfiguration?.name
251
+ world: scene.worldConfiguration?.name,
252
+ deleteScenesFromWorldPayload,
253
+ targetContent,
254
+ multiScene
140
255
  };
141
256
  }
257
+ function getScenesOnOtherParcels(existingScenes, deployingParcels) {
258
+ const parcelsSet = new Set(deployingParcels);
259
+ return existingScenes.filter((scene) => {
260
+ const sceneParcels = scene.parcels || [];
261
+ return sceneParcels.every((p) => !parcelsSet.has(p));
262
+ });
263
+ }
264
+ async function fetchWorldScenes(logger, worldName, targetContent) {
265
+ const encodedName = encodeURIComponent(worldName);
266
+ const url = `${targetContent}/world/${encodedName}/scenes`;
267
+ const response = await fetch(url);
268
+ if (!response.ok) {
269
+ const text = await response.text();
270
+ logger.info(`[DEPLOY] fetching scenes from world - error: ${text}`);
271
+ throw new Error(`Failed to fetch world scenes: ${response.status} ${response.statusText}`);
272
+ }
273
+ const data = (await response.json());
274
+ logger.info(`[DEPLOY] fetching scenes from world success: total=${data.total}, scenes=${data.scenes?.length}`);
275
+ return data.scenes || [];
276
+ }
277
+ function promptUser(question) {
278
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
279
+ return new Promise((resolve) => {
280
+ rl.question(question, (answer) => {
281
+ rl.close();
282
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
283
+ });
284
+ });
285
+ }
286
+ async function fetchWorldPermissions(worldName, targetContent) {
287
+ const encodedName = encodeURIComponent(worldName);
288
+ const url = `${targetContent}/world/${encodedName}/permissions`;
289
+ const response = await fetch(url);
290
+ if (!response.ok) {
291
+ throw new Error(`Failed to fetch world permissions: ${response.status} ${response.statusText}`);
292
+ }
293
+ return (await response.json());
294
+ }
295
+ async function fetchParcelPermissions(worldName, address, targetContent) {
296
+ const encodedName = encodeURIComponent(worldName);
297
+ const url = `${targetContent}/world/${encodedName}/permissions/deployment/address/${address.toLowerCase()}/parcels`;
298
+ const response = await fetch(url);
299
+ if (!response.ok) {
300
+ throw new Error(`Failed to fetch parcel permissions: ${response.status} ${response.statusText}`);
301
+ }
302
+ const data = (await response.json());
303
+ return data.parcels || [];
304
+ }
305
+ async function checkWorldDeploymentPermission(logger, worldName, address, targetContent, deployingParcels) {
306
+ const permissions = await fetchWorldPermissions(worldName, targetContent);
307
+ const lowerAddress = address.toLowerCase();
308
+ // Check if wallet is the world owner
309
+ if (permissions.owner?.toLowerCase() === lowerAddress) {
310
+ return { allowed: true };
311
+ }
312
+ // Check world-wide deployment permission
313
+ const deploymentPermission = permissions.permissions?.deployment;
314
+ if (deploymentPermission) {
315
+ if (deploymentPermission.type === 'unrestricted') {
316
+ return { allowed: true };
317
+ }
318
+ const allowedWallets = (deploymentPermission.wallets || []).map((w) => w.toLowerCase());
319
+ if (allowedWallets.includes(lowerAddress)) {
320
+ // Check if wallet has world-wide permission or only per-parcel
321
+ const walletSummary = permissions.summary?.[lowerAddress];
322
+ const deploymentSummary = walletSummary?.find((s) => s.permission === 'deployment');
323
+ if (!deploymentSummary || deploymentSummary.world_wide) {
324
+ return { allowed: true };
325
+ }
326
+ }
327
+ }
328
+ // Check per-parcel permissions
329
+ const allowedParcels = await fetchParcelPermissions(worldName, address, targetContent);
330
+ const allowedSet = new Set(allowedParcels);
331
+ const deniedParcels = deployingParcels.filter((p) => !allowedSet.has(p));
332
+ if (deniedParcels.length === 0) {
333
+ return { allowed: true };
334
+ }
335
+ return { allowed: false, deniedParcels };
336
+ }
142
337
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/deploy/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/deploy/utils.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,6 @@ export declare const args: {
35
35
  '--landscape-terrain-enabled': BooleanConstructor;
36
36
  '-n': BooleanConstructor;
37
37
  '--bevy-web': BooleanConstructor;
38
- '--no-client': BooleanConstructor;
39
38
  '--multi-instance': BooleanConstructor;
40
39
  };
41
40
  export declare function help(options: Options): Promise<void>;