@serve.zone/interfaces 32.28.0 → 32.29.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.
@@ -1240,6 +1240,18 @@ export const createAppStoreInstallSecretEnvelopeContext = (contextArg) => contex
1240
1240
  ? { encoding: contextArg.generation.encoding, bytes: contextArg.generation.bytes }
1241
1241
  : null,
1242
1242
  });
1243
+ /**
1244
+ * The context a dcrouter admin bootstrap token is sealed under for `bootstrapExternalGatewayCredential`.
1245
+ *
1246
+ * It binds the envelope to the dcrouter URL and the gateway client id the administrator named, so a
1247
+ * sealed token opens only for a request that states the same target, and Cloudly hands it only to
1248
+ * a gateway its own settings name.
1249
+ */
1250
+ export const createGatewayBootstrapEnvelopeContext = (contextArg) => contextBytes({
1251
+ purpose: 'serve.zone/gateway-bootstrap',
1252
+ gatewayUrl: contextArg.gatewayUrl,
1253
+ gatewayClientId: contextArg.gatewayClientId,
1254
+ });
1243
1255
  export const createResolvedSecretMaterialEnvelopeContext = (contextArg) => contextBytes({
1244
1256
  purpose: 'serve.zone/resolved-secret-material',
1245
1257
  recipientKeyId: contextArg.recipientKeyId,
@@ -1265,4 +1277,4 @@ export const createSecretRecipientEnrollmentChallengeContext = (contextArg) => c
1265
1277
  generation: contextArg.generation,
1266
1278
  expiresAt: contextArg.expiresAt,
1267
1279
  });
1268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQWlCNUQsZ0ZBQWdGO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQzdDLGlCQUErQyxFQUMvQywrQkFBd0MsRUFDL0IsRUFBRSxDQUFDLGlCQUFpQixLQUFLLFFBQVE7T0FDdkMsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLElBQUksK0JBQStCLENBQUMsQ0FBQztBQWtGMUUsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNqRSxlQUFlLEVBQUUsR0FBRztDQUNyQixDQUFDLENBQUM7QUEySUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QyxZQUFZLEVBQUUsR0FBRyxHQUFHLElBQUk7SUFDeEIscUJBQXFCLEVBQUUsRUFBRTtJQUN6QixxQkFBcUIsRUFBRSxFQUFFO0NBQzFCLENBQUMsQ0FBQztBQThHSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxDQUNuRCxPQUFxRCxFQUNyRCxRQUFzRCxFQUM3QyxFQUFFLENBQUMsQ0FDWixPQUFPLENBQUMsT0FBTyxDQUFDO09BQ2IsT0FBTyxDQUFDLFFBQVEsQ0FBQztPQUNqQixPQUFPLEVBQUUsVUFBVSxLQUFLLFFBQVEsRUFBRSxVQUFVO09BQzVDLE9BQU8sRUFBRSxjQUFjLEtBQUssUUFBUSxFQUFFLGNBQWM7T0FDcEQsT0FBTyxFQUFFLFNBQVMsS0FBSyxRQUFRLEVBQUUsU0FBUztPQUMxQyxPQUFPLEVBQUUsY0FBYyxLQUFLLFFBQVEs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
1280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQWlCNUQsZ0ZBQWdGO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQzdDLGlCQUErQyxFQUMvQywrQkFBd0MsRUFDL0IsRUFBRSxDQUFDLGlCQUFpQixLQUFLLFFBQVE7T0FDdkMsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLElBQUksK0JBQStCLENBQUMsQ0FBQztBQWtGMUUsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNqRSxlQUFlLEVBQUUsR0FBRztDQUNyQixDQUFDLENBQUM7QUEySUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QyxZQUFZLEVBQUUsR0FBRyxHQUFHLElBQUk7SUFDeEIscUJBQXFCLEVBQUUsRUFBRTtJQUN6QixxQkFBcUIsRUFBRSxFQUFFO0NBQzFCLENBQUMsQ0FBQztBQThHSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxDQUNuRCxPQUFxRCxFQUNyRCxRQUFzRCxFQUM3QyxFQUFFLENBQUMsQ0FDWixPQUFPLENBQUMsT0FBTyxDQUFDO09BQ2IsT0FBTyxDQUFDLFFBQVEsQ0FBQztPQUNqQixPQUFPLEVBQUUsVUFBVSxLQUFLLFFBQVEsRUFBRSxVQUFVO09BQzVDLE9BQU8sRUFBRSxjQUFjLEtBQUssUUFBUSxFQUFFLGNBQWM7T0FDcEQsT0FBTyxFQUFFLFNBQVMsS0FBSyxRQUFRLEVBQUUsU0FBUztPQUMxQyxPQUFPLEVBQUUsY0FBYyxLQUFLLFFBQVEs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
@@ -96,3 +96,54 @@ export declare const cloudlySystemSecretKeys: Readonly<{
96
96
  readonly coreMailSmtpTlsCertificatePem: "COREMAIL_SMTP_TLS_CERTIFICATE_PEM";
97
97
  readonly coreMailSmtpTlsPrivateKeyPem: "COREMAIL_SMTP_TLS_PRIVATE_KEY_PEM";
98
98
  }>;
