@serve.zone/interfaces 21.1.0 → 22.0.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 +11 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/coremail.d.ts +83 -9
- package/dist_ts/data/coremail.js +67 -1
- package/dist_ts/data/coremail.runtime.d.ts +27 -1
- package/dist_ts/data/coremail.runtime.js +800 -36
- package/dist_ts/requests/coremail.d.ts +12 -5
- package/package.json +1 -1
- package/readme.md +57 -10
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/coremail.runtime.ts +1212 -38
- package/ts/data/coremail.ts +120 -8
- package/ts/requests/coremail.ts +13 -4
package/changelog.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-07-30 - 22.0.0
|
|
4
|
+
|
|
5
|
+
### Breaking Changes
|
|
6
|
+
|
|
7
|
+
- define the complete CoreMail v22 authority and lifecycle contract (coremail)
|
|
8
|
+
- Add draining bindings, composite credential-session reporting, rotating cursor-key references, authenticated workload transfer origins, and schema-v2 canonical desired state.
|
|
9
|
+
- Replace caller-constructed inbound delivery pagination with opaque cursors bounded by item and serialized-byte budgets, and require finite authoritative per-binding quotas.
|
|
10
|
+
- Define fixed 30-day terminal retention, non-expiring pending inbound delivery, strict terminal status fields, and canonical one-time HTTP transfer grants.
|
|
11
|
+
- Export strict runtime normalizers for messages, envelopes, transfers, submissions, gateway status, inbound delivery pages, and reconciliation status.
|
|
12
|
+
- Publish exact active/draining workload operation authority and require canonical 256-bit, fixed-lifetime transfer capabilities.
|
|
13
|
+
|
|
3
14
|
## 2026-07-29 - 21.1.0
|
|
4
15
|
|
|
5
16
|
### Features
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '
|
|
6
|
+
version: '22.0.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=
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export type TCoreMailSha256 = `sha256:${string}`;
|
|
10
10
|
export type TCoreMailCapability = 'outbound' | 'inbound';
|
|
11
|
-
export type TCoreMailBindingState = 'active' | 'disabled';
|
|
11
|
+
export type TCoreMailBindingState = 'active' | 'draining' | 'disabled';
|
|
12
12
|
export type TCoreMailCredentialState = 'current' | 'retiring';
|
|
13
13
|
export type TCoreMailCredentialVerifierFormat = 'argon2id-v1';
|
|
14
14
|
export type TCoreMailPartKind = 'text' | 'html' | 'attachment';
|
|
@@ -18,7 +18,8 @@ export type TCoreMailInboundDeliveryState = 'pending' | 'fetching' | 'fetched' |
|
|
|
18
18
|
export type TCoreMailInboundAckOutcome = 'processed' | 'discarded';
|
|
19
19
|
export type TCoreMailRecipientAction = 'accept' | 'reject' | 'defer';
|
|
20
20
|
export type TCoreMailReconciliationState = 'applying' | 'ready' | 'failed';
|
|
21
|
-
export type
|
|
21
|
+
export type TCoreMailWorkloadOperation = 'coreMailPrepareOutboundSubmission' | 'coreMailPrepareOutboundPartUpload' | 'coreMailCompleteOutboundPartUpload' | 'coreMailFinalizeOutboundSubmission' | 'coreMailGetOutboundSubmission' | 'coreMailListInboundDeliveries' | 'coreMailPrepareInboundFetch' | 'coreMailCompleteInboundFetch' | 'coreMailAcknowledgeInboundDelivery';
|
|
22
|
+
export type TCoreMailErrorCode = 'AUTHENTICATION_FAILED' | 'AUTHENTICATION_EXPIRED' | 'AUTHORITY_REVOKED' | 'CAPABILITY_DENIED' | 'NOT_FOUND' | 'INVALID_REQUEST' | 'INVALID_MAILBOX' | 'INVALID_SENDER' | 'INVALID_RECIPIENT' | 'INVALID_HEADER' | 'PAYLOAD_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'IDEMPOTENCY_CONFLICT' | 'STATE_CONFLICT' | 'TRANSFER_GRANT_EXPIRED' | 'TRANSFER_GRANT_REPLAYED' | 'TRANSFER_LENGTH_MISMATCH' | 'TRANSFER_DIGEST_MISMATCH' | 'TRANSFER_ENCODING_UNSUPPORTED' | 'OBJECT_INTEGRITY_CONFLICT' | 'DELIVERY_NOT_FETCHED' | 'DELIVERY_DEFERRED' | 'DELIVERY_FAILED' | 'DELIVERY_DEAD_LETTERED' | 'GATEWAY_UNAVAILABLE' | 'RECONCILIATION_FENCE_MISMATCH';
|
|
22
23
|
export interface ICoreMailErrorData {
|
|
23
24
|
code: TCoreMailErrorCode;
|
|
24
25
|
retryable: boolean;
|
|
@@ -69,6 +70,7 @@ export interface ICoreMailTransferGrant {
|
|
|
69
70
|
sha256: TCoreMailSha256;
|
|
70
71
|
lengthBytes: number;
|
|
71
72
|
contentType: string;
|
|
73
|
+
issuedAt: number;
|
|
72
74
|
expiresAt: number;
|
|
73
75
|
}
|
|
74
76
|
export interface ICoreMailUploadGrant extends ICoreMailTransferGrant {
|
|
@@ -92,8 +94,10 @@ export interface ICoreMailSubmission {
|
|
|
92
94
|
transportMessageId?: string;
|
|
93
95
|
attempts: number;
|
|
94
96
|
nextAttemptAt?: number;
|
|
97
|
+
error?: ICoreMailErrorData;
|
|
95
98
|
acceptedAt?: number;
|
|
96
99
|
deliveredAt?: number;
|
|
100
|
+
terminalAt?: number;
|
|
97
101
|
createdAt: number;
|
|
98
102
|
updatedAt: number;
|
|
99
103
|
}
|
|
@@ -111,6 +115,12 @@ export interface ICoreMailInboundDelivery {
|
|
|
111
115
|
subject?: string;
|
|
112
116
|
receivedAt: number;
|
|
113
117
|
updatedAt: number;
|
|
118
|
+
acknowledgedAt?: number;
|
|
119
|
+
acknowledgedOutcome?: TCoreMailInboundAckOutcome;
|
|
120
|
+
}
|
|
121
|
+
export interface ICoreMailInboundDeliveryPage {
|
|
122
|
+
deliveries: ICoreMailInboundDelivery[];
|
|
123
|
+
nextCursor?: string;
|
|
114
124
|
}
|
|
115
125
|
export interface ICoreMailBindingCredentialVerifier {
|
|
116
126
|
credentialId: string;
|
|
@@ -123,7 +133,7 @@ export interface ICoreMailBindingCredentialVerifier {
|
|
|
123
133
|
acceptUntil?: number;
|
|
124
134
|
}
|
|
125
135
|
export interface ICoreMailBindingDesiredState {
|
|
126
|
-
schemaVersion:
|
|
136
|
+
schemaVersion: 2;
|
|
127
137
|
bindingId: string;
|
|
128
138
|
serviceId: string;
|
|
129
139
|
tenantId: string;
|
|
@@ -134,14 +144,16 @@ export interface ICoreMailBindingDesiredState {
|
|
|
134
144
|
allowedSenders: string[];
|
|
135
145
|
inboundRecipients: string[];
|
|
136
146
|
defaultSender?: string;
|
|
137
|
-
limits
|
|
138
|
-
messagesPerMinute
|
|
139
|
-
messagesPerDay
|
|
140
|
-
maxPendingInbound
|
|
147
|
+
limits: {
|
|
148
|
+
messagesPerMinute: number;
|
|
149
|
+
messagesPerDay: number;
|
|
150
|
+
maxPendingInbound: number;
|
|
141
151
|
};
|
|
142
152
|
}
|
|
143
153
|
export interface ICoreMailGatewayDesiredState {
|
|
144
154
|
endpointUrl: string;
|
|
155
|
+
/** Canonical CoreMail HTTPS origin authorized for path-only transfer grants. */
|
|
156
|
+
coreMailTransferOrigin: string;
|
|
145
157
|
credentialId: string;
|
|
146
158
|
credentialVersion: number;
|
|
147
159
|
/** Key in CoreMail's resolved runtime secret material, never a plaintext value. */
|
|
@@ -167,11 +179,20 @@ export interface ICoreMailGatewayPeerDesiredState {
|
|
|
167
179
|
transferOrigin: string;
|
|
168
180
|
credentials: ICoreMailBindingCredentialVerifier[];
|
|
169
181
|
}
|
|
182
|
+
export interface ICoreMailRuntimeKeyReference {
|
|
183
|
+
keyId: string;
|
|
184
|
+
version: number;
|
|
185
|
+
state: TCoreMailCredentialState;
|
|
186
|
+
/** Key in CoreMail's resolved runtime secret material, never a plaintext value. */
|
|
187
|
+
secretKey: string;
|
|
188
|
+
acceptUntil?: number;
|
|
189
|
+
}
|
|
170
190
|
export interface ICoreMailDesiredState {
|
|
171
|
-
schemaVersion:
|
|
191
|
+
schemaVersion: 2;
|
|
172
192
|
configEpoch: number;
|
|
173
193
|
bindings: ICoreMailBindingDesiredState[];
|
|
174
194
|
gateway: ICoreMailGatewayDesiredState;
|
|
195
|
+
cursorKeys: ICoreMailRuntimeKeyReference[];
|
|
175
196
|
}
|
|
176
197
|
export interface ICoreMailReplicaIdentity {
|
|
177
198
|
taskId: string;
|
|
@@ -184,7 +205,9 @@ export interface ICoreMailBindingReconciliationStatus {
|
|
|
184
205
|
bindingId: string;
|
|
185
206
|
revision: number;
|
|
186
207
|
state: TCoreMailBindingState;
|
|
187
|
-
|
|
208
|
+
pendingInboundCount: number;
|
|
209
|
+
activeSessionsByCredential: Array<{
|
|
210
|
+
credentialId: string;
|
|
188
211
|
version: number;
|
|
189
212
|
count: number;
|
|
190
213
|
}>;
|
|
@@ -219,7 +242,10 @@ export interface ICoreMailGatewayOutboundStatus {
|
|
|
219
242
|
state: Extract<TCoreMailSubmissionState, 'accepted' | 'queued' | 'delivering' | 'delivered' | 'deferred' | 'failed' | 'deadLettered'>;
|
|
220
243
|
attempts: number;
|
|
221
244
|
nextAttemptAt?: number;
|
|
245
|
+
error?: ICoreMailErrorData;
|
|
222
246
|
smtpCode?: number;
|
|
247
|
+
deliveredAt?: number;
|
|
248
|
+
terminalAt?: number;
|
|
223
249
|
updatedAt: number;
|
|
224
250
|
}
|
|
225
251
|
export declare const coreMailLimits: Readonly<{
|
|
@@ -232,11 +258,59 @@ export declare const coreMailLimits: Readonly<{
|
|
|
232
258
|
readonly aggregateAttachmentBytes: number;
|
|
233
259
|
readonly mimeFramingBytes: number;
|
|
234
260
|
readonly serializedMimeBytes: number;
|
|
261
|
+
readonly recipientCount: 100;
|
|
262
|
+
readonly inboundPageSize: 100;
|
|
263
|
+
readonly inboundPageBytes: number;
|
|
264
|
+
readonly cursorBytes: 1024;
|
|
265
|
+
readonly cursorMinimumDecodedBytes: 32;
|
|
266
|
+
readonly routingHandleTtlMs: number;
|
|
235
267
|
readonly transferGrantTtlMs: number;
|
|
236
268
|
readonly transferHeaderTimeoutMs: number;
|
|
237
269
|
readonly transferIdleTimeoutMs: number;
|
|
238
270
|
readonly transferOverallTimeoutMs: number;
|
|
239
271
|
}>;
|
|
272
|
+
export declare const coreMailTransferTokenPolicy: Readonly<{
|
|
273
|
+
format: "base64url-256";
|
|
274
|
+
decodedBytes: 32;
|
|
275
|
+
encodedCharacters: 43;
|
|
276
|
+
}>;
|
|
277
|
+
export declare const coreMailWorkloadOperationPolicy: Readonly<{
|
|
278
|
+
active: Readonly<{
|
|
279
|
+
outbound: readonly ("coreMailPrepareOutboundSubmission" | "coreMailPrepareOutboundPartUpload" | "coreMailCompleteOutboundPartUpload" | "coreMailFinalizeOutboundSubmission" | "coreMailGetOutboundSubmission")[];
|
|
280
|
+
inbound: readonly ("coreMailListInboundDeliveries" | "coreMailPrepareInboundFetch" | "coreMailCompleteInboundFetch" | "coreMailAcknowledgeInboundDelivery")[];
|
|
281
|
+
}>;
|
|
282
|
+
draining: Readonly<{
|
|
283
|
+
outbound: readonly "coreMailGetOutboundSubmission"[];
|
|
284
|
+
inbound: readonly ("coreMailListInboundDeliveries" | "coreMailPrepareInboundFetch" | "coreMailCompleteInboundFetch" | "coreMailAcknowledgeInboundDelivery")[];
|
|
285
|
+
}>;
|
|
286
|
+
disabled: Readonly<{
|
|
287
|
+
outbound: readonly never[];
|
|
288
|
+
inbound: readonly never[];
|
|
289
|
+
}>;
|
|
290
|
+
}>;
|
|
291
|
+
export declare const coreMailRetentionPolicy: Readonly<{
|
|
292
|
+
terminalOutboundMs: number;
|
|
293
|
+
acknowledgedInboundMs: number;
|
|
294
|
+
idempotencyReceiptMs: number;
|
|
295
|
+
expiredCapabilityMs: number;
|
|
296
|
+
pendingInboundAgePurge: false;
|
|
297
|
+
}>;
|
|
298
|
+
export declare const coreMailQuotaPolicy: Readonly<{
|
|
299
|
+
windows: "fixed-utc-minute-and-day";
|
|
300
|
+
outboundUnit: "first-durable-idempotency-insert";
|
|
301
|
+
outboundReplayConsumesUnit: false;
|
|
302
|
+
pendingInboundStates: readonly ["pending", "fetching", "fetched"];
|
|
303
|
+
inboundAcknowledgementReleasesUnit: true;
|
|
304
|
+
}>;
|
|
305
|
+
export declare const coreMailTransferProtocol: Readonly<{
|
|
306
|
+
pathPrefix: "/transfers/";
|
|
307
|
+
authorizationScheme: "Bearer";
|
|
308
|
+
putSuccessStatus: 204;
|
|
309
|
+
getSuccessStatus: 200;
|
|
310
|
+
requireContentLength: true;
|
|
311
|
+
requireContentType: true;
|
|
312
|
+
integritySource: "grant-metadata-and-completion";
|
|
313
|
+
}>;
|
|
240
314
|
export declare const coreMailCredentialVerifierPolicy: Readonly<{
|
|
241
315
|
readonly format: "argon2id-v1";
|
|
242
316
|
readonly version: 19;
|
package/dist_ts/data/coremail.js
CHANGED
|
@@ -16,11 +16,77 @@ export const coreMailLimits = Object.freeze({
|
|
|
16
16
|
aggregateAttachmentBytes: 17 * 1024 * 1024,
|
|
17
17
|
mimeFramingBytes: 512 * 1024,
|
|
18
18
|
serializedMimeBytes: 30 * 1024 * 1024,
|
|
19
|
+
recipientCount: 100,
|
|
20
|
+
inboundPageSize: 100,
|
|
21
|
+
inboundPageBytes: 56 * 1024,
|
|
22
|
+
cursorBytes: 1_024,
|
|
23
|
+
cursorMinimumDecodedBytes: 32,
|
|
24
|
+
routingHandleTtlMs: 5 * 60 * 1000,
|
|
19
25
|
transferGrantTtlMs: 5 * 60 * 1000,
|
|
20
26
|
transferHeaderTimeoutMs: 10 * 1000,
|
|
21
27
|
transferIdleTimeoutMs: 15 * 1000,
|
|
22
28
|
transferOverallTimeoutMs: 2 * 60 * 1000,
|
|
23
29
|
});
|
|
30
|
+
export const coreMailTransferTokenPolicy = Object.freeze({
|
|
31
|
+
format: 'base64url-256',
|
|
32
|
+
decodedBytes: 32,
|
|
33
|
+
encodedCharacters: 43,
|
|
34
|
+
});
|
|
35
|
+
export const coreMailWorkloadOperationPolicy = Object.freeze({
|
|
36
|
+
active: Object.freeze({
|
|
37
|
+
outbound: Object.freeze([
|
|
38
|
+
'coreMailPrepareOutboundSubmission',
|
|
39
|
+
'coreMailPrepareOutboundPartUpload',
|
|
40
|
+
'coreMailCompleteOutboundPartUpload',
|
|
41
|
+
'coreMailFinalizeOutboundSubmission',
|
|
42
|
+
'coreMailGetOutboundSubmission',
|
|
43
|
+
]),
|
|
44
|
+
inbound: Object.freeze([
|
|
45
|
+
'coreMailListInboundDeliveries',
|
|
46
|
+
'coreMailPrepareInboundFetch',
|
|
47
|
+
'coreMailCompleteInboundFetch',
|
|
48
|
+
'coreMailAcknowledgeInboundDelivery',
|
|
49
|
+
]),
|
|
50
|
+
}),
|
|
51
|
+
draining: Object.freeze({
|
|
52
|
+
outbound: Object.freeze([
|
|
53
|
+
'coreMailGetOutboundSubmission',
|
|
54
|
+
]),
|
|
55
|
+
inbound: Object.freeze([
|
|
56
|
+
'coreMailListInboundDeliveries',
|
|
57
|
+
'coreMailPrepareInboundFetch',
|
|
58
|
+
'coreMailCompleteInboundFetch',
|
|
59
|
+
'coreMailAcknowledgeInboundDelivery',
|
|
60
|
+
]),
|
|
61
|
+
}),
|
|
62
|
+
disabled: Object.freeze({
|
|
63
|
+
outbound: Object.freeze([]),
|
|
64
|
+
inbound: Object.freeze([]),
|
|
65
|
+
}),
|
|
66
|
+
});
|
|
67
|
+
export const coreMailRetentionPolicy = Object.freeze({
|
|
68
|
+
terminalOutboundMs: 30 * 24 * 60 * 60 * 1000,
|
|
69
|
+
acknowledgedInboundMs: 30 * 24 * 60 * 60 * 1000,
|
|
70
|
+
idempotencyReceiptMs: 30 * 24 * 60 * 60 * 1000,
|
|
71
|
+
expiredCapabilityMs: 24 * 60 * 60 * 1000,
|
|
72
|
+
pendingInboundAgePurge: false,
|
|
73
|
+
});
|
|
74
|
+
export const coreMailQuotaPolicy = Object.freeze({
|
|
75
|
+
windows: 'fixed-utc-minute-and-day',
|
|
76
|
+
outboundUnit: 'first-durable-idempotency-insert',
|
|
77
|
+
outboundReplayConsumesUnit: false,
|
|
78
|
+
pendingInboundStates: ['pending', 'fetching', 'fetched'],
|
|
79
|
+
inboundAcknowledgementReleasesUnit: true,
|
|
80
|
+
});
|
|
81
|
+
export const coreMailTransferProtocol = Object.freeze({
|
|
82
|
+
pathPrefix: '/transfers/',
|
|
83
|
+
authorizationScheme: 'Bearer',
|
|
84
|
+
putSuccessStatus: 204,
|
|
85
|
+
getSuccessStatus: 200,
|
|
86
|
+
requireContentLength: true,
|
|
87
|
+
requireContentType: true,
|
|
88
|
+
integritySource: 'grant-metadata-and-completion',
|
|
89
|
+
});
|
|
24
90
|
export const coreMailCredentialVerifierPolicy = Object.freeze({
|
|
25
91
|
format: 'argon2id-v1',
|
|
26
92
|
version: 19,
|
|
@@ -35,4 +101,4 @@ export const coreMailRuntimeKeys = Object.freeze({
|
|
|
35
101
|
controlCredentialSecret: 'COREMAIL_CONTROL_CREDENTIAL_SECRET',
|
|
36
102
|
gatewayCredentialSecret: 'COREMAIL_GATEWAY_CREDENTIAL',
|
|
37
103
|
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NvcmVtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFpVUgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUMsbUJBQW1CLEVBQUUsRUFBRSxHQUFHLElBQUk7SUFDOUIsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJO0lBQ2xDLGFBQWEsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDOUIsYUFBYSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUM5QixlQUFlLEVBQUUsRUFBRTtJQUNuQixlQUFlLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJO0lBQ2pDLHdCQUF3QixFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUMxQyxnQkFBZ0IsRUFBRSxHQUFHLEdBQUcsSUFBSTtJQUM1QixtQkFBbUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDckMsY0FBYyxFQUFFLEdBQUc7SUFDbkIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsZ0JBQWdCLEVBQUUsRUFBRSxHQUFHLElBQUk7SUFDM0IsV0FBVyxFQUFFLEtBQUs7SUFDbEIseUJBQXlCLEVBQUUsRUFBRTtJQUM3QixrQkFBa0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUk7SUFDakMsa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJO0lBQ2pDLHVCQUF1QixFQUFFLEVBQUUsR0FBRyxJQUFJO0lBQ2xDLHFCQUFxQixFQUFFLEVBQUUsR0FBRyxJQUFJO0lBQ2hDLHdCQUF3QixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSTtDQUMvQixDQUFDLENBQUM7QUFFWixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFD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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ICoreMailBindingCredentialVerifier, type ICoreMailControlBootstrap, type ICoreMailDesiredState, type ICoreMailGatewayPeerDesiredState, type TCoreMailSha256 } from './coremail.js';
|
|
1
|
+
import { type ICoreMailBindingCredentialVerifier, type ICoreMailControlBootstrap, type ICoreMailDesiredState, type ICoreMailDownloadGrant, type ICoreMailEnvelope, type ICoreMailErrorData, type ICoreMailGatewayOutboundStatus, type ICoreMailGatewayPeerDesiredState, type ICoreMailInboundDelivery, type ICoreMailInboundDeliveryPage, type ICoreMailOutboundMessageDescriptor, type ICoreMailRuntimeKeyReference, type ICoreMailReconciliationStatus, type ICoreMailReplicaIdentity, type ICoreMailSubmission, type ICoreMailTransferGrant, type ICoreMailUploadGrant, type TCoreMailCapability, type TCoreMailBindingState, type TCoreMailSha256, type TCoreMailWorkloadOperation } from './coremail.js';
|
|
2
2
|
export declare const coreMailCanonicalJsonRules: Readonly<{
|
|
3
3
|
version: 1;
|
|
4
4
|
encoding: "utf-8";
|
|
@@ -8,6 +8,7 @@ export declare const coreMailCanonicalJsonRules: Readonly<{
|
|
|
8
8
|
numberEncoding: "safe-integer-json-no-negative-zero";
|
|
9
9
|
digest: "sha256-lowercase-hex";
|
|
10
10
|
}>;
|
|
11
|
+
export declare const resolveCoreMailWorkloadOperations: (stateArg: TCoreMailBindingState, capabilitiesArg: readonly TCoreMailCapability[]) => readonly TCoreMailWorkloadOperation[];
|
|
11
12
|
export declare const coreMailContractLimits: Readonly<{
|
|
12
13
|
readonly maximumIdentifierBytes: 128;
|
|
13
14
|
readonly maximumEnvironmentKeyBytes: 128;
|
|
@@ -17,13 +18,38 @@ export declare const coreMailContractLimits: Readonly<{
|
|
|
17
18
|
readonly maximumCredentialsPerAuthority: 16;
|
|
18
19
|
readonly maximumAllowedSendersPerBinding: 1000;
|
|
19
20
|
readonly maximumInboundRecipientsPerBinding: 10000;
|
|
21
|
+
readonly maximumMessagesPerMinute: 100000;
|
|
22
|
+
readonly maximumMessagesPerDay: 10000000;
|
|
23
|
+
readonly maximumPendingInbound: 1000000;
|
|
24
|
+
readonly maximumDisplayNameBytes: 256;
|
|
25
|
+
readonly maximumSubjectBytes: 768;
|
|
26
|
+
readonly maximumHeaderCount: 32;
|
|
27
|
+
readonly maximumHeaderValueBytes: 768;
|
|
28
|
+
readonly maximumFilenameBytes: 512;
|
|
29
|
+
readonly maximumContentIdBytes: 256;
|
|
30
|
+
readonly maximumBearerTokenBytes: 1024;
|
|
20
31
|
}>;
|
|
21
32
|
export declare class CoreMailContractError extends Error {
|
|
22
33
|
constructor(reasonArg: string);
|
|
23
34
|
}
|
|
24
35
|
export declare const normalizeCoreMailSha256: (valueArg: unknown, pathArg?: string) => TCoreMailSha256;
|
|
25
36
|
export declare const normalizeCoreMailCredentialVerifier: (valueArg: unknown, pathArg?: string) => ICoreMailBindingCredentialVerifier;
|
|
37
|
+
export declare const normalizeCoreMailRuntimeKeyReference: (valueArg: unknown, pathArg?: string) => ICoreMailRuntimeKeyReference;
|
|
38
|
+
export declare const normalizeCoreMailEnvelope: (valueArg: unknown, pathArg?: string) => ICoreMailEnvelope;
|
|
39
|
+
export declare const normalizeCoreMailOutboundMessageDescriptor: (valueArg: unknown, pathArg?: string) => ICoreMailOutboundMessageDescriptor;
|
|
40
|
+
export declare const normalizeCoreMailInboundPageLimit: (valueArg: unknown) => number;
|
|
41
|
+
export declare const normalizeCoreMailErrorData: (valueArg: unknown, pathArg?: string) => ICoreMailErrorData;
|
|
42
|
+
export declare const normalizeCoreMailTransferGrant: (valueArg: unknown, pathArg?: string) => ICoreMailTransferGrant;
|
|
43
|
+
export declare const normalizeCoreMailUploadGrant: (valueArg: unknown, pathArg?: string) => ICoreMailUploadGrant;
|
|
44
|
+
export declare const normalizeCoreMailDownloadGrant: (valueArg: unknown, pathArg?: string) => ICoreMailDownloadGrant;
|
|
45
|
+
export declare const normalizeCoreMailSubmission: (valueArg: unknown, pathArg?: string) => ICoreMailSubmission;
|
|
46
|
+
export declare const normalizeCoreMailGatewayOutboundStatus: (valueArg: unknown, pathArg?: string) => ICoreMailGatewayOutboundStatus;
|
|
47
|
+
export declare const normalizeCoreMailInboundDelivery: (valueArg: unknown, pathArg?: string) => ICoreMailInboundDelivery;
|
|
48
|
+
export declare const normalizeCoreMailInboundCursor: (valueArg: unknown, pathArg?: string) => string;
|
|
49
|
+
export declare const normalizeCoreMailInboundDeliveryPage: (valueArg: unknown, pathArg?: string) => ICoreMailInboundDeliveryPage;
|
|
26
50
|
export declare const normalizeCoreMailDesiredState: (valueArg: unknown) => ICoreMailDesiredState;
|
|
51
|
+
export declare const normalizeCoreMailReplicaIdentity: (valueArg: unknown, pathArg?: string) => ICoreMailReplicaIdentity;
|
|
52
|
+
export declare const normalizeCoreMailReconciliationStatus: (valueArg: unknown, pathArg?: string) => ICoreMailReconciliationStatus;
|
|
27
53
|
export declare const canonicalizeCoreMailDesiredState: (valueArg: unknown) => string;
|
|
28
54
|
export declare const createCoreMailDesiredStateDigest: (valueArg: unknown) => Promise<TCoreMailSha256>;
|
|
29
55
|
export declare const verifyCoreMailDesiredStateDigest: (valueArg: unknown, digestArg: unknown) => Promise<boolean>;
|