contiguity 0.0.9 → 0.1.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/LICENSE.md +8 -0
- package/dist/.DS_Store +0 -0
- package/dist/client/fetch.d.ts +25 -0
- package/dist/client/fetch.d.ts.map +1 -0
- package/dist/client/fetch.js +85 -0
- package/dist/contiguity.d.ts +81 -0
- package/dist/contiguity.d.ts.map +1 -0
- package/dist/contiguity.js +106 -0
- package/dist/index.d.ts +29 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12482 -4
- package/dist/services/domains/delete.d.ts +28 -0
- package/dist/services/domains/delete.d.ts.map +1 -0
- package/dist/services/domains/delete.js +37 -0
- package/dist/services/domains/get.d.ts +98 -0
- package/dist/services/domains/get.d.ts.map +1 -0
- package/dist/services/domains/get.js +89 -0
- package/dist/services/domains/index.d.ts +34 -0
- package/dist/services/domains/index.d.ts.map +1 -0
- package/dist/services/domains/index.js +37 -0
- package/dist/services/domains/list.d.ts +36 -0
- package/dist/services/domains/list.d.ts.map +1 -0
- package/dist/services/domains/list.js +42 -0
- package/dist/services/domains/register.d.ts +67 -0
- package/dist/services/domains/register.d.ts.map +1 -0
- package/dist/services/domains/register.js +67 -0
- package/dist/services/email/index.d.ts +17 -0
- package/dist/services/email/index.d.ts.map +1 -0
- package/dist/services/email/index.js +16 -0
- package/dist/services/email/send.d.ts +66 -0
- package/dist/services/email/send.d.ts.map +1 -0
- package/dist/services/email/send.js +78 -0
- package/dist/services/imessage/available.d.ts +14 -0
- package/dist/services/imessage/available.d.ts.map +1 -0
- package/dist/services/imessage/available.js +23 -0
- package/dist/services/imessage/index.d.ts +31 -0
- package/dist/services/imessage/index.d.ts.map +1 -0
- package/dist/services/imessage/index.js +30 -0
- package/dist/services/imessage/send.d.ts +57 -0
- package/dist/services/imessage/send.d.ts.map +1 -0
- package/dist/services/imessage/send.js +60 -0
- package/dist/services/imessage/typing.d.ts +40 -0
- package/dist/services/imessage/typing.d.ts.map +1 -0
- package/dist/services/imessage/typing.js +49 -0
- package/dist/services/lease/available.d.ts +193 -0
- package/dist/services/lease/available.d.ts.map +1 -0
- package/dist/services/lease/available.js +103 -0
- package/dist/services/lease/configure.d.ts +38 -0
- package/dist/services/lease/configure.d.ts.map +1 -0
- package/dist/services/lease/configure.js +40 -0
- package/dist/services/lease/create.d.ts +108 -0
- package/dist/services/lease/create.d.ts.map +1 -0
- package/dist/services/lease/create.js +78 -0
- package/dist/services/lease/details.d.ts +133 -0
- package/dist/services/lease/details.d.ts.map +1 -0
- package/dist/services/lease/details.js +65 -0
- package/dist/services/lease/get.d.ts +96 -0
- package/dist/services/lease/get.d.ts.map +1 -0
- package/dist/services/lease/get.js +68 -0
- package/dist/services/lease/index.d.ts +57 -0
- package/dist/services/lease/index.d.ts.map +1 -0
- package/dist/services/lease/index.js +58 -0
- package/dist/services/lease/leased.d.ts +228 -0
- package/dist/services/lease/leased.d.ts.map +1 -0
- package/dist/services/lease/leased.js +108 -0
- package/dist/services/lease/terminate.d.ts +71 -0
- package/dist/services/lease/terminate.d.ts.map +1 -0
- package/dist/services/lease/terminate.js +78 -0
- package/dist/services/otp/index.d.ts +33 -0
- package/dist/services/otp/index.d.ts.map +1 -0
- package/dist/services/otp/index.js +37 -0
- package/dist/services/otp/new.d.ts +29 -0
- package/dist/services/otp/new.d.ts.map +1 -0
- package/dist/services/otp/new.js +44 -0
- package/dist/services/otp/resend.d.ts +22 -0
- package/dist/services/otp/resend.d.ts.map +1 -0
- package/dist/services/otp/resend.js +31 -0
- package/dist/services/otp/send.d.ts +26 -0
- package/dist/services/otp/send.d.ts.map +1 -0
- package/dist/services/otp/send.js +38 -0
- package/dist/services/otp/verify.d.ts +24 -0
- package/dist/services/otp/verify.d.ts.map +1 -0
- package/dist/services/otp/verify.js +34 -0
- package/dist/services/text/index.d.ts +17 -0
- package/dist/services/text/index.d.ts.map +1 -0
- package/dist/services/text/index.js +16 -0
- package/dist/services/text/send.d.ts +25 -0
- package/dist/services/text/send.d.ts.map +1 -0
- package/dist/services/text/send.js +37 -0
- package/dist/services/whatsapp/index.d.ts +24 -0
- package/dist/services/whatsapp/index.d.ts.map +1 -0
- package/dist/services/whatsapp/index.js +23 -0
- package/dist/services/whatsapp/send.d.ts +57 -0
- package/dist/services/whatsapp/send.d.ts.map +1 -0
- package/dist/services/whatsapp/send.js +60 -0
- package/dist/services/whatsapp/typing.d.ts +40 -0
- package/dist/services/whatsapp/typing.d.ts.map +1 -0
- package/dist/services/whatsapp/typing.js +49 -0
- package/dist/types/base.d.ts +17 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +20 -0
- package/dist/types/common.d.ts +56 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +48 -0
- package/dist/types/error.d.ts +37 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +54 -0
- package/dist/types/metadata.d.ts +10 -0
- package/dist/types/metadata.d.ts.map +1 -0
- package/dist/types/response.d.ts +10 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +10 -0
- package/dist/utils/parse.d.ts +8 -0
- package/dist/utils/parse.d.ts.map +1 -0
- package/dist/utils/parse.js +36 -0
- package/dist/utils/request.d.ts +5 -27
- package/dist/utils/request.d.ts.map +1 -1
- package/dist/utils/request.js +45 -39
- package/package.json +33 -30
- package/dist/cjs/client.d.ts +0 -27
- package/dist/cjs/client.d.ts.map +0 -1
- package/dist/cjs/client.js +0 -43
- package/dist/cjs/index.d.ts +0 -13
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -11
- package/dist/cjs/resources/conversations.d.ts +0 -30
- package/dist/cjs/resources/conversations.d.ts.map +0 -1
- package/dist/cjs/resources/conversations.js +0 -24
- package/dist/cjs/resources/domains.d.ts +0 -39
- package/dist/cjs/resources/domains.d.ts.map +0 -1
- package/dist/cjs/resources/domains.js +0 -28
- package/dist/cjs/resources/email.d.ts +0 -17
- package/dist/cjs/resources/email.d.ts.map +0 -1
- package/dist/cjs/resources/email.js +0 -19
- package/dist/cjs/resources/imessage.d.ts +0 -49
- package/dist/cjs/resources/imessage.d.ts.map +0 -1
- package/dist/cjs/resources/imessage.js +0 -42
- package/dist/cjs/resources/lease.d.ts +0 -55
- package/dist/cjs/resources/lease.d.ts.map +0 -1
- package/dist/cjs/resources/lease.js +0 -34
- package/dist/cjs/resources/otp.d.ts +0 -63
- package/dist/cjs/resources/otp.d.ts.map +0 -1
- package/dist/cjs/resources/otp.js +0 -48
- package/dist/cjs/resources/text.d.ts +0 -17
- package/dist/cjs/resources/text.d.ts.map +0 -1
- package/dist/cjs/resources/text.js +0 -19
- package/dist/cjs/resources/voice.d.ts +0 -129
- package/dist/cjs/resources/voice.d.ts.map +0 -1
- package/dist/cjs/resources/voice.js +0 -95
- package/dist/cjs/resources/webhook.d.ts +0 -21
- package/dist/cjs/resources/webhook.d.ts.map +0 -1
- package/dist/cjs/resources/webhook.js +0 -47
- package/dist/cjs/resources/whatsapp.d.ts +0 -33
- package/dist/cjs/resources/whatsapp.d.ts.map +0 -1
- package/dist/cjs/resources/whatsapp.js +0 -32
- package/dist/cjs/schemas/conversations.d.ts +0 -5
- package/dist/cjs/schemas/conversations.d.ts.map +0 -1
- package/dist/cjs/schemas/conversations.js +0 -5
- package/dist/cjs/schemas/domains.d.ts +0 -7
- package/dist/cjs/schemas/domains.d.ts.map +0 -1
- package/dist/cjs/schemas/domains.js +0 -10
- package/dist/cjs/schemas/email.d.ts +0 -16
- package/dist/cjs/schemas/email.d.ts.map +0 -1
- package/dist/cjs/schemas/email.js +0 -16
- package/dist/cjs/schemas/imessage.d.ts +0 -25
- package/dist/cjs/schemas/imessage.d.ts.map +0 -1
- package/dist/cjs/schemas/imessage.js +0 -25
- package/dist/cjs/schemas/index.d.ts +0 -10
- package/dist/cjs/schemas/index.d.ts.map +0 -1
- package/dist/cjs/schemas/index.js +0 -25
- package/dist/cjs/schemas/leases.d.ts +0 -9
- package/dist/cjs/schemas/leases.d.ts.map +0 -1
- package/dist/cjs/schemas/leases.js +0 -9
- package/dist/cjs/schemas/otp.d.ts +0 -25
- package/dist/cjs/schemas/otp.d.ts.map +0 -1
- package/dist/cjs/schemas/otp.js +0 -16
- package/dist/cjs/schemas/text.d.ts +0 -9
- package/dist/cjs/schemas/text.d.ts.map +0 -1
- package/dist/cjs/schemas/text.js +0 -12
- package/dist/cjs/schemas/voice.d.ts +0 -5
- package/dist/cjs/schemas/voice.d.ts.map +0 -1
- package/dist/cjs/schemas/voice.js +0 -5
- package/dist/cjs/schemas/whatsapp.d.ts +0 -25
- package/dist/cjs/schemas/whatsapp.d.ts.map +0 -1
- package/dist/cjs/schemas/whatsapp.js +0 -25
- package/dist/cjs/types/index.d.ts +0 -3
- package/dist/cjs/types/index.d.ts.map +0 -1
- package/dist/cjs/types/index.js +0 -18
- package/dist/cjs/types/responses.d.ts +0 -8
- package/dist/cjs/types/responses.d.ts.map +0 -1
- package/dist/cjs/types/responses.js +0 -2
- package/dist/cjs/types/webhooks.d.ts +0 -10
- package/dist/cjs/types/webhooks.d.ts.map +0 -1
- package/dist/cjs/types/webhooks.js +0 -2
- package/dist/cjs/utils/errors.d.ts +0 -6
- package/dist/cjs/utils/errors.d.ts.map +0 -1
- package/dist/cjs/utils/errors.js +0 -15
- package/dist/cjs/utils/request.d.ts +0 -27
- package/dist/cjs/utils/request.d.ts.map +0 -1
- package/dist/cjs/utils/request.js +0 -36
- package/dist/cjs/utils/response.d.ts +0 -12
- package/dist/cjs/utils/response.d.ts.map +0 -1
- package/dist/cjs/utils/response.js +0 -12
- package/dist/cjs/webhook/parse.d.ts +0 -6
- package/dist/cjs/webhook/parse.d.ts.map +0 -1
- package/dist/cjs/webhook/parse.js +0 -14
- package/dist/cjs/webhook/verify.d.ts +0 -6
- package/dist/cjs/webhook/verify.d.ts.map +0 -1
- package/dist/cjs/webhook/verify.js +0 -39
- package/dist/client.d.ts +0 -27
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -50
- package/dist/esm/client.d.ts +0 -27
- package/dist/esm/client.d.ts.map +0 -1
- package/dist/esm/client.js +0 -39
- package/dist/esm/index.d.ts +0 -13
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -4
- package/dist/esm/resources/conversations.d.ts +0 -30
- package/dist/esm/resources/conversations.d.ts.map +0 -1
- package/dist/esm/resources/conversations.js +0 -20
- package/dist/esm/resources/domains.d.ts +0 -39
- package/dist/esm/resources/domains.d.ts.map +0 -1
- package/dist/esm/resources/domains.js +0 -24
- package/dist/esm/resources/email.d.ts +0 -17
- package/dist/esm/resources/email.d.ts.map +0 -1
- package/dist/esm/resources/email.js +0 -15
- package/dist/esm/resources/imessage.d.ts +0 -49
- package/dist/esm/resources/imessage.d.ts.map +0 -1
- package/dist/esm/resources/imessage.js +0 -38
- package/dist/esm/resources/lease.d.ts +0 -55
- package/dist/esm/resources/lease.d.ts.map +0 -1
- package/dist/esm/resources/lease.js +0 -30
- package/dist/esm/resources/otp.d.ts +0 -63
- package/dist/esm/resources/otp.d.ts.map +0 -1
- package/dist/esm/resources/otp.js +0 -44
- package/dist/esm/resources/text.d.ts +0 -17
- package/dist/esm/resources/text.d.ts.map +0 -1
- package/dist/esm/resources/text.js +0 -15
- package/dist/esm/resources/voice.d.ts +0 -129
- package/dist/esm/resources/voice.d.ts.map +0 -1
- package/dist/esm/resources/voice.js +0 -91
- package/dist/esm/resources/webhook.d.ts +0 -21
- package/dist/esm/resources/webhook.d.ts.map +0 -1
- package/dist/esm/resources/webhook.js +0 -43
- package/dist/esm/resources/whatsapp.d.ts +0 -33
- package/dist/esm/resources/whatsapp.d.ts.map +0 -1
- package/dist/esm/resources/whatsapp.js +0 -28
- package/dist/esm/schemas/conversations.d.ts +0 -5
- package/dist/esm/schemas/conversations.d.ts.map +0 -1
- package/dist/esm/schemas/conversations.js +0 -2
- package/dist/esm/schemas/domains.d.ts +0 -7
- package/dist/esm/schemas/domains.d.ts.map +0 -1
- package/dist/esm/schemas/domains.js +0 -7
- package/dist/esm/schemas/email.d.ts +0 -16
- package/dist/esm/schemas/email.d.ts.map +0 -1
- package/dist/esm/schemas/email.js +0 -13
- package/dist/esm/schemas/imessage.d.ts +0 -25
- package/dist/esm/schemas/imessage.d.ts.map +0 -1
- package/dist/esm/schemas/imessage.js +0 -22
- package/dist/esm/schemas/index.d.ts +0 -10
- package/dist/esm/schemas/index.d.ts.map +0 -1
- package/dist/esm/schemas/index.js +0 -9
- package/dist/esm/schemas/leases.d.ts +0 -9
- package/dist/esm/schemas/leases.d.ts.map +0 -1
- package/dist/esm/schemas/leases.js +0 -6
- package/dist/esm/schemas/otp.d.ts +0 -25
- package/dist/esm/schemas/otp.d.ts.map +0 -1
- package/dist/esm/schemas/otp.js +0 -13
- package/dist/esm/schemas/text.d.ts +0 -9
- package/dist/esm/schemas/text.d.ts.map +0 -1
- package/dist/esm/schemas/text.js +0 -9
- package/dist/esm/schemas/voice.d.ts +0 -5
- package/dist/esm/schemas/voice.d.ts.map +0 -1
- package/dist/esm/schemas/voice.js +0 -2
- package/dist/esm/schemas/whatsapp.d.ts +0 -25
- package/dist/esm/schemas/whatsapp.d.ts.map +0 -1
- package/dist/esm/schemas/whatsapp.js +0 -22
- package/dist/esm/types/index.d.ts +0 -3
- package/dist/esm/types/index.d.ts.map +0 -1
- package/dist/esm/types/index.js +0 -2
- package/dist/esm/types/responses.d.ts +0 -8
- package/dist/esm/types/responses.d.ts.map +0 -1
- package/dist/esm/types/webhooks.d.ts +0 -10
- package/dist/esm/types/webhooks.d.ts.map +0 -1
- package/dist/esm/types/webhooks.js +0 -1
- package/dist/esm/utils/errors.d.ts +0 -6
- package/dist/esm/utils/errors.d.ts.map +0 -1
- package/dist/esm/utils/errors.js +0 -11
- package/dist/esm/utils/request.d.ts +0 -27
- package/dist/esm/utils/request.d.ts.map +0 -1
- package/dist/esm/utils/request.js +0 -33
- package/dist/esm/utils/response.d.ts +0 -12
- package/dist/esm/utils/response.d.ts.map +0 -1
- package/dist/esm/utils/response.js +0 -9
- package/dist/esm/webhook/parse.d.ts +0 -6
- package/dist/esm/webhook/parse.d.ts.map +0 -1
- package/dist/esm/webhook/parse.js +0 -11
- package/dist/esm/webhook/verify.d.ts +0 -6
- package/dist/esm/webhook/verify.d.ts.map +0 -1
- package/dist/esm/webhook/verify.js +0 -36
- package/dist/resources/agreements.d.ts +0 -14
- package/dist/resources/agreements.d.ts.map +0 -1
- package/dist/resources/agreements.js +0 -10
- package/dist/resources/conversations.d.ts +0 -31
- package/dist/resources/conversations.d.ts.map +0 -1
- package/dist/resources/conversations.js +0 -21
- package/dist/resources/domains.d.ts +0 -39
- package/dist/resources/domains.d.ts.map +0 -1
- package/dist/resources/domains.js +0 -24
- package/dist/resources/email.d.ts +0 -17
- package/dist/resources/email.d.ts.map +0 -1
- package/dist/resources/email.js +0 -15
- package/dist/resources/entitlements.d.ts +0 -38
- package/dist/resources/entitlements.d.ts.map +0 -1
- package/dist/resources/entitlements.js +0 -19
- package/dist/resources/identity.d.ts +0 -56
- package/dist/resources/identity.d.ts.map +0 -1
- package/dist/resources/identity.js +0 -43
- package/dist/resources/imessage.d.ts +0 -70
- package/dist/resources/imessage.d.ts.map +0 -1
- package/dist/resources/imessage.js +0 -55
- package/dist/resources/lease.d.ts +0 -55
- package/dist/resources/lease.d.ts.map +0 -1
- package/dist/resources/lease.js +0 -30
- package/dist/resources/otp.d.ts +0 -63
- package/dist/resources/otp.d.ts.map +0 -1
- package/dist/resources/otp.js +0 -44
- package/dist/resources/product.d.ts +0 -23
- package/dist/resources/product.d.ts.map +0 -1
- package/dist/resources/product.js +0 -19
- package/dist/resources/text.d.ts +0 -56
- package/dist/resources/text.d.ts.map +0 -1
- package/dist/resources/text.js +0 -41
- package/dist/resources/voice.d.ts +0 -129
- package/dist/resources/voice.d.ts.map +0 -1
- package/dist/resources/voice.js +0 -91
- package/dist/resources/webhook.d.ts +0 -21
- package/dist/resources/webhook.d.ts.map +0 -1
- package/dist/resources/webhook.js +0 -43
- package/dist/resources/whatsapp.d.ts +0 -45
- package/dist/resources/whatsapp.d.ts.map +0 -1
- package/dist/resources/whatsapp.js +0 -39
- package/dist/schemas/conversations.d.ts +0 -8
- package/dist/schemas/conversations.d.ts.map +0 -1
- package/dist/schemas/conversations.js +0 -8
- package/dist/schemas/domains.d.ts +0 -7
- package/dist/schemas/domains.d.ts.map +0 -1
- package/dist/schemas/domains.js +0 -7
- package/dist/schemas/email.d.ts +0 -16
- package/dist/schemas/email.d.ts.map +0 -1
- package/dist/schemas/email.js +0 -22
- package/dist/schemas/imessage.d.ts +0 -45
- package/dist/schemas/imessage.d.ts.map +0 -1
- package/dist/schemas/imessage.js +0 -37
- package/dist/schemas/index.d.ts +0 -10
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js +0 -9
- package/dist/schemas/leases.d.ts +0 -9
- package/dist/schemas/leases.d.ts.map +0 -1
- package/dist/schemas/leases.js +0 -6
- package/dist/schemas/otp.d.ts +0 -25
- package/dist/schemas/otp.d.ts.map +0 -1
- package/dist/schemas/otp.js +0 -13
- package/dist/schemas/product.d.ts +0 -12
- package/dist/schemas/product.d.ts.map +0 -1
- package/dist/schemas/product.js +0 -9
- package/dist/schemas/text.d.ts +0 -25
- package/dist/schemas/text.d.ts.map +0 -1
- package/dist/schemas/text.js +0 -19
- package/dist/schemas/voice.d.ts +0 -5
- package/dist/schemas/voice.d.ts.map +0 -1
- package/dist/schemas/voice.js +0 -2
- package/dist/schemas/whatsapp.d.ts +0 -32
- package/dist/schemas/whatsapp.d.ts.map +0 -1
- package/dist/schemas/whatsapp.js +0 -30
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/responses.d.ts +0 -8
- package/dist/types/responses.d.ts.map +0 -1
- package/dist/types/responses.js +0 -1
- package/dist/types/webhooks.d.ts +0 -48
- package/dist/types/webhooks.d.ts.map +0 -1
- package/dist/types/webhooks.js +0 -1
- package/dist/utils/errors.d.ts +0 -10
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -13
- package/dist/utils/normalize.d.ts +0 -13
- package/dist/utils/normalize.d.ts.map +0 -1
- package/dist/utils/normalize.js +0 -25
- package/dist/utils/response.d.ts +0 -12
- package/dist/utils/response.d.ts.map +0 -1
- package/dist/utils/response.js +0 -9
- package/dist/webhook/parse.d.ts +0 -6
- package/dist/webhook/parse.d.ts.map +0 -1
- package/dist/webhook/parse.js +0 -11
- package/dist/webhook/verify.d.ts +0 -6
- package/dist/webhook/verify.d.ts.map +0 -1
- package/dist/webhook/verify.js +0 -36
- /package/dist/{esm/types/responses.js → types/metadata.js} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const WhatsAppTypingRequest: z.ZodObject<{
|
|
3
|
+
to: z.ZodString;
|
|
4
|
+
from: z.ZodOptional<z.ZodString>;
|
|
5
|
+
action: z.ZodEnum<{
|
|
6
|
+
start: "start";
|
|
7
|
+
stop: "stop";
|
|
8
|
+
}>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const WhatsAppTypingResponse: z.ZodObject<{
|
|
11
|
+
status: z.ZodString;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type WhatsAppTypingParams = z.infer<typeof WhatsAppTypingRequest>;
|
|
14
|
+
export type WhatsAppTypingResponseType = z.infer<typeof WhatsAppTypingResponse>;
|
|
15
|
+
/**
|
|
16
|
+
* Start or stop sending typing indicators over WhatsApp
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Start typing indicator
|
|
21
|
+
* const response = await contiguity.whatsapp.typing({
|
|
22
|
+
* to: "+1234567890",
|
|
23
|
+
* action: "start"
|
|
24
|
+
* });
|
|
25
|
+
* console.log(`Typing status: ${response.status}`);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Stop typing indicator with specific sender number
|
|
31
|
+
* const response = await contiguity.whatsapp.typing({
|
|
32
|
+
* to: "+1234567890",
|
|
33
|
+
* from: "+15555555555",
|
|
34
|
+
* action: "stop"
|
|
35
|
+
* });
|
|
36
|
+
* console.log(`Typing status: ${response.status}`);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function _whatsAppTyping(this: any, params: WhatsAppTypingParams): Promise<any>;
|
|
40
|
+
//# sourceMappingURL=typing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../../src/services/whatsapp/typing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;iBAGjC,CAAA;AAKF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACzE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAW3F"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { E164PhoneNumber, OptionalSenderNumber, TypingAction } from "@/types/common";
|
|
3
|
+
export const WhatsAppTypingRequest = z.object({
|
|
4
|
+
/** Recipient's WhatsApp number. Must be in E.164 format */
|
|
5
|
+
to: E164PhoneNumber,
|
|
6
|
+
/** Your leased WhatsApp number. If none is provided, we will use a random WhatsApp number of yours */
|
|
7
|
+
from: OptionalSenderNumber,
|
|
8
|
+
/** Whether to start or stop sending typing indicators */
|
|
9
|
+
action: TypingAction
|
|
10
|
+
});
|
|
11
|
+
export const WhatsAppTypingResponse = z.object({
|
|
12
|
+
/** Status of the typing indicator */
|
|
13
|
+
status: z.string(),
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Start or stop sending typing indicators over WhatsApp
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Start typing indicator
|
|
21
|
+
* const response = await contiguity.whatsapp.typing({
|
|
22
|
+
* to: "+1234567890",
|
|
23
|
+
* action: "start"
|
|
24
|
+
* });
|
|
25
|
+
* console.log(`Typing status: ${response.status}`);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Stop typing indicator with specific sender number
|
|
31
|
+
* const response = await contiguity.whatsapp.typing({
|
|
32
|
+
* to: "+1234567890",
|
|
33
|
+
* from: "+15555555555",
|
|
34
|
+
* action: "stop"
|
|
35
|
+
* });
|
|
36
|
+
* console.log(`Typing status: ${response.status}`);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export async function _whatsAppTyping(params) {
|
|
40
|
+
const validatedParams = WhatsAppTypingRequest.parse(params);
|
|
41
|
+
const response = await this.request("/send/whatsapp/typing", {
|
|
42
|
+
method: "POST",
|
|
43
|
+
body: JSON.stringify(validatedParams),
|
|
44
|
+
});
|
|
45
|
+
return this.parse({
|
|
46
|
+
response,
|
|
47
|
+
schema: WhatsAppTypingResponse
|
|
48
|
+
});
|
|
49
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Base response builder that automatically creates typed responses with metadata
|
|
4
|
+
* This creates flattened responses where the data is combined with metadata
|
|
5
|
+
*/
|
|
6
|
+
export declare class BaseResponseBuilder<T extends z.ZodObject<any>> {
|
|
7
|
+
readonly schema: T;
|
|
8
|
+
constructor(schema: T);
|
|
9
|
+
get response(): T;
|
|
10
|
+
get flattened(): z.ZodObject<{
|
|
11
|
+
[x: string]: any;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
}
|
|
14
|
+
export declare function createResponse<T extends z.ZodObject<any>>(schema: T): BaseResponseBuilder<T>;
|
|
15
|
+
export type BaseResponse<T extends BaseResponseBuilder<any>> = z.infer<T['response']>;
|
|
16
|
+
export type FlattenedResponse<T extends BaseResponseBuilder<any>> = z.infer<T['flattened']>;
|
|
17
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;aAC3B,MAAM,EAAE,CAAC;gBAAT,MAAM,EAAE,CAAC;IAErC,IAAI,QAAQ,MAEX;IAED,IAAI,SAAS;;sBAEZ;CACJ;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,0BAEnE;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ContiguityResponse } from "@/types/response";
|
|
2
|
+
/**
|
|
3
|
+
* Base response builder that automatically creates typed responses with metadata
|
|
4
|
+
* This creates flattened responses where the data is combined with metadata
|
|
5
|
+
*/
|
|
6
|
+
export class BaseResponseBuilder {
|
|
7
|
+
schema;
|
|
8
|
+
constructor(schema) {
|
|
9
|
+
this.schema = schema;
|
|
10
|
+
}
|
|
11
|
+
get response() {
|
|
12
|
+
return this.schema;
|
|
13
|
+
}
|
|
14
|
+
get flattened() {
|
|
15
|
+
return ContiguityResponse.extend(this.schema.shape);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function createResponse(schema) {
|
|
19
|
+
return new BaseResponseBuilder(schema);
|
|
20
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Common validation schemas used across multiple services
|
|
4
|
+
*/
|
|
5
|
+
export declare const E164PhoneNumber: z.ZodString;
|
|
6
|
+
export declare const MessageContent: z.ZodString;
|
|
7
|
+
export declare const OptionalSenderNumber: z.ZodOptional<z.ZodString>;
|
|
8
|
+
export declare const AttachmentList: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9
|
+
export declare const SingleOrMultipleEmails: (maxCount?: number, fieldName?: string) => z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>;
|
|
10
|
+
export declare const TypingAction: z.ZodEnum<{
|
|
11
|
+
start: "start";
|
|
12
|
+
stop: "stop";
|
|
13
|
+
}>;
|
|
14
|
+
export declare const NumberStatus: z.ZodEnum<{
|
|
15
|
+
available: "available";
|
|
16
|
+
"g-available": "g-available";
|
|
17
|
+
leased: "leased";
|
|
18
|
+
unavailable: "unavailable";
|
|
19
|
+
}>;
|
|
20
|
+
export declare const LeaseStatus: z.ZodEnum<{
|
|
21
|
+
active: "active";
|
|
22
|
+
expired: "expired";
|
|
23
|
+
terminated: "terminated";
|
|
24
|
+
}>;
|
|
25
|
+
export declare const BillingMethod: z.ZodEnum<{
|
|
26
|
+
monthly: "monthly";
|
|
27
|
+
service_contract: "service_contract";
|
|
28
|
+
goodwill: "goodwill";
|
|
29
|
+
}>;
|
|
30
|
+
export declare const Currency: z.ZodEnum<{
|
|
31
|
+
USD: "USD";
|
|
32
|
+
EUR: "EUR";
|
|
33
|
+
GBP: "GBP";
|
|
34
|
+
CAD: "CAD";
|
|
35
|
+
AUD: "AUD";
|
|
36
|
+
}>;
|
|
37
|
+
export declare const Carrier: z.ZodEnum<{
|
|
38
|
+
"T-Mobile": "T-Mobile";
|
|
39
|
+
"AT&T": "AT&T";
|
|
40
|
+
Verizon: "Verizon";
|
|
41
|
+
Contiguity: "Contiguity";
|
|
42
|
+
"International Partner": "International Partner";
|
|
43
|
+
}>;
|
|
44
|
+
export declare const MessageChannel: z.ZodEnum<{
|
|
45
|
+
sms: "sms";
|
|
46
|
+
mms: "mms";
|
|
47
|
+
rcs: "rcs";
|
|
48
|
+
imessage: "imessage";
|
|
49
|
+
whatsapp: "whatsapp";
|
|
50
|
+
}>;
|
|
51
|
+
export declare const createFallbackSchema: <T extends string>(serviceType: T, fallbackConditions: readonly [T, ...T[]]) => z.ZodOptional<z.ZodObject<{
|
|
52
|
+
when: z.ZodArray<z.ZodEnum<{ [k_1 in T]: k_1; } extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never>>;
|
|
53
|
+
from: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$strip>>;
|
|
55
|
+
export type RequestFunction<TParams, TResponse> = (this: any, params: TParams) => Promise<TResponse>;
|
|
56
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAGH,eAAO,MAAM,eAAe,aAAgF,CAAC;AAG7G,eAAO,MAAM,cAAc,aAA+C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAAwB,CAAC;AAG1D,eAAO,MAAM,cAAc,wCAGZ,CAAC;AAGhB,eAAO,MAAM,sBAAsB,GAAI,WAAU,MAAW,EAAE,YAAW,MAAgB,8DAKnF,CAAC;AAGP,eAAO,MAAM,YAAY;;;EAAgF,CAAC;AAG1G,eAAO,MAAM,YAAY;;;;;EAAgE,CAAC;AAE1F,eAAO,MAAM,WAAW;;;;EAA8C,CAAC;AAEvE,eAAO,MAAM,aAAa;;;;EAAsD,CAAC;AAEjF,eAAO,MAAM,QAAQ;;;;;;EAA8C,CAAC;AAEpE,eAAO,MAAM,OAAO;;;;;;EAMlB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EACjD,aAAa,CAAC,EACd,oBAAoB,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;;;kBAM/B,CAAC;AAGd,MAAM,MAAM,eAAe,CAAC,OAAO,EAAE,SAAS,IAAI,CAC9C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,OAAO,KACd,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Common validation schemas used across multiple services
|
|
4
|
+
*/
|
|
5
|
+
// Phone number validation - used in text, iMessage, WhatsApp, and lease services
|
|
6
|
+
export const E164PhoneNumber = z.string().regex(/^\+[1-9]\d{1,14}$/, "Phone number must be in E.164 format");
|
|
7
|
+
// Message validation - used across messaging services
|
|
8
|
+
export const MessageContent = z.string().min(1, "Message cannot be empty");
|
|
9
|
+
// Optional sender number - used across messaging services
|
|
10
|
+
export const OptionalSenderNumber = z.string().optional();
|
|
11
|
+
// Attachment validation - used in iMessage and WhatsApp
|
|
12
|
+
export const AttachmentList = z
|
|
13
|
+
.array(z.string().min(1, "Attachment cannot be empty"))
|
|
14
|
+
.max(10, "Maximum 10 attachments allowed")
|
|
15
|
+
.optional();
|
|
16
|
+
// Email validation patterns - used in email service
|
|
17
|
+
export const SingleOrMultipleEmails = (maxCount = 10, fieldName = "email") => z.union([
|
|
18
|
+
z.email(`Must be a valid ${fieldName} address`),
|
|
19
|
+
z.array(z.email(`Must be a valid ${fieldName} address`))
|
|
20
|
+
.max(maxCount, `Maximum ${maxCount} ${fieldName} addresses allowed`)
|
|
21
|
+
]);
|
|
22
|
+
// Typing action validation - used in iMessage and WhatsApp typing
|
|
23
|
+
export const TypingAction = z.enum(["start", "stop"]).describe("Action must be either 'start' or 'stop'");
|
|
24
|
+
// Common status enums
|
|
25
|
+
export const NumberStatus = z.enum(["available", "g-available", "leased", "unavailable"]);
|
|
26
|
+
export const LeaseStatus = z.enum(["active", "expired", "terminated"]);
|
|
27
|
+
export const BillingMethod = z.enum(["monthly", "service_contract", "goodwill"]);
|
|
28
|
+
export const Currency = z.enum(["USD", "EUR", "GBP", "CAD", "AUD"]);
|
|
29
|
+
export const Carrier = z.enum([
|
|
30
|
+
"T-Mobile",
|
|
31
|
+
"AT&T",
|
|
32
|
+
"Verizon",
|
|
33
|
+
"Contiguity",
|
|
34
|
+
"International Partner"
|
|
35
|
+
]);
|
|
36
|
+
export const MessageChannel = z.enum([
|
|
37
|
+
"sms",
|
|
38
|
+
"mms",
|
|
39
|
+
"rcs",
|
|
40
|
+
"imessage",
|
|
41
|
+
"whatsapp"
|
|
42
|
+
]);
|
|
43
|
+
export const createFallbackSchema = (serviceType, fallbackConditions) => z.object({
|
|
44
|
+
/** When to fallback to SMS/RCS */
|
|
45
|
+
when: z.array(z.enum(fallbackConditions)).min(1, "At least one fallback condition must be specified"),
|
|
46
|
+
/** Fallback sender number */
|
|
47
|
+
from: OptionalSenderNumber
|
|
48
|
+
}).optional();
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const ContiguityAPIError: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
timestamp: z.ZodNumber;
|
|
5
|
+
api_version: z.ZodString;
|
|
6
|
+
object: z.ZodString;
|
|
7
|
+
data: z.ZodObject<{
|
|
8
|
+
status: z.ZodNumber;
|
|
9
|
+
error: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export interface ContiguityErrorData {
|
|
13
|
+
data: {
|
|
14
|
+
status: number;
|
|
15
|
+
error: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare class ContiguityError extends Error {
|
|
19
|
+
readonly status: number;
|
|
20
|
+
constructor(response: ContiguityErrorData);
|
|
21
|
+
static fromError(error: any): ContiguityError;
|
|
22
|
+
toString(): string;
|
|
23
|
+
toJSON(): {
|
|
24
|
+
message: string;
|
|
25
|
+
status: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare class ContiguitySDKError extends Error {
|
|
29
|
+
readonly status: string;
|
|
30
|
+
constructor(message: string, status?: string);
|
|
31
|
+
toString(): string;
|
|
32
|
+
toJSON(): {
|
|
33
|
+
message: string;
|
|
34
|
+
status: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/types/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;iBAS7B,CAAC;AAEH,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,mBAAmB;IAMzC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG;IASlB,QAAQ;IAIjB,MAAM;;;;CAMT;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAoB;IAOhD,QAAQ;IAIjB,MAAM;;;;CAMT"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const ContiguityAPIError = z.object({
|
|
3
|
+
id: z.string(),
|
|
4
|
+
timestamp: z.number(),
|
|
5
|
+
api_version: z.string(),
|
|
6
|
+
object: z.string(),
|
|
7
|
+
data: z.object({
|
|
8
|
+
status: z.number(),
|
|
9
|
+
error: z.string(),
|
|
10
|
+
}),
|
|
11
|
+
});
|
|
12
|
+
export class ContiguityError extends Error {
|
|
13
|
+
status;
|
|
14
|
+
constructor(response) {
|
|
15
|
+
super(response.data.error);
|
|
16
|
+
this.message = response.data.error;
|
|
17
|
+
this.status = response.data.status;
|
|
18
|
+
}
|
|
19
|
+
static fromError(error) {
|
|
20
|
+
return new ContiguityError({
|
|
21
|
+
data: {
|
|
22
|
+
error: error.message || "Unknown error",
|
|
23
|
+
status: error.status || 500,
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
toString() {
|
|
28
|
+
return `[Contiguity Error]: ${this.message} (status: ${this.status})`;
|
|
29
|
+
}
|
|
30
|
+
toJSON() {
|
|
31
|
+
return {
|
|
32
|
+
message: this.message,
|
|
33
|
+
status: this.status,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export class ContiguitySDKError extends Error {
|
|
38
|
+
status;
|
|
39
|
+
constructor(message, status = 'sdk_error') {
|
|
40
|
+
super(message);
|
|
41
|
+
this.message = message;
|
|
42
|
+
this.status = status;
|
|
43
|
+
this.name = '[Contiguity SDK Error]';
|
|
44
|
+
}
|
|
45
|
+
toString() {
|
|
46
|
+
return `[Contiguity SDK Error]: ${this.message} (status: ${this.status})`;
|
|
47
|
+
}
|
|
48
|
+
toJSON() {
|
|
49
|
+
return {
|
|
50
|
+
message: this.message,
|
|
51
|
+
status: this.status,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/types/metadata.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const ContiguityResponse: z.ZodObject<{
|
|
3
|
+
metadata: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
timestamp: z.ZodNumber;
|
|
6
|
+
api_version: z.ZodString;
|
|
7
|
+
object: z.ZodString;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;iBAQ7B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes API responses to either raw or flattened format
|
|
4
|
+
* This utility handles the complex logic of parsing different response formats
|
|
5
|
+
* from the Contiguity API and normalizing them consistently.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseContiguityResponse<T extends z.ZodType, R extends z.ZodType>(response: any, dataSchema: T, rawResponseSchema: R, returnRaw?: boolean): any;
|
|
8
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/utils/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAC5E,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,CAAC,EACb,iBAAiB,EAAE,CAAC,EACpB,SAAS,GAAE,OAAe,GAC3B,GAAG,CAiCL"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes API responses to either raw or flattened format
|
|
3
|
+
* This utility handles the complex logic of parsing different response formats
|
|
4
|
+
* from the Contiguity API and normalizing them consistently.
|
|
5
|
+
*/
|
|
6
|
+
export function parseContiguityResponse(response, dataSchema, rawResponseSchema, returnRaw = false) {
|
|
7
|
+
// Handle different response formats:
|
|
8
|
+
// 1. Already wrapped in response format (response.object === "response")
|
|
9
|
+
// 2. Direct data that needs wrapping
|
|
10
|
+
// 3. Fallback to raw parsing
|
|
11
|
+
const validatedResponse = response.object === "response"
|
|
12
|
+
? rawResponseSchema.parse(response)
|
|
13
|
+
: dataSchema.safeParse(response).success
|
|
14
|
+
? {
|
|
15
|
+
id: response.id || "unknown",
|
|
16
|
+
timestamp: response.timestamp || Date.now(),
|
|
17
|
+
api_version: response.api_version || "unknown",
|
|
18
|
+
object: response.object || "unknown",
|
|
19
|
+
data: dataSchema.parse(response),
|
|
20
|
+
}
|
|
21
|
+
: rawResponseSchema.parse(response);
|
|
22
|
+
if (returnRaw) {
|
|
23
|
+
return validatedResponse;
|
|
24
|
+
}
|
|
25
|
+
// For flattened responses, we need to handle both formats
|
|
26
|
+
const rawData = rawResponseSchema.parse(validatedResponse);
|
|
27
|
+
return {
|
|
28
|
+
...rawData.data,
|
|
29
|
+
metadata: {
|
|
30
|
+
id: rawData.id,
|
|
31
|
+
timestamp: rawData.timestamp,
|
|
32
|
+
api_version: rawData.api_version,
|
|
33
|
+
object: rawData.object,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
package/dist/utils/request.d.ts
CHANGED
|
@@ -1,28 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
readonly conversations: "https://api.contiguity.com/conversations";
|
|
7
|
-
readonly voice: "https://api.contiguity.com/voice";
|
|
8
|
-
readonly entitlements: "https://api.contiguity.com/entitlements";
|
|
9
|
-
};
|
|
10
|
-
export type ApiBase = keyof typeof BASE_URLS;
|
|
11
|
-
export interface RequestConfig {
|
|
12
|
-
token: string;
|
|
13
|
-
base: ApiBase;
|
|
14
|
-
debug?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare function request<T = Record<string, unknown>>(config: RequestConfig, path: string, options?: {
|
|
17
|
-
method?: "GET" | "POST" | "DELETE";
|
|
18
|
-
body?: Record<string, unknown>;
|
|
19
|
-
}): Promise<T & {
|
|
20
|
-
metadata: {
|
|
21
|
-
id: string;
|
|
22
|
-
timestamp: string;
|
|
23
|
-
api_version: string;
|
|
24
|
-
object: string;
|
|
25
|
-
};
|
|
26
|
-
}>;
|
|
27
|
-
export {};
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Standard request function factory - reduces duplication across services
|
|
4
|
+
*/
|
|
5
|
+
export declare function createRequestFunction<TRequest extends z.ZodType, TResponse extends z.ZodType, TRawResponse extends z.ZodType>(requestSchema: TRequest, responseSchema: TResponse, rawResponseSchema: TRawResponse, endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE'): (this: any, params?: z.infer<TRequest>) => Promise<any>;
|
|
28
6
|
//# 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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAS,CAAC,CAAC,OAAO,EAAE,SAAS,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,SAAS,CAAC,CAAC,OAAO,EACzH,aAAa,EAAE,QAAQ,EACvB,cAAc,EAAE,SAAS,EACzB,iBAAiB,EAAE,YAAY,EAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAiB,IAE5B,MAAM,GAAG,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAG,OAAO,CAAC,GAAG,CAAC,CA8C7E"}
|
package/dist/utils/request.js
CHANGED
|
@@ -1,41 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Standard request function factory - reduces duplication across services
|
|
3
|
+
*/
|
|
4
|
+
export function createRequestFunction(requestSchema, responseSchema, rawResponseSchema, endpoint, method = 'POST') {
|
|
5
|
+
return async function (params) {
|
|
6
|
+
let validatedParams;
|
|
7
|
+
let url = endpoint;
|
|
8
|
+
let body;
|
|
9
|
+
if (params !== undefined) {
|
|
10
|
+
validatedParams = requestSchema.parse(params);
|
|
11
|
+
// Handle path parameters (for endpoints with {param})
|
|
12
|
+
if (endpoint.includes('{') && endpoint.includes('}')) {
|
|
13
|
+
// Extract path parameter name (e.g., "{number}" -> "number")
|
|
14
|
+
const pathParamMatch = endpoint.match(/\{(\w+)\}/);
|
|
15
|
+
if (pathParamMatch && pathParamMatch[1] && validatedParams && typeof validatedParams === 'object') {
|
|
16
|
+
const pathParam = pathParamMatch[1];
|
|
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
|
+
});
|
|
18
46
|
};
|
|
19
|
-
if (debug) {
|
|
20
|
-
console.debug("[Contiguity]", options.method ?? "GET", url, options.body ?? "");
|
|
21
|
-
}
|
|
22
|
-
const res = await fetch(url, {
|
|
23
|
-
method: options.method ?? "GET",
|
|
24
|
-
headers,
|
|
25
|
-
body: options.body ? JSON.stringify(options.body) : undefined,
|
|
26
|
-
});
|
|
27
|
-
const json = (await res.json());
|
|
28
|
-
if (!res.ok) {
|
|
29
|
-
// Default API shape: data: { error, status }. Occasional: { message, status } at top level.
|
|
30
|
-
const errMsg = json.data?.error ??
|
|
31
|
-
json.message ??
|
|
32
|
-
json.object ??
|
|
33
|
-
"Unknown error";
|
|
34
|
-
const status = json.data?.status ?? json.status ?? res.status;
|
|
35
|
-
const data = json.data?.agreement_url != null
|
|
36
|
-
? { agreement_url: String(json.data.agreement_url) }
|
|
37
|
-
: undefined;
|
|
38
|
-
throw new ContiguityError(errMsg, status, undefined, data);
|
|
39
|
-
}
|
|
40
|
-
return transformResponse(json);
|
|
41
47
|
}
|
package/package.json
CHANGED
|
@@ -1,46 +1,49 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "contiguity",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"description": "Contiguity JavaScript/TypeScript SDK",
|
|
3
|
+
"version": "0.1.0",
|
|
5
4
|
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"default": "./dist/index.js"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
5
|
+
"description": "Contiguity's official TypeScript SDK",
|
|
6
|
+
"author": "Contiguity",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
15
11
|
"files": [
|
|
16
|
-
"dist"
|
|
12
|
+
"dist/**/*",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE.md"
|
|
17
15
|
],
|
|
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
|
-
},
|
|
26
16
|
"keywords": [
|
|
27
17
|
"contiguity",
|
|
28
18
|
"sms",
|
|
29
19
|
"email",
|
|
30
|
-
"
|
|
20
|
+
"whatsapp",
|
|
31
21
|
"imessage",
|
|
32
|
-
"
|
|
22
|
+
"otp",
|
|
23
|
+
"send texts",
|
|
24
|
+
"api",
|
|
25
|
+
"sdk"
|
|
33
26
|
],
|
|
34
|
-
"
|
|
27
|
+
"homepage": "https://contiguity.com",
|
|
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
|
+
},
|
|
35
43
|
"dependencies": {
|
|
36
|
-
"zod": "^4.
|
|
44
|
+
"zod": "^4.0.17"
|
|
37
45
|
},
|
|
38
46
|
"devDependencies": {
|
|
39
|
-
"
|
|
40
|
-
"typescript": "^5.9.3",
|
|
41
|
-
"vitest": "^3.2.4"
|
|
42
|
-
},
|
|
43
|
-
"engines": {
|
|
44
|
-
"node": ">=18"
|
|
47
|
+
"typescript": "^5.9.2"
|
|
45
48
|
}
|
|
46
49
|
}
|