@substrat-run/control-plane-api 0.152.0 → 0.154.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.
@@ -0,0 +1,118 @@
1
+ import { PLATFORM_SECRET_HEADER, SOCIAL_RELAY_CONFIG_KEY, SOCIAL_RELAY_SECRET_NEEDED, SOCIAL_RELAY_VERTICALS, relayCallbackPath, socialRelayProviders, } from '@substrat-run/contracts';
2
+ import { ControlPlaneError } from '@substrat-run/control-plane-client';
3
+ /** Is this vertical one the reconciler registers at the relay? Exact slugs only. */
4
+ export function isSocialRelayVertical(vertical) {
5
+ return vertical !== null && vertical !== undefined && SOCIAL_RELAY_VERTICALS.includes(vertical);
6
+ }
7
+ /** The platform's key for an install's relay client. */
8
+ export function relayClientRef(scopeId) {
9
+ return `scope:${scopeId}`;
10
+ }
11
+ /** Every redirect URI an install needs: each live provider's callback on each active hostname. */
12
+ export function relayRedirectUris(hostnames, providers) {
13
+ const hosts = [...new Set(hostnames.map((h) => h.toLowerCase()))].sort();
14
+ return hosts.flatMap((host) => providers.map((p) => `https://${host}${relayCallbackPath(p.id)}`));
15
+ }
16
+ export async function reconcileSocialRelay(relay, input) {
17
+ const origin = relay.origin.replace(/\/+$/, '');
18
+ const { providers } = socialRelayProviders.parse(await relayJson(relay, 'GET', `${origin}/providers`));
19
+ if (providers.length === 0)
20
+ return { status: 'skipped', reason: 'the relay serves no provider' };
21
+ if (input.hostnames.length === 0)
22
+ return { status: 'skipped', reason: 'the install has no active hostname' };
23
+ const redirectUris = relayRedirectUris(input.hostnames, providers);
24
+ const ensured = (await relayJson(relay, 'PUT', `${origin}/internal/clients/by-ref/${encodeURIComponent(relayClientRef(input.scopeId))}`, { name: `${input.tenantId}/${input.scopeId}`, redirectUris }));
25
+ const deliver = (clientSecret) => {
26
+ const value = {
27
+ clientId: ensured.clientId,
28
+ ...(clientSecret ? { clientSecret } : {}),
29
+ providers,
30
+ };
31
+ return input.configure([{ key: SOCIAL_RELAY_CONFIG_KEY, value: JSON.stringify(value) }]);
32
+ };
33
+ let rotated = false;
34
+ try {
35
+ await deliver(ensured.clientSecret);
36
+ }
37
+ catch (e) {
38
+ if (!(e instanceof ControlPlaneError && e.status === 409 && e.message === SOCIAL_RELAY_SECRET_NEEDED))
39
+ throw e;
40
+ const { clientSecret } = (await relayJson(relay, 'POST', `${origin}/internal/clients/${encodeURIComponent(ensured.clientId)}/secret`));
41
+ await deliver(clientSecret);
42
+ rotated = true;
43
+ }
44
+ return {
45
+ status: 'delivered',
46
+ clientId: ensured.clientId,
47
+ created: ensured.created,
48
+ rotated,
49
+ disabled: ensured.disabled,
50
+ providers: providers.map((p) => p.id),
51
+ hostnames: [...new Set(input.hostnames.map((h) => h.toLowerCase()))].sort(),
52
+ };
53
+ }
54
+ /**
55
+ * The hostnames an install may have a relay callback on: every active PLATFORM hostname, and a
56
+ * custom domain only once Cloudflare itself reports it verified, asked now.
57
+ *
58
+ * Not the row's own `status` alone: a tenant may set its hostname's status by hand
59
+ * (`PATCH /hostnames/:h/status`), and a callback on a domain nobody verified is a way to run the
60
+ * platform's shared sign-in — the platform's name on the consent screen — on a site that is not
61
+ * on the platform at all. A platform hostname is the platform's by construction. Without a
62
+ * provisioner (dev, self-host) no custom domain is verified, so none is registered.
63
+ */
64
+ export async function relayHostnames(rows, verify) {
65
+ const out = [];
66
+ for (const row of rows) {
67
+ if (row.status !== 'active')
68
+ continue;
69
+ if (!verify.isCustom(row.hostname)) {
70
+ out.push(row.hostname);
71
+ continue;
72
+ }
73
+ if (!verify.provisioner || !row.customHostnameId)
74
+ continue;
75
+ const issuance = await verify.provisioner.check(row.customHostnameId).catch(() => null);
76
+ if (issuance?.status === 'active')
77
+ out.push(row.hostname);
78
+ }
79
+ return out;
80
+ }
81
+ /**
82
+ * Reconcile one install named by its ids — what every trigger calls. Skips, never throws for, an
83
+ * install the relay is not for (unknown, not an Auth Server, or nothing deployed to deliver to);
84
+ * a relay or delivery failure does throw, so the caller can report it.
85
+ */
86
+ export async function reconcileScopeSocialRelay(deps, tenantId, scopeId) {
87
+ const scope = await deps.getScope(tenantId, scopeId);
88
+ if (!scope)
89
+ return { status: 'skipped', reason: 'unknown scope' };
90
+ if (!isSocialRelayVertical(scope.vertical))
91
+ return { status: 'skipped', reason: 'not an Auth Server install' };
92
+ const deployment = await deps.deploymentOf(scope);
93
+ if (!deployment)
94
+ return { status: 'skipped', reason: 'no deployment to deliver to' };
95
+ return reconcileSocialRelay(deps.relay, {
96
+ tenantId,
97
+ scopeId,
98
+ hostnames: await deps.activeHostnames(scopeId),
99
+ configure: (entries) => deployment.configureInstance({ tenantId, scopeId, entries }),
100
+ });
101
+ }
102
+ /** One call to the relay, refused loudly: a reconcile that half-ran must say which half. */
103
+ async function relayJson(relay, method, url, body) {
104
+ const res = await relay.fetch(url, {
105
+ method,
106
+ headers: {
107
+ ...(body === undefined ? {} : { 'content-type': 'application/json' }),
108
+ ...(url.includes('/internal/') ? { [PLATFORM_SECRET_HEADER]: relay.platformSecret } : {}),
109
+ },
110
+ ...(body === undefined ? {} : { body: JSON.stringify(body) }),
111
+ });
112
+ if (!res.ok) {
113
+ const detail = (await res.text().catch(() => '')).slice(0, 300);
114
+ throw new Error(`social relay refused ${method} ${new URL(url).pathname} (${res.status}): ${detail}`);
115
+ }
116
+ return res.json();
117
+ }
118
+ //# sourceMappingURL=social-relay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social-relay.js","sourceRoot":"","sources":["../src/social-relay.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { EntityGrantShape, AttachmentRecord, ScopeLineage, ConnectionId, EntityRef, EntitlementGrant, ModuleId, PermissionKey, PlatformActorId, PlatformRequestEntry, PlatformRequestFilter, PlatformRequestId, PlatformRequestStatus, PlatformRequestFailure, PlatformOutcomeEvent, MintedPreviewClient, PreviewClientCheck, PreviewClientClaim, PreviewClientMint, PreviewClientRetire, PrincipalId, RetiredPreviewClients, PeerGrantsEntry, PeerSwitchOutcome, SystemSwitchOutcome, SystemScheduleEntry, ConnectionGrantRecord, ProjectedConnectionGrant, ProjectedConnectionKey, ProjectedIdentityLink, OwnerSeat, OwnerClaimLink, OwnerTransferResult, QueryScopeInput, ReadScopeTableInput, EntityHistoryInput, EventFacetInput, EventCauseInput, EventEffectsInput, EffectsTree, InvocationEventsInput, InvocationEvents, DeadLettersInput, DeadLetter, LifecycleFlowInput, LifecycleFlowResult, OperationSeriesInput, OperationSeriesResult, CauseChain, EventFacetResult, HistoryEntry, Page, ScopeDumpTable, ScopeId, ScopeQueryResult, DenialFilter, DenialSummary, PermissionDenial, ScopeTable, ScopeTablePage, TenantId, TenantStoreHandle, Visibility } from '@substrat-run/contracts';
1
+ import type { EntityGrantShape, AttachmentRecord, ScopeLineage, ConnectionId, EntityRef, EntitlementGrant, ModuleId, PermissionKey, PlatformActorId, PlatformRequestEntry, PlatformRequestFilter, PlatformRequestId, PlatformRequestStatus, PlatformRequestFailure, PlatformOutcomeEvent, MintedPreviewClient, PreviewClientCheck, PreviewClientClaim, PreviewClientMint, PreviewClientRetire, PrincipalId, RetiredPreviewClients, PeerGrantsEntry, PeerSwitchOutcome, SystemSwitchOutcome, SystemScheduleEntry, ConnectionGrantRecord, ProjectedConnectionGrant, ProjectedConnectionKey, ProjectedIdentityLink, OwnerSeat, OwnerClaimLink, OwnerTransferResult, QueryScopeInput, ReadScopeTableInput, EntityHistoryInput, EventFacetInput, EventCauseInput, EventEffectsInput, EffectsTree, InvocationEventsInput, InvocationEvents, DeadLettersInput, DeadLetter, LifecycleFlowInput, LifecycleFlowResult, OperationSeriesInput, OperationSeriesResult, CauseChain, EventFacetResult, HistoryEntry, Page, ScopeDumpTable, ScopeId, ScopeQueryResult, DenialFilter, DenialSummary, PermissionDenial, ScopeTable, ScopeTablePage, ScopeDumpPage, TenantId, TenantStoreHandle, Visibility } from '@substrat-run/contracts';
2
2
  import { type CapabilityFilter, type CapabilityPage, type CapabilityRecord, type CapabilityRevokeRequest, type MemberInviteLink, type MemberRemoval, type ScopeMembers, type LifecycleDelivery, type ScopeLifecycle, type SwitchedOffInUnit, type ImportCursorMoveAt, type ImportCursorMoved, type ExportReadInput, type ExportedBatch, type ImportBatch, type ImportResult, type ImportState, type VerticalCaller } from '@substrat-run/contracts';
