@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.
- package/dist/commands/start/index.d.ts +0 -1
- package/dist/commands/start/index.js +6 -24
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/server/routes.d.ts +1 -1
- package/dist/commands/start/server/routes.js +2 -6
- package/dist/commands/start/server/routes.js.map +1 -1
- package/dist/commands/start/utils.d.ts +0 -32
- package/dist/commands/start/utils.js +0 -72
- package/dist/commands/start/utils.js.map +1 -1
- package/dist/components/analytics.d.ts +1 -75
- package/dist/components/analytics.js +2 -3
- package/dist/components/analytics.js.map +1 -1
- package/dist/logic/bundle.js +0 -31
- package/dist/logic/bundle.js.map +1 -1
- package/dist/logic/config.d.ts +0 -1
- package/dist/logic/config.js +0 -7
- 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 +0 -1
- 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/project-files.js +0 -2
- package/dist/logic/project-files.js.map +1 -1
- package/dist/logic/runtime-script.js +5 -9
- package/dist/logic/runtime-script.js.map +1 -1
- package/dist/logic/runtime-script.ts +6 -9
- package/dist/logic/scene-validations.d.ts +1 -8
- package/dist/logic/scene-validations.js.map +1 -1
- package/package.json +4 -4
- package/dist/commands/sdk-server-logs/index.d.ts +0 -24
- package/dist/commands/sdk-server-logs/index.js +0 -313
- package/dist/commands/sdk-server-logs/index.js.map +0 -1
- package/dist/commands/start/dcl-env.d.ts +0 -16
- package/dist/commands/start/dcl-env.js +0 -51
- package/dist/commands/start/dcl-env.js.map +0 -1
- package/dist/commands/start/multiplayer-server.d.ts +0 -35
- package/dist/commands/start/multiplayer-server.js +0 -244
- package/dist/commands/start/multiplayer-server.js.map +0 -1
- package/dist/commands/start/server/runtime-env.d.ts +0 -71
- package/dist/commands/start/server/runtime-env.js +0 -253
- package/dist/commands/start/server/runtime-env.js.map +0 -1
- package/dist/commands/start/server/storage-service.d.ts +0 -8
- package/dist/commands/start/server/storage-service.js +0 -156
- package/dist/commands/start/server/storage-service.js.map +0 -1
- package/dist/commands/storage/env.d.ts +0 -5
- package/dist/commands/storage/env.js +0 -86
- package/dist/commands/storage/env.js.map +0 -1
- package/dist/commands/storage/index.d.ts +0 -26
- package/dist/commands/storage/index.js +0 -142
- package/dist/commands/storage/index.js.map +0 -1
- package/dist/commands/storage/player.d.ts +0 -5
- package/dist/commands/storage/player.js +0 -143
- package/dist/commands/storage/player.js.map +0 -1
- package/dist/commands/storage/scene.d.ts +0 -5
- package/dist/commands/storage/scene.js +0 -105
- package/dist/commands/storage/scene.js.map +0 -1
- package/dist/commands/storage/shared.d.ts +0 -62
- package/dist/commands/storage/shared.js +0 -260
- package/dist/commands/storage/shared.js.map +0 -1
- package/dist/commands/storage/types.d.ts +0 -56
- package/dist/commands/storage/types.js +0 -23
- package/dist/commands/storage/types.js.map +0 -1
- package/dist/logic/auth-chain-headers.d.ts +0 -11
- package/dist/logic/auth-chain-headers.js +0 -25
- package/dist/logic/auth-chain-headers.js.map +0 -1
- package/dist/logic/lsd-realm.d.ts +0 -5
- package/dist/logic/lsd-realm.js +0 -28
- package/dist/logic/lsd-realm.js.map +0 -1
package/dist/logic/config.js
CHANGED
|
@@ -10,7 +10,6 @@ exports.isEditor = isEditor;
|
|
|
10
10
|
exports.isCI = isCI;
|
|
11
11
|
exports.getCatalystBaseUrl = getCatalystBaseUrl;
|
|
12
12
|
exports.getSegmentKey = getSegmentKey;
|
|
13
|
-
exports.getStorageSegmentKey = getStorageSegmentKey;
|
|
14
13
|
exports.getLandRegistry = getLandRegistry;
|
|
15
14
|
exports.getEstateRegistry = getEstateRegistry;
|
|
16
15
|
const path_1 = __importDefault(require("path"));
|
|
@@ -78,12 +77,6 @@ function getSegmentKey() {
|
|
|
78
77
|
? /* istanbul ignore next */ 'sFdziRVDJo0taOnGzTZwafEL9nLIANZ3'
|
|
79
78
|
: 'mjCV5Dc4VAKXLJAH5g7LyHyW1jrIR3to';
|
|
80
79
|
}
|
|
81
|
-
function getStorageSegmentKey() {
|
|
82
|
-
const isProduction = !process.env.DEVELOPER_MODE;
|
|
83
|
-
return isProduction
|
|
84
|
-
? /* istanbul ignore next */ 'CU6aHB0OedZQxKVcH9lMMnkDx1MMxROY'
|
|
85
|
-
: 'SXbdxJJqFKdDQ0hnt4I4E3Ejc2FAK6V7';
|
|
86
|
-
}
|
|
87
80
|
/* istanbul ignore next */
|
|
88
81
|
async function getLandRegistry(components) {
|
|
89
82
|
return (0, config_1.readStringConfig)(components, 'DCL_LAND_REGISTRY_ADDRESS');
|
package/dist/logic/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/logic/config.ts"],"names":[],"mappings":";;;;;AAYA,sDAEC;AAMD,0FAsBC;AAKD,gEAiBC;AAKD,4BAEC;AAED,oBAEC;AAED,gDAGC;AAED,sCAKC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/logic/config.ts"],"names":[],"mappings":";;;;;AAYA,sDAEC;AAMD,0FAsBC;AAKD,gEAiBC;AAKD,4BAEC;AAED,oBAEC;AAED,gDAGC;AAED,sCAKC;AAGD,0CAEC;AAGD,8CAEC;AAjGD,gDAAuB;AAEvB,iDAAuD;AACvD,6BAA+B;AAC/B,mDAAgD;AAEhD,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAErE;;GAEG;AACI,KAAK,UAAU,qBAAqB;IACzC,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,uCAAuC,CAC3D,UAAqC,EACrC,WAAmB,EACnB,eAAuB,EACvB,gBAAwB;IAExB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,eAAe,eAAe,EAAE;YACjD,KAAK,EAAE,CAAC,gBAAgB,CAAC;SAC1B,CAAC,CACH,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAc,EAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAEjE,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACnE,CAAC,WAAW,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;QAE3E,OAAO,OAAO,IAAI,SAAS,CAAA;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AACD;;;GAGG;AACI,KAAK,UAAU,0BAA0B,CAC9C,UAAqC,EACrC,WAAmB,EACnB,gBAAwB;IAExB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,EAAE;YAC7C,KAAK,EAAE,CAAC,gBAAgB,CAAC;SAC1B,CAAC,CACH,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,IAAA,aAAQ,EAAsB,UAAU,EAAE,cAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;QAE9G,OAAO,WAAW,CAAC,OAAO,IAAI,0BAA0B,CAAC,SAAS,CAAA;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAA;AAC3C,CAAC;AAED,SAAgB,IAAI;IAClB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnG,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,UAAyC;IAChF,MAAM,GAAG,GAAG,CAAC,MAAM,IAAA,yBAAgB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,+BAA+B,CAAA;IACnG,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AAED,SAAgB,aAAa;IAC3B,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;IAChD,OAAO,YAAY;QACjB,CAAC,CAAC,0BAA0B,CAAC,kCAAkC;QAC/D,CAAC,CAAC,kCAAkC,CAAA;AACxC,CAAC;AAED,0BAA0B;AACnB,KAAK,UAAU,eAAe,CAAC,UAAyC;IAC7E,OAAO,IAAA,yBAAgB,EAAC,UAAU,EAAE,2BAA2B,CAAC,CAAA;AAClE,CAAC;AAED,0BAA0B;AACnB,KAAK,UAAU,iBAAiB,CAAC,UAAyC;IAC/E,OAAO,IAAA,yBAAgB,EAAC,UAAU,EAAE,6BAA6B,CAAC,CAAA;AACpE,CAAC"}
|
package/dist/logic/error.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CliErrorName = 'COMMAND_NOT_VALID' | 'COMMAND_NOT_FOUND' | 'DEPLOY_WORKSPACE_NOT_SUPPORTED' | 'DEPLOY_INVALID_PROJECT_TYPE' | 'DEPLOY_INVALID_ARGUMENTS' | 'DEPLOY_UPLOAD_FAILED' | 'DEPLOY_CANCELLED' | 'DEPLOY_DELETE_FAILED' | 'DEPLOY_NO_PERMISSION' | 'DEPLOY_MISSING_TARGET_CONTENT' | 'EXPORT_STATIC_BASE_URL_REQUIRED' | 'EXPORT_STATIC_INVALID_REALM_NAME' | 'EXPORT_STATIC_INVALID_OUTPUT_DIRECTORY' | 'INIT_DIR_NOT_EMPTY' | 'INIT_INVALID_ARGUMENTS' | 'INIT_INVALID_PROJECT' | 'INIT_INVALID_TEMPLATE_ZIP_URL' | 'QUESTS_INVALID_TARGET' | 'QUESTS_INVALID_JSON' | 'QUESTS_INVALID_QUEST_JSON' | 'QUESTS_FILE_DOES_NOT_EXIST' | 'QUESTS_CREATION_CANCELLED' | 'QUESTS_INVALID_ADDRESS' | 'QUESTS_INVALID_UUID' | 'CONFIG_NOT_PROVIDED' | 'GET_CONTEXT_FILES_LIST_FAILED' | 'GET_CONTEXT_FILES_DOWNLOAD_FAILED' | 'ACCOUNT_INVALID_PRIVATE_KEY' | 'ARGS_ARG_ERROR' | 'COMMANDS_INVALID_FOLDER' | 'COMMANDS_INVALID_INDEX_FILE' | 'PROJECT_FILES_DUPLICATE_FILE' | 'PROJECT_FILES_INVALID_PACKAGE_JSON' | 'PROJECT_VALIDATIONS_PACKAGE_JSON_REQUIRED' | 'PROJECT_VALIDATIONS_INVALID_PROJECT_KIND' | 'BUNDLE_SCENE_MAIN_REQUIRED' | 'BUNDLE_SCENE_RUNTIME_VERSION_REQUIRED' | 'BUNDLE_TSCONFIG_REQUIRED' | 'BUNDLE_NO_INPUT_FILES' | 'BUNDLE_REBUILD_FAILED' | 'BUNDLE_TYPE_CHECKER_FAILED' | 'PORTABLE_EXPERIENCE_SW_INVALID_SCENE_JSON' | 'PORTABLE_EXPERIENCE_SW_INVALID_WEARABLE_JSON' | 'SCENE_VALIDATIONS_INVALID_SCENE_JSON' | 'SCENE_VALIDATIONS_DUPLICATE_PARCELS' | 'SCENE_VALIDATIONS_BASE_PARCEL_REQUIRED' | 'SCENE_VALIDATIONS_COORDINATES_OUTSIDE_LIMITS' | 'SCENE_VALIDATIONS_PARCELS_NOT_CONNECTED' | 'SCENE_VALIDATIONS_INVALID_MAIN_FORMAT' | 'SCENE_VALIDATIONS_MAX_FILE_SIZE_EXCEEDED' | 'WORKSPACE_VALIDATIONS_INVALID_WORKSPACE_JSON' | 'WORKSPACE_VALIDATIONS_INVALID_WORKSPACE_JSON_READ' | 'CODE_TO_COMPOSITE_BUILD_FAILED' | 'CODE_TO_COMPOSITE_BUNDLE_NOT_FOUND' | 'CODE_TO_COMPOSITE_EXECUTION_FAILED'
|
|
1
|
+
export type CliErrorName = 'COMMAND_NOT_VALID' | 'COMMAND_NOT_FOUND' | 'DEPLOY_WORKSPACE_NOT_SUPPORTED' | 'DEPLOY_INVALID_PROJECT_TYPE' | 'DEPLOY_INVALID_ARGUMENTS' | 'DEPLOY_UPLOAD_FAILED' | 'DEPLOY_CANCELLED' | 'DEPLOY_DELETE_FAILED' | 'DEPLOY_NO_PERMISSION' | 'DEPLOY_MISSING_TARGET_CONTENT' | 'EXPORT_STATIC_BASE_URL_REQUIRED' | 'EXPORT_STATIC_INVALID_REALM_NAME' | 'EXPORT_STATIC_INVALID_OUTPUT_DIRECTORY' | 'INIT_DIR_NOT_EMPTY' | 'INIT_INVALID_ARGUMENTS' | 'INIT_INVALID_PROJECT' | 'INIT_INVALID_TEMPLATE_ZIP_URL' | 'QUESTS_INVALID_TARGET' | 'QUESTS_INVALID_JSON' | 'QUESTS_INVALID_QUEST_JSON' | 'QUESTS_FILE_DOES_NOT_EXIST' | 'QUESTS_CREATION_CANCELLED' | 'QUESTS_INVALID_ADDRESS' | 'QUESTS_INVALID_UUID' | 'CONFIG_NOT_PROVIDED' | 'GET_CONTEXT_FILES_LIST_FAILED' | 'GET_CONTEXT_FILES_DOWNLOAD_FAILED' | 'ACCOUNT_INVALID_PRIVATE_KEY' | 'ARGS_ARG_ERROR' | 'COMMANDS_INVALID_FOLDER' | 'COMMANDS_INVALID_INDEX_FILE' | 'PROJECT_FILES_DUPLICATE_FILE' | 'PROJECT_FILES_INVALID_PACKAGE_JSON' | 'PROJECT_VALIDATIONS_PACKAGE_JSON_REQUIRED' | 'PROJECT_VALIDATIONS_INVALID_PROJECT_KIND' | 'BUNDLE_SCENE_MAIN_REQUIRED' | 'BUNDLE_SCENE_RUNTIME_VERSION_REQUIRED' | 'BUNDLE_TSCONFIG_REQUIRED' | 'BUNDLE_NO_INPUT_FILES' | 'BUNDLE_REBUILD_FAILED' | 'BUNDLE_TYPE_CHECKER_FAILED' | 'PORTABLE_EXPERIENCE_SW_INVALID_SCENE_JSON' | 'PORTABLE_EXPERIENCE_SW_INVALID_WEARABLE_JSON' | 'SCENE_VALIDATIONS_INVALID_SCENE_JSON' | 'SCENE_VALIDATIONS_DUPLICATE_PARCELS' | 'SCENE_VALIDATIONS_BASE_PARCEL_REQUIRED' | 'SCENE_VALIDATIONS_COORDINATES_OUTSIDE_LIMITS' | 'SCENE_VALIDATIONS_PARCELS_NOT_CONNECTED' | 'SCENE_VALIDATIONS_INVALID_MAIN_FORMAT' | 'SCENE_VALIDATIONS_MAX_FILE_SIZE_EXCEEDED' | 'WORKSPACE_VALIDATIONS_INVALID_WORKSPACE_JSON' | 'WORKSPACE_VALIDATIONS_INVALID_WORKSPACE_JSON_READ' | 'CODE_TO_COMPOSITE_BUILD_FAILED' | 'CODE_TO_COMPOSITE_BUNDLE_NOT_FOUND' | 'CODE_TO_COMPOSITE_EXECUTION_FAILED';
|
|
2
2
|
export declare class CliError<T extends CliErrorName> extends Error {
|
|
3
3
|
name: T;
|
|
4
4
|
message: string;
|
package/dist/logic/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/logic/error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/logic/error.ts"],"names":[],"mappings":";;;AAsEA,MAAa,QAAiC,SAAQ,KAAK;IACzD,YAAmB,OAAU,UAAe,EAAS,UAAkB,EAAE,EAAS,KAAc;QAC9F,KAAK,EAAE,CAAA;QADU,SAAI,GAAJ,IAAI,CAAqB;QAAS,YAAO,GAAP,OAAO,CAAa;QAAS,UAAK,GAAL,KAAK,CAAS;IAEhG,CAAC;CACF;AAJD,4BAIC"}
|
package/dist/logic/exec.d.ts
CHANGED
package/dist/logic/exec.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createProcessSpawnerComponent = createProcessSpawnerComponent;
|
|
4
4
|
function createProcessSpawnerComponent(spawnFn) {
|
|
5
5
|
return {
|
|
6
|
-
exec(cwd, command, args, { env, silent
|
|
6
|
+
exec(cwd, command, args, { env, silent } = {}) {
|
|
7
7
|
return new Promise((resolve, reject) => {
|
|
8
8
|
const child = spawnFn(command, args, {
|
|
9
|
-
shell,
|
|
9
|
+
shell: true,
|
|
10
10
|
cwd,
|
|
11
11
|
env: { ...process.env, NODE_ENV: '', ...env }
|
|
12
12
|
});
|
package/dist/logic/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/logic/exec.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/logic/exec.ts"],"names":[],"mappings":";;AAWA,sEAwCC;AAxCD,SAAgB,6BAA6B,CAAC,OAAqB;IACjE,OAAO;QACL,IAAI,CAAC,GAAW,EAAE,OAAe,EAAE,IAAc,EAAE,EAAE,GAAG,EAAE,MAAM,KAAuB,EAAE;YACvF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;oBACnC,KAAK,EAAE,IAAI;oBACX,GAAG;oBACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE;iBAC9C,CAAC,CAAA;gBAEF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC;gBAED,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC1C,CAAC,CAAA;gBAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAE3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;oBACjC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;oBAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;oBAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;oBAE5B,sDAAsD;oBACtD,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAChC,MAAM,CAAC,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;wBACxC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,sBAAsB,IAAI,2CAA2C,CAAC,CAAC,CAAA;wBACrG,OAAM;oBACR,CAAC;oBAED,OAAO,CAAC,SAAS,CAAC,CAAA;gBACpB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/logic/lang.js
CHANGED
|
@@ -122,8 +122,6 @@ async function getProjectPublishableFilesWithHashes(components, projectRoot, has
|
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
exports.machineId = os_1.default.hostname() || os_1.default.userInfo().username;
|
|
125
|
-
// Preview entity ids, and the base of the LSD Pulse realm key that explorers
|
|
126
|
-
// derive independently. See docs/lsd-identity-and-pulse-realm.md before changing.
|
|
127
125
|
const b64HashingFunction = (str) => {
|
|
128
126
|
const unique = `${str}-${exports.machineId}`;
|
|
129
127
|
return 'b64-' + Buffer.from(unique).toString('base64');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/logic/project-files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,kDAkBC;AAOD,sEAMC;AAMD,sEAOC;AASD,oFA+BC;
|
|
1
|
+
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/logic/project-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,19 +73,15 @@ function callScriptMethod(entity, scriptPath, methodName, ...args) {
|
|
|
73
73
|
* Creates an ActionCallback function from an ActionRef.
|
|
74
74
|
* The returned function, when called, will trigger the specified action on the entity.
|
|
75
75
|
*
|
|
76
|
-
* Validation happens here, at resolution time, not inside the returned closure: an
|
|
77
|
-
* unassigned optional action param is stored by the editor as a truthy placeholder
|
|
78
|
-
* ({ entity: RootEntity (0), action: '' }), so validating at call time would still hand
|
|
79
|
-
* the script a callable and make its `if (this.onAction)` guard always pass. Returning
|
|
80
|
-
* undefined for an unwired ref lets that guard work as intended.
|
|
81
|
-
*
|
|
82
76
|
* @param actionRef - The action reference containing entity and action name
|
|
83
|
-
* @returns A function that triggers the action when called
|
|
77
|
+
* @returns A function that triggers the action when called
|
|
84
78
|
*/
|
|
85
79
|
function createActionCallback(actionRef) {
|
|
86
|
-
if (!actionRef.entity || !actionRef.action)
|
|
87
|
-
return undefined;
|
|
88
80
|
return () => {
|
|
81
|
+
if (!actionRef.entity || !actionRef.action) {
|
|
82
|
+
console.error('[Script] ActionCallback called with invalid action reference:', actionRef);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
89
85
|
const actionEvents = (0, events_1.getActionEvents)(actionRef.entity);
|
|
90
86
|
actionEvents.emit(actionRef.action, {});
|
|
91
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-script.js","sourceRoot":"","sources":["../../src/logic/runtime-script.ts"],"names":[],"mappings":";;AA+DA,8CAIC;AAOD,4DAQC;AAOD,sDAQC;AAUD,4CAOC;
|
|
1
|
+
{"version":3,"file":"runtime-script.js","sourceRoot":"","sources":["../../src/logic/runtime-script.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,18 +118,15 @@ export function callScriptMethod(entity: Entity, scriptPath: string, methodName:
|
|
|
118
118
|
* Creates an ActionCallback function from an ActionRef.
|
|
119
119
|
* The returned function, when called, will trigger the specified action on the entity.
|
|
120
120
|
*
|
|
121
|
-
* Validation happens here, at resolution time, not inside the returned closure: an
|
|
122
|
-
* unassigned optional action param is stored by the editor as a truthy placeholder
|
|
123
|
-
* ({ entity: RootEntity (0), action: '' }), so validating at call time would still hand
|
|
124
|
-
* the script a callable and make its `if (this.onAction)` guard always pass. Returning
|
|
125
|
-
* undefined for an unwired ref lets that guard work as intended.
|
|
126
|
-
*
|
|
127
121
|
* @param actionRef - The action reference containing entity and action name
|
|
128
|
-
* @returns A function that triggers the action when called
|
|
122
|
+
* @returns A function that triggers the action when called
|
|
129
123
|
*/
|
|
130
|
-
function createActionCallback(actionRef: ActionRef): (
|
|
131
|
-
if (!actionRef.entity || !actionRef.action) return undefined
|
|
124
|
+
function createActionCallback(actionRef: ActionRef): () => void {
|
|
132
125
|
return () => {
|
|
126
|
+
if (!actionRef.entity || !actionRef.action) {
|
|
127
|
+
console.error('[Script] ActionCallback called with invalid action reference:', actionRef)
|
|
128
|
+
return
|
|
129
|
+
}
|
|
133
130
|
const actionEvents = getActionEvents(actionRef.entity)
|
|
134
131
|
actionEvents.emit(actionRef.action, {})
|
|
135
132
|
}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { Scene } from '@dcl/schemas';
|
|
2
2
|
import { CliComponents } from '../components';
|
|
3
|
-
/**
|
|
4
|
-
* Extended Scene type that includes the authoritativeMultiplayer flag for
|
|
5
|
-
* enabling Authoritative Server integration.
|
|
6
|
-
*/
|
|
7
|
-
export type SceneWithMultiplayer = Scene & {
|
|
8
|
-
authoritativeMultiplayer?: boolean;
|
|
9
|
-
};
|
|
10
3
|
export interface IFile {
|
|
11
4
|
path: string;
|
|
12
5
|
content: Buffer;
|
|
@@ -27,7 +20,7 @@ export declare function assertValidScene(components: Pick<CliComponents, 'logger
|
|
|
27
20
|
*/
|
|
28
21
|
export declare function getValidSceneJson(components: Pick<CliComponents, 'fs' | 'logger'>, projectRoot: string, opts?: {
|
|
29
22
|
log?: boolean;
|
|
30
|
-
}): Promise<
|
|
23
|
+
}): Promise<Scene>;
|
|
31
24
|
export declare function getBaseCoords(scene: Scene): {
|
|
32
25
|
x: number;
|
|
33
26
|
y: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-validations.js","sourceRoot":"","sources":["../../src/logic/scene-validations.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"scene-validations.js","sourceRoot":"","sources":["../../src/logic/scene-validations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/sdk-commands",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "7.29.1-
|
|
4
|
+
"version": "7.29.1-35901015152.commit-d1b7b96",
|
|
5
5
|
"author": "Decentraland",
|
|
6
6
|
"bin": {
|
|
7
7
|
"sdk-commands": "./dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@dcl/crypto": "^3.4.4",
|
|
11
|
-
"@dcl/ecs": "7.29.1-
|
|
11
|
+
"@dcl/ecs": "7.29.1-35901015152.commit-d1b7b96",
|
|
12
12
|
"@dcl/gltf-validator-ts": "1.0.14",
|
|
13
13
|
"@dcl/hashing": "1.1.3",
|
|
14
14
|
"@dcl/inspector": "7.36.3",
|
|
15
15
|
"@dcl/linker-dapp": "0.15.2",
|
|
16
16
|
"@dcl/mini-comms": "1.0.1-20230216163137.commit-a4c75be",
|
|
17
|
-
"@dcl/protocol": "1.0.0-
|
|
17
|
+
"@dcl/protocol": "1.0.0-35899496093.commit-329ba0e",
|
|
18
18
|
"@dcl/quests-client": "^1.0.3",
|
|
19
19
|
"@dcl/quests-manager": "^0.1.4",
|
|
20
20
|
"@dcl/rpc": "^1.1.1",
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"displayName": "SDK",
|
|
75
75
|
"tsconfig": "./tsconfig.json"
|
|
76
76
|
},
|
|
77
|
-
"commit": "
|
|
77
|
+
"commit": "d1b7b964cd184465c1b65118e47b5dc6be68a184"
|
|
78
78
|
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Result } from 'arg';
|
|
2
|
-
import { CliComponents } from '../../components';
|
|
3
|
-
interface Options {
|
|
4
|
-
args: Result<typeof args>;
|
|
5
|
-
components: CliComponents;
|
|
6
|
-
}
|
|
7
|
-
export declare const args: {
|
|
8
|
-
'--help': BooleanConstructor;
|
|
9
|
-
'-h': string;
|
|
10
|
-
'--dir': StringConstructor;
|
|
11
|
-
'--world': StringConstructor;
|
|
12
|
-
'-w': string;
|
|
13
|
-
'--position': StringConstructor;
|
|
14
|
-
'--target': StringConstructor;
|
|
15
|
-
'-t': string;
|
|
16
|
-
'--port': NumberConstructor;
|
|
17
|
-
'-p': string;
|
|
18
|
-
'--https': BooleanConstructor;
|
|
19
|
-
'--no-browser': BooleanConstructor;
|
|
20
|
-
'-b': string;
|
|
21
|
-
};
|
|
22
|
-
export declare function help(options: Options): void;
|
|
23
|
-
export declare function main(options: Options): Promise<void>;
|
|
24
|
-
export {};
|
|
@@ -1,313 +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.args = void 0;
|
|
7
|
-
exports.help = help;
|
|
8
|
-
exports.main = main;
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const fp_future_1 = __importDefault(require("fp-future"));
|
|
11
|
-
const crypto_1 = require("@dcl/crypto");
|
|
12
|
-
const crypto_2 = require("@dcl/crypto/dist/crypto");
|
|
13
|
-
const eth_connect_1 = require("eth-connect");
|
|
14
|
-
const args_1 = require("../../logic/args");
|
|
15
|
-
const error_1 = require("../../logic/error");
|
|
16
|
-
const beautiful_logs_1 = require("../../logic/beautiful-logs");
|
|
17
|
-
const account_1 = require("../../logic/account");
|
|
18
|
-
const auth_chain_headers_1 = require("../../logic/auth-chain-headers");
|
|
19
|
-
const routes_1 = require("../../linker-dapp/routes");
|
|
20
|
-
const run_dapp_1 = require("../../run-dapp");
|
|
21
|
-
const workspace_validations_1 = require("../../logic/workspace-validations");
|
|
22
|
-
const scene_validations_1 = require("../../logic/scene-validations");
|
|
23
|
-
exports.args = (0, args_1.declareArgs)({
|
|
24
|
-
'--help': Boolean,
|
|
25
|
-
'-h': '--help',
|
|
26
|
-
'--dir': String,
|
|
27
|
-
'--world': String,
|
|
28
|
-
'-w': '--world',
|
|
29
|
-
'--position': String,
|
|
30
|
-
'--target': String,
|
|
31
|
-
'-t': '--target',
|
|
32
|
-
'--port': Number,
|
|
33
|
-
'-p': '--port',
|
|
34
|
-
'--https': Boolean,
|
|
35
|
-
'--no-browser': Boolean,
|
|
36
|
-
'-b': '--no-browser'
|
|
37
|
-
});
|
|
38
|
-
const DEFAULT_SERVER = 'https://multiplayer-server.decentraland.org';
|
|
39
|
-
function help(options) {
|
|
40
|
-
options.components.logger.log(`
|
|
41
|
-
Usage: 'sdk-commands sdk-server-logs [options]'
|
|
42
|
-
Streams real-time logs from the multiplayer server.
|
|
43
|
-
Runs from any directory when --world and/or --position are provided.
|
|
44
|
-
Falls back to scene.json (worldConfiguration.name) when neither is passed.
|
|
45
|
-
|
|
46
|
-
Options:
|
|
47
|
-
-h, --help Displays complete help
|
|
48
|
-
-w, --world [name] World name. When omitted, --position targets Genesis City.
|
|
49
|
-
--position [x,y] Parcel coordinates. Optional for worlds (selects a scene
|
|
50
|
-
in a multi-scene world). Required for Genesis City.
|
|
51
|
-
-t, --target [URL] Target multiplayer server URL (default: ${DEFAULT_SERVER})
|
|
52
|
-
--dir [path] Path to the project directory (used with scene.json fallback)
|
|
53
|
-
-p, --port [port] Select a custom port for the linker dApp
|
|
54
|
-
-b, --no-browser Do not open a new browser window
|
|
55
|
-
--https Use HTTPS for the linker dApp
|
|
56
|
-
|
|
57
|
-
Examples:
|
|
58
|
-
- View logs using the world in the current scene.json:
|
|
59
|
-
$ sdk-commands sdk-server-logs
|
|
60
|
-
|
|
61
|
-
- View logs for a world from any directory:
|
|
62
|
-
$ sdk-commands sdk-server-logs --world myworld.dcl.eth
|
|
63
|
-
|
|
64
|
-
- View logs for a specific scene in a multi-scene world:
|
|
65
|
-
$ sdk-commands sdk-server-logs --world myworld.dcl.eth --position 10,10
|
|
66
|
-
|
|
67
|
-
- View logs for a Genesis City scene (use =value form for negative coords):
|
|
68
|
-
$ sdk-commands sdk-server-logs --position=-125,-96
|
|
69
|
-
|
|
70
|
-
- Connect to a custom server:
|
|
71
|
-
$ sdk-commands sdk-server-logs --world myworld --target https://multiplayer-server.decentraland.zone
|
|
72
|
-
|
|
73
|
-
- Use private key for authentication (no browser):
|
|
74
|
-
$ DCL_PRIVATE_KEY=0x... sdk-commands sdk-server-logs --world myworld
|
|
75
|
-
`);
|
|
76
|
-
}
|
|
77
|
-
function setServerLogsRoutes(router, components, awaitResponse, signCallback) {
|
|
78
|
-
const { logger } = components;
|
|
79
|
-
const resolveLinkerPromise = () => setTimeout(() => awaitResponse.resolve(), 100);
|
|
80
|
-
const rejectLinkerPromise = (e) => setTimeout(() => awaitResponse.reject(e), 100);
|
|
81
|
-
router.post('/api/logs', async (ctx) => {
|
|
82
|
-
const value = (await ctx.request.json());
|
|
83
|
-
if (!value.address || !value.authChain) {
|
|
84
|
-
const errorMessage = `Invalid payload: ${Object.keys(value).join(' - ')}`;
|
|
85
|
-
logger.error(errorMessage);
|
|
86
|
-
resolveLinkerPromise();
|
|
87
|
-
return { status: 400, body: { success: false, error: errorMessage } };
|
|
88
|
-
}
|
|
89
|
-
try {
|
|
90
|
-
await signCallback(value);
|
|
91
|
-
resolveLinkerPromise();
|
|
92
|
-
return { body: { success: true } };
|
|
93
|
-
}
|
|
94
|
-
catch (e) {
|
|
95
|
-
rejectLinkerPromise(e);
|
|
96
|
-
return { status: 400, body: { success: false, error: e.message } };
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
return router;
|
|
100
|
-
}
|
|
101
|
-
async function getAddressAndSignature(components, awaitResponse, payload, displayLabel, targetUrl, linkOptions, signCallback) {
|
|
102
|
-
// If DCL_PRIVATE_KEY is set, sign directly without the linker dapp
|
|
103
|
-
if (process.env.DCL_PRIVATE_KEY) {
|
|
104
|
-
const wallet = (0, account_1.createWallet)(process.env.DCL_PRIVATE_KEY);
|
|
105
|
-
const authChain = crypto_1.Authenticator.createSimpleAuthChain(payload, wallet.address, (0, crypto_2.ethSign)((0, eth_connect_1.hexToBytes)(wallet.privateKey), payload));
|
|
106
|
-
const linkerResponse = { authChain, address: wallet.address };
|
|
107
|
-
await signCallback(linkerResponse);
|
|
108
|
-
awaitResponse.resolve();
|
|
109
|
-
return {};
|
|
110
|
-
}
|
|
111
|
-
// Use linker dapp for signing - pass the payload as the rootCID
|
|
112
|
-
const { router: commonRouter } = (0, routes_1.setRoutes)(components, {
|
|
113
|
-
rootCID: payload,
|
|
114
|
-
baseParcel: '0,0',
|
|
115
|
-
parcels: ['0,0'],
|
|
116
|
-
skipValidations: true,
|
|
117
|
-
debug: !!process.env.DEBUG,
|
|
118
|
-
isWorld: true,
|
|
119
|
-
world: displayLabel,
|
|
120
|
-
targetUrl,
|
|
121
|
-
action: 'view-logs'
|
|
122
|
-
});
|
|
123
|
-
const router = setServerLogsRoutes(commonRouter, components, awaitResponse, signCallback);
|
|
124
|
-
components.logger.info('You need to sign to access server logs');
|
|
125
|
-
const { program } = await (0, run_dapp_1.runDapp)(components, router, { ...linkOptions, uri: `/` });
|
|
126
|
-
return { program };
|
|
127
|
-
}
|
|
128
|
-
async function streamLogs(components, logsUrl, authHeaders) {
|
|
129
|
-
const { logger, fetch: fetchComponent } = components;
|
|
130
|
-
logger.info('\nConnecting to server logs...');
|
|
131
|
-
try {
|
|
132
|
-
const response = await fetchComponent.fetch(logsUrl, {
|
|
133
|
-
method: 'GET',
|
|
134
|
-
headers: {
|
|
135
|
-
...authHeaders,
|
|
136
|
-
Accept: 'text/event-stream'
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
if (!response.ok) {
|
|
140
|
-
const errorText = await response.text();
|
|
141
|
-
throw new Error(`Server returned ${response.status}: ${errorText}`);
|
|
142
|
-
}
|
|
143
|
-
const contentType = response.headers.get('content-type') || '';
|
|
144
|
-
if (!contentType.includes('text/event-stream') && !contentType.includes('application/stream')) {
|
|
145
|
-
throw new Error('Server does not support SSE streaming');
|
|
146
|
-
}
|
|
147
|
-
logger.info('Streaming logs in real-time (press CTRL+C to stop)');
|
|
148
|
-
if (response.body) {
|
|
149
|
-
const decoder = new TextDecoder();
|
|
150
|
-
let buffer = '';
|
|
151
|
-
for await (const chunk of response.body) {
|
|
152
|
-
buffer += decoder.decode(chunk, { stream: true });
|
|
153
|
-
const lines = buffer.split('\n');
|
|
154
|
-
buffer = lines.pop() || '';
|
|
155
|
-
for (const line of lines) {
|
|
156
|
-
if (line.trim()) {
|
|
157
|
-
formatAndPrintLog(logger, line);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
logger.info('\n======================= End Scene Logs =======================');
|
|
163
|
-
}
|
|
164
|
-
catch (e) {
|
|
165
|
-
(0, beautiful_logs_1.printError)(logger, 'Failed to stream logs:', e);
|
|
166
|
-
process.exit(1);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
function formatAndPrintLog(logger, log) {
|
|
170
|
-
// If log is a string, try to parse as JSON
|
|
171
|
-
let logObj = log;
|
|
172
|
-
if (typeof log === 'string') {
|
|
173
|
-
try {
|
|
174
|
-
logObj = JSON.parse(log);
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
// If not JSON, just print the string
|
|
178
|
-
logger.log(log);
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
// Extract common log fields
|
|
183
|
-
const timestamp = logObj.timestamp || logObj.time || new Date().toISOString();
|
|
184
|
-
const level = (logObj.level || logObj.severity || 'INFO').toUpperCase();
|
|
185
|
-
const message = logObj.message || logObj.msg || JSON.stringify(logObj);
|
|
186
|
-
// Format timestamp
|
|
187
|
-
const date = new Date(timestamp);
|
|
188
|
-
const formattedTime = date.toISOString().replace('T', ' ').substring(0, 19);
|
|
189
|
-
// Format the log message with timestamp
|
|
190
|
-
const formattedMessage = `[${formattedTime}] [${level}] ${message}`;
|
|
191
|
-
// Map log levels to logger methods
|
|
192
|
-
const normalizedLevel = level.toLowerCase();
|
|
193
|
-
switch (normalizedLevel) {
|
|
194
|
-
case 'error':
|
|
195
|
-
logger.error(formattedMessage);
|
|
196
|
-
break;
|
|
197
|
-
case 'warn':
|
|
198
|
-
case 'warning':
|
|
199
|
-
logger.warn(formattedMessage);
|
|
200
|
-
break;
|
|
201
|
-
case 'debug':
|
|
202
|
-
logger.debug(formattedMessage);
|
|
203
|
-
break;
|
|
204
|
-
case 'info':
|
|
205
|
-
case 'trace':
|
|
206
|
-
default:
|
|
207
|
-
logger.info(formattedMessage);
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
// If there are additional fields, print them
|
|
211
|
-
const additionalFields = Object.keys(logObj).filter((key) => !['timestamp', 'time', 'level', 'severity', 'message', 'msg'].includes(key));
|
|
212
|
-
if (additionalFields.length > 0) {
|
|
213
|
-
const additional = {};
|
|
214
|
-
additionalFields.forEach((key) => {
|
|
215
|
-
additional[key] = logObj[key];
|
|
216
|
-
});
|
|
217
|
-
logger.log(` ${JSON.stringify(additional)}`);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
function normalizePosition(raw) {
|
|
221
|
-
const match = raw.trim().match(/^(-?\d+)\s*,\s*(-?\d+)$/);
|
|
222
|
-
if (!match) {
|
|
223
|
-
throw new error_1.CliError('SERVER_LOGS_INVALID_POSITION', `Invalid --position "${raw}"; expected "x,y" with integer coordinates`);
|
|
224
|
-
}
|
|
225
|
-
return `${parseInt(match[1], 10)},${parseInt(match[2], 10)}`;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Build the HTTP request shape for the multiplayer-server `/logs` endpoint.
|
|
229
|
-
*
|
|
230
|
-
* Every call targets the same `/logs` route; the server picks the scene from
|
|
231
|
-
* the signed metadata:
|
|
232
|
-
* - worlds → `sceneId: "<world>.dcl.eth"` (+ `parcel` for multi-scene worlds)
|
|
233
|
-
* - Genesis → `parcel: "x,y"` only
|
|
234
|
-
*
|
|
235
|
-
* `parcel` and `realmName` are always set. `realmName` defaults to `"main"` for
|
|
236
|
-
* Genesis, matching the convention used by other signed-fetch emitters
|
|
237
|
-
* (hammurabi worker, unity explorer, kernel).
|
|
238
|
-
*/
|
|
239
|
-
function buildLogsRequest(baseURL, world, position) {
|
|
240
|
-
const metadata = JSON.stringify({
|
|
241
|
-
parcel: position ?? '0,0',
|
|
242
|
-
realmName: world ? `${world}.dcl.eth` : 'main',
|
|
243
|
-
...(world && { sceneId: `${world}.dcl.eth` })
|
|
244
|
-
});
|
|
245
|
-
return {
|
|
246
|
-
logsUrl: `${baseURL}/logs`,
|
|
247
|
-
pathname: '/logs',
|
|
248
|
-
metadata
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
async function main(options) {
|
|
252
|
-
const { logger } = options.components;
|
|
253
|
-
const projectRoot = (0, path_1.resolve)(process.cwd(), options.args['--dir'] || '.');
|
|
254
|
-
const positionArg = options.args['--position'];
|
|
255
|
-
const worldArg = options.args['--world'];
|
|
256
|
-
const position = positionArg ? normalizePosition(positionArg) : undefined;
|
|
257
|
-
let world;
|
|
258
|
-
if (worldArg) {
|
|
259
|
-
world = worldArg.replace(/\.dcl\.eth$/i, '');
|
|
260
|
-
}
|
|
261
|
-
else if (!position) {
|
|
262
|
-
// no --world nor --position: fall back to scene.json in the current directory
|
|
263
|
-
await (0, workspace_validations_1.getValidWorkspace)(options.components, projectRoot);
|
|
264
|
-
const sceneJson = await (0, scene_validations_1.getValidSceneJson)(options.components, projectRoot);
|
|
265
|
-
const worldName = sceneJson.worldConfiguration?.name;
|
|
266
|
-
if (!worldName) {
|
|
267
|
-
throw new error_1.CliError('SERVER_LOGS_MISSING_WORLD', 'Provide --world (with optional --position) for worlds, or --position alone for Genesis City scenes. ' +
|
|
268
|
-
'Alternatively, run from a project whose scene.json defines worldConfiguration.name.');
|
|
269
|
-
}
|
|
270
|
-
world = worldName.replace(/\.dcl\.eth$/i, '');
|
|
271
|
-
}
|
|
272
|
-
const displayLabel = world
|
|
273
|
-
? position
|
|
274
|
-
? `${world}.dcl.eth ${position}`
|
|
275
|
-
: `${world}.dcl.eth`
|
|
276
|
-
: `Genesis City ${position}`;
|
|
277
|
-
logger.info(`Viewing logs for ${displayLabel}`);
|
|
278
|
-
const baseURL = options.args['--target'] || DEFAULT_SERVER;
|
|
279
|
-
const { logsUrl, pathname, metadata } = buildLogsRequest(baseURL, world, position);
|
|
280
|
-
// Linker dApp options
|
|
281
|
-
const linkerPort = options.args['--port'];
|
|
282
|
-
const openBrowser = !options.args['--no-browser'];
|
|
283
|
-
const isHttps = !!options.args['--https'];
|
|
284
|
-
const linkOptions = { linkerPort, openBrowser, isHttps };
|
|
285
|
-
const awaitResponse = (0, fp_future_1.default)();
|
|
286
|
-
const timestamp = String(Date.now());
|
|
287
|
-
// Build the payload to sign: method:path:timestamp:metadata
|
|
288
|
-
const payload = ['get', pathname, timestamp, metadata].join(':').toLowerCase();
|
|
289
|
-
let authHeaders = {};
|
|
290
|
-
const { program } = await getAddressAndSignature(options.components, awaitResponse, payload, displayLabel, baseURL, linkOptions, async (linkerResponse) => {
|
|
291
|
-
authHeaders = (0, auth_chain_headers_1.createAuthChainHeaders)(linkerResponse.authChain, timestamp, metadata);
|
|
292
|
-
});
|
|
293
|
-
try {
|
|
294
|
-
await awaitResponse;
|
|
295
|
-
logger.info('Authentication successful!');
|
|
296
|
-
// Close the browser window
|
|
297
|
-
if (program) {
|
|
298
|
-
await program.stop();
|
|
299
|
-
}
|
|
300
|
-
// Start streaming logs
|
|
301
|
-
await streamLogs(options.components, logsUrl, authHeaders);
|
|
302
|
-
}
|
|
303
|
-
catch (e) {
|
|
304
|
-
(0, beautiful_logs_1.printError)(logger, 'Failed to authenticate:', e);
|
|
305
|
-
throw e;
|
|
306
|
-
}
|
|
307
|
-
finally {
|
|
308
|
-
if (program) {
|
|
309
|
-
void program.stop();
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
//# sourceMappingURL=index.js.map
|