@substrat-run/control-plane-api 0.176.0 → 0.177.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 (55) hide show
  1. package/dist/api.d.ts +11 -0
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +392 -54
  4. package/dist/api.js.map +1 -1
  5. package/dist/backups.d.ts +51 -9
  6. package/dist/backups.d.ts.map +1 -1
  7. package/dist/backups.js +3 -0
  8. package/dist/backups.js.map +1 -1
  9. package/dist/browser.d.ts +1 -1
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.js.map +1 -1
  12. package/dist/builder-turns.d.ts +16 -0
  13. package/dist/builder-turns.d.ts.map +1 -0
  14. package/dist/builder-turns.js +43 -0
  15. package/dist/builder-turns.js.map +1 -0
  16. package/dist/connection-binding-relay.d.ts +28 -1
  17. package/dist/connection-binding-relay.d.ts.map +1 -1
  18. package/dist/connection-binding-relay.js +87 -2
  19. package/dist/connection-binding-relay.js.map +1 -1
  20. package/dist/connection-relay.d.ts +2 -2
  21. package/dist/connection-relay.d.ts.map +1 -1
  22. package/dist/connection-relay.js.map +1 -1
  23. package/dist/index.d.ts +4 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/migration-extract.d.ts +92 -0
  28. package/dist/migration-extract.d.ts.map +1 -0
  29. package/dist/migration-extract.js +217 -0
  30. package/dist/migration-extract.js.map +1 -0
  31. package/dist/platform-entry.d.ts +2 -0
  32. package/dist/platform-entry.d.ts.map +1 -1
  33. package/dist/platform-entry.js +2 -1
  34. package/dist/platform-entry.js.map +1 -1
  35. package/dist/platform-scope-stores.d.ts +9 -11
  36. package/dist/platform-scope-stores.d.ts.map +1 -1
  37. package/dist/platform-scope-stores.js +34 -19
  38. package/dist/platform-scope-stores.js.map +1 -1
  39. package/dist/r2-backups.d.ts +8 -5
  40. package/dist/r2-backups.d.ts.map +1 -1
  41. package/dist/r2-backups.js +109 -36
  42. package/dist/r2-backups.js.map +1 -1
  43. package/dist/seal.d.ts +5 -2
  44. package/dist/seal.d.ts.map +1 -1
  45. package/dist/seal.js +3 -0
  46. package/dist/seal.js.map +1 -1
  47. package/dist/staff-client.d.ts +10 -1
  48. package/dist/staff-client.d.ts.map +1 -1
  49. package/dist/staff-client.js +4 -2
  50. package/dist/staff-client.js.map +1 -1
  51. package/dist/vertical-client.d.ts +6 -0
  52. package/dist/vertical-client.d.ts.map +1 -1
  53. package/dist/vertical-client.js +16 -0
  54. package/dist/vertical-client.js.map +1 -1
  55. package/package.json +8 -8
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { type DeclaredMigration } from '@substrat-run/contracts';
2
+ import type { VerticalBundle } from './deploy.js';
3
+ /**
4
+ * The control plane reads a version's migrations from its bundle (#2351). The scope host that
5
+ * applies a version's migrations is code inside the vertical's own bundle, so the set the push
6
+ * declared and the set the bundle registers are two lists that nothing else ties together. The
7
+ * control plane evaluates the bundle in an isolate with no bindings and no network, asks each
8
+ * class `defineScopeDO` made for what it registers (`REGISTERED_MIGRATIONS`), and gates on it:
9
+ * a push whose declared migrations are not the registered ones is refused before upload. The
10
+ * stored set is then the registered set; nothing is stored in its place.
11
+ *
12
+ * What it reads is what the bundle registers when evaluated without its bindings, so this is an
13
+ * integrity check on the build, not an isolation boundary: the apply-time check (#2349) stays.
14
+ */
15
+ /** Evaluate a bundle and read what it registers: null when it exposes no registrations. Throws `MigrationExtractionError`. */
16
+ export type ExtractMigrationsFn = (bundle: Pick<VerticalBundle, 'entry' | 'compatibilityDate' | 'compatibilityFlags' | 'modules'>) => Promise<DeclaredMigration[] | null>;
17
+ /** A bundle that could not be evaluated, did not settle, or whose answer does not read: the bundle's own outcome. */
18
+ export declare class MigrationExtractionError extends Error {
19
+ readonly name = "MigrationExtractionError";
20
+ }
21
+ /**
22
+ * The loader itself failed: the platform could not run the read, which says nothing about the
23
+ * bundle. Retryable, so a caller never answers it as the bundle's fault.
24
+ */
25
+ export declare class MigrationLoaderUnavailable extends Error {
26
+ readonly name = "MigrationLoaderUnavailable";
27
+ }
28
+ /** The part of a Worker Loader binding this uses (`WorkerLoader` in workers-types). */
29
+ export interface MigrationLoader {
30
+ get(id: string, code: () => {
31
+ compatibilityDate: string;
32
+ compatibilityFlags?: string[];
33
+ mainModule: string;
34
+ modules: Record<string, string | {
35
+ js?: string;
36
+ cjs?: string;
37
+ text?: string;
38
+ data?: ArrayBuffer;
39
+ json?: unknown;
40
+ wasm?: ArrayBuffer;
41
+ }>;
42
+ env?: Record<string, never>;
43
+ globalOutbound?: null;
44
+ limits?: {
45
+ cpuMs?: number;
46
+ };
47
+ }): {
48
+ getEntrypoint(): {
49
+ fetch(url: string): Promise<Response>;
50
+ };
51
+ };
52
+ }
53
+ /**
54
+ * An `ExtractMigrationsFn` over a Worker Loader binding. The loaded worker is the vertical's own
55
+ * modules (a platform module an archive script carries is left out) behind a main module of the
56
+ * platform's, with `env: {}` and `globalOutbound: null`, so the bundle reaches nothing while it
57
+ * evaluates, and `limits.cpuMs`. Keyed by the bundle's content, so the same bytes evaluated again
58
+ * reuse the isolate.
59
+ *
60
+ * Whose outcome a failure is decides how it is answered: an error the bundle's entry threw, a read
61
+ * over its limits, or one that does not settle within `timeoutMs` is a `MigrationExtractionError`;
62
+ * any other failure of the loader is a `MigrationLoaderUnavailable`.
63
+ */
64
+ export declare function loaderMigrationExtractor(loader: MigrationLoader, options?: {
65
+ timeoutMs?: number;
66
+ }): ExtractMigrationsFn;
67
+ /**
68
+ * The loaded worker's answer, which is the bundle's data, parsed as a push's migrations are.
69
+ * Classes that register the same module must register the same migrations for it; their
70
+ * registrations are otherwise one set, in the order they came.
71
+ */
72
+ export declare function readExtraction(raw: unknown): DeclaredMigration[] | null;
73
+ /**
74
+ * Why the migrations a push declares are not the ones its bundle registers, or null when they
75
+ * are: migration for migration within each module, by version, exact SQL and the declared
76
+ * `moves` and `discards`. The order of the modules is not compared (the permission entry and
77
+ * the worker entry may list them differently), the order inside a module is.
78
+ */
79
+ export declare function extractedMigrationsProblem(declared: readonly DeclaredMigration[], registered: readonly DeclaredMigration[]): string | null;
80
+ /** The sentence a push or a promote is refused with when the two sets differ. */
81
+ export declare const extractedMigrationsRefusal: (problem: string) => string;
82
+ /**
83
+ * What `migrations_extracted` holds for a version: the digest of the migrations read from its
84
+ * bundle. Canonical form: `migrationDigestOf` with no store classes over the registered set,
85
+ * modules ordered by id (ascending, by UTF-16 code unit) and each module's migrations in the
86
+ * order the host applies them; per migration its module, version, the SHA-256 of its exact SQL,
87
+ * and its `moves` and `discards` when it declares any, as `stableJson` frames them. So module
88
+ * order, which the bundle chooses, does not move it, and any change to the SQL or to what a
89
+ * migration declares does.
90
+ */
91
+ export declare function extractedMigrationsDigest(registered: readonly DeclaredMigration[]): Promise<string>;
92
+ //# sourceMappingURL=migration-extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-extract.d.ts","sourceRoot":"","sources":["../src/migration-extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD;;;;;;;;;;;GAWG;AAEH,8HAA8H;AAC9H,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,SAAS,CAAC,KAC3F,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;AAEzC,qHAAqH;AACrH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,SAAkB,IAAI,8BAA8B;CACrD;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAkB,IAAI,gCAAgC;CACvD;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,GAAG,CACD,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM;QACV,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,WAAW,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QACvI,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,cAAc,CAAC,EAAE,IAAI,CAAC;QACtB,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B,GACA;QAAE,aAAa,IAAI;YAAE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;CACnE;AAqED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,mBAAmB,CAkC3H;AAOD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAkBvE;AAeD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GACvC,MAAM,GAAG,IAAI,CAoBf;AAED,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,YAAa,MAAM,KAAG,MAEwC,CAAC;AAEtG;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnG"}
@@ -0,0 +1,217 @@
1
+ import { declaredMigration, migrationDigestOf, reviewLine, z } from '@substrat-run/contracts';
2
+ import { PLATFORM_MODULES, platformEntryFlags } from './platform-entry.js';
3
+ /** A bundle that could not be evaluated, did not settle, or whose answer does not read: the bundle's own outcome. */
4
+ export class MigrationExtractionError extends Error {
5
+ name = 'MigrationExtractionError';
6
+ }
7
+ /**
8
+ * The loader itself failed: the platform could not run the read, which says nothing about the
9
+ * bundle. Retryable, so a caller never answers it as the bundle's fault.
10
+ */
11
+ export class MigrationLoaderUnavailable extends Error {
12
+ name = 'MigrationLoaderUnavailable';
13
+ }
14
+ /** The main module of the loaded worker. Not a name a bundle can ship: no bundler emits `:`. */
15
+ const EXTRACT_MODULE = 'substrat:extract-migrations.js';
16
+ /** A bundle must start inside the runtime's 1 s startup limit to deploy at all; twice that, for the read. */
17
+ const EXTRACT_CPU_MS = 2000;
18
+ /** How long a read may take in wall time before it counts as a bundle that does not settle. */
19
+ const EXTRACT_TIMEOUT_MS = 10_000;
20
+ /** How much of a bundle's own error text a refusal quotes. */
21
+ const ERROR_TEXT_MAX = 500;
22
+ const clip = (text) => (text.length > ERROR_TEXT_MAX ? `${text.slice(0, ERROR_TEXT_MAX)}…` : text);
23
+ const unevaluable = (why) => new MigrationExtractionError(`the worker entry could not be evaluated without its bindings: ${clip(why)}`);
24
+ /**
25
+ * What the runtime says when the bundle itself is at fault, so pushing it again cannot help: it
26
+ * went over its `limits` or hung, a module failed to start (a syntax error in any of them), or it
27
+ * names a compatibility flag the runtime does not know. Anything else the loader throws is the
28
+ * platform's.
29
+ */
30
+ const BUNDLE_FAULT = /exceeded (its )?(cpu|resource|memory)|had hung|Failed to start Worker|Uncaught|No such compatibility flag/i;
31
+ /**
32
+ * Imports the vertical's entry inside the request, so a throw at its top level is an answer
33
+ * rather than a worker that never starts, and returns every exported class's registrations.
34
+ */
35
+ const extractSource = (entry) => `
36
+ const MARK = Symbol.for('substrat.registeredMigrations');
37
+ const failed = (e) => Response.json({ error: String((e && e.message) || e) });
38
+ export default {
39
+ async fetch() {
40
+ let mod;
41
+ try { mod = await import(${JSON.stringify(`./${entry}`)}); } catch (e) { return failed(e); }
42
+ const classes = [];
43
+ try {
44
+ for (const value of Object.values(mod)) {
45
+ if (typeof value === 'function' && typeof value[MARK] === 'function') classes.push(value[MARK]());
46
+ }
47
+ } catch (e) { return failed(e); }
48
+ return Response.json({ classes });
49
+ },
50
+ };
51
+ `;
52
+ /**
53
+ * A module as the loader takes it, by its content type. A push sends every part as an ES module
54
+ * (the CLI labels each `application/javascript+module`), so a push reads as `js` throughout; the
55
+ * other kinds are for an archive script read back, whose parts carry the runtime's own types.
56
+ */
57
+ function moduleOf(m) {
58
+ const bytes = m.content;
59
+ const text = () => new TextDecoder().decode(bytes);
60
+ const buffer = () => bytes.slice().buffer;
61
+ if (m.contentType.includes('wasm'))
62
+ return { wasm: buffer() };
63
+ if (m.contentType.startsWith('text/'))
64
+ return { text: text() };
65
+ if (m.contentType.includes('json'))
66
+ return { json: JSON.parse(text()) };
67
+ if (m.contentType === 'application/octet-stream')
68
+ return { data: buffer() };
69
+ if (m.contentType === 'application/javascript' || m.name.endsWith('.cjs'))
70
+ return { cjs: text() };
71
+ return { js: text() };
72
+ }
73
+ const sha256 = async (bytes) => [...new Uint8Array(await crypto.subtle.digest('SHA-256', bytes))].map((b) => b.toString(16).padStart(2, '0')).join('');
74
+ /** The loader id: every input of the loaded worker, each module by its content's digest. */
75
+ async function bundleId(bundle) {
76
+ const modules = await Promise.all(bundle.modules.map(async (m) => [m.name, m.contentType, await sha256(m.content)]));
77
+ return sha256(new TextEncoder().encode(JSON.stringify([bundle.entry, bundle.compatibilityDate, bundle.compatibilityFlags, modules])));
78
+ }
79
+ /**
80
+ * An `ExtractMigrationsFn` over a Worker Loader binding. The loaded worker is the vertical's own
81
+ * modules (a platform module an archive script carries is left out) behind a main module of the
82
+ * platform's, with `env: {}` and `globalOutbound: null`, so the bundle reaches nothing while it
83
+ * evaluates, and `limits.cpuMs`. Keyed by the bundle's content, so the same bytes evaluated again
84
+ * reuse the isolate.
85
+ *
86
+ * Whose outcome a failure is decides how it is answered: an error the bundle's entry threw, a read
87
+ * over its limits, or one that does not settle within `timeoutMs` is a `MigrationExtractionError`;
88
+ * any other failure of the loader is a `MigrationLoaderUnavailable`.
89
+ */
90
+ export function loaderMigrationExtractor(loader, options = {}) {
91
+ const timeoutMs = options.timeoutMs ?? EXTRACT_TIMEOUT_MS;
92
+ return async (bundle) => {
93
+ const own = bundle.modules.filter((m) => !PLATFORM_MODULES.has(m.name));
94
+ const id = await bundleId({ ...bundle, modules: own });
95
+ let raw;
96
+ let timer;
97
+ const unsettled = new Promise((_, reject) => {
98
+ timer = setTimeout(() => reject(unevaluable(`it did not settle within ${timeoutMs} ms`)), timeoutMs);
99
+ });
100
+ try {
101
+ const stub = loader.get(id, () => ({
102
+ compatibilityDate: bundle.compatibilityDate,
103
+ // The flags the bundle is uploaded with: the uploader may add `nodejs_als` (#2245).
104
+ compatibilityFlags: platformEntryFlags(bundle.compatibilityFlags).flags,
105
+ mainModule: EXTRACT_MODULE,
106
+ modules: { ...Object.fromEntries(own.map((m) => [m.name, moduleOf(m)])), [EXTRACT_MODULE]: extractSource(bundle.entry) },
107
+ env: {},
108
+ globalOutbound: null,
109
+ limits: { cpuMs: EXTRACT_CPU_MS },
110
+ }));
111
+ raw = await Promise.race([stub.getEntrypoint().fetch('https://extract.invalid/').then((res) => res.json()), unsettled]);
112
+ }
113
+ catch (e) {
114
+ if (e instanceof MigrationExtractionError)
115
+ throw e;
116
+ const message = e instanceof Error ? e.message : String(e);
117
+ if (BUNDLE_FAULT.test(message))
118
+ throw unevaluable(message);
119
+ // The runtime's own text stays in the platform's log; the push is told only that it may retry.
120
+ console.error(JSON.stringify({ substrat: 'migration-extract-unavailable', error: clip(message) }));
121
+ throw new MigrationLoaderUnavailable("the platform could not read this bundle's migrations; push again");
122
+ }
123
+ finally {
124
+ clearTimeout(timer);
125
+ }
126
+ return readExtraction(raw);
127
+ };
128
+ }
129
+ const extraction = z.union([
130
+ z.object({ classes: z.array(z.array(declaredMigration)) }).strict(),
131
+ z.object({ error: z.string() }).strict(),
132
+ ]);
133
+ /**
134
+ * The loaded worker's answer, which is the bundle's data, parsed as a push's migrations are.
135
+ * Classes that register the same module must register the same migrations for it; their
136
+ * registrations are otherwise one set, in the order they came.
137
+ */
138
+ export function readExtraction(raw) {
139
+ const parsed = extraction.safeParse(raw);
140
+ if (!parsed.success)
141
+ throw new MigrationExtractionError('the bundle answered with migrations that do not read as migrations');
142
+ if ('error' in parsed.data) {
143
+ throw unevaluable(parsed.data.error);
144
+ }
145
+ if (parsed.data.classes.length === 0)
146
+ return null;
147
+ const byModule = new Map();
148
+ for (const registered of parsed.data.classes) {
149
+ for (const [moduleId, migrations] of groupByModule(registered)) {
150
+ const seen = byModule.get(moduleId);
151
+ if (seen && extractedMigrationsProblem(seen, migrations)) {
152
+ throw new MigrationExtractionError(`two Durable Object classes register module ${reviewLine(moduleId)} with different migrations`);
153
+ }
154
+ byModule.set(moduleId, migrations);
155
+ }
156
+ }
157
+ return [...byModule.values()].flat();
158
+ }
159
+ function groupByModule(migrations) {
160
+ const out = new Map();
161
+ for (const m of migrations) {
162
+ const list = out.get(m.moduleId);
163
+ if (list)
164
+ list.push(m);
165
+ else
166
+ out.set(m.moduleId, [m]);
167
+ }
168
+ return out;
169
+ }
170
+ const sameRecord = (a, b) => JSON.stringify(Object.entries(a ?? {}).sort()) === JSON.stringify(Object.entries(b ?? {}).sort());
171
+ /**
172
+ * Why the migrations a push declares are not the ones its bundle registers, or null when they
173
+ * are: migration for migration within each module, by version, exact SQL and the declared
174
+ * `moves` and `discards`. The order of the modules is not compared (the permission entry and
175
+ * the worker entry may list them differently), the order inside a module is.
176
+ */
177
+ export function extractedMigrationsProblem(declared, registered) {
178
+ const d = groupByModule(declared);
179
+ const r = groupByModule(registered);
180
+ for (const moduleId of [...new Set([...d.keys(), ...r.keys()])].sort()) {
181
+ const a = d.get(moduleId) ?? [];
182
+ const b = r.get(moduleId) ?? [];
183
+ for (let i = 0; i < Math.max(a.length, b.length); i++) {
184
+ const x = a[i];
185
+ const y = b[i];
186
+ if (x && y && x.version === y.version && x.sql === y.sql && sameRecord(x.moves, y.moves) && sameRecord(x.discards, y.discards)) {
187
+ continue;
188
+ }
189
+ const where = `module ${reviewLine(moduleId)}`;
190
+ if (!y)
191
+ return `${where}: the push declares ${reviewLine(x.version)}, which the bundle does not register`;
192
+ if (!x)
193
+ return `${where}: the bundle registers ${reviewLine(y.version)}, which the push does not declare`;
194
+ if (x.version !== y.version)
195
+ return `${where}: the push declares ${reviewLine(x.version)} where the bundle registers ${reviewLine(y.version)}`;
196
+ return `${where}: ${reviewLine(x.version)} ${x.sql !== y.sql ? 'has other SQL' : 'declares other moves or discards'} in the bundle than in the push`;
197
+ }
198
+ }
199
+ return null;
200
+ }
201
+ /** The sentence a push or a promote is refused with when the two sets differ. */
202
+ export const extractedMigrationsRefusal = (problem) => `the migrations this version's bundle registers are not the ones its push declared (${problem}). ` +
203
+ 'Push again from the build that is deployed, so the stored migrations are the ones it runs (#2351)';
204
+ /**
205
+ * What `migrations_extracted` holds for a version: the digest of the migrations read from its
206
+ * bundle. Canonical form: `migrationDigestOf` with no store classes over the registered set,
207
+ * modules ordered by id (ascending, by UTF-16 code unit) and each module's migrations in the
208
+ * order the host applies them; per migration its module, version, the SHA-256 of its exact SQL,
209
+ * and its `moves` and `discards` when it declares any, as `stableJson` frames them. So module
210
+ * order, which the bundle chooses, does not move it, and any change to the SQL or to what a
211
+ * migration declares does.
212
+ */
213
+ export function extractedMigrationsDigest(registered) {
214
+ const ordered = [...groupByModule(registered)].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)).flatMap(([, ms]) => ms);
215
+ return migrationDigestOf({ doClasses: [], migrations: ordered });
216
+ }
217
+ //# sourceMappingURL=migration-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-extract.js","sourceRoot":"","sources":["../src/migration-extract.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,8 @@ import { type DeployManifest } from '@substrat-run/contracts';
33
33
  import type { VerticalBundle } from './deploy.js';
