@substrat-run/contracts 0.145.0 → 0.147.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/control-plane.d.ts +36 -0
- package/dist/control-plane.d.ts.map +1 -1
- package/dist/control-plane.js +29 -0
- package/dist/control-plane.js.map +1 -1
- package/dist/deploy.d.ts +299 -3
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +346 -14
- package/dist/deploy.js.map +1 -1
- package/dist/errors.d.ts +50 -14
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +88 -7
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/introspection.d.ts +29 -1
- package/dist/introspection.d.ts.map +1 -1
- package/dist/introspection.js +11 -0
- package/dist/introspection.js.map +1 -1
- package/dist/invocation-record.d.ts +15 -0
- package/dist/invocation-record.d.ts.map +1 -1
- package/dist/invocation-record.js +15 -0
- package/dist/invocation-record.js.map +1 -1
- package/dist/peer.d.ts +9 -1
- package/dist/peer.d.ts.map +1 -1
- package/dist/peer.js +13 -2
- package/dist/peer.js.map +1 -1
- package/dist/routing.d.ts +4 -0
- package/dist/routing.d.ts.map +1 -1
- package/dist/routing.js +7 -0
- package/dist/routing.js.map +1 -1
- package/dist/scope-store-mac.d.ts +24 -0
- package/dist/scope-store-mac.d.ts.map +1 -0
- package/dist/scope-store-mac.js +61 -0
- package/dist/scope-store-mac.js.map +1 -0
- package/dist/scope-store-transport.d.ts +47 -0
- package/dist/scope-store-transport.d.ts.map +1 -0
- package/dist/scope-store-transport.js +58 -0
- package/dist/scope-store-transport.js.map +1 -0
- package/dist/script-names.d.ts +25 -1
- package/dist/script-names.d.ts.map +1 -1
- package/dist/script-names.js +37 -1
- package/dist/script-names.js.map +1 -1
- package/dist/sql-in-list.d.ts +39 -0
- package/dist/sql-in-list.d.ts.map +1 -0
- package/dist/sql-in-list.js +10 -0
- package/dist/sql-in-list.js.map +1 -0
- package/dist/tenancy.d.ts +1 -1
- package/dist/tenancy.d.ts.map +1 -1
- package/dist/tenancy.js +10 -1
- package/dist/tenancy.js.map +1 -1
- package/package.json +5 -1
package/dist/deploy.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { moduleId, permissionKey, scopeId, tenantId, verticalSlug } from './ids.js';
|
|
3
|
-
import { envVarSpec, capability, lifecycleHold, declaredEntityType, freshnessSpec, scheduleSpec } from './manifest.js';
|
|
3
|
+
import { envVarSpec, capability, lifecycleHold, declaredEntityType, freshnessSpec, scheduleSpec, PLATFORM_BINDING_PREFIX } from './manifest.js';
|
|
4
4
|
import { eventType } from './events.js';
|
|
5
5
|
import { roleDefinition } from './permission.js';
|
|
6
6
|
import { declaredSurface } from './routing.js';
|
|
7
7
|
import { emittedModel } from './model.js';
|
|
8
|
+
import { scopeDumpTable } from './introspection.js';
|
|
8
9
|
import { substratError } from './errors.js';
|
|
10
|
+
import { STORE_KIND_ID } from './script-names.js';
|
|
9
11
|
import { bindingShapeBreaks, bindingShapeRefusal } from './registry-diff.js';
|
|
10
12
|
// The deploy manifest is the JSON part a `substrat push` sends alongside the
|
|
11
13
|
// module files (self-serve-deploy.md). It lives here — not in the transport
|
|
@@ -49,7 +51,9 @@ export const storeNeed = z.object({
|
|
|
49
51
|
*
|
|
50
52
|
* - `storeNeed` (own DO) — the vertical's own durable class, one DO **per scope**.
|
|
51
53
|
* - a static shared `d1` binding — ONE database shared across every tenant (a build-time id).
|
|
52
|
-
* - `tenantStoreNeed` (this) — one
|
|
54
|
+
* - `tenantStoreNeed` (this) — one platform-minted store **per tenant**. `relational`
|
|
55
|
+
* today on the wire; a blob is the same level, declared with `kind: 'blob'`
|
|
56
|
+
* (see `declaredTenantStore`).
|
|
53
57
|
*
|
|
54
58
|
* The load-bearing difference from a static `d1` binding: the builder supplies **no
|
|
55
59
|
* database id**. The platform mints it per tenant in the tenant lifecycle and injects it,
|
|
@@ -61,9 +65,24 @@ export const storeNeed = z.object({
|
|
|
61
65
|
export const tenantStoreNeed = z.object({
|
|
62
66
|
/** How the worker reaches this tenant's store: `host.tenantStore(tenantId, <binding>)`. */
|
|
63
67
|
binding: z.string().regex(/^[A-Z][A-Z0-9_]*$/),
|
|
64
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* The store shape on the wire. `relational` only: a blob travels in `blobStores`,
|
|
70
|
+
* so a control plane from before the union still parses the manifest it is sent.
|
|
71
|
+
*/
|
|
65
72
|
kind: z.literal('relational').default('relational'),
|
|
66
73
|
});
|
|
74
|
+
/**
|
|
75
|
+
* A per-tenant store as a builder declares it (`runtimeNeeds.tenantStores`).
|
|
76
|
+
*
|
|
77
|
+
* `kind` defaults to `relational`, so a declaration that predates the union keeps
|
|
78
|
+
* its meaning. `blob` is the same store as an entry in `blobStores` — that list
|
|
79
|
+
* stays accepted, and {@link partitionDeclaredStores} reads both spellings into
|
|
80
|
+
* one set. The deploy manifest does not: blobs still leave in `blobStores`.
|
|
81
|
+
*/
|
|
82
|
+
export const declaredTenantStore = z.object({
|
|
83
|
+
binding: z.string().regex(/^[A-Z][A-Z0-9_]*$/),
|
|
84
|
+
kind: z.enum(['relational', 'blob']).default('relational'),
|
|
85
|
+
});
|
|
67
86
|
/**
|
|
68
87
|
* A platform-minted per-tenant store, as handed to the vertical at provision (K-31) and
|
|
69
88
|
* resolvable again at request time. `ref` is **opaque to the vertical**: a D1 `database_id`
|
|
@@ -122,7 +141,11 @@ const BINDING_NAME = /^[A-Z][A-Z0-9_]*$/;
|
|
|
122
141
|
export const blobStoreNeed = z.object({
|
|
123
142
|
/** How the worker reaches this tenant's store: `env[blobStoreBindingName(binding, tenantId)]`. */
|
|
124
143
|
binding: z.string().regex(/^[A-Z][A-Z0-9_]*$/),
|
|
125
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* The store shape. Only `blob`. A new declaration should say
|
|
146
|
+
* `tenantStores: [{ binding, kind: 'blob' }]` instead; this list stays so a
|
|
147
|
+
* declaration already written keeps working.
|
|
148
|
+
*/
|
|
126
149
|
kind: z.literal('blob').default('blob'),
|
|
127
150
|
});
|
|
128
151
|
/**
|
|
@@ -163,7 +186,10 @@ export function declaresAttachmentTargets(modules) {
|
|
|
163
186
|
* {@link ATTACHMENT_BLOB_BINDING} when any module declares an attachment target — derived
|
|
164
187
|
* from the same module manifests the permission surface is, so the need cannot drift from
|
|
165
188
|
* the declaration that creates it. A hand-declared blob store of that name IS the attachment
|
|
166
|
-
* store (the kind is a single literal), so it is kept once.
|
|
189
|
+
* store (the kind is a single literal), so it is kept once. The same declaration written
|
|
190
|
+
* as `tenantStores: [{ binding: 'ATTACHMENTS', kind: 'blob' }]` is that store too: a raw
|
|
191
|
+
* `RuntimeNeeds` still carries the blob there, and this function reads the kind rather
|
|
192
|
+
* than treating every entry of that name as relational. A per-tenant RELATIONAL store
|
|
167
193
|
* of that name is refused: it would be bound under the very `ATTACHMENTS__<tenant>` name the
|
|
168
194
|
* host reads attachment bytes through. (A static binding of the name is the push's to refuse,
|
|
169
195
|
* since only it reads the wrangler config those come from.)
|
|
@@ -172,9 +198,17 @@ export function withAttachmentBlobStore(needs,
|
|
|
172
198
|
/** {@link declaresAttachmentTargets} over the vertical's modules. */
|
|
173
199
|
attaches) {
|
|
174
200
|
const stores = [...(needs?.blobStores ?? [])];
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
201
|
+
for (const store of needs?.tenantStores ?? []) {
|
|
202
|
+
if (store.kind !== 'blob') {
|
|
203
|
+
if (store.binding === ATTACHMENT_BLOB_BINDING) {
|
|
204
|
+
throw new Error(`runtimeNeeds.tenantStores declares '${ATTACHMENT_BLOB_BINDING}', the binding the platform keeps for ` +
|
|
205
|
+
`attachment bytes (#1995) — rename that store; attachments need no declaration of their own`);
|
|
206
|
+
}
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (!stores.some((kept) => kept.binding === store.binding)) {
|
|
210
|
+
stores.push({ binding: store.binding, kind: 'blob' });
|
|
211
|
+
}
|
|
178
212
|
}
|
|
179
213
|
if (attaches && !stores.some((s) => s.binding === ATTACHMENT_BLOB_BINDING)) {
|
|
180
214
|
stores.push({ binding: ATTACHMENT_BLOB_BINDING, kind: 'blob' });
|
|
@@ -239,6 +273,146 @@ export const assetsNeed = assetRouting.extend({
|
|
|
239
273
|
/** Directory of built files, relative to the vertical root (e.g. `app/dist`). */
|
|
240
274
|
directory: z.string().min(1),
|
|
241
275
|
});
|
|
276
|
+
/**
|
|
277
|
+
* The operations only the platform may send to a scope store (#2207). A vertical's
|
|
278
|
+
* stub refuses every one of them. A kind's registration has to answer all of them,
|
|
279
|
+
* `substrat.erase` included, before a hosted deploy may store tenant data.
|
|
280
|
+
*/
|
|
281
|
+
export const RESERVED_STORE_OPERATIONS = [
|
|
282
|
+
'substrat.export',
|
|
283
|
+
'substrat.import',
|
|
284
|
+
'substrat.size',
|
|
285
|
+
'substrat.wipe',
|
|
286
|
+
'substrat.erase',
|
|
287
|
+
];
|
|
288
|
+
/** The longest store operation name (#2207 §6). */
|
|
289
|
+
export const STORE_OPERATION_NAME_MAX = 64;
|
|
290
|
+
/**
|
|
291
|
+
* A store operation name is a fixed label (#2207 §6): no `@`, no whitespace, no `:`,
|
|
292
|
+
* at most {@link STORE_OPERATION_NAME_MAX} characters. The name goes on an invocation
|
|
293
|
+
* line tenant members can read, so a name built from input (`lookup:<email>`) is
|
|
294
|
+
* refused rather than logged. The reserved `substrat.*` names are labels too.
|
|
295
|
+
*/
|
|
296
|
+
export const storeOperationName = z
|
|
297
|
+
.string()
|
|
298
|
+
.min(1)
|
|
299
|
+
.max(STORE_OPERATION_NAME_MAX)
|
|
300
|
+
.regex(/^[^@:\s]+$/, { message: 'a store operation name is a fixed label: no @, no whitespace, no :' });
|
|
301
|
+
const storeCatalogOperation = storeOperationName.refine((name) => !name.startsWith('substrat.'), {
|
|
302
|
+
message: 'a catalog operation cannot use the substrat. prefix — those names are the platform’s',
|
|
303
|
+
});
|
|
304
|
+
/** A store kind id: `[a-z0-9]+` (RFC scope-stores §10.7, L20). Part of every store script name. */
|
|
305
|
+
export const storeKindId = z.string().regex(STORE_KIND_ID, { message: 'a store kind id is [a-z0-9]+' });
|
|
306
|
+
/**
|
|
307
|
+
* A store kind, pinned the way a connector is: an exact release, the class
|
|
308
|
+
* the platform runs, the catalog a vertical may call, and every reserved operation.
|
|
309
|
+
* The list itself is {@link STORE_KINDS}. Empty until a kind is reviewed in.
|
|
310
|
+
*/
|
|
311
|
+
export const storeKindRegistration = z.object({
|
|
312
|
+
// Held to the kind-id grammar first (L20), so a second kind cannot be added outside it.
|
|
313
|
+
kind: storeKindId.pipe(z.literal('graph')),
|
|
314
|
+
release: z.string().min(1),
|
|
315
|
+
// No script name: the platform names the upload `scopeStoreScriptName(vertical, kind)`.
|
|
316
|
+
className: z.string().min(1),
|
|
317
|
+
operations: z.array(storeCatalogOperation),
|
|
318
|
+
platformOperations: z.array(z.enum(RESERVED_STORE_OPERATIONS)).refine((ops) => RESERVED_STORE_OPERATIONS.every((op) => ops.includes(op)), { message: 'a store kind answers every reserved operation, including substrat.erase' }),
|
|
319
|
+
});
|
|
320
|
+
/** Registered store kinds. None, until a reviewed registration lands (#2210). */
|
|
321
|
+
export const STORE_KINDS = [];
|
|
322
|
+
/**
|
|
323
|
+
* Whether a version's stored manifest (`HostAdmin.versionManifest`) declares a scope
|
|
324
|
+
* store (#2242). `null` is a version pushed before manifests were kept, which is before
|
|
325
|
+
* scope stores, so it declares none. `undefined` is returned when the JSON cannot be
|
|
326
|
+
* read as a stored manifest: the caller cannot tell, and must not read that as "none".
|
|
327
|
+
*/
|
|
328
|
+
export function scopeStoresDeclaredIn(manifestJson) {
|
|
329
|
+
if (manifestJson === null)
|
|
330
|
+
return false;
|
|
331
|
+
let raw;
|
|
332
|
+
try {
|
|
333
|
+
raw = JSON.parse(manifestJson);
|
|
334
|
+
}
|
|
335
|
+
catch {
|
|
336
|
+
return undefined;
|
|
337
|
+
}
|
|
338
|
+
const parsed = storedDeployManifest.safeParse(raw);
|
|
339
|
+
return parsed.success ? parsed.data.scopeStores.length > 0 : undefined;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Whether the deployment running a version may hold a scope store — the gate subject
|
|
343
|
+
* erasure fails closed on (#2242). A push declaring an unregistered kind is refused, so
|
|
344
|
+
* with no kind in `kinds` nothing can hold one: false, and erasure proceeds as it did
|
|
345
|
+
* before stores existed. Otherwise true when the manifest declares a store, or when it
|
|
346
|
+
* is unknown (`undefined`: no version can be named, or it could not be read) or cannot
|
|
347
|
+
* be parsed. False for a manifest that declares none, and for `null`, a version pushed
|
|
348
|
+
* before manifests (and so stores) existed.
|
|
349
|
+
*/
|
|
350
|
+
export function mayHoldScopeStores(manifestJson, kinds = STORE_KINDS) {
|
|
351
|
+
if (kinds.length === 0)
|
|
352
|
+
return false;
|
|
353
|
+
if (manifestJson === undefined)
|
|
354
|
+
return true;
|
|
355
|
+
return scopeStoresDeclaredIn(manifestJson) ?? true;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* A platform-run object, one per scope (#2207). The builder names the binding and the
|
|
359
|
+
* kind. The kind has no default. A scope store adds no binding to the vertical's upload
|
|
360
|
+
* (RFC scope-stores §10.7, L1): the vertical reaches it only through the platform's hop.
|
|
361
|
+
*/
|
|
362
|
+
export const scopeStoreNeed = z.object({
|
|
363
|
+
binding: z.string().regex(/^[A-Z][A-Z0-9_]*$/),
|
|
364
|
+
kind: z.literal('graph'),
|
|
365
|
+
});
|
|
366
|
+
/** The env name the platform binds a scope store under. */
|
|
367
|
+
export function scopeStoreBindingName(binding) {
|
|
368
|
+
if (!BINDING_NAME.test(binding)) {
|
|
369
|
+
throw new Error(`not a scope-store binding name: '${binding}' (expected SCREAMING_SNAKE)`);
|
|
370
|
+
}
|
|
371
|
+
return `${PLATFORM_BINDING_PREFIX}STORE_${binding}`;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* The object name the host builds (#2207). The vertical names a binding; the host
|
|
375
|
+
* names the object, from the tenant and scope it has just checked and the vertical
|
|
376
|
+
* the scope runs. Tenant, scope and binding contain no `/`. A vertical slug may,
|
|
377
|
+
* and it sits between the two ids, so the name still splits one way.
|
|
378
|
+
*/
|
|
379
|
+
export function scopeStoreObjectName(tenantId, vertical, scopeId, binding) {
|
|
380
|
+
return `${tenantId}/${vertical}/${scopeId}/${binding}`;
|
|
381
|
+
}
|
|
382
|
+
/** `{ operation, input }` over the store's fetch. */
|
|
383
|
+
export const storeRequest = z.object({
|
|
384
|
+
operation: storeOperationName,
|
|
385
|
+
input: z.unknown().optional(),
|
|
386
|
+
});
|
|
387
|
+
/** What a store answers when it refuses. `code` is the kind's, `status` is an HTTP
|
|
388
|
+
* error status: anything outside 400–599 is not a refusal, and not this envelope. */
|
|
389
|
+
export const storeErrorEnvelope = z.object({
|
|
390
|
+
code: z.string().min(1),
|
|
391
|
+
status: z.number().int().min(400).max(599),
|
|
392
|
+
body: z.unknown().optional(),
|
|
393
|
+
});
|
|
394
|
+
/** `{ result }` or `{ error }`. Anything else is not this envelope. */
|
|
395
|
+
export const storeResponse = z.union([
|
|
396
|
+
z.object({ result: z.unknown() }).strict(),
|
|
397
|
+
z.object({ error: storeErrorEnvelope }).strict(),
|
|
398
|
+
]);
|
|
399
|
+
/**
|
|
400
|
+
* What each reserved operation takes and answers (#2207). The result schemas are
|
|
401
|
+
* objects so a later field is additive. `import` replaces the whole object and
|
|
402
|
+
* answers how many tables it wrote.
|
|
403
|
+
*/
|
|
404
|
+
export const storeSizeResult = z.object({ bytes: z.number().int().nonnegative() });
|
|
405
|
+
export const storeEraseInput = z.object({ subjectId: z.string().min(1) });
|
|
406
|
+
export const storeEraseResult = z.object({ erased: z.number().int().nonnegative() });
|
|
407
|
+
export const storeExportResult = z.object({ tables: z.array(scopeDumpTable) });
|
|
408
|
+
export const storeImportInput = z.object({ tables: z.array(scopeDumpTable) });
|
|
409
|
+
export const storeImportResult = z.object({ tables: z.number().int().nonnegative() });
|
|
410
|
+
export const storeWipeResult = z.object({});
|
|
411
|
+
/** One binding's storage, as `scopeStoreSizes` reports it. */
|
|
412
|
+
export const scopeStoreSize = z.object({
|
|
413
|
+
binding: z.string().regex(/^[A-Z][A-Z0-9_]*$/),
|
|
414
|
+
bytes: z.number().int().nonnegative(),
|
|
415
|
+
});
|
|
242
416
|
/**
|
|
243
417
|
* What a vertical needs from the runtime, in substrate vocabulary (package.json
|
|
244
418
|
* `substrat.runtimeNeeds`). A vertical authored with this section never writes deploy
|
|
@@ -256,17 +430,171 @@ export const runtimeNeeds = z.object({
|
|
|
256
430
|
/** Command to run before bundling (SPA build, asset generation). Runs in the vertical root. */
|
|
257
431
|
build: z.string().min(1).optional(),
|
|
258
432
|
stores: z.array(storeNeed).default([]),
|
|
259
|
-
/**
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
|
|
263
|
-
/** Per-tenant
|
|
264
|
-
* `
|
|
433
|
+
/** One platform-run object per scope (#2207). `kind` has no default: it is the
|
|
434
|
+
* choice, and the only kind until a second one asks to widen the literal. A push
|
|
435
|
+
* of a kind with no registration is refused ({@link assertDeclaredScopeStores}). */
|
|
436
|
+
scopeStores: z.array(scopeStoreNeed).default([]),
|
|
437
|
+
/** Per-tenant stores the platform provisions (#301, #473). `kind` defaults to
|
|
438
|
+
* `relational`. `blob` is the same declaration as an entry in `blobStores`.
|
|
439
|
+
* NOT bound statically — there is one database or bucket per tenant, minted in
|
|
440
|
+
* the tenant lifecycle rather than at deploy. */
|
|
441
|
+
tenantStores: z.array(declaredTenantStore).default([]),
|
|
442
|
+
/** @deprecated Declare `tenantStores` with `kind: 'blob'` instead. Still accepted,
|
|
443
|
+
* and read into the same set ({@link partitionDeclaredStores}). */
|
|
265
444
|
blobStores: z.array(blobStoreNeed).default([]),
|
|
266
445
|
/** Static files served from the edge (#340). Absent ⇒ the vertical serves no static
|
|
267
446
|
* files (or still inlines them into the bundle), and nothing about its push changes. */
|
|
268
447
|
assets: assetsNeed.optional(),
|
|
269
448
|
});
|
|
449
|
+
/**
|
|
450
|
+
* The two builder spellings of a per-tenant store, as one set (#2221).
|
|
451
|
+
*
|
|
452
|
+
* A `blob` entry in `tenantStores` and an entry in `blobStores` are the same
|
|
453
|
+
* declaration. A binding named twice — in one list, or across them — is refused:
|
|
454
|
+
* both would be bound as `<BINDING>__<tenant>` on the serving script, and nothing
|
|
455
|
+
* else compares the two lists (except the reserved `ATTACHMENTS` name).
|
|
456
|
+
*/
|
|
457
|
+
export function partitionDeclaredStores(needs) {
|
|
458
|
+
const tenantStores = [];
|
|
459
|
+
const blobStores = [];
|
|
460
|
+
const seen = new Map();
|
|
461
|
+
const claim = (binding, where) => {
|
|
462
|
+
const prior = seen.get(binding);
|
|
463
|
+
if (prior !== undefined) {
|
|
464
|
+
throw new Error(`runtimeNeeds declares the per-tenant binding '${binding}' twice (${prior}, and ${where}). ` +
|
|
465
|
+
`One name is one store: both would be bound as ${binding}__<tenant> on the serving script.`);
|
|
466
|
+
}
|
|
467
|
+
seen.set(binding, where);
|
|
468
|
+
};
|
|
469
|
+
for (const store of needs?.tenantStores ?? []) {
|
|
470
|
+
if (store.kind === 'blob') {
|
|
471
|
+
claim(store.binding, `tenantStores kind 'blob'`);
|
|
472
|
+
blobStores.push({ binding: store.binding, kind: 'blob' });
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
claim(store.binding, 'tenantStores');
|
|
476
|
+
tenantStores.push({ binding: store.binding, kind: 'relational' });
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
for (const store of needs?.blobStores ?? []) {
|
|
480
|
+
claim(store.binding, 'blobStores');
|
|
481
|
+
blobStores.push({ binding: store.binding, kind: 'blob' });
|
|
482
|
+
}
|
|
483
|
+
return { tenantStores, blobStores };
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* What a push puts on the deploy manifest for per-tenant stores. Relational entries
|
|
487
|
+
* stay in `tenantStores`. Blobs, whichever spelling declared them, stay in `blobStores`,
|
|
488
|
+
* plus the attachment store when the modules declare a target. An older control plane
|
|
489
|
+
* therefore reads the same manifest it reads today.
|
|
490
|
+
*/
|
|
491
|
+
export function manifestStoresOf(needs,
|
|
492
|
+
/** {@link declaresAttachmentTargets} over the vertical's modules. */
|
|
493
|
+
attaches) {
|
|
494
|
+
const declared = partitionDeclaredStores(needs);
|
|
495
|
+
return {
|
|
496
|
+
tenantStores: declared.tenantStores,
|
|
497
|
+
blobStores: withAttachmentBlobStore(declared, attaches),
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Whether `name` is the binding a per-tenant store is injected as
|
|
502
|
+
* ({@link tenantStoreBindingName}): `<BINDING>__<tenant>`. The declared spelling
|
|
503
|
+
* `DB` is a different name from `DB__<tenant>`, and a static binding of the
|
|
504
|
+
* declared spelling does not collide with the store.
|
|
505
|
+
*/
|
|
506
|
+
function isPerTenantRuntimeName(name, binding) {
|
|
507
|
+
const prefix = `${binding}__`;
|
|
508
|
+
return name.startsWith(prefix) && tenantId.safeParse(name.slice(prefix.length)).success;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* One binding name is one store (#2207, #2221). The names a vertical declares —
|
|
512
|
+
* an own store, a per-tenant store, a blob store, a scope store — are compared
|
|
513
|
+
* as written. `ATTACHMENTS` stays the attachment blob store and cannot be a
|
|
514
|
+
* scope store.
|
|
515
|
+
*
|
|
516
|
+
* A static wrangler binding is compared to the name that lands on the worker,
|
|
517
|
+
* not to the declaration. An own store's durable-object binding IS that store,
|
|
518
|
+
* so passing it again counts the name twice; push omits those names. A
|
|
519
|
+
* per-tenant store is injected as `BINDING__<tenant>`. A scope store is not bound
|
|
520
|
+
* on a hosted worker at all; `SUBSTRAT_STORE_<BINDING>` is the name a dev or test
|
|
521
|
+
* host binds it under, so a static binding of that name is refused here as the
|
|
522
|
+
* store's runtime name. A static binding spelled `DB` or `GRAPH` is neither of those.
|
|
523
|
+
*/
|
|
524
|
+
export function assertStoreBindingsDistinct(input) {
|
|
525
|
+
const seen = new Map();
|
|
526
|
+
const claim = (binding, where) => {
|
|
527
|
+
const prior = seen.get(binding);
|
|
528
|
+
if (prior !== undefined) {
|
|
529
|
+
throw substratError('forbidden', `deploy refused: binding '${binding}' is declared as ${prior} and as ${where}. One name is one store.`);
|
|
530
|
+
}
|
|
531
|
+
seen.set(binding, where);
|
|
532
|
+
};
|
|
533
|
+
for (const store of input.own ?? [])
|
|
534
|
+
claim(store.binding, 'an own store');
|
|
535
|
+
for (const store of input.tenantStores ?? [])
|
|
536
|
+
claim(store.binding, 'a per-tenant store');
|
|
537
|
+
for (const store of input.blobStores ?? [])
|
|
538
|
+
claim(store.binding, 'a per-tenant blob store');
|
|
539
|
+
for (const store of input.scopeStores ?? []) {
|
|
540
|
+
if (store.binding === ATTACHMENT_BLOB_BINDING) {
|
|
541
|
+
throw substratError('forbidden', `deploy refused: '${ATTACHMENT_BLOB_BINDING}' is the attachment blob store, not a scope store.`);
|
|
542
|
+
}
|
|
543
|
+
claim(store.binding, 'a scope store');
|
|
544
|
+
}
|
|
545
|
+
for (const name of input.bindingNames ?? []) {
|
|
546
|
+
if ((input.own ?? []).some((store) => store.binding === name)) {
|
|
547
|
+
throw substratError('forbidden', `deploy refused: binding '${name}' is declared as an own store and as a static binding. One name is one store.`);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
// Every name that lands on the worker, an own store's included, is compared with the
|
|
551
|
+
// runtime names the platform injects: an own DO binding called `DB__<tenant>` would be a
|
|
552
|
+
// second binding of that name beside the per-tenant store `DB`.
|
|
553
|
+
const perTenant = [...(input.tenantStores ?? []), ...(input.blobStores ?? [])];
|
|
554
|
+
const landed = [...(input.own ?? []).map((store) => store.binding), ...(input.bindingNames ?? [])];
|
|
555
|
+
for (const name of landed) {
|
|
556
|
+
const tenant = perTenant.find((store) => isPerTenantRuntimeName(name, store.binding));
|
|
557
|
+
if (tenant) {
|
|
558
|
+
throw substratError('forbidden', `deploy refused: binding '${name}' is the runtime name of per-tenant store '${tenant.binding}'. One name is one store.`);
|
|
559
|
+
}
|
|
560
|
+
const scope = (input.scopeStores ?? []).find((store) => name === scopeStoreBindingName(store.binding));
|
|
561
|
+
if (scope) {
|
|
562
|
+
throw substratError('forbidden', `deploy refused: binding '${name}' is the runtime name of scope store '${scope.binding}'. One name is one store.`);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* The two name lists {@link assertStoreBindingsDistinct} reads off a deploy's static
|
|
568
|
+
* bindings (#2224). An own durable-object binding is an own store and is compared as
|
|
569
|
+
* written; every other static binding is compared by the name that lands on the worker.
|
|
570
|
+
* Push and the control plane both derive them here, from the `bindings` the manifest
|
|
571
|
+
* carries, so the two checks cannot drift apart.
|
|
572
|
+
*/
|
|
573
|
+
export function storeNamesOfBindings(bindings) {
|
|
574
|
+
const isOwnStore = (b) => b.type === 'durable_object_namespace' && !b.script_name;
|
|
575
|
+
return {
|
|
576
|
+
own: bindings.filter(isOwnStore).map((b) => ({ binding: b.name })),
|
|
577
|
+
bindingNames: bindings.filter((b) => !isOwnStore(b)).map((b) => b.name),
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* A scope store whose kind has no registration is refused (#2207). The declaration
|
|
582
|
+
* parses — `graph` is the kind — and still cannot be stored as if the platform
|
|
583
|
+
* could run it. {@link STORE_KINDS} is what "registered" means.
|
|
584
|
+
*/
|
|
585
|
+
export function assertScopeStoresRegistered(stores) {
|
|
586
|
+
for (const store of stores) {
|
|
587
|
+
if (!STORE_KINDS.some((kind) => kind.kind === store.kind)) {
|
|
588
|
+
throw substratError('forbidden', `deploy refused: scope store '${store.binding}' declares kind '${store.kind}', which is not registered. ` +
|
|
589
|
+
`A store kind is platform code, pinned to a release the way a connector is.`);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
/** Both refusals a push and the control plane apply to a scope-store declaration. */
|
|
594
|
+
export function assertDeclaredScopeStores(input) {
|
|
595
|
+
assertStoreBindingsDistinct(input);
|
|
596
|
+
assertScopeStoresRegistered(input.scopeStores ?? []);
|
|
597
|
+
}
|
|
270
598
|
/**
|
|
271
599
|
* One declared outbound destination (#303, D-46): a lowercase hostname the vertical's
|
|
272
600
|
* worker may `fetch()` directly, or a `*.`-prefixed wildcard matching any subdomain depth
|
|
@@ -1046,6 +1374,10 @@ export const deployManifest = z.object({
|
|
|
1046
1374
|
/** Per-tenant blob stores (#473) — same carry-for-provisioning rule as `tenantStores`:
|
|
1047
1375
|
* never a static binding; the platform mints one bucket per tenant and injects it. */
|
|
1048
1376
|
blobStores: z.array(blobStoreNeed).default([]),
|
|
1377
|
+
/** Platform-run objects, one per scope (#2207). Never a binding on the vertical's upload
|
|
1378
|
+
* (L1): the vertical reaches one only through the platform's hop. An unregistered kind is
|
|
1379
|
+
* refused. */
|
|
1380
|
+
scopeStores: z.array(scopeStoreNeed).default([]),
|
|
1049
1381
|
/** The vertical's static files (#340): routing config + the full path/hash/size/type
|
|
1050
1382
|
* manifest. Never a binding — native assets are a top-level upload path, so they do not
|
|
1051
1383
|
* ride the §4 allowlist. Optional ⇒ a vertical that ships none is unaffected. */
|
package/dist/deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|