@ixblix/sdk-js 0.5.0 → 0.7.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/dist/client.d.ts +11 -4
- package/dist/client.js +18 -4
- package/dist/client.js.map +1 -1
- package/dist/crypto.d.ts +53 -1
- package/dist/crypto.js +155 -1
- package/dist/crypto.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ export interface IxblixClientOptions {
|
|
|
5
5
|
baseUrl: string;
|
|
6
6
|
/** Company API key sent in the `X-API-Key` header. */
|
|
7
7
|
apiKey?: string;
|
|
8
|
+
/** Integrator ID for HTTP Basic Auth (used for company registration/activation). */
|
|
9
|
+
integratorId?: string;
|
|
10
|
+
/** Integrator access token for HTTP Basic Auth. */
|
|
11
|
+
integratorAccessToken?: string;
|
|
8
12
|
/** Optional custom fetch implementation (e.g. for testing or proxies). */
|
|
9
13
|
fetch?: typeof fetch;
|
|
10
14
|
}
|
|
@@ -41,6 +45,8 @@ export interface MediaDownload {
|
|
|
41
45
|
export declare class IxblixClient {
|
|
42
46
|
private readonly baseUrl;
|
|
43
47
|
private readonly apiKey?;
|
|
48
|
+
private readonly integratorId?;
|
|
49
|
+
private readonly integratorAccessToken?;
|
|
44
50
|
private readonly fetchImpl;
|
|
45
51
|
constructor(options: IxblixClientOptions);
|
|
46
52
|
private buildHeaders;
|
|
@@ -149,7 +155,7 @@ export declare class IxblixClient {
|
|
|
149
155
|
* Optionally pass the operator uuid so it is attributed to the message, and
|
|
150
156
|
* `replyToId` to send it as a reply to another message.
|
|
151
157
|
*/
|
|
152
|
-
sendCompanyMessage(conversationId: string, envelope: MessageEnvelope, contentType?: string, operatorUuid?: string, replyToId?: string | null): Promise<Message>;
|
|
158
|
+
sendCompanyMessage(conversationId: string, envelope: MessageEnvelope, contentType?: string, operatorUuid?: string, replyToId?: string | null, attachments?: string | null): Promise<Message>;
|
|
153
159
|
/**
|
|
154
160
|
* List all messages of a conversation (content is always ciphertext).
|
|
155
161
|
* Each message includes its replied-to message (one level deep) and its
|
|
@@ -188,10 +194,11 @@ export declare class IxblixClient {
|
|
|
188
194
|
/**
|
|
189
195
|
* Upload an encrypted media file from the company. `file.data` must be the
|
|
190
196
|
* ciphertext bytes produced by the media encryption helper. Optionally pass
|
|
191
|
-
* the operator uuid so the media message is attributed to the operator,
|
|
192
|
-
* `replyToId` to send it as a reply to another message
|
|
197
|
+
* the operator uuid so the media message is attributed to the operator,
|
|
198
|
+
* `replyToId` to send it as a reply to another message, and `attachments`
|
|
199
|
+
* for rich message attachments (encrypted JSON string).
|
|
193
200
|
*/
|
|
194
|
-
sendCompanyMedia(conversationId: string, file: MediaUpload, envelope: MessageEnvelope, operatorUuid?: string, replyToId?: string | null): Promise<Message>;
|
|
201
|
+
sendCompanyMedia(conversationId: string, file: MediaUpload, envelope: MessageEnvelope, operatorUuid?: string, replyToId?: string | null, attachments?: string | null): Promise<Message>;
|
|
195
202
|
/** Fetch the metadata (envelope + file info) of a media file. */
|
|
196
203
|
getMedia(mediaId: string): Promise<Media>;
|
|
197
204
|
/**
|
package/dist/client.js
CHANGED
|
@@ -19,10 +19,14 @@ import { IxblixError } from "./errors.js";
|
|
|
19
19
|
export class IxblixClient {
|
|
20
20
|
baseUrl;
|
|
21
21
|
apiKey;
|
|
22
|
+
integratorId;
|
|
23
|
+
integratorAccessToken;
|
|
22
24
|
fetchImpl;
|
|
23
25
|
constructor(options) {
|
|
24
26
|
this.baseUrl = options.baseUrl.replace(/\/+$/, "");
|
|
25
27
|
this.apiKey = options.apiKey;
|
|
28
|
+
this.integratorId = options.integratorId;
|
|
29
|
+
this.integratorAccessToken = options.integratorAccessToken;
|
|
26
30
|
this.fetchImpl = options.fetch ?? globalThis.fetch;
|
|
27
31
|
}
|
|
28
32
|
buildHeaders(init) {
|
|
@@ -37,6 +41,11 @@ export class IxblixClient {
|
|
|
37
41
|
if (this.apiKey) {
|
|
38
42
|
headers["X-API-Key"] = this.apiKey;
|
|
39
43
|
}
|
|
44
|
+
if (this.integratorId && this.integratorAccessToken) {
|
|
45
|
+
const credentials = `${this.integratorId}:${this.integratorAccessToken}`;
|
|
46
|
+
const base64 = Buffer.from(credentials).toString("base64");
|
|
47
|
+
headers["Authorization"] = `Basic ${base64}`;
|
|
48
|
+
}
|
|
40
49
|
return headers;
|
|
41
50
|
}
|
|
42
51
|
async request(path, init = {}) {
|
|
@@ -228,7 +237,7 @@ export class IxblixClient {
|
|
|
228
237
|
* Optionally pass the operator uuid so it is attributed to the message, and
|
|
229
238
|
* `replyToId` to send it as a reply to another message.
|
|
230
239
|
*/
|
|
231
|
-
sendCompanyMessage(conversationId, envelope, contentType = "text", operatorUuid, replyToId) {
|
|
240
|
+
sendCompanyMessage(conversationId, envelope, contentType = "text", operatorUuid, replyToId, attachments) {
|
|
232
241
|
return this.request("/api/messages/company", {
|
|
233
242
|
method: "POST",
|
|
234
243
|
body: JSON.stringify({
|
|
@@ -242,6 +251,7 @@ export class IxblixClient {
|
|
|
242
251
|
keyId: envelope.keyId,
|
|
243
252
|
operatorUuid,
|
|
244
253
|
replyToId: replyToId ?? undefined,
|
|
254
|
+
attachments: attachments ?? undefined,
|
|
245
255
|
}),
|
|
246
256
|
});
|
|
247
257
|
}
|
|
@@ -308,10 +318,11 @@ export class IxblixClient {
|
|
|
308
318
|
/**
|
|
309
319
|
* Upload an encrypted media file from the company. `file.data` must be the
|
|
310
320
|
* ciphertext bytes produced by the media encryption helper. Optionally pass
|
|
311
|
-
* the operator uuid so the media message is attributed to the operator,
|
|
312
|
-
* `replyToId` to send it as a reply to another message
|
|
321
|
+
* the operator uuid so the media message is attributed to the operator,
|
|
322
|
+
* `replyToId` to send it as a reply to another message, and `attachments`
|
|
323
|
+
* for rich message attachments (encrypted JSON string).
|
|
313
324
|
*/
|
|
314
|
-
async sendCompanyMedia(conversationId, file, envelope, operatorUuid, replyToId) {
|
|
325
|
+
async sendCompanyMedia(conversationId, file, envelope, operatorUuid, replyToId, attachments) {
|
|
315
326
|
const form = new FormData();
|
|
316
327
|
form.append("conversationId", conversationId);
|
|
317
328
|
form.append("file", new Blob([file.data], { type: file.mimeType }), file.fileName);
|
|
@@ -326,6 +337,9 @@ export class IxblixClient {
|
|
|
326
337
|
if (replyToId) {
|
|
327
338
|
form.append("replyToId", replyToId);
|
|
328
339
|
}
|
|
340
|
+
if (attachments) {
|
|
341
|
+
form.append("attachments", attachments);
|
|
342
|
+
}
|
|
329
343
|
const headers = {};
|
|
330
344
|
if (this.apiKey) {
|
|
331
345
|
headers["X-API-Key"] = this.apiKey;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto.d.ts
CHANGED
|
@@ -64,6 +64,34 @@ export declare function decryptEnvelope(envelope: {
|
|
|
64
64
|
encryptedKey?: string;
|
|
65
65
|
selfEncryptedKey?: string;
|
|
66
66
|
}, privateKey: KeyObject): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* Encrypt a rich message (content + optional attachments) to the recipient's
|
|
69
|
+
* RSA public key.
|
|
70
|
+
*
|
|
71
|
+
* Uses a single AES-256-GCM key per message. The content and the attachments
|
|
72
|
+
* JSON are encrypted with different IVs so the nonce is never reused. The
|
|
73
|
+
* attachments blob embeds its own IV and authTag, so no extra schema fields
|
|
74
|
+
* are required.
|
|
75
|
+
*/
|
|
76
|
+
export declare function encryptRichMessage(content: string, attachments: string | null, recipientPublicKeySpki: string, senderKeyId: string, senderPublicKeySpki: string): {
|
|
77
|
+
content: string;
|
|
78
|
+
attachments: string | null;
|
|
79
|
+
iv: string;
|
|
80
|
+
authTag: string;
|
|
81
|
+
encryptedKey: string;
|
|
82
|
+
selfEncryptedKey: string;
|
|
83
|
+
keyId: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Decrypt the attachments blob of a rich message.
|
|
87
|
+
*
|
|
88
|
+
* The attachments blob is `base64(iv || authTag || ciphertext)`. The AES key
|
|
89
|
+
* is unwrapped from the message envelope using the operator's private key.
|
|
90
|
+
*/
|
|
91
|
+
export declare function decryptAttachments(attachmentsBlob: string, envelope: {
|
|
92
|
+
encryptedKey?: string;
|
|
93
|
+
selfEncryptedKey?: string;
|
|
94
|
+
}, privateKey: KeyObject): string | null;
|
|
67
95
|
/**
|
|
68
96
|
* Encrypt a binary media file (image/audio/document) to the recipient's RSA
|
|
69
97
|
* public key. Uses a fresh AES-256-GCM key wrapped to both the recipient and
|
|
@@ -79,7 +107,31 @@ export declare function encryptMediaToRecipient(fileBytes: Uint8Array, recipient
|
|
|
79
107
|
keyId: string;
|
|
80
108
|
};
|
|
81
109
|
/**
|
|
82
|
-
*
|
|
110
|
+
* Encrypt a binary media file AND rich-message attachments with a single
|
|
111
|
+
* AES-256-GCM key.
|
|
112
|
+
*
|
|
113
|
+
* The media content and the attachments JSON are encrypted with different IVs
|
|
114
|
+
* so the nonce is never reused, but they share the same AES key. The key is
|
|
115
|
+
* wrapped (RSA-OAEP/SHA-256) both to the recipient and to the sender so either
|
|
116
|
+
* party can decrypt. The attachments blob embeds its own IV and authTag.
|
|
117
|
+
*
|
|
118
|
+
* This is the correct way to send a media message that also carries rich
|
|
119
|
+
* attachments (linkPreview, location, buttons, …): using two separate
|
|
120
|
+
* `encryptMediaToRecipient` + `encryptRichMessage` calls would produce two
|
|
121
|
+
* independent AES keys, and the recipient would be unable to decrypt the
|
|
122
|
+
* attachments because the message envelope only carries the media key.
|
|
123
|
+
*/
|
|
124
|
+
export declare function encryptMediaWithAttachments(fileBytes: Uint8Array, attachments: string, recipientPublicKeySpki: string, senderKeyId: string, senderPublicKeySpki: string): {
|
|
125
|
+
content: string;
|
|
126
|
+
iv: string;
|
|
127
|
+
authTag: string;
|
|
128
|
+
encryptedKey: string;
|
|
129
|
+
selfEncryptedKey: string;
|
|
130
|
+
keyId: string;
|
|
131
|
+
encryptedAttachments: string;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Decrypt a media envelope using the operator's private key. Tries the wrapped key first, then the sender-wrapped key. Returns the
|
|
83
135
|
* recipient-wrapped key first, then the sender-wrapped key. Returns the
|
|
84
136
|
* plaintext file bytes, or null when decryption fails.
|
|
85
137
|
*/
|
package/dist/crypto.js
CHANGED
|
@@ -129,6 +129,98 @@ export function decryptEnvelope(envelope, privateKey) {
|
|
|
129
129
|
}
|
|
130
130
|
return null;
|
|
131
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Encrypt a rich message (content + optional attachments) to the recipient's
|
|
134
|
+
* RSA public key.
|
|
135
|
+
*
|
|
136
|
+
* Uses a single AES-256-GCM key per message. The content and the attachments
|
|
137
|
+
* JSON are encrypted with different IVs so the nonce is never reused. The
|
|
138
|
+
* attachments blob embeds its own IV and authTag, so no extra schema fields
|
|
139
|
+
* are required.
|
|
140
|
+
*/
|
|
141
|
+
export function encryptRichMessage(content, attachments, recipientPublicKeySpki, senderKeyId, senderPublicKeySpki) {
|
|
142
|
+
const recipientKey = importPublicKey(recipientPublicKeySpki);
|
|
143
|
+
const senderKey = importPublicKey(senderPublicKeySpki);
|
|
144
|
+
const aesKey = randomBytes(32);
|
|
145
|
+
const contentIv = randomBytes(12);
|
|
146
|
+
const contentCipher = createCipheriv("aes-256-gcm", aesKey, contentIv);
|
|
147
|
+
const contentCiphertext = Buffer.concat([
|
|
148
|
+
contentCipher.update(content, "utf8"),
|
|
149
|
+
contentCipher.final(),
|
|
150
|
+
]);
|
|
151
|
+
const contentAuthTag = contentCipher.getAuthTag();
|
|
152
|
+
let encryptedAttachments = null;
|
|
153
|
+
if (attachments) {
|
|
154
|
+
const attachmentsIv = randomBytes(12);
|
|
155
|
+
const attachmentsCipher = createCipheriv("aes-256-gcm", aesKey, attachmentsIv);
|
|
156
|
+
const attachmentsCiphertext = Buffer.concat([
|
|
157
|
+
attachmentsCipher.update(attachments, "utf8"),
|
|
158
|
+
attachmentsCipher.final(),
|
|
159
|
+
]);
|
|
160
|
+
const attachmentsAuthTag = attachmentsCipher.getAuthTag();
|
|
161
|
+
const combined = Buffer.concat([
|
|
162
|
+
attachmentsIv,
|
|
163
|
+
attachmentsAuthTag,
|
|
164
|
+
attachmentsCiphertext,
|
|
165
|
+
]);
|
|
166
|
+
encryptedAttachments = bytesToBase64(new Uint8Array(combined));
|
|
167
|
+
}
|
|
168
|
+
const encryptedKey = publicEncrypt({
|
|
169
|
+
key: recipientKey,
|
|
170
|
+
padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
171
|
+
oaepHash: "sha256",
|
|
172
|
+
}, aesKey);
|
|
173
|
+
const selfEncryptedKey = publicEncrypt({
|
|
174
|
+
key: senderKey,
|
|
175
|
+
padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
176
|
+
oaepHash: "sha256",
|
|
177
|
+
}, aesKey);
|
|
178
|
+
return {
|
|
179
|
+
content: bytesToBase64(new Uint8Array(contentCiphertext)),
|
|
180
|
+
attachments: encryptedAttachments,
|
|
181
|
+
iv: bytesToBase64(new Uint8Array(contentIv)),
|
|
182
|
+
authTag: bytesToBase64(new Uint8Array(contentAuthTag)),
|
|
183
|
+
encryptedKey: bytesToBase64(new Uint8Array(encryptedKey)),
|
|
184
|
+
selfEncryptedKey: bytesToBase64(new Uint8Array(selfEncryptedKey)),
|
|
185
|
+
keyId: senderKeyId,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Decrypt the attachments blob of a rich message.
|
|
190
|
+
*
|
|
191
|
+
* The attachments blob is `base64(iv || authTag || ciphertext)`. The AES key
|
|
192
|
+
* is unwrapped from the message envelope using the operator's private key.
|
|
193
|
+
*/
|
|
194
|
+
export function decryptAttachments(attachmentsBlob, envelope, privateKey) {
|
|
195
|
+
const wrappedKeys = [envelope.encryptedKey, envelope.selfEncryptedKey].filter((key) => Boolean(key));
|
|
196
|
+
const bytes = Buffer.from(base64ToBytes(attachmentsBlob));
|
|
197
|
+
if (bytes.length < 28) {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
const iv = bytes.subarray(0, 12);
|
|
201
|
+
const authTag = bytes.subarray(12, 28);
|
|
202
|
+
const ciphertext = bytes.subarray(28);
|
|
203
|
+
for (const wrappedKey of wrappedKeys) {
|
|
204
|
+
try {
|
|
205
|
+
const aesKey = privateDecrypt({
|
|
206
|
+
key: privateKey,
|
|
207
|
+
padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
208
|
+
oaepHash: "sha256",
|
|
209
|
+
}, Buffer.from(base64ToBytes(wrappedKey)));
|
|
210
|
+
const decipher = createDecipheriv("aes-256-gcm", aesKey, iv);
|
|
211
|
+
decipher.setAuthTag(authTag);
|
|
212
|
+
const plaintext = Buffer.concat([
|
|
213
|
+
decipher.update(ciphertext),
|
|
214
|
+
decipher.final(),
|
|
215
|
+
]);
|
|
216
|
+
return plaintext.toString("utf8");
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// Try the next wrapped key.
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
132
224
|
/**
|
|
133
225
|
* Encrypt a binary media file (image/audio/document) to the recipient's RSA
|
|
134
226
|
* public key. Uses a fresh AES-256-GCM key wrapped to both the recipient and
|
|
@@ -163,7 +255,69 @@ export function encryptMediaToRecipient(fileBytes, recipientPublicKeySpki, sende
|
|
|
163
255
|
};
|
|
164
256
|
}
|
|
165
257
|
/**
|
|
166
|
-
*
|
|
258
|
+
* Encrypt a binary media file AND rich-message attachments with a single
|
|
259
|
+
* AES-256-GCM key.
|
|
260
|
+
*
|
|
261
|
+
* The media content and the attachments JSON are encrypted with different IVs
|
|
262
|
+
* so the nonce is never reused, but they share the same AES key. The key is
|
|
263
|
+
* wrapped (RSA-OAEP/SHA-256) both to the recipient and to the sender so either
|
|
264
|
+
* party can decrypt. The attachments blob embeds its own IV and authTag.
|
|
265
|
+
*
|
|
266
|
+
* This is the correct way to send a media message that also carries rich
|
|
267
|
+
* attachments (linkPreview, location, buttons, …): using two separate
|
|
268
|
+
* `encryptMediaToRecipient` + `encryptRichMessage` calls would produce two
|
|
269
|
+
* independent AES keys, and the recipient would be unable to decrypt the
|
|
270
|
+
* attachments because the message envelope only carries the media key.
|
|
271
|
+
*/
|
|
272
|
+
export function encryptMediaWithAttachments(fileBytes, attachments, recipientPublicKeySpki, senderKeyId, senderPublicKeySpki) {
|
|
273
|
+
const recipientKey = importPublicKey(recipientPublicKeySpki);
|
|
274
|
+
const senderKey = importPublicKey(senderPublicKeySpki);
|
|
275
|
+
const aesKey = randomBytes(32);
|
|
276
|
+
// Encrypt the media file
|
|
277
|
+
const mediaIv = randomBytes(12);
|
|
278
|
+
const mediaCipher = createCipheriv("aes-256-gcm", aesKey, mediaIv);
|
|
279
|
+
const mediaCiphertext = Buffer.concat([
|
|
280
|
+
mediaCipher.update(fileBytes),
|
|
281
|
+
mediaCipher.final(),
|
|
282
|
+
]);
|
|
283
|
+
const mediaAuthTag = mediaCipher.getAuthTag();
|
|
284
|
+
// Encrypt the attachments with a different IV but the same key
|
|
285
|
+
const attachmentsIv = randomBytes(12);
|
|
286
|
+
const attachmentsCipher = createCipheriv("aes-256-gcm", aesKey, attachmentsIv);
|
|
287
|
+
const attachmentsCiphertext = Buffer.concat([
|
|
288
|
+
attachmentsCipher.update(attachments, "utf8"),
|
|
289
|
+
attachmentsCipher.final(),
|
|
290
|
+
]);
|
|
291
|
+
const attachmentsAuthTag = attachmentsCipher.getAuthTag();
|
|
292
|
+
const combined = Buffer.concat([
|
|
293
|
+
attachmentsIv,
|
|
294
|
+
attachmentsAuthTag,
|
|
295
|
+
attachmentsCiphertext,
|
|
296
|
+
]);
|
|
297
|
+
const encryptedAttachments = bytesToBase64(new Uint8Array(combined));
|
|
298
|
+
// Wrap the AES key to both recipient and sender
|
|
299
|
+
const encryptedKey = publicEncrypt({
|
|
300
|
+
key: recipientKey,
|
|
301
|
+
padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
302
|
+
oaepHash: "sha256",
|
|
303
|
+
}, aesKey);
|
|
304
|
+
const selfEncryptedKey = publicEncrypt({
|
|
305
|
+
key: senderKey,
|
|
306
|
+
padding: constants.RSA_PKCS1_OAEP_PADDING,
|
|
307
|
+
oaepHash: "sha256",
|
|
308
|
+
}, aesKey);
|
|
309
|
+
return {
|
|
310
|
+
content: bytesToBase64(new Uint8Array(mediaCiphertext)),
|
|
311
|
+
iv: bytesToBase64(new Uint8Array(mediaIv)),
|
|
312
|
+
authTag: bytesToBase64(new Uint8Array(mediaAuthTag)),
|
|
313
|
+
encryptedKey: bytesToBase64(new Uint8Array(encryptedKey)),
|
|
314
|
+
selfEncryptedKey: bytesToBase64(new Uint8Array(selfEncryptedKey)),
|
|
315
|
+
keyId: senderKeyId,
|
|
316
|
+
encryptedAttachments,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Decrypt a media envelope using the operator's private key. Tries the wrapped key first, then the sender-wrapped key. Returns the
|
|
167
321
|
* recipient-wrapped key first, then the sender-wrapped key. Returns the
|
|
168
322
|
* plaintext file bytes, or null when decryption fails.
|
|
169
323
|
*/
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
export { IxblixClient } from "./client.js";
|
|
17
17
|
export type { IxblixClientOptions, MediaUpload, MediaDownload, BrandingFile, } from "./client.js";
|
|
18
18
|
export { IxblixError } from "./errors.js";
|
|
19
|
-
export { generateOperatorKeyPair, importPublicKey, encryptToRecipient, decryptEnvelope, encryptMediaToRecipient, decryptMediaEnvelope, } from "./crypto.js";
|
|
19
|
+
export { generateOperatorKeyPair, importPublicKey, encryptToRecipient, decryptEnvelope, encryptRichMessage, decryptAttachments, encryptMediaToRecipient, encryptMediaWithAttachments, decryptMediaEnvelope, } from "./crypto.js";
|
|
20
20
|
export type { OperatorKeyPair, GenerateKeyPairOptions } from "./crypto.js";
|
|
21
21
|
export { loadOrCreateOperatorKey } from "./keypair.js";
|
|
22
22
|
export { parseWebhook, verifyWebhook } from "./webhooks.js";
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export { IxblixClient } from "./client.js";
|
|
17
17
|
export { IxblixError } from "./errors.js";
|
|
18
|
-
export { generateOperatorKeyPair, importPublicKey, encryptToRecipient, decryptEnvelope, encryptMediaToRecipient, decryptMediaEnvelope, } from "./crypto.js";
|
|
18
|
+
export { generateOperatorKeyPair, importPublicKey, encryptToRecipient, decryptEnvelope, encryptRichMessage, decryptAttachments, encryptMediaToRecipient, encryptMediaWithAttachments, decryptMediaEnvelope, } from "./crypto.js";
|
|
19
19
|
export { loadOrCreateOperatorKey } from "./keypair.js";
|
|
20
20
|
export { parseWebhook, verifyWebhook } from "./webhooks.js";
|
|
21
21
|
export { WEBHOOK_SIGNATURE_HEADER, WEBHOOK_ID_HEADER, WEBHOOK_EVENT_HEADER, } from "./webhooks.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -212,6 +212,11 @@ export interface Message {
|
|
|
212
212
|
replyTo?: Message | null;
|
|
213
213
|
/** Emoji reactions attached to this message. */
|
|
214
214
|
reactions?: MessageReaction[];
|
|
215
|
+
/**
|
|
216
|
+
* Encrypted JSON string containing rich message attachments (buttons, vcard,
|
|
217
|
+
* location, linkPreview). Only COMPANY-sent messages may include attachments.
|
|
218
|
+
*/
|
|
219
|
+
attachments?: string | null;
|
|
215
220
|
sentAt: string;
|
|
216
221
|
}
|
|
217
222
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ixblix/sdk-js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Official ixblix SDK for desk/CRM integrations. Create overflow conversations, exchange end-to-end encrypted messages and media, and manage company onboarding.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|