@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.
Files changed (35) hide show
  1. package/README.md +217 -217
  2. package/dist/cli/setup.js +2 -2
  3. package/dist/cli/setup.js.map +1 -1
  4. package/dist/cli.js +0 -0
  5. package/dist/environment/builder.d.ts.map +1 -1
  6. package/dist/environment/builder.js +78 -2
  7. package/dist/environment/builder.js.map +1 -1
  8. package/dist/environment/catalog.d.ts +24 -0
  9. package/dist/environment/catalog.d.ts.map +1 -1
  10. package/dist/environment/catalog.js +23 -1
  11. package/dist/environment/catalog.js.map +1 -1
  12. package/dist/environment/deferred.d.ts +38 -0
  13. package/dist/environment/deferred.d.ts.map +1 -0
  14. package/dist/environment/deferred.js +133 -0
  15. package/dist/environment/deferred.js.map +1 -0
  16. package/dist/environment/package-resource.d.ts +95 -0
  17. package/dist/environment/package-resource.d.ts.map +1 -0
  18. package/dist/environment/package-resource.js +323 -0
  19. package/dist/environment/package-resource.js.map +1 -0
  20. package/dist/environment/plan.d.ts +7 -1
  21. package/dist/environment/plan.d.ts.map +1 -1
  22. package/dist/environment/plan.js +25 -5
  23. package/dist/environment/plan.js.map +1 -1
  24. package/dist/environment/resource.d.ts +36 -0
  25. package/dist/environment/resource.d.ts.map +1 -0
  26. package/dist/environment/resource.js +101 -0
  27. package/dist/environment/resource.js.map +1 -0
  28. package/dist/environment/types.d.ts +36 -8
  29. package/dist/environment/types.d.ts.map +1 -1
  30. package/dist/environment/types.js +5 -0
  31. package/dist/environment/types.js.map +1 -1
  32. package/dist/environment/update.d.ts.map +1 -1
  33. package/dist/environment/update.js +210 -15
  34. package/dist/environment/update.js.map +1 -1
  35. package/package.json +1 -1
