@dcl/sdk-commands 7.31.1-40606969412.commit-24c05c3 → 7.31.1-41472004640.commit-3147448

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 (33) hide show
  1. package/README.md +15 -0
  2. package/dist/commands/scene-insights/actions.d.ts +63 -0
  3. package/dist/commands/scene-insights/actions.js +106 -0
  4. package/dist/commands/scene-insights/actions.js.map +1 -0
  5. package/dist/commands/scene-insights/client.d.ts +51 -0
  6. package/dist/commands/scene-insights/client.js +294 -0
  7. package/dist/commands/scene-insights/client.js.map +1 -0
  8. package/dist/commands/scene-insights/format.d.ts +23 -0
  9. package/dist/commands/scene-insights/format.js +143 -0
  10. package/dist/commands/scene-insights/format.js.map +1 -0
  11. package/dist/commands/scene-insights/index.d.ts +51 -0
  12. package/dist/commands/scene-insights/index.js +312 -0
  13. package/dist/commands/scene-insights/index.js.map +1 -0
  14. package/dist/commands/scene-insights/inputs.d.ts +49 -0
  15. package/dist/commands/scene-insights/inputs.js +166 -0
  16. package/dist/commands/scene-insights/inputs.js.map +1 -0
  17. package/dist/commands/scene-insights/session-store.d.ts +42 -0
  18. package/dist/commands/scene-insights/session-store.js +131 -0
  19. package/dist/commands/scene-insights/session-store.js.map +1 -0
  20. package/dist/commands/scene-insights/session.d.ts +42 -0
  21. package/dist/commands/scene-insights/session.js +97 -0
  22. package/dist/commands/scene-insights/session.js.map +1 -0
  23. package/dist/commands/scene-insights/sign-in.d.ts +48 -0
  24. package/dist/commands/scene-insights/sign-in.js +116 -0
  25. package/dist/commands/scene-insights/sign-in.js.map +1 -0
  26. package/dist/commands/scene-insights/types.d.ts +61 -0
  27. package/dist/commands/scene-insights/types.js +4 -0
  28. package/dist/commands/scene-insights/types.js.map +1 -0
  29. package/dist/logic/error.d.ts +1 -1
  30. package/dist/logic/error.js.map +1 -1
  31. package/dist/run-command.js +3 -2
  32. package/dist/run-command.js.map +1 -1
  33. package/package.json +5 -5