3
3
  import type { CopyRestoreFence, KeptCopy, LoadMarker, OpenedAttachment, OrphanSweepReport, SubjectRedactionCounts, UndrainedEvents } from '@substrat-run/kernel';
4
4
  import { ControlPlaneError } from '@substrat-run/control-plane-client';
@@ -668,7 +668,9 @@ export declare class VerticalClient {
668
668
  * but no role definitions, and without the repair every check denies while /me
669
669
  * still names the role. A vertical that predates the field ignores it.
670
670
  */
671
- restoreScope(tenantId: TenantId, scopeId: ScopeId, tables: ScopeDumpTable[],
671
+ restoreScope(tenantId: TenantId, scopeId: ScopeId,
672
+ /** The dump, or (#2450) the stage it was loaded into here a page at a time (`transferScope`). */
673
+ tables: ScopeDumpTable[] | StagedDump,
672
674
  /** #1742: the recorded-off modules, switched off on THIS scope in the restore's own event.
673
675
  * #1869: `sourceScopeId`, the scope the tables were captured from, so the vertical re-points
674
676
  * exactly that scope's grants, and `exact` when the platform exported them itself. A
@@ -696,6 +698,26 @@ export declare class VerticalClient {
696
698
  tables: number;
697
699
  switchedOff?: SwitchedOffInUnit[];
698
700
  }>;
701
+ /**
702
+ * One page of the export (#2450): `exportScopeStamped` a page at a time with `stamp`, and
703
+ * `exportScope` without. `'predates'` from a deployment built before the paged verbs (a 404, or
704
+ * its own 501), which exports whole.
705
+ */
706
+ exportScopePage(scopeId: ScopeId, cursor: string | null, opts?: {
707
+ stamp?: boolean;
708
+ }): Promise<ScopeDumpPage | 'predates'>;
709
+ /**
710
+ * Stage one page of a dump into `scopeId` here (#2450), for a `restoreScope` of the stage.
711
+ * `'predates'` from a deployment that restores only whole. A page already staged answers
712
+ * `staged: false`, so a retry is harmless.
713
+ */
714
+ stageScopePage(scopeId: ScopeId, stageId: string, seq: number, tables: ScopeDumpTable[]): Promise<{
715
+ staged: boolean;
716
+ } | 'predates'>;
717
+ /** Drop a stage a carry gave up on (#2450). Best effort: the next stage replaces it anyway. */
718
+ discardStagedScope(scopeId: ScopeId, stageId: string): Promise<void>;
719
+ /** A platform-authenticated JSON POST, its response unread, for `routeAnswer`. */
720
+ private postRaw;
699
721
  /**
700
722
  * Wipe the copy a carry left in this deployment (#1722), only if nothing was loaded into the
701
723
  * scope since `expectLoadStamp` (null: a store no load has stamped). `wiped: false` is the
@@ -1003,4 +1025,45 @@ export declare class VerticalClient {
1003
1025
  /** `getInternal`'s request, answering the response itself, for a caller that reads a header too. */
1004
1026
  private getInternalResponse;
1005
1027
  }
1028
+ /** #2450: a dump loaded into a destination's stage a page at a time, named instead of carried. */
1029
+ export type StagedDump = {
1030
+ readonly stageId: string;
1031
+ };
1032
+ /** What `transferScope` moved, and what the export read: as `exportScopeStamped` answers it. */
1033
+ export interface TransferredScope {
1034
+ /** The whole dump, or the stage it is waiting in at the destination (`restoreScope` takes both). */
1035
+ dump: ScopeDumpTable[] | StagedDump;
1036
+ loadStamp: string | null;
1037
+ revision: string | null;
1038
+ /** The dump's `_substrat_meta` rows, for `dumpMetaValue`: the one table read beside the move. */
1039
+ meta: ScopeDumpTable[];
1040
+ }
1041
+ /** How many times a copy is restarted because the source took a write while it was read (#2450). */
1042
+ export declare const TRANSFER_ATTEMPTS = 3;
1043
+ /**
1044
+ * Move a scope's data out of `source` and into `dest`'s stage, a page at a time (#2450), so no
1045
+ * single call carries the whole scope: a Durable Object RPC message holds 32 MiB, and an isolate
1046
+ * 128 MB. Nothing here holds more than one page, and the destination commits from its stage in
1047
+ * `restoreScope`, in the one transaction a whole restore runs.
1048
+ *
1049
+ * A scope that fits in one page, or a source that predates the paged verbs, moves whole, exactly as
1050
+ * before. A destination that predates them gets the pages merged into one dump, which is the old
1051
+ * ceiling, and only there.
1052
+ *
1053
+ * Each page is read in one turn of the source, so it is consistent on its own; the pages are one
1054
+ * consistent read only while the source's write revision stays where the first page read it. When
1055
+ * it moves the copy starts again, up to `TRANSFER_ATTEMPTS` times, and is then refused (409) with
1056
+ * nothing moved: a carry's later fences assume a copy that was true at one moment.
1057
+ */
1058
+ export declare function transferScope(source: Pick<VerticalClient, 'exportScope' | 'exportScopeStamped' | 'exportScopePage'>, dest: Pick<VerticalClient, 'stageScopePage' | 'discardStagedScope'>,
1059
+ /** The scope read at `source`, and (a fork, #2450) the scope `dest` stages into, when another. */
1060
+ scope: {
1061
+ from: ScopeId;
1062
+ to?: ScopeId;
1063
+ }, opts?: {
1064
+ retry?: <T>(run: () => Promise<T>) => Promise<T>;
1065
+ attempts?: number;
1066
+ /** A carry's export: the source mints its load stamp (`exportScopeStamped`). A fork's is not. */
1067
+ stamp?: boolean;
1068
+ }): Promise<TransferredScope>;
1006
1069
  //# sourceMappingURL=vertical-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertical-client.d.ts","sourceRoot":"","sources":["../src/vertical-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertical-client.d.ts","sourceRoot":"","sources":["../src/vertical-client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from '@substrat-run/contracts';
2
- import { PREVIEW_CLIENT_PATH, attachmentRecord, projectedConnectionGrant, denialFilterParams, capabilityFilterParams, capabilityPage, capabilityRevokeAnswer, capabilityRevokeRequest, mintedPreviewClient, ownerSeat, ownerClaimLink, memberInviteLink, memberRemoval, scopeMembers, ownerTransferResult, previewClientClaim, retiredPreviewClients, peerGrantsEntry, peerSwitchOutcome, systemSwitchOutcome, lifecycleDelivery, systemScheduleEntry, switchedOffInUnit, exportedBatch, importResult, importCursorMoved, importState, substratError, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, PLATFORM_SECRET_HEADER, WRITE_REVISION_HEADER, } from '@substrat-run/contracts';
3
- import { undrainedEventsOf } from '@substrat-run/kernel';
2
+ import { PREVIEW_CLIENT_PATH, attachmentRecord, projectedConnectionGrant, denialFilterParams, capabilityFilterParams, capabilityPage, capabilityRevokeAnswer, capabilityRevokeRequest, mintedPreviewClient, ownerSeat, ownerClaimLink, memberInviteLink, memberRemoval, scopeMembers, ownerTransferResult, previewClientClaim, retiredPreviewClients, peerGrantsEntry, peerSwitchOutcome, systemSwitchOutcome, lifecycleDelivery, systemScheduleEntry, switchedOffInUnit, exportedBatch, importResult, importCursorMoved, importState, substratError, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, PLATFORM_SECRET_HEADER, WRITE_REVISION_HEADER, mergeDumpPages, scopeDumpPage, } from '@substrat-run/contracts';
3
+ import { ulid, undrainedEventsOf } from '@substrat-run/kernel';
4
4
  import { ControlPlaneError } from '@substrat-run/control-plane-client';
5
5
  /**
6
6
  * A 404 the vertical's router answered because it has no such route: a non-empty body that is
@@ -779,7 +779,9 @@ export class VerticalClient {
779
779
  * but no role definitions, and without the repair every check denies while /me
780
780
  * still names the role. A vertical that predates the field ignores it.
781
781
  */
782
- async restoreScope(tenantId, scopeId, tables,
782
+ async restoreScope(tenantId, scopeId,
783
+ /** The dump, or (#2450) the stage it was loaded into here a page at a time (`transferScope`). */
784
+ tables,
783
785
  /** #1742: the recorded-off modules, switched off on THIS scope in the restore's own event.
784
786
  * #1869: `sourceScopeId`, the scope the tables were captured from, so the vertical re-points
785
787
  * exactly that scope's grants, and `exact` when the platform exported them itself. A
@@ -794,10 +796,11 @@ export class VerticalClient {
794
796
  if (opts?.exact && !opts.sourceScopeId) {
795
797
  throw substratError('validation_failed', 'restore: `exact` needs `sourceScopeId`, the scope the dump came from');
796
798
  }
797
- const { tables: count, switchedOff } = await this.postInternal('/internal/restore', {
799
+ const staged = !Array.isArray(tables);
800
+ const { tables: count, switchedOff } = await this.postInternal(staged ? '/internal/restore-staged' : '/internal/restore', {
798
801
  tenantId,
799
802
  scopeId,
800
- tables,
803
+ ...(staged ? { stageId: tables.stageId } : { tables }),
801
804
  ...(opts?.switchedOff ? { switchedOff: opts.switchedOff } : {}),
802
805
  ...(opts?.tenantHeld ? { tenantHeld: opts.tenantHeld } : {}),
803
806
  ...(opts?.switchedOffPeers ? { switchedOffPeers: opts.switchedOffPeers } : {}),
@@ -812,6 +815,49 @@ export class VerticalClient {
812
815
  }, 'restore');
813
816
  return { tables: count, ...switchedOffFrom(switchedOff) };
814
817
  }
818
+ /**
819
+ * One page of the export (#2450): `exportScopeStamped` a page at a time with `stamp`, and
820
+ * `exportScope` without. `'predates'` from a deployment built before the paged verbs (a 404, or
821
+ * its own 501), which exports whole.
822
+ */
823
+ async exportScopePage(scopeId, cursor, opts = {}) {
824
+ const base = this.options.baseUrl ?? 'https://vertical.invalid';
825
+ const query = `scopeId=${encodeURIComponent(scopeId)}${opts.stamp ? '&stamp=1' : ''}` +
826
+ (cursor === null ? '' : `&cursor=${encodeURIComponent(cursor)}`);
827
+ const answer = await this.routeAnswer('export-page', FENCED, () => this.options.fetch(`${base}/internal/export-page?${query}`, {
828
+ headers: { [PLATFORM_SECRET_HEADER]: this.options.platformSecret },
829
+ }));
830
+ if (answer === PREDATES)
831
+ return 'predates';
832
+ const page = scopeDumpPage.safeParse(answer);
833
+ if (!page.success)
834
+ throw new ControlPlaneError(502, 'export-page: the vertical answered something that is not a dump page');
835
+ return page.data;
836
+ }
837
+ /**
838
+ * Stage one page of a dump into `scopeId` here (#2450), for a `restoreScope` of the stage.
839
+ * `'predates'` from a deployment that restores only whole. A page already staged answers
840
+ * `staged: false`, so a retry is harmless.
841
+ */
842
+ async stageScopePage(scopeId, stageId, seq, tables) {
843
+ const answer = await this.routeAnswer('stage', FENCED, () => this.postRaw('/internal/stage', { scopeId, stageId, seq, tables }));
844
+ if (answer === PREDATES)
845
+ return 'predates';
846
+ return { staged: answer?.staged === true };
847
+ }
848
+ /** Drop a stage a carry gave up on (#2450). Best effort: the next stage replaces it anyway. */
849
+ async discardStagedScope(scopeId, stageId) {
850
+ await this.routeAnswer('stage-discard', FENCED, () => this.postRaw('/internal/stage/discard', { scopeId, stageId }));
851
+ }
852
+ /** A platform-authenticated JSON POST, its response unread, for `routeAnswer`. */
853
+ postRaw(path, body) {
854
+ const base = this.options.baseUrl ?? 'https://vertical.invalid';
855
+ return this.options.fetch(`${base}${path}`, {
856
+ method: 'POST',
857
+ headers: { 'content-type': 'application/json', [PLATFORM_SECRET_HEADER]: this.options.platformSecret },
858
+ body: JSON.stringify(body),
859
+ });
860
+ }
815
861
  /**
816
862
  * Wipe the copy a carry left in this deployment (#1722), only if nothing was loaded into the
817
863
  * scope since `expectLoadStamp` (null: a store no load has stamped). `wiped: false` is the
@@ -1346,4 +1392,100 @@ export class VerticalClient {
1346
1392
  return res;
1347
1393
  }
1348
1394
  }
1395
+ /** How many times a copy is restarted because the source took a write while it was read (#2450). */
1396
+ export const TRANSFER_ATTEMPTS = 3;
1397
+ /**
1398
+ * Move a scope's data out of `source` and into `dest`'s stage, a page at a time (#2450), so no
1399
+ * single call carries the whole scope: a Durable Object RPC message holds 32 MiB, and an isolate
1400
+ * 128 MB. Nothing here holds more than one page, and the destination commits from its stage in
1401
+ * `restoreScope`, in the one transaction a whole restore runs.
1402
+ *
1403
+ * A scope that fits in one page, or a source that predates the paged verbs, moves whole, exactly as
1404
+ * before. A destination that predates them gets the pages merged into one dump, which is the old
1405
+ * ceiling, and only there.
1406
+ *
1407
+ * Each page is read in one turn of the source, so it is consistent on its own; the pages are one
1408
+ * consistent read only while the source's write revision stays where the first page read it. When
1409
+ * it moves the copy starts again, up to `TRANSFER_ATTEMPTS` times, and is then refused (409) with
1410
+ * nothing moved: a carry's later fences assume a copy that was true at one moment.
1411
+ */
1412
+ export async function transferScope(source, dest,
1413
+ /** The scope read at `source`, and (a fork, #2450) the scope `dest` stages into, when another. */
1414
+ scope, opts = {}) {
1415
+ const retry = opts.retry ?? ((run) => run());
1416
+ const attempts = opts.attempts ?? TRANSFER_ATTEMPTS;
1417
+ const stamp = opts.stamp ?? true;
1418
+ const scopeId = scope.from;
1419
+ const into = scope.to ?? scope.from;
1420
+ // A client without the paged verbs (one a caller assembled from part of this one) is read as a
1421
+ // deployment that predates them.
1422
+ const pageAt = (cursor) => typeof source.exportScopePage === 'function'
1423
+ ? retry(() => source.exportScopePage(scopeId, cursor, { stamp }))
1424
+ : Promise.resolve('predates');
1425
+ const stagePage = (seq, tables) => typeof dest.stageScopePage === 'function'
1426
+ ? retry(() => dest.stageScopePage(into, stageId, seq, tables))
1427
+ : Promise.resolve('predates');
1428
+ let stageId = '';
1429
+ for (let attempt = 1;; attempt++) {
1430
+ const first = await pageAt(null);
1431
+ if (first === 'predates') {
1432
+ if (!stamp) {
1433
+ const tables = await retry(() => source.exportScope(scopeId));
1434
+ return { dump: tables, loadStamp: null, revision: null, meta: metaOf([tables]) };
1435
+ }
1436
+ const whole = await retry(() => source.exportScopeStamped(scopeId));
1437
+ return { dump: whole.tables, loadStamp: whole.loadStamp, revision: whole.revision, meta: metaOf([whole.tables]) };
1438
+ }
1439
+ if (first.next === null) {
1440
+ return { dump: first.tables, loadStamp: first.loadStamp, revision: first.revision, meta: metaOf([first.tables]) };
1441
+ }
1442
+ stageId = ulid();
1443
+ const opened = await stagePage(0, first.tables);
1444
+ // A destination that cannot stage takes the dump whole, so the pages are held here instead.
1445
+ const held = opened === 'predates' ? [first.tables] : null;
1446
+ const meta = [first.tables];
1447
+ let cursor = first.next;
1448
+ let seq = 0;
1449
+ let torn = false;
1450
+ while (cursor !== null) {
1451
+ const at = cursor;
1452
+ const page = await pageAt(at);
1453
+ if (page === 'predates') {
1454
+ throw new ControlPlaneError(502, `the source of scope ${scopeId} stopped answering dump pages part way; nothing was moved`);
1455
+ }
1456
+ if (page.revision !== first.revision) {
1457
+ torn = true;
1458
+ break;
1459
+ }
1460
+ meta.push(page.tables);
1461
+ if (held) {
1462
+ held.push(page.tables);
1463
+ }
1464
+ else {
1465
+ const staged = await stagePage(++seq, page.tables);
1466
+ if (staged === 'predates') {
1467
+ throw new ControlPlaneError(502, `the destination of scope ${scopeId} stopped staging part way; nothing was moved`);
1468
+ }
1469
+ }
1470
+ cursor = page.next;
1471
+ }
1472
+ if (!torn) {
1473
+ return {
1474
+ dump: held ? mergeDumpPages(held) : { stageId },
1475
+ loadStamp: first.loadStamp,
1476
+ revision: first.revision,
1477
+ meta: metaOf(meta),
1478
+ };
1479
+ }
1480
+ // Best effort: a stage nothing commits is replaced by the next one, and goes with a wipe.
1481
+ if (!held)
1482
+ await dest.discardStagedScope(into, stageId).catch(() => undefined);
1483
+ if (attempt >= attempts) {
1484
+ throw new ControlPlaneError(409, `scope ${scopeId} took writes while each of ${attempts} attempts was copying it, so no copy was true at ` +
1485
+ 'one moment and nothing was moved (#2450). Retry when it is quieter.');
1486
+ }
1487
+ }
1488
+ }
1489
+ /** The `_substrat_meta` fragments of some dump pages, merged. */
1490
+ const metaOf = (pages) => mergeDumpPages(pages.map((page) => page.filter((t) => t.name === '_substrat_meta')));
1349
1491
  //# sourceMappingURL=vertical-client.js.map