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.
@@ -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.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;AAExD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;gBAE1B,OAAO,GAAE,UAAe;IAUpC;;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"}
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
  */