contiguity 0.0.4 → 0.0.6
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 +156 -48
- package/dist/cjs/client.d.ts +27 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +43 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +11 -0
- package/dist/cjs/resources/conversations.d.ts +30 -0
- package/dist/cjs/resources/conversations.d.ts.map +1 -0
- package/dist/cjs/resources/conversations.js +24 -0
- package/dist/cjs/resources/domains.d.ts +39 -0
- package/dist/cjs/resources/domains.d.ts.map +1 -0
- package/dist/cjs/resources/domains.js +28 -0
- package/dist/cjs/resources/email.d.ts +17 -0
- package/dist/cjs/resources/email.d.ts.map +1 -0
- package/dist/cjs/resources/email.js +19 -0
- package/dist/cjs/resources/imessage.d.ts +49 -0
- package/dist/cjs/resources/imessage.d.ts.map +1 -0
- package/dist/cjs/resources/imessage.js +42 -0
- package/dist/cjs/resources/lease.d.ts +55 -0
- package/dist/cjs/resources/lease.d.ts.map +1 -0
- package/dist/cjs/resources/lease.js +34 -0
- package/dist/cjs/resources/otp.d.ts +63 -0
- package/dist/cjs/resources/otp.d.ts.map +1 -0
- package/dist/cjs/resources/otp.js +48 -0
- package/dist/cjs/resources/text.d.ts +17 -0
- package/dist/cjs/resources/text.d.ts.map +1 -0
- package/dist/cjs/resources/text.js +19 -0
- package/dist/cjs/resources/voice.d.ts +129 -0
- package/dist/cjs/resources/voice.d.ts.map +1 -0
- package/dist/cjs/resources/voice.js +95 -0
- package/dist/cjs/resources/webhook.d.ts +21 -0
- package/dist/cjs/resources/webhook.d.ts.map +1 -0
- package/dist/cjs/resources/webhook.js +47 -0
- package/dist/cjs/resources/whatsapp.d.ts +33 -0
- package/dist/cjs/resources/whatsapp.d.ts.map +1 -0
- package/dist/cjs/resources/whatsapp.js +32 -0
- package/dist/cjs/schemas/conversations.d.ts +5 -0
- package/dist/cjs/schemas/conversations.d.ts.map +1 -0
- package/dist/cjs/schemas/conversations.js +5 -0
- package/dist/cjs/schemas/domains.d.ts +7 -0
- package/dist/cjs/schemas/domains.d.ts.map +1 -0
- package/dist/cjs/schemas/domains.js +10 -0
- package/dist/cjs/schemas/email.d.ts +16 -0
- package/dist/cjs/schemas/email.d.ts.map +1 -0
- package/dist/cjs/schemas/email.js +16 -0
- package/dist/cjs/schemas/imessage.d.ts +25 -0
- package/dist/cjs/schemas/imessage.d.ts.map +1 -0
- package/dist/cjs/schemas/imessage.js +25 -0
- package/dist/cjs/schemas/index.d.ts +10 -0
- package/dist/cjs/schemas/index.d.ts.map +1 -0
- package/dist/cjs/schemas/index.js +25 -0
- package/dist/cjs/schemas/leases.d.ts +9 -0
- package/dist/cjs/schemas/leases.d.ts.map +1 -0
- package/dist/cjs/schemas/leases.js +9 -0
- package/dist/cjs/schemas/otp.d.ts +25 -0
- package/dist/cjs/schemas/otp.d.ts.map +1 -0
- package/dist/cjs/schemas/otp.js +16 -0
- package/dist/cjs/schemas/text.d.ts +9 -0
- package/dist/cjs/schemas/text.d.ts.map +1 -0
- package/dist/cjs/schemas/text.js +12 -0
- package/dist/cjs/schemas/voice.d.ts +5 -0
- package/dist/cjs/schemas/voice.d.ts.map +1 -0
- package/dist/cjs/schemas/voice.js +5 -0
- package/dist/cjs/schemas/whatsapp.d.ts +25 -0
- package/dist/cjs/schemas/whatsapp.d.ts.map +1 -0
- package/dist/cjs/schemas/whatsapp.js +25 -0
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +18 -0
- package/dist/cjs/types/responses.d.ts +8 -0
- package/dist/cjs/types/responses.d.ts.map +1 -0
- package/dist/cjs/types/responses.js +2 -0
- package/dist/cjs/types/webhooks.d.ts +10 -0
- package/dist/cjs/types/webhooks.d.ts.map +1 -0
- package/dist/cjs/types/webhooks.js +2 -0
- package/dist/cjs/utils/errors.d.ts +6 -0
- package/dist/cjs/utils/errors.d.ts.map +1 -0
- package/dist/cjs/utils/errors.js +15 -0
- package/dist/cjs/utils/request.d.ts +27 -0
- package/dist/cjs/utils/request.d.ts.map +1 -0
- package/dist/cjs/utils/request.js +36 -0
- package/dist/cjs/utils/response.d.ts +12 -0
- package/dist/cjs/utils/response.d.ts.map +1 -0
- package/dist/cjs/utils/response.js +12 -0
- package/dist/cjs/webhook/parse.d.ts +6 -0
- package/dist/cjs/webhook/parse.d.ts.map +1 -0
- package/dist/cjs/webhook/parse.js +14 -0
- package/dist/cjs/webhook/verify.d.ts +6 -0
- package/dist/cjs/webhook/verify.d.ts.map +1 -0
- package/dist/cjs/webhook/verify.js +39 -0
- package/dist/client.d.ts +23 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +44 -0
- package/dist/esm/client.d.ts +27 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +39 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/resources/conversations.d.ts +30 -0
- package/dist/esm/resources/conversations.d.ts.map +1 -0
- package/dist/esm/resources/conversations.js +20 -0
- package/dist/esm/resources/domains.d.ts +39 -0
- package/dist/esm/resources/domains.d.ts.map +1 -0
- package/dist/esm/resources/domains.js +24 -0
- package/dist/esm/resources/email.d.ts +17 -0
- package/dist/esm/resources/email.d.ts.map +1 -0
- package/dist/esm/resources/email.js +15 -0
- package/dist/esm/resources/imessage.d.ts +49 -0
- package/dist/esm/resources/imessage.d.ts.map +1 -0
- package/dist/esm/resources/imessage.js +38 -0
- package/dist/esm/resources/lease.d.ts +55 -0
- package/dist/esm/resources/lease.d.ts.map +1 -0
- package/dist/esm/resources/lease.js +30 -0
- package/dist/esm/resources/otp.d.ts +63 -0
- package/dist/esm/resources/otp.d.ts.map +1 -0
- package/dist/esm/resources/otp.js +44 -0
- package/dist/esm/resources/text.d.ts +17 -0
- package/dist/esm/resources/text.d.ts.map +1 -0
- package/dist/esm/resources/text.js +15 -0
- package/dist/esm/resources/voice.d.ts +129 -0
- package/dist/esm/resources/voice.d.ts.map +1 -0
- package/dist/esm/resources/voice.js +91 -0
- package/dist/esm/resources/webhook.d.ts +21 -0
- package/dist/esm/resources/webhook.d.ts.map +1 -0
- package/dist/esm/resources/webhook.js +43 -0
- package/dist/esm/resources/whatsapp.d.ts +33 -0
- package/dist/esm/resources/whatsapp.d.ts.map +1 -0
- package/dist/esm/resources/whatsapp.js +28 -0
- package/dist/esm/schemas/conversations.d.ts +5 -0
- package/dist/esm/schemas/conversations.d.ts.map +1 -0
- package/dist/esm/schemas/conversations.js +2 -0
- package/dist/esm/schemas/domains.d.ts +7 -0
- package/dist/esm/schemas/domains.d.ts.map +1 -0
- package/dist/esm/schemas/domains.js +7 -0
- package/dist/esm/schemas/email.d.ts +16 -0
- package/dist/esm/schemas/email.d.ts.map +1 -0
- package/dist/esm/schemas/email.js +13 -0
- package/dist/esm/schemas/imessage.d.ts +25 -0
- package/dist/esm/schemas/imessage.d.ts.map +1 -0
- package/dist/esm/schemas/imessage.js +22 -0
- package/dist/esm/schemas/index.d.ts +10 -0
- package/dist/esm/schemas/index.d.ts.map +1 -0
- package/dist/esm/schemas/index.js +9 -0
- package/dist/esm/schemas/leases.d.ts +9 -0
- package/dist/esm/schemas/leases.d.ts.map +1 -0
- package/dist/esm/schemas/leases.js +6 -0
- package/dist/esm/schemas/otp.d.ts +25 -0
- package/dist/esm/schemas/otp.d.ts.map +1 -0
- package/dist/esm/schemas/otp.js +13 -0
- package/dist/esm/schemas/text.d.ts +9 -0
- package/dist/esm/schemas/text.d.ts.map +1 -0
- package/dist/esm/schemas/text.js +9 -0
- package/dist/esm/schemas/voice.d.ts +5 -0
- package/dist/esm/schemas/voice.d.ts.map +1 -0
- package/dist/esm/schemas/voice.js +2 -0
- package/dist/esm/schemas/whatsapp.d.ts +25 -0
- package/dist/esm/schemas/whatsapp.d.ts.map +1 -0
- package/dist/esm/schemas/whatsapp.js +22 -0
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/responses.d.ts +8 -0
- package/dist/esm/types/responses.d.ts.map +1 -0
- package/dist/esm/types/webhooks.d.ts +10 -0
- package/dist/esm/types/webhooks.d.ts.map +1 -0
- package/dist/esm/types/webhooks.js +1 -0
- package/dist/esm/utils/errors.d.ts +6 -0
- package/dist/esm/utils/errors.d.ts.map +1 -0
- package/dist/esm/utils/errors.js +11 -0
- package/dist/esm/utils/request.d.ts +27 -0
- package/dist/esm/utils/request.d.ts.map +1 -0
- package/dist/esm/utils/request.js +33 -0
- package/dist/esm/utils/response.d.ts +12 -0
- package/dist/esm/utils/response.d.ts.map +1 -0
- package/dist/esm/utils/response.js +9 -0
- package/dist/esm/webhook/parse.d.ts +6 -0
- package/dist/esm/webhook/parse.d.ts.map +1 -0
- package/dist/esm/webhook/parse.js +11 -0
- package/dist/esm/webhook/verify.d.ts +6 -0
- package/dist/esm/webhook/verify.d.ts.map +1 -0
- package/dist/esm/webhook/verify.js +36 -0
- package/dist/index.d.ts +13 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -12423
- package/dist/resources/conversations.d.ts +31 -0
- package/dist/resources/conversations.d.ts.map +1 -0
- package/dist/resources/conversations.js +21 -0
- package/dist/resources/domains.d.ts +39 -0
- package/dist/resources/domains.d.ts.map +1 -0
- package/dist/resources/domains.js +24 -0
- package/dist/resources/email.d.ts +17 -0
- package/dist/resources/email.d.ts.map +1 -0
- package/dist/resources/email.js +15 -0
- package/dist/resources/identity.d.ts +56 -0
- package/dist/resources/identity.d.ts.map +1 -0
- package/dist/resources/identity.js +43 -0
- package/dist/resources/imessage.d.ts +58 -0
- package/dist/resources/imessage.d.ts.map +1 -0
- package/dist/resources/imessage.js +47 -0
- package/dist/resources/lease.d.ts +55 -0
- package/dist/resources/lease.d.ts.map +1 -0
- package/dist/resources/lease.js +30 -0
- package/dist/resources/otp.d.ts +63 -0
- package/dist/resources/otp.d.ts.map +1 -0
- package/dist/resources/otp.js +44 -0
- package/dist/resources/product.d.ts +23 -0
- package/dist/resources/product.d.ts.map +1 -0
- package/dist/resources/product.js +19 -0
- package/dist/resources/text.d.ts +44 -0
- package/dist/resources/text.d.ts.map +1 -0
- package/dist/resources/text.js +33 -0
- package/dist/resources/voice.d.ts +129 -0
- package/dist/resources/voice.d.ts.map +1 -0
- package/dist/resources/voice.js +91 -0
- package/dist/resources/webhook.d.ts +21 -0
- package/dist/resources/webhook.d.ts.map +1 -0
- package/dist/resources/webhook.js +43 -0
- package/dist/resources/whatsapp.d.ts +33 -0
- package/dist/resources/whatsapp.d.ts.map +1 -0
- package/dist/resources/whatsapp.js +31 -0
- package/dist/schemas/conversations.d.ts +8 -0
- package/dist/schemas/conversations.d.ts.map +1 -0
- package/dist/schemas/conversations.js +8 -0
- package/dist/schemas/domains.d.ts +7 -0
- package/dist/schemas/domains.d.ts.map +1 -0
- package/dist/schemas/domains.js +7 -0
- package/dist/schemas/email.d.ts +16 -0
- package/dist/schemas/email.d.ts.map +1 -0
- package/dist/schemas/email.js +13 -0
- package/dist/schemas/imessage.d.ts +44 -0
- package/dist/schemas/imessage.d.ts.map +1 -0
- package/dist/schemas/imessage.js +36 -0
- package/dist/schemas/index.d.ts +10 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +9 -0
- package/dist/schemas/leases.d.ts +9 -0
- package/dist/schemas/leases.d.ts.map +1 -0
- package/dist/schemas/leases.js +6 -0
- package/dist/schemas/otp.d.ts +25 -0
- package/dist/schemas/otp.d.ts.map +1 -0
- package/dist/schemas/otp.js +13 -0
- package/dist/schemas/product.d.ts +12 -0
- package/dist/schemas/product.d.ts.map +1 -0
- package/dist/schemas/product.js +9 -0
- package/dist/schemas/text.d.ts +24 -0
- package/dist/schemas/text.d.ts.map +1 -0
- package/dist/schemas/text.js +18 -0
- package/dist/schemas/voice.d.ts +5 -0
- package/dist/schemas/voice.d.ts.map +1 -0
- package/dist/schemas/voice.js +2 -0
- package/dist/schemas/whatsapp.d.ts +31 -0
- package/dist/schemas/whatsapp.d.ts.map +1 -0
- package/dist/schemas/whatsapp.js +29 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/responses.d.ts +8 -0
- package/dist/types/responses.d.ts.map +1 -0
- package/dist/types/responses.js +1 -0
- package/dist/types/webhooks.d.ts +10 -0
- package/dist/types/webhooks.d.ts.map +1 -0
- package/dist/types/webhooks.js +1 -0
- package/dist/utils/errors.d.ts +6 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +11 -0
- package/dist/utils/request.d.ts +26 -5
- package/dist/utils/request.d.ts.map +1 -1
- package/dist/utils/request.js +31 -45
- package/dist/utils/response.d.ts +12 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +9 -0
- package/dist/webhook/parse.d.ts +6 -0
- package/dist/webhook/parse.d.ts.map +1 -0
- package/dist/webhook/parse.js +11 -0
- package/dist/webhook/verify.d.ts +6 -0
- package/dist/webhook/verify.d.ts.map +1 -0
- package/dist/webhook/verify.js +36 -0
- package/package.json +30 -33
- package/LICENSE.md +0 -8
- package/dist/client/fetch.d.ts +0 -25
- package/dist/client/fetch.d.ts.map +0 -1
- package/dist/client/fetch.js +0 -85
- package/dist/contiguity.d.ts +0 -81
- package/dist/contiguity.d.ts.map +0 -1
- package/dist/contiguity.js +0 -106
- package/dist/services/domains/delete.d.ts +0 -28
- package/dist/services/domains/delete.d.ts.map +0 -1
- package/dist/services/domains/delete.js +0 -37
- package/dist/services/domains/get.d.ts +0 -98
- package/dist/services/domains/get.d.ts.map +0 -1
- package/dist/services/domains/get.js +0 -89
- package/dist/services/domains/index.d.ts +0 -34
- package/dist/services/domains/index.d.ts.map +0 -1
- package/dist/services/domains/index.js +0 -37
- package/dist/services/domains/list.d.ts +0 -36
- package/dist/services/domains/list.d.ts.map +0 -1
- package/dist/services/domains/list.js +0 -42
- package/dist/services/domains/register.d.ts +0 -67
- package/dist/services/domains/register.d.ts.map +0 -1
- package/dist/services/domains/register.js +0 -67
- package/dist/services/email/index.d.ts +0 -17
- package/dist/services/email/index.d.ts.map +0 -1
- package/dist/services/email/index.js +0 -16
- package/dist/services/email/send.d.ts +0 -66
- package/dist/services/email/send.d.ts.map +0 -1
- package/dist/services/email/send.js +0 -78
- package/dist/services/imessage/index.d.ts +0 -24
- package/dist/services/imessage/index.d.ts.map +0 -1
- package/dist/services/imessage/index.js +0 -23
- package/dist/services/imessage/send.d.ts +0 -57
- package/dist/services/imessage/send.d.ts.map +0 -1
- package/dist/services/imessage/send.js +0 -60
- package/dist/services/imessage/typing.d.ts +0 -40
- package/dist/services/imessage/typing.d.ts.map +0 -1
- package/dist/services/imessage/typing.js +0 -49
- package/dist/services/lease/available.d.ts +0 -193
- package/dist/services/lease/available.d.ts.map +0 -1
- package/dist/services/lease/available.js +0 -103
- package/dist/services/lease/create.d.ts +0 -108
- package/dist/services/lease/create.d.ts.map +0 -1
- package/dist/services/lease/create.js +0 -78
- package/dist/services/lease/details.d.ts +0 -133
- package/dist/services/lease/details.d.ts.map +0 -1
- package/dist/services/lease/details.js +0 -65
- package/dist/services/lease/get.d.ts +0 -96
- package/dist/services/lease/get.d.ts.map +0 -1
- package/dist/services/lease/get.js +0 -68
- package/dist/services/lease/index.d.ts +0 -50
- package/dist/services/lease/index.d.ts.map +0 -1
- package/dist/services/lease/index.js +0 -51
- package/dist/services/lease/leased.d.ts +0 -228
- package/dist/services/lease/leased.d.ts.map +0 -1
- package/dist/services/lease/leased.js +0 -108
- package/dist/services/lease/terminate.d.ts +0 -71
- package/dist/services/lease/terminate.d.ts.map +0 -1
- package/dist/services/lease/terminate.js +0 -78
- package/dist/services/otp/index.d.ts +0 -33
- package/dist/services/otp/index.d.ts.map +0 -1
- package/dist/services/otp/index.js +0 -37
- package/dist/services/otp/new.d.ts +0 -29
- package/dist/services/otp/new.d.ts.map +0 -1
- package/dist/services/otp/new.js +0 -44
- package/dist/services/otp/resend.d.ts +0 -22
- package/dist/services/otp/resend.d.ts.map +0 -1
- package/dist/services/otp/resend.js +0 -31
- package/dist/services/otp/send.d.ts +0 -26
- package/dist/services/otp/send.d.ts.map +0 -1
- package/dist/services/otp/send.js +0 -38
- package/dist/services/otp/verify.d.ts +0 -24
- package/dist/services/otp/verify.d.ts.map +0 -1
- package/dist/services/otp/verify.js +0 -34
- package/dist/services/text/index.d.ts +0 -17
- package/dist/services/text/index.d.ts.map +0 -1
- package/dist/services/text/index.js +0 -16
- package/dist/services/text/send.d.ts +0 -25
- package/dist/services/text/send.d.ts.map +0 -1
- package/dist/services/text/send.js +0 -37
- package/dist/services/whatsapp/index.d.ts +0 -24
- package/dist/services/whatsapp/index.d.ts.map +0 -1
- package/dist/services/whatsapp/index.js +0 -23
- package/dist/services/whatsapp/send.d.ts +0 -57
- package/dist/services/whatsapp/send.d.ts.map +0 -1
- package/dist/services/whatsapp/send.js +0 -60
- package/dist/services/whatsapp/typing.d.ts +0 -40
- package/dist/services/whatsapp/typing.d.ts.map +0 -1
- package/dist/services/whatsapp/typing.js +0 -49
- package/dist/types/base.d.ts +0 -17
- package/dist/types/base.d.ts.map +0 -1
- package/dist/types/base.js +0 -20
- package/dist/types/common.d.ts +0 -56
- package/dist/types/common.d.ts.map +0 -1
- package/dist/types/common.js +0 -48
- package/dist/types/error.d.ts +0 -37
- package/dist/types/error.d.ts.map +0 -1
- package/dist/types/error.js +0 -54
- package/dist/types/metadata.d.ts +0 -10
- package/dist/types/metadata.d.ts.map +0 -1
- package/dist/types/response.d.ts +0 -10
- package/dist/types/response.d.ts.map +0 -1
- package/dist/types/response.js +0 -10
- package/dist/utils/parse.d.ts +0 -8
- package/dist/utils/parse.d.ts.map +0 -1
- package/dist/utils/parse.js +0 -36
- /package/dist/{types/metadata.js → esm/types/responses.js} +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const otpNewSchema: z.ZodObject<{
|
|
3
|
+
to: z.ZodString;
|
|
4
|
+
language: z.ZodString;
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
}, z.core.$loose>;
|
|
7
|
+
export declare const otpVerifySchema: z.ZodObject<{
|
|
8
|
+
otp_id: z.ZodString;
|
|
9
|
+
otp: z.ZodString;
|
|
10
|
+
}, z.core.$loose>;
|
|
11
|
+
export declare const otpResendSchema: z.ZodObject<{
|
|
12
|
+
otp_id: z.ZodString;
|
|
13
|
+
}, z.core.$loose>;
|
|
14
|
+
export declare const otpReverseInitiateSchema: z.ZodObject<{
|
|
15
|
+
number: z.ZodString;
|
|
16
|
+
factor: z.ZodOptional<z.ZodString>;
|
|
17
|
+
to: z.ZodOptional<z.ZodString>;
|
|
18
|
+
language: z.ZodOptional<z.ZodString>;
|
|
19
|
+
success_url: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$loose>;
|
|
21
|
+
export type OtpNewParams = z.infer<typeof otpNewSchema>;
|
|
22
|
+
export type OtpVerifyParams = z.infer<typeof otpVerifySchema>;
|
|
23
|
+
export type OtpResendParams = z.infer<typeof otpResendSchema>;
|
|
24
|
+
export type OtpReverseInitiateParams = z.infer<typeof otpReverseInitiateSchema>;
|
|
25
|
+
//# sourceMappingURL=otp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp.d.ts","sourceRoot":"","sources":["../../src/schemas/otp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;iBAA+E,CAAC;AACzG,eAAO,MAAM,eAAe;;;iBAA4D,CAAC;AACzF,eAAO,MAAM,eAAe;;iBAA2C,CAAC;AACxE,eAAO,MAAM,wBAAwB;;;;;;iBAQzB,CAAC;AAEb,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const otpNewSchema = z.object({ to: z.string(), language: z.string(), name: z.string() }).loose();
|
|
3
|
+
export const otpVerifySchema = z.object({ otp_id: z.string(), otp: z.string() }).loose();
|
|
4
|
+
export const otpResendSchema = z.object({ otp_id: z.string() }).loose();
|
|
5
|
+
export const otpReverseInitiateSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
number: z.string(),
|
|
8
|
+
factor: z.string().max(16).optional(),
|
|
9
|
+
to: z.string().optional(),
|
|
10
|
+
language: z.string().optional(),
|
|
11
|
+
success_url: z.string().url().optional(),
|
|
12
|
+
})
|
|
13
|
+
.loose();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const productHistorySchema: z.ZodObject<{
|
|
3
|
+
to: z.ZodString;
|
|
4
|
+
from: z.ZodString;
|
|
5
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
channel: z.ZodEnum<{
|
|
7
|
+
text: "text";
|
|
8
|
+
imessage: "imessage";
|
|
9
|
+
}>;
|
|
10
|
+
}, z.core.$loose>;
|
|
11
|
+
export type ProductHistoryParams = z.infer<typeof productHistorySchema>;
|
|
12
|
+
//# sourceMappingURL=product.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/schemas/product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;iBAOvB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const textSendSchema: z.ZodObject<{
|
|
3
|
+
to: z.ZodString;
|
|
4
|
+
message: z.ZodString;
|
|
5
|
+
from: z.ZodOptional<z.ZodString>;
|
|
6
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
7
|
+
}, z.core.$loose>;
|
|
8
|
+
export declare const textReactSchema: z.ZodObject<{
|
|
9
|
+
message_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
10
|
+
to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
|
+
from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
|
+
message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
reaction: z.ZodEnum<{
|
|
14
|
+
love: "love";
|
|
15
|
+
thumbsup: "thumbsup";
|
|
16
|
+
thumbsdown: "thumbsdown";
|
|
17
|
+
haha: "haha";
|
|
18
|
+
emphasized: "emphasized";
|
|
19
|
+
questioned: "questioned";
|
|
20
|
+
}>;
|
|
21
|
+
}, z.core.$loose>;
|
|
22
|
+
export type TextSendParams = z.infer<typeof textSendSchema>;
|
|
23
|
+
export type TextReactParams = z.infer<typeof textReactSchema>;
|
|
24
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/schemas/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;iBAOf,CAAC;AAEb,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAQlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const textSendSchema = z
|
|
3
|
+
.object({
|
|
4
|
+
to: z.string(),
|
|
5
|
+
message: z.string(),
|
|
6
|
+
from: z.string().optional(),
|
|
7
|
+
attachments: z.array(z.string()).max(3).optional(),
|
|
8
|
+
})
|
|
9
|
+
.loose();
|
|
10
|
+
export const textReactSchema = z
|
|
11
|
+
.object({
|
|
12
|
+
message_id: z.string().nullable().optional(),
|
|
13
|
+
to: z.string().nullable().optional(),
|
|
14
|
+
from: z.string().nullable().optional(),
|
|
15
|
+
message: z.string().nullable().optional(),
|
|
16
|
+
reaction: z.enum(["love", "thumbsup", "thumbsdown", "haha", "emphasized", "questioned"]),
|
|
17
|
+
})
|
|
18
|
+
.loose();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/schemas/voice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;iBAA8C,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const whatsappSendSchema: z.ZodObject<{
|
|
3
|
+
to: z.ZodString;
|
|
4
|
+
message: z.ZodString;
|
|
5
|
+
from: z.ZodOptional<z.ZodString>;
|
|
6
|
+
fallback: z.ZodOptional<z.ZodObject<{
|
|
7
|
+
when: z.ZodArray<z.ZodEnum<{
|
|
8
|
+
whatsapp_unsupported: "whatsapp_unsupported";
|
|
9
|
+
whatsapp_fails: "whatsapp_fails";
|
|
10
|
+
}>>;
|
|
11
|
+
from: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
|
+
}, z.core.$loose>;
|
|
15
|
+
export declare const whatsappTypingSchema: z.ZodObject<{
|
|
16
|
+
to: z.ZodString;
|
|
17
|
+
action: z.ZodEnum<{
|
|
18
|
+
start: "start";
|
|
19
|
+
stop: "stop";
|
|
20
|
+
}>;
|
|
21
|
+
from: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$loose>;
|
|
23
|
+
export declare const whatsappReactSchema: z.ZodObject<{
|
|
24
|
+
to: z.ZodString;
|
|
25
|
+
reaction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26
|
+
message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
27
|
+
}, z.core.$loose>;
|
|
28
|
+
export type WhatsappSendParams = z.infer<typeof whatsappSendSchema>;
|
|
29
|
+
export type WhatsappTypingParams = z.infer<typeof whatsappTypingSchema>;
|
|
30
|
+
export type WhatsappReactParams = z.infer<typeof whatsappReactSchema>;
|
|
31
|
+
//# sourceMappingURL=whatsapp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../src/schemas/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAarB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;iBAMvB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;iBAMtB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const whatsappSendSchema = z
|
|
3
|
+
.object({
|
|
4
|
+
to: z.string(),
|
|
5
|
+
message: z.string(),
|
|
6
|
+
from: z.string().optional(),
|
|
7
|
+
fallback: z
|
|
8
|
+
.object({
|
|
9
|
+
when: z.array(z.enum(["whatsapp_unsupported", "whatsapp_fails"])),
|
|
10
|
+
from: z.string().optional(),
|
|
11
|
+
})
|
|
12
|
+
.optional(),
|
|
13
|
+
attachments: z.array(z.string()).optional(),
|
|
14
|
+
})
|
|
15
|
+
.loose();
|
|
16
|
+
export const whatsappTypingSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
to: z.string(),
|
|
19
|
+
action: z.enum(["start", "stop"]),
|
|
20
|
+
from: z.string().optional(),
|
|
21
|
+
})
|
|
22
|
+
.loose();
|
|
23
|
+
export const whatsappReactSchema = z
|
|
24
|
+
.object({
|
|
25
|
+
to: z.string(),
|
|
26
|
+
reaction: z.string().nullable().optional(),
|
|
27
|
+
message: z.string().nullable().optional(),
|
|
28
|
+
})
|
|
29
|
+
.loose();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/types/responses.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Webhook event types (v2 format) */
|
|
2
|
+
export type WebhookEventType = "text.incoming.sms" | "text.incoming.mms" | "text.delivery.confirmed" | "text.delivery.failed" | "imessage.incoming" | "numbers.substitution" | "otp.reverse.verified" | "email.incoming" | "identity.verification_session.started" | "identity.verification_session.processing" | "identity.verification_session.verified" | "identity.verification_session.failed" | "identity.verification_session.requires_input" | "identity.verification_session.manually_approved" | "identity.verification_session.manually_denied" | "identity.verification_report.generated";
|
|
3
|
+
export interface WebhookEventBase {
|
|
4
|
+
id: string;
|
|
5
|
+
type: WebhookEventType;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
api_version: string;
|
|
8
|
+
data: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,mBAAmB,GACnB,yBAAyB,GACzB,sBAAsB,GACtB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,uCAAuC,GACvC,0CAA0C,GAC1C,wCAAwC,GACxC,sCAAsC,GACtC,8CAA8C,GAC9C,iDAAiD,GACjD,+CAA+C,GAC/C,wCAAwC,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;aAGlB,MAAM,CAAC,EAAE,MAAM;aACf,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAMpC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class ContiguityError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
code;
|
|
4
|
+
constructor(message, status, code) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.status = status;
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.name = "ContiguityError";
|
|
9
|
+
Object.setPrototypeOf(this, ContiguityError.prototype);
|
|
10
|
+
}
|
|
11
|
+
}
|
package/dist/utils/request.d.ts
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
declare const BASE_URLS: {
|
|
2
|
+
readonly send: "https://api.contiguity.com/send";
|
|
3
|
+
readonly otp: "https://api.contiguity.com/otp";
|
|
4
|
+
readonly domains: "https://api.contiguity.com/domains";
|
|
5
|
+
readonly numbers: "https://api.contiguity.com/numbers";
|
|
6
|
+
readonly conversations: "https://api.contiguity.com/conversations";
|
|
7
|
+
readonly voice: "https://api.contiguity.com/voice";
|
|
8
|
+
};
|
|
9
|
+
export type ApiBase = keyof typeof BASE_URLS;
|
|
10
|
+
export interface RequestConfig {
|
|
11
|
+
token: string;
|
|
12
|
+
base: ApiBase;
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function request<T = Record<string, unknown>>(config: RequestConfig, path: string, options?: {
|
|
16
|
+
method?: "GET" | "POST" | "DELETE";
|
|
17
|
+
body?: Record<string, unknown>;
|
|
18
|
+
}): Promise<T & {
|
|
19
|
+
metadata: {
|
|
20
|
+
id: string;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
api_version: string;
|
|
23
|
+
object: string;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
export {};
|
|
6
27
|
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,SAAS;;;;;;;CAOL,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrD,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACL,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B,GACP,OAAO,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAwBnG"}
|
package/dist/utils/request.js
CHANGED
|
@@ -1,47 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const pathValue = validatedParams[pathParam];
|
|
18
|
-
if (pathValue) {
|
|
19
|
-
url = endpoint.replace(`{${pathParam}}`, encodeURIComponent(pathValue));
|
|
20
|
-
// Remove path param from body
|
|
21
|
-
const bodyParams = { ...validatedParams };
|
|
22
|
-
delete bodyParams[pathParam];
|
|
23
|
-
// Only set body if there are remaining params and not GET/DELETE
|
|
24
|
-
if (Object.keys(bodyParams).length > 0 && method !== 'GET' && method !== 'DELETE') {
|
|
25
|
-
body = JSON.stringify(bodyParams);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else if (method !== 'GET' && method !== 'DELETE') {
|
|
31
|
-
// For non-path-param endpoints, use all params as body
|
|
32
|
-
body = JSON.stringify(validatedParams);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
const response = await this.request(url, {
|
|
36
|
-
method,
|
|
37
|
-
...(body && { body })
|
|
38
|
-
});
|
|
39
|
-
return this.parse({
|
|
40
|
-
response,
|
|
41
|
-
schemas: {
|
|
42
|
-
sdk: responseSchema,
|
|
43
|
-
raw: rawResponseSchema
|
|
44
|
-
}
|
|
45
|
-
});
|
|
1
|
+
import { transformResponse } from "./response.js";
|
|
2
|
+
import { ContiguityError } from "./errors.js";
|
|
3
|
+
const BASE_URLS = {
|
|
4
|
+
send: "https://api.contiguity.com/send",
|
|
5
|
+
otp: "https://api.contiguity.com/otp",
|
|
6
|
+
domains: "https://api.contiguity.com/domains",
|
|
7
|
+
numbers: "https://api.contiguity.com/numbers",
|
|
8
|
+
conversations: "https://api.contiguity.com/conversations",
|
|
9
|
+
voice: "https://api.contiguity.com/voice",
|
|
10
|
+
};
|
|
11
|
+
export async function request(config, path, options = {}) {
|
|
12
|
+
const { token, base, debug } = config;
|
|
13
|
+
const url = `${BASE_URLS[base]}${path}`;
|
|
14
|
+
const headers = {
|
|
15
|
+
"Content-Type": "application/json",
|
|
16
|
+
Authorization: `Token ${token}`,
|
|
46
17
|
};
|
|
18
|
+
if (debug) {
|
|
19
|
+
console.debug("[Contiguity]", options.method ?? "GET", url, options.body ?? "");
|
|
20
|
+
}
|
|
21
|
+
const res = await fetch(url, {
|
|
22
|
+
method: options.method ?? "GET",
|
|
23
|
+
headers,
|
|
24
|
+
body: options.body ? JSON.stringify(options.body) : undefined,
|
|
25
|
+
});
|
|
26
|
+
const json = (await res.json());
|
|
27
|
+
if (!res.ok) {
|
|
28
|
+
const errMsg = json.data?.error ?? json.object ?? "Unknown error";
|
|
29
|
+
const status = json.data?.status ?? res.status;
|
|
30
|
+
throw new ContiguityError(errMsg, status);
|
|
31
|
+
}
|
|
32
|
+
return transformResponse(json);
|
|
47
33
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ResponseMetadata } from "../types/responses.js";
|
|
2
|
+
export interface RawApiResponse {
|
|
3
|
+
id: string;
|
|
4
|
+
timestamp: number;
|
|
5
|
+
api_version: string;
|
|
6
|
+
object: string;
|
|
7
|
+
data: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export declare function transformResponse(res: RawApiResponse): Record<string, unknown> & {
|
|
10
|
+
metadata: ResponseMetadata;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAQ/G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/webhook/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,sBAAsB,CAAC;AAE/E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAO/E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse raw webhook body (v2 format) into a typed event.
|
|
3
|
+
*/
|
|
4
|
+
export function parseWebhookPayload(raw_body) {
|
|
5
|
+
const str = typeof raw_body === "string" ? raw_body : raw_body.toString("utf-8");
|
|
6
|
+
const event = JSON.parse(str);
|
|
7
|
+
if (typeof event.id !== "string" || typeof event.type !== "string" || typeof event.timestamp !== "number") {
|
|
8
|
+
throw new Error("Invalid webhook payload: missing id, type, or timestamp");
|
|
9
|
+
}
|
|
10
|
+
return event;
|
|
11
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify webhook signature (HMAC-SHA256, format t=timestamp,v1=hex).
|
|
3
|
+
* Use raw body as received — do not re-serialize JSON.
|
|
4
|
+
*/
|
|
5
|
+
export declare function verifyWebhookSignature(raw_body: string | Buffer, signature_header: string | null | undefined, secret: string | null | undefined, tolerance_seconds?: number): boolean;
|
|
6
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/webhook/verify.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,iBAAiB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAsBT"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Verify webhook signature (HMAC-SHA256, format t=timestamp,v1=hex).
|
|
4
|
+
* Use raw body as received — do not re-serialize JSON.
|
|
5
|
+
*/
|
|
6
|
+
export function verifyWebhookSignature(raw_body, signature_header, secret, tolerance_seconds) {
|
|
7
|
+
if (!secret || !signature_header || raw_body == null)
|
|
8
|
+
return false;
|
|
9
|
+
const match = signature_header.match(/t=(\d+),v1=([a-f0-9]+)/);
|
|
10
|
+
if (!match)
|
|
11
|
+
return false;
|
|
12
|
+
const [, t, v1] = match;
|
|
13
|
+
if (!t || !v1)
|
|
14
|
+
return false;
|
|
15
|
+
const body_str = typeof raw_body === "string" ? raw_body : raw_body.toString("utf-8");
|
|
16
|
+
const signed_payload = `${t}.${body_str}`;
|
|
17
|
+
const expected = createHmac("sha256", secret).update(signed_payload).digest("hex");
|
|
18
|
+
if (v1.length !== expected.length)
|
|
19
|
+
return false;
|
|
20
|
+
try {
|
|
21
|
+
if (!timingSafeEqual(Buffer.from(v1, "hex"), Buffer.from(expected, "hex")))
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (tolerance_seconds != null) {
|
|
28
|
+
const ts = parseInt(t, 10);
|
|
29
|
+
if (Number.isNaN(ts))
|
|
30
|
+
return false;
|
|
31
|
+
const now = Math.floor(Date.now() / 1000);
|
|
32
|
+
if (Math.abs(now - ts) > tolerance_seconds)
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
package/package.json
CHANGED
|
@@ -1,49 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "contiguity",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "Contiguity JavaScript/TypeScript SDK",
|
|
4
5
|
"type": "module",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
11
15
|
"files": [
|
|
12
|
-
"dist
|
|
13
|
-
"README.md",
|
|
14
|
-
"LICENSE.md"
|
|
16
|
+
"dist"
|
|
15
17
|
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc",
|
|
20
|
+
"test": "bun run build && vitest run",
|
|
21
|
+
"prepublishOnly": "tsc",
|
|
22
|
+
"pack": "bun pm pack",
|
|
23
|
+
"publish:dry": "bun run build && bun publish --dry-run",
|
|
24
|
+
"publish": "bun run build && npm publish"
|
|
25
|
+
},
|
|
16
26
|
"keywords": [
|
|
17
27
|
"contiguity",
|
|
18
28
|
"sms",
|
|
19
29
|
"email",
|
|
20
|
-
"whatsapp",
|
|
21
|
-
"imessage",
|
|
22
30
|
"otp",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"sdk"
|
|
31
|
+
"imessage",
|
|
32
|
+
"whatsapp"
|
|
26
33
|
],
|
|
27
|
-
"
|
|
28
|
-
"bugs": {
|
|
29
|
-
"url": "https://github.com/contiguity/javascript/issues"
|
|
30
|
-
},
|
|
31
|
-
"repository": {
|
|
32
|
-
"type": "git",
|
|
33
|
-
"url": "https://github.com/contiguity/javascript.git"
|
|
34
|
-
},
|
|
35
|
-
"documentation": "https://docs.contiguity.com/sdk/js/overview",
|
|
36
|
-
"scripts": {
|
|
37
|
-
"publish": "bun publish --access public",
|
|
38
|
-
"dev": "bun run src/index.ts",
|
|
39
|
-
"build": "bunx tsc && bun build src/index.ts --outdir=dist --format=esm --target=node",
|
|
40
|
-
"typecheck": "bunx tsc --noEmit",
|
|
41
|
-
"update-deps": "npx npm-check-updates"
|
|
42
|
-
},
|
|
34
|
+
"license": "MIT",
|
|
43
35
|
"dependencies": {
|
|
44
|
-
"zod": "^4.
|
|
36
|
+
"zod": "^4.3.6"
|
|
45
37
|
},
|
|
46
38
|
"devDependencies": {
|
|
47
|
-
"
|
|
39
|
+
"@types/node": "^22.19.11",
|
|
40
|
+
"typescript": "^5.9.3",
|
|
41
|
+
"vitest": "^3.2.4"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18"
|
|
48
45
|
}
|
|
49
46
|
}
|
package/LICENSE.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
Copyright 2025 Contiguity LLC
|
|
2
|
-
|
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
-
|
|
5
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
8
|
-
|
package/dist/client/fetch.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export interface ContiguityClientOptions {
|
|
3
|
-
debug?: boolean;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Contiguity API client with request functionality
|
|
7
|
-
*/
|
|
8
|
-
export declare class ContiguityClient {
|
|
9
|
-
protected readonly token: string;
|
|
10
|
-
constructor(token: string, options?: ContiguityClientOptions);
|
|
11
|
-
/**
|
|
12
|
-
* Make an authenticated request to the Contiguity API
|
|
13
|
-
*/
|
|
14
|
-
request(endpoint: string, options?: RequestInit): Promise<any>;
|
|
15
|
-
/**
|
|
16
|
-
* Parse and normalize API responses to flattened format with metadata
|
|
17
|
-
* This method handles different response formats from the Contiguity API
|
|
18
|
-
* and normalizes them to a consistent flattened format.
|
|
19
|
-
*/
|
|
20
|
-
parse<T extends z.ZodType>({ response, schema }: {
|
|
21
|
-
response: any;
|
|
22
|
-
schema: T;
|
|
23
|
-
}): any;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/client/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACzB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAErB,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B;IAYhE;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAiDxE;;;;OAIG;IACH,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EACvB,QAAQ,EACR,MAAM,EACT,EAAE;QACC,QAAQ,EAAE,GAAG,CAAC;QACd,MAAM,EAAE,CAAC,CAAC;KACb,GAAG,GAAG;CAeV"}
|