@@ -0,0 +1,323 @@
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.sceneResourceDestination = exports.sceneResourceName = void 0;
37
+ exports.bundledResourcesDirectory = bundledResourcesDirectory;
38
+ exports.bundledResourceDirectory = bundledResourceDirectory;
39
+ exports.copyBundledResource = copyBundledResource;
40
+ exports.planBundledResource = planBundledResource;
41
+ exports.applyBundledResource = applyBundledResource;
42
+ const fs = __importStar(require("fs/promises"));
43
+ const fsSync = __importStar(require("fs"));
44
+ const path = __importStar(require("path"));
45
+ const crypto_1 = require("crypto");
46
+ const atomic_1 = require("../utils/atomic");
47
+ /**
48
+ * The 3D scene assets bundled with this package.
49
+ *
50
+ * Wyn's 3D scene document designer loads its scene assets (HDR environments,
51
+ * geometry thumbnails, ground and flare textures) from `/3DScene` at the
52
+ * Server's own web root, so a created environment needs exactly those files
53
+ * below `<root>/Server/wwwroot/3DScene`. They are part of this package
54
+ * (`resources/3DScene`) and are copied from the package's installation
55
+ * directory — the downloaded product artifacts do not ship them.
56
+ */
57
+ exports.sceneResourceName = '3DScene';
58
+ /** Environment-relative destination of the bundled 3D scene assets (POSIX separators). */
59
+ exports.sceneResourceDestination = 'Server/wwwroot/3DScene';
60
+ /**
61
+ * The `resources` directory of this package.
62
+ *
63
+ * Resolved from the compiled file location instead of the working directory:
64
+ * `__dirname` is `<package>/dist/environment` in an installed package and
65
+ * `<repository>/src/environment` under ts-jest, and the directory that holds
66
+ * `package.json` and `resources/` is two levels up in both layouts. `dist` is
67
+ * never named, so a differently compiled layout keeps working; the copy itself
68
+ * reports the resolved path when it is missing.
69
+ */
70
+ function bundledResourcesDirectory() {
71
+ return path.resolve(__dirname, '..', '..', 'resources');
72
+ }
73
+ /** One named resource tree inside a bundled resources directory. */
74
+ function bundledResourceDirectory(name, resources = bundledResourcesDirectory()) {
75
+ return path.join(resources, name);
76
+ }
77
+ /**
78
+ * Whether a bundling layout is usable at all: the resource tree must be a real
79
+ * directory, not a link or a file. A missing tree fails loudly with the path
80
+ * that was expected — the alternative (skipping the copy) would produce an
81
+ * environment whose 3D scene designer is silently broken.
82
+ */
83
+ async function resourceRoot(source, destination) {
84
+ let stat;
85
+ try {
86
+ stat = await fs.lstat(source);
87
+ }
88
+ catch (error) {
89
+ if (error.code !== 'ENOENT')
90
+ throw error;
91
+ throw new Error(`Bundled resource directory is missing: ${source}. This installation is incomplete and the environment would have no resources at ${destination}; reinstall the package, or create the environment with a complete installation.`);
92
+ }
93
+ if (!stat.isDirectory() || stat.isSymbolicLink())
94
+ throw new Error(`Bundled resource directory is not a regular directory: ${source}.`);
95
+ }
96
+ /**
97
+ * Copy every file of `source` into `destination` and return the relative POSIX
98
+ * paths that were written.
99
+ *
100
+ * Copies are exclusive, exactly like the rest of the builder: an existing file
101
+ * at a destination path fails the whole layout instead of being replaced, so a
102
+ * packed environment can never silently shadow the packaged assets (or the
103
+ * other way round). Directories are only merged when they are real directories.
104
+ */
105
+ async function copyBundledResource(source, destination) {
106
+ await resourceRoot(source, destination);
107
+ const written = [];
108
+ const visit = async (from, to, relative) => {
109
+ for (const entry of await fs.readdir(from, { withFileTypes: true })) {
110
+ const child = relative ? `${relative}/${entry.name}` : entry.name;
111
+ const target = path.join(to, entry.name);
112
+ if (entry.isDirectory()) {
113
+ try {
114
+ await fs.mkdir(target);
115
+ }
116
+ catch (error) {
117
+ if (error.code !== 'EEXIST')
118
+ throw error;
119
+ const stat = await fs.lstat(target);
120
+ if (!stat.isDirectory() || stat.isSymbolicLink())
121
+ throw new Error(`Bundled resource destination is not a directory: ${target}.`);
122
+ }
123
+ await visit(path.join(from, entry.name), target, child);
124
+ }
125
+ else if (entry.isFile()) {
126
+ try {
127
+ await fs.copyFile(path.join(from, entry.name), target, fsSync.constants.COPYFILE_EXCL);
128
+ }
129
+ catch (error) {
130
+ if (error.code === 'EEXIST')
131
+ throw new Error(`Bundled resource file already exists at ${target}. Bundled resources are copied exclusively and never overwrite an existing file.`);
132
+ throw error;
133
+ }
134
+ written.push(child);
135
+ }
136
+ else
137
+ throw new Error(`Unexpected link in bundled resource ${source}: ${child}.`);
138
+ }
139
+ };
140
+ await fs.mkdir(destination, { recursive: true });
141
+ await visit(source, destination, '');
142
+ return written.sort();
143
+ }
144
+ /** Whether two regular files hold exactly the same bytes. */
145
+ async function sameContent(left, right) {
146
+ const digest = async (file) => {
147
+ const hash = (0, crypto_1.createHash)('sha256');
148
+ for await (const chunk of fsSync.createReadStream(file))
149
+ hash.update(chunk);
150
+ return hash.digest('hex');
151
+ };
152
+ return await digest(left) === await digest(right);
153
+ }
154
+ /** Classify one packaged file against its destination; fail loudly on an unusable destination. */
155
+ async function fileStatus(from, to) {
156
+ let stat;
157
+ try {
158
+ stat = await fs.lstat(to);
159
+ }
160
+ catch (error) {
161
+ const code = error.code;
162
+ if (code === 'ENOENT')
163
+ return 'missing';
164
+ if (code === 'ENOTDIR')
165
+ throw new Error(`Bundled resource destination is not a directory: ${path.dirname(to)}.`);
166
+ throw error;
167
+ }
168
+ if (!stat.isFile() || stat.isSymbolicLink())
169
+ throw new Error(`Bundled resource destination is not a regular file: ${to}.`);
170
+ if ((await fs.lstat(from)).size !== stat.size)
171
+ return 'different';
172
+ return await sameContent(from, to) ? 'identical' : 'different';
173
+ }
174
+ /**
175
+ * A destination directory is usable only when it is a real directory, or when it
176
+ * does not exist yet and will be created by the apply. A file or a link where the
177
+ * packaged tree needs a directory fails the plan, on every platform, before
178
+ * anything is written.
179
+ */
180
+ async function checkDestinationDirectory(directory) {
181
+ const stat = await fs.lstat(directory).catch((error) => {
182
+ if (error.code === 'ENOENT' || error.code === 'ENOTDIR')
183
+ return undefined;
184
+ throw error;
185
+ });
186
+ if (stat && (!stat.isDirectory() || stat.isSymbolicLink()))
187
+ throw new Error(`Bundled resource destination is not a directory: ${directory}.`);
188
+ }
189
+ /**
190
+ * Plan one bundled resource tree against its destination without writing anything.
191
+ *
192
+ * Every packaged file is classified (missing, identical or different) and the
193
+ * result carries the sorted relative POSIX paths plus the `added`/`updated`
194
+ * totals the update reports. A missing or unusable bundled directory fails loudly
195
+ * with the expected path, before anything is written, exactly like
196
+ * `copyBundledResource` fails a create — an environment whose 3D scene designer
197
+ * cannot load its assets is broken rather than degraded.
198
+ *
199
+ * `assumeMissing` covers an update that replaces a directory this tree lives in:
200
+ * the Server module owns `Server/`, so refreshing it removes the whole
201
+ * `wwwroot/3DScene` tree moments later. Classifying against content that is about
202
+ * to be deleted would report every file identical, write nothing, and leave the
203
+ * environment with no 3D scene assets at all.
204
+ */
205
+ async function planBundledResource(source, destination, assumeMissing = false) {
206
+ await resourceRoot(source, destination);
207
+ await checkDestinationDirectory(destination);
208
+ const files = [];
209
+ const visit = async (from, to, relative) => {
210
+ for (const entry of await fs.readdir(from, { withFileTypes: true })) {
211
+ const child = relative ? `${relative}/${entry.name}` : entry.name;
212
+ if (entry.isDirectory()) {
213
+ const directory = path.join(to, entry.name);
214
+ await checkDestinationDirectory(directory);
215
+ await visit(path.join(from, entry.name), directory, child);
216
+ continue;
217
+ }
218
+ if (!entry.isFile())
219
+ throw new Error(`Unexpected link in bundled resource ${source}: ${child}.`);
220
+ files.push({ relative: child, status: assumeMissing ? 'missing' : await fileStatus(path.join(from, entry.name), path.join(to, entry.name)) });
221
+ }
222
+ };
223
+ await visit(source, destination, '');
224
+ files.sort((left, right) => left.relative < right.relative ? -1 : left.relative > right.relative ? 1 : 0);
225
+ return { files, added: files.filter(file => file.status === 'missing').length, updated: files.filter(file => file.status === 'different').length };
226
+ }
227
+ /**
228
+ * Create one destination directory and every missing parent of it, remembering
229
+ * what was created so a failed apply can remove exactly those directories again.
230
+ */
231
+ async function ensureDirectory(directory, created) {
232
+ const missing = [];
233
+ for (let current = directory;;) {
234
+ let stat;
235
+ try {
236
+ stat = await fs.lstat(current);
237
+ }
238
+ catch (error) {
239
+ if (error.code !== 'ENOENT')
240
+ throw error;
241
+ missing.unshift(current);
242
+ const parent = path.dirname(current);
243
+ if (parent === current)
244
+ break;
245
+ current = parent;
246
+ continue;
247
+ }
248
+ if (!stat.isDirectory() || stat.isSymbolicLink())
249
+ throw new Error(`Bundled resource destination is not a directory: ${current}.`);
250
+ break;
251
+ }
252
+ for (const item of missing) {
253
+ try {
254
+ await fs.mkdir(item);
255
+ created.push(item);
256
+ }
257
+ catch (error) {
258
+ if (error.code !== 'EEXIST')
259
+ throw error;
260
+ const stat = await fs.lstat(item);
261
+ if (!stat.isDirectory() || stat.isSymbolicLink())
262
+ throw new Error(`Bundled resource destination is not a directory: ${item}.`);
263
+ }
264
+ }
265
+ }
266
+ /**
267
+ * Reconcile one planned bundled tree into `destination`.
268
+ *
269
+ * A missing file is copied with the same exclusive discipline the builder uses,
270
+ * so a racing writer is never overwritten. A different file is first copied into
271
+ * `scratch` and then replaced through a temporary file and an atomic rename, so a
272
+ * reader never sees a partial file. Identical files are not touched at all. When
273
+ * any write fails, the files this call added are removed, the files it replaced
274
+ * are restored from `scratch` and the directories it created are removed again —
275
+ * a failed layout never leaves a half-applied resource tree behind.
276
+ *
277
+ * `scratch` must be on the same volume as `destination` (the update workspace
278
+ * beside the environment root is) and is only used for the replaced content.
279
+ */
280
+ async function applyBundledResource(source, destination, plan, scratch) {
281
+ const added = [];
282
+ const updated = [];
283
+ const temporary = [];
284
+ const replaced = [];
285
+ const directories = [];
286
+ const targetOf = (relative) => path.join(destination, ...relative.split('/'));
287
+ try {
288
+ for (const file of plan.files) {
289
+ if (file.status === 'identical')
290
+ continue;
291
+ const from = path.join(source, ...file.relative.split('/'));
292
+ const target = targetOf(file.relative);
293
+ await ensureDirectory(path.dirname(target), directories);
294
+ if (file.status === 'missing') {
295
+ await fs.copyFile(from, target, fsSync.constants.COPYFILE_EXCL);
296
+ added.push(file.relative);
297
+ continue;
298
+ }
299
+ const pending = `${target}.afm-tmp`;
300
+ await fs.copyFile(from, pending);
301
+ temporary.push(pending);
302
+ const backup = path.join(scratch, ...file.relative.split('/'));
303
+ await fs.mkdir(path.dirname(backup), { recursive: true });
304
+ await fs.copyFile(target, backup);
305
+ await (0, atomic_1.renameAtomic)(pending, target);
306
+ replaced.push({ target, backup });
307
+ updated.push(file.relative);
308
+ }
309
+ }
310
+ catch (error) {
311
+ for (const file of temporary)
312
+ await fs.rm(file, { force: true }).catch(() => { });
313
+ for (const relative of added)
314
+ await fs.rm(targetOf(relative), { force: true }).catch(() => { });
315
+ for (const item of replaced)
316
+ await (0, atomic_1.renameAtomic)(item.backup, item.target).catch(() => { });
317
+ for (const directory of directories.reverse())
318
+ await fs.rmdir(directory).catch(() => { });
319
+ throw error;
320
+ }
321
+ return { added, updated };
322
+ }
323
+ //# sourceMappingURL=package-resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-resource.js","sourceRoot":"","sources":["../../src/environment/package-resource.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ export declare const defaultPort: number;
18
18
  * The core components (server, account, dataset, analysis model, cot worker,
19
19
  * monitoring) are always included and are never selected here. Data Monitoring
