@guanjinke/artifact-client 1.10.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.
@@ -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
- if (artifact.module === 'server')
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
- await fs.writeFile(path.join(staging, manifestName), JSON.stringify({ ...plan, ...(dependencies.managed ? { managed: { ...dependencies.managed, root: plan.root, port: plan.port } } : {}), requirements: [...new Set(requirements)], downloads: hashes }, null, 2) + '\n', { flag: 'wx' });
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":"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"}
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
@@ -21,13 +43,25 @@ export interface CatalogEntry {
21
43
  */
22
44
  unpublished?: (major: string) => string;
23
45
  /**
24
- * Deployed only while the environment is created, and never selectable. It
25
- * seeds data the product imports once, on the Server's first start, so
26
- * `update-env` neither refreshes, preserves nor re-deploys it, and `all`
27
- * skips it. Only the built-in trailing modules may be create-only.
46
+ * Deployed only while the environment is created, and never selectable. A
47
+ * create-only module seeds a tree the Server owns — the first-start sample
48
+ * data — which an update cannot reproduce: `update-env` neither refreshes,
49
+ * preserves nor re-deploys it, and `all` skips it. Only the built-in trailing
50
+ * modules may be create-only.
28
51
  */
29
52
  createOnly?: boolean;
53
+ /**
54
+ * Maintained by the tool, never by the user. An internal module is not in
55
+ * `updatableModules`: the web update picker does not offer it, `all` does not
56
+ * select it, and an explicit spec naming it is refused. The updater may still
57
+ * deploy it on its own when another module requires it — `dashboard-resource`
58
+ * is re-deployed from its artifact whenever a Server refresh replaces the
59
+ * directory its trees live in.
60
+ */
61
+ internal?: boolean;
30
62
  }
63
+ /** The name every user-visible surface must use for a module. */
64
+ export declare function moduleLabel(entry: CatalogEntry): string;
31
65
  /** The single archive name of a module that publishes one ZIP. */
32
66
  export declare function archiveName(entry: CatalogEntry, version: string, edition: string): string;