34
34
  import { PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE } from './platform-entry.generated.js';
35
35
  export { PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE };
36
+ /** The modules the uploader adds to a bundle; an archive script read back carries them too. */
37
+ export declare const PLATFORM_MODULES: ReadonlySet<string>;
36
38
  /**
37
39
  * Why a bundle is uploaded without the platform's entry, or `undefined` when it gets one.
38
40
  * Exported for the upload's own tests and for anyone asking why a script is not wrapped.
@@ -1 +1 @@
1
- {"version":3,"file":"platform-entry.d.ts","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAGL,qBAAqB,EAGrB,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAoB1D;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAc7G;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB;AACrC,qGAAqG;AACrG,QAAQ,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC7G,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAChD;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CA2D1C;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAE5G;AAED,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAK3H;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,oBAAoB,CAAC,CAAC,EAClG,MAAM,EAAE,CAAC,GAAG,CAAC,CAkCd"}
1
+ {"version":3,"file":"platform-entry.d.ts","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAGL,qBAAqB,EAGrB,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAE1D,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA6D,CAAC;AAkB/G;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAc7G;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,uBAAuB;AACrC,qGAAqG;AACrG,QAAQ,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAC7G,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAChD;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CA2D1C;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAE5G;AAED,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAK3H;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,oBAAoB,CAAC,CAAC,EAClG,MAAM,EAAE,CAAC,GAAG,CAAC,CAkCd"}
@@ -32,7 +32,8 @@
32
32
  import { PLATFORM_SWEEPER_BINDING, PLATFORM_SWEEPER_CLASS, PLATFORM_SWEEPER_VAR, PLATFORM_SWEEP_HOST_KEY, sweeperConflict, } from '@substrat-run/contracts';
33
33
  import { PLATFORM_ENTRY_ALS_FALLBACK, PLATFORM_ENTRY_ALS_IMPORT, PLATFORM_ENTRY_MODULE, PLATFORM_ENTRY_PLACEHOLDER, PLATFORM_ENTRY_SOURCE, PLATFORM_SWEEPER_MODULE, PLATFORM_SWEEPER_SOURCE, } from './platform-entry.generated.js';
34
34
  export { PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE };
35
- const PLATFORM_MODULES = new Set([PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE]);
35
+ /** The modules the uploader adds to a bundle; an archive script read back carries them too. */
36
+ export const PLATFORM_MODULES = new Set([PLATFORM_ENTRY_MODULE, PLATFORM_SWEEPER_MODULE]);
36
37
  /** The line `invocationLog` writes, as it appears in any build: `substrat:"invocation"`. */