20
20
  * ships one editionless archive, so both editions offer it; CN ships dashboards
21
- * and reporting, and EN additionally ships sheets and smart documents.
21
+ * and reporting, and EN additionally ships sheets and smart documents. `patch`
22
+ * is edition-independent: it is selectable in both editions and is deployed only
23
+ * when the caller selects it.
22
24
  */
23
25
  export declare const optionalModulesByEdition: Record<'cn' | 'en', EnvironmentModule[]>;
24
26
  /** Every selectable optional module, in the order errors and the UI list them. */
@@ -55,6 +57,10 @@ export declare function dependencyModules(selected: readonly string[]): string[]
55
57
  * `plan.ts` builds the artifacts from this and `builder.ts` re-derives it to
56
58
  * validate an untrusted plan, so the two can never disagree.
57
59
  *
60
+ * A deferred module is emitted after every other selected module because its
61
+ * version and payload only exist once those artifacts are on disk. The update
62
+ * plan uses the same ordering (`patch` after `server` even when named first).
63
+ *
58
64
  * A trailing module is only part of a plan that really deploys it: the caller
59
65
  * filters the returned list against the module's availability for the major.
60
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAYpG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9G;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;CAAyC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,MAAwB,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAG7E,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAAiE,CAAC;AAEjH,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAAmD,CAAC;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EAA8C,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAGrG;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAmBrM;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CA2EnK"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAYpG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9G;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;CAAyC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,MAAwB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAG7E,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAG3C,CAAC;AAEL,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAAmD,CAAC;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EAA8C,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAIpE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAGrG;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAmBrM;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAoFnK"}
@@ -108,14 +108,19 @@ exports.defaultPort = exports.portRange.first;
108
108
  * The core components (server, account, dataset, analysis model, cot worker,
109
109
  * monitoring) are always included and are never selected here. Data Monitoring
