@substrat-run/vertical-host 0.158.0 → 0.160.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.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EASL,KAAK,SAAS,EACd,KAAK,OAAO,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE9C;AAkBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAItE;AA0DD,mGAAmG;AACnG,wBAAgB,aAAa,IAAI,SAAS,MAAM,EAAE,CAEjD;AAoBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAmB9E;AAkBD,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAkBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAM7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,iBAAiB,CAUnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAMlE;AAeD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAGtE;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,CAAC,EAAE,OAAO,EACV,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC7C,QAAQ,CAOV;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,OAAO,EACV,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC7C,QAAQ,CAEV"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EASL,KAAK,SAAS,EACd,KAAK,OAAO,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,6EAA6E;AAC7E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE9C;AAkBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAItE;AA0DD,mGAAmG;AACnG,wBAAgB,aAAa,IAAI,SAAS,MAAM,EAAE,CAEjD;AAoBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAmB9E;AAkBD,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAkBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAM7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,iBAAiB,CAUnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,CAMlE;AAkBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAGtE;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,CAAC,EAAE,OAAO,EACV,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC7C,QAAQ,CAOV;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,OAAO,EACV,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC7C,QAAQ,CAEV"}
package/dist/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { HTTPException } from 'hono/http-exception';
2
2
  import { errorCodeOf, isScopeGateRefusal, NO_APPLICATION_DETAIL, PROBLEM_CATALOG, PROBLEM_CONTENT_TYPE, problemForStatus, substratError, toProblem, } from '@substrat-run/contracts';
3
- import { requestIdOf } from './invocation-log.js';
3
+ import { requestIdOf, INVOCATION_RECORD_KEY, invocationStampOf } from './invocation-log.js';
4
4
  /** The message a thrown value carries, whatever kind of value it is. */
