@serve.zone/coremail 1.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/.smartconfig.json +50 -0
- package/changelog.md +10 -0
- package/cli.js +4 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.auth.d.ts +45 -0
- package/dist_ts/classes.auth.js +204 -0
- package/dist_ts/classes.config.d.ts +2 -0
- package/dist_ts/classes.config.js +72 -0
- package/dist_ts/classes.coremail.d.ts +41 -0
- package/dist_ts/classes.coremail.js +155 -0
- package/dist_ts/classes.desiredstate.d.ts +40 -0
- package/dist_ts/classes.desiredstate.js +382 -0
- package/dist_ts/classes.gateway.d.ts +62 -0
- package/dist_ts/classes.gateway.js +669 -0
- package/dist_ts/classes.inbound.d.ts +49 -0
- package/dist_ts/classes.inbound.js +702 -0
- package/dist_ts/classes.maintenance.d.ts +16 -0
- package/dist_ts/classes.maintenance.js +339 -0
- package/dist_ts/classes.models.d.ts +161 -0
- package/dist_ts/classes.models.js +595 -0
- package/dist_ts/classes.server.d.ts +40 -0
- package/dist_ts/classes.server.js +309 -0
- package/dist_ts/classes.storage.d.ts +32 -0
- package/dist_ts/classes.storage.js +317 -0
- package/dist_ts/classes.submissions.d.ts +33 -0
- package/dist_ts/classes.submissions.js +385 -0
- package/dist_ts/classes.transfer.d.ts +41 -0
- package/dist_ts/classes.transfer.js +289 -0
- package/dist_ts/coremail.cursor.d.ts +20 -0
- package/dist_ts/coremail.cursor.js +191 -0
- package/dist_ts/coremail.log.d.ts +3 -0
- package/dist_ts/coremail.log.js +11 -0
- package/dist_ts/coremail.mime.d.ts +8 -0
- package/dist_ts/coremail.mime.js +63 -0
- package/dist_ts/coremail.persistence.d.ts +148 -0
- package/dist_ts/coremail.persistence.js +695 -0
- package/dist_ts/coremail.quota.d.ts +29 -0
- package/dist_ts/coremail.quota.js +149 -0
- package/dist_ts/coremail.selectors.d.ts +3 -0
- package/dist_ts/coremail.selectors.js +21 -0
- package/dist_ts/coremail.validation.d.ts +9 -0
- package/dist_ts/coremail.validation.js +325 -0
- package/dist_ts/index.d.ts +4 -0
- package/dist_ts/index.js +39 -0
- package/dist_ts/interfaces.d.ts +92 -0
- package/dist_ts/interfaces.js +2 -0
- package/dist_ts/plugins.d.ts +11 -0
- package/dist_ts/plugins.js +12 -0
- package/license.md +19 -0
- package/package.json +48 -0
- package/readme.md +199 -0
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/classes.auth.ts +321 -0
- package/ts/classes.config.ts +104 -0
- package/ts/classes.coremail.ts +249 -0
- package/ts/classes.desiredstate.ts +508 -0
- package/ts/classes.gateway.ts +811 -0
- package/ts/classes.inbound.ts +898 -0
- package/ts/classes.maintenance.ts +335 -0
- package/ts/classes.models.ts +530 -0
- package/ts/classes.server.ts +444 -0
- package/ts/classes.storage.ts +448 -0
- package/ts/classes.submissions.ts +554 -0
- package/ts/classes.transfer.ts +379 -0
- package/ts/coremail.cursor.ts +328 -0
- package/ts/coremail.log.ts +21 -0
- package/ts/coremail.mime.ts +94 -0
- package/ts/coremail.persistence.ts +1156 -0
- package/ts/coremail.quota.ts +214 -0
- package/ts/coremail.selectors.ts +35 -0
- package/ts/coremail.validation.ts +446 -0
- package/ts/index.ts +38 -0
- package/ts/interfaces.ts +109 -0
- package/ts/plugins.ts +11 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import type { ISubmissionPartRecord, TTransferGrantPurpose } from './interfaces.js';
|
|
3
|
+
type TCoreMailSha256 = plugins.serveZoneInterfaces.data.TCoreMailSha256;
|
|
4
|
+
export interface ICoreMailStateRecord {
|
|
5
|
+
stateId: string;
|
|
6
|
+
appliedConfigEpoch: number;
|
|
7
|
+
appliedDesiredStateDigest: TCoreMailSha256;
|
|
8
|
+
snapshotId: string;
|
|
9
|
+
updatedAt: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ICoreMailDesiredSnapshotRecord {
|
|
12
|
+
snapshotId: string;
|
|
13
|
+
reconciliationId: string;
|
|
14
|
+
expectedAppliedConfigEpoch: number;
|
|
15
|
+
configEpoch: number;
|
|
16
|
+
desiredStateDigest: TCoreMailSha256;
|
|
17
|
+
lengthBytes: number;
|
|
18
|
+
objectKey: string;
|
|
19
|
+
state: 'staged' | 'active' | 'superseded' | 'failed' | 'retiring';
|
|
20
|
+
createdAt: number;
|
|
21
|
+
updatedAt: number;
|
|
22
|
+
activatedAt?: number;
|
|
23
|
+
retiringAt?: number;
|
|
24
|
+
errorCode?: plugins.serveZoneInterfaces.data.TCoreMailErrorCode;
|
|
25
|
+
}
|
|
26
|
+
export interface ICoreMailQuotaCounterRecord {
|
|
27
|
+
counterId: TCoreMailSha256;
|
|
28
|
+
tenantId: string;
|
|
29
|
+
serviceId: string;
|
|
30
|
+
bindingId: string;
|
|
31
|
+
bindingRevision: number;
|
|
32
|
+
kind: 'outbound-minute' | 'outbound-day' | 'pending-inbound';
|
|
33
|
+
windowStartedAt?: number;
|
|
34
|
+
count: number;
|
|
35
|
+
createdAt: number;
|
|
36
|
+
updatedAt: number;
|
|
37
|
+
}
|
|
38
|
+
export interface ICoreMailTransferGrantRecord {
|
|
39
|
+
grantId: string;
|
|
40
|
+
authorityKind: 'control' | 'gateway' | 'workload';
|
|
41
|
+
tenantId: string;
|
|
42
|
+
serviceId: string;
|
|
43
|
+
bindingId: string;
|
|
44
|
+
purpose: TTransferGrantPurpose;
|
|
45
|
+
method: 'PUT' | 'GET';
|
|
46
|
+
path: string;
|
|
47
|
+
bearerSha256: TCoreMailSha256;
|
|
48
|
+
expectedSha256: TCoreMailSha256;
|
|
49
|
+
lengthBytes: number;
|
|
50
|
+
contentType: string;
|
|
51
|
+
objectKey: string;
|
|
52
|
+
state: 'issued' | 'transferring' | 'consumed' | 'failed' | 'expired';
|
|
53
|
+
expiresAt: number;
|
|
54
|
+
createdAt: number;
|
|
55
|
+
consumedAt?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface ICoreMailSubmissionRecord {
|
|
58
|
+
submissionId: string;
|
|
59
|
+
tenantId: string;
|
|
60
|
+
serviceId: string;
|
|
61
|
+
bindingId: string;
|
|
62
|
+
bindingRevision: number;
|
|
63
|
+
revision: number;
|
|
64
|
+
idempotencyKey: string;
|
|
65
|
+
submissionDigest: TCoreMailSha256;
|
|
66
|
+
state: plugins.serveZoneInterfaces.data.TCoreMailSubmissionState;
|
|
67
|
+
message: plugins.serveZoneInterfaces.data.ICoreMailOutboundMessageDescriptor;
|
|
68
|
+
parts: ISubmissionPartRecord[];
|
|
69
|
+
mimeObjectKey?: string;
|
|
70
|
+
mimeSha256?: TCoreMailSha256;
|
|
71
|
+
mimeLengthBytes?: number;
|
|
72
|
+
mimePublishedAt?: number;
|
|
73
|
+
transportMessageId?: string;
|
|
74
|
+
transportGrantId?: string;
|
|
75
|
+
gatewayStatusUpdatedAt?: number;
|
|
76
|
+
attempts: number;
|
|
77
|
+
nextAttemptAt?: number;
|
|
78
|
+
workerRetryAt?: number;
|
|
79
|
+
retiringAt?: number;
|
|
80
|
+
leaseOwnerTaskId?: string;
|
|
81
|
+
leaseToken?: string;
|
|
82
|
+
leaseExpiresAt?: number;
|
|
83
|
+
acceptedAt?: number;
|
|
84
|
+
deliveredAt?: number;
|
|
85
|
+
terminalAt?: number;
|
|
86
|
+
error?: plugins.serveZoneInterfaces.data.ICoreMailErrorData;
|
|
87
|
+
createdAt: number;
|
|
88
|
+
updatedAt: number;
|
|
89
|
+
}
|
|
90
|
+
export interface ICoreMailInboundDeliveryRecord {
|
|
91
|
+
deliveryId: string;
|
|
92
|
+
tenantId: string;
|
|
93
|
+
serviceId: string;
|
|
94
|
+
bindingId: string;
|
|
95
|
+
bindingRevision: number;
|
|
96
|
+
revision: number;
|
|
97
|
+
transportDeliveryId: string;
|
|
98
|
+
state: plugins.serveZoneInterfaces.data.TCoreMailInboundDeliveryState;
|
|
99
|
+
envelope: plugins.serveZoneInterfaces.data.ICoreMailEnvelope;
|
|
100
|
+
rawMimeSha256: TCoreMailSha256;
|
|
101
|
+
rawMimeLengthBytes: number;
|
|
102
|
+
rawMimeObjectKey: string;
|
|
103
|
+
messageId?: string;
|
|
104
|
+
subject?: string;
|
|
105
|
+
receivedAt: number;
|
|
106
|
+
updatedAt: number;
|
|
107
|
+
fetchGrantId?: string;
|
|
108
|
+
acknowledgedOutcome?: plugins.serveZoneInterfaces.data.TCoreMailInboundAckOutcome;
|
|
109
|
+
}
|
|
110
|
+
export interface ICoreMailRecipientHandleRecord {
|
|
111
|
+
routingHandle: string;
|
|
112
|
+
tenantId: string;
|
|
113
|
+
serviceId: string;
|
|
114
|
+
bindingId: string;
|
|
115
|
+
bindingRevision: number;
|
|
116
|
+
maxPendingInbound: number;
|
|
117
|
+
recipient: string;
|
|
118
|
+
envelopeDigest: TCoreMailSha256;
|
|
119
|
+
state: 'issued' | 'consumed' | 'expired';
|
|
120
|
+
handoffId?: string;
|
|
121
|
+
expiresAt: number;
|
|
122
|
+
createdAt: number;
|
|
123
|
+
}
|
|
124
|
+
export interface ICoreMailInboundHandoffRecord {
|
|
125
|
+
handoffId: string;
|
|
126
|
+
revision: number;
|
|
127
|
+
transportDeliveryId: string;
|
|
128
|
+
routingHandles: string[];
|
|
129
|
+
message: plugins.serveZoneInterfaces.data.ICoreMailGatewayMessageDescriptor;
|
|
130
|
+
source: plugins.serveZoneInterfaces.data.IMailConnectionInfo;
|
|
131
|
+
state: 'prepared' | 'uploaded' | 'completed' | 'failed' | 'retiring';
|
|
132
|
+
objectKey: string;
|
|
133
|
+
grantId?: string;
|
|
134
|
+
deliveryIds: string[];
|
|
135
|
+
createdAt: number;
|
|
136
|
+
updatedAt: number;
|
|
137
|
+
completedAt?: number;
|
|
138
|
+
retiringAt?: number;
|
|
139
|
+
}
|
|
140
|
+
export declare const assertCoreMailStateRecord: (valueArg: unknown) => asserts valueArg is ICoreMailStateRecord;
|
|
141
|
+
export declare const assertCoreMailDesiredSnapshotRecord: (valueArg: unknown) => asserts valueArg is ICoreMailDesiredSnapshotRecord;
|
|
142
|
+
export declare const assertCoreMailQuotaCounterRecord: (valueArg: unknown) => asserts valueArg is ICoreMailQuotaCounterRecord;
|
|
143
|
+
export declare const assertCoreMailTransferGrantRecord: (valueArg: unknown) => asserts valueArg is ICoreMailTransferGrantRecord;
|
|
144
|
+
export declare const assertCoreMailSubmissionRecord: (valueArg: unknown) => asserts valueArg is ICoreMailSubmissionRecord;
|
|
145
|
+
export declare const assertCoreMailInboundDeliveryRecord: (valueArg: unknown) => asserts valueArg is ICoreMailInboundDeliveryRecord;
|
|
146
|
+
export declare const assertCoreMailRecipientHandleRecord: (valueArg: unknown) => asserts valueArg is ICoreMailRecipientHandleRecord;
|
|
147
|
+
export declare const assertCoreMailInboundHandoffRecord: (valueArg: unknown) => asserts valueArg is ICoreMailInboundHandoffRecord;
|
|
148
|
+
export {};
|