@dcl/opscli 1.0.0-3097989545.commit-80fe4dc → 1.0.0-34383266436.commit-41a928d

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 (94) hide show
  1. package/README.md +117 -1
  2. package/dist/bin.d.ts.map +1 -1
  3. package/dist/bin.js +37 -11
  4. package/dist/bin.js.map +1 -1
  5. package/dist/commands/check-ab-conversion.d.ts +3 -0
  6. package/dist/commands/check-ab-conversion.d.ts.map +1 -0
  7. package/dist/commands/check-ab-conversion.js +63 -0
  8. package/dist/commands/check-ab-conversion.js.map +1 -0
  9. package/dist/commands/circleci.d.ts +2 -0
  10. package/dist/commands/circleci.d.ts.map +1 -0
  11. package/dist/commands/circleci.js +33 -0
  12. package/dist/commands/circleci.js.map +1 -0
  13. package/dist/commands/concat-snapshots.d.ts +3 -0
  14. package/dist/commands/concat-snapshots.d.ts.map +1 -0
  15. package/dist/commands/concat-snapshots.js +69 -0
  16. package/dist/commands/concat-snapshots.js.map +1 -0
  17. package/dist/commands/deploy-entity.d.ts +3 -0
  18. package/dist/commands/deploy-entity.d.ts.map +1 -0
  19. package/dist/commands/deploy-entity.js +90 -0
  20. package/dist/commands/deploy-entity.js.map +1 -0
  21. package/dist/commands/download-entity.d.ts +3 -0
  22. package/dist/commands/download-entity.d.ts.map +1 -0
  23. package/dist/commands/download-entity.js +50 -0
  24. package/dist/commands/download-entity.js.map +1 -0
  25. package/dist/commands/parameters-manager.d.ts.map +1 -1
  26. package/dist/commands/parameters-manager.js +30 -15
  27. package/dist/commands/parameters-manager.js.map +1 -1
  28. package/dist/commands/pointer-consistency.d.ts.map +1 -1
  29. package/dist/commands/pointer-consistency.js +111 -14
  30. package/dist/commands/pointer-consistency.js.map +1 -1
  31. package/dist/commands/query-rollout.js +8 -8
  32. package/dist/commands/query-rollout.js.map +1 -1
  33. package/dist/commands/queue-ab-conversion-about.d.ts +3 -0
  34. package/dist/commands/queue-ab-conversion-about.d.ts.map +1 -0
  35. package/dist/commands/queue-ab-conversion-about.js +61 -0
  36. package/dist/commands/queue-ab-conversion-about.js.map +1 -0
  37. package/dist/commands/queue-ab-conversion-snapshot.d.ts +3 -0
  38. package/dist/commands/queue-ab-conversion-snapshot.d.ts.map +1 -0
  39. package/dist/commands/queue-ab-conversion-snapshot.js +228 -0
  40. package/dist/commands/queue-ab-conversion-snapshot.js.map +1 -0
  41. package/dist/commands/queue-ab-conversion.d.ts +3 -0
  42. package/dist/commands/queue-ab-conversion.d.ts.map +1 -0
  43. package/dist/commands/queue-ab-conversion.js +80 -0
  44. package/dist/commands/queue-ab-conversion.js.map +1 -0
  45. package/dist/commands/secret-manager.d.ts.map +1 -1
  46. package/dist/commands/secret-manager.js +46 -22
  47. package/dist/commands/secret-manager.js.map +1 -1
  48. package/dist/commands/update-renderer-upm.d.ts.map +1 -1
  49. package/dist/commands/update-renderer-upm.js +14 -14
  50. package/dist/commands/update-renderer-upm.js.map +1 -1
  51. package/dist/commands/wearables-consistency.js +5 -5
  52. package/dist/commands/wearables-consistency.js.map +1 -1
  53. package/dist/commands/world-ab-status.d.ts +2 -0
  54. package/dist/commands/world-ab-status.d.ts.map +1 -0
  55. package/dist/commands/world-ab-status.js +108 -0
  56. package/dist/commands/world-ab-status.js.map +1 -0
  57. package/dist/helpers/ago.js +10 -10
  58. package/dist/helpers/ago.js.map +1 -1
  59. package/dist/helpers/assert.d.ts +1 -1
  60. package/dist/helpers/asset-bundles.d.ts +12 -0
  61. package/dist/helpers/asset-bundles.d.ts.map +1 -0
  62. package/dist/helpers/asset-bundles.js +45 -0
  63. package/dist/helpers/asset-bundles.js.map +1 -0
  64. package/dist/helpers/catalysts.d.ts +1 -1
  65. package/dist/helpers/catalysts.d.ts.map +1 -1
  66. package/dist/helpers/catalysts.js +4 -4
  67. package/dist/helpers/downloads.d.ts +6 -0
  68. package/dist/helpers/downloads.d.ts.map +1 -0
  69. package/dist/helpers/downloads.js +48 -0
  70. package/dist/helpers/downloads.js.map +1 -0
  71. package/dist/helpers/env-domains.d.ts +1 -1
  72. package/dist/helpers/env-domains.js +9 -9
  73. package/dist/helpers/fileWriter.d.ts +7 -0
  74. package/dist/helpers/fileWriter.d.ts.map +1 -0
  75. package/dist/helpers/fileWriter.js +86 -0
  76. package/dist/helpers/fileWriter.js.map +1 -0
  77. package/dist/helpers/parse-utils.js +11 -7
  78. package/dist/helpers/parse-utils.js.map +1 -1
  79. package/dist/helpers/parseEntityUrn.d.ts +6 -0
  80. package/dist/helpers/parseEntityUrn.d.ts.map +1 -0
  81. package/dist/helpers/parseEntityUrn.js +23 -0
  82. package/dist/helpers/parseEntityUrn.js.map +1 -0
  83. package/dist/helpers/recurse-folder.d.ts +2 -0
  84. package/dist/helpers/recurse-folder.d.ts.map +1 -0
  85. package/dist/helpers/recurse-folder.js +40 -0
  86. package/dist/helpers/recurse-folder.js.map +1 -0
  87. package/dist/helpers/rollouts.d.ts +4 -6
  88. package/dist/helpers/rollouts.d.ts.map +1 -1
  89. package/dist/helpers/rollouts.js +2 -2
  90. package/dist/helpers/rollouts.js.map +1 -1
  91. package/dist/helpers/sign-gpg.js +5 -5
  92. package/dist/helpers/types.d.ts +1 -1
  93. package/dist/helpers/types.d.ts.map +1 -1
  94. package/package.json +22 -13
