@substrat-run/cli 0.38.2 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +24 -7
- package/dist/cli.js.map +1 -1
- package/dist/hostnames.d.ts +2 -21
- package/dist/hostnames.d.ts.map +1 -1
- package/dist/hostnames.js +30 -38
- package/dist/hostnames.js.map +1 -1
- package/dist/http.d.ts +8 -19
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +8 -29
- package/dist/http.js.map +1 -1
- package/dist/installs.d.ts.map +1 -1
- package/dist/installs.js +3 -12
- package/dist/installs.js.map +1 -1
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +3 -20
- package/dist/listing.js.map +1 -1
- package/dist/login.d.ts +5 -0
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +9 -12
- package/dist/login.js.map +1 -1
- package/dist/plane.d.ts +50 -0
- package/dist/plane.d.ts.map +1 -0
- package/dist/plane.js +68 -0
- package/dist/plane.js.map +1 -0
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +20 -10
- package/dist/preview.js.map +1 -1
- package/dist/problem.d.ts +7 -2
- package/dist/problem.d.ts.map +1 -1
- package/dist/problem.js +8 -10
- package/dist/problem.js.map +1 -1
- package/dist/promote.d.ts +3 -31
- package/dist/promote.d.ts.map +1 -1
- package/dist/promote.js +25 -27
- package/dist/promote.js.map +1 -1
- package/dist/push.d.ts +115 -0
- package/dist/push.d.ts.map +1 -1
- package/dist/push.js +209 -29
- package/dist/push.js.map +1 -1
- package/dist/schedule-sweeper.d.ts +52 -0
- package/dist/schedule-sweeper.d.ts.map +1 -0
- package/dist/schedule-sweeper.js +270 -0
- package/dist/schedule-sweeper.js.map +1 -0
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +37 -99
- package/dist/scope.js.map +1 -1
- package/dist/versions.d.ts.map +1 -1
- package/dist/versions.js +8 -18
- package/dist/versions.js.map +1 -1
- package/dist/whoami.d.ts +7 -11
- package/dist/whoami.d.ts.map +1 -1
- package/dist/whoami.js +2 -13
- package/dist/whoami.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Who runs a vertical's declared schedules on a hosted deploy (#1646, #1902).
|
|
3
|
+
*
|
|
4
|
+
* The only platform timer is the control plane's cron, and it iterates the schedules of the
|
|
5
|
+
* control plane's OWN host, which registers no modules. A pushed, control-plane-less vertical
|
|
6
|
+
* needs a timer of its own (`docs/architecture/scheduler.md` §3.3): a `defineScopeSweeperDO`
|
|
7
|
+
* singleton, exported from the worker entry and bound as a Durable Object class, whose roster
|
|
8
|
+
* the platform fills through `/internal/provision` → `noteScope`.
|
|
9
|
+
*
|
|
10
|
+
* Since #1902 the platform supplies that sweeper at upload to a vertical that brings none, so a
|
|
11
|
+
* vertical either wires its own or wires nothing. Three shapes are still wrong, and this file
|
|
12
|
+
* names them (`sweeperOffence`):
|
|
13
|
+
*
|
|
14
|
+
* 1. an OWN sweeper nothing binds. workerd resolves a Durable Object class from the entry's
|
|
15
|
+
* exports and instantiates only a bound one, so its alarm never runs (Copilot review on
|
|
16
|
+
* #1873 found the unexported-const variant);
|
|
17
|
+
* 2. no own sweeper, but the platform's names — class `SweeperDO`, binding `SWEEPER` — used
|
|
18
|
+
* for something else, which the control plane refuses at push;
|
|
19
|
+
* 3. no own sweeper, and a `@substrat-run/vertical-host` too old to register the host the
|
|
20
|
+
* platform's sweeper runs.
|
|
21
|
+
*
|
|
22
|
+
* Two callers share this file, and that is why it lives in a published package:
|
|
23
|
+
*
|
|
24
|
+
* - `substrat push` (`assertSchedulesAreSwept` in `push.ts`), the only check an EXTERNAL
|
|
25
|
+
* vertical's deploy passes through — and the reader of `sweeperClasses`, the names the
|
|
26
|
+
* push declares in its manifest so the control plane decides from a declaration, not the bytes;
|
|
27
|
+
* - this repo's `lint:schedule-sweeper` (`tools/schedule-sweeper.mts`), which imports the
|
|
28
|
+
* built copy the way `tools/invocation-log.mjs` imports boundary-lint's R10 predicate, so
|
|
29
|
+
* the two gates cannot disagree.
|
|
30
|
+
*
|
|
31
|
+
* Parsed with `@babel/parser` rather than TypeScript's compiler API: TypeScript 7 exposes no
|
|
32
|
+
* standalone parser (see `tools/docs-union-check.mjs`), and Babel's TypeScript plugin is what
|
|
33
|
+
* the repo tool already used for exactly this job.
|
|
34
|
+
*
|
|
35
|
+
* What this does NOT see: whether an own sweeper's roster is ever populated (`noteScope` from
|
|
36
|
+
* `onProvision`). That is runtime wiring; the platform's sweeper has none to forget.
|
|
37
|
+
*/
|
|
38
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
39
|
+
import { dirname, resolve } from 'node:path';
|
|
40
|
+
import { parse } from '@babel/parser';
|
|
41
|
+
import { PLATFORM_SWEEPER_BINDING, PLATFORM_SWEEPER_CLASS, sweeperConflict } from '@substrat-run/contracts';
|
|
42
|
+
const DEFINE_SWEEPER = 'defineScopeSweeperDO';
|
|
43
|
+
function nameOf(node) {
|
|
44
|
+
return node.type === 'Identifier' ? node.name : node.value;
|
|
45
|
+
}
|
|
46
|
+
/** Is this expression a call to (an import of) `defineScopeSweeperDO`, however named? */
|
|
47
|
+
function isDefineSweeperCall(node, importedLocalNames) {
|
|
48
|
+
if (!node || node.type !== 'CallExpression')
|
|
49
|
+
return false;
|
|
50
|
+
const callee = node.callee;
|
|
51
|
+
if (callee.type === 'Identifier')
|
|
52
|
+
return importedLocalNames.has(callee.name) || callee.name === DEFINE_SWEEPER;
|
|
53
|
+
// A namespace-imported call (`adapter.defineScopeSweeperDO(...)`).
|
|
54
|
+
if (callee.type === 'MemberExpression' && !callee.computed && callee.property.type === 'Identifier') {
|
|
55
|
+
return callee.property.name === DEFINE_SWEEPER;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* `jsx` only for a `.tsx` file: in a `.ts` file `<T>value` is a type assertion, and the JSX
|
|
61
|
+
* plugin would read it as an element. A `.tsx` worker with JSX does not tokenize without it.
|
|
62
|
+
*/
|
|
63
|
+
function parseEntry(source, jsx = false) {
|
|
64
|
+
const ast = parse(source, {
|
|
65
|
+
sourceType: 'module',
|
|
66
|
+
plugins: jsx ? ['typescript', 'jsx'] : ['typescript'],
|
|
67
|
+
errorRecovery: true,
|
|
68
|
+
});
|
|
69
|
+
const importedLocalNames = new Set();
|
|
70
|
+
/** local name → where it was imported from, for `import { X } from './a'; export { X }`. */
|
|
71
|
+
const importedFrom = new Map();
|
|
72
|
+
const sweeperLocals = new Set();
|
|
73
|
+
const own = new Set();
|
|
74
|
+
const foreign = [];
|
|
75
|
+
for (const stmt of ast.program.body) {
|
|
76
|
+
if (stmt.type !== 'ImportDeclaration')
|
|
77
|
+
continue;
|
|
78
|
+
for (const spec of stmt.specifiers) {
|
|
79
|
+
if (spec.type !== 'ImportSpecifier')
|
|
80
|
+
continue;
|
|
81
|
+
const imported = nameOf(spec.imported);
|
|
82
|
+
if (imported === DEFINE_SWEEPER)
|
|
83
|
+
importedLocalNames.add(spec.local.name);
|
|
84
|
+
importedFrom.set(spec.local.name, { source: stmt.source.value, imported });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const scanDeclaration = (decl, directlyExported) => {
|
|
88
|
+
if (!decl)
|
|
89
|
+
return;
|
|
90
|
+
if (decl.type === 'VariableDeclaration') {
|
|
91
|
+
for (const d of decl.declarations) {
|
|
92
|
+
if (d.id.type === 'Identifier' && isDefineSweeperCall(d.init, importedLocalNames)) {
|
|
93
|
+
sweeperLocals.add(d.id.name);
|
|
94
|
+
if (directlyExported)
|
|
95
|
+
own.add(d.id.name);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (decl.type === 'ClassDeclaration') {
|
|
100
|
+
if (decl.id && isDefineSweeperCall(decl.superClass, importedLocalNames)) {
|
|
101
|
+
sweeperLocals.add(decl.id.name);
|
|
102
|
+
if (directlyExported)
|
|
103
|
+
own.add(decl.id.name);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
// Declarations first, so a re-export written ABOVE the const it names still resolves.
|
|
108
|
+
for (const stmt of ast.program.body) {
|
|
109
|
+
if (stmt.type === 'VariableDeclaration' || stmt.type === 'ClassDeclaration')
|
|
110
|
+
scanDeclaration(stmt, false);
|
|
111
|
+
else if (stmt.type === 'ExportNamedDeclaration' && stmt.declaration)
|
|
112
|
+
scanDeclaration(stmt.declaration, true);
|
|
113
|
+
}
|
|
114
|
+
for (const stmt of ast.program.body) {
|
|
115
|
+
if (stmt.type === 'ExportAllDeclaration') {
|
|
116
|
+
// `export * as ns from` exports a namespace object, never a class workerd can bind.
|
|
117
|
+
if (!('exported' in stmt && stmt.exported))
|
|
118
|
+
foreign.push({ source: stmt.source.value, imported: '*', exported: '*' });
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
if (stmt.type !== 'ExportNamedDeclaration' || stmt.declaration)
|
|
122
|
+
continue;
|
|
123
|
+
for (const spec of stmt.specifiers) {
|
|
124
|
+
if (spec.type !== 'ExportSpecifier')
|
|
125
|
+
continue;
|
|
126
|
+
const local = nameOf(spec.local);
|
|
127
|
+
const exported = nameOf(spec.exported);
|
|
128
|
+
if (stmt.source) {
|
|
129
|
+
foreign.push({ source: stmt.source.value, imported: local, exported });
|
|
130
|
+
}
|
|
131
|
+
else if (sweeperLocals.has(local)) {
|
|
132
|
+
// The ALIAS is the name workerd sees, so it is the one a binding has to name.
|
|
133
|
+
own.add(exported);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const from = importedFrom.get(local);
|
|
137
|
+
if (from)
|
|
138
|
+
foreign.push({ source: from.source, imported: from.imported, exported });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return { own: [...own], foreign };
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Every name a worker entry's SOURCE exports that is bound to a `defineScopeSweeperDO(...)`
|
|
146
|
+
* call, looking at this one file only — a direct `export const X = defineScopeSweeperDO(…)`,
|
|
147
|
+
* an `export class X extends defineScopeSweeperDO(…) {}`, or a local declaration re-exported
|
|
148
|
+
* by name or alias. A call in an unexported const contributes nothing.
|
|
149
|
+
*/
|
|
150
|
+
export function exportedSweeperNames(source) {
|
|
151
|
+
return parseEntry(source).own;
|
|
152
|
+
}
|
|
153
|
+
const SOURCE_EXTENSIONS = ['.ts', '.mts', '.tsx', '.js', '.mjs'];
|
|
154
|
+
/** A relative specifier as the bundler would find it on disk, or undefined. */
|
|
155
|
+
function resolveRelative(fromFile, specifier) {
|
|
156
|
+
const base = resolve(dirname(fromFile), specifier);
|
|
157
|
+
const stem = base.replace(/\.(?:[cm]?js|jsx)$/, '');
|
|
158
|
+
const candidates = [
|
|
159
|
+
base,
|
|
160
|
+
...SOURCE_EXTENSIONS.map((ext) => stem + ext),
|
|
161
|
+
...SOURCE_EXTENSIONS.map((ext) => resolve(base, `index${ext}`)),
|
|
162
|
+
];
|
|
163
|
+
return candidates.find((c) => existsSync(c) && statSync(c).isFile());
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* {@link exportedSweeperNames}, starting at a FILE and following relative re-exports
|
|
167
|
+
* (`export { X } from './sweeper.js'`, `export * from './sweeper.js'`, and
|
|
168
|
+
* `import { X } from './sweeper.js'; export { X }`). The repo's own workers define their
|
|
169
|
+
* sweeper in the entry, but an external vertical is free to keep it in a module of its own,
|
|
170
|
+
* and a push gate that refuses that layout would be refusing a working deploy. Package
|
|
171
|
+
* specifiers are not followed: a sweeper class defined inside a dependency is not a shape
|
|
172
|
+
* anyone writes, and resolving `node_modules` is the bundler's job, not this check's.
|
|
173
|
+
*/
|
|
174
|
+
export function exportedSweeperNamesOf(entryPath) {
|
|
175
|
+
const memo = new Map();
|
|
176
|
+
const visit = (file) => {
|
|
177
|
+
const cached = memo.get(file);
|
|
178
|
+
if (cached)
|
|
179
|
+
return cached;
|
|
180
|
+
memo.set(file, []); // cycle guard: a module re-exporting itself contributes nothing more
|
|
181
|
+
const { own, foreign } = parseEntry(readFileSync(file, 'utf8'), file.endsWith('.tsx'));
|
|
182
|
+
const names = new Set(own);
|
|
183
|
+
for (const ref of foreign) {
|
|
184
|
+
if (!ref.source.startsWith('.'))
|
|
185
|
+
continue;
|
|
186
|
+
const target = resolveRelative(file, ref.source);
|
|
187
|
+
if (!target)
|
|
188
|
+
continue;
|
|
189
|
+
const theirs = visit(target);
|
|
190
|
+
if (ref.imported === '*')
|
|
191
|
+
theirs.forEach((n) => names.add(n));
|
|
192
|
+
else if (theirs.includes(ref.imported))
|
|
193
|
+
names.add(ref.exported);
|
|
194
|
+
}
|
|
195
|
+
const result = [...names];
|
|
196
|
+
memo.set(file, result);
|
|
197
|
+
return result;
|
|
198
|
+
};
|
|
199
|
+
return visit(resolve(entryPath));
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Can the platform supply this vertical's sweeper (#1902)? The class it supplies runs the
|
|
203
|
+
* vertical's own host, which the vertical's `mountPlatformSurface` registers — so it needs a
|
|
204
|
+
* `@substrat-run/vertical-host` new enough to register one, as installed in THIS project.
|
|
205
|
+
* `undefined` when the package does not resolve from `dir` at all: this check then says
|
|
206
|
+
* nothing rather than refusing on a layout it cannot read.
|
|
207
|
+
*/
|
|
208
|
+
export function platformCanSupplySweeper(dir) {
|
|
209
|
+
// Walked by hand, the way Node looks for a package next to a file, and NOT with
|
|
210
|
+
// `createRequire`: that also searches NODE_PATH, which a package manager's bin shim points at
|
|
211
|
+
// its own store, so a push run through `pnpm exec` would read some other copy's answer.
|
|
212
|
+
for (let at = resolve(dir);; at = dirname(at)) {
|
|
213
|
+
const pkgDir = resolve(at, 'node_modules', '@substrat-run', 'vertical-host');
|
|
214
|
+
const pkgJson = resolve(pkgDir, 'package.json');
|
|
215
|
+
if (existsSync(pkgJson)) {
|
|
216
|
+
const pkg = JSON.parse(readFileSync(pkgJson, 'utf8'));
|
|
217
|
+
const dot = pkg.exports?.['.'];
|
|
218
|
+
const main = (typeof dot === 'string' ? dot : dot?.default) ?? pkg.main ?? 'index.js';
|
|
219
|
+
// The registry ships as its own module beside the package's entry (`scope-sweep-host.ts`).
|
|
220
|
+
return existsSync(resolve(dirname(resolve(pkgDir, main)), 'scope-sweep-host.js'));
|
|
221
|
+
}
|
|
222
|
+
if (dirname(at) === at)
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* The offence in one vertical, or `null` when it is fine. No schedules declared means no
|
|
228
|
+
* sweeper is owed, whatever the wiring looks like.
|
|
229
|
+
*
|
|
230
|
+
* Since #1902 a vertical that brings no sweeper is given the platform's at upload, so "no
|
|
231
|
+
* sweeper" is no longer the offence. What is: an own sweeper nothing binds (Cloudflare never
|
|
232
|
+
* instantiates it), the platform's names taken by something else (the control plane refuses
|
|
233
|
+
* the push), and a vertical-host too old to hand the platform's sweeper a host. The first two
|
|
234
|
+
* are contracts' `sweeperConflict`, the rule the control plane judges by too.
|
|
235
|
+
*/
|
|
236
|
+
export function sweeperOffence(schedules, wiring) {
|
|
237
|
+
if (schedules.length === 0)
|
|
238
|
+
return null;
|
|
239
|
+
const named = schedules.map((s) => `${s.moduleId} → ${s.operation}`).join(', ');
|
|
240
|
+
const conflict = sweeperConflict(wiring.exportedNames, {
|
|
241
|
+
boundClassNames: wiring.boundClassNames,
|
|
242
|
+
boundBindingNames: wiring.boundBindingNames ?? [],
|
|
243
|
+
});
|
|
244
|
+
if (conflict?.kind === 'own-unbound') {
|
|
245
|
+
return (`exports a sweeper (${conflict.own.join(', ')}) for schedules it declares (${named}), ` +
|
|
246
|
+
`but no deploy config binds it as a Durable Object class — checked wrangler.jsonc's ` +
|
|
247
|
+
`durable_objects.bindings and package.json's substrat.runtimeNeeds.stores, and neither ` +
|
|
248
|
+
`names ${conflict.own.join(' or ')}. The class exists in the bundle but ` +
|
|
249
|
+
`Cloudflare never instantiates it, so its alarm never runs. Bind it, or delete it: the ` +
|
|
250
|
+
`platform supplies a sweeper to a vertical that exports none.`);
|
|
251
|
+
}
|
|
252
|
+
if (conflict) {
|
|
253
|
+
const taken = conflict.kind === 'binding-taken' ? `the binding '${PLATFORM_SWEEPER_BINDING}'` : `the class name '${PLATFORM_SWEEPER_CLASS}'`;
|
|
254
|
+
return (`declares schedules (${named}) and exports no sweeper, so the platform supplies one at upload ` +
|
|
255
|
+
`as class '${PLATFORM_SWEEPER_CLASS}' bound to '${PLATFORM_SWEEPER_BINDING}' — but the deploy config ` +
|
|
256
|
+
`already uses ${taken} for something that is not a \`defineScopeSweeperDO\` class, and the control ` +
|
|
257
|
+
`plane would refuse the push. If it is a sweeper you have since deleted, drop its binding — the ` +
|
|
258
|
+
`platform adds its own — and otherwise rename it.`);
|
|
259
|
+
}
|
|
260
|
+
if (wiring.exportedNames.length > 0)
|
|
261
|
+
return null;
|
|
262
|
+
if (wiring.platformCanSupply === false) {
|
|
263
|
+
return (`declares schedules (${named}) and exports no sweeper. The platform supplies one at upload, ` +
|
|
264
|
+
`but it runs the host your \`mountPlatformSurface\` registers, and the installed ` +
|
|
265
|
+
`@substrat-run/vertical-host predates that registration — the supplied sweeper would have no ` +
|
|
266
|
+
`host and no roster. Update @substrat-run/vertical-host.`);
|
|
267
|
+
}
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=schedule-sweeper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-sweeper.js","sourceRoot":"","sources":["../src/schedule-sweeper.ts"],"names":[],"mappings":"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"}
|
package/dist/scope.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
package/dist/scope.js
CHANGED
|
@@ -16,7 +16,7 @@ import { assertReplayableDump, assertSqlIdentifier, problemDetail, scopeId, tena
|
|
|
16
16
|
import { mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
17
17
|
import { basename, join } from 'node:path';
|
|
18
18
|
import { fetchWhoami } from './whoami.js';
|
|
19
|
-
import {
|
|
19
|
+
import { planeFor, refusalBody, viaPlane } from './plane.js';
|
|
20
20
|
import { orderTablesByForeignKeys } from './dump-order.js';
|
|
21
21
|
import { exportBreakListing } from './promote.js';
|
|
22
22
|
const ULID = /^[0-9A-HJKMNP-TV-Z]{26}$/i;
|
|
@@ -80,14 +80,7 @@ async function writeSqlite(path, dump) {
|
|
|
80
80
|
return true;
|
|
81
81
|
}
|
|
82
82
|
export async function pullScope(opts) {
|
|
83
|
-
const
|
|
84
|
-
`/scopes/${encodeURIComponent(opts.scopeId)}/export${opts.full ? '?full=true' : ''}`;
|
|
85
|
-
const res = await fetch(url, { headers: opts.header });
|
|
86
|
-
if (!res.ok) {
|
|
87
|
-
const body = await res.json().catch(() => null);
|
|
88
|
-
throw new Error(problemDetail(body) ?? `pull refused: ${res.status} ${res.statusText}`);
|
|
89
|
-
}
|
|
90
|
-
const dump = await readJson(res, url);
|
|
83
|
+
const dump = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).exportScope(opts.tenantId, opts.scopeId, opts.full), (e) => new Error(problemDetail(refusalBody(e)) ?? `pull refused: ${e.status} ${e.statusText}`));
|
|
91
84
|
// The WHOLE rule, checked before EITHER writer, so the node-<22.13 JSON fallback
|
|
92
85
|
// cannot leave a dump on disk that a later `scope restore` would then have to
|
|
93
86
|
// refuse. Names alone would not do it: `writeSqlite` returns before its own check
|
|
@@ -191,20 +184,14 @@ export async function restoreScope(opts) {
|
|
|
191
184
|
const { tables, origin, capturedAt } = await readDump(opts.file);
|
|
192
185
|
const source = origin ?? { tenantId: opts.tenantId, scopeId: opts.scopeId };
|
|
193
186
|
const rows = tables.reduce((n, t) => n + t.rows.length, 0);
|
|
194
|
-
|
|
195
|
-
`/scopes/${encodeURIComponent(opts.scopeId)}/restore`, {
|
|
196
|
-
method: 'POST',
|
|
197
|
-
headers: { ...opts.header, 'content-type': 'application/json' },
|
|
187
|
+
await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).restoreScope(opts.tenantId, opts.scopeId, {
|
|
198
188
|
// tenantId/scopeId in the body are PROVENANCE (where the backup came from);
|
|
199
189
|
// the URL says where it lands — same rule as the host primitive.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}),
|
|
206
|
-
});
|
|
207
|
-
if (!res.ok) {
|
|
190
|
+
tenantId: source.tenantId,
|
|
191
|
+
scopeId: source.scopeId,
|
|
192
|
+
capturedAt: capturedAt ?? new Date().toISOString(),
|
|
193
|
+
tables,
|
|
194
|
+
}), (e) => {
|
|
208
195
|
// The CP shapes an unloadable-dump failure as `{ error, detail }` (#321); surface the detail
|
|
209
196
|
// too, or the builder sees only a generic message and can't act on it (#332).
|
|
210
197
|
//
|
|
@@ -212,10 +199,10 @@ export async function restoreScope(opts) {
|
|
|
212
199
|
// is not: here `detail` is ADDITIONAL to `error` — the loader's complaint beside the
|
|
213
200
|
// refusal — where everywhere else it is the RFC 9457 duplicate OF it. Reading one in
|
|
214
201
|
// place of the other would drop half of the only message that says what to fix.
|
|
215
|
-
const body = (
|
|
216
|
-
const base = body?.error ?? `restore refused: ${
|
|
217
|
-
|
|
218
|
-
}
|
|
202
|
+
const body = refusalBody(e);
|
|
203
|
+
const base = body?.error ?? `restore refused: ${e.status} ${e.statusText}`;
|
|
204
|
+
return new Error(body?.detail ? `${base} — ${body.detail}` : base);
|
|
205
|
+
});
|
|
219
206
|
console.log(`✓ restored ${tables.length} tables (${rows} rows) into scope ${opts.scopeId}`);
|
|
220
207
|
if (!origin) {
|
|
221
208
|
console.log(' ⚠ backup origin is unknown; using the target tenant and scope as provenance.');
|
|
@@ -229,17 +216,7 @@ export async function restoreScope(opts) {
|
|
|
229
216
|
* reports so and does nothing. Server-side is the gate (staff/owner, audited).
|
|
230
217
|
*/
|
|
231
218
|
export async function adoptScopeServing(opts) {
|
|
232
|
-
const
|
|
233
|
-
`/scopes/${encodeURIComponent(opts.scopeId)}/adopt-serving`, {
|
|
234
|
-
method: 'POST',
|
|
235
|
-
headers: { ...opts.header, 'content-type': 'application/json' },
|
|
236
|
-
body: JSON.stringify(ackBody(opts.ackExportBreak)),
|
|
237
|
-
});
|
|
238
|
-
if (!res.ok) {
|
|
239
|
-
const body = await res.json().catch(() => null);
|
|
240
|
-
throw new Error(refusalText(body, `adopt-serving refused: ${res.status} ${res.statusText}`));
|
|
241
|
-
}
|
|
242
|
-
const body = await readJson(res, res.url);
|
|
219
|
+
const body = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).adoptServing(opts.tenantId, opts.scopeId, ackBody(opts.ackExportBreak)), (e) => new Error(refusalText(refusalBody(e), `adopt-serving refused: ${e.status} ${e.statusText}`)));
|
|
243
220
|
if (body.alreadyAdopted) {
|
|
244
221
|
console.log(`✓ scope ${opts.scopeId} already serves from ${body.servingRef} — nothing to do.`);
|
|
245
222
|
}
|
|
@@ -256,13 +233,7 @@ export async function adoptScopeServing(opts) {
|
|
|
256
233
|
* the control plane. Idempotent: safe to re-run on an already-healthy scope.
|
|
257
234
|
*/
|
|
258
235
|
export async function provisionScope(opts) {
|
|
259
|
-
const
|
|
260
|
-
`/scopes/${encodeURIComponent(opts.scopeId)}/provision`, { method: 'POST', headers: { ...opts.header, 'content-type': 'application/json' } });
|
|
261
|
-
if (!res.ok) {
|
|
262
|
-
const body = await res.json().catch(() => null);
|
|
263
|
-
throw new Error(problemDetail(body) ?? `provision refused: ${res.status} ${res.statusText}`);
|
|
264
|
-
}
|
|
265
|
-
const body = await readJson(res, res.url);
|
|
236
|
+
const body = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).provisionScope(opts.tenantId, opts.scopeId), (e) => new Error(problemDetail(refusalBody(e)) ?? `provision refused: ${e.status} ${e.statusText}`));
|
|
266
237
|
console.log(`✓ reconciled scope ${opts.scopeId} — owner ${body.owner ?? '(unknown)'} re-granted; logins restored.`);
|
|
267
238
|
// #828: the reconcile is done, but a declared store did not mint. Printed rather than
|
|
268
239
|
// thrown — the half that ran is real and worth keeping — and named in full, because the
|
|
@@ -281,20 +252,11 @@ export async function provisionScope(opts) {
|
|
|
281
252
|
* required hand-rolled curl against the CP with the CLI's stored bearer.
|
|
282
253
|
*/
|
|
283
254
|
export async function scopeStatus(opts) {
|
|
284
|
-
const
|
|
285
|
-
const
|
|
286
|
-
if (!res.ok) {
|
|
287
|
-
const body = await res.json().catch(() => null);
|
|
288
|
-
throw new Error(problemDetail(body) ?? `scope status refused: ${res.status} ${res.statusText}`);
|
|
289
|
-
}
|
|
290
|
-
const record = await readJson(res, base);
|
|
255
|
+
const client = planeFor(opts.controlPlaneUrl, opts.header);
|
|
256
|
+
const record = await viaPlane(() => client.getScope(opts.tenantId, opts.scopeId), (e) => new Error(problemDetail(refusalBody(e)) ?? `scope status refused: ${e.status} ${e.statusText}`));
|
|
291
257
|
// Health is best-effort: it reaches into the vertical's own deployment, which can be
|
|
292
258
|
// unreachable while the scope record itself still answers — show what we have.
|
|
293
|
-
const health = await
|
|
294
|
-
.then((r) => r.ok
|
|
295
|
-
? readJson(r, `${base}/health`)
|
|
296
|
-
: null)
|
|
297
|
-
.catch(() => null);
|
|
259
|
+
const health = await client.getScopeHealth(opts.tenantId, opts.scopeId).catch(() => null);
|
|
298
260
|
console.log(`scope ${opts.scopeId}`);
|
|
299
261
|
console.log(`name ${record.name} (${record.slug})`);
|
|
300
262
|
console.log(`vertical ${record.vertical ?? '—'}`);
|
|
@@ -321,7 +283,7 @@ export async function scopeStatus(opts) {
|
|
|
321
283
|
}
|
|
322
284
|
}
|
|
323
285
|
/** #1756: the ack a move sends when asked, and a refusal's own words plus the apps it breaks. */
|
|
324
|
-
const ackBody = (ackExportBreak) =>
|
|
286
|
+
const ackBody = (ackExportBreak) => ackExportBreak ? { acknowledge: { exportBreak: true } } : {};
|
|
325
287
|
function refusalText(body, fallback) {
|
|
326
288
|
const breaks = body?.exportBreaks;
|
|
327
289
|
return (problemDetail(body) ?? fallback) + (breaks ? exportBreakListing(breaks) : '');
|
|
@@ -336,23 +298,14 @@ function refusalText(body, fallback) {
|
|
|
336
298
|
* version leaves a rollback point. A pending version is refused unless the scope is a preview.
|
|
337
299
|
*/
|
|
338
300
|
export async function bindScopeVersion(opts) {
|
|
339
|
-
const
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}),
|
|
348
|
-
});
|
|
349
|
-
if (!res.ok) {
|
|
350
|
-
// An export-break refusal (#1756) carries the apps it would break: named here, so the
|
|
351
|
-
// acknowledgement is an informed answer rather than a flag tried to see what happens.
|
|
352
|
-
const body = await res.json().catch(() => null);
|
|
353
|
-
throw new Error(refusalText(body, `bind refused: ${res.status} ${res.statusText}`));
|
|
354
|
-
}
|
|
355
|
-
const record = await readJson(res, res.url);
|
|
301
|
+
const record = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).bindScopeVersion(opts.tenantId, opts.scopeId, {
|
|
302
|
+
versionId: opts.versionId,
|
|
303
|
+
snapshot: opts.snapshot ? true : undefined,
|
|
304
|
+
...ackBody(opts.ackExportBreak),
|
|
305
|
+
}),
|
|
306
|
+
// An export-break refusal (#1756) carries the apps it would break: named here, so the
|
|
307
|
+
// acknowledgement is an informed answer rather than a flag tried to see what happens.
|
|
308
|
+
(e) => new Error(refusalText(refusalBody(e), `bind refused: ${e.status} ${e.statusText}`)));
|
|
356
309
|
console.log(`✓ scope ${opts.scopeId} now runs version ${record.verticalVersionId} (${record.vertical ?? '—'}).`);
|
|
357
310
|
if (opts.snapshot) {
|
|
358
311
|
console.log(' a pre-migration snapshot was taken if this bind crossed a migration boundary — the rollback point.');
|
|
@@ -365,22 +318,12 @@ export async function bindScopeVersion(opts) {
|
|
|
365
318
|
* migration digests differ, unless `--ack-migrations` says both diffs were read.
|
|
366
319
|
*/
|
|
367
320
|
export async function rebindScopeVertical(opts) {
|
|
368
|
-
const
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
ackMigrations: opts.ackMigrations || undefined,
|
|
375
|
-
abandonData: opts.abandonData || undefined,
|
|
376
|
-
...ackBody(opts.ackExportBreak),
|
|
377
|
-
}),
|
|
378
|
-
});
|
|
379
|
-
if (!res.ok) {
|
|
380
|
-
const body = await res.json().catch(() => null);
|
|
381
|
-
throw new Error(refusalText(body, `rebind refused: ${res.status} ${res.statusText}`));
|
|
382
|
-
}
|
|
383
|
-
const body = await readJson(res, res.url);
|
|
321
|
+
const body = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).rebindScopeVertical(opts.tenantId, opts.scopeId, {
|
|
322
|
+
vertical: opts.vertical,
|
|
323
|
+
ackMigrations: opts.ackMigrations ? true : undefined,
|
|
324
|
+
abandonData: opts.abandonData ? true : undefined,
|
|
325
|
+
...ackBody(opts.ackExportBreak),
|
|
326
|
+
}), (e) => new Error(refusalText(refusalBody(e), `rebind refused: ${e.status} ${e.statusText}`)));
|
|
384
327
|
if (body.alreadyBound) {
|
|
385
328
|
console.log(`✓ scope ${opts.scopeId} already bound to ${opts.vertical} (${body.servingRef}) — nothing to do.`);
|
|
386
329
|
}
|
|
@@ -399,17 +342,12 @@ export async function rebindScopeVertical(opts) {
|
|
|
399
342
|
* vertical in one call. The whole-install migration a promote-per-scope would be tedious for.
|
|
400
343
|
*/
|
|
401
344
|
export async function adoptVerticalServing(opts) {
|
|
402
|
-
const
|
|
403
|
-
method: 'POST',
|
|
404
|
-
headers: { ...opts.header, 'content-type': 'application/json' },
|
|
405
|
-
body: JSON.stringify(ackBody(opts.ackExportBreak)),
|
|
406
|
-
});
|
|
407
|
-
const body = (await res.json().catch(() => null));
|
|
408
|
-
if (!res.ok) {
|
|
345
|
+
const body = await viaPlane(() => planeFor(opts.controlPlaneUrl, opts.header).adoptVerticalServing(opts.slug, ackBody(opts.ackExportBreak)), (e) => {
|
|
409
346
|
// A per-scope failure reports what it managed before stopping — a re-run resumes.
|
|
410
|
-
const
|
|
411
|
-
|
|
412
|
-
|
|
347
|
+
const partial = refusalBody(e);
|
|
348
|
+
const done = (partial?.adopted?.length ?? 0) + (partial?.alreadyAdopted?.length ?? 0);
|
|
349
|
+
return new Error(`${refusalText(partial, `adopt-serving refused: ${e.status}`)}${done ? ` (adopted ${done} before stopping)` : ''}`);
|
|
350
|
+
});
|
|
413
351
|
const adopted = body?.adopted ?? [];
|
|
414
352
|
const already = body?.alreadyAdopted ?? [];
|
|
415
353
|
console.log(`✓ ${opts.slug}: adopted ${adopted.length} scope(s), ${already.length} already on the serving script.`);
|
package/dist/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
package/dist/versions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"AAkDA,wBAAsB,aAAa,CACjC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,EAIZ,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAwFf"}
|