110
110
  * ships one editionless archive, so both editions offer it; CN ships dashboards
111
- * and reporting, and EN additionally ships sheets and smart documents.
111
+ * and reporting, and EN additionally ships sheets and smart documents. `patch`
112
+ * is edition-independent: it is selectable in both editions and is deployed only
113
+ * when the caller selects it.
112
114
  */
113
115
  exports.optionalModulesByEdition = {
114
- cn: ['dashboard', 'reporting', 'data-monitoring'],
115
- en: ['dashboard', 'reporting', 'data-monitoring', 'sheets', 'documents'],
116
+ cn: ['dashboard', 'reporting', 'data-monitoring', 'patch'],
117
+ en: ['dashboard', 'reporting', 'data-monitoring', 'sheets', 'documents', 'patch'],
116
118
  };
117
119
  /** Every selectable optional module, in the order errors and the UI list them. */
118
- exports.optionalModules = [...new Set(Object.values(exports.optionalModulesByEdition).flat())];
120
+ exports.optionalModules = (() => {
121
+ const listed = [...new Set(Object.values(exports.optionalModulesByEdition).flat())];
122
+ return [...listed.filter(module => !catalog_1.catalog[module].deferred), ...listed.filter(module => catalog_1.catalog[module].deferred)];
123
+ })();
119
124
  /** Components every environment contains, selected or not. */
