@guanjinke/artifact-client 1.11.0 → 1.12.0
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 +217 -217
- package/dist/cli/setup.js +2 -2
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/environment/builder.d.ts.map +1 -1
- package/dist/environment/builder.js +78 -2
- package/dist/environment/builder.js.map +1 -1
- package/dist/environment/catalog.d.ts +24 -0
- package/dist/environment/catalog.d.ts.map +1 -1
- package/dist/environment/catalog.js +23 -1
- package/dist/environment/catalog.js.map +1 -1
- package/dist/environment/deferred.d.ts +38 -0
- package/dist/environment/deferred.d.ts.map +1 -0
- package/dist/environment/deferred.js +133 -0
- package/dist/environment/deferred.js.map +1 -0
- package/dist/environment/package-resource.d.ts +95 -0
- package/dist/environment/package-resource.d.ts.map +1 -0
- package/dist/environment/package-resource.js +323 -0
- package/dist/environment/package-resource.js.map +1 -0
- package/dist/environment/plan.d.ts +7 -1
- package/dist/environment/plan.d.ts.map +1 -1
- package/dist/environment/plan.js +25 -5
- package/dist/environment/plan.js.map +1 -1
- package/dist/environment/resource.d.ts +36 -0
- package/dist/environment/resource.d.ts.map +1 -0
- package/dist/environment/resource.js +101 -0
- package/dist/environment/resource.js.map +1 -0
- package/dist/environment/types.d.ts +36 -8
- package/dist/environment/types.d.ts.map +1 -1
- package/dist/environment/types.js +5 -0
- package/dist/environment/types.js.map +1 -1
- package/dist/environment/update.d.ts.map +1 -1
- package/dist/environment/update.js +210 -15
- package/dist/environment/update.js.map +1 -1
- package/package.json +1 -1
|
@@ -43,9 +43,11 @@ const fsSync = __importStar(require("fs"));
|
|
|
43
43
|
const path = __importStar(require("path"));
|
|
44
44
|
const crypto_1 = require("crypto");
|
|
45
45
|
const catalog_1 = require("./catalog");
|
|
46
|
+
const deferred_1 = require("./deferred");
|
|
46
47
|
const archive_1 = require("./archive");
|
|
47
48
|
const config_1 = require("./config");
|
|
48
49
|
const plan_1 = require("./plan");
|
|
50
|
+
const types_1 = require("./types");
|
|
49
51
|
function frameworkRequirements(document) {
|
|
50
52
|
const object = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
51
53
|
if (!object(document) || !object(document.runtimeOptions))
|
|
@@ -202,6 +204,16 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
202
204
|
const entry = catalog_1.catalog[artifact.module];
|
|
203
205
|
if (!entry)
|
|
204
206
|
throw new Error('Invalid environment plan artifact.');
|
|
207
|
+
// A deferred artifact has no version, name or path at plan time: the builder
|
|
208
|
+
// resolves them from the Server tree it lays out. Anything else about it is
|
|
209
|
+
// still validated against the catalog, and no other module may impersonate it.
|
|
210
|
+
if ((0, types_1.isDeferredArtifact)(artifact)) {
|
|
211
|
+
if (!entry.deferred || artifact.plugin !== (0, catalog_1.moduleLabel)(entry) || artifact.version !== undefined || artifact.name !== undefined || artifact.names !== undefined || artifact.path !== undefined || artifact.mappings !== undefined)
|
|
212
|
+
throw new Error('Invalid environment plan artifact.');
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
if (entry.deferred)
|
|
216
|
+
throw new Error('Invalid environment plan artifact.');
|
|
205
217
|
if (!artifact.path || /[?:\\\x00-\x1f]/.test(artifact.path) || artifact.path.startsWith('/') || artifact.path.split('/').includes('..'))
|
|
206
218
|
throw new Error('Invalid environment plan remote path.');
|
|
207
219
|
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(artifact.version) || artifact.plugin !== entry.plugin || JSON.stringify(artifact.mappings) !== JSON.stringify(entry.mappings))
|
|
@@ -225,11 +237,67 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
225
237
|
const runtime = [];
|
|
226
238
|
const requirements = [...plan.requirements];
|
|
227
239
|
const hashes = [];
|
|
240
|
+
// The sanitized lock-manifest record of every deferred artifact, keyed by
|
|
241
|
+
// its position in the plan. The plan itself keeps the deferred descriptor;
|
|
242
|
+
// only the manifest records what was really resolved.
|
|
243
|
+
const resolvedDeferred = new Map();
|
|
228
244
|
await fs.mkdir(staging);
|
|
229
245
|
for (const [index, artifact] of plan.artifacts.entries()) {
|
|
230
246
|
const download = path.join(cache, String(index));
|
|
231
247
|
const extracted = path.join(workspace, `expanded-${index}`);
|
|
232
248
|
await fs.mkdir(download, { recursive: true });
|
|
249
|
+
// A deferred module is resolved here, not at plan time: the Server package
|
|
250
|
+
// is already laid out in the private staging tree, so its `deps.json` names
|
|
251
|
+
// the exact version of the component this module replaces. Exactly one
|
|
252
|
+
// payload object is downloaded (never extracted) and copied over the
|
|
253
|
+
// existing regular file. Every message names the public label only.
|
|
254
|
+
if ((0, types_1.isDeferredArtifact)(artifact)) {
|
|
255
|
+
const entry = catalog_1.catalog[artifact.module];
|
|
256
|
+
const publicName = artifact.plugin;
|
|
257
|
+
try {
|
|
258
|
+
dependencies.onProgress?.(`[${index + 1}/${plan.artifacts.length}] ${publicName}: Resolving from the Server package`);
|
|
259
|
+
const version = await (0, deferred_1.deferredVersion)(entry, staging);
|
|
260
|
+
const payloads = await (0, deferred_1.deferredPayload)(entry, version, dependencies.client);
|
|
261
|
+
const downloaded = [];
|
|
262
|
+
for (const payload of payloads) {
|
|
263
|
+
dependencies.onProgress?.(`[${index + 1}/${plan.artifacts.length}] ${publicName}/${version}: Downloading replacement`);
|
|
264
|
+
await dependencies.client.downloadArtifact(entry.plugin, version, payload.name, download);
|
|
265
|
+
const source = path.join(download, ...payload.name.split('/'));
|
|
266
|
+
await regularFile(source);
|
|
267
|
+
dependencies.onProgress?.(`[${index + 1}/${plan.artifacts.length}] ${publicName}/${version}: Download complete; calculating SHA256`);
|
|
268
|
+
hashes.push({ plugin: publicName, version, name: publicName, sha256: await hashFile(source) });
|
|
269
|
+
downloaded.push({ name: payload.name, source });
|
|
270
|
+
}
|
|
271
|
+
const mappings = (0, deferred_1.replacementMappings)(entry);
|
|
272
|
+
const targets = downloaded.map(file => {
|
|
273
|
+
const matches = mappings.filter(mapping => mapping.source === file.name);
|
|
274
|
+
if (matches.length !== 1)
|
|
275
|
+
throw new Error(`Module ${publicName} could not be applied: the replacement target is not configured.`);
|
|
276
|
+
const destination = path.join(staging, ...matches[0].destination.split('/'));
|
|
277
|
+
if (!destination.startsWith(staging + path.sep))
|
|
278
|
+
throw new Error(`Module ${publicName} could not be applied: the replacement target is outside the environment.`);
|
|
279
|
+
return { source: file.source, destination };
|
|
280
|
+
});
|
|
281
|
+
for (const target of targets) {
|
|
282
|
+
const stat = await fs.lstat(target.destination).catch(() => undefined);
|
|
283
|
+
if (!stat)
|
|
284
|
+
throw new Error(`Module ${publicName} could not be applied: the Server package holds no file to replace.`);
|
|
285
|
+
if (!stat.isFile() || stat.isSymbolicLink())
|
|
286
|
+
throw new Error(`Module ${publicName} could not be applied: the Server package holds no regular file to replace.`);
|
|
287
|
+
}
|
|
288
|
+
dependencies.onProgress?.(`[${index + 1}/${plan.artifacts.length}] ${publicName}/${version}: Replacing the deployed file`);
|
|
289
|
+
for (const target of targets)
|
|
290
|
+
await fs.copyFile(target.source, target.destination);
|
|
291
|
+
resolvedDeferred.set(index, { module: artifact.module, plugin: publicName, version, name: publicName });
|
|
292
|
+
dependencies.onProgress?.(`[${index + 1}/${plan.artifacts.length}] ${publicName}/${version}: Replacement applied`);
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
if (error instanceof Error && error.message.startsWith(`Module ${publicName} could not be applied:`))
|
|
296
|
+
throw error;
|
|
297
|
+
throw new Error(`Module ${publicName} could not be applied: the replacement payload could not be downloaded or laid out.`);
|
|
298
|
+
}
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
233
301
|
const name = artifact.names ? artifact.names.join(', ') : artifact.name;
|
|
234
302
|
const label = `[${index + 1}/${plan.artifacts.length}] ${artifact.plugin}/${artifact.version}/${name}`;
|
|
235
303
|
try {
|
|
@@ -324,7 +392,10 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
324
392
|
await regularFile(path.join(staging, 'Monitor', 'Wyn.Configuration.dll'));
|
|
325
393
|
await regularFile(path.join(staging, 'Monitor', 'appsettings.json'));
|
|
326
394
|
}
|
|
327
|
-
|
|
395
|
+
// A deferred module replaces the Server's file and validates that exact
|
|
396
|
+
// target itself, with a message that names only the module. Without one,
|
|
397
|
+
// every Server package must still ship the file its runtime needs.
|
|
398
|
+
if (artifact.module === 'server' && !plan.artifacts.some(candidate => (0, types_1.isDeferredArtifact)(candidate)))
|
|
328
399
|
await regularFile(path.join(staging, 'Server', 'Wyn.Identity.Service.dll'));
|
|
329
400
|
if (artifact.module === 'dashboard') {
|
|
330
401
|
const contents = path.join(extracted, 'Web Contents');
|
|
@@ -396,7 +467,12 @@ async function executeEnvironmentPlan(inputPlan, dependencies) {
|
|
|
396
467
|
// publishes it; a major that does not publish it deploys neither tree. The
|
|
397
468
|
// lock manifest records exactly the layout that was staged.
|
|
398
469
|
const manifestName = 'environment.lock.json';
|
|
399
|
-
|
|
470
|
+
// The lock manifest describes what was really deployed: a deferred artifact
|
|
471
|
+
// is replaced by its sanitized resolved record (public label, version and
|
|
472
|
+
// SHA256 in `downloads`), never by the plan's unresolved descriptor and
|
|
473
|
+
// never by the provider's path.
|
|
474
|
+
const manifestArtifacts = plan.artifacts.map((artifact, index) => resolvedDeferred.get(index) ?? artifact);
|
|
475
|
+
await fs.writeFile(path.join(staging, manifestName), JSON.stringify({ ...plan, artifacts: manifestArtifacts, ...(dependencies.managed ? { managed: { ...dependencies.managed, root: plan.root, port: plan.port } } : {}), requirements: [...new Set(requirements)], downloads: hashes }, null, 2) + '\n', { flag: 'wx' });
|
|
400
476
|
if (dependencies.managed)
|
|
401
477
|
await fs.writeFile(path.join(staging, '.afm-environment.json'), JSON.stringify({ version: 1, id: dependencies.managed.id, name: dependencies.managed.name, root: plan.root, port: plan.port }, null, 2) + '\n', { flag: 'wx' });
|
|
402
478
|
dependencies.onProgress?.('Publishing environment and creating Monitor configuration junction');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/environment/builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,kDAQC;AAED,kCAGC;AACD,4BAIC;AACD,4BAUC;AA4DD,wDAkMC;AAjTD,gDAAkC;AAClC,2CAA6B;AAC7B,2CAA6B;AAC7B,mCAAoC;AACpC,uCAAqD;AACrD,uCAA2C;AAC3C,qCAA+F;AAC/F,iCAAwG;AAGxG,SAAS,qBAAqB,CAAC,QAAiB;IAC9C,MAAM,MAAM,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1I,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC7G,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAkB,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACvR,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;aACxE,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChK,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjH,CAAC;AACM,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AACM,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAmB,EAAE,gBAAmC,EAAE;IACvG,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAC7C,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;;YAChF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB,EAAE,OAAe;IACpF,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACjJ,MAAM,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,IAAY;IAClD,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAAC,CAAC;IACpH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,KAAK,GAAkG,EAAE,CAAC;IAChH,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,SAAkB,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC,CAAC;IACF,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,EAAE,MAAc,EAAE,MAAc,EAAiB,EAAE;YACpE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACrG,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnB,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACzB,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oBAC5D,MAAM,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5B,CAAC;;oBAAM,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QACF,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;oBAAE,SAAS;gBAC9I,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;oBACzC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC,CAAC,+CAA+C,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,SAA0B,EAAE,YAAqC;IAC5G,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,iCAAiC;IACjC,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnI,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzK,MAAM,UAAU,GAAG,MAAM,IAAA,iCAA0B,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1L,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACzR,kFAAkF;IAClF,6EAA6E;IAC7E,6EAA6E;IAC7E,gFAAgF;IAChF,4EAA4E;IAC5E,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,eAAe,EAAE,sBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7H,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAE,IAAI,CAAC,eAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACjH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtO,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAClM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9N,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5J,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACvK,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAwE,EAAE,CAAC;QACvF,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,KAAK,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxE,MAAM,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACvG,IAAI,CAAC;gBACH,yEAAyE;gBACzE,uEAAuE;gBACvE,wEAAwE;gBACxE,kEAAkE;gBAClE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;wBAClH,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,eAAe,CAAC,CAAC;wBACvD,MAAM,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;wBACrG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC/D,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;wBAC3B,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,yCAAyC,CAAC,CAAC;wBACjF,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC1H,CAAC;oBACD,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;oBAC/D,uEAAuE;oBACvE,gDAAgD;oBAChD,KAAK,MAAM,OAAO,IAAI,IAAA,yBAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC1E,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;4BAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;wBACnG,MAAM,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBACzD,CAAC;oBACD,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBACD,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;gBACnD,MAAM,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3B,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,yCAAyC,CAAC,CAAC;gBAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1H,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAC;gBACrE,MAAM,IAAA,wBAAc,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACzC,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;gBAC3E,oEAAoE;gBACpE,qDAAqD;gBACrD,KAAK,MAAM,OAAO,IAAI,IAAA,yBAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC5D,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACnG,uEAAuE;oBACvE,oEAAoE;oBACpE,qEAAqE;oBACrE,qEAAqE;oBACrE,kDAAkD;oBAClD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAChC,MAAM,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;wBACvD,SAAS;oBACX,CAAC;oBACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5G,IAAI,aAAa,CAAC,MAAM;wBAAE,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,sEAAsE,CAAC,CAAC;oBACpI,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;oBACnD,MAAM,UAAU,GAAa,EAAE,CAAC;oBAChC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBACtC,IAAI,CAAC;4BAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;4BAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAAC,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gCAAE,MAAM,KAAK,CAAC;wBAAC,CAAC;oBACxK,CAAC;oBACD,kEAAkE;oBAClE,oEAAoE;oBACpE,2DAA2D;oBAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,WAAW,IAAI,MAAM,GAAG,CAAC,CAAC;wBACnH,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC7F,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;4BAChG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;4BACjC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC;oBACD,KAAK,MAAM,SAAS,IAAI,MAAM,mBAAmB,CAAC,WAAW,CAAC;wBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBACrC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;oBAC1E,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;oBAAE,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC;gBAC9G,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBACtD,IAAI,CAAC;wBAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;4BAAE,MAAM,KAAK,CAAC;oBAAC,CAAC;gBAC9J,CAAC;gBACD,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,oDAAoD,CAAC,CAAC;YAC1F,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,yDAAyD,CAAC,CAAC;YAC3J,CAAC;QACH,CAAC;QACD,YAAY,CAAC,UAAU,EAAE,CAAC,2DAA2D,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAE,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAA,kCAAyB,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,oCAAoC,CAAC,CAAC;QACvJ,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,MAAM,eAAe,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,MAAM,KAAK,QAAQ,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,eAAe,QAAQ,yGAAyG,CAAC,CAAC;oBAC3N,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,uBAAuB,QAAQ,GAAG,CAAC,CAAC;YAC3M,CAAC;QACH,CAAC;QACD,YAAY,CAAC,UAAU,EAAE,CAAC,cAAc,IAAI,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU;oBAAE,SAAS;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;oBAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;;oBAC3E,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;QACxF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAA,gCAAuB,EAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5H,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;YAAE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/G,8EAA8E;QAC9E,+EAA+E;QAC/E,yEAAyE;QACzE,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5R,IAAI,YAAY,CAAC,OAAO;YAAE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1P,YAAY,CAAC,UAAU,EAAE,CAAC,oEAAoE,CAAC,CAAC;QAChG,MAAM,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,YAAY,CAAC,UAAU,EAAE,CAAC,8DAA8D,CAAC,CAAC;QAC1F,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9I,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/environment/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { LayoutMapping } from './types';
|
|
2
2
|
export interface CatalogEntry {
|
|
3
3
|
plugin: string;
|
|
4
|
+
/**
|
|
5
|
+
* The name every user-visible surface shows for this module. It defaults to
|
|
6
|
+
* the publishing plugin, which is public for every normal module; the
|
|
7
|
+
* selectable `patch` module sets it because its provider name must stay
|
|
8
|
+
* internal.
|
|
9
|
+
*/
|
|
10
|
+
label?: string;
|
|
4
11
|
/**
|
|
5
12
|
* The single archive this module publishes. Exactly one of `filename` and
|
|
6
13
|
* `payload` describes a module.
|
|
@@ -14,6 +21,21 @@ export interface CatalogEntry {
|
|
|
14
21
|
*/
|
|
15
22
|
payload?: (version: string, edition: string) => string[];
|
|
16
23
|
mappings: LayoutMapping[];
|
|
24
|
+
/**
|
|
25
|
+
* A module whose version is defined by the Server package it is applied to,
|
|
26
|
+
* not by its own major pointer.
|
|
27
|
+
*
|
|
28
|
+
* The builder/updater reads `<versionFile>` from the Server tree being
|
|
29
|
+
* deployed, takes the version of its `<library>/<version>` entry, downloads
|
|
30
|
+
* exactly `payload(version)` (payload mode, never extracted) and lays it out
|
|
31
|
+
* through a `replace` mapping. Neither the provider name nor the version is
|
|
32
|
+
* resolved at plan time.
|
|
33
|
+
*/
|
|
34
|
+
deferred?: {
|
|
35
|
+
versionFile: string;
|
|
36
|
+
library: string;
|
|
37
|
+
payload: (version: string) => string[];
|
|
38
|
+
};
|
|
17
39
|
/**
|
|
18
40
|
* The plan's warning when this module's major publishes no version pointer.
|
|
19
41
|
* Only the built-in trailing modules are probed for availability, so only they
|
|
@@ -38,6 +60,8 @@ export interface CatalogEntry {
|
|
|
38
60
|
*/
|
|
39
61
|
internal?: boolean;
|
|
40
62
|
}
|
|
63
|
+
/** The name every user-visible surface must use for a module. */
|
|
64
|
+
export declare function moduleLabel(entry: CatalogEntry): string;
|
|
41
65
|
/** The single archive name of a module that publishes one ZIP. */
|
|
42
66
|
export declare function archiveName(entry: CatalogEntry, version: string, edition: string): string;
|
|
43
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACzD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,aAAa,EAAE,CAEzG;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACzD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;KACxC,CAAC;IACF;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,aAAa,EAAE,CAEzG;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA4GhD,CAAC"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.catalog = void 0;
|
|
4
|
+
exports.moduleLabel = moduleLabel;
|
|
4
5
|
exports.archiveName = archiveName;
|
|
5
6
|
exports.editionMappings = editionMappings;
|
|
6
7
|
const mapping = (source, destination, assemblies, role, service) => ({ source, destination, assemblies, role, ...(service ? { service } : {}) });
|
|
8
|
+
/** The name every user-visible surface must use for a module. */
|
|
9
|
+
function moduleLabel(entry) {
|
|
10
|
+
return entry.label ?? entry.plugin;
|
|
11
|
+
}
|
|
7
12
|
/** The single archive name of a module that publishes one ZIP. */
|
|
8
13
|
function archiveName(entry, version, edition) {
|
|
9
14
|
if (!entry.filename)
|
|
10
|
-
throw new Error(`${entry
|
|
15
|
+
throw new Error(`${moduleLabel(entry)} does not publish a single archive.`);
|
|
11
16
|
return entry.filename(version, edition);
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
@@ -75,6 +80,23 @@ exports.catalog = {
|
|
|
75
80
|
plugin: 'wyn-collaboration', filename: v => `collaboration-service.v${v}.zip`,
|
|
76
81
|
mappings: [mapping('', 'CollaborationService', [], 'service', 'CollaborationService')],
|
|
77
82
|
},
|
|
83
|
+
// Selectable compatibility patch for development environments. It replaces
|
|
84
|
+
// one runtime file inside the Server directory, so its version cannot come
|
|
85
|
+
// from its own major pointer: it is the version of the component the Server
|
|
86
|
+
// package being deployed depends on, read from the Server's own `deps.json`
|
|
87
|
+
// while the environment is assembled or refreshed. The provider name is
|
|
88
|
+
// internal (`label` is what every user-visible surface shows), and the
|
|
89
|
+
// deferred descriptor is what keeps the provider name out of the plan.
|
|
90
|
+
patch: {
|
|
91
|
+
plugin: 'gcef-identity-service',
|
|
92
|
+
label: 'patch',
|
|
93
|
+
deferred: {
|
|
94
|
+
versionFile: 'Server/Wyn.Server.deps.json',
|
|
95
|
+
library: 'Wyn.Identity.Service',
|
|
96
|
+
payload: () => ['patched/Wyn.Identity.Service.dll'],
|
|
97
|
+
},
|
|
98
|
+
mappings: [mapping('patched/Wyn.Identity.Service.dll', 'Server/Wyn.Identity.Service.dll', [], 'replace')],
|
|
99
|
+
},
|
|
78
100
|
// Built-in resource module: the 3D scene assets and map data the Server-hosted
|
|
79
101
|
// plugins load from its web root. It is deployed last, for every environment
|
|
80
102
|
// whose major publishes it (`dev`/`10.0` today; there is no `9.1` line), and it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CatalogEntry } from './catalog';
|
|
2
|
+
import { EnvironmentClient, LayoutMapping } from './types';
|
|
3
|
+
/** One exact object a deferred module downloads; the provider keeps its name. */
|
|
4
|
+
export interface DeferredPayload {
|
|
5
|
+
name: string;
|
|
6
|
+
path: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The version a deferred module must deploy, read from the Server package
|
|
10
|
+
* actually being deployed.
|
|
11
|
+
*
|
|
12
|
+
* `Server/Wyn.Server.deps.json` lists every library the Server was built
|
|
13
|
+
* against; the module's own version is exactly the version of the library the
|
|
14
|
+
* catalog names, so it is read from JSON on every platform instead of from a
|
|
15
|
+
* binary version resource or a shell command. The error text names the module's
|
|
16
|
+
* public label only: the library and the replaced file must stay internal.
|
|
17
|
+
*/
|
|
18
|
+
export declare function deferredVersion(entry: CatalogEntry, directory: string): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* The same resolution against an explicit file.
|
|
21
|
+
*
|
|
22
|
+
* A package staged for an update has not been laid out yet, so its Server files
|
|
23
|
+
* are still at the archive's own sub-path; the caller computes that file and
|
|
24
|
+
* calls this variant.
|
|
25
|
+
*/
|
|
26
|
+
export declare function deferredVersionAt(entry: CatalogEntry, file: string): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* The exact objects a deferred module publishes for one version.
|
|
29
|
+
*
|
|
30
|
+
* The payload file names come from the trusted catalog and every one of them
|
|
31
|
+
* must resolve to exactly one remote object, exactly like an archive module's
|
|
32
|
+
* single name. The returned paths are only used for validation; the provider's
|
|
33
|
+
* download is addressed by name, and no path is ever recorded publicly.
|
|
34
|
+
*/
|
|
35
|
+
export declare function deferredPayload(entry: CatalogEntry, version: string, client: Pick<EnvironmentClient, 'listArtifacts'>): Promise<DeferredPayload[]>;
|
|
36
|
+
/** The `replace` mappings of a deferred module: one existing regular file each. */
|
|
37
|
+
export declare function replacementMappings(entry: CatalogEntry): LayoutMapping[];
|
|
38
|
+
//# sourceMappingURL=deferred.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../../src/environment/deferred.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3D,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI7F;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB1F;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAoBxJ;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,EAAE,CAExE"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.deferredVersion = deferredVersion;
|
|
37
|
+
exports.deferredVersionAt = deferredVersionAt;
|
|
38
|
+
exports.deferredPayload = deferredPayload;
|
|
39
|
+
exports.replacementMappings = replacementMappings;
|
|
40
|
+
const fs = __importStar(require("fs/promises"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const catalog_1 = require("./catalog");
|
|
43
|
+
const failure = (entry, reason) => new Error(`Module ${(0, catalog_1.moduleLabel)(entry)} could not be applied: ${reason}`);
|
|
44
|
+
/**
|
|
45
|
+
* The version a deferred module must deploy, read from the Server package
|
|
46
|
+
* actually being deployed.
|
|
47
|
+
*
|
|
48
|
+
* `Server/Wyn.Server.deps.json` lists every library the Server was built
|
|
49
|
+
* against; the module's own version is exactly the version of the library the
|
|
50
|
+
* catalog names, so it is read from JSON on every platform instead of from a
|
|
51
|
+
* binary version resource or a shell command. The error text names the module's
|
|
52
|
+
* public label only: the library and the replaced file must stay internal.
|
|
53
|
+
*/
|
|
54
|
+
async function deferredVersion(entry, directory) {
|
|
55
|
+
const descriptor = entry.deferred;
|
|
56
|
+
if (!descriptor)
|
|
57
|
+
throw new Error(`${(0, catalog_1.moduleLabel)(entry)} is not a deferred module.`);
|
|
58
|
+
return deferredVersionAt(entry, path.join(directory, ...descriptor.versionFile.split('/')));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The same resolution against an explicit file.
|
|
62
|
+
*
|
|
63
|
+
* A package staged for an update has not been laid out yet, so its Server files
|
|
64
|
+
* are still at the archive's own sub-path; the caller computes that file and
|
|
65
|
+
* calls this variant.
|
|
66
|
+
*/
|
|
67
|
+
async function deferredVersionAt(entry, file) {
|
|
68
|
+
const descriptor = entry.deferred;
|
|
69
|
+
if (!descriptor)
|
|
70
|
+
throw new Error(`${(0, catalog_1.moduleLabel)(entry)} is not a deferred module.`);
|
|
71
|
+
let document;
|
|
72
|
+
try {
|
|
73
|
+
const stat = await fs.lstat(file);
|
|
74
|
+
if (!stat.isFile() || stat.isSymbolicLink())
|
|
75
|
+
throw new Error('not a regular file');
|
|
76
|
+
document = JSON.parse(await fs.readFile(file, 'utf8'));
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
throw failure(entry, `the Server package provides no version information (${descriptor.versionFile} is missing or unreadable).`);
|
|
80
|
+
}
|
|
81
|
+
const libraries = document?.libraries;
|
|
82
|
+
if (!libraries || typeof libraries !== 'object' || Array.isArray(libraries))
|
|
83
|
+
throw failure(entry, 'the Server package records no version for the file it replaces.');
|
|
84
|
+
const prefix = `${descriptor.library}/`;
|
|
85
|
+
const versions = Object.keys(libraries).filter(key => key.startsWith(prefix) && key.length > prefix.length).map(key => key.slice(prefix.length));
|
|
86
|
+
// More than one entry cannot describe one concrete package; refuse instead of
|
|
87
|
+
// picking one arbitrarily.
|
|
88
|
+
if (versions.length !== 1)
|
|
89
|
+
throw failure(entry, 'the Server package records no unique version for the file it replaces.');
|
|
90
|
+
const [version] = versions;
|
|
91
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(version))
|
|
92
|
+
throw failure(entry, 'the Server package records an invalid version for the file it replaces.');
|
|
93
|
+
return version;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The exact objects a deferred module publishes for one version.
|
|
97
|
+
*
|
|
98
|
+
* The payload file names come from the trusted catalog and every one of them
|
|
99
|
+
* must resolve to exactly one remote object, exactly like an archive module's
|
|
100
|
+
* single name. The returned paths are only used for validation; the provider's
|
|
101
|
+
* download is addressed by name, and no path is ever recorded publicly.
|
|
102
|
+
*/
|
|
103
|
+
async function deferredPayload(entry, version, client) {
|
|
104
|
+
const descriptor = entry.deferred;
|
|
105
|
+
if (!descriptor)
|
|
106
|
+
throw new Error(`${(0, catalog_1.moduleLabel)(entry)} is not a deferred module.`);
|
|
107
|
+
let files;
|
|
108
|
+
try {
|
|
109
|
+
files = await client.listArtifacts(entry.plugin, version);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
throw failure(entry, `version ${version} could not be resolved.`);
|
|
113
|
+
}
|
|
114
|
+
const names = descriptor.payload(version);
|
|
115
|
+
const selected = [];
|
|
116
|
+
for (const name of names) {
|
|
117
|
+
const candidates = files.filter(file => file.name === name);
|
|
118
|
+
if (candidates.length !== 1)
|
|
119
|
+
throw failure(entry, `version ${version} publishes no unique replacement payload.`);
|
|
120
|
+
const remotePath = candidates[0].path;
|
|
121
|
+
if (!remotePath || /[?:\\\x00-\x1f]/.test(remotePath) || remotePath.startsWith('/') || remotePath.split('/').includes('..'))
|
|
122
|
+
throw failure(entry, `version ${version} publishes an invalid replacement path.`);
|
|
123
|
+
selected.push({ name, path: remotePath });
|
|
124
|
+
}
|
|
125
|
+
if (selected.length !== 1)
|
|
126
|
+
throw failure(entry, `version ${version} publishes no unique replacement payload.`);
|
|
127
|
+
return selected;
|
|
128
|
+
}
|
|
129
|
+
/** The `replace` mappings of a deferred module: one existing regular file each. */
|
|
130
|
+
function replacementMappings(entry) {
|
|
131
|
+
return entry.mappings.filter(mapping => mapping.role === 'replace');
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=deferred.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../src/environment/deferred.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The 3D scene assets bundled with this package.
|
|
3
|
+
*
|
|
4
|
+
* Wyn's 3D scene document designer loads its scene assets (HDR environments,
|
|
5
|
+
* geometry thumbnails, ground and flare textures) from `/3DScene` at the
|
|
6
|
+
* Server's own web root, so a created environment needs exactly those files
|
|
7
|
+
* below `<root>/Server/wwwroot/3DScene`. They are part of this package
|
|
8
|
+
* (`resources/3DScene`) and are copied from the package's installation
|
|
9
|
+
* directory — the downloaded product artifacts do not ship them.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sceneResourceName = "3DScene";
|
|
12
|
+
/** Environment-relative destination of the bundled 3D scene assets (POSIX separators). */
|
|
13
|
+
export declare const sceneResourceDestination = "Server/wwwroot/3DScene";
|
|
14
|
+
/**
|
|
15
|
+
* The `resources` directory of this package.
|
|
16
|
+
*
|
|
17
|
+
* Resolved from the compiled file location instead of the working directory:
|
|
18
|
+
* `__dirname` is `<package>/dist/environment` in an installed package and
|
|
19
|
+
* `<repository>/src/environment` under ts-jest, and the directory that holds
|
|
20
|
+
* `package.json` and `resources/` is two levels up in both layouts. `dist` is
|
|
21
|
+
* never named, so a differently compiled layout keeps working; the copy itself
|
|
22
|
+
* reports the resolved path when it is missing.
|
|
23
|
+
*/
|
|
24
|
+
export declare function bundledResourcesDirectory(): string;
|
|
25
|
+
/** One named resource tree inside a bundled resources directory. */
|
|
26
|
+
export declare function bundledResourceDirectory(name: string, resources?: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Copy every file of `source` into `destination` and return the relative POSIX
|
|
29
|
+
* paths that were written.
|
|
30
|
+
*
|
|
31
|
+
* Copies are exclusive, exactly like the rest of the builder: an existing file
|
|
32
|
+
* at a destination path fails the whole layout instead of being replaced, so a
|
|
33
|
+
* packed environment can never silently shadow the packaged assets (or the
|
|
34
|
+
* other way round). Directories are only merged when they are real directories.
|
|
35
|
+
*/
|
|
36
|
+
export declare function copyBundledResource(source: string, destination: string): Promise<string[]>;
|
|
37
|
+
/**
|
|
38
|
+
* How one packaged file stands against its destination.
|
|
39
|
+
*
|
|
40
|
+
* `missing` is a file the environment does not have yet, `identical` a file that
|
|
41
|
+
* already holds exactly the packaged bytes, and `different` a file whose content
|
|
42
|
+
* differs. The package is the authority for this managed tree, so an update
|
|
43
|
+
* refreshes a different file; identical files are left alone, which makes a
|
|
44
|
+
* second run a true no-op.
|
|
45
|
+
*/
|
|
46
|
+
export type BundledResourceFileStatus = 'missing' | 'identical' | 'different';
|
|
47
|
+
/** One file of a bundled resource tree and what an update would do with it. */
|
|
48
|
+
export interface BundledResourceFilePlan {
|
|
49
|
+
relative: string;
|
|
50
|
+
status: BundledResourceFileStatus;
|
|
51
|
+
}
|
|
52
|
+
/** A plan for one bundled resource tree: every packaged file, and the totals. */
|
|
53
|
+
export interface BundledResourcePlan {
|
|
54
|
+
files: BundledResourceFilePlan[];
|
|
55
|
+
added: number;
|
|
56
|
+
updated: number;
|
|
57
|
+
}
|
|
58
|
+
/** The relative POSIX paths an apply really wrote, split by kind. */
|
|
59
|
+
export interface BundledResourceApply {
|
|
60
|
+
added: string[];
|
|
61
|
+
updated: string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Plan one bundled resource tree against its destination without writing anything.
|
|
65
|
+
*
|
|
66
|
+
* Every packaged file is classified (missing, identical or different) and the
|
|
67
|
+
* result carries the sorted relative POSIX paths plus the `added`/`updated`
|
|
68
|
+
* totals the update reports. A missing or unusable bundled directory fails loudly
|
|
69
|
+
* with the expected path, before anything is written, exactly like
|
|
70
|
+
* `copyBundledResource` fails a create — an environment whose 3D scene designer
|
|
71
|
+
* cannot load its assets is broken rather than degraded.
|
|
72
|
+
*
|
|
73
|
+
* `assumeMissing` covers an update that replaces a directory this tree lives in:
|
|
74
|
+
* the Server module owns `Server/`, so refreshing it removes the whole
|
|
75
|
+
* `wwwroot/3DScene` tree moments later. Classifying against content that is about
|
|
76
|
+
* to be deleted would report every file identical, write nothing, and leave the
|
|
77
|
+
* environment with no 3D scene assets at all.
|
|
78
|
+
*/
|
|
79
|
+
export declare function planBundledResource(source: string, destination: string, assumeMissing?: boolean): Promise<BundledResourcePlan>;
|
|
80
|
+
/**
|
|
81
|
+
* Reconcile one planned bundled tree into `destination`.
|
|
82
|
+
*
|
|
83
|
+
* A missing file is copied with the same exclusive discipline the builder uses,
|
|
84
|
+
* so a racing writer is never overwritten. A different file is first copied into
|
|
85
|
+
* `scratch` and then replaced through a temporary file and an atomic rename, so a
|
|
86
|
+
* reader never sees a partial file. Identical files are not touched at all. When
|
|
87
|
+
* any write fails, the files this call added are removed, the files it replaced
|
|
88
|
+
* are restored from `scratch` and the directories it created are removed again —
|
|
89
|
+
* a failed layout never leaves a half-applied resource tree behind.
|
|
90
|
+
*
|
|
91
|
+
* `scratch` must be on the same volume as `destination` (the update workspace
|
|
92
|
+
* beside the environment root is) and is only used for the replaced content.
|
|
93
|
+
*/
|
|
94
|
+
export declare function applyBundledResource(source: string, destination: string, plan: BundledResourcePlan, scratch: string): Promise<BundledResourceApply>;
|
|
95
|
+
//# sourceMappingURL=package-resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-resource.d.ts","sourceRoot":"","sources":["../../src/environment/package-resource.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAoC,GAAG,MAAM,CAE9G;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BhG;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAE9E,+EAA+E;AAC/E,MAAM,WAAW,uBAAuB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAA;CAAE;AAEhG,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAAG,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAEzG,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IAAG,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE;AA0C5E;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBlI;AAmCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoCzJ"}
|