@clipboard-health/notifications 0.5.1 → 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/README.md +133 -43
- package/package.json +5 -5
- package/src/index.d.ts +2 -2
- package/src/index.js +2 -2
- package/src/index.js.map +1 -1
- package/src/lib/idempotencyKey.d.ts +46 -0
- package/src/lib/idempotencyKey.js +32 -0
- package/src/lib/idempotencyKey.js.map +1 -0
- package/src/lib/internal/chunkRecipients.d.ts +18 -0
- package/src/lib/internal/chunkRecipients.js +28 -0
- package/src/lib/internal/chunkRecipients.js.map +1 -0
- package/src/lib/internal/createDeterministicHash.d.ts +13 -0
- package/src/lib/internal/createDeterministicHash.js +23 -0
- package/src/lib/internal/createDeterministicHash.js.map +1 -0
- package/src/lib/internal/createTriggerLogParams.d.ts +1 -1
- package/src/lib/internal/createTriggerLogParams.js +2 -2
- package/src/lib/internal/createTriggerLogParams.js.map +1 -1
- package/src/lib/internal/createTriggerTraceOptions.js +6 -3
- package/src/lib/internal/createTriggerTraceOptions.js.map +1 -1
- package/src/lib/internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.d.ts +35 -0
- package/src/lib/internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.js +43 -0
- package/src/lib/internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.js.map +1 -0
- package/src/lib/internal/idempotentKnock.d.ts +5 -0
- package/src/lib/internal/idempotentKnock.js +5 -0
- package/src/lib/internal/idempotentKnock.js.map +1 -1
- package/src/lib/internal/toInlineIdentifyUserRequest.d.ts +3 -0
- package/src/lib/internal/toInlineIdentifyUserRequest.js +12 -0
- package/src/lib/internal/toInlineIdentifyUserRequest.js.map +1 -0
- package/src/lib/internal/toInlineIdentifyUserRequestWithoutUserId.d.ts +3 -0
- package/src/lib/internal/toInlineIdentifyUserRequestWithoutUserId.js +18 -0
- package/src/lib/internal/toInlineIdentifyUserRequestWithoutUserId.js.map +1 -0
- package/src/lib/internal/toTenantSetRequest.d.ts +3 -0
- package/src/lib/internal/toTenantSetRequest.js +9 -0
- package/src/lib/internal/toTenantSetRequest.js.map +1 -0
- package/src/lib/internal/toTriggerBody.d.ts +3 -0
- package/src/lib/internal/toTriggerBody.js +21 -0
- package/src/lib/internal/toTriggerBody.js.map +1 -0
- package/src/lib/notificationClient.d.ts +31 -38
- package/src/lib/notificationClient.js +39 -49
- package/src/lib/notificationClient.js.map +1 -1
- package/src/lib/notificationJobEnqueuer.d.ts +96 -0
- package/src/lib/notificationJobEnqueuer.js +101 -0
- package/src/lib/notificationJobEnqueuer.js.map +1 -0
- package/src/lib/types.d.ts +17 -20
- package/src/lib/types.js.map +1 -1
- package/src/lib/chunkRecipients.d.ts +0 -7
- package/src/lib/chunkRecipients.js +0 -18
- package/src/lib/chunkRecipients.js.map +0 -1
- package/src/lib/createIdempotencyKey.d.ts +0 -17
- package/src/lib/createIdempotencyKey.js +0 -28
- package/src/lib/createIdempotencyKey.js.map +0 -1
- package/src/lib/internal/toKnockBody.d.ts +0 -3
- package/src/lib/internal/toKnockBody.js +0 -35
- package/src/lib/internal/toKnockBody.js.map +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare const MAX_IDEMPOTENCY_KEY_LENGTH = 255;
|
|
2
|
-
/**
|
|
3
|
-
* Creates a deterministic hash for use as an idempotency key.
|
|
4
|
-
*
|
|
5
|
-
* The function normalizes `value` (using a stable JSON.stringify for non-string values), generates
|
|
6
|
-
* a SHA-256 hash, prepends the workflow key, and truncates the result to MAX_IDEMPOTENCY_KEY_LENGTH
|
|
7
|
-
* maximum.
|
|
8
|
-
*
|
|
9
|
-
* @param params.key - Workflow key to prepend to the hash.
|
|
10
|
-
* @param params.value - Value to hash (string, string[], object, etc.).
|
|
11
|
-
*
|
|
12
|
-
* @returns A hash string prefixed with the workflow key.
|
|
13
|
-
*/
|
|
14
|
-
export declare function createIdempotencyKey(params: {
|
|
15
|
-
key: string;
|
|
16
|
-
value: unknown;
|
|
17
|
-
}): string;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MAX_IDEMPOTENCY_KEY_LENGTH = void 0;
|
|
4
|
-
exports.createIdempotencyKey = createIdempotencyKey;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const node_crypto_1 = require("node:crypto");
|
|
7
|
-
const fast_json_stable_stringify_1 = tslib_1.__importDefault(require("fast-json-stable-stringify"));
|
|
8
|
-
exports.MAX_IDEMPOTENCY_KEY_LENGTH = 255;
|
|
9
|
-
/**
|
|
10
|
-
* Creates a deterministic hash for use as an idempotency key.
|
|
11
|
-
*
|
|
12
|
-
* The function normalizes `value` (using a stable JSON.stringify for non-string values), generates
|
|
13
|
-
* a SHA-256 hash, prepends the workflow key, and truncates the result to MAX_IDEMPOTENCY_KEY_LENGTH
|
|
14
|
-
* maximum.
|
|
15
|
-
*
|
|
16
|
-
* @param params.key - Workflow key to prepend to the hash.
|
|
17
|
-
* @param params.value - Value to hash (string, string[], object, etc.).
|
|
18
|
-
*
|
|
19
|
-
* @returns A hash string prefixed with the workflow key.
|
|
20
|
-
*/
|
|
21
|
-
function createIdempotencyKey(params) {
|
|
22
|
-
const { key, value } = params;
|
|
23
|
-
const hash = (0, node_crypto_1.createHash)("sha256")
|
|
24
|
-
.update(typeof value === "string" ? value : (0, fast_json_stable_stringify_1.default)(value))
|
|
25
|
-
.digest("hex");
|
|
26
|
-
return `${key}:${hash}`.slice(0, exports.MAX_IDEMPOTENCY_KEY_LENGTH);
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=createIdempotencyKey.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createIdempotencyKey.js","sourceRoot":"","sources":["../../../../../packages/notifications/src/lib/createIdempotencyKey.ts"],"names":[],"mappings":";;;AAkBA,oDAQC;;AA1BD,6CAAyC;AAEzC,oGAAmD;AAEtC,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAAC,MAAuC;IAC1E,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE9B,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,oCAAS,EAAC,KAAK,CAAC,CAAC;SAC5D,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,kCAA0B,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toKnockBody = toKnockBody;
|
|
4
|
-
const formatPhoneNumber_1 = require("./formatPhoneNumber");
|
|
5
|
-
function toKnockBody(body) {
|
|
6
|
-
const { actor, cancellationKey, recipients, workplaceId, ...rest } = body;
|
|
7
|
-
return {
|
|
8
|
-
...(actor ? { actor: toKnockRecipient(actor) } : {}),
|
|
9
|
-
...(cancellationKey ? { cancellation_key: cancellationKey } : {}),
|
|
10
|
-
...(workplaceId ? { tenant: workplaceId } : {}),
|
|
11
|
-
recipients: recipients.map(toKnockRecipient),
|
|
12
|
-
...rest,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
function toKnockRecipient(recipient) {
|
|
16
|
-
if (typeof recipient === "string") {
|
|
17
|
-
return recipient;
|
|
18
|
-
}
|
|
19
|
-
return toKnockInlineIdentifyUserRequest(recipient);
|
|
20
|
-
}
|
|
21
|
-
function toKnockInlineIdentifyUserRequest(recipient) {
|
|
22
|
-
const { channelData, createdAt, email, name, phoneNumber, timeZone, userId, customProperties, ...rest } = recipient;
|
|
23
|
-
return {
|
|
24
|
-
...customProperties,
|
|
25
|
-
id: userId,
|
|
26
|
-
...(channelData ? { channel_data: channelData } : {}),
|
|
27
|
-
...(createdAt ? { created_at: createdAt.toISOString() } : {}),
|
|
28
|
-
...(email ? { email } : {}),
|
|
29
|
-
...(name ? { name } : {}),
|
|
30
|
-
...(phoneNumber ? { phone_number: (0, formatPhoneNumber_1.formatPhoneNumber)({ phoneNumber }) } : {}),
|
|
31
|
-
...(timeZone ? { timezone: timeZone } : {}),
|
|
32
|
-
...rest,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=toKnockBody.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toKnockBody.js","sourceRoot":"","sources":["../../../../../../packages/notifications/src/lib/internal/toKnockBody.ts"],"names":[],"mappings":";;AAKA,kCAUC;AAZD,2DAAwD;AAExD,SAAgB,WAAW,CAAC,IAAiB;IAC3C,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAE1E,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC5C,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA2B;IACnD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,gCAAgC,CAAC,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,gCAAgC,CACvC,SAAoC;IAEpC,MAAM,EACJ,WAAW,EACX,SAAS,EACT,KAAK,EACL,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,GAAG,IAAI,EACR,GAAG,SAAS,CAAC;IAEd,OAAO;QACL,GAAG,gBAAgB;QACnB,EAAE,EAAE,MAAM;QACV,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAA,qCAAiB,EAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|