120
125
  exports.autoAddedModules = ['server', 'monitoring', 'common', 'analysis'];
121
126
  /**
@@ -150,11 +155,17 @@ function dependencyModules(selected) {
150
155
  * `plan.ts` builds the artifacts from this and `builder.ts` re-derives it to
151
156
  * validate an untrusted plan, so the two can never disagree.
152
157
  *
158
+ * A deferred module is emitted after every other selected module because its
159
+ * version and payload only exist once those artifacts are on disk. The update
160
+ * plan uses the same ordering (`patch` after `server` even when named first).
161
+ *
153
162
  * A trailing module is only part of a plan that really deploys it: the caller
154
163
  * filters the returned list against the module's availability for the major.
155
164
  */
156
165
  function plannedModules(selected) {
157
- return [...exports.autoAddedModules, ...dependencyModules(selected), ...selected, ...exports.trailingModules];
166
+ const deferred = selected.filter(module => catalog_1.catalog[module]?.deferred);
167
+ const direct = selected.filter(module => !catalog_1.catalog[module]?.deferred);
168
+ return [...exports.autoAddedModules, ...dependencyModules(selected), ...direct, ...deferred, ...exports.trailingModules];
158
169
  }
159
170
  /**
160
171
  * The modules of `plannedModules(selected)` this environment really deploys:
@@ -226,6 +237,15 @@ async function buildEnvironmentPlan(options, client, onProgress) {
226
237
  const artifacts = [];
227
238
  for (const [index, module] of modules.entries()) {
228
239
  const entry = catalog_1.catalog[module];
240
+ // A deferred module has no version to resolve before the Server package is
241
+ // on disk. The plan records only its public label; the builder reads the
242
+ // Server tree it has just laid out and resolves the version from there. The
243
+ // real plugin name and the replaced file name never enter the plan.
244
+ if (entry.deferred) {
245
+ onProgress?.(`[${index + 1}/${modules.length}] ${(0, catalog_1.moduleLabel)(entry)} is resolved from the Server package while it is assembled`);
246
+ artifacts.push({ module, plugin: (0, catalog_1.moduleLabel)(entry), deferred: true });
247
+ continue;
248
+ }
229
249
  onProgress?.(`[${index + 1}/${modules.length}] Resolving ${entry.plugin}/${normalized.major}`);
230
250
  let version;
231
251
  let files;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { LayoutMapping } from './types';
2
+ /**
3
+ * Where the Server serves the 3D scene designer's static resources from.
4
+ *
5
+ * Wyn's 3D scene document designer requests its scene assets from `/3DScene` at
6
+ * the Server's own web root, so a package that ships them in a directory of its
7
+ * own (`resource/3DScene`) has to be laid out here — not at `Server/resource/3DScene`,
8
+ * which is where a whole-archive mapping into `Server` would put them.
9
+ */
10
+ export declare const resourceDestination = "Server/wwwroot/3DScene";
11
+ /**
12
+ * Whether a directory inside an artifact archive is a 3D scene resource tree.
13
+ *
14
+ * The last two path segments are compared, so `resource/3DScene` and
15
+ * `resources/3dscene` match at the archive root and when nested (for example
16
+ * inside a `Web Contents` folder). Both segments are case-insensitive and either
17
+ * singular or plural is accepted, because the packaging side chooses the
18
+ * spelling and this layout rule must not depend on a particular artifact.
19
+ */
20
+ export declare function isResourceDirectory(relative: string): boolean;
21
+ /** The layout mapping of one resource directory: static files, no assembly and no service entry. */
22
+ export declare function resourceMapping(source: string): LayoutMapping;
23
+ /**
24
+ * The resource mappings an extracted archive really contains.
25
+ *
26
+ * Resource trees are not named in the catalog: the same fixed destination
27
+ * applies whatever module ships the files, so the archive's own directory list
28
+ * decides. Reading the extracted tree keeps `environment.lock.json` truthful —
29
+ * an artifact that ships no resource directory gets no mapping, one that does
30
+ * gets the mapping that was actually laid out.
31
+ *
32
+ * The walk is iterative and ignores files, so a deep or wide archive neither
33
+ * recurses the stack nor reads anything but directories.
34
+ */
35
+ export declare function resourceMappings(extracted: string): Promise<LayoutMapping[]>;
36
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/environment/resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAelF"}
@@ -0,0 +1,101 @@
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.resourceDestination = void 0;
37
+ exports.isResourceDirectory = isResourceDirectory;
38
+ exports.resourceMapping = resourceMapping;
39
+ exports.resourceMappings = resourceMappings;
40
+ const fs = __importStar(require("fs/promises"));
41
+ const path = __importStar(require("path"));
42
+ /**
43
+ * Where the Server serves the 3D scene designer's static resources from.
44
+ *
45
+ * Wyn's 3D scene document designer requests its scene assets from `/3DScene` at
46
+ * the Server's own web root, so a package that ships them in a directory of its
47
+ * own (`resource/3DScene`) has to be laid out here — not at `Server/resource/3DScene`,
48
+ * which is where a whole-archive mapping into `Server` would put them.
49
+ */
50
+ exports.resourceDestination = 'Server/wwwroot/3DScene';
51
+ /**
52
+ * Whether a directory inside an artifact archive is a 3D scene resource tree.
53
+ *
54
+ * The last two path segments are compared, so `resource/3DScene` and
55
+ * `resources/3dscene` match at the archive root and when nested (for example
56
+ * inside a `Web Contents` folder). Both segments are case-insensitive and either
57
+ * singular or plural is accepted, because the packaging side chooses the
58
+ * spelling and this layout rule must not depend on a particular artifact.
59
+ */
60
+ function isResourceDirectory(relative) {
61
+ const segments = relative.split('/');
62
+ if (segments.length < 2)
63
+ return false;
64
+ return /^resources?$/i.test(segments[segments.length - 2]) && /^3dscene$/i.test(segments[segments.length - 1]);
65
+ }
66
+ /** The layout mapping of one resource directory: static files, no assembly and no service entry. */
67
+ function resourceMapping(source) {
68
+ return { source, destination: exports.resourceDestination, assemblies: [], role: 'resource' };
69
+ }
70
+ /**
71
+ * The resource mappings an extracted archive really contains.
72
+ *
73
+ * Resource trees are not named in the catalog: the same fixed destination
74
+ * applies whatever module ships the files, so the archive's own directory list
75
+ * decides. Reading the extracted tree keeps `environment.lock.json` truthful —
76
+ * an artifact that ships no resource directory gets no mapping, one that does
77
+ * gets the mapping that was actually laid out.
78
+ *
79
+ * The walk is iterative and ignores files, so a deep or wide archive neither
80
+ * recurses the stack nor reads anything but directories.
81
+ */
82
+ async function resourceMappings(extracted) {
83
+ const found = [];
84
+ const pending = [''];
85
+ while (pending.length) {
86
+ const relative = pending.pop();
87
+ for (const entry of await fs.readdir(path.join(extracted, relative), { withFileTypes: true })) {
88
+ if (!entry.isDirectory())
89
+ continue;
90
+ const child = relative ? `${relative}/${entry.name}` : entry.name;
91
+ // The matched directory is a leaf for this walk: a nested resource tree of
92
+ // its own would be part of the same 3D scene assets.
93
+ if (isResourceDirectory(child))
94
+ found.push(child);
95
+ else
96
+ pending.push(child);
97
+ }
98
+ }
99
+ return found.sort().map(resourceMapping);
100
+ }
101
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/environment/resource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,kDAIC;AAGD,0CAEC;AAcD,4CAeC;AA7DD,gDAAkC;AAClC,2CAA6B;AAG7B;;;;;;;GAOG;AACU,QAAA,mBAAmB,GAAG,wBAAwB,CAAC;AAE5D;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,oGAAoG;AACpG,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,2BAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAG,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAClE,2EAA2E;YAC3E,qDAAqD;YACrD,IAAI,mBAAmB,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gBAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC"}