33
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;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;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,CA+EhD,CAAC"}
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.plugin} does not publish a single archive.`);
15
+ throw new Error(`${moduleLabel(entry)} does not publish a single archive.`);
11
16
  return entry.filename(version, edition);
12
17
  }
13
18
  /**
@@ -45,6 +50,14 @@ exports.catalog = {
45
50
  plugin: 'gces-analysis', filename: v => `analysis-model.${v}.zip`,
46
51
  mappings: [mapping('analysis', 'Plugins/AnalysisModel', ['Wyn.AnalysisModel.Plugin.dll'], 'plugin')],
47
52
  },
53
+ // Data Monitoring: the licensed document type dashboards raise rules on. It is
54
+ // an in-process plugin only (its execution processor runs inside the Server)
55
+ // and its single archive carries no edition variant, so both editions can
56
+ // select it. The ZIP root is `dataMonitoring/`.
57
+ 'data-monitoring': {
58
+ plugin: 'gces-data-monitoring', filename: v => `data-monitoring.${v}.zip`,
59
+ mappings: [mapping('dataMonitoring', 'Plugins/DataMonitoring', ['Wyn.DataMonitoring.Plugin.dll'], 'plugin')],
60
+ },
48
61
  sheets: {
49
62
  plugin: 'wyn-sheets', filename: v => `wyn-sheets.v${v}.zip`,
50
63
  mappings: [mapping('', 'Plugins/Sheet', ['Wyn.Sheets.Plugin.dll'], 'plugin')],
@@ -67,10 +80,30 @@ exports.catalog = {
67
80
  plugin: 'wyn-collaboration', filename: v => `collaboration-service.v${v}.zip`,
68
81
  mappings: [mapping('', 'CollaborationService', [], 'service', 'CollaborationService')],
69
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
+ },
70
100
  // Built-in resource module: the 3D scene assets and map data the Server-hosted
71
101
  // plugins load from its web root. It is deployed last, for every environment
72
102
  // whose major publishes it (`dev`/`10.0` today; there is no `9.1` line), and it
73
- // is invisible: never selectable, never removed, no `conf/Wyn.conf` entry.
103
+ // is invisible: never selectable, no `conf/Wyn.conf` entry, no user-facing
104
+ // update path. It is internal: no `--modules` spec can name it and the web
105
+ // picker never offers it, but a Server refresh re-deploys it automatically
106
+ // because its trees live *inside* the Server directory (see `update.ts`).
74
107
  // Both map editions land in the same `Server/wwwroot/map` directory, so exactly
75
108
  // one of them is ever deployed — the one the environment's edition matches.
76
109
  'dashboard-resource': {
@@ -81,6 +114,7 @@ exports.catalog = {
81
114
  { source: 'map-en', destination: 'Server/wwwroot/map', assemblies: [], role: 'resource', edition: 'en' },
82
115
  ],
83
116
  unpublished: major => `wyn-dashboard-resource is not published for major ${major}; 3D scene and map resources were not deployed.`,
117
+ internal: true,
84
118
  },
85
119
  // Built-in sample data: the sample files Wyn imports when the Server starts for
86
120
  // the first time. It is the one module that publishes a *directory of payload
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":";;;AAkCA,kCAGC;AASD,0CAEC;AAjBD,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,UAAoB,EAAE,IAA2B,EAAE,OAAgB,EAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1N,kEAAkE;AAClE,SAAgB,WAAW,CAAC,KAAmB,EAAE,OAAe,EAAE,OAAe;IAC/E,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAC;IAC3F,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,QAAkC,EAAE,OAAoB;IACtF,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AAClG,CAAC;AAEY,QAAA,OAAO,GAAiC;IACnD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QAClE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC1E;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM;QACjF,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;KAC1E;IACD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,MAAM;QACpE,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;KACvP;IACD,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM;QAC7D,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC,2BAA2B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,2BAA2B,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;KAC3M;IACD,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM;QAC9D,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;KAChP;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM;QACjE,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,EAAE,CAAC,8BAA8B,CAAC,EAAE,QAAQ,CAAC,CAAC;KACrG;IACD,MAAM,EAAE;QACN,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM;QAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC9E;IACD,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,SAAS,EAAE;QACT,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM;QAC7E,QAAQ,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,CAAC,+BAA+B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,CAAC,+BAA+B,CAAC,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;KACjP;IACD,yEAAyE;IACzE,8EAA8E;IAC9E,kFAAkF;IAClF,6EAA6E;IAC7E,+EAA+E;IAC/E,iEAAiE;IACjE,aAAa,EAAE;QACb,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM;QAC7E,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;KACvF;IACD,+EAA+E;IAC/E,6EAA6E;IAC7E,gFAAgF;IAChF,2EAA2E;IAC3E,gFAAgF;IAChF,4EAA4E;IAC5E,oBAAoB,EAAE;QACpB,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,MAAM;QACnF,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9F,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;YACxG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;SACzG;QACD,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qDAAqD,KAAK,iDAAiD;KAClI;IACD,gFAAgF;IAChF,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,iBAAiB,EAAE;QACjB,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,eAAe,EAAE,GAAG,OAAO,mBAAmB,CAAC;QAC1F,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;YACrG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;SACtG;QACD,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kDAAkD,KAAK,8CAA8C;QAC3H,UAAU,EAAE,IAAI;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/environment/catalog.ts"],"names":[],"mappings":";;;AAkEA,kCAEC;AAGD,kCAGC;AASD,0CAEC;AAtBD,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,UAAoB,EAAE,IAA2B,EAAE,OAAgB,EAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1N,iEAAiE;AACjE,SAAgB,WAAW,CAAC,KAAmB;IAC7C,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;AACrC,CAAC;AAED,kEAAkE;AAClE,SAAgB,WAAW,CAAC,KAAmB,EAAE,OAAe,EAAE,OAAe;IAC/E,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,QAAkC,EAAE,OAAoB;IACtF,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AAClG,CAAC;AAEY,QAAA,OAAO,GAAiC;IACnD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QAClE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC1E;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM;QACjF,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;KAC1E;IACD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,MAAM;QACpE,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;KACvP;IACD,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM;QAC7D,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC,2BAA2B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,2BAA2B,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;KAC3M;IACD,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM;QAC9D,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;KAChP;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM;QACjE,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,EAAE,CAAC,8BAA8B,CAAC,EAAE,QAAQ,CAAC,CAAC;KACrG;IACD,+EAA+E;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,gDAAgD;IAChD,iBAAiB,EAAE;QACjB,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM;QACzE,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC,+BAA+B,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC7G;IACD,MAAM,EAAE;QACN,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM;QAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,CAAC;KAC9E;IACD,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,SAAS,EAAE;QACT,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM;QAC7E,QAAQ,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,CAAC,+BAA+B,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,CAAC,+BAA+B,CAAC,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;KACjP;IACD,yEAAyE;IACzE,8EAA8E;IAC9E,kFAAkF;IAClF,6EAA6E;IAC7E,+EAA+E;IAC/E,iEAAiE;IACjE,aAAa,EAAE;QACb,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM;QAC7E,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;KACvF;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,KAAK,EAAE;QACL,MAAM,EAAE,uBAAuB;QAC/B,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,kCAAkC,CAAC;SACpD;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC,kCAAkC,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;KAC1G;IACD,+EAA+E;IAC/E,6EAA6E;IAC7E,gFAAgF;IAChF,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,gFAAgF;IAChF,4EAA4E;IAC5E,oBAAoB,EAAE;QACpB,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,MAAM;QACnF,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9F,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;YACxG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;SACzG;QACD,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qDAAqD,KAAK,iDAAiD;QACjI,QAAQ,EAAE,IAAI;KACf;IACD,gFAAgF;IAChF,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,iBAAiB,EAAE;QACjB,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,eAAe,EAAE,GAAG,OAAO,mBAAmB,CAAC;QAC1F,QAAQ,EAAE;YACR,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;YACrG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;SACtG;QACD,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kDAAkD,KAAK,8CAA8C;QAC3H,UAAU,EAAE,IAAI;KACjB;CACF,CAAC"}
@@ -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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"}