@@ -10,31 +10,46 @@ const env_domains_1 = require("../helpers/env-domains");
10
10
  const sign_gpg_1 = require("../helpers/sign-gpg");
11
11
  async function default_1() {
12
12
  const args = (0, arg_1.default)({
13
- "--env": String,
14
- "--name": String,
15
- "--value": String,
16
- "--update": Boolean
13
+ '--env': String,
14
+ '--name': String,
15
+ '--value': String,
16
+ '--update': Boolean,
17
+ '--delete': Boolean
17
18
  });
18
- const env = (0, assert_1.assert)(args["--env"], "--env is missing");
19
- const name = (0, assert_1.assert)(args["--name"], "--name is missing");
20
- const value = (0, assert_1.assert)(args["--value"], "--value is missing");
21
- const update = !!args['--update'];
22
- const fileContent = [env, name, value].join("\n");
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');
23
35
  const envDomain = (0, env_domains_1.tldFromEnv)(env);
24
36
  const signed = await (0, sign_gpg_1.signGpgCleartext)(fileContent);
25
- console.log("> Uploading the parameter...");
37
+ if (hasDelete)
38
+ console.log('> Deleting the parameter...');
39
+ else
40
+ console.log('> Uploading the parameter...');
26
41
  const res = await (0, undici_1.fetch)(`https://ops-lambdas.decentraland.${envDomain}/parameters-manager`, {
27
- method: update ? "PUT" : "POST",
28
- body: signed.toString(),
42
+ method: hasDelete ? 'DELETE' : hasUpdate ? 'PUT' : 'POST',
43
+ body: signed.toString()
29
44
  });
30
45
  const response = await res.text();
31
- if (res.status != 200) {
32
- if (response.includes("ParameterAlreadyExists")) {
46
+ if (res.status !== 200) {
47
+ if (response.includes('ParameterAlreadyExists')) {
33
48
  throw new Error("That parameter already exists, please use '--update' if you want to update it");
34
49
  }
35
50
  throw new Error(`An error has occured while uploading the secret: ${response}`);
36
51
  }
37
- console.log(" OK! Response:");
52
+ console.log(' OK! Response:');
38
53
  console.log(response);
39
54
  }
40
55
  exports.default = default_1;
@@ -1 +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;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;IACxD,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEjC,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,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,oCAAoC,SAAS,qBAAqB,EAAE;QAC1F,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QAC/B,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;QACrB,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;AArCD,4BAqCC"}
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":"AAKA,0CA+CC"}
1
+ {"version":3,"file":"pointer-consistency.d.ts","sourceRoot":"","sources":["../../src/commands/pointer-consistency.ts"],"names":[],"mappings":"AAiHA,0CAkEC"}
@@ -4,44 +4,141 @@ 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");
7
8
  const ago_1 = require("../helpers/ago");
8
- const assert_1 = require("../helpers/assert");
9
9
  const catalysts_1 = require("../helpers/catalysts");
10
+ function getEnvConfig(env) {
11
+ const registryUrl = `https://asset-bundle-registry.decentraland.${env}`;
12
+ if (env === 'today') {
13
+ return {
14
+ catalystUrls: ['https://peer-testing.decentraland.org'],
15
+ registryUrl,
16
+ peerUrl: 'https://peer-testing.decentraland.org'
17
+ };
18
+ }
19
+ if (env === 'zone') {
20
+ return { catalystUrls: ['https://peer.decentraland.zone'], registryUrl, peerUrl: 'https://peer.decentraland.zone' };
21
+ }
22
+ return { catalystUrls: null, registryUrl, peerUrl: 'https://peer.decentraland.org' }; // null = fetch from DAO
23
+ }
24
+ async function resolvePointerFromCid(peerUrl, cid) {
25
+ const response = await (0, undici_1.fetch)(`${peerUrl}/content/entities/active`, {
26
+ method: 'POST',
27
+ headers: { 'Content-Type': 'application/json' },
28
+ body: JSON.stringify({ ids: [cid] })
29
+ });
30
+ if (!response.ok) {
31
+ throw new Error(`Failed to resolve CID ${cid}: catalyst returned ${response.status}`);
32
+ }
33
+ const entities = (await response.json());
34
+ if (!entities.length) {
35
+ throw new Error(`No active entity found for CID ${cid}`);
36
+ }
37
+ const pointer = entities[0].pointers[0];
38
+ console.log(`> Resolved CID ${cid} to pointer: ${pointer}`);
39
+ return pointer;
40
+ }
41
+ function statusLabel(status) {
42
+ switch (status) {
43
+ case 'complete':
44
+ return '✅ complete';
45
+ case 'pending':
46
+ return '⏳ pending';
47
+ case 'failed':
48
+ return '❌ failed';
49
+ case 'obsolete':
50
+ return '🗑️ obsolete';
51
+ case 'fallback':
52
+ return '🔄 fallback';
53
+ default:
54
+ return `⚠️ ${status}`;
55
+ }
56
+ }
57
+ async function checkAssetBundleStatus(registryUrl, pointers, expectedEntityId) {
58
+ try {
59
+ const response = await (0, undici_1.fetch)(`${registryUrl}/entities/active`, {
60
+ method: 'POST',
61
+ headers: { 'Content-Type': 'application/json' },
62
+ body: JSON.stringify({ pointers })
63
+ });
64
+ if (!response.ok) {
65
+ console.log(`> Asset Bundles: ❌ (registry returned ${response.status})`);
66
+ return;
67
+ }
68
+ const results = (await response.json());
69
+ if (!results.length) {
70
+ console.log('> Asset Bundles: no data found');
71
+ return;
72
+ }
73
+ for (const entry of results) {
74
+ const hashMatch = entry.id === expectedEntityId;
75
+ console.log(`> Asset Bundle Registry (pointer: ${entry.pointers.join(', ')}):`);
76
+ console.log(` Entity ID match: ${hashMatch ? '✅' : '❌'} registry=${entry.id}`);
77
+ console.log(` Global status: ${statusLabel(entry.status)}`);
78
+ console.log(' Platform status:');
79
+ const platforms = ['windows', 'mac'];
80
+ for (const platform of platforms) {
81
+ const assetStatus = entry.bundles?.assets?.[platform] || 'unknown';
82
+ const version = entry.versions?.assets?.[platform];
83
+ const versionStr = version ? `v${version.version} (${version.buildDate})` : 'N/A';
84
+ console.log(` ${platform.padEnd(10)} ${statusLabel(assetStatus).padEnd(4)} version: ${versionStr}`);
85
+ }
86
+ }
87
+ }
88
+ catch (error) {
89
+ console.log(`> Asset Bundles: ❌ (${error.message})`);
90
+ }
91
+ }
10
92
  async function default_1() {
11
93
  const args = (0, arg_1.default)({
12
- "--pointer": String,
94
+ '--pointer': String,
95
+ '--cid': String,
96
+ '--env': String
13
97
  });
14
- let pointer = (0, assert_1.assert)(args["--pointer"], "--pointer is missing");
98
+ const env = args['--env'] || 'org';
99
+ const { catalystUrls, registryUrl, peerUrl } = getEnvConfig(env);
100
+ let pointer = args['--pointer'] || (args['--cid'] ? await resolvePointerFromCid(peerUrl, args['--cid']) : null);
101
+ if (!pointer) {
102
+ throw new Error('--pointer or --cid is required');
103
+ }
15
104
  if (pointer.startsWith('\\')) {
16
105
  pointer = pointer.substring(1);
17
106
  }
18
- const catalysts = await (0, catalysts_1.daoCatalysts)();
107
+ const catalysts = catalystUrls
108
+ ? catalystUrls.map((baseUrl) => ({ baseUrl, owner: '', id: '' }))
109
+ : await (0, catalysts_1.daoCatalysts)();
110
+ console.log(` Environment: ${env}`);
19
111
  console.log(` Got ${catalysts.length} catalysts`);
20
112
  console.log(`> Fetching pointer in every catalyst: ${JSON.stringify(pointer)}`);
21
113
  const timestamps = [];
22
114
  const entityIds = new Set();
23
- for (let { baseUrl } of catalysts) {
115
+ const deployments = [];
116
+ for (const { baseUrl } of catalysts) {
24
117
  try {
25
118
  const result = await (0, catalysts_1.fetchEntityByPointer)(baseUrl, pointer);
26
119
  const date = new Date(result.deployments[0]?.localTimestamp);
27
- console.log(" " +
28
- result.baseUrl.padEnd(45, " ") +
29
- date.toISOString() +
30
- ` (${(0, ago_1.ago)(date)}) ` +
31
- result.deployments[0]?.entityId);
120
+ const entityId = result.deployments[0]?.entityId;
121
+ console.log(' ' + result.baseUrl.padEnd(45, ' ') + date.toISOString() + ` (${(0, ago_1.ago)(date)}) ` + entityId);
32
122
  timestamps.push(date);
33
- entityIds.add(result.deployments[0]?.entityId);
123
+ entityIds.add(entityId);
124
+ deployments.push({ timestamp: date, entityId });
34
125
  }
35
126
  catch (err) {
36
- console.log(" " + baseUrl.padEnd(45, " ") + err.message);
127
+ console.log(' ' + baseUrl.padEnd(45, ' ') + err.message);
37
128
  }
38
129
  }
39
130
  timestamps.sort();
40
131
  const minDate = timestamps[0];
41
132
  const maxDate = timestamps[timestamps.length - 1];
42
- console.log(`> PropagationTime: ${Math.floor((maxDate.getTime() - minDate.getTime()) / 1000)} seconds `.padEnd(47, " ") +
133
+ console.log(`> PropagationTime: ${Math.floor((maxDate.getTime() - minDate.getTime()) / 1000)} seconds `.padEnd(47, ' ') +
43
134
  `${minDate.toISOString()} -> ${maxDate.toISOString()}`);
44
- console.log(`> Convergent: ${entityIds.size == 1 ? "" : ""}`);
135
+ console.log(`> Convergent: ${entityIds.size === 1 ? '' : ''}`);
136
+ // Check asset bundle status via registry
137
+ if (deployments.length > 0) {
138
+ const mostRecent = deployments.reduce((latest, current) => current.timestamp > latest.timestamp ? current : latest);
139
+ console.log(`> Most recent deployment entity ID: ${mostRecent.entityId}`);
140
+ await checkAssetBundleStatus(registryUrl, [pointer], mostRecent.entityId);
141
+ }
45
142
  }
46
143
  exports.default = default_1;
47
144
  //# 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,wCAAoC;AACpC,8CAA0C;AAC1C,oDAAkG;AAEnF,KAAK;IAClB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,WAAW,EAAE,MAAM;KACpB,CAAC,CAAA;IAEF,IAAI,OAAO,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAE/D,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;KAC/B;IAED,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,GAAE,CAAA;IAEtC,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,YAAY,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAE/E,MAAM,UAAU,GAAW,EAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAEnC,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE;QACjC,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CACT,IAAI;gBACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;gBAC9B,IAAI,CAAC,WAAW,EAAE;gBAClB,KAAK,IAAA,SAAG,EAAC,IAAI,CAAC,IAAI;gBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAClC,CAAA;YACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;SAC/C;QAAC,OAAO,GAAQ,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;SAC1D;KACF;IAED,UAAU,CAAC,IAAI,EAAE,CAAA;IAEjB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEjD,OAAO,CAAC,GAAG,CACT,sBAAsB,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;QAC1G,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,OAAO,CAAC,WAAW,EAAE,EAAE,CACzD,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AACjE,CAAC;AA/CD,4BA+CC"}
1
+ {"version":3,"file":"pointer-consistency.js","sourceRoot":"","sources":["../../src/commands/pointer-consistency.ts"],"names":[],"mappings":"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"}
@@ -8,26 +8,26 @@ const assert_1 = require("../helpers/assert");
8
8
  const rollouts_1 = require("../helpers/rollouts");
9
9
  exports.default = async () => {
10
10
  const args = (0, arg_1.default)({
11
- "--domain": String,
12
- "--rolloutName": String,
11
+ '--domain': String,
12
+ '--rolloutName': String
13
13
  });
14
- const domain = args["--domain"];
15
- (0, assert_1.assert)(domain, "--domain is missing");
14
+ const domain = args['--domain'];
15
+ (0, assert_1.assert)(domain, '--domain is missing');
16
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.map);
18
+ console.table(rollouts.rolloutMap);
19
19
  console.groupEnd();
20
- const rolloutName = args["--rolloutName"];
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.rollout.records[rolloutName];
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, ["percentage", "version", "each1000sessions"]);
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,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,GAAG,CAAC,CAAA;IAC3B,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,OAAO,CAAC,WAAW,CAAC,CAAA;QAErD,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"}
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,3 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
3
+ //# sourceMappingURL=queue-ab-conversion-about.d.ts.map
@@ -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,wBA+DC"}
@@ -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'] || asset_bundles_1.DEFAULT_PLATFORMS;
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}. Valid platforms: ${Object.values(asset_bundles_1.Platform).join(', ')}`));
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,3 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
3
+ //# sourceMappingURL=queue-ab-conversion-snapshot.d.ts.map
@@ -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,wBA4GC"}
@@ -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'] || asset_bundles_1.DEFAULT_PLATFORMS;
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}. Valid platforms: ${Object.values(asset_bundles_1.Platform).join(', ')}`));
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,3 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
3
+ //# sourceMappingURL=queue-ab-conversion.d.ts.map