@serve.zone/interfaces 11.1.0 → 11.2.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/changelog.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-07-15 - 11.2.0
4
+
5
+ ### Features
6
+
7
+ - Support priority and managed-kind metadata on gateway routes.
8
+ - Allow combined `hostname` plus `routeRef` ownership so multiple managed routes for one hostname reconcile independently.
9
+ - Define the canonical `letsencrypt-http01-forward` managed route kind.
10
+
11
+ ### Maintenance
12
+
13
+ - Update the release toolchain to pnpm 11.13.0 and Node.js types 26.1.1.
14
+
15
+ ## 2026-07-13 - 11.1.1
16
+
17
+ ### Fixes
18
+
19
+ - reject provider-reserved database names at isolated-restore prepare ingress
20
+ - Reject MongoDB system database names for both source and target mappings before a new restore reservation can be committed.
21
+ - Preserve structural decoding of historical mappings so cleanup and status remain available across the contract upgrade.
22
+
3
23
  ## 2026-07-13 - 11.1.0
4
24
 
5
25
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '11.1.0',
6
+ version: '11.2.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
@@ -3,6 +3,10 @@ import type { TDnsRecordType } from './dns.js';
3
3
  * Type of platform acting as a gateway client against a gateway (dcrouter).
4
4
  */
5
5
  export type TGatewayClientType = 'onebox' | 'cloudly' | 'custom';
6
+ /**
7
+ * Canonical managed route purposes understood by gateways.
8
+ */
9
+ export type TManagedRouteKind = 'letsencrypt-http01-forward';
6
10
  /**
7
11
  * Identity attached to gateway requests. Gateways run their own user/auth
8
12
  * domain (e.g. dcrouter operator accounts), so role/type stay open strings;
@@ -175,7 +179,11 @@ export interface IGatewayClientOwnership {
175
179
  appId: string;
176
180
  /** Hostname ownership for domain routes. Preserved for existing route keys. */
177
181
  hostname?: string;
178
- /** Stable non-domain route key, for example public-port mapping exposure refs. */
182
+ /**
183
+ * Stable route key. Without hostname it identifies a non-domain route such as
184
+ * a public-port mapping. Together with hostname it distinguishes multiple
185
+ * managed routes for the same hostname.
186
+ */
179
187
  routeRef?: string;
180
188
  }