5
5
  export function messageOf(err) {
6
6
  return err instanceof Error ? err.message : String(err);
@@ -232,6 +232,10 @@ export function problemResponse(c, err) {
232
232
  }
233
233
  /** A problem document on the wire: the media type, the request id member, any extra headers. */
234
234
  function serveProblem(c, status, body, headers = {}) {
235
+ const record = c.get?.(INVOCATION_RECORD_KEY)
236
+ ?? invocationStampOf(c.req.raw)?.record;
237
+ if (record && body.code)
238
+ record.problemCode = body.code;
235
239
  return c.body(JSON.stringify(withRequestIdMember(body, c)), status, {
236
240
  ...headers,
237
241
  'content-type': PROBLEM_CONTENT_TYPE,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,7 +23,7 @@
23
23
  * adapter satisfies the same interface.
24
24
  */
25
25
  import type { Hono } from 'hono';
26
- import { type CarriedAway, type KeptCopy, type LoadMarker, type CopyRestoreFence, type InvokeOptions, type AppliedMigration, type SwitchedOff, type UndrainedEvents, type ScopeRoleHolder, type SubjectRedactionCounts, type OrphanSweepReport, type OrphanSweepRequest } from '@substrat-run/kernel';
26
+ import { type CarriedAway, type RoleState, type KeptCopy, type LoadMarker, type CopyRestoreFence, type InvokeOptions, type AppliedMigration, type SwitchedOff, type UndrainedEvents, type ScopeRoleHolder, type SubjectRedactionCounts, type OrphanSweepReport, type OrphanSweepRequest, type ByteBody } from '@substrat-run/kernel';
27
27
  import { z, type ScopeLineage, ownerSeat, type Coverage, type MemberInviteLink, type PlatformActorId, ownerTransferRecord, ownerTransferAbandon, type BoundedBecomeMint, type BoundedBecomeRevoke, type BecomeLinkState, type CapabilityId, type PrincipalBecomeCapabilityInput, type CapabilityFilter, type CapabilityPage, type CapabilityRecord, type DenialFilter, type DenialSummary, type PermissionDenial, readScopeTableInput, type EntityHistoryInput, type EventFacetInput, type EventCauseInput, type EventEffectsInput, type EffectsTree, type InvocationEventsInput, type InvocationEvents, type DeadLettersInput, type DeadLetter, type LifecycleFlowInput, type LifecycleFlowResult, type OperationSeriesInput, type OperationSeriesResult, type CauseChain, type EventFacetResult, type HistoryEntry, type Page, type ScopeId, type TenantId, type PrincipalId, type ConnectionId, type PermissionKey, type EntityRef, type Visibility, type RoleDefinition, type ScopeDumpTable, type ScopeDumpPage, type ScopeTable, type ScopeQueryResult, type EntitlementGrant, type ProjectedConnectionGrant, type ProjectedConnectionKey, type ProjectedIdentityLink, type OwnerClaimLink, type PlatformRequestEntry, type PlatformRequestFilter, type PlatformRequestId, type PlatformRequestStatus, type PlatformRequestFailure, type PlatformOutcomeEvent, type ModuleId, type SystemSwitchOutcome, type LifecycleDelivery, type ScopeLifecycle, type PeerGrantsEntry, type SystemScheduleEntry, type PeerSwitchOutcome, type VerticalCaller, type ImportCursorMoveAt, type ImportCursorMoved, type ExportReadInput, type ExportedBatch, type ImportBatch, type ImportResult, type ImportState, type EntityGrantShape } from '@substrat-run/contracts';
28
28
  /**
29
29
  * The slice of the scope host the platform surface delegates to. Structural on purpose:
@@ -171,6 +171,29 @@ export interface VerticalScopeHost {
171
171
  refused: 'changed' | 'not-kept';
172
172
  }>;
173
173
  projectRolesLocal(tenantId: TenantId, scopeId: ScopeId, roles: RoleDefinition[]): Promise<void>;
174
+ /**
175
+ * #2447: why the vertical's role set may not be defined on `scopeId`, or null — the question
176
+ * `projectRolesLocal` asks, asked by a restore BEFORE it imports the dump, so a refused set leaves
177
+ * the scope as it was rather than restored without its role repair. Optional: a host without it is
178
+ * held only by `projectRolesLocal`'s own refusal, after the import.
179
+ */
180
+ roleSetRefusalLocal?(scopeId: ScopeId, roles: RoleDefinition[],
181
+ /** The dump about to be imported, when the caller has it: the set is judged against its roles and seats. */
182
+ dump?: {
183
+ tenantId: TenantId;
184
+ tables: {
185
+ name: string;
186
+ columns: string[];
187
+ rows: unknown[][];
188
+ }[];
189
+ }): Promise<string | null>;
190
+ /**
191
+ * #2446: the roles `scopeId` stores for `tenantId` and the role keys anyone but a system principal
192
+ * holds a live seat in there (`RoleState`), what `projectRolesLocal` judges a role set against.
193
+ * Optional: a host without it answers the route 501, which a promote counts as a deployment built
194
+ * before the read and moves unjudged, as it does one without the route.
195
+ */
196
+ roleStateLocal?(tenantId: TenantId, scopeId: ScopeId): Promise<RoleState>;
174
197
  exportScopeLocal(scopeId: ScopeId): Promise<ScopeDumpTable[]>;
175
198
  /** #2450: one page of the stamped export, for a scope too large to cross in one call. Optional,
176
199
  * like `exportScopeStampedLocal`: the route answers 501 without it, and the platform then
@@ -247,6 +270,12 @@ export interface VerticalScopeHost {
247
270
  * without it, and the route answers 501 rather than 0, which a sum would add.
248
271
  */
249
272
  databaseSizeLocal?(scopeId: ScopeId): Promise<number>;
273
+ /**
274
+ * What the scope's attachment rows sum to, in bytes (#2501), for the storage gauge. OPTIONAL for
275
+ * the reason `databaseSizeLocal` is: a host built before it satisfies this interface without it,
276
+ * and the route answers 501 rather than 0, which a sum would add.
277
+ */
278
+ attachmentSizeLocal?(scopeId: ScopeId): Promise<number>;
250
279
  /**
251
280
  * One orphan-attachment pass over a scope this deployment holds (#2314). OPTIONAL for the reason
252
281
  * `databaseSizeLocal` is: a host built before it satisfies this interface without it, and the
@@ -328,7 +357,8 @@ export interface VerticalScopeHost {
328
357
  filename: string;
329
358
  contentType: string;
330
359
  visibility: Visibility;
331
- body: Uint8Array;
360
+ /** A sized stream from `/internal/connector-attachment-stream` (#2498). */
361
+ body: ByteBody;
332
362
  }): Promise<unknown>;
333
363
  /** The outbound read (#711) — the vertical's own document, handed back by id.
334
364
  * `eventId` (#726) names the delivery asking; resolved HERE against this
@@ -419,7 +449,14 @@ export interface VerticalScopeHost {
419
449
  * invite flow. OPTIONAL like the switches: a host without them answers 501 at
420
450
  * `/internal/owner-transfer` before the record moves, so no hand-over is ever half-started.
421
451
  */
422
- assignScopeRole?(scopeId: ScopeId, principal: PrincipalId, roleKey: string): Promise<void>;
452
+ assignScopeRole?(scopeId: ScopeId, principal: PrincipalId, roleKey: string, door?: 'person' | 'platform'): Promise<void>;
453
+ /**
454
+ * #2447: why `roleKey` may not be seated at scope level through `door`, or null — asked by the
455
+ * hand-over before the record moves, so a refused seat leaves nothing half-done. Optional: a host
456
+ * without it predates the person's door, so the hand-over answers 501 before the record moves
457
+ * rather than seat through a door that ignores `'person'` (#2531).
458
+ */
459
+ scopeRoleRefusal?(scopeId: ScopeId, roleKey: string, door: 'person' | 'platform'): Promise<string | null>;
423
460
  revokeScopeRole?(scopeId: ScopeId, principal: PrincipalId, roleKey: string): Promise<boolean>;
424
461
  /** Does `principal` hold a role the scope can expand? The hand-over's check on `to` (#1665). */
425
462
  hasScopeRoleLocal?(tenantId: TenantId, scopeId: ScopeId, principal: PrincipalId): Promise<boolean>;
@@ -463,7 +500,7 @@ export interface MemberDirectory {
463
500
  getInvite(scopeId: string, principal: string): Promise<{
464
501
  roleKey: string;
465
502
  } | null>;
466
- createInvite(scopeId: string, principal: string, roleKey: string, email: string | null, tokenHash: string, capabilityId: string | null): Promise<void>;
503
+ createInvite(scopeId: string, principal: string, roleKey: string, email: string | null, tokenHash: string, capabilityId: string): Promise<void>;
467
504
  /** The `become` capability an open invite's link is (#1686), or null. */
468
505
  inviteLink(scopeId: string, principal: string): Promise<string | null>;
469
506
  /** Withdraw an open invite. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { requestIdOf, writePlatformCallLine } from './invocation-log.js';
5
5
  import {} from '@substrat-run/kernel';
6
6
  import { assertPlatformCall, PlatformCallError } from '@substrat-run/contracts/wire-auth';
7
7
  import { platformSweeperOf, registerScopeSweepHost } from './scope-sweep-host.js';
8
- import { z, PROBLEM_CONTENT_TYPE, scopeLineage, scopeId as scopeIdOf, tenantId as tenantIdOf, principalId as principalIdOf, connectionId as connectionIdOf, permissionKey as permissionKeyOf, moduleId as moduleIdOf, switchedOffInUnit, entityRef, visibility, instant, entitlementGrant, projectedConnectionGrant, projectedConnectionKey, projectedIdentityLink, ownerSeat, ownerClaimLink, coverage, coverageRefusal, memberInviteLink, memberRemoval, scopeMembers, platformActorId, ownerTransferPair, distinctOwnerTransfer, ownerTransferRecord, ownerTransferAbandon, platformRequestFilter, denialFilter, capabilityFilterQuery, BECOME_LINK_STATES_MAX_IDS, capabilityId, becomeLinkState, capabilityRevokeAnswer, capabilityRevokeRequest, platformRequestId, platformRequestStatus, platformRequestFailure, platformOutcomeEvent, readScopeTableInput, entityHistoryInput, eventFacetInput, eventCauseInput, eventEffectsInput, invocationEventsInput, deadLettersInput, lifecycleFlowInput, operationSeriesShape, operationSeriesWindow, queryScopeInput, errorCodeOf, PARENT_REQUEST_ID_HEADER, scopeLifecycle, verticalCaller, verticalSlug as verticalSlugOf, exportReadInput, importBatch, importCursorMoveAt, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, WRITE_REVISION_HEADER, entityGrantShape, } from '@substrat-run/contracts';
8
+ import { z, PROBLEM_CONTENT_TYPE, scopeLineage, scopeId as scopeIdOf, tenantId as tenantIdOf, principalId as principalIdOf, connectionId as connectionIdOf, permissionKey as permissionKeyOf, moduleId as moduleIdOf, switchedOffInUnit, visibility, instant, entitlementGrant, projectedConnectionGrant, projectedConnectionKey, projectedIdentityLink, ownerSeat, ownerClaimLink, coverage, coverageRefusal, memberInviteLink, memberRemoval, scopeMembers, platformActorId, ownerTransferPair, distinctOwnerTransfer, ownerTransferRecord, ownerTransferAbandon, platformRequestFilter, denialFilter, capabilityFilterQuery, BECOME_LINK_STATES_MAX_IDS, capabilityId, becomeLinkState, capabilityRevokeAnswer, capabilityRevokeRequest, platformRequestId, platformRequestStatus, platformRequestFailure, platformOutcomeEvent, readScopeTableInput, entityHistoryInput, eventFacetInput, eventCauseInput, eventEffectsInput, invocationEventsInput, deadLettersInput, lifecycleFlowInput, operationSeriesShape, operationSeriesWindow, queryScopeInput, errorCodeOf, PARENT_REQUEST_ID_HEADER, scopeLifecycle, verticalCaller, verticalSlug as verticalSlugOf, exportReadInput, importBatch, importCursorMoveAt, CONNECTOR_ATTACHMENT_META_HEADER, CONNECTOR_ATTACHMENT_BUFFERED_MAX_BYTES, CONNECTOR_ATTACHMENT_META_MAX_BYTES, CONNECTOR_ATTACHMENT_MULTIPART_ENVELOPE_BYTES, CONNECTOR_ATTACHMENT_RECORD_HEADER, CONNECTOR_ATTACHMENT_STREAM_MAX_BYTES, connectorAttachmentBodyRefusal, connectorAttachmentBufferedRefusal, connectorAttachmentMetaBytes, connectorAttachmentMetaRefusal, connectorAttachmentSizeRefusal, LOAD_STAMP_HEADER, WRITE_REVISION_HEADER, entityGrantShape, ATTACHMENT_FIELD_MAX, attachmentRecord, attachmentUploadFields, } from '@substrat-run/contracts';
9
9
  /**
10
10
  * The denial-log filter, off the query string (#867). Both denial routes take the same
11
11
  * one, and it is PARSED here rather than forwarded: what arrives is text, and what it
@@ -282,11 +282,113 @@ const connectorAttachmentMeta = z.object({
282
282
  connectionId: connectionIdOf,
283
283
  tenantId: tenantIdOf,
284
284
  scopeId: scopeIdOf,
285
- entity: entityRef,
286
- filename: z.string().min(1),
287
- contentType: z.string().min(1),
285
+ // The bounds every door applies (`attachmentUploadFields`), so a refusal comes here as a 400
286
+ // naming the field rather than from the host's own judge (#2519).
287
+ entity: attachmentUploadFields.shape.entity,
288
+ filename: attachmentUploadFields.shape.filename,
289
+ contentType: attachmentUploadFields.shape.contentType,
288
290
  visibility,
289
291
  });
292
+ /** The `/internal/connector-attachment-stream` metadata header (#2498): `meta`, plus the body's declared size. */
293
+ const connectorAttachmentStreamMeta = connectorAttachmentMeta.extend({
294
+ size: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
295
+ });
296
+ /**
297
+ * Read a multipart body into a `FormData`, holding what is buffered to `limit` bytes (#2538).
298
+ * The count is of bytes as they arrive, so a body with no `Content-Length` (chunked) or one that
299
+ * understates it stops at the bound all the same: the read is cancelled and `null` comes back,
300
+ * never a partial form. A request with no body is parsed as it always was.
301
+ */
302
+ async function readFormWithin(req, limit) {
303
+ if (req.body === null)
304
+ return req.formData();
305
+ let seen = 0;
306
+ let over = false;
307
+ const counted = req.body.pipeThrough(new TransformStream({
308
+ transform(chunk, controller) {
309
+ seen += chunk.byteLength;
310
+ if (seen > limit) {
311
+ over = true;
312
+ controller.error(new Error('multipart body over its bound'));
313
+ return;
314
+ }
315
+ controller.enqueue(chunk);
316
+ },
317
+ }));
318
+ try {
319
+ return await new Response(counted, { headers: { 'content-type': req.headers.get('content-type') ?? '' } }).formData();
320
+ }
321
+ catch (e) {
322
+ if (over)
323
+ return null;
324
+ throw e;
325
+ }
326
+ }
327
+ /**
328
+ * `JSON.stringify` whose output is printable ASCII, so it can ride a header whatever the
329
+ * strings in it hold (#2519). JSON already escapes a control character or a lone surrogate;
330
+ * what is left outside 0x20–0x7e (a non-ASCII character, DEL) becomes a `\uXXXX` escape, which
331
+ * `JSON.parse` reads back to the same value. The result is still plain JSON, so a reader that
332
+ * predates this parses it unchanged.
333
+ */
334
+ function asciiJson(value) {
335
+ return JSON.stringify(value).replace(/[^\x20-\x7e]/g, (ch) => `\\u${ch.charCodeAt(0).toString(16).padStart(4, '0')}`);
336
+ }
337
+ /**
338
+ * The most bytes the record header of a read-back may carry before its strings are cut (#2519). A
339
+ * record made under `ATTACHMENT_FIELD_MAX` is under 8.2 KiB however it is escaped, so only a row
340
+ * stored before those bounds can reach it, and a server's header limit starts at 16 KiB.
341
+ */
342
+ const CONNECTOR_ATTACHMENT_RECORD_MAX_BYTES = 10 * 1024;
343
+ /** `text` cut to at most `max` UTF-16 units on a code-point boundary, the cut marked with `…`. */
344
+ function cutTo(text, max) {
345
+ if (text.length <= max)
346
+ return text;
347
+ let kept = '';
348
+ for (const point of text) {
349
+ if (kept.length + point.length > max - 1)
350
+ break;
351
+ kept += point;
352
+ }
353
+ return `${kept}\u2026`;
354
+ }
355
+ /**
356
+ * The record as the read-back header carries it: {@link asciiJson}, and, when a row stored before
357
+ * the upload bounds makes that too large, every string the header holds brought to its bound. A
358
+ * header past the server's limit would make that file unreadable. A cut name or id ends in `…` so
359
+ * it does not read as the stored one; a content type, which a cut would change the meaning of, is
360
+ * replaced by `application/octet-stream`. The bytes, size, sha256, visibility and dates are exact,
361
+ * and a record within the bounds is never touched.
362
+ */
363
+ function recordHeader(record) {
364
+ const whole = asciiJson(record);
365
+ if (whole.length <= CONNECTOR_ATTACHMENT_RECORD_MAX_BYTES)
366
+ return whole;
367
+ const max = ATTACHMENT_FIELD_MAX;
368
+ return asciiJson({
369
+ ...record,
370
+ entity: {
371
+ entityType: cutTo(record.entity.entityType, max.entityType),
372
+ entityId: cutTo(record.entity.entityId, max.entityId),
373
+ },
374
+ filename: cutTo(record.filename, max.filename),
375
+ contentType: record.contentType.length <= max.contentType ? record.contentType : 'application/octet-stream',
376
+ createdBy: cutTo(record.createdBy, max.createdBy),
377
+ });
378
+ }
379
+ /**
380
+ * A content type a response header accepts, else `application/octet-stream` (#2519). Both upload
381
+ * routes store any non-empty string, and a header refuses anything outside printable ASCII or
382
+ * with edge whitespace, and a stored row can hold one of any length, so over the upload bound it
383
+ * falls back too. The record header carries the stored type (itself cut to the bound, see
384
+ * {@link recordHeader}).
385
+ */
386
+ function headerSafeContentType(contentType) {
387
+ // Bounded like the upload: a row stored before the bound can hold a type of any length.
388
+ if (contentType.length > ATTACHMENT_FIELD_MAX.contentType)
389
+ return 'application/octet-stream';
390
+ return /^[\x21-\x7e]([\x20-\x7e]*[\x21-\x7e])?$/.test(contentType) ? contentType : 'application/octet-stream';
391
+ }
290
392
  /** `/internal/system-switch` body (#1666) — the far end of `revokeFromSystem` / `restoreToSystem`. */
291
393
  const systemSwitchBody = z.object({
292
394
  scopeId: scopeIdOf,
@@ -415,6 +517,11 @@ export function mountPlatformSurface(app, deps) {
415
517
  app.post('/internal/restore', async (c) => {
416
518
  const body = restoreBody.parse(await c.req.json());
417
519
  const host = deps.hostFor(c.env);
520
+ // #2447: the role set the repair below defines, judged before the dump is imported, against the
521
+ // dump's own roles and seats, which are what the scope will store.
522
+ const roleRefusal = (await host.roleSetRefusalLocal?.(body.scopeId, deps.roles, { tenantId: body.tenantId, tables: body.tables })) ?? null;
523
+ if (roleRefusal)
524
+ throw new HTTPException(409, { message: `scope ${body.scopeId}: the vertical's roles cannot be defined here: ${roleRefusal}. Nothing was restored.` });
418
525
  const result = await host.restoreScopeLocal(body.scopeId, body.tables, {
419
526
  switchedOff: body.switchedOff,
420
527
  tenantHeld: body.tenantHeld,
@@ -457,6 +564,12 @@ export function mountPlatformSurface(app, deps) {
457
564
  if (!host.restoreStagedScopeLocal)
458
565
  return refuseStatus(c, 501, 'this deployment restores a scope only whole (#2450) — redeploy it');
459
566
  const body = restoreStagedBody.parse(await c.req.json());
567
+ // #2447: the role set the repair below defines, judged before the dump is imported. The staged
568
+ // pages are already in the scope, not in hand, so the set is judged alone here; `projectRolesLocal`
569
+ // judges again after the import, against them.
570
+ const roleRefusal = (await host.roleSetRefusalLocal?.(body.scopeId, deps.roles)) ?? null;
571
+ if (roleRefusal)
572
+ throw new HTTPException(409, { message: `scope ${body.scopeId}: the vertical's roles cannot be defined here: ${roleRefusal}. Nothing was restored.` });
460
573
  const result = await host.restoreStagedScopeLocal(body.scopeId, body.stageId, {
461
574
  switchedOff: body.switchedOff,
462
575
  tenantHeld: body.tenantHeld,
@@ -678,6 +791,15 @@ export function mountPlatformSurface(app, deps) {
678
791
  // #1236: when one scope's migrations actually ran — the schema-change annotation
679
792
  // release health reads. Metadata only; no scope bytes cross the boundary.
680
793
  app.get('/internal/migrations', async (c) => c.json(await deps.hostFor(c.env).appliedMigrationsLocal(scopeIdOf.parse(c.req.query('scopeId')))));
794
+ // #2446: the roles this scope stores for the tenant and the role keys seated there — what this
795
+ // deployment's reconcile judges a role set against. A promote reads it to judge the incoming
796
+ // version's set before it moves the scope. Read-only; it names role keys, never a principal.
797
+ app.get('/internal/role-state', async (c) => {
798
+ const host = deps.hostFor(c.env);
799
+ if (!host.roleStateLocal)
800
+ return refuseStatus(c, 501, 'this deployment cannot report its role state (#2446): its scope host predates roleStateLocal — upgrade the adapter beside vertical-host');
801
+ return c.json(await host.roleStateLocal(tenantIdOf.parse(c.req.query('tenantId')), scopeIdOf.parse(c.req.query('scopeId'))));
802
+ });
681
803
  // #1524: one scope's database size, for the console's on-demand storage reading.
682
804
  // Metadata only, and no scope bytes cross. The read wakes the scope's DO, which is why
683
805
  // the platform asks only when a person opens the card and pages what it asks for.
@@ -689,6 +811,17 @@ export function mountPlatformSurface(app, deps) {
689
811
  }
690
812
  return c.json({ bytes: await host.databaseSizeLocal(scope) });
691
813
  });
814
+ // #2501: what one scope's attachment rows sum to, for the storage gauge. Metadata only, like the
815
+ // database size: one number crosses, no attachment does. Behind the one gate above, as every
816
+ // route here is.
817
+ app.get('/internal/attachment-size', async (c) => {
818
+ const scope = scopeIdOf.parse(c.req.query('scopeId'));
819
+ const host = deps.hostFor(c.env);
820
+ if (!host.attachmentSizeLocal) {
821
+ return refuseStatus(c, 501, 'this deployment cannot read attachment bytes (#2501). Redeploy it');
822
+ }
823
+ return c.json({ bytes: await host.attachmentSizeLocal(scope) });
824
+ });
692
825
  // #2314: one orphan-attachment pass over a scope this deployment holds. The platform calls it
693
826
  // only for the deployment that SERVES the scope, after reading the directory and the copy ledger
694
827
  // itself, which a script holding the scope cannot do: `copiesSettled` is that word, and the body
@@ -903,16 +1036,37 @@ export function mountPlatformSurface(app, deps) {
903
1036
  // The bytes leg (#574): multipart, because provider artifacts (a sealed signed PDF)
904
1037
  // cannot ride a JSON invoke. `meta` is a JSON string field, `body` the raw blob.
905
1038
  app.post('/internal/connector-attachment', async (c) => {
906
- const form = await c.req.formData();
1039
+ // This route buffers the body (and before the write gate, since the gate needs the parsed
1040
+ // `meta`), so it is held to the BUFFERED bound, not the stream route's, before and while it is
1041
+ // read (#2538). A `Content-Length` over the bound plus the multipart envelope is refused unread;
1042
+ // a body without one, or that understates it, is cut off at the same count; and the file part is
1043
+ // judged on its own size once parsed. The first two name the request body, the last the file.
1044
+ const ceiling = CONNECTOR_ATTACHMENT_BUFFERED_MAX_BYTES + CONNECTOR_ATTACHMENT_MULTIPART_ENVELOPE_BYTES;
1045
+ const declaredLength = c.req.header('content-length');
1046
+ const length = declaredLength === undefined ? Number.NaN : Number(declaredLength);
1047
+ if (Number.isFinite(length) && length > ceiling) {
1048
+ return refuseStatus(c, 413, connectorAttachmentBodyRefusal(length));
1049
+ }
1050
+ const form = await readFormWithin(c.req.raw, ceiling);
1051
+ if (form === null) {
1052
+ return refuseStatus(c, 413, connectorAttachmentBodyRefusal());
1053
+ }
907
1054
  const metaRaw = form.get('meta');
908
1055
  if (typeof metaRaw !== 'string') {
909
1056
  throw new HTTPException(400, { message: 'connector-attachment needs a `meta` JSON field' });
910
1057
  }
1058
+ const metaBytes = connectorAttachmentMetaBytes(metaRaw);
1059
+ if (metaBytes > CONNECTOR_ATTACHMENT_META_MAX_BYTES) {
1060
+ return refuse(c, 'validation_failed', connectorAttachmentMetaRefusal(metaBytes));
1061
+ }
911
1062
  const meta = connectorAttachmentMeta.parse(JSON.parse(metaRaw));
912
1063
  const blob = form.get('body');
913
1064
  if (blob === null || typeof blob === 'string') {
914
1065
  throw new HTTPException(400, { message: 'connector-attachment needs a `body` file field' });
915
1066
  }
1067
+ if (blob.size > CONNECTOR_ATTACHMENT_BUFFERED_MAX_BYTES) {
1068
+ return refuseStatus(c, 413, connectorAttachmentBufferedRefusal(blob.size));
1069
+ }
916
1070
  const record = await deps.hostFor(c.env).connectorAttachmentUploadLocal(meta.connectionId, meta.tenantId, meta.scopeId, {
917
1071
  entity: meta.entity,
918
1072
  filename: meta.filename,
@@ -922,6 +1076,40 @@ export function mountPlatformSurface(app, deps) {
922
1076
  });
923
1077
  return c.json(record, 201);
924
1078
  });
1079
+ // The bytes leg, streamed (#2498): the request body is the file, handed to the upload as a
1080
+ // sized stream so it reaches the bucket as it arrives and is never held here. The metadata
1081
+ // rides a header, the multipart `meta` plus the `size` the body declares; a body that carries
1082
+ // a different number of bytes lands nothing. Same gate and same far-end check as the route above.
1083
+ app.post('/internal/connector-attachment-stream', async (c) => {
1084
+ const raw = c.req.header(CONNECTOR_ATTACHMENT_META_HEADER);
1085
+ if (raw === undefined) {
1086
+ throw new HTTPException(400, { message: `connector-attachment-stream needs a ${CONNECTOR_ATTACHMENT_META_HEADER} header` });
1087
+ }
1088
+ const { size: _declared, ...described } = z.record(z.string(), z.unknown()).parse(JSON.parse(decodeURIComponent(raw)));
1089
+ // Counted without `size`, as the multipart route's `meta` is, so one name passes or fails alike.
1090
+ const metaBytes = connectorAttachmentMetaBytes(JSON.stringify(described));
1091
+ if (metaBytes > CONNECTOR_ATTACHMENT_META_MAX_BYTES) {
1092
+ return refuse(c, 'validation_failed', connectorAttachmentMetaRefusal(metaBytes));
1093
+ }
1094
+ const meta = connectorAttachmentStreamMeta.parse({ ...described, size: _declared });
1095
+ // The declared size is judged before the body is touched (#2516). The bytes are held to it as
1096
+ // they flow (`witnessedStream` errors on one more than declared), so this is the bound on all of them.
1097
+ if (meta.size > CONNECTOR_ATTACHMENT_STREAM_MAX_BYTES) {
1098
+ return refuseStatus(c, 413, connectorAttachmentSizeRefusal(meta.size));
1099
+ }
1100
+ const stream = c.req.raw.body;
1101
+ if (stream === null && meta.size > 0) {
1102
+ throw new HTTPException(400, { message: `connector-attachment-stream declared ${meta.size} bytes and sent no body` });
1103
+ }
1104
+ const record = await deps.hostFor(c.env).connectorAttachmentUploadLocal(meta.connectionId, meta.tenantId, meta.scopeId, {
1105
+ entity: meta.entity,
1106
+ filename: meta.filename,
1107
+ contentType: meta.contentType,
1108
+ visibility: meta.visibility,
1109
+ body: stream === null ? new Uint8Array(0) : { stream, length: meta.size },
1110
+ });
1111
+ return c.json(record, 201);
1112
+ });
925
1113
  // The bytes leg, OUTBOUND (#711): the platform runs this vertical's signing
926
1114
  // connector and has to send the document the vertical rendered — but the metadata
927
1115
  // row is in this deployment's ScopeDO and the object in this deployment's R2, so
@@ -943,9 +1131,18 @@ export function mountPlatformSurface(app, deps) {
943
1131
  .connectorAttachmentOpenLocal(connection, t, s, c.req.param('attachmentId'), c.req.query('eventId'));
944
1132
  if (!opened)
945
1133
  return c.body(null, 404);
1134
+ // Both values are caller-supplied strings (#2519): a filename or content type outside
1135
+ // Latin-1 would make `Headers` throw and leave a stored file unreadable. The record stays
1136
+ // plain JSON, which every reader already parses; the type the client reads is the record's.
1137
+ // A stored row that does not parse is the deployment's fault, not the caller's: 500, not the
1138
+ // 400 a parse failure on the request would be.
1139
+ const record = attachmentRecord.safeParse(opened.record);
1140
+ if (!record.success) {
1141
+ throw new HTTPException(500, { message: 'connector-attachment: the stored attachment record is malformed' });
1142
+ }
946
1143
  return c.body(opened.body, 200, {
947
- 'content-type': opened.contentType,
948
- [CONNECTOR_ATTACHMENT_RECORD_HEADER]: JSON.stringify(opened.record),
1144
+ 'content-type': headerSafeContentType(opened.contentType),
1145
+ [CONNECTOR_ATTACHMENT_RECORD_HEADER]: recordHeader(record.data),
949
1146
  });
950
1147
  });
951
1148
  // Grant delivery (#574): the scope-level `connection:<id>` tuple the two verbs above
@@ -1344,29 +1541,6 @@ export function mountPlatformSurface(app, deps) {
1344
1541
  }
1345
1542
  return c.json(ownerClaimLink.parse(link), 201);
1346
1543
  });
1347
- // The owner HAND-OVER (#1665), on the platform's instruction, which audits it. Four writes in
1348
- // two Durable Objects, with no transaction spanning them, so the ORDER is the contract:
1349
- //
1350
- // 1. the record: the identity directory moves `owner_of_record` from→to and opens the
1351
- // hand-over. Every refusal is decided here or in the role read just before it, before
1352
- // anything is written;
1353
- // 2. the seat: `to` is granted the owner role at scope level;
1354
- // 3. the revoke: `from`'s owner role is tombstoned;
1355
- // 4. the close: the directory marks this hand-over done.
1356
- //
1357
- // `to` is seated before `from` is revoked, so the scope never has zero live owner seats. The
1358
- // record moves FIRST so that a failure part-way never leaves an extra seat that nothing
1359
- // recorded. Stopped after 1: the record names `to` while `from` still holds the seat, and a
1360
- // lockout repair in that window re-seats `to`, the owner the caller asked for. Stopped after
1361
- // 2 or 3: both may be seated, the record names `to`. Re-sending the same hand-over reads
1362
- // `already` at step 1 and runs 2–4 again, which are idempotent; after step 4 it reads `done`
1363
- // and writes NOTHING, so a stale retry cannot re-seat or revoke over what the scope decided
1364
- // since. There is always exactly one owner of record. A hand-over that can no longer finish
1365
- // (`to` removed after step 1: its resend is `wedged`, every other one `in-flight`) is closed by
1366
- // `abandon: true`, which seats and revokes nothing.
1367
- //
1368
- // `from` loses the owner ROLE at scope level only: its login stays bound and any other grant
1369
- // it holds stays, so a former owner who should keep working is re-invited or re-granted.
1370
1544
  app.post('/internal/owner-transfer', async (c) => {
1371
1545
  const body = ownerTransferBody.parse(await c.req.json());
1372
1546
  const ref = { tenantId: body.tenantId, scopeId: body.scopeId };
@@ -1402,14 +1576,32 @@ export function mountPlatformSurface(app, deps) {
1402
1576
  if (!deps.transferOwner || !deps.completeOwnerTransfer) {
1403
1577
  throw new HTTPException(501, { message: 'this vertical keeps no owner seat' });
1404
1578
  }
1405
- const host = deps.hostFor(c.env);
1406
- if (!host.assignScopeRole || !host.revokeScopeRole || !host.hasScopeRoleLocal) {
1579
+ const served = deps.hostFor(c.env);
1580
+ if (!served.assignScopeRole || !served.revokeScopeRole || !served.hasScopeRoleLocal) {
1407
1581
  return refuseStatus(c, 501, 'this deployment cannot seat a new owner (#1665) — redeploy it. Nothing was moved.');
1408
1582
  }
1583
+ // #2531: a scope host without `scopeRoleRefusal` predates the person's door (#2447, the same
1584
+ // release), so it would ignore the `'person'` below and seat through the platform's door. Fail
1585
+ // closed rather than seat unjudged: the pair is upgraded together.
1586
+ if (!served.scopeRoleRefusal) {
1587
+ return refuseStatus(c, 501, "this deployment's scope host cannot judge the owner seat as a person's (#2447) — upgrade the adapter beside " +
1588
+ '@substrat-run/vertical-host and redeploy. Nothing was moved.');
1589
+ }
1590
+ const host = served;
1409
1591
  // A bound login is not enough: `to` must still hold a role here. A member removed by
1410
1592
  // revoking their role keeps the binding, and handing them the scope would seat someone
1411
1593
  // the scope already let go. Read before step 1 and decided by the directory, which judges
1412
1594
  // an open hand-over first so a refusal names the real state; a refusal writes nothing.
1595
+ // #2447: the successor is a person, so the owner role is seated through the person's door — asked
1596
+ // before the record moves, so a refusal (a role carrying a key reserved to a system principal)
1597
+ // writes nothing and the owner of record stays who it was. A 409, the status the platform audits
1598
+ // as "refused, nothing written". When the record already names `to` (a finished hand-over's
1599
+ // repeat, or a resend of an open one), the record's own answer decides first, below.
1600
+ const seatRefusal = await host.scopeRoleRefusal(body.scopeId, deps.ownerRoleKey, 'person');
1601
+ const recorded = seatRefusal && deps.resolveOwner ? await deps.resolveOwner(c.env, ref) : null;
1602
+ if (seatRefusal && recorded !== body.to) {
1603
+ throw new HTTPException(409, { message: `scope ${body.scopeId}: the owner role cannot be handed to a person: ${seatRefusal}. Nothing was moved.` });
1604
+ }
1413
1605
  const toHoldsRole = await host.hasScopeRoleLocal(body.tenantId, body.scopeId, body.to);
1414
1606
  const record = ownerTransferRecord.parse(await deps.transferOwner(c.env, ref, { ...pair, toHoldsRole }));
1415
1607
  if (record.outcome === 'refused') {
@@ -1423,7 +1615,17 @@ export function mountPlatformSurface(app, deps) {
1423
1615
  const answer = { scopeId: body.scopeId, from: body.from, owner: body.to, outcome: record.outcome };
1424
1616
  if (record.outcome === 'done')
1425
1617
  return c.json({ ...answer, fromRevoked: false });
1426
- await host.assignScopeRole(body.scopeId, body.to, deps.ownerRoleKey);
1618
+ if (seatRefusal) {
1619
+ // The record names `to` already and the seat is refused, so nothing more is written. An open
1620
+ // hand-over's resend is a refusal (409); a record this call moved (a race with the read above)
1621
+ // is not "nothing written", so it is a 500, which the platform audits as `failed`.
1622
+ const message = `scope ${body.scopeId}: the owner record names ${body.to}, but the owner role cannot be seated in a person: ` +
1623
+ `${seatRefusal}. Nothing was seated or revoked. The hand-over stays open and finishes on a resend once the owner ` +
1624
+ `role can be seated in a person again (a release whose owner role carries no key reserved to a system principal). ` +
1625
+ `It cannot be abandoned while ${body.to} still holds a role here; take that role back first to abandon it.`;
1626
+ throw new HTTPException(record.outcome === 'already' ? 409 : 500, { message });
1627
+ }
1628
+ await host.assignScopeRole(body.scopeId, body.to, deps.ownerRoleKey, 'person');
1427
1629
  const fromRevoked = await host.revokeScopeRole(body.scopeId, body.from, deps.ownerRoleKey);
1428
1630
  if (!(await deps.completeOwnerTransfer(c.env, ref, pair))) {
1429
1631
  // Seated and revoked, but the hand-over was no longer the open one to close: it was