99
+ /**
100
+ * How far Cloudly's enrollment as a dcrouter gateway client has come.
101
+ *
102
+ * - `unconfigured` — no `dcrouterGatewayUrl` is set, so there is nothing to enroll with.
103
+ * - `checking` — Cloudly is validating or provisioning its credential right now.
104
+ * - `ready` — Cloudly holds a validated gateway-client credential whose policy matches its settings.
105
+ * - `degraded` — dcrouter could not be reached; Cloudly retries on its own.
106
+ * - `admin-bootstrap-required` — the held credential is missing, rejected or stale (its policy no
107
+ * longer matches Cloudly's settings or the runtime network address plan's DNS record allowance),
108
+ * and only a dcrouter admin token handed in with `bootstrapExternalGatewayCredential` moves it on.
109
+ */
110
+ export type TExternalGatewayEnrollmentStatus = 'unconfigured' | 'checking' | 'ready' | 'degraded' | 'admin-bootstrap-required';
111
+ /** Cloudly's gateway-client enrollment as an administrator reads it; it never carries a credential. */
112
+ export interface IExternalGatewayEnrollmentState {
113
+ status: TExternalGatewayEnrollmentStatus;
114
+ /** Why the state is what it is, in Cloudly's words; absent when there is nothing to say. */
115
+ reason?: string;
116
+ /** When Cloudly last finished a check, in milliseconds since the epoch. */
117
+ lastCheckedAt?: number;
118
+ /** When Cloudly retries on its own, for a `degraded` state. */
119
+ nextRetryAt?: number;
120
+ /** Whether Cloudly still holds a validated runtime credential it can serve gateway calls with. */
121
+ cachedValidationProof: boolean;
122
+ /** Whether a provisioned candidate credential still awaits finalization at dcrouter. */
123
+ finalizationPending: boolean;
124
+ }
125
+ export declare const externalGatewayEnrollmentStatuses: readonly ["unconfigured", "checking", "ready", "degraded", "admin-bootstrap-required"];
126
+ export declare const externalGatewayBootstrapContract: Readonly<{
127
+ /**
128
+ * The longest admin bootstrap token Cloudly accepts, in bytes. A dcrouter API token is far
129
+ * shorter; the bound only keeps an unopened envelope from carrying an arbitrary payload.
130
+ */
131
+ readonly maximumTokenBytes: 1024;
132
+ /** The longest `reason` an enrollment state carries, in characters. */
133
+ readonly maximumReasonLength: 4096;
134
+ /** The longest `expectedGatewayUrl` a bootstrap request states, in characters. */
135
+ readonly maximumGatewayUrlLength: 2048;
136
+ /** The longest `expectedGatewayClientId` a bootstrap request states, in characters. */
137
+ readonly maximumGatewayClientIdLength: 253;
138
+ }>;
139
+ /** Every reason Cloudly answers instead of bootstrapping its gateway-client credential. */
140
+ export declare const externalGatewayBootstrapRefusals: readonly ["gateway-unconfigured", "gateway-target-mismatch", "bootstrap-token-invalid", "bootstrap-token-rejected", "bootstrap-token-not-admin", "bootstrap-candidate-pending", "gateway-unreachable", "bootstrap-provisioning-refused"];
141
+ export type TExternalGatewayBootstrapRefusal = typeof externalGatewayBootstrapRefusals[number];
142
+ /**
143
+ * The bootstrap token rule, judged on the opened bytes: 1 to `maximumTokenBytes` bytes of visible
144
+ * ASCII, with no whitespace or control character. The token is dcrouter's; this only refuses what
145
+ * could never be one, so a pasted line break or an empty pipe never reaches dcrouter.
146
+ */
147
+ export declare const isExternalGatewayBootstrapToken: (valueArg: unknown) => valueArg is Uint8Array;
148
+ /** Structural check of an enrollment state as a client receives it; every problem is named. */
149
+ export declare const validateExternalGatewayEnrollmentState: (valueArg: unknown) => string[];
@@ -1,3 +1,4 @@
1
+ import { hasExactKeys, readDataProperties } from '../private/dataproperties.js';
1
2
  export const cloudlySystemSecretOwner = Object.freeze({
2
3
  kind: 'system',
3
4
  systemId: 'cloudly-settings',
@@ -40,4 +41,85 @@ export const cloudlySystemSecretKeys = Object.freeze({
40
41
  coreMailSmtpTlsCertificatePem: 'COREMAIL_SMTP_TLS_CERTIFICATE_PEM',
41
42
  coreMailSmtpTlsPrivateKeyPem: 'COREMAIL_SMTP_TLS_PRIVATE_KEY_PEM',
42
43
  });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL3NldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtFQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3BELElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLGtCQUFrQjtDQUNTLENBQUMsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FDN0MseUJBQW1FLENBQUM7QUFFdEUsdUVBQXVFO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbkQsWUFBWSxFQUFFLGVBQWU7SUFDN0IsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQywrQkFBK0IsRUFBRSxvQ0FBb0M7SUFDckUsdUJBQXVCLEVBQUUsNEJBQTRCO0lBQ3JELGVBQWUsRUFBRSxtQkFBbUI7SUFDcEMsb0JBQW9CLEVBQUUsd0JBQXdCO0lBQzlDLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsaUJBQWlCLEVBQUUsb0JBQW9CO0lBQ3ZDLGFBQWEsRUFBRSxpQkFBaUI7SUFDaEMsaUJBQWlCLEVBQUUscUJBQXFCO0lBQ3hDLGFBQWEsRUFBRSxpQkFBaUI7SUFDaEMsbUJBQW1CLEVBQUUsdUJBQXVCO0lBQzVDLGNBQWMsRUFBRSxrQkFBa0I7SUFDbEMsb0JBQW9CLEVBQUUseUJBQXlCO0lBQy9DLFdBQVcsRUFBRSxlQUFlO0lBQzVCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4QyxvQkFBb0IsRUFBRSx3QkFBd0I7SUFDOUMsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxpQkFBaUIsRUFBRSxxQkFBcUI7SUFDeEMsaUJBQWlCLEVBQUUscUJBQXFCO0lBQ3hDLHNCQUFzQixFQUFFLDBCQUEwQjtJQUNsRCwrQkFBK0IsRUFBRSxvQ0FBb0M7SUFDckUsK0JBQStCLEVBQUUsb0NBQW9DO0lBQ3JFOzs7O09BSUc7SUFDSCw2QkFBNkIsRUFBRSxtQ0FBbUM7SUFDbEUsNEJBQTRCLEVBQUUsbUNBQW1DO0NBQ3pELENBQUMsQ0FBQyJ9
44
+ export const externalGatewayEnrollmentStatuses = Object.freeze([
45
+ 'unconfigured',
46
+ 'checking',
47
+ 'ready',
48
+ 'degraded',
49
+ 'admin-bootstrap-required',
50
+ ]);
51
+ export const externalGatewayBootstrapContract = Object.freeze({
52
+ /**
53
+ * The longest admin bootstrap token Cloudly accepts, in bytes. A dcrouter API token is far
54
+ * shorter; the bound only keeps an unopened envelope from carrying an arbitrary payload.
55
+ */
56
+ maximumTokenBytes: 1_024,
57
+ /** The longest `reason` an enrollment state carries, in characters. */
58
+ maximumReasonLength: 4_096,
59
+ /** The longest `expectedGatewayUrl` a bootstrap request states, in characters. */
60
+ maximumGatewayUrlLength: 2_048,
61
+ /** The longest `expectedGatewayClientId` a bootstrap request states, in characters. */
62
+ maximumGatewayClientIdLength: 253,
63
+ });
64
+ /** Every reason Cloudly answers instead of bootstrapping its gateway-client credential. */
65
+ export const externalGatewayBootstrapRefusals = Object.freeze([
66
+ /** Cloudly has no `dcrouterGatewayUrl` or no `dcrouterGatewayClientId` to enroll under. */
67
+ 'gateway-unconfigured',
68
+ /**
69
+ * The request's `expectedGatewayUrl` or `expectedGatewayClientId` is not what Cloudly's settings
70
+ * state, so the token would reach a dcrouter or a client the administrator did not name.
71
+ */
72
+ 'gateway-target-mismatch',
73
+ /** The sealed token does not open, or what it opens to breaks the bootstrap token rule. */
74
+ 'bootstrap-token-invalid',
75
+ /** dcrouter did not accept the token at all: unknown, revoked, disabled or expired. */
76
+ 'bootstrap-token-rejected',
77
+ /** dcrouter accepted the token, but its role is not `admin`, so it cannot provision a client. */
78
+ 'bootstrap-token-not-admin',
79
+ /** A candidate credential from an earlier provisioning is still being finalized; retry later. */
80
+ 'bootstrap-candidate-pending',
81
+ /** dcrouter could not be reached; the held credential is unchanged and the call may be repeated. */
82
+ 'gateway-unreachable',
83
+ /** dcrouter refused provisioning, or the credential it issued failed Cloudly's validation. */
84
+ 'bootstrap-provisioning-refused',
85
+ ]);
86
+ /**
87
+ * The bootstrap token rule, judged on the opened bytes: 1 to `maximumTokenBytes` bytes of visible
88
+ * ASCII, with no whitespace or control character. The token is dcrouter's; this only refuses what
89
+ * could never be one, so a pasted line break or an empty pipe never reaches dcrouter.
90
+ */
91
+ export const isExternalGatewayBootstrapToken = (valueArg) => (valueArg instanceof Uint8Array
92
+ && valueArg.length > 0
93
+ && valueArg.length <= externalGatewayBootstrapContract.maximumTokenBytes
94
+ && valueArg.every((byteArg) => byteArg >= 0x21 && byteArg <= 0x7e));
95
+ const isEpochMilliseconds = (valueArg) => (Number.isSafeInteger(valueArg) && valueArg >= 0);
96
+ /** Structural check of an enrollment state as a client receives it; every problem is named. */
97
+ export const validateExternalGatewayEnrollmentState = (valueArg) => {
98
+ const state = readDataProperties(valueArg);
99
+ if (state === null)
100
+ return ['external gateway enrollment state must be a plain record'];
101
+ const errors = [];
102
+ if (!hasExactKeys(state, ['status', 'cachedValidationProof', 'finalizationPending'], ['reason', 'lastCheckedAt', 'nextRetryAt'])) {
103
+ errors.push('external gateway enrollment state contains fields outside its schema');
104
+ }
105
+ if (!externalGatewayEnrollmentStatuses.some((statusArg) => statusArg === state.status)) {
106
+ errors.push('external gateway enrollment status is unknown');
107
+ }
108
+ if (state.reason !== undefined && (typeof state.reason !== 'string'
109
+ || state.reason.length === 0
110
+ || state.reason.length > externalGatewayBootstrapContract.maximumReasonLength)) {
111
+ errors.push('external gateway enrollment reason must be a bounded non-empty string');
112
+ }
113
+ for (const key of ['lastCheckedAt', 'nextRetryAt']) {
114
+ if (state[key] !== undefined && !isEpochMilliseconds(state[key])) {
115
+ errors.push(`external gateway enrollment ${key} must be epoch milliseconds`);
116
+ }
117
+ }
118
+ for (const key of ['cachedValidationProof', 'finalizationPending']) {
119
+ if (typeof state[key] !== 'boolean') {
120
+ errors.push(`external gateway enrollment ${key} must be a boolean`);
121
+ }
122
+ }
123
+ return errors;
124
+ };
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL3NldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQWlFaEYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNwRCxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRSxrQkFBa0I7Q0FDUyxDQUFDLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQzdDLHlCQUFtRSxDQUFDO0FBRXRFLHVFQUF1RTtBQUN2RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25ELFlBQVksRUFBRSxlQUFlO0lBQzdCLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkMsK0JBQStCLEVBQUUsb0NBQW9DO0lBQ3JFLHVCQUF1QixFQUFFLDRCQUE0QjtJQUNyRCxlQUFlLEVBQUUsbUJBQW1CO0lBQ3BDLG9CQUFvQixFQUFFLHdCQUF3QjtJQUM5QyxnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLGlCQUFpQixFQUFFLG9CQUFvQjtJQUN2QyxhQUFhLEVBQUUsaUJBQWlCO0lBQ2hDLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4QyxhQUFhLEVBQUUsaUJBQWlCO0lBQ2hDLG1CQUFtQixFQUFFLHVCQUF1QjtJQUM1QyxjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDLG9CQUFvQixFQUFFLHlCQUF5QjtJQUMvQyxXQUFXLEVBQUUsZUFBZTtJQUM1QixXQUFXLEVBQUUsY0FBYztJQUMzQixpQkFBaUIsRUFBRSxxQkFBcUI7SUFDeEMsb0JBQW9CLEVBQUUsd0JBQXdCO0lBQzlDLGNBQWMsRUFB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
@@ -6,6 +6,24 @@ export declare const failNetwork: () => never;
6
6
  export declare function requireNetwork(value: unknown): asserts value;
7
7
  export declare const networkCanonical: (value: unknown) => string;
8
8
  export declare const networkEqual: (left: unknown, right: unknown) => boolean;
9
+ /** The runtime network address plan's lists that must be stated in their one canonical order. */
10
+ export type TRuntimeNetworkAddressPlanOrderedField = 'prefixes' | 'pools' | 'resolvers' | 'platformEndpoints';
11
+ /** The structure rules an address plan refusal names; `order` is the only one named so far. */
12
+ export type TRuntimeNetworkAddressPlanStructureRule = 'order';
13
+ /** Which list of a plan broke which structure rule; never a value from the plan. */
14
+ export interface IRuntimeNetworkAddressPlanStructureViolation {
15
+ field: TRuntimeNetworkAddressPlanOrderedField;
16
+ rule: TRuntimeNetworkAddressPlanStructureRule;
17
+ }
18
+ /**
19
+ * A plan refused for a structure rule the contract names, rather than with the contract's generic
20
+ * rejection. It is the one error `networkSafe` lets through, so a caller can tell an administrator
21
+ * which list to fix; its message names the field and the rule and quotes nothing from the plan.
22
+ */
23
+ export declare class RuntimeNetworkAddressPlanStructureError extends Error {
24
+ readonly violation: IRuntimeNetworkAddressPlanStructureViolation;
25
+ constructor(violationArg: IRuntimeNetworkAddressPlanStructureViolation);
26
+ }
9
27
  export declare const networkSafe: <T>(operation: () => T) => T;
10
28
  /** Bound decoded transport input before canonicalization; never execute getters/toJSON. */
11
29
  export declare const captureNetwork: (value: unknown) => unknown;