181
189
  /**
@@ -224,6 +232,10 @@ export interface IGatewayRouteConfig {
224
232
  name: string;
225
233
  match: IGatewayRouteMatch;
226
234
  action: IGatewayRouteAction;
235
+ /** Higher values are matched first by the gateway. */
236
+ priority?: number;
237
+ /** Declares a canonical gateway-managed route purpose. */
238
+ managedRouteKind?: TManagedRouteKind;
227
239
  remoteIngress?: {
228
240
  enabled: boolean;
229
241
  edgeFilter?: string[];
@@ -246,6 +246,12 @@ export declare const isolatedRestoreCanonicalJsonRules: Readonly<{
246
246
  */
247
247
  export declare const assertIsolatedRestoreControlIngressByteLength: (byteLengthArg: unknown) => number;
248
248
  export declare const normalizeIsolatedRestoreResourceMappings: (valueArg: unknown) => TIsolatedRestoreResourceMapping[];
249
+ /**
250
+ * Rejects names that the exact restore providers cannot provision, replace,
251
+ * or delete. Keep this separate from structural normalization so historical
252
+ * coordinator state remains readable for cleanup after a contract upgrade.
253
+ */
254
+ export declare const assertIsolatedRestoreProviderRestorableResourceMappings: (mappingsArg: readonly TIsolatedRestoreResourceMapping[]) => void;
249
255
  export declare const normalizeIsolatedRestoreArchiveManifest: (valueArg: unknown) => IBackupArchiveManifest;
250
256
  export declare const normalizeIsolatedRestoreGrantClaims: (valueArg: unknown) => Readonly<IIsolatedRestoreGrantClaims>;
251
257
  export declare const normalizeIsolatedRestoreControlPrepareRequest: (valueArg: unknown) => IIsolatedRestoreControlPrepareRequest;
@@ -67,6 +67,7 @@ const canonicalResourceNamePattern = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/;
67
67
  const canonicalDatabaseNamePattern = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/;
68
68
  const canonicalBucketNamePattern = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;
69
69
  const canonicalIpv4SegmentPattern = /^(?:0|[1-9][0-9]{0,2})$/;
70
+ const providerReservedDatabaseNames = new Set(['admin', 'config', 'local']);
70
71
  const canonicalSha256Pattern = /^[a-f0-9]{64}$/;
71
72
  const standardBase64Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
72
73
  const base64UrlAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
@@ -520,6 +521,26 @@ export const normalizeIsolatedRestoreResourceMappings = (valueArg) => {
520
521
  }
521
522
  return deepFreeze(mappings);
522
523
  };
524
+ /**
525
+ * Rejects names that the exact restore providers cannot provision, replace,
526
+ * or delete. Keep this separate from structural normalization so historical
527
+ * coordinator state remains readable for cleanup after a contract upgrade.
528
+ */
529
+ export const assertIsolatedRestoreProviderRestorableResourceMappings = (mappingsArg) => {
530
+ for (const [index, mapping] of mappingsArg.entries()) {
531
+ if (mapping.type !== 'database') {
532
+ continue;
533
+ }
534
+ for (const [side, databaseName] of [
535
+ ['source', mapping.source.databaseName],
536
+ ['target', mapping.target.databaseName],
537
+ ]) {
538
+ if (providerReservedDatabaseNames.has(databaseName)) {
539
+ fail(`resourceMappings[${index}].${side}.databaseName must not target a MongoDB system database`);
540
+ }
541
+ }
542
+ }
543
+ };
523
544
  export const normalizeIsolatedRestoreArchiveManifest = (valueArg) => {
524
545
  const manifest = readRecord(valueArg, 'archiveManifest');
525
546
  assertExactKeys(manifest, ['version', 'backupId', 'createdAt', 'objects', 'totalSize'], 'archiveManifest');
@@ -665,10 +686,12 @@ const normalizeControlMutationRequest = (valueArg, fieldNameArg) => {
665
686
  export const normalizeIsolatedRestoreControlPrepareRequest = (valueArg) => {
666
687
  const request = readRecord(valueArg, 'prepare request');
667
688
  assertExactKeys(request, ['restoreGrant', 'expectedRevision', 'resourceMappings', 'archiveManifest'], 'prepare request');
689
+ const resourceMappings = normalizeIsolatedRestoreResourceMappings(request.resourceMappings);
690
+ assertIsolatedRestoreProviderRestorableResourceMappings(resourceMappings);
668
691
  return assertControlJsonLimit({
669
692
  restoreGrant: readCompactRestoreGrant(request.restoreGrant),
670
693
  expectedRevision: readSafeInteger(request.expectedRevision, 'prepare request.expectedRevision', 0),
671
- resourceMappings: normalizeIsolatedRestoreResourceMappings(request.resourceMappings),
694
+ resourceMappings,
672
695
  archiveManifest: normalizeIsolatedRestoreArchiveManifest(request.archiveManifest),
673
696
  }, 'prepare request');
674
697
  };
@@ -940,6 +963,9 @@ export const bindIsolatedRestoreGrantToPlan = async (grantArg, expectedOperation
940
963
  const grant = requireVerifiedIsolatedRestoreGrant(grantArg);
941
964
  const claims = assertIsolatedRestoreGrantOperation(grant, expectedOperationArg);
942
965
  const resourceMappings = normalizeIsolatedRestoreResourceMappings(resourceMappingsArg);
966
+ if (expectedOperationArg === 'prepare') {
967
+ assertIsolatedRestoreProviderRestorableResourceMappings(resourceMappings);
968
+ }
943
969
  const archiveManifest = normalizeIsolatedRestoreArchiveManifest(archiveManifestArg);
944
970
  assertPlanRelationships(claims, resourceMappings, archiveManifest);
945
971
  const [resourceMappingsSha256, archiveManifestSha256] = await Promise.all([
@@ -1296,4 +1322,4 @@ export const assertIsolatedRestoreCompletedObject = (completedArg) => {
1296
1322
  }
1297
1323
  return completedArg;
1298
1324
  };
1299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWRyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9pc29sYXRlZHJlc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUQsU0FBUztJQUNULGNBQWM7SUFDZCxTQUFTO0lBQ1QsU0FBUztJQUNULFFBQVE7Q0FDQSxDQUFDLENBQUM7QUFLWjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDekQsT0FBTyxFQUFFLENBQVU7SUFDbkIsdUJBQXVCLEVBQUUsSUFBSSxHQUFHLElBQUk7SUFDcEMsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLElBQUk7SUFDbkMsNEJBQTRCLEVBQUUsSUFBSTtJQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLHVCQUF1QixFQUFFLEdBQUc7SUFDNUIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQiw4QkFBOEIsRUFBRSxHQUFHO0lBQ25DLHNDQUFzQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUN2RCx5QkFBeUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDM0Msd0JBQXdCLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUNqRCxzQkFBc0IsRUFBRSxHQUFHLEdBQUcsSUFBSTtJQUNsQyxpQ0FBaUMsRUFBRSxPQUFPO0lBQzFDLG1CQUFtQixFQUFFLElBQUk7Q0FDMUIsQ0FBQyxDQUFDO0FBRUgsNkVBQTZFO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEUsT0FBTyxFQUFFLENBQVU7SUFDbkIsVUFBVSxFQUFFLGFBQXNCO0lBQ2xDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxN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
1325
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWRyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9pc29sYXRlZHJlc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUQsU0FBUztJQUNULGNBQWM7SUFDZCxTQUFTO0lBQ1QsU0FBUztJQUNULFFBQVE7Q0FDQSxDQUFDLENBQUM7QUFLWjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDekQsT0FBTyxFQUFFLENBQVU7SUFDbkIsdUJBQXVCLEVBQUUsSUFBSSxHQUFHLElBQUk7SUFDcEMsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLElBQUk7SUFDbkMsNEJBQTRCLEVBQUUsSUFBSTtJQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLHVCQUF1QixFQUFFLEdBQUc7SUFDNUIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQiw4QkFBOEIsRUFBRSxHQUFHO0lBQ25DLHNDQUFzQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUN2RCx5QkFBeUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDM0Msd0JBQXdCLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUNqRCxzQkFBc0IsRUFBRSxHQUFHLEdBQUcsSUFBSTtJQUNsQyxpQ0FBaUMsRUFBRSxPQUFPO0lBQzFDLG1CQUFtQixFQUFFLElBQUk7Q0FDMUIsQ0FBQyxDQUFDO0FBRUgsNkVBQTZFO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEUsT0FBTyxFQUFFLENBQVU7SUFDbkIsVUFBVSxFQUFFLGFBQXNCO0lBQ2xDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxN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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "11.1.0",
3
+ "version": "11.2.0",
4
4
  "private": false,
5
5
  "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
@@ -19,7 +19,7 @@
19
19
  "@git.zone/tsdoc": "^2.1.1",
20
20
  "@git.zone/tsrun": "^2.0.5",
21
21
  "@git.zone/tstest": "^3.6.6",
22
- "@types/node": "^26.1.0"
22
+ "@types/node": "^26.1.1"
23
23
  },
24
24
  "files": [
25
25
  "ts/**/*",
package/readme.md CHANGED
@@ -95,7 +95,7 @@ Common data contracts include:
95
95
  - `IService`, `IDeployment`, `IImage`, `IRegistryTarget`, and `IExternalRegistry` for workload delivery.
96
96
  - Service port contracts including `IServiceTargetPort`, `IServiceDomainRoute`, and `IServicePublicPortMapping` for canonical backend targets, domain target references, and edge/Coretraffic TCP/UDP public exposure.
97
97
  - `IDomain`, `IDnsEntry`, and traffic contracts for routing and DNS management.
98
- - Traffic and gateway route contracts including `ICoretrafficPortRouteConfig`, routing `portRoutes`, `IGatewayClientRoute` client-owned route views, gateway route `routeRef` ownership, optional match `domains`, `transport`, and `remoteIngress` route intent.
98
+ - Traffic and gateway route contracts including `ICoretrafficPortRouteConfig`, routing `portRoutes`, and `IGatewayClientRoute` client-owned route views. Gateway route intent supports optional match `domains`, `transport`, and `remoteIngress`, plus explicit route `priority` and `managedRouteKind`. Ownership can combine `hostname` with `routeRef` so a normal route and a path-specific managed route for the same hostname reconcile independently.
99
99
  - `ISecretBundle` and `ISecretGroup` for secret ownership and shared secret groups.
100
100
  - Mail gateway contracts for domain authorities, address bindings, WorkApp bindings, managed SMTP/API credentials, spool items, delivery journals, and inbound/outbound message payloads.
101
101
  - Service-level mail configuration through `IService.data.mail`, including per-address inbound `smtpForward` settings and outbound credential metadata. Cloudly settings include dcrouter gateway, SMTP submission, and inbound forward-target keys for reconciling those bindings.
@@ -140,7 +140,7 @@ interface IExampleRequest {
140
140
 
141
141
  `requests.config.IRequest_Any_Cloudly_GetClusterConfig` accepts `data.IIdentityCredential`, which contains only the JWT needed for server-side identity resolution. Username/password login and machine-token exchange responses continue to return the full `data.IIdentity`.
142
142
 
143
- Gateway request contracts include `getGatewayClientRoutes` (`requests.gateway.IReq_GetGatewayClientRoutes`) for listing owned `IGatewayClientRoute[]` route views, and `syncGatewayClientRoute` for idempotently syncing or deleting hostname-owned and routeRef-owned routes. Mail request contracts include `syncMailAddressBinding`, `deleteMailAddressBinding`, `rotateMailCredential`, and `getMailDeliveryStatus`. `IReq_GetMailDeliveryStatus` looks up a delivery spool item by `spoolItemId`, returns `data.IMailDeliveryStatus`, and accepts `IMailSubmissionRequestAuth` so service-mail credentials can query their own accepted, queued, deferred, delivered, or failed status. `TMailAddressBindingSync.outboundEnabled` explicitly controls whether a gateway should maintain a managed outbound SMTP credential for an address binding. Binding credential metadata is public; `rotateMailCredential` returns the new secret only in its one-time `IMailCredentialOneTimeSecret` response.
143
+ Gateway request contracts include `getGatewayClientRoutes` (`requests.gateway.IReq_GetGatewayClientRoutes`) for listing owned `IGatewayClientRoute[]` route views, and `syncGatewayClientRoute` for idempotently syncing or deleting hostname-owned, routeRef-owned, and combined hostname-plus-routeRef routes. A client can label canonical intent with `managedRouteKind: 'letsencrypt-http01-forward'` and set a higher `priority` for a path-specific HTTP-01 route while retaining a separate normal route for the same hostname. Mail request contracts include `syncMailAddressBinding`, `deleteMailAddressBinding`, `rotateMailCredential`, and `getMailDeliveryStatus`. `IReq_GetMailDeliveryStatus` looks up a delivery spool item by `spoolItemId`, returns `data.IMailDeliveryStatus`, and accepts `IMailSubmissionRequestAuth` so service-mail credentials can query their own accepted, queued, deferred, delivered, or failed status. `TMailAddressBindingSync.outboundEnabled` explicitly controls whether a gateway should maintain a managed outbound SMTP credential for an address binding. Binding credential metadata is public; `rotateMailCredential` returns the new secret only in its one-time `IMailCredentialOneTimeSecret` response.
144
144
 
145
145
  Request groups are exported by product area:
146
146
 
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '11.1.0',
6
+ version: '11.2.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }
@@ -5,6 +5,11 @@ import type { TDnsRecordType } from './dns.js';
5
5
  */
6
6
  export type TGatewayClientType = 'onebox' | 'cloudly' | 'custom';
7
7
 
8
+ /**
9
+ * Canonical managed route purposes understood by gateways.
10
+ */
11
+ export type TManagedRouteKind = 'letsencrypt-http01-forward';
12
+
8
13
  /**
9
14
  * Identity attached to gateway requests. Gateways run their own user/auth
10
15
  * domain (e.g. dcrouter operator accounts), so role/type stay open strings;
@@ -187,7 +192,11 @@ export interface IGatewayClientOwnership {
187
192
  appId: string;
188
193
  /** Hostname ownership for domain routes. Preserved for existing route keys. */
189
194
  hostname?: string;
190
- /** Stable non-domain route key, for example public-port mapping exposure refs. */
195
+ /**
196
+ * Stable route key. Without hostname it identifies a non-domain route such as
197
+ * a public-port mapping. Together with hostname it distinguishes multiple
198
+ * managed routes for the same hostname.
199
+ */
191
200
  routeRef?: string;
192
201
  }
193
202
 
@@ -241,6 +250,10 @@ export interface IGatewayRouteConfig {
241
250
  name: string;
242
251
  match: IGatewayRouteMatch;
243
252
  action: IGatewayRouteAction;
253
+ /** Higher values are matched first by the gateway. */
254
+ priority?: number;
255
+ /** Declares a canonical gateway-managed route purpose. */
256
+ managedRouteKind?: TManagedRouteKind;
244
257
  remoteIngress?: {
245
258
  enabled: boolean;
246
259
  edgeFilter?: string[];
@@ -324,6 +324,7 @@ const canonicalResourceNamePattern = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/;
324
324
  const canonicalDatabaseNamePattern = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/;
325
325
  const canonicalBucketNamePattern = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;
326
326
  const canonicalIpv4SegmentPattern = /^(?:0|[1-9][0-9]{0,2})$/;
327
+ const providerReservedDatabaseNames = new Set(['admin', 'config', 'local']);
327
328
  const canonicalSha256Pattern = /^[a-f0-9]{64}$/;
328
329
  const standardBase64Alphabet =
329
330
  'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
@@ -1038,6 +1039,31 @@ export const normalizeIsolatedRestoreResourceMappings = (
1038
1039
  return deepFreeze(mappings);
1039
1040
  };
1040
1041
 
1042
+ /**
1043
+ * Rejects names that the exact restore providers cannot provision, replace,
1044
+ * or delete. Keep this separate from structural normalization so historical
1045
+ * coordinator state remains readable for cleanup after a contract upgrade.
1046
+ */
1047
+ export const assertIsolatedRestoreProviderRestorableResourceMappings = (
1048
+ mappingsArg: readonly TIsolatedRestoreResourceMapping[],
1049
+ ): void => {
1050
+ for (const [index, mapping] of mappingsArg.entries()) {
1051
+ if (mapping.type !== 'database') {
1052
+ continue;
1053
+ }
1054
+ for (const [side, databaseName] of [
1055
+ ['source', mapping.source.databaseName],
1056
+ ['target', mapping.target.databaseName],
1057
+ ] as const) {
1058
+ if (providerReservedDatabaseNames.has(databaseName)) {
1059
+ fail(
1060
+ `resourceMappings[${index}].${side}.databaseName must not target a MongoDB system database`,
1061
+ );
1062
+ }
1063
+ }
1064
+ }
1065
+ };
1066
+
1041
1067
  export const normalizeIsolatedRestoreArchiveManifest = (
1042
1068
  valueArg: unknown,
1043
1069
  ): IBackupArchiveManifest => {
@@ -1267,6 +1293,10 @@ export const normalizeIsolatedRestoreControlPrepareRequest = (
1267
1293
  ['restoreGrant', 'expectedRevision', 'resourceMappings', 'archiveManifest'],
1268
1294
  'prepare request',
1269
1295
  );
1296
+ const resourceMappings = normalizeIsolatedRestoreResourceMappings(
1297
+ request.resourceMappings,
1298
+ );
1299
+ assertIsolatedRestoreProviderRestorableResourceMappings(resourceMappings);
1270
1300
  return assertControlJsonLimit(
1271
1301
  {
1272
1302
  restoreGrant: readCompactRestoreGrant(request.restoreGrant),
@@ -1275,9 +1305,7 @@ export const normalizeIsolatedRestoreControlPrepareRequest = (
1275
1305
  'prepare request.expectedRevision',
1276
1306
  0,
1277
1307
  ),
1278
- resourceMappings: normalizeIsolatedRestoreResourceMappings(
1279
- request.resourceMappings,
1280
- ),
1308
+ resourceMappings,
1281
1309
  archiveManifest: normalizeIsolatedRestoreArchiveManifest(
1282
1310
  request.archiveManifest,
1283
1311
  ),
@@ -1757,6 +1785,9 @@ export const bindIsolatedRestoreGrantToPlan = async (
1757
1785
  const resourceMappings = normalizeIsolatedRestoreResourceMappings(
1758
1786
  resourceMappingsArg,
1759
1787
  );
1788
+ if (expectedOperationArg === 'prepare') {
1789
+ assertIsolatedRestoreProviderRestorableResourceMappings(resourceMappings);
1790
+ }
1760
1791
  const archiveManifest = normalizeIsolatedRestoreArchiveManifest(
1761
1792
  archiveManifestArg,
1762
1793
  );