@vaultsandbox/client 0.9.1 → 0.9.2
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/dist/crypto/decrypt.d.ts +12 -4
- package/dist/crypto/decrypt.js +17 -8
- package/dist/crypto/decrypt.js.map +1 -1
- package/dist/crypto/signature.d.ts +3 -2
- package/dist/crypto/signature.js +8 -2
- package/dist/crypto/signature.js.map +1 -1
- package/dist/email.d.ts +2 -1
- package/dist/email.js +4 -2
- package/dist/email.js.map +1 -1
- package/dist/inbox.js +10 -6
- package/dist/inbox.js.map +1 -1
- package/dist/strategies/delivery-strategy.d.ts +4 -2
- package/dist/strategies/polling-strategy.d.ts +2 -2
- package/dist/strategies/polling-strategy.js +6 -6
- package/dist/strategies/polling-strategy.js.map +1 -1
- package/dist/strategies/sse-strategy.d.ts +2 -2
- package/dist/strategies/sse-strategy.js +7 -5
- package/dist/strategies/sse-strategy.js.map +1 -1
- package/dist/utils/email-utils.d.ts +7 -1
- package/dist/utils/email-utils.js +14 -8
- package/dist/utils/email-utils.js.map +1 -1
- package/package.json +6 -6
package/dist/crypto/decrypt.d.ts
CHANGED
|
@@ -30,34 +30,42 @@ export declare function decodePayload(encryptedData: EncryptedData): DecodedPayl
|
|
|
30
30
|
*
|
|
31
31
|
* @param encryptedData - The encrypted data from the server
|
|
32
32
|
* @param keypair - The recipient's keypair
|
|
33
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
33
34
|
* @returns The decrypted plaintext as a Uint8Array
|
|
34
35
|
* @throws DecryptionError if decryption fails
|
|
36
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
35
37
|
*/
|
|
36
|
-
export declare function decrypt(encryptedData: EncryptedData, keypair: Keypair): Promise<Uint8Array>;
|
|
38
|
+
export declare function decrypt(encryptedData: EncryptedData, keypair: Keypair, expectedServerPublicKey?: string): Promise<Uint8Array>;
|
|
37
39
|
/**
|
|
38
40
|
* Decrypts and parses email metadata
|
|
39
41
|
*
|
|
40
42
|
* @param encryptedData - The encrypted metadata
|
|
41
43
|
* @param keypair - The recipient's keypair
|
|
44
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
42
45
|
* @returns The decrypted metadata as a parsed JSON object
|
|
43
46
|
* @throws DecryptionError if decryption or parsing fails
|
|
47
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
44
48
|
*/
|
|
45
|
-
export declare function decryptMetadata<T = unknown>(encryptedData: EncryptedData, keypair: Keypair): Promise<T>;
|
|
49
|
+
export declare function decryptMetadata<T = unknown>(encryptedData: EncryptedData, keypair: Keypair, expectedServerPublicKey?: string): Promise<T>;
|
|
46
50
|
/**
|
|
47
51
|
* Decrypts and parses email body (parsed content)
|
|
48
52
|
*
|
|
49
53
|
* @param encryptedData - The encrypted parsed content
|
|
50
54
|
* @param keypair - The recipient's keypair
|
|
55
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
51
56
|
* @returns The decrypted parsed content as a JSON object
|
|
52
57
|
* @throws DecryptionError if decryption or parsing fails
|
|
58
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
53
59
|
*/
|
|
54
|
-
export declare function decryptParsed<T = unknown>(encryptedData: EncryptedData, keypair: Keypair): Promise<T>;
|
|
60
|
+
export declare function decryptParsed<T = unknown>(encryptedData: EncryptedData, keypair: Keypair, expectedServerPublicKey?: string): Promise<T>;
|
|
55
61
|
/**
|
|
56
62
|
* Decrypts raw email source
|
|
57
63
|
*
|
|
58
64
|
* @param encryptedData - The encrypted raw email
|
|
59
65
|
* @param keypair - The recipient's keypair
|
|
66
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
60
67
|
* @returns The decrypted raw email as a string
|
|
61
68
|
* @throws DecryptionError if decryption fails
|
|
69
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
62
70
|
*/
|
|
63
|
-
export declare function decryptRaw(encryptedData: EncryptedData, keypair: Keypair): Promise<string>;
|
|
71
|
+
export declare function decryptRaw(encryptedData: EncryptedData, keypair: Keypair, expectedServerPublicKey?: string): Promise<string>;
|
package/dist/crypto/decrypt.js
CHANGED
|
@@ -80,17 +80,20 @@ function validatePayload(encryptedData, decoded) {
|
|
|
80
80
|
*
|
|
81
81
|
* @param encryptedData - The encrypted data from the server
|
|
82
82
|
* @param keypair - The recipient's keypair
|
|
83
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
83
84
|
* @returns The decrypted plaintext as a Uint8Array
|
|
84
85
|
* @throws DecryptionError if decryption fails
|
|
86
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
85
87
|
*/
|
|
86
|
-
export async function decrypt(encryptedData, keypair) {
|
|
88
|
+
export async function decrypt(encryptedData, keypair, expectedServerPublicKey) {
|
|
87
89
|
try {
|
|
88
90
|
// Step 1: Decode all base64url fields once
|
|
89
91
|
const decoded = decodePayload(encryptedData);
|
|
90
92
|
// Steps 2-4: Parse and validate payload (version, algorithms, sizes)
|
|
91
93
|
validatePayload(encryptedData, decoded);
|
|
92
94
|
// Step 6: SECURITY: Verify signature BEFORE decryption (prevent tampering)
|
|
93
|
-
|
|
95
|
+
// Also validates server public key matches expected if provided (MITM protection)
|
|
96
|
+
verifySignature(encryptedData, decoded, expectedServerPublicKey);
|
|
94
97
|
// Step 7-9: Use pre-decoded values for decapsulation, key derivation, and decryption
|
|
95
98
|
const { ctKem, nonce: nonceBytes, aad: aadBytes, ciphertext: ciphertextBytes } = decoded;
|
|
96
99
|
// 2. KEM Decapsulation to get shared secret
|
|
@@ -134,11 +137,13 @@ export async function decrypt(encryptedData, keypair) {
|
|
|
134
137
|
*
|
|
135
138
|
* @param encryptedData - The encrypted metadata
|
|
136
139
|
* @param keypair - The recipient's keypair
|
|
140
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
137
141
|
* @returns The decrypted metadata as a parsed JSON object
|
|
138
142
|
* @throws DecryptionError if decryption or parsing fails
|
|
143
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
139
144
|
*/
|
|
140
|
-
export async function decryptMetadata(encryptedData, keypair) {
|
|
141
|
-
const plaintext = await decrypt(encryptedData, keypair);
|
|
145
|
+
export async function decryptMetadata(encryptedData, keypair, expectedServerPublicKey) {
|
|
146
|
+
const plaintext = await decrypt(encryptedData, keypair, expectedServerPublicKey);
|
|
142
147
|
try {
|
|
143
148
|
const jsonString = new TextDecoder().decode(plaintext);
|
|
144
149
|
return JSON.parse(jsonString);
|
|
@@ -154,22 +159,26 @@ export async function decryptMetadata(encryptedData, keypair) {
|
|
|
154
159
|
*
|
|
155
160
|
* @param encryptedData - The encrypted parsed content
|
|
156
161
|
* @param keypair - The recipient's keypair
|
|
162
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
157
163
|
* @returns The decrypted parsed content as a JSON object
|
|
158
164
|
* @throws DecryptionError if decryption or parsing fails
|
|
165
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
159
166
|
*/
|
|
160
|
-
export async function decryptParsed(encryptedData, keypair) {
|
|
161
|
-
return decryptMetadata(encryptedData, keypair);
|
|
167
|
+
export async function decryptParsed(encryptedData, keypair, expectedServerPublicKey) {
|
|
168
|
+
return decryptMetadata(encryptedData, keypair, expectedServerPublicKey);
|
|
162
169
|
}
|
|
163
170
|
/**
|
|
164
171
|
* Decrypts raw email source
|
|
165
172
|
*
|
|
166
173
|
* @param encryptedData - The encrypted raw email
|
|
167
174
|
* @param keypair - The recipient's keypair
|
|
175
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
168
176
|
* @returns The decrypted raw email as a string
|
|
169
177
|
* @throws DecryptionError if decryption fails
|
|
178
|
+
* @throws SignatureVerificationError if server key doesn't match expected
|
|
170
179
|
*/
|
|
171
|
-
export async function decryptRaw(encryptedData, keypair) {
|
|
172
|
-
const plaintext = await decrypt(encryptedData, keypair);
|
|
180
|
+
export async function decryptRaw(encryptedData, keypair, expectedServerPublicKey) {
|
|
181
|
+
const plaintext = await decrypt(encryptedData, keypair, expectedServerPublicKey);
|
|
173
182
|
try {
|
|
174
183
|
// Decrypted content is a base64-encoded string
|
|
175
184
|
const base64String = new TextDecoder().decode(plaintext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../src/crypto/decrypt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../src/crypto/decrypt.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,11 @@ import type { DecodedPayload } from './decrypt.js';
|
|
|
10
10
|
*
|
|
11
11
|
* @param encryptedData - The encrypted data with signature
|
|
12
12
|
* @param decoded - Optional pre-decoded payload fields to avoid redundant decoding
|
|
13
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) to validate against
|
|
13
14
|
* @returns True if signature is valid
|
|
14
|
-
* @throws SignatureVerificationError if verification fails
|
|
15
|
+
* @throws SignatureVerificationError if verification fails or server key doesn't match expected
|
|
15
16
|
*/
|
|
16
|
-
export declare function verifySignature(encryptedData: EncryptedData, decoded?: DecodedPayload): boolean;
|
|
17
|
+
export declare function verifySignature(encryptedData: EncryptedData, decoded?: DecodedPayload, expectedServerPublicKey?: string): boolean;
|
|
17
18
|
/**
|
|
18
19
|
* Verifies a signature without throwing an error
|
|
19
20
|
*
|
package/dist/crypto/signature.js
CHANGED
|
@@ -28,11 +28,17 @@ function buildTranscript(version, algsCiphersuite, ctKem, nonce, aad, ciphertext
|
|
|
28
28
|
*
|
|
29
29
|
* @param encryptedData - The encrypted data with signature
|
|
30
30
|
* @param decoded - Optional pre-decoded payload fields to avoid redundant decoding
|
|
31
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) to validate against
|
|
31
32
|
* @returns True if signature is valid
|
|
32
|
-
* @throws SignatureVerificationError if verification fails
|
|
33
|
+
* @throws SignatureVerificationError if verification fails or server key doesn't match expected
|
|
33
34
|
*/
|
|
34
|
-
export function verifySignature(encryptedData, decoded) {
|
|
35
|
+
export function verifySignature(encryptedData, decoded, expectedServerPublicKey) {
|
|
35
36
|
try {
|
|
37
|
+
// 0. Validate server public key matches expected (MITM protection)
|
|
38
|
+
if (expectedServerPublicKey && encryptedData.server_sig_pk !== expectedServerPublicKey) {
|
|
39
|
+
throw new SignatureVerificationError('Server public key mismatch - possible MITM attack. ' +
|
|
40
|
+
'The encrypted data was signed by a different server than expected.');
|
|
41
|
+
}
|
|
36
42
|
// 1. Use pre-decoded values or decode components
|
|
37
43
|
const signature = decoded?.sig ?? fromBase64Url(encryptedData.sig);
|
|
38
44
|
const ctKem = decoded?.ctKem ?? fromBase64Url(encryptedData.ct_kem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/crypto/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIrE;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAA6D;IACzF,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,OAAe,EACf,eAAuB,EACvB,KAAiB,EACjB,KAAiB,EACjB,GAAe,EACf,UAAsB,EACtB,WAAuB,EACvB,OAAe;IAEf,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAC1G,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/crypto/signature.ts"],"names":[],"mappings":"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"}
|
package/dist/email.d.ts
CHANGED
|
@@ -39,11 +39,12 @@ export declare class Email implements IEmail {
|
|
|
39
39
|
private emailAddress;
|
|
40
40
|
private apiClient;
|
|
41
41
|
private keypair;
|
|
42
|
+
private serverPublicKey;
|
|
42
43
|
/**
|
|
43
44
|
* @internal
|
|
44
45
|
* Do not construct this class directly.
|
|
45
46
|
*/
|
|
46
|
-
constructor(emailData: EmailData, metadata: DecryptedMetadata, parsed: DecryptedParsed | null, emailAddress: string, apiClient: ApiClient, keypair: Keypair | null);
|
|
47
|
+
constructor(emailData: EmailData, metadata: DecryptedMetadata, parsed: DecryptedParsed | null, emailAddress: string, apiClient: ApiClient, keypair: Keypair | null, serverPublicKey?: string | null);
|
|
47
48
|
/**
|
|
48
49
|
* Returns whether the email is classified as spam.
|
|
49
50
|
*
|
package/dist/email.js
CHANGED
|
@@ -111,11 +111,12 @@ export class Email {
|
|
|
111
111
|
emailAddress;
|
|
112
112
|
apiClient;
|
|
113
113
|
keypair;
|
|
114
|
+
serverPublicKey;
|
|
114
115
|
/**
|
|
115
116
|
* @internal
|
|
116
117
|
* Do not construct this class directly.
|
|
117
118
|
*/
|
|
118
|
-
constructor(emailData, metadata, parsed, emailAddress, apiClient, keypair) {
|
|
119
|
+
constructor(emailData, metadata, parsed, emailAddress, apiClient, keypair, serverPublicKey) {
|
|
119
120
|
this.id = emailData.id;
|
|
120
121
|
this.from = metadata.from;
|
|
121
122
|
this.to = Array.isArray(metadata.to) ? metadata.to : [metadata.to].filter(Boolean);
|
|
@@ -126,6 +127,7 @@ export class Email {
|
|
|
126
127
|
this.emailAddress = emailAddress;
|
|
127
128
|
this.apiClient = apiClient;
|
|
128
129
|
this.keypair = keypair;
|
|
130
|
+
this.serverPublicKey = serverPublicKey ?? null;
|
|
129
131
|
// istanbul ignore next -- this.to is always an array per line 166, else branch is defensive
|
|
130
132
|
debug('Creating email %s from %s to %s', this.id, this.from, Array.isArray(this.to) ? this.to.join(', ') : this.to);
|
|
131
133
|
// If parsed content is available, use it
|
|
@@ -213,7 +215,7 @@ export class Email {
|
|
|
213
215
|
if (!this.keypair) {
|
|
214
216
|
throw new DecryptionError(`Cannot decrypt raw email: no keypair available for ${this.emailAddress}`);
|
|
215
217
|
}
|
|
216
|
-
raw = await decryptRaw(rawEmailData.encryptedRaw, this.keypair);
|
|
218
|
+
raw = await decryptRaw(rawEmailData.encryptedRaw, this.keypair, this.serverPublicKey ?? undefined);
|
|
217
219
|
}
|
|
218
220
|
else if (rawEmailData.raw) {
|
|
219
221
|
// Plain inbox - decode base64
|
package/dist/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../src/email.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../src/email.ts"],"names":[],"mappings":"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"}
|
package/dist/inbox.js
CHANGED
|
@@ -82,7 +82,8 @@ export class Inbox {
|
|
|
82
82
|
const emails = [];
|
|
83
83
|
for (const emailData of emailsData) {
|
|
84
84
|
const email = isEncryptedEmailData(emailData)
|
|
85
|
-
? await decryptEmailData(emailData, this.requireKeypair(), this.emailAddress, this.apiClient
|
|
85
|
+
? await decryptEmailData(emailData, this.requireKeypair(), this.emailAddress, this.apiClient,
|
|
86
|
+
/* istanbul ignore next - defensive null to undefined */ this.serverPublicKey ?? undefined)
|
|
86
87
|
: decodeBase64EmailData(emailData, this.emailAddress, this.apiClient);
|
|
87
88
|
emails.push(email);
|
|
88
89
|
}
|
|
@@ -102,7 +103,8 @@ export class Inbox {
|
|
|
102
103
|
for (const emailData of emailsData) {
|
|
103
104
|
let metadata;
|
|
104
105
|
if (isEncryptedEmailData(emailData)) {
|
|
105
|
-
metadata = await decryptMetadata(emailData.encryptedMetadata, this.requireKeypair()
|
|
106
|
+
metadata = await decryptMetadata(emailData.encryptedMetadata, this.requireKeypair(),
|
|
107
|
+
/* istanbul ignore next - defensive null to undefined */ this.serverPublicKey ?? undefined);
|
|
106
108
|
}
|
|
107
109
|
else {
|
|
108
110
|
// Plain email - decode base64 metadata
|
|
@@ -130,7 +132,8 @@ export class Inbox {
|
|
|
130
132
|
debug('Retrieving email %s from inbox %s', emailId, this.emailAddress);
|
|
131
133
|
const emailData = await this.apiClient.getEmail(this.emailAddress, emailId);
|
|
132
134
|
const email = isEncryptedEmailData(emailData)
|
|
133
|
-
? await decryptEmailData(emailData, this.requireKeypair(), this.emailAddress, this.apiClient
|
|
135
|
+
? await decryptEmailData(emailData, this.requireKeypair(), this.emailAddress, this.apiClient,
|
|
136
|
+
/* istanbul ignore next - defensive null to undefined */ this.serverPublicKey ?? undefined)
|
|
134
137
|
: decodeBase64EmailData(emailData, this.emailAddress, this.apiClient);
|
|
135
138
|
debug('Successfully retrieved and processed email %s', emailId);
|
|
136
139
|
return email;
|
|
@@ -146,7 +149,8 @@ export class Inbox {
|
|
|
146
149
|
const rawEmailData = await this.apiClient.getRawEmail(this.emailAddress, emailId);
|
|
147
150
|
let raw;
|
|
148
151
|
if (rawEmailData.encryptedRaw) {
|
|
149
|
-
|
|
152
|
+
/* istanbul ignore next - defensive null to undefined */
|
|
153
|
+
raw = await decryptRaw(rawEmailData.encryptedRaw, this.requireKeypair(), this.serverPublicKey ?? undefined);
|
|
150
154
|
}
|
|
151
155
|
else if (rawEmailData.raw) {
|
|
152
156
|
// Plain email - decode base64
|
|
@@ -172,7 +176,7 @@ export class Inbox {
|
|
|
172
176
|
throw new StrategyError('No delivery strategy set. Call setStrategy() first.');
|
|
173
177
|
}
|
|
174
178
|
debug('Waiting for email in inbox %s with options: %O', this.emailAddress, options);
|
|
175
|
-
const email = await this.strategy.waitForEmail(this.emailAddress, this.inboxHash, this.keypair, options);
|
|
179
|
+
const email = await this.strategy.waitForEmail(this.emailAddress, this.inboxHash, this.keypair, options, this.serverPublicKey);
|
|
176
180
|
debug('Successfully received email %s in inbox %s', email.id, this.emailAddress);
|
|
177
181
|
return email;
|
|
178
182
|
}
|
|
@@ -256,7 +260,7 @@ export class Inbox {
|
|
|
256
260
|
throw new StrategyError('No delivery strategy set. Call setStrategy() first.');
|
|
257
261
|
}
|
|
258
262
|
debug('Subscribing to new emails for inbox %s', this.emailAddress);
|
|
259
|
-
const subscription = this.strategy.subscribe(this.emailAddress, this.inboxHash, this.keypair, callback);
|
|
263
|
+
const subscription = this.strategy.subscribe(this.emailAddress, this.inboxHash, this.keypair, callback, undefined, undefined, undefined, this.serverPublicKey);
|
|
260
264
|
// Track the subscription and wrap unsubscribe to remove from tracking
|
|
261
265
|
const trackedSubscription = {
|
|
262
266
|
unsubscribe: () => {
|
package/dist/inbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,10 @@ export interface DeliveryStrategy {
|
|
|
10
10
|
* @param inboxHash - The inbox hash for SSE subscription
|
|
11
11
|
* @param keypair - Keypair for decryption (null for plain inboxes)
|
|
12
12
|
* @param options - Wait options including timeout and filters
|
|
13
|
+
* @param serverPublicKey - Optional server public key for MITM protection
|
|
13
14
|
* @returns Promise resolving to the matched email
|
|
14
15
|
*/
|
|
15
|
-
waitForEmail(emailAddress: string, inboxHash: string, keypair: Keypair | null, options: WaitOptions): Promise<IEmail>;
|
|
16
|
+
waitForEmail(emailAddress: string, inboxHash: string, keypair: Keypair | null, options: WaitOptions, serverPublicKey?: string | null): Promise<IEmail>;
|
|
16
17
|
/**
|
|
17
18
|
* Subscribe to new email notifications
|
|
18
19
|
* @param emailAddress - The inbox email address
|
|
@@ -22,9 +23,10 @@ export interface DeliveryStrategy {
|
|
|
22
23
|
* @param emailCache - Optional local email cache for sync operations
|
|
23
24
|
* @param onEmailDeleted - Optional callback when email is deleted from server
|
|
24
25
|
* @param onError - Optional callback when an error occurs during processing
|
|
26
|
+
* @param serverPublicKey - Optional server public key for MITM protection
|
|
25
27
|
* @returns Subscription object with unsubscribe method
|
|
26
28
|
*/
|
|
27
|
-
subscribe(emailAddress: string, inboxHash: string, keypair: Keypair | null, callback: (email: IEmail) => void | Promise<void>, emailCache?: Map<string, EmailData>, onEmailDeleted?: (emailId: string) => void, onError?: (error: Error) => void): Subscription;
|
|
29
|
+
subscribe(emailAddress: string, inboxHash: string, keypair: Keypair | null, callback: (email: IEmail) => void | Promise<void>, emailCache?: Map<string, EmailData>, onEmailDeleted?: (emailId: string) => void, onError?: (error: Error) => void, serverPublicKey?: string | null): Subscription;
|
|
28
30
|
/**
|
|
29
31
|
* Close and cleanup resources
|
|
30
32
|
*/
|
|
@@ -28,7 +28,7 @@ export declare class PollingStrategy implements DeliveryStrategy {
|
|
|
28
28
|
/**
|
|
29
29
|
* Waits for an email matching the specified criteria using smart polling
|
|
30
30
|
*/
|
|
31
|
-
waitForEmail(emailAddress: string, _inboxHash: string, keypair: Keypair | null, options?: WaitOptions): Promise<IEmail>;
|
|
31
|
+
waitForEmail(emailAddress: string, _inboxHash: string, keypair: Keypair | null, options?: WaitOptions, serverPublicKey?: string | null): Promise<IEmail>;
|
|
32
32
|
/**
|
|
33
33
|
* Processes a list of email data objects (decrypts or decodes based on format)
|
|
34
34
|
*/
|
|
@@ -36,7 +36,7 @@ export declare class PollingStrategy implements DeliveryStrategy {
|
|
|
36
36
|
/**
|
|
37
37
|
* Subscribe to new email notifications (polling-based)
|
|
38
38
|
*/
|
|
39
|
-
subscribe(emailAddress: string, _inboxHash: string, keypair: Keypair | null, callback: (email: IEmail) => void | Promise<void>, emailCache?: Map<string, EmailData>, onEmailDeleted?: (emailId: string) => void, onError?: (error: Error) => void): Subscription;
|
|
39
|
+
subscribe(emailAddress: string, _inboxHash: string, keypair: Keypair | null, callback: (email: IEmail) => void | Promise<void>, emailCache?: Map<string, EmailData>, onEmailDeleted?: (emailId: string) => void, onError?: (error: Error) => void, serverPublicKey?: string | null): Subscription;
|
|
40
40
|
/**
|
|
41
41
|
* Close and cleanup resources
|
|
42
42
|
*/
|
|
@@ -36,7 +36,7 @@ export class PollingStrategy {
|
|
|
36
36
|
/**
|
|
37
37
|
* Waits for an email matching the specified criteria using smart polling
|
|
38
38
|
*/
|
|
39
|
-
async waitForEmail(emailAddress, _inboxHash, keypair, options = {}) {
|
|
39
|
+
async waitForEmail(emailAddress, _inboxHash, keypair, options = {}, serverPublicKey) {
|
|
40
40
|
/* istanbul ignore next 2 - compile-time defaults, only one branch taken per execution */
|
|
41
41
|
const timeout = options.timeout ?? 30000;
|
|
42
42
|
const pollInterval = options.pollInterval ?? this.initialInterval;
|
|
@@ -53,7 +53,7 @@ export class PollingStrategy {
|
|
|
53
53
|
if (syncStatus.emailCount > 0) {
|
|
54
54
|
// Hash changed - fetch full email list with content
|
|
55
55
|
const emailsData = await this.apiClient.listEmails(emailAddress, true);
|
|
56
|
-
const emails = await this.processEmails(emailsData, keypair, emailAddress);
|
|
56
|
+
const emails = await this.processEmails(emailsData, keypair, emailAddress, serverPublicKey);
|
|
57
57
|
const matchingEmail = findMatchingEmail(emails, options);
|
|
58
58
|
if (matchingEmail) {
|
|
59
59
|
return matchingEmail;
|
|
@@ -101,11 +101,11 @@ export class PollingStrategy {
|
|
|
101
101
|
/**
|
|
102
102
|
* Processes a list of email data objects (decrypts or decodes based on format)
|
|
103
103
|
*/
|
|
104
|
-
async processEmails(emailsData, keypair, emailAddress) {
|
|
104
|
+
async processEmails(emailsData, keypair, emailAddress, serverPublicKey) {
|
|
105
105
|
const emails = [];
|
|
106
106
|
for (const emailData of emailsData) {
|
|
107
107
|
const email = isEncryptedEmailData(emailData)
|
|
108
|
-
? await decryptEmailData(emailData, this.validateKeypair(keypair, emailAddress), emailAddress, this.apiClient)
|
|
108
|
+
? await decryptEmailData(emailData, this.validateKeypair(keypair, emailAddress), emailAddress, this.apiClient, serverPublicKey ?? undefined)
|
|
109
109
|
: decodeBase64EmailData(emailData, emailAddress, this.apiClient);
|
|
110
110
|
emails.push(email);
|
|
111
111
|
}
|
|
@@ -114,7 +114,7 @@ export class PollingStrategy {
|
|
|
114
114
|
/**
|
|
115
115
|
* Subscribe to new email notifications (polling-based)
|
|
116
116
|
*/
|
|
117
|
-
subscribe(emailAddress, _inboxHash, keypair, callback, emailCache, onEmailDeleted, onError) {
|
|
117
|
+
subscribe(emailAddress, _inboxHash, keypair, callback, emailCache, onEmailDeleted, onError, serverPublicKey) {
|
|
118
118
|
let isActive = true;
|
|
119
119
|
const localCache = emailCache ?? new Map();
|
|
120
120
|
const seenEmails = new Set();
|
|
@@ -134,7 +134,7 @@ export class PollingStrategy {
|
|
|
134
134
|
// Fetch full email content for new emails
|
|
135
135
|
const fullEmailData = await this.apiClient.getEmail(emailAddress, emailData.id);
|
|
136
136
|
const email = isEncryptedEmailData(fullEmailData)
|
|
137
|
-
? await decryptEmailData(fullEmailData, this.validateKeypair(keypair, emailAddress), emailAddress, this.apiClient)
|
|
137
|
+
? await decryptEmailData(fullEmailData, this.validateKeypair(keypair, emailAddress), emailAddress, this.apiClient, serverPublicKey ?? undefined)
|
|
138
138
|
: decodeBase64EmailData(fullEmailData, emailAddress, this.apiClient);
|
|
139
139
|
const callbackResult = callback(email);
|
|
140
140
|
// Handle case where callback returns a promise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-strategy.js","sourceRoot":"","sources":["../../src/strategies/polling-strategy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,WAAW,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,KAAK,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;AAS3D,MAAM,OAAO,eAAe;IAClB,SAAS,CAAY;IACrB,eAAe,CAAS;IACxB,UAAU,CAAS;IACnB,iBAAiB,CAAS;IAC1B,YAAY,CAAS;IAE7B,YAAY,SAAoB,EAAE,SAAwB,EAAE;QAC1D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,OAAuB,EAAE,YAAoB;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,eAAe,CAAC,sCAAsC,YAAY,2BAA2B,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,YAAoB,EACpB,UAAkB,EAClB,OAAuB,EACvB,UAAuB,EAAE;
|
|
1
|
+
{"version":3,"file":"polling-strategy.js","sourceRoot":"","sources":["../../src/strategies/polling-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,11 +38,11 @@ export declare class SSEStrategy implements DeliveryStrategy {
|
|
|
38
38
|
/**
|
|
39
39
|
* Wait for an email matching the specified criteria using SSE
|
|
40
40
|
*/
|
|
41
|
-
waitForEmail(emailAddress: string, inboxHash: string, keypair: Keypair | null, options?: WaitOptions): Promise<IEmail>;
|
|
41
|
+
waitForEmail(emailAddress: string, inboxHash: string, keypair: Keypair | null, options?: WaitOptions, serverPublicKey?: string | null): Promise<IEmail>;
|
|
42
42
|
/**
|
|
43
43
|
* Subscribe to new email notifications for a specific inbox
|
|
44
44
|
*/
|
|
45
|
-
subscribe(emailAddress: string, inboxHash: string, keypair: Keypair | null, callback: (email: IEmail) => void | Promise<void>, emailCache?: Map<string, EmailData>, onEmailDeleted?: (emailId: string) => void, onError?: (error: Error) => void): Subscription;
|
|
45
|
+
subscribe(emailAddress: string, inboxHash: string, keypair: Keypair | null, callback: (email: IEmail) => void | Promise<void>, emailCache?: Map<string, EmailData>, onEmailDeleted?: (emailId: string) => void, onError?: (error: Error) => void, serverPublicKey?: string | null): Subscription;
|
|
46
46
|
/**
|
|
47
47
|
* Connect to SSE endpoint
|
|
48
48
|
*/
|
|
@@ -79,7 +79,7 @@ export class SSEStrategy {
|
|
|
79
79
|
* Wait for an email matching the specified criteria using SSE
|
|
80
80
|
*/
|
|
81
81
|
async waitForEmail(emailAddress, inboxHash, keypair,
|
|
82
|
-
/* istanbul ignore next - default parameter */ options = {}) {
|
|
82
|
+
/* istanbul ignore next - default parameter */ options = {}, serverPublicKey) {
|
|
83
83
|
const timeout = options.timeout ?? /* istanbul ignore next - default timeout */ 30000;
|
|
84
84
|
const startTime = Date.now();
|
|
85
85
|
return new Promise((resolve, reject) => {
|
|
@@ -101,7 +101,7 @@ export class SSEStrategy {
|
|
|
101
101
|
subscription.unsubscribe();
|
|
102
102
|
resolve(email);
|
|
103
103
|
}
|
|
104
|
-
});
|
|
104
|
+
}, undefined, undefined, undefined, serverPublicKey);
|
|
105
105
|
// If we're past the timeout already, reject immediately
|
|
106
106
|
if (Date.now() - startTime >= timeout) {
|
|
107
107
|
resolved = true;
|
|
@@ -114,7 +114,7 @@ export class SSEStrategy {
|
|
|
114
114
|
/**
|
|
115
115
|
* Subscribe to new email notifications for a specific inbox
|
|
116
116
|
*/
|
|
117
|
-
subscribe(emailAddress, inboxHash, keypair, callback, emailCache, onEmailDeleted, onError) {
|
|
117
|
+
subscribe(emailAddress, inboxHash, keypair, callback, emailCache, onEmailDeleted, onError, serverPublicKey) {
|
|
118
118
|
// Get or create subscription entry
|
|
119
119
|
let subscription = this.subscriptions.get(emailAddress);
|
|
120
120
|
if (!subscription) {
|
|
@@ -122,6 +122,7 @@ export class SSEStrategy {
|
|
|
122
122
|
emailAddress,
|
|
123
123
|
inboxHash,
|
|
124
124
|
keypair,
|
|
125
|
+
serverPublicKey: serverPublicKey ?? null,
|
|
125
126
|
callbacks: new Set(),
|
|
126
127
|
errorCallbacks: new Set(),
|
|
127
128
|
seenEmailIds: new Set(),
|
|
@@ -281,7 +282,8 @@ export class SSEStrategy {
|
|
|
281
282
|
this.trimCache(subscription.emailCache);
|
|
282
283
|
// Decrypt or decode email based on format
|
|
283
284
|
const email = isEncryptedEmailData(emailData)
|
|
284
|
-
? await decryptEmailData(emailData, this.validateKeypair(subscription.keypair, subscription.emailAddress), subscription.emailAddress, this.apiClient
|
|
285
|
+
? await decryptEmailData(emailData, this.validateKeypair(subscription.keypair, subscription.emailAddress), subscription.emailAddress, this.apiClient,
|
|
286
|
+
/* istanbul ignore next - defensive null to undefined */ subscription.serverPublicKey ?? undefined)
|
|
285
287
|
: decodeBase64EmailData(emailData, subscription.emailAddress, this.apiClient);
|
|
286
288
|
// Notify all callbacks for this inbox
|
|
287
289
|
subscription.callbacks.forEach((callback) => {
|
|
@@ -366,7 +368,7 @@ export class SSEStrategy {
|
|
|
366
368
|
this.trimCache(subscription.emailCache);
|
|
367
369
|
// Decrypt or decode and notify
|
|
368
370
|
const email = isEncryptedEmailData(fullEmailData)
|
|
369
|
-
? await decryptEmailData(fullEmailData, this.validateKeypair(subscription.keypair, subscription.emailAddress), subscription.emailAddress, this.apiClient)
|
|
371
|
+
? await decryptEmailData(fullEmailData, this.validateKeypair(subscription.keypair, subscription.emailAddress), subscription.emailAddress, this.apiClient, subscription.serverPublicKey ?? undefined)
|
|
370
372
|
: /* istanbul ignore next */ decodeBase64EmailData(fullEmailData, subscription.emailAddress, this.apiClient);
|
|
371
373
|
/* istanbul ignore next - callback execution after successful decryption */
|
|
372
374
|
subscription.callbacks.forEach((callback) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-strategy.js","sourceRoot":"","sources":["../../src/strategies/sse-strategy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sse-strategy.js","sourceRoot":"","sources":["../../src/strategies/sse-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,14 @@ export declare function isEncryptedEmailData(email: EmailData): email is Encrypt
|
|
|
13
13
|
* Decrypts an EncryptedEmailData object into an Email instance.
|
|
14
14
|
* Expects full email data with encryptedParsed content.
|
|
15
15
|
* IMPORTANT: Signature verification happens BEFORE decryption for security
|
|
16
|
+
*
|
|
17
|
+
* @param emailData - The encrypted email data
|
|
18
|
+
* @param keypair - The recipient's keypair for decryption
|
|
19
|
+
* @param emailAddress - The inbox email address
|
|
20
|
+
* @param apiClient - API client for email operations
|
|
21
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
16
22
|
*/
|
|
17
|
-
export declare function decryptEmailData(emailData: EncryptedEmailData, keypair: Keypair, emailAddress: string, apiClient: ApiClient): Promise<IEmail>;
|
|
23
|
+
export declare function decryptEmailData(emailData: EncryptedEmailData, keypair: Keypair, emailAddress: string, apiClient: ApiClient, expectedServerPublicKey?: string): Promise<IEmail>;
|
|
18
24
|
/**
|
|
19
25
|
* Decodes a PlainEmailData object into an Email instance.
|
|
20
26
|
* Plain emails have base64-encoded metadata and parsed content.
|
|
@@ -40,24 +40,30 @@ function transformAttachmentContent(attachments) {
|
|
|
40
40
|
* Decrypts an EncryptedEmailData object into an Email instance.
|
|
41
41
|
* Expects full email data with encryptedParsed content.
|
|
42
42
|
* IMPORTANT: Signature verification happens BEFORE decryption for security
|
|
43
|
+
*
|
|
44
|
+
* @param emailData - The encrypted email data
|
|
45
|
+
* @param keypair - The recipient's keypair for decryption
|
|
46
|
+
* @param emailAddress - The inbox email address
|
|
47
|
+
* @param apiClient - API client for email operations
|
|
48
|
+
* @param expectedServerPublicKey - Optional expected server public key (base64url) for MITM protection
|
|
43
49
|
*/
|
|
44
|
-
export async function decryptEmailData(emailData, keypair, emailAddress, apiClient) {
|
|
45
|
-
// Verify signature FIRST (before decryption) -
|
|
46
|
-
verifySignature(emailData.encryptedMetadata);
|
|
47
|
-
// Decrypt metadata
|
|
48
|
-
const metadata = await decryptMetadata(emailData.encryptedMetadata, keypair);
|
|
50
|
+
export async function decryptEmailData(emailData, keypair, emailAddress, apiClient, expectedServerPublicKey) {
|
|
51
|
+
// Verify signature FIRST (before decryption) - also validates server public key if provided
|
|
52
|
+
verifySignature(emailData.encryptedMetadata, undefined, expectedServerPublicKey);
|
|
53
|
+
// Decrypt metadata (signature already verified above, but decrypt also verifies internally)
|
|
54
|
+
const metadata = await decryptMetadata(emailData.encryptedMetadata, keypair, expectedServerPublicKey);
|
|
49
55
|
// Decrypt parsed content if available
|
|
50
56
|
let parsed = null;
|
|
51
57
|
if (emailData.encryptedParsed) {
|
|
52
58
|
// Verify signature for parsed content too
|
|
53
|
-
verifySignature(emailData.encryptedParsed);
|
|
54
|
-
parsed = await decryptParsed(emailData.encryptedParsed, keypair);
|
|
59
|
+
verifySignature(emailData.encryptedParsed, undefined, expectedServerPublicKey);
|
|
60
|
+
parsed = await decryptParsed(emailData.encryptedParsed, keypair, expectedServerPublicKey);
|
|
55
61
|
// Transform attachment content from base64 strings to Uint8Array
|
|
56
62
|
if (parsed?.attachments) {
|
|
57
63
|
parsed.attachments = transformAttachmentContent(parsed.attachments);
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
|
-
return new Email(emailData, metadata, parsed, emailAddress, apiClient, keypair);
|
|
66
|
+
return new Email(emailData, metadata, parsed, emailAddress, apiClient, keypair, expectedServerPublicKey);
|
|
61
67
|
}
|
|
62
68
|
/**
|
|
63
69
|
* Decodes a PlainEmailData object into an Email instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-utils.js","sourceRoot":"","sources":["../../src/utils/email-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,KAAK,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;AActD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACnD,OAAO,mBAAmB,IAAI,KAAK,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,WAA6B;IAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACjE,sEAAsE;gBACtE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"email-utils.js","sourceRoot":"","sources":["../../src/utils/email-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,KAAK,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;AActD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACnD,OAAO,mBAAmB,IAAI,KAAK,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,WAA6B;IAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACjE,sEAAsE;gBACtE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAA6B,EAC7B,OAAgB,EAChB,YAAoB,EACpB,SAAoB,EACpB,uBAAgC;IAEhC,4FAA4F;IAC5F,eAAe,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAEjF,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,SAAS,CAAC,iBAAiB,EAC3B,OAAO,EACP,uBAAuB,CACxB,CAAC;IAEF,sCAAsC;IACtC,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,0CAA0C;QAC1C,eAAe,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC/E,MAAM,GAAG,MAAM,aAAa,CAAkB,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAE3G,iEAAiE;QACjE,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;AAC3G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAyB,EAAE,YAAoB,EAAE,SAAoB;IACzG,yBAAyB;IACzB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAsB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE7D,qCAAqC;IACrC,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7E,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEhC,iEAAiE;QACjE,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,OAAoB;IACtE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,OAAoB;IAChE,uBAAuB;IACvB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,uEAAuE;QACvE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,YAAY,MAAM,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,uEAAuE;QACvE,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,YAAY,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC,CAAC,wCAAwC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaultsandbox/client",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "Node.js SDK for VaultSandbox Gateway — production-like email testing that's self-hosted and secure. Replicate real-world email delivery with TLS, authentication, spam analysis, and zero-knowledge encryption.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/vaultsandbox/client-node",
|
|
@@ -62,22 +62,22 @@
|
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@noble/post-quantum": "0.5.4",
|
|
65
|
-
"axios": "1.13.
|
|
65
|
+
"axios": "1.13.3",
|
|
66
66
|
"debug": "4.4.3",
|
|
67
67
|
"eventsource": "4.1.0"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/debug": "4.1.12",
|
|
71
71
|
"@types/jest": "30.0.0",
|
|
72
|
-
"@types/node": "
|
|
73
|
-
"@typescript-eslint/eslint-plugin": "8.53.
|
|
74
|
-
"@typescript-eslint/parser": "8.53.
|
|
72
|
+
"@types/node": "25.0.10",
|
|
73
|
+
"@typescript-eslint/eslint-plugin": "8.53.1",
|
|
74
|
+
"@typescript-eslint/parser": "8.53.1",
|
|
75
75
|
"dotenv": "17.2.3",
|
|
76
76
|
"eslint": "9.39.2",
|
|
77
77
|
"eslint-config-prettier": "10.1.8",
|
|
78
78
|
"eslint-plugin-prettier": "5.5.5",
|
|
79
79
|
"jest": "30.2.0",
|
|
80
|
-
"prettier": "3.8.
|
|
80
|
+
"prettier": "3.8.1",
|
|
81
81
|
"ts-jest": "29.4.6",
|
|
82
82
|
"tsx": "4.21.0",
|
|
83
83
|
"typescript": "5.9.3"
|