@relaymessenger/sdk 0.3.3-staging.4 → 0.3.3-staging.5
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/webhooks.d.ts +10 -0
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +13 -0
- package/dist/webhooks.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { Agents, Attachments, BlockedHandles, Chats, ContactCard, Messages, Rela
|
|
|
2
2
|
export { RelayAPIError, RelayWebhookConfiguredError, type RelayAPIErrorOptions, type RelayWebhookConfiguredErrorOptions, } from "./errors.js";
|
|
3
3
|
export { RELAY_V1_OPERATIONS, RELAY_WEBHOOK_EVENT_TYPES, type RelayV1Operation, } from "./operations.js";
|
|
4
4
|
export { ChatsPage, MessagesPage, RelayPage, type PageBody, } from "./pagination.js";
|
|
5
|
-
export { Webhooks, WebhookVerificationError, verifyWebhookSignature, type WebhookHeaders, } from "./webhooks.js";
|
|
5
|
+
export { Webhooks, WebhookVerificationError, signWebhookHeaders, verifyWebhookSignature, type WebhookHeaders, } from "./webhooks.js";
|
|
6
6
|
export { runWebSocket, type WebSocketEventContext, type WebSocketFullSyncContext, type WebSocketRunOptions, type WebSocketConstructor, type WebSocketLike, } from "./websocket.js";
|
|
7
7
|
export type * from "./types.js";
|
|
8
8
|
export { Relay as default } from "./client.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { Agents, Attachments, BlockedHandles, Chats, ContactCard, Messages, Rela
|
|
|
2
2
|
export { RelayAPIError, RelayWebhookConfiguredError, } from "./errors.js";
|
|
3
3
|
export { RELAY_V1_OPERATIONS, RELAY_WEBHOOK_EVENT_TYPES, } from "./operations.js";
|
|
4
4
|
export { ChatsPage, MessagesPage, RelayPage, } from "./pagination.js";
|
|
5
|
-
export { Webhooks, WebhookVerificationError, verifyWebhookSignature, } from "./webhooks.js";
|
|
5
|
+
export { Webhooks, WebhookVerificationError, signWebhookHeaders, verifyWebhookSignature, } from "./webhooks.js";
|
|
6
6
|
export { runWebSocket, } from "./websocket.js";
|
|
7
7
|
export { Relay as default } from "./client.js";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,GAGrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,2BAA2B,GAG5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,GAGrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,2BAA2B,GAG5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/webhooks.d.ts
CHANGED
|
@@ -2,6 +2,16 @@ import { WebhookVerificationError } from "standardwebhooks";
|
|
|
2
2
|
import type { RelayWebhookEnvelope, RelayWebhookEvent } from "./types.js";
|
|
3
3
|
export { WebhookVerificationError };
|
|
4
4
|
export type WebhookHeaders = Headers | Record<string, string | null | undefined>;
|
|
5
|
+
/** The three Standard Webhooks headers for one delivery: `webhook-id`,
|
|
6
|
+
* `webhook-timestamp` (unix seconds) and `webhook-signature` (`v1,<base64
|
|
7
|
+
* HMAC-SHA256 over id.timestamp.body>`), signed with a `whsec_` secret. Relay
|
|
8
|
+
* signs deliveries this way, and the CLI's local `listen` forwards sign the
|
|
9
|
+
* same way, so one receiver verifies both with `verifyWebhookSignature`. */
|
|
10
|
+
export declare const signWebhookHeaders: (secret: string, delivery: {
|
|
11
|
+
id: string;
|
|
12
|
+
body: string | Buffer;
|
|
13
|
+
timestamp?: Date;
|
|
14
|
+
}) => Record<"webhook-id" | "webhook-timestamp" | "webhook-signature", string>;
|
|
5
15
|
export declare const verifyWebhookSignature: (secret: string, body: string | Buffer, headers: WebhookHeaders) => void;
|
|
6
16
|
export declare class Webhooks {
|
|
7
17
|
#private;
|
package/dist/webhooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAEpC,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAsB9C,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,MAAM,MAAM,GAAG,MAAM,EACrB,SAAS,cAAc,KACtB,IAEF,CAAC;AAEF,qBAAa,QAAQ;;gBAGP,MAAM,EAAE,MAAM,GAAG,IAAI;IAIjC,MAAM,CACJ,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1D,IAAI;IAMP,MAAM,CAAC,CAAC,GAAG,iBAAiB,EAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAChD,CAAC;CAIL;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAEpC,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAsB9C;;;;4EAI4E;AAC5E,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,MAAM,EACd,UAAU;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,KAChE,MAAM,CAAC,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,MAAM,CAOzE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,MAAM,MAAM,GAAG,MAAM,EACrB,SAAS,cAAc,KACtB,IAEF,CAAC;AAEF,qBAAa,QAAQ;;gBAGP,MAAM,EAAE,MAAM,GAAG,IAAI;IAIjC,MAAM,CACJ,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1D,IAAI;IAMP,MAAM,CAAC,CAAC,GAAG,iBAAiB,EAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAChD,CAAC;CAIL;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/webhooks.js
CHANGED
|
@@ -14,6 +14,19 @@ const requiredHeaders = (headers) => {
|
|
|
14
14
|
"webhook-signature": signature,
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
+
/** The three Standard Webhooks headers for one delivery: `webhook-id`,
|
|
18
|
+
* `webhook-timestamp` (unix seconds) and `webhook-signature` (`v1,<base64
|
|
19
|
+
* HMAC-SHA256 over id.timestamp.body>`), signed with a `whsec_` secret. Relay
|
|
20
|
+
* signs deliveries this way, and the CLI's local `listen` forwards sign the
|
|
21
|
+
* same way, so one receiver verifies both with `verifyWebhookSignature`. */
|
|
22
|
+
export const signWebhookHeaders = (secret, delivery) => {
|
|
23
|
+
const timestamp = delivery.timestamp ?? new Date();
|
|
24
|
+
return {
|
|
25
|
+
"webhook-id": delivery.id,
|
|
26
|
+
"webhook-timestamp": String(Math.floor(timestamp.getTime() / 1_000)),
|
|
27
|
+
"webhook-signature": new Webhook(secret).sign(delivery.id, timestamp, delivery.body),
|
|
28
|
+
};
|
|
29
|
+
};
|
|
17
30
|
export const verifyWebhookSignature = (secret, body, headers) => {
|
|
18
31
|
new Webhook(secret).verify(body, requiredHeaders(headers));
|
|
19
32
|
};
|
package/dist/webhooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAMpC,MAAM,eAAe,GAAG,CACtB,OAAuB,EACC,EAAE;IAC1B,MAAM,GAAG,GAAG,CAAC,IAAY,EAA6B,EAAE,CACtD,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,wBAAwB,CAChC,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,SAAS;QAC9B,mBAAmB,EAAE,SAAS;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAc,EACd,IAAqB,EACrB,OAAuB,EACjB,EAAE;IACR,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,OAAO,QAAQ;IACV,OAAO,CAAgB;IAEhC,YAAY,MAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CACJ,IAAqB,EACrB,EAAE,OAAO,EAAE,GAAG,EAA6C;QAE3D,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzD,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CACJ,IAAqB,EACrB,MAAiD;QAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAM,CAAC;IAC1C,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAMpC,MAAM,eAAe,GAAG,CACtB,OAAuB,EACC,EAAE;IAC1B,MAAM,GAAG,GAAG,CAAC,IAAY,EAA6B,EAAE,CACtD,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,wBAAwB,CAChC,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,SAAS;QAC9B,mBAAmB,EAAE,SAAS;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;4EAI4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAc,EACd,QAAiE,EACS,EAAE;IAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;IACnD,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,EAAE;QACzB,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;QACpE,mBAAmB,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;KACrF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAc,EACd,IAAqB,EACrB,OAAuB,EACjB,EAAE;IACR,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,OAAO,QAAQ;IACV,OAAO,CAAgB;IAEhC,YAAY,MAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CACJ,IAAqB,EACrB,EAAE,OAAO,EAAE,GAAG,EAA6C;QAE3D,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzD,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CACJ,IAAqB,EACrB,MAAiD;QAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAM,CAAC;IAC1C,CAAC;CACF"}
|