@@ -0,0 +1,116 @@
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.getSession = getSession;
7
+ exports.isLinkerOrigin = isLinkerOrigin;
8
+ exports.setSignInRoutes = setSignInRoutes;
9
+ const fp_future_1 = __importDefault(require("fp-future"));
10
+ const crypto_1 = require("@dcl/crypto");
11
+ const error_1 = require("../../logic/error");
12
+ const routes_1 = require("../../linker-dapp/routes");
13
+ const run_dapp_1 = require("../../run-dapp");
14
+ const session_1 = require("./session");
15
+ const session_store_1 = require("./session-store");
16
+ /**
17
+ * Gets a session to sign requests with, in order:
18
+ * 1. `DCL_PRIVATE_KEY`, signed locally and never saved;
19
+ * 2. the saved session, while it is valid (unless `forceNew`);
20
+ * 3. a new browser signature through the linker dApp, which is then saved.
21
+ *
22
+ * @throws CliError `SCENE_INSIGHTS_SESSION_REQUIRED` when it would have to open the browser but
23
+ * nobody is there to sign (an agent or script): `scene-insights login` has to be run first.
24
+ * @throws CliError `SCENE_INSIGHTS_UNSAFE_SESSION_FILE` when git tracks the session file, before
25
+ * asking for a signature.
26
+ */
27
+ async function getSession(components, label, options) {
28
+ if (process.env.DCL_PRIVATE_KEY) {
29
+ return { session: (0, session_1.createSessionFromPrivateKey)(process.env.DCL_PRIVATE_KEY), source: 'private-key' };
30
+ }
31
+ if (!options.forceNew) {
32
+ const saved = await (0, session_store_1.loadSession)(components, options.file);
33
+ if (saved)
34
+ return { session: saved.session, source: 'saved' };
35
+ if (!options.interactive) {
36
+ throw new error_1.CliError('SCENE_INSIGHTS_SESSION_REQUIRED', 'No signed-in session. Ask the user to run "sdk-commands scene-insights login" (it opens the browser to sign once, for 12 hours), or set DCL_PRIVATE_KEY');
37
+ }
38
+ }
39
+ // before the browser opens: nobody should sign a session that can't be saved
40
+ await (0, session_store_1.assertSessionFileIsNotTracked)(options.file);
41
+ const ephemeralIdentity = (0, session_1.createEphemeralIdentity)();
42
+ const expiration = new Date(Date.now() + session_1.SESSION_MINUTES * 60 * 1000);
43
+ const message = (0, session_1.getInsightsSessionMessage)(ephemeralIdentity.address, expiration);
44
+ const signed = (0, fp_future_1.default)();
45
+ const { router: commonRouter } = (0, routes_1.setRoutes)(components, {
46
+ rootCID: message,
47
+ baseParcel: label.parcel ?? '0,0',
48
+ parcels: [label.parcel ?? '0,0'],
49
+ skipValidations: true,
50
+ debug: !!process.env.DEBUG,
51
+ isWorld: !!label.world,
52
+ world: label.label,
53
+ targetUrl: options.targetUrl,
54
+ action: 'view-logs'
55
+ });
56
+ const router = setSignInRoutes(commonRouter, ephemeralIdentity.address, message, (chain) => signed.resolve(chain));
57
+ components.logger.info(`Sign read-only access to logs, metrics and executions for the next ${session_1.SESSION_MINUTES / 60} hours`);
58
+ components.logger.info('This credential works across Insights environments sharing the insights service identifier, including .org and .zone.');
59
+ const { program } = await (0, run_dapp_1.runDapp)(components, router, { ...options.linkOptions, uri: '/' });
60
+ let authChain;
61
+ try {
62
+ authChain = await signed;
63
+ }
64
+ finally {
65
+ void program.stop();
66
+ }
67
+ const validated = await crypto_1.Authenticator.validateSignature(ephemeralIdentity.address.toLowerCase(), authChain, null, Date.now(), { service: session_1.INSIGHTS_SERVICE });
68
+ if (!validated.ok || !validated.scope) {
69
+ throw new error_1.CliError('SCENE_INSIGHTS_INVALID_SIGNATURE', 'The wallet did not return a valid scoped insights login');
70
+ }
71
+ expiration.setTime(Math.min(expiration.getTime(), validated.scope.expiration));
72
+ await (0, session_store_1.saveSession)(components, options.file, ephemeralIdentity, expiration, authChain);
73
+ return { session: (0, session_1.createSessionFromChain)(ephemeralIdentity, expiration, authChain), source: 'signed' };
74
+ }
75
+ const LOOPBACK_HOSTNAMES = ['localhost', '127.0.0.1', '[::1]'];
76
+ /**
77
+ * Whether a request comes from the linker dApp's own page. The browser sets Origin and Host, so
78
+ * another page open in it (or a rebinding domain) can't pass for the dApp.
79
+ */
80
+ function isLinkerOrigin(origin, host) {
81
+ if (!origin || !host)
82
+ return false;
83
+ try {
84
+ const url = new URL(origin);
85
+ return url.host === host && LOOPBACK_HOSTNAMES.includes(url.hostname);
86
+ }
87
+ catch {
88
+ return false;
89
+ }
90
+ }
91
+ /**
92
+ * The linker dApp posts `view-logs` signatures to `/api/logs`. Only its own page is accepted: any
93
+ * other page could sign the message with its own wallet and sign the CLI in as that address.
94
+ */
95
+ function setSignInRoutes(router, ephemeralAddress, message, onSigned) {
96
+ router.post('/api/logs', async (ctx) => {
97
+ if (!isLinkerOrigin(ctx.request.headers.get('origin'), ctx.request.headers.get('host'))) {
98
+ return { status: 403, body: { success: false, error: 'Sign from the page the CLI opened on localhost' } };
99
+ }
100
+ const value = (await ctx.request.json());
101
+ try {
102
+ if (!value.address || !Array.isArray(value.authChain)) {
103
+ throw new error_1.CliError('SCENE_INSIGHTS_INVALID_SIGNATURE', 'The wallet did not sign the insights session');
104
+ }
105
+ const delegation = await (0, session_1.delegationFromLinkerChain)(value.authChain, ephemeralAddress, message);
106
+ // answer the dApp before its server is stopped
107
+ setTimeout(() => onSigned(delegation), 100);
108
+ return { body: { success: true } };
109
+ }
110
+ catch (e) {
111
+ return { status: 400, body: { success: false, error: e.message } };
112
+ }
113
+ });
114
+ return router;
115
+ }
116
+ //# sourceMappingURL=sign-in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../../src/commands/scene-insights/sign-in.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ export interface LogEntry {
2
+ id: string;
3
+ timestamp: string;
4
+ level: 'debug' | 'info' | 'warn' | 'error';
5
+ source: 'scene' | 'engine' | 'stderr' | 'unknown';
6
+ executionId: string;
7
+ entityId: string;
8
+ message: string;
9
+ truncated: boolean;
10
+ }
11
+ export interface LogSearchResult {
12
+ sceneKey: string;
13
+ logs: LogEntry[];
14
+ nextCursor: string | null;
15
+ retentionStart: string;
16
+ }
17
+ export interface Execution {
18
+ executionId: string;
19
+ entityId: string;
20
+ firstSeen: string;
21
+ lastSeen: string;
22
+ instanceId: string;
23
+ logLines: number;
24
+ }
25
+ export interface ExecutionsResult {
26
+ sceneKey: string;
27
+ executions: Execution[];
28
+ retentionStart: string;
29
+ }
30
+ export interface MetricName {
31
+ name: string;
32
+ type: 'gauge' | 'sum';
33
+ unit: string;
34
+ }
35
+ export interface MetricNamesResult {
36
+ sceneKey: string;
37
+ from: string;
38
+ to: string;
39
+ metrics: MetricName[];
40
+ }
41
+ export interface GaugePoint {
42
+ t: string;
43
+ avg: number | null;
44
+ max: number | null;
45
+ }
46
+ export interface SumPoint {
47
+ t: string;
48
+ sum: number | null;
49
+ rate: number | null;
50
+ }
51
+ export interface MetricSeries {
52
+ sceneKey: string;
53
+ metric: string;
54
+ type: 'gauge' | 'sum' | null;
55
+ unit: string;
56
+ rateUnit?: string;
57
+ stepSeconds: number;
58
+ from: string;
59
+ to: string;
60
+ points: Array<GaugePoint | SumPoint>;
61
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Response shapes of multiplayer-scenes-insights-service (its docs/openapi.yaml).
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/scene-insights/types.ts"],"names":[],"mappings":";AAAA,kFAAkF"}
@@ -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_CANCELLED_AFTER_UNDEPLOY' | 'DEPLOY_CANCEL_OUTCOME_UNCERTAIN' | 'DEPLOY_DELETE_FAILED' | 'DEPLOY_NO_PERMISSION' | 'DEPLOY_MISSING_TARGET_CONTENT' | 'DEPLOY_PARTIAL_NOT_SUPPORTED' | 'DEPLOY_CONTENT_CHECK_FAILED' | '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' | 'STORAGE_INVALID_ACTION' | 'STORAGE_MISSING_KEY' | 'STORAGE_MISSING_VALUE' | 'STORAGE_MISSING_ADDRESS' | 'STORAGE_MISSING_SUBCOMMAND' | 'STORAGE_INVALID_SUBCOMMAND' | 'STORAGE_MISSING_ACTION' | 'STORAGE_OPERATION_FAILED' | 'STORAGE_MISSING_LOCATION' | 'SERVER_LOGS_MISSING_WORLD' | 'SERVER_LOGS_INVALID_POSITION';
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_CANCELLED_AFTER_UNDEPLOY' | 'DEPLOY_CANCEL_OUTCOME_UNCERTAIN' | 'DEPLOY_DELETE_FAILED' | 'DEPLOY_NO_PERMISSION' | 'DEPLOY_MISSING_TARGET_CONTENT' | 'DEPLOY_PARTIAL_NOT_SUPPORTED' | 'DEPLOY_CONTENT_CHECK_FAILED' | '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' | 'STORAGE_INVALID_ACTION' | 'STORAGE_MISSING_KEY' | 'STORAGE_MISSING_VALUE' | 'STORAGE_MISSING_ADDRESS' | 'STORAGE_MISSING_SUBCOMMAND' | 'STORAGE_INVALID_SUBCOMMAND' | 'STORAGE_MISSING_ACTION' | 'STORAGE_OPERATION_FAILED' | 'STORAGE_MISSING_LOCATION' | 'SERVER_LOGS_MISSING_WORLD' | 'SERVER_LOGS_INVALID_POSITION' | 'SCENE_INSIGHTS_MISSING_SCENE' | 'SCENE_INSIGHTS_INVALID_ARGUMENT' | 'SCENE_INSIGHTS_UNSUPPORTED_WALLET' | 'SCENE_INSIGHTS_INVALID_SIGNATURE' | 'SCENE_INSIGHTS_SESSION_REQUIRED' | 'SCENE_INSIGHTS_UNSAFE_SESSION_FILE' | 'SCENE_INSIGHTS_UNAUTHORIZED' | 'SCENE_INSIGHTS_FORBIDDEN' | 'SCENE_INSIGHTS_NOT_FOUND' | 'SCENE_INSIGHTS_UNAVAILABLE' | 'SCENE_INSIGHTS_REQUEST_FAILED' | 'SCENE_INSIGHTS_STREAM_ENDED';
2
2
  export declare class CliError<T extends CliErrorName> extends Error {
3
3
  name: T;
4
4
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/logic/error.ts"],"names":[],"mappings":";;;AAuFA,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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/logic/error.ts"],"names":[],"mappings":";;;AAoGA,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"}
@@ -84,8 +84,9 @@ async function runSdkCommand(components, command, argv) {
84
84
  else {
85
85
  (0, beautiful_logs_1.printCommand)(components.logger, command);
86
86
  const ret = await cmd.main({ args, components });
87
- // print the result of the evaluation as json in the standard output
88
- if (needsJson) {
87
+ // print the result of the evaluation as json in the standard output; a command that wrote
88
+ // its own JSON (a stream, or an error) returns nothing
89
+ if (needsJson && ret !== undefined) {
89
90
  process.stdout.write(JSON.stringify(ret, null, 2));
90
91
  }
91
92
  return ret;
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../src/run-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../src/run-command.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.31.1-40606969412.commit-24c05c3",
4
+ "version": "7.31.1-41472004640.commit-3147448",
5
5
  "author": "Decentraland",
6
6
  "bin": {
7
7
  "sdk-commands": "./dist/index.js"
8
8
  },
9
9
  "dependencies": {
10
- "@dcl/crypto": "^3.4.4",
11
- "@dcl/ecs": "7.31.1-40606969412.commit-24c05c3",
10
+ "@dcl/crypto": "^3.9.0",
11
+ "@dcl/ecs": "7.31.1-41472004640.commit-3147448",
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.16.0",
16
16
  "@dcl/mini-comms": "1.0.1-20230216163137.commit-a4c75be",
17
- "@dcl/protocol": "1.0.0-40603192045.commit-e7bab56",
17
+ "@dcl/protocol": "1.0.0-39771882714.commit-70f2654",
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": "24c05c38dee2062d70b9bd7a6790b01cd6e98678"
77
+ "commit": "3147448fde36e4c3fec211567b2b75adc6392f3f"
78
78
  }