37
38
  const WRITES_THE_LINE = /substrat['"]?\s*:\s*["']invocation["']/;
38
39
  /** The registry a current middleware shares with the platform's copy. */
@@ -1 +1 @@
1
- {"version":3,"file":"platform-entry.js","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-entry.js","sourceRoot":"","sources":["../src/platform-entry.ts"],"names":[],"mappings":"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"}
@@ -104,16 +104,13 @@ export declare function unrouteScope(admin: Pick<HostAdmin, 'listHostnames' | 'u
104
104
  * ordinary install whose store the router serves. A pin that names another script than the
105
105
  * pointer's is unknown, as #2242's erasure gate has it.
106
106
  *
107
- * The gate is `mayHoldScopeStores`: with no driver registered nothing can hold a store, and the
108
- * answer is none. Otherwise a version that cannot be named, a manifest that cannot be read, or one
109
- * the gate says may hold a store without naming it refuses (503), rather than let a backup, a
110
- * wipe, a replay or an erasure skip a store that may hold data — where a store can exist (#2394).
111
- * One can exist only under a binding some version of the scope's vertical declared: the router
112
- * reaches a store only through a version row's manifest (`READ_ROUTE_SQL`), and `publishVersion`
113
- * records that row's bindings in the same transaction (`HostAdmin.verticalScopeStores`). So when
114
- * that record says the vertical has declared none, the answer is none; when it cannot be read, the
115
- * refusal stands. A bind or promote that lands after the read is the erasure fence's to refuse,
116
- * as it is for a version that declares none.
107
+ * The vertical's record of declared bindings is read first (`declaredRecordOf`): with no driver
108
+ * registered, or a record that says the vertical has declared none, the answer is none; a record
109
+ * that cannot be read refuses. Only then is the running version read, and a version that cannot be
110
+ * named, a manifest that cannot be read, or one the gate (`mayHoldScopeStores`) says may hold a
111
+ * store without naming it refuses (503), rather than let a backup, a wipe, a replay or an erasure
112
+ * skip a store that may hold data (#2394). A bind or promote that lands after the read is the
113
+ * erasure fence's to refuse, as it is for a version that declares none.
117
114
  *
118
115
  * `running` is a resolution the caller already holds (`runningVersionOf`), so a caller that fences
119
116
  * on the version reads it once and judges the stores against the same read.
@@ -124,7 +121,8 @@ export declare function runningVersionStoresOf(admin: Pick<HostAdmin, 'verticalS
124
121
  * (`runningVersionStoresOf`, which still fails closed first), and every binding any version of its
125
122
  * vertical has declared (`HostAdmin.verticalScopeStores`, read by its keys). Export, wipe, erasure
126
123
  * and the meter reach `all`, so an object under a binding a later version dropped is still
127
- * reached. A restore imports only into `running` (L8).
124
+ * reached. A restore imports only into `running` (L8). The record is read once, first, and judges
125
+ * both.
128
126
  *
129
127
  * A binding keeps its driver for the life of the vertical, since publish refuses a driver change; a
130
128
  * running version whose driver disagrees with the record, or a record that cannot be read,
@@ -1 +1 @@
1
- {"version":3,"file":"platform-scope-stores.d.ts","sourceRoot":"","sources":["../src/platform-scope-stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIlF;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,KAAK,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;KACvC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,EAAE,CAAA;KAAE,EAAE,CAAC,CAAC;IAC7E,YAAY,CAAC,KAAK,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,SAAS;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,cAAc,EAAE,CAAA;SAAE,EAAE,CAAC;KAClF,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,YAAY,CAAC,KAAK,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;KACvC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACnD,UAAU,CAAC,KAAK,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,UAAU,CAAC,KAAK,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;KACvC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACnD;AAED,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAalF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACrE;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACzC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,GAAG,YAAY,CAAC,GAClE,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,gBAAgB,CAAC,EAC1D,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC,EACrF,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,GAAG,mBAAmB,GAAG,YAAY,CAAC,EAC1E,OAAO,GAAE,SAAS,uBAAuB,EAAkB,EAC3D,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAW/B;AAeD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC,EACrF,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,GAAG,mBAAmB,GAAG,YAAY,CAAC,EAC1E,OAAO,GAAE,SAAS,uBAAuB,EAAkB,EAC3D,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAAC,GAAG,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAavE;AAED,0FAA0F;AAC1F,wBAAsB,aAAa,CACjC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB,CAAC,EACrF,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,GAAG,mBAAmB,GAAG,YAAY,CAAC,EAC1E,OAAO,GAAE,SAAS,uBAAuB,EAAkB,EAC3D,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE/B;AASD,iFAAiF;AACjF,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE,wBAAwB,EAChC,SAAS,EAAE,sBAAsB,EACjC,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACpE,SAAS,EAAE,sBAAsB,EACjC,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC,CA6ClB;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,0BAA0B,GAAG,mBAAmB,CA6ChG;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,mBAAmB,CAKpE"}
1
+ {"version":3,"file":"platform-scope-stores.d.ts","sourceRoot":"","sources":["../src/platform-scope-stores.ts"],"names":[],"mappings":"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"}
@@ -65,34 +65,48 @@ export async function unrouteScope(admin, actor, scope) {
65
65
  * ordinary install whose store the router serves. A pin that names another script than the
66
66
  * pointer's is unknown, as #2242's erasure gate has it.
67
67
  *
68
- * The gate is `mayHoldScopeStores`: with no driver registered nothing can hold a store, and the
69
- * answer is none. Otherwise a version that cannot be named, a manifest that cannot be read, or one
70
- * the gate says may hold a store without naming it refuses (503), rather than let a backup, a
71
- * wipe, a replay or an erasure skip a store that may hold data — where a store can exist (#2394).
72
- * One can exist only under a binding some version of the scope's vertical declared: the router
73
- * reaches a store only through a version row's manifest (`READ_ROUTE_SQL`), and `publishVersion`
74
- * records that row's bindings in the same transaction (`HostAdmin.verticalScopeStores`). So when
75
- * that record says the vertical has declared none, the answer is none; when it cannot be read, the
76
- * refusal stands. A bind or promote that lands after the read is the erasure fence's to refuse,
77
- * as it is for a version that declares none.
68
+ * The vertical's record of declared bindings is read first (`declaredRecordOf`): with no driver
69
+ * registered, or a record that says the vertical has declared none, the answer is none; a record
70
+ * that cannot be read refuses. Only then is the running version read, and a version that cannot be
71
+ * named, a manifest that cannot be read, or one the gate (`mayHoldScopeStores`) says may hold a
72
+ * store without naming it refuses (503), rather than let a backup, a wipe, a replay or an erasure
73
+ * skip a store that may hold data (#2394). A bind or promote that lands after the read is the
74
+ * erasure fence's to refuse, as it is for a version that declares none.
78
75
  *
79
76
  * `running` is a resolution the caller already holds (`runningVersionOf`), so a caller that fences
80
77
  * on the version reads it once and judges the stores against the same read.
81
78
  */
82
79
  export async function runningVersionStoresOf(admin, actor, scope, drivers = STORE_DRIVERS, running) {
80
+ const record = await declaredRecordOf(admin, actor, scope, drivers);
81
+ return record.length === 0 ? [] : runningStoresOfDeclaring(admin, actor, scope, drivers, running);
82
+ }
83
+ /**
84
+ * The vertical's record of every binding any version declared, read first and once: a vertical
85
+ * that never declared a store answers none with this one read, which is what the sweep pays for
86
+ * almost every scope it meters or reaps. Sound because a store exists only under a binding some
87
+ * version declared: the router reaches a store only through a version row's manifest
88
+ * (`READ_ROUTE_SQL`), every insert of a version row records its bindings in the same transaction,
89
+ * and the read itself first indexes any stored version not yet indexed, so the record covers every
90
+ * version the vertical holds (#2292). A record that cannot be read refuses (503). None, with no
91
+ * read, where nothing can hold a store: no vertical, or no driver registered.
92
+ */
93
+ async function declaredRecordOf(admin, actor, scope, drivers) {
83
94
  if (!scope.vertical || !mayHoldScopeStores(undefined, drivers))
84
95
  return [];
96
+ return storesDeclaredBy(admin, actor, scope.vertical);
97
+ }
98
+ /** The running version's stores, for a scope whose vertical has declared at least one (the record says so). */
99
+ async function runningStoresOfDeclaring(admin, actor, scope, drivers, running) {
100
+ const vertical = scope.vertical;
85
101
  const { versionId } = running ?? await runningVersionOf(admin, actor, scope);
86
102
  const manifestJson = versionId
87
- ? await admin.versionManifest(actor, scope.vertical, versionId).catch(() => undefined)
103
+ ? await admin.versionManifest(actor, vertical, versionId).catch(() => undefined)
88
104
  : undefined;
89
105
  if (!mayHoldScopeStores(manifestJson, drivers))
90
106
  return [];
91
107
  const declared = typeof manifestJson === 'string' && scopeStoresDeclaredIn(manifestJson) ? declaredStoresOf(manifestJson) : [];
92
108
  if (declared.length > 0)
93
109
  return declared;
94
- if ((await storesDeclaredBy(admin, actor, scope.vertical)).length === 0)
95
- return [];
96
110
  throw new ControlPlaneError(503, `scope ${scope.id} may hold scope stores, and the version it runs cannot say which`);
97
111
  }
98
112
  /** Every binding any version of `vertical` declared (#2286); a record that cannot be read refuses (503). */
@@ -109,18 +123,19 @@ async function storesDeclaredBy(admin, actor, vertical) {
109
123
  * (`runningVersionStoresOf`, which still fails closed first), and every binding any version of its
110
124
  * vertical has declared (`HostAdmin.verticalScopeStores`, read by its keys). Export, wipe, erasure
111
125
  * and the meter reach `all`, so an object under a binding a later version dropped is still
112
- * reached. A restore imports only into `running` (L8).
126
+ * reached. A restore imports only into `running` (L8). The record is read once, first, and judges
127
+ * both.
113
128
  *
114
129
  * A binding keeps its driver for the life of the vertical, since publish refuses a driver change; a
115
130
  * running version whose driver disagrees with the record, or a record that cannot be read,
116
131
  * refuses (503).
117
132
  */
118
133
  export async function scopeStoreReachOf(admin, actor, scope, drivers = STORE_DRIVERS, running) {
119
- const current = await runningVersionStoresOf(admin, actor, scope, drivers, running);
120
- if (!scope.vertical || !mayHoldScopeStores(undefined, drivers))
121
- return { running: current, all: current };
122
- const declared = await storesDeclaredBy(admin, actor, scope.vertical);
123
- const all = new Map(declared.map((store) => [store.binding, store.driver]));
134
+ const record = await declaredRecordOf(admin, actor, scope, drivers);
135
+ if (record.length === 0)
136
+ return { running: [], all: [] };
137
+ const current = await runningStoresOfDeclaring(admin, actor, scope, drivers, running);
138
+ const all = new Map(record.map((store) => [store.binding, store.driver]));
124
139
  for (const store of current) {
125
140
  const driver = all.get(store.binding);
126
141
  if (driver !== undefined && driver !== store.driver) {