@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.
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +41 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +235 -33
- package/dist/index.js.map +1 -1
- package/dist/invocation-log.d.ts +58 -1
- package/dist/invocation-log.d.ts.map +1 -1
- package/dist/invocation-log.js +24 -0
- package/dist/invocation-log.js.map +1 -1
- package/dist/mcp.d.ts +0 -72
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +88 -0
- package/dist/mcp.js.map +1 -1
- package/dist/model.d.ts +47 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +30 -4
- package/dist/model.js.map +1 -1
- package/package.json +7 -7
package/dist/errors.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,SAAS,GAGV,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
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
|
-
|
|
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
|
|
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. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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
|
-
|
|
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]:
|
|
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
|
|
1406
|
-
if (!
|
|
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
|
-
|
|
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
|