@dcl/opscli 1.0.0-1824565127.commit-b293887 → 1.0.0-18911655998.commit-4d154df
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/README.md +148 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +35 -8
- package/dist/bin.js.map +1 -1
- package/dist/commands/check-ab-conversion.d.ts +3 -0
- package/dist/commands/check-ab-conversion.d.ts.map +1 -0
- package/dist/commands/check-ab-conversion.js +66 -0
- package/dist/commands/check-ab-conversion.js.map +1 -0
- package/dist/commands/circleci.d.ts +2 -0
- package/dist/commands/circleci.d.ts.map +1 -0
- package/dist/commands/circleci.js +33 -0
- package/dist/commands/circleci.js.map +1 -0
- package/dist/commands/concat-snapshots.d.ts +3 -0
- package/dist/commands/concat-snapshots.d.ts.map +1 -0
- package/dist/commands/concat-snapshots.js +69 -0
- package/dist/commands/concat-snapshots.js.map +1 -0
- package/dist/commands/deploy-entity.d.ts +3 -0
- package/dist/commands/deploy-entity.d.ts.map +1 -0
- package/dist/commands/deploy-entity.js +90 -0
- package/dist/commands/deploy-entity.js.map +1 -0
- package/dist/commands/download-entity.d.ts +3 -0
- package/dist/commands/download-entity.d.ts.map +1 -0
- package/dist/commands/download-entity.js +50 -0
- package/dist/commands/download-entity.js.map +1 -0
- package/dist/commands/parameters-manager.d.ts +2 -0
- package/dist/commands/parameters-manager.d.ts.map +1 -0
- package/dist/commands/parameters-manager.js +56 -0
- package/dist/commands/parameters-manager.js.map +1 -0
- package/dist/commands/pointer-consistency.d.ts.map +1 -1
- package/dist/commands/pointer-consistency.js +54 -13
- package/dist/commands/pointer-consistency.js.map +1 -1
- package/dist/commands/query-rollout.js +10 -10
- package/dist/commands/query-rollout.js.map +1 -1
- package/dist/commands/queue-ab-conversion-about.d.ts +3 -0
- package/dist/commands/queue-ab-conversion-about.d.ts.map +1 -0
- package/dist/commands/queue-ab-conversion-about.js +61 -0
- package/dist/commands/queue-ab-conversion-about.js.map +1 -0
- package/dist/commands/queue-ab-conversion-snapshot.d.ts +3 -0
- package/dist/commands/queue-ab-conversion-snapshot.d.ts.map +1 -0
- package/dist/commands/queue-ab-conversion-snapshot.js +228 -0
- package/dist/commands/queue-ab-conversion-snapshot.js.map +1 -0
- package/dist/commands/queue-ab-conversion.d.ts +3 -0
- package/dist/commands/queue-ab-conversion.d.ts.map +1 -0
- package/dist/commands/queue-ab-conversion.js +80 -0
- package/dist/commands/queue-ab-conversion.js.map +1 -0
- package/dist/commands/secret-manager.d.ts +2 -0
- package/dist/commands/secret-manager.d.ts.map +1 -0
- package/dist/commands/secret-manager.js +73 -0
- package/dist/commands/secret-manager.js.map +1 -0
- package/dist/commands/update-renderer-upm.d.ts +3 -0
- package/dist/commands/update-renderer-upm.d.ts.map +1 -0
- package/dist/commands/update-renderer-upm.js +49 -0
- package/dist/commands/update-renderer-upm.js.map +1 -0
- package/dist/commands/wearables-consistency.d.ts.map +1 -1
- package/dist/commands/wearables-consistency.js +8 -8
- package/dist/commands/wearables-consistency.js.map +1 -1
- package/dist/helpers/ago.d.ts +2 -0
- package/dist/helpers/ago.d.ts.map +1 -0
- package/dist/helpers/ago.js +35 -0
- package/dist/helpers/ago.js.map +1 -0
- package/dist/helpers/assert.d.ts +1 -1
- package/dist/helpers/asset-bundles.d.ts +11 -0
- package/dist/helpers/asset-bundles.d.ts.map +1 -0
- package/dist/helpers/asset-bundles.js +40 -0
- package/dist/helpers/asset-bundles.js.map +1 -0
- package/dist/helpers/catalysts.d.ts +2 -1
- package/dist/helpers/catalysts.d.ts.map +1 -1
- package/dist/helpers/catalysts.js +7 -8
- package/dist/helpers/catalysts.js.map +1 -1
- package/dist/helpers/downloads.d.ts +6 -0
- package/dist/helpers/downloads.d.ts.map +1 -0
- package/dist/helpers/downloads.js +48 -0
- package/dist/helpers/downloads.js.map +1 -0
- package/dist/helpers/env-domains.d.ts +2 -0
- package/dist/helpers/env-domains.d.ts.map +1 -0
- package/dist/helpers/env-domains.js +18 -0
- package/dist/helpers/env-domains.js.map +1 -0
- package/dist/helpers/fileWriter.d.ts +7 -0
- package/dist/helpers/fileWriter.d.ts.map +1 -0
- package/dist/helpers/fileWriter.js +86 -0
- package/dist/helpers/fileWriter.js.map +1 -0
- package/dist/helpers/parse-utils.d.ts +7 -0
- package/dist/helpers/parse-utils.d.ts.map +1 -0
- package/dist/helpers/parse-utils.js +64 -0
- package/dist/helpers/parse-utils.js.map +1 -0
- package/dist/helpers/parseEntityUrn.d.ts +6 -0
- package/dist/helpers/parseEntityUrn.d.ts.map +1 -0
- package/dist/helpers/parseEntityUrn.js +23 -0
- package/dist/helpers/parseEntityUrn.js.map +1 -0
- package/dist/helpers/recurse-folder.d.ts +2 -0
- package/dist/helpers/recurse-folder.d.ts.map +1 -0
- package/dist/helpers/recurse-folder.js +40 -0
- package/dist/helpers/recurse-folder.js.map +1 -0
- package/dist/helpers/rollouts.d.ts +4 -6
- package/dist/helpers/rollouts.d.ts.map +1 -1
- package/dist/helpers/rollouts.js +3 -6
- package/dist/helpers/rollouts.js.map +1 -1
- package/dist/helpers/sign-gpg.d.ts +3 -0
- package/dist/helpers/sign-gpg.d.ts.map +1 -0
- package/dist/helpers/sign-gpg.js +41 -0
- package/dist/helpers/sign-gpg.js.map +1 -0
- package/dist/helpers/types.d.ts +1 -1
- package/dist/helpers/types.d.ts.map +1 -1
- package/package.json +23 -14
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
const arg_1 = __importDefault(require("arg"));
|
|
7
|
+
const undici_1 = require("undici");
|
|
8
|
+
const assert_1 = require("../helpers/assert");
|
|
9
|
+
const env_domains_1 = require("../helpers/env-domains");
|
|
10
|
+
const sign_gpg_1 = require("../helpers/sign-gpg");
|
|
11
|
+
async function default_1() {
|
|
12
|
+
const args = (0, arg_1.default)({
|
|
13
|
+
'--env': String,
|
|
14
|
+
'--name': String,
|
|
15
|
+
'--value': String,
|
|
16
|
+
'--update': Boolean,
|
|
17
|
+
'--delete': Boolean
|
|
18
|
+
});
|
|
19
|
+
const env = (0, assert_1.assert)(args['--env'], '--env is missing');
|
|
20
|
+
const name = (0, assert_1.assert)(args['--name'], '--name is missing');
|
|
21
|
+
const hasValue = !!args['--value'];
|
|
22
|
+
const hasUpdate = !!args['--update'];
|
|
23
|
+
const hasDelete = !!args['--delete'];
|
|
24
|
+
if (hasDelete && hasValue) {
|
|
25
|
+
throw new Error('Cannot use --delete with --value');
|
|
26
|
+
}
|
|
27
|
+
else if (!hasDelete && !hasValue) {
|
|
28
|
+
throw new Error('You must provide either --value or --delete');
|
|
29
|
+
}
|
|
30
|
+
if (hasDelete && hasUpdate) {
|
|
31
|
+
throw new Error('Cannot use --delete with --update');
|
|
32
|
+
}
|
|
33
|
+
const value = hasValue ? args['--value'] : '';
|
|
34
|
+
const fileContent = [env, name, value].join('\n');
|
|
35
|
+
const envDomain = (0, env_domains_1.tldFromEnv)(env);
|
|
36
|
+
const signed = await (0, sign_gpg_1.signGpgCleartext)(fileContent);
|
|
37
|
+
if (hasDelete)
|
|
38
|
+
console.log('> Deleting the parameter...');
|
|
39
|
+
else
|
|
40
|
+
console.log('> Uploading the parameter...');
|
|
41
|
+
const res = await (0, undici_1.fetch)(`https://ops-lambdas.decentraland.${envDomain}/parameters-manager`, {
|
|
42
|
+
method: hasDelete ? 'DELETE' : hasUpdate ? 'PUT' : 'POST',
|
|
43
|
+
body: signed.toString()
|
|
44
|
+
});
|
|
45
|
+
const response = await res.text();
|
|
46
|
+
if (res.status !== 200) {
|
|
47
|
+
if (response.includes('ParameterAlreadyExists')) {
|
|
48
|
+
throw new Error("That parameter already exists, please use '--update' if you want to update it");
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`An error has occured while uploading the secret: ${response}`);
|
|
51
|
+
}
|
|
52
|
+
console.log(' OK! Response:');
|
|
53
|
+
console.log(response);
|
|
54
|
+
}
|
|
55
|
+
exports.default = default_1;
|
|
56
|
+
//# sourceMappingURL=parameters-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters-manager.js","sourceRoot":"","sources":["../../src/commands/parameters-manager.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,mCAA8B;AAC9B,8CAA0C;AAC1C,wDAAmD;AACnD,kDAAsD;AAEvC,KAAK;IAClB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEpC,IAAI,SAAS,IAAI,QAAQ,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;SAAM,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;KAC/D;IAED,IAAI,SAAS,IAAI,SAAS,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE9C,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjD,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAgB,EAAC,WAAW,CAAC,CAAA;IAElD,IAAI,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;;QACpD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,oCAAoC,SAAS,qBAAqB,EAAE;QAC1F,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACzD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAA;SACjG;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,EAAE,CAAC,CAAA;KAChF;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAE9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACvB,CAAC;AAtDD,4BAsDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer-consistency.d.ts","sourceRoot":"","sources":["../../src/commands/pointer-consistency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pointer-consistency.d.ts","sourceRoot":"","sources":["../../src/commands/pointer-consistency.ts"],"names":[],"mappings":"AA4BA,0CAyDC"}
|
|
@@ -4,29 +4,70 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const arg_1 = __importDefault(require("arg"));
|
|
7
|
+
const undici_1 = require("undici");
|
|
8
|
+
const ago_1 = require("../helpers/ago");
|
|
7
9
|
const assert_1 = require("../helpers/assert");
|
|
8
10
|
const catalysts_1 = require("../helpers/catalysts");
|
|
11
|
+
async function checkAssetBundleAvailability(entityId) {
|
|
12
|
+
const platforms = [
|
|
13
|
+
{ name: 'WebGL', suffix: '' },
|
|
14
|
+
{ name: 'Windows', suffix: '_windows' },
|
|
15
|
+
{ name: 'Mac', suffix: '_mac' }
|
|
16
|
+
];
|
|
17
|
+
console.log('> Asset Bundles:');
|
|
18
|
+
for (const platform of platforms) {
|
|
19
|
+
const url = `https://ab-cdn.decentraland.org/manifest/${entityId}${platform.suffix}.json`;
|
|
20
|
+
try {
|
|
21
|
+
const response = await (0, undici_1.fetch)(url);
|
|
22
|
+
const status = response.status === 200 ? '✅' : '❌';
|
|
23
|
+
console.log(` ${platform.name.padEnd(8, ' ')} ${status}`);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.log(` ${platform.name.padEnd(8, ' ')} ❌`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
9
30
|
async function default_1() {
|
|
10
|
-
const args = arg_1.default({
|
|
11
|
-
|
|
31
|
+
const args = (0, arg_1.default)({
|
|
32
|
+
'--pointer': String
|
|
12
33
|
});
|
|
13
|
-
|
|
14
|
-
|
|
34
|
+
let pointer = (0, assert_1.assert)(args['--pointer'], '--pointer is missing');
|
|
35
|
+
if (pointer.startsWith('\\')) {
|
|
36
|
+
pointer = pointer.substring(1);
|
|
37
|
+
}
|
|
38
|
+
const catalysts = await (0, catalysts_1.daoCatalysts)();
|
|
15
39
|
console.log(` Got ${catalysts.length} catalysts`);
|
|
16
|
-
console.log(`> Fetching
|
|
17
|
-
|
|
40
|
+
console.log(`> Fetching pointer in every catalyst: ${JSON.stringify(pointer)}`);
|
|
41
|
+
const timestamps = [];
|
|
42
|
+
const entityIds = new Set();
|
|
43
|
+
const deployments = [];
|
|
44
|
+
for (const { baseUrl } of catalysts) {
|
|
18
45
|
try {
|
|
19
|
-
const result = await catalysts_1.fetchEntityByPointer(baseUrl, pointer);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
46
|
+
const result = await (0, catalysts_1.fetchEntityByPointer)(baseUrl, pointer);
|
|
47
|
+
const date = new Date(result.deployments[0]?.localTimestamp);
|
|
48
|
+
const entityId = result.deployments[0]?.entityId;
|
|
49
|
+
console.log(' ' + result.baseUrl.padEnd(45, ' ') + date.toISOString() + ` (${(0, ago_1.ago)(date)}) ` + entityId);
|
|
50
|
+
timestamps.push(date);
|
|
51
|
+
entityIds.add(entityId);
|
|
52
|
+
deployments.push({ timestamp: date, entityId });
|
|
25
53
|
}
|
|
26
54
|
catch (err) {
|
|
27
|
-
console.log(
|
|
55
|
+
console.log(' ' + baseUrl.padEnd(45, ' ') + err.message);
|
|
28
56
|
}
|
|
29
57
|
}
|
|
58
|
+
timestamps.sort();
|
|
59
|
+
const minDate = timestamps[0];
|
|
60
|
+
const maxDate = timestamps[timestamps.length - 1];
|
|
61
|
+
console.log(`> PropagationTime: ${Math.floor((maxDate.getTime() - minDate.getTime()) / 1000)} seconds `.padEnd(47, ' ') +
|
|
62
|
+
`${minDate.toISOString()} -> ${maxDate.toISOString()}`);
|
|
63
|
+
console.log(`> Convergent: ${entityIds.size === 1 ? '✅' : '❌'}`);
|
|
64
|
+
// Check asset bundle availability for the most recent deployment
|
|
65
|
+
if (deployments.length > 0) {
|
|
66
|
+
// Find the most recent deployment
|
|
67
|
+
const mostRecent = deployments.reduce((latest, current) => current.timestamp > latest.timestamp ? current : latest);
|
|
68
|
+
console.log(`> Most recent deployment entity ID: ${mostRecent.entityId}`);
|
|
69
|
+
await checkAssetBundleAvailability(mostRecent.entityId);
|
|
70
|
+
}
|
|
30
71
|
}
|
|
31
72
|
exports.default = default_1;
|
|
32
73
|
//# sourceMappingURL=pointer-consistency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer-consistency.js","sourceRoot":"","sources":["../../src/commands/pointer-consistency.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,8CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"pointer-consistency.js","sourceRoot":"","sources":["../../src/commands/pointer-consistency.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,27 +7,27 @@ const arg_1 = __importDefault(require("arg"));
|
|
|
7
7
|
const assert_1 = require("../helpers/assert");
|
|
8
8
|
const rollouts_1 = require("../helpers/rollouts");
|
|
9
9
|
exports.default = async () => {
|
|
10
|
-
const args = arg_1.default({
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const args = (0, arg_1.default)({
|
|
11
|
+
'--domain': String,
|
|
12
|
+
'--rolloutName': String
|
|
13
13
|
});
|
|
14
|
-
const domain = args[
|
|
15
|
-
assert_1.assert(domain,
|
|
16
|
-
const rollouts = await rollouts_1.checkRollouts(domain);
|
|
14
|
+
const domain = args['--domain'];
|
|
15
|
+
(0, assert_1.assert)(domain, '--domain is missing');
|
|
16
|
+
const rollouts = await (0, rollouts_1.checkRollouts)(domain);
|
|
17
17
|
console.group(`Current rollouts for domain "${domain}" for this request`);
|
|
18
|
-
console.table(rollouts.
|
|
18
|
+
console.table(rollouts.rolloutMap);
|
|
19
19
|
console.groupEnd();
|
|
20
|
-
const rolloutName = args[
|
|
20
|
+
const rolloutName = args['--rolloutName'];
|
|
21
21
|
if (rolloutName) {
|
|
22
22
|
console.group(`Raw data for rollout "${rolloutName}" for domain "${domain}"`);
|
|
23
|
-
const rollout = rollouts.
|
|
23
|
+
const rollout = rollouts.records[rolloutName];
|
|
24
24
|
// Simulate the distribution for 1000 sessions
|
|
25
25
|
let totalSessions = 1000.0;
|
|
26
26
|
for (let i = 0; i < rollout.length; ++i) {
|
|
27
27
|
rollout[i].each1000sessions = Math.round((totalSessions * rollout[i].percentage) / 100.0);
|
|
28
28
|
totalSessions -= rollout[i].each1000sessions;
|
|
29
29
|
}
|
|
30
|
-
console.table(rollout, [
|
|
30
|
+
console.table(rollout, ['percentage', 'version', 'each1000sessions']);
|
|
31
31
|
console.groupEnd();
|
|
32
32
|
}
|
|
33
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-rollout.js","sourceRoot":"","sources":["../../src/commands/query-rollout.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,8CAA0C;AAC1C,kDAAmD;AAEnD,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,IAAI,GAAG,aAAG,
|
|
1
|
+
{"version":3,"file":"query-rollout.js","sourceRoot":"","sources":["../../src/commands/query-rollout.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,8CAA0C;AAC1C,kDAAmD;AAEnD,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,UAAU,EAAE,MAAM;QAClB,eAAe,EAAE,MAAM;KACxB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAE,CAAA;IAEhC,IAAA,eAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAErC,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAA;IAE5C,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,oBAAoB,CAAC,CAAA;IACzE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAClC,OAAO,CAAC,QAAQ,EAAE,CAAA;IAElB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAA;IAEzC,IAAI,WAAW,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,WAAW,iBAAiB,MAAM,GAAG,CAAC,CAAA;QAE7E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAE7C,8CAA8C;QAC9C,IAAI,aAAa,GAAG,MAAM,CAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAA;YACzF,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAA;SAC7C;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,QAAQ,EAAE,CAAA;KACnB;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-ab-conversion-about.d.ts","sourceRoot":"","sources":["../../src/commands/queue-ab-conversion-about.ts"],"names":[],"mappings":";AAQA,wBA0DC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
const schemas_1 = require("@dcl/schemas");
|
|
7
|
+
const arg_1 = __importDefault(require("arg"));
|
|
8
|
+
const assert_1 = require("../helpers/assert");
|
|
9
|
+
const asset_bundles_1 = require("../helpers/asset-bundles");
|
|
10
|
+
const undici_1 = require("undici");
|
|
11
|
+
const bin_1 = require("../bin");
|
|
12
|
+
const parseEntityUrn_1 = require("../helpers/parseEntityUrn");
|
|
13
|
+
exports.default = async () => {
|
|
14
|
+
const args = (0, arg_1.default)({
|
|
15
|
+
'--about-url': String,
|
|
16
|
+
'--ab-server': String,
|
|
17
|
+
'--platform': [String],
|
|
18
|
+
'--token': String,
|
|
19
|
+
'--force': Boolean,
|
|
20
|
+
'--prioritize': Boolean
|
|
21
|
+
});
|
|
22
|
+
const aboutUrl = args['--about-url'];
|
|
23
|
+
const token = args['--token'];
|
|
24
|
+
const abServer = args['--ab-server'] || asset_bundles_1.productionAbAdmin;
|
|
25
|
+
const platforms = args['--platform'] || Object.values(asset_bundles_1.Platform);
|
|
26
|
+
const force = args['--force'] || false;
|
|
27
|
+
const shouldPrioritize = !!args['--prioritize'];
|
|
28
|
+
(0, assert_1.assert)(!!token, '--token is missing');
|
|
29
|
+
platforms.forEach((platform) => (0, assert_1.assert)(Object.values(asset_bundles_1.Platform).includes(platform), `Invalid platform: ${platform}`));
|
|
30
|
+
console.log(`> Parameters:`);
|
|
31
|
+
console.log(` Platform(s): ${platforms.join(',')}`);
|
|
32
|
+
console.log(` Asset bundle server: ${abServer}`);
|
|
33
|
+
console.log(` Force rebuild: ${force}`);
|
|
34
|
+
const aboutReq = await (0, undici_1.fetch)(aboutUrl);
|
|
35
|
+
if (!aboutReq.ok)
|
|
36
|
+
throw new bin_1.CliError(`Invalid response from ${aboutUrl}`);
|
|
37
|
+
const aboutJson = (await aboutReq.json());
|
|
38
|
+
if (!aboutJson.configurations.scenesUrn)
|
|
39
|
+
throw new bin_1.CliError(`Json has invalid format`);
|
|
40
|
+
for (const urn of aboutJson.configurations.scenesUrn) {
|
|
41
|
+
const parsed = (0, parseEntityUrn_1.parseEntityUrn)(urn);
|
|
42
|
+
console.log(`> Scheduling conversion of entity ${parsed.entityId}`);
|
|
43
|
+
const result = await (0, asset_bundles_1.queueConversions)(abServer, {
|
|
44
|
+
entity: {
|
|
45
|
+
entityId: parsed.entityId,
|
|
46
|
+
authChain: [
|
|
47
|
+
{
|
|
48
|
+
type: schemas_1.AuthLinkType.SIGNER,
|
|
49
|
+
payload: '0x0000000000000000000000000000000000000000',
|
|
50
|
+
signature: ''
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
contentServerUrls: [parsed.baseUrl || 'https://peer.decentraland.org/content'],
|
|
55
|
+
force
|
|
56
|
+
}, token, shouldPrioritize, platforms);
|
|
57
|
+
console.log(` Result:`, JSON.stringify(result));
|
|
58
|
+
}
|
|
59
|
+
console.log(`Finished!`);
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=queue-ab-conversion-about.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-ab-conversion-about.js","sourceRoot":"","sources":["../../src/commands/queue-ab-conversion-about.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-ab-conversion-snapshot.d.ts","sourceRoot":"","sources":["../../src/commands/queue-ab-conversion-snapshot.ts"],"names":[],"mappings":";AAWA,wBAuGC"}
|
|
@@ -0,0 +1,228 @@
|
|
|
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
|
+
const schemas_1 = require("@dcl/schemas");
|
|
7
|
+
const arg_1 = __importDefault(require("arg"));
|
|
8
|
+
const undici_1 = require("undici");
|
|
9
|
+
const bin_1 = require("../bin");
|
|
10
|
+
const assert_1 = require("../helpers/assert");
|
|
11
|
+
const asset_bundles_1 = require("../helpers/asset-bundles");
|
|
12
|
+
const string_decoder_1 = require("string_decoder");
|
|
13
|
+
const process_1 = require("process");
|
|
14
|
+
// PROCESS AN ENTIRE SNAPSHOT
|
|
15
|
+
exports.default = async () => {
|
|
16
|
+
const args = (0, arg_1.default)({
|
|
17
|
+
'--snapshot': String,
|
|
18
|
+
'--world-name': String,
|
|
19
|
+
'--content-server': String,
|
|
20
|
+
'--start-position': String,
|
|
21
|
+
'--start-date': String,
|
|
22
|
+
'--grep': String,
|
|
23
|
+
'--ab-server': String,
|
|
24
|
+
'--platform': [String],
|
|
25
|
+
'--token': String,
|
|
26
|
+
'--prioritize': Boolean
|
|
27
|
+
});
|
|
28
|
+
const snapshot = args['--snapshot'] || 'wearable';
|
|
29
|
+
const token = args['--token'];
|
|
30
|
+
const abServer = args['--ab-server'] || asset_bundles_1.productionAbAdmin;
|
|
31
|
+
const platforms = args['--platform'] || Object.values(asset_bundles_1.Platform);
|
|
32
|
+
const shouldPrioritize = !!args['--prioritize'];
|
|
33
|
+
(0, assert_1.assert)(!!snapshot, '--snapshot is missing');
|
|
34
|
+
(0, assert_1.assert)(!!token, '--token is missing');
|
|
35
|
+
platforms.forEach((platform) => (0, assert_1.assert)(Object.values(asset_bundles_1.Platform).includes(platform), `Invalid platform: ${platform}`));
|
|
36
|
+
console.log(`> Parameters:`);
|
|
37
|
+
const contentUrl = (args['--content-server'] || 'https://peer.decentraland.org/content').replace(/\/$/, '');
|
|
38
|
+
console.log(` Platform(s): ${platforms.join(',')}`);
|
|
39
|
+
console.log(` Entity type: ${snapshot}`);
|
|
40
|
+
console.log(` Content server: ${contentUrl}`);
|
|
41
|
+
console.log(` Asset bundle server: ${abServer}`);
|
|
42
|
+
if (snapshot === 'worlds') {
|
|
43
|
+
const specificWorld = args['--world-name'];
|
|
44
|
+
if (specificWorld) {
|
|
45
|
+
await processWorld(abServer, token, specificWorld, shouldPrioritize, platforms);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
await processWorlds(abServer, token, shouldPrioritize, platforms);
|
|
49
|
+
}
|
|
50
|
+
console.log(`Finished!`);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
console.log(`> Fetching snapshots`);
|
|
54
|
+
const snapshotReq = await (0, undici_1.fetch)(`${contentUrl}/snapshots`);
|
|
55
|
+
if (!snapshotReq.ok)
|
|
56
|
+
throw new bin_1.CliError(`Invalid snapshot response from ${contentUrl}/snapshots`);
|
|
57
|
+
const snapshotsJson = (await snapshotReq.json());
|
|
58
|
+
const startDate = (args['--start-date'] ? new Date(args['--start-date']).getTime() : 0) || -1;
|
|
59
|
+
const snapshotEntitiesToProcess = Array();
|
|
60
|
+
// select valid snapshots based on the start date
|
|
61
|
+
for (let i = 0; i < snapshotsJson.length; i++) {
|
|
62
|
+
const value = snapshotsJson[i];
|
|
63
|
+
const toTime = value.timeRange.endTimestamp;
|
|
64
|
+
if (toTime >= startDate) {
|
|
65
|
+
snapshotEntitiesToProcess.push(value);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const snapshotsCount = snapshotEntitiesToProcess.length;
|
|
69
|
+
if (snapshotsCount === 0) {
|
|
70
|
+
throw new bin_1.CliError(`No snapshot entity found at time ${startDate}`);
|
|
71
|
+
}
|
|
72
|
+
const argStartPosition = args['--start-position'];
|
|
73
|
+
const argGrep = args['--grep'];
|
|
74
|
+
let shouldSkipUntilStartPosition = argStartPosition || false;
|
|
75
|
+
for (let i = 0; i < snapshotsCount; i++) {
|
|
76
|
+
const hash = snapshotEntitiesToProcess[i].hash;
|
|
77
|
+
const numberOfEntities = snapshotEntitiesToProcess[i].numberOfEntities;
|
|
78
|
+
console.log(`> (${i + 1}/${snapshotsCount}) Fetching file ${hash} with ${numberOfEntities} entities`);
|
|
79
|
+
const snapshotUrl = `${contentUrl}/contents/${hash}`;
|
|
80
|
+
await processSnapshot(snapshotUrl, async (line, index) => {
|
|
81
|
+
const percent = (100 * (index / numberOfEntities)).toFixed(2);
|
|
82
|
+
try {
|
|
83
|
+
if (argGrep && !line.match(argGrep))
|
|
84
|
+
return;
|
|
85
|
+
const entity = JSON.parse(line);
|
|
86
|
+
if (shouldSkipUntilStartPosition) {
|
|
87
|
+
if (entity.entityId === argStartPosition) {
|
|
88
|
+
shouldSkipUntilStartPosition = false;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (startDate <= entity.entityTimestamp && entity.entityType === snapshot) {
|
|
95
|
+
await tryRetryQueueConversion(abServer, entity.entityId, contentUrl, token, shouldPrioritize, platforms);
|
|
96
|
+
console.log(` (${i + 1}/${snapshotsCount}) [${percent}%]`, entity.entityId, entity.pointers[0]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.log(error);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
console.log(`Finished!`);
|
|
105
|
+
};
|
|
106
|
+
const processWorlds = async (abServer, token, prioritize, platforms) => {
|
|
107
|
+
console.log('Processing worlds.');
|
|
108
|
+
const worldsIndexUrl = 'https://worlds-content-server.decentraland.org/index';
|
|
109
|
+
const worldsContentUrl = 'https://worlds-content-server.decentraland.org/';
|
|
110
|
+
const worldsReq = await (0, undici_1.fetch)(worldsIndexUrl);
|
|
111
|
+
if (!worldsReq.ok)
|
|
112
|
+
throw new bin_1.CliError(`Invalid response from ${worldsIndexUrl}`);
|
|
113
|
+
const worldsJson = (await worldsReq.json());
|
|
114
|
+
if (!worldsJson.data)
|
|
115
|
+
throw new bin_1.CliError(`Json has invalid format`);
|
|
116
|
+
const worlds = worldsJson.data;
|
|
117
|
+
const worldsCount = worlds.length;
|
|
118
|
+
for (let i = 0; i < worldsCount; i++) {
|
|
119
|
+
const percent = (100 * (i / worldsCount)).toFixed(2);
|
|
120
|
+
const world = worlds[i];
|
|
121
|
+
const name = world.name;
|
|
122
|
+
const scenes = world.scenes;
|
|
123
|
+
for (let j = 0; j < scenes.length; j++) {
|
|
124
|
+
const scene = scenes[j];
|
|
125
|
+
console.log(`> [${percent}%]`, name, scene.id);
|
|
126
|
+
await tryRetryQueueConversion(abServer, scene.id, worldsContentUrl, token, prioritize, platforms);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const processWorld = async (abServer, token, worldName, prioritize, platforms) => {
|
|
131
|
+
console.log(`Processing world: ${worldName}.`);
|
|
132
|
+
const worldsIndexUrl = 'https://worlds-content-server.decentraland.org/index';
|
|
133
|
+
const worldsContentUrl = 'https://worlds-content-server.decentraland.org/';
|
|
134
|
+
const worldsReq = await (0, undici_1.fetch)(worldsIndexUrl);
|
|
135
|
+
if (!worldsReq.ok)
|
|
136
|
+
throw new bin_1.CliError(`Invalid response from ${worldsIndexUrl}`);
|
|
137
|
+
const worldsJson = (await worldsReq.json());
|
|
138
|
+
if (!worldsJson.data)
|
|
139
|
+
throw new bin_1.CliError(`Json has invalid format`);
|
|
140
|
+
const worlds = worldsJson.data;
|
|
141
|
+
if (worldName) {
|
|
142
|
+
const world = worlds.find((f) => f.name === worldName);
|
|
143
|
+
if (!world) {
|
|
144
|
+
console.error(`World ${worldName} was not found in index. Cannot process.`);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.log(`World ${world.name} was found in index. Processing.`);
|
|
148
|
+
const scenes = world.scenes;
|
|
149
|
+
for (let j = 0; j < scenes.length; j++) {
|
|
150
|
+
const scene = scenes[j];
|
|
151
|
+
const percent = (100 * ((j + 1) / scenes.length)).toFixed(2);
|
|
152
|
+
console.log(`> [${percent}%]`, world.name, scene.id);
|
|
153
|
+
await tryRetryQueueConversion(abServer, scene.id, worldsContentUrl, token, prioritize, platforms);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const tryRetryQueueConversion = async (abServer, entityId, contentUrl, token, prioritize, platforms, retryCount = 0) => {
|
|
159
|
+
if (retryCount > 3) {
|
|
160
|
+
console.log(`> ${abServer} ${entityId} retry count exceeded, please check your connection.`);
|
|
161
|
+
(0, process_1.exit)(1);
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
await (0, asset_bundles_1.queueConversions)(abServer, {
|
|
165
|
+
entity: {
|
|
166
|
+
entityId: entityId,
|
|
167
|
+
authChain: [
|
|
168
|
+
{
|
|
169
|
+
type: schemas_1.AuthLinkType.SIGNER,
|
|
170
|
+
payload: '0x0000000000000000000000000000000000000000',
|
|
171
|
+
signature: ''
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
contentServerUrls: [contentUrl]
|
|
176
|
+
}, token, prioritize, platforms);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
console.log(`> Unexpected error, retrying in 5 seconds...`);
|
|
180
|
+
await new Promise((f) => setTimeout(f, 5000));
|
|
181
|
+
await tryRetryQueueConversion(abServer, entityId, contentUrl, token, prioritize, platforms, retryCount + 1);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
const processSnapshot = async (url, processLine, retryCount = 0, skipToIndex = -1) => {
|
|
185
|
+
if (retryCount > 3) {
|
|
186
|
+
console.error(`Failed downloading snapshot with url: ${url} after 3 retries.`);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const decoder = new string_decoder_1.StringDecoder('utf8');
|
|
190
|
+
let remaining = '';
|
|
191
|
+
let index = 0;
|
|
192
|
+
try {
|
|
193
|
+
const response = await (0, undici_1.fetch)(url);
|
|
194
|
+
if (!response.ok) {
|
|
195
|
+
throw new bin_1.CliError(`Invalid response from ${url}`);
|
|
196
|
+
}
|
|
197
|
+
for await (const data of response.body ?? []) {
|
|
198
|
+
const chunk = decoder.write(data);
|
|
199
|
+
const lines = (remaining + chunk).split('\n');
|
|
200
|
+
if (!chunk.endsWith('\n')) {
|
|
201
|
+
remaining = lines.pop();
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
remaining = '';
|
|
205
|
+
}
|
|
206
|
+
for (const line of lines) {
|
|
207
|
+
if (skipToIndex < 0 || skipToIndex >= index) {
|
|
208
|
+
if (line.trim().startsWith('{')) {
|
|
209
|
+
await processLine(line, index);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
index++;
|
|
213
|
+
process.stdout.write(index + '\r');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (remaining) {
|
|
217
|
+
if (remaining.trim().startsWith('{')) {
|
|
218
|
+
await processLine(remaining, index);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
console.error(`Failed downloading snapshot ${url}: ${error} \n - Retrying in 5 seconds...`);
|
|
224
|
+
await new Promise((f) => setTimeout(f, 5000));
|
|
225
|
+
await processSnapshot(url, processLine, retryCount + 1, index);
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=queue-ab-conversion-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-ab-conversion-snapshot.js","sourceRoot":"","sources":["../../src/commands/queue-ab-conversion-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-ab-conversion.d.ts","sourceRoot":"","sources":["../../src/commands/queue-ab-conversion.ts"],"names":[],"mappings":";AAMA,wBAiFC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
const schemas_1 = require("@dcl/schemas");
|
|
7
|
+
const arg_1 = __importDefault(require("arg"));
|
|
8
|
+
const assert_1 = require("../helpers/assert");
|
|
9
|
+
const asset_bundles_1 = require("../helpers/asset-bundles");
|
|
10
|
+
const downloads_1 = require("../helpers/downloads");
|
|
11
|
+
exports.default = async () => {
|
|
12
|
+
const args = (0, arg_1.default)({
|
|
13
|
+
'--cid': [String],
|
|
14
|
+
'--pointer': [String],
|
|
15
|
+
'--content-server': String,
|
|
16
|
+
'--ab-server': String,
|
|
17
|
+
'--platform': [String],
|
|
18
|
+
'--token': String,
|
|
19
|
+
'--prioritize': Boolean,
|
|
20
|
+
'--animation': String,
|
|
21
|
+
'--doISS': Boolean,
|
|
22
|
+
'--force': Boolean
|
|
23
|
+
});
|
|
24
|
+
const pointers = args['--pointer'] || [];
|
|
25
|
+
const cids = args['--cid'] || [];
|
|
26
|
+
const token = args['--token'];
|
|
27
|
+
const abServer = args['--ab-server'] || asset_bundles_1.productionAbAdmin;
|
|
28
|
+
const platforms = args['--platform'] || Object.values(asset_bundles_1.Platform);
|
|
29
|
+
const contentUrl = (args['--content-server'] || 'https://peer.decentraland.org/content').replace(/\/$/, '');
|
|
30
|
+
const shouldPrioritize = !!args['--prioritize'];
|
|
31
|
+
const animation = args['--animation'] || 'legacy';
|
|
32
|
+
const doISS = args['--doISS'] || false;
|
|
33
|
+
const force = args['--force'] || false;
|
|
34
|
+
(0, assert_1.assert)(!!token, '--token is missing');
|
|
35
|
+
(0, assert_1.assert)(pointers.length > 0 || cids.length > 0, '--pointer or --cid are required');
|
|
36
|
+
platforms.forEach((platform) => (0, assert_1.assert)(Object.values(asset_bundles_1.Platform).includes(platform), `Invalid platform: ${platform}`));
|
|
37
|
+
console.log(`> Parameters:`);
|
|
38
|
+
pointers.length && console.log(` Pointers: ${pointers.join(',')}`);
|
|
39
|
+
cids.length && console.log(` CIDs: ${cids.join(', ')}`);
|
|
40
|
+
console.log(` Platform(s): ${platforms.join(',')}`);
|
|
41
|
+
console.log(` Content server: ${contentUrl}`);
|
|
42
|
+
console.log(` Asset bundle server: ${abServer}`);
|
|
43
|
+
const entityIdsToConvert = [];
|
|
44
|
+
if (pointers.length) {
|
|
45
|
+
for (const entity of await (0, downloads_1.getActiveEntities)(pointers, contentUrl)) {
|
|
46
|
+
console.log(`> CID: ${entity.id} for ${JSON.stringify(entity.pointers)}`);
|
|
47
|
+
entityIdsToConvert.push(entity.id);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
for (const cid of cids) {
|
|
51
|
+
if (schemas_1.IPFSv1.validate(cid) || schemas_1.IPFSv2.validate(cid)) {
|
|
52
|
+
entityIdsToConvert.push(cid);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.log(`! Invalid CID: ${cid}. It will be ignored`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (const entity of entityIdsToConvert) {
|
|
59
|
+
console.log(`> Scheduling conversion of entity ${entity}`);
|
|
60
|
+
const result = await (0, asset_bundles_1.queueConversions)(abServer, {
|
|
61
|
+
entity: {
|
|
62
|
+
entityId: entity,
|
|
63
|
+
authChain: [
|
|
64
|
+
{
|
|
65
|
+
type: schemas_1.AuthLinkType.SIGNER,
|
|
66
|
+
payload: '0x0000000000000000000000000000000000000000',
|
|
67
|
+
signature: ''
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
contentServerUrls: [contentUrl],
|
|
72
|
+
animation: animation,
|
|
73
|
+
doISS: doISS,
|
|
74
|
+
force: force
|
|
75
|
+
}, token, shouldPrioritize, platforms);
|
|
76
|
+
console.log(` Result:`, JSON.stringify(result));
|
|
77
|
+
}
|
|
78
|
+
console.log(`Finished!`);
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=queue-ab-conversion.js.map
|