retell-sdk 2.3.3 → 2.3.4
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/lib/secureWebhooks.d.ts +30 -0
- package/lib/secureWebhooks.d.ts.map +1 -0
- package/lib/secureWebhooks.js +51 -0
- package/lib/secureWebhooks.js.map +1 -0
- package/package.json +2 -1
- package/sdk/sdk.d.ts +1 -0
- package/sdk/sdk.d.ts.map +1 -1
- package/sdk/sdk.js +4 -0
- package/sdk/sdk.js.map +1 -1
- package/src/lib/secureWebhooks.ts +86 -0
- package/src/sdk/sdk.ts +13 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
declare function makeSecureWebhooks(getSigner: (secretOrPrivateKey: string) => (input: string) => string, getVerifier: (secretOrPublicKey: string) => (input: string, digest: string) => boolean): {
|
|
2
|
+
sign(input: string, secretOrPrivateKey: string, timestamp?: number): string;
|
|
3
|
+
verify(input: string, secret: string, signature: string, opts?: {
|
|
4
|
+
timeout?: number;
|
|
5
|
+
timestamp?: number;
|
|
6
|
+
}): boolean;
|
|
7
|
+
};
|
|
8
|
+
export type SecureWebhooks = ReturnType<typeof makeSecureWebhooks>;
|
|
9
|
+
export declare const symmetric: {
|
|
10
|
+
sign(input: string, secretOrPrivateKey: string, timestamp?: number): string;
|
|
11
|
+
verify(input: string, secret: string, signature: string, opts?: {
|
|
12
|
+
timeout?: number;
|
|
13
|
+
timestamp?: number;
|
|
14
|
+
}): boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const asymmetric: {
|
|
17
|
+
sign(input: string, secretOrPrivateKey: string, timestamp?: number): string;
|
|
18
|
+
verify(input: string, secret: string, signature: string, opts?: {
|
|
19
|
+
timeout?: number;
|
|
20
|
+
timestamp?: number;
|
|
21
|
+
}): boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare const combined: SecureWebhooks;
|
|
24
|
+
export declare const sign: (input: string, secretOrPrivateKey: string, timestamp?: number) => string;
|
|
25
|
+
export declare const verify: (input: string, secret: string, signature: string, opts?: {
|
|
26
|
+
timeout?: number;
|
|
27
|
+
timestamp?: number;
|
|
28
|
+
}) => boolean;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=secureWebhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secureWebhooks.d.ts","sourceRoot":"","sources":["../src/lib/secureWebhooks.ts"],"names":[],"mappings":"AAIA,iBAAS,kBAAkB,CACzB,SAAS,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACpE,WAAW,EAAE,CACX,iBAAiB,EAAE,MAAM,KACtB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO;gBAIpC,MAAM,sBACO,MAAM,cACf,MAAM,GAChB,MAAM;kBAMA,MAAM,UACL,MAAM,aACH,MAAM,SACX;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO;EAsBb;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,eAAO,MAAM,SAAS;gBAvCT,MAAM,sBACO,MAAM,cACf,MAAM,GAChB,MAAM;kBAMA,MAAM,UACL,MAAM,aACH,MAAM,SACX;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO;CAmCb,CAAC;AAEF,eAAO,MAAM,UAAU;gBAlDV,MAAM,sBACO,MAAM,cACf,MAAM,GAChB,MAAM;kBAMA,MAAM,UACL,MAAM,aACH,MAAM,SACX;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO;CA8Cb,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,cAStB,CAAC;AAEF,eAAO,MAAM,IAAI,UAxEJ,MAAM,sBACO,MAAM,cACf,MAAM,KAChB,MAqE2B,CAAC;AACnC,eAAO,MAAM,MAAM,UAhEN,MAAM,UACL,MAAM,aACH,MAAM,SACX;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7C,OA4D+B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.verify = exports.sign = exports.combined = exports.asymmetric = exports.symmetric = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const FIVE_MINUTES = 5 * 60 * 1000;
|
|
6
|
+
function makeSecureWebhooks(getSigner, getVerifier) {
|
|
7
|
+
return {
|
|
8
|
+
sign(input, secretOrPrivateKey, timestamp = Date.now()) {
|
|
9
|
+
const signer = getSigner(secretOrPrivateKey);
|
|
10
|
+
return `v=${timestamp},d=${signer(input + timestamp)}`;
|
|
11
|
+
},
|
|
12
|
+
verify(input, secret, signature, opts = {}) {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
const match = /v=(\d+),d=(.*)/.exec(signature);
|
|
15
|
+
if (!match) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const poststamp = Number(match[1]);
|
|
19
|
+
const postDigest = match[2];
|
|
20
|
+
const timestamp = (_a = opts === null || opts === void 0 ? void 0 : opts.timestamp) !== null && _a !== void 0 ? _a : Date.now();
|
|
21
|
+
const timeout = (_b = opts === null || opts === void 0 ? void 0 : opts.timeout) !== null && _b !== void 0 ? _b : FIVE_MINUTES;
|
|
22
|
+
const difference = Math.abs(timestamp - poststamp);
|
|
23
|
+
if (difference > timeout) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const verifier = getVerifier(secret);
|
|
27
|
+
return verifier(JSON.stringify(input) + poststamp, postDigest);
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
exports.symmetric = makeSecureWebhooks(secret => input => (0, crypto_1.createHmac)('sha256', secret)
|
|
32
|
+
.update(input)
|
|
33
|
+
.digest('hex'), secret => (input, digest) => (0, crypto_1.createHmac)('sha256', secret)
|
|
34
|
+
.update(input)
|
|
35
|
+
.digest('hex') === digest);
|
|
36
|
+
exports.asymmetric = makeSecureWebhooks(priv => input => (0, crypto_1.createSign)('sha256')
|
|
37
|
+
.update(input)
|
|
38
|
+
.sign(priv, 'base64'), pub => (input, digest) => (0, crypto_1.createVerify)('sha256')
|
|
39
|
+
.update(input)
|
|
40
|
+
.verify(pub, digest, 'base64'));
|
|
41
|
+
exports.combined = {
|
|
42
|
+
sign: (input, secretOrPrivateKey, timestamp) => secretOrPrivateKey.includes('PRIVATE KEY')
|
|
43
|
+
? exports.asymmetric.sign(input, secretOrPrivateKey, timestamp)
|
|
44
|
+
: exports.symmetric.sign(input, secretOrPrivateKey, timestamp),
|
|
45
|
+
verify: (input, secretOrPublicKey, signature, opts) => secretOrPublicKey.includes('PUBLIC KEY')
|
|
46
|
+
? exports.asymmetric.verify(input, secretOrPublicKey, signature, opts)
|
|
47
|
+
: exports.symmetric.verify(input, secretOrPublicKey, signature, opts),
|
|
48
|
+
};
|
|
49
|
+
exports.sign = exports.symmetric.sign;
|
|
50
|
+
exports.verify = exports.symmetric.verify;
|
|
51
|
+
//# sourceMappingURL=secureWebhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secureWebhooks.js","sourceRoot":"","sources":["../src/lib/secureWebhooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "commonjs",
|
|
3
3
|
"name": "retell-sdk",
|
|
4
|
-
"version": "2.3.
|
|
4
|
+
"version": "2.3.4",
|
|
5
5
|
"author": "Retell",
|
|
6
6
|
"main": "./index.js",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"bufferutil": "^4.0.8",
|
|
34
|
+
"crypto": "^1.0.1",
|
|
34
35
|
"decimal.js": "^10.4.3",
|
|
35
36
|
"eventemitter3": "^5.0.1",
|
|
36
37
|
"isomorphic-ws": "^5.0.0",
|
package/sdk/sdk.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as operations from "../models/operations";
|
|
|
4
4
|
export declare class RetellClient extends ClientSDK {
|
|
5
5
|
private readonly options$;
|
|
6
6
|
constructor(options?: SDKOptions);
|
|
7
|
+
verify(body: string, apiKey: string, signature: string): boolean;
|
|
7
8
|
/**
|
|
8
9
|
* Create a new agent
|
|
9
10
|
*/
|
package/sdk/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk/sdk.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,UAAU,EAAwB,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk/sdk.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,UAAU,EAAwB,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;gBAE1B,OAAO,GAAE,UAAe;IAUpC,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO;IAQV;;OAEG;IACG,WAAW,CACf,KAAK,EAAE,UAAU,CAAC,sBAAsB,EACxC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;IAwF1C;;OAEG;IACG,YAAY,CAChB,KAAK,EAAE,UAAU,CAAC,uBAAuB,EACzC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAwG3C;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;IAgG1C;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAiGvC;;OAEG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;IAiGtC;;OAEG;IACG,UAAU,CACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;IAmEzC;;OAEG;IACG,SAAS,CACb,cAAc,CAAC,EAAE,UAAU,CAAC,cAAc,GAAG,SAAS,EACtD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;IAwGxC;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,UAAU,CAAC,sBAAsB,EAC9C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;CAuG3C"}
|
package/sdk/sdk.js
CHANGED
|
@@ -31,6 +31,7 @@ const config_1 = require("../lib/config");
|
|
|
31
31
|
const enc$ = __importStar(require("../lib/encodings"));
|
|
32
32
|
const http_1 = require("../lib/http");
|
|
33
33
|
const sdks_1 = require("../lib/sdks");
|
|
34
|
+
const secureWebhooks_1 = require("../lib/secureWebhooks");
|
|
34
35
|
const errors = __importStar(require("../models/errors"));
|
|
35
36
|
const operations = __importStar(require("../models/operations"));
|
|
36
37
|
class RetellClient extends sdks_1.ClientSDK {
|
|
@@ -42,6 +43,9 @@ class RetellClient extends sdks_1.ClientSDK {
|
|
|
42
43
|
this.options$ = options;
|
|
43
44
|
void this.options$;
|
|
44
45
|
}
|
|
46
|
+
verify(body, apiKey, signature) {
|
|
47
|
+
return secureWebhooks_1.symmetric.verify(body, apiKey, signature);
|
|
48
|
+
}
|
|
45
49
|
/**
|
|
46
50
|
* Create a new agent
|
|
47
51
|
*/
|
package/sdk/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createHmac, createSign, createVerify } from 'crypto';
|
|
2
|
+
|
|
3
|
+
const FIVE_MINUTES = 5 * 60 * 1000;
|
|
4
|
+
|
|
5
|
+
function makeSecureWebhooks(
|
|
6
|
+
getSigner: (secretOrPrivateKey: string) => (input: string) => string,
|
|
7
|
+
getVerifier: (
|
|
8
|
+
secretOrPublicKey: string
|
|
9
|
+
) => (input: string, digest: string) => boolean
|
|
10
|
+
) {
|
|
11
|
+
return {
|
|
12
|
+
sign(
|
|
13
|
+
input: string,
|
|
14
|
+
secretOrPrivateKey: string,
|
|
15
|
+
timestamp: number = Date.now()
|
|
16
|
+
): string {
|
|
17
|
+
const signer = getSigner(secretOrPrivateKey);
|
|
18
|
+
|
|
19
|
+
return `v=${timestamp},d=${signer(input + timestamp)}`;
|
|
20
|
+
},
|
|
21
|
+
verify(
|
|
22
|
+
input: string,
|
|
23
|
+
secret: string,
|
|
24
|
+
signature: string,
|
|
25
|
+
opts: { timeout?: number; timestamp?: number } = {}
|
|
26
|
+
): boolean {
|
|
27
|
+
const match = /v=(\d+),d=(.*)/.exec(signature);
|
|
28
|
+
if (!match) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const poststamp = Number(match[1]);
|
|
33
|
+
const postDigest = match[2] as string;
|
|
34
|
+
|
|
35
|
+
const timestamp = opts?.timestamp ?? Date.now();
|
|
36
|
+
const timeout = opts?.timeout ?? FIVE_MINUTES;
|
|
37
|
+
|
|
38
|
+
const difference = Math.abs(timestamp - poststamp);
|
|
39
|
+
if (difference > timeout) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const verifier = getVerifier(secret);
|
|
44
|
+
|
|
45
|
+
return verifier(JSON.stringify(input) + poststamp, postDigest);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type SecureWebhooks = ReturnType<typeof makeSecureWebhooks>;
|
|
51
|
+
|
|
52
|
+
export const symmetric = makeSecureWebhooks(
|
|
53
|
+
secret => input =>
|
|
54
|
+
createHmac('sha256', secret)
|
|
55
|
+
.update(input)
|
|
56
|
+
.digest('hex'),
|
|
57
|
+
secret => (input, digest) =>
|
|
58
|
+
createHmac('sha256', secret)
|
|
59
|
+
.update(input)
|
|
60
|
+
.digest('hex') === digest
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
export const asymmetric = makeSecureWebhooks(
|
|
64
|
+
priv => input =>
|
|
65
|
+
createSign('sha256')
|
|
66
|
+
.update(input)
|
|
67
|
+
.sign(priv, 'base64'),
|
|
68
|
+
pub => (input, digest) =>
|
|
69
|
+
createVerify('sha256')
|
|
70
|
+
.update(input)
|
|
71
|
+
.verify(pub, digest, 'base64')
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
export const combined: SecureWebhooks = {
|
|
75
|
+
sign: (input, secretOrPrivateKey, timestamp) =>
|
|
76
|
+
secretOrPrivateKey.includes('PRIVATE KEY')
|
|
77
|
+
? asymmetric.sign(input, secretOrPrivateKey, timestamp)
|
|
78
|
+
: symmetric.sign(input, secretOrPrivateKey, timestamp),
|
|
79
|
+
verify: (input, secretOrPublicKey, signature, opts) =>
|
|
80
|
+
secretOrPublicKey.includes('PUBLIC KEY')
|
|
81
|
+
? asymmetric.verify(input, secretOrPublicKey, signature, opts)
|
|
82
|
+
: symmetric.verify(input, secretOrPublicKey, signature, opts),
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const sign = symmetric.sign;
|
|
86
|
+
export const verify = symmetric.verify;
|
package/src/sdk/sdk.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { SDK_METADATA, SDKOptions, serverURLFromOptions } from "../lib/config";
|
|
|
6
6
|
import * as enc$ from "../lib/encodings";
|
|
7
7
|
import { HTTPClient } from "../lib/http";
|
|
8
8
|
import { ClientSDK, RequestOptions } from "../lib/sdks";
|
|
9
|
+
import { symmetric } from "../lib/secureWebhooks";
|
|
9
10
|
import * as errors from "../models/errors";
|
|
10
11
|
import * as operations from "../models/operations";
|
|
11
12
|
|
|
@@ -22,6 +23,18 @@ export class RetellClient extends ClientSDK {
|
|
|
22
23
|
void this.options$;
|
|
23
24
|
}
|
|
24
25
|
|
|
26
|
+
verify(
|
|
27
|
+
body: string,
|
|
28
|
+
apiKey: string,
|
|
29
|
+
signature: string,
|
|
30
|
+
): boolean {
|
|
31
|
+
return symmetric.verify(
|
|
32
|
+
body,
|
|
33
|
+
apiKey,
|
|
34
|
+
signature
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
25
38
|
/**
|
|
26
39
|
* Create a new agent
|
|
27
40
|
*/
|