contiguity 0.0.1

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.
Files changed (111) hide show
  1. package/LICENSE.md +8 -0
  2. package/README.md +1 -0
  3. package/dist/client/fetch.d.ts +30 -0
  4. package/dist/client/fetch.d.ts.map +1 -0
  5. package/dist/client/fetch.js +117 -0
  6. package/dist/contiguity.d.ts +81 -0
  7. package/dist/contiguity.d.ts.map +1 -0
  8. package/dist/contiguity.js +106 -0
  9. package/dist/index.d.ts +28 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +12542 -0
  12. package/dist/services/domains/delete.d.ts +32 -0
  13. package/dist/services/domains/delete.d.ts.map +1 -0
  14. package/dist/services/domains/delete.js +43 -0
  15. package/dist/services/domains/get.d.ts +128 -0
  16. package/dist/services/domains/get.d.ts.map +1 -0
  17. package/dist/services/domains/get.js +95 -0
  18. package/dist/services/domains/index.d.ts +34 -0
  19. package/dist/services/domains/index.d.ts.map +1 -0
  20. package/dist/services/domains/index.js +37 -0
  21. package/dist/services/domains/list.d.ts +68 -0
  22. package/dist/services/domains/list.d.ts.map +1 -0
  23. package/dist/services/domains/list.js +52 -0
  24. package/dist/services/domains/register.d.ts +89 -0
  25. package/dist/services/domains/register.d.ts.map +1 -0
  26. package/dist/services/domains/register.js +73 -0
  27. package/dist/services/email/index.d.ts +17 -0
  28. package/dist/services/email/index.d.ts.map +1 -0
  29. package/dist/services/email/index.js +16 -0
  30. package/dist/services/email/send.d.ts +69 -0
  31. package/dist/services/email/send.d.ts.map +1 -0
  32. package/dist/services/email/send.js +84 -0
  33. package/dist/services/imessage/index.d.ts +24 -0
  34. package/dist/services/imessage/index.d.ts.map +1 -0
  35. package/dist/services/imessage/index.js +23 -0
  36. package/dist/services/imessage/send.d.ts +60 -0
  37. package/dist/services/imessage/send.d.ts.map +1 -0
  38. package/dist/services/imessage/send.js +66 -0
  39. package/dist/services/imessage/typing.d.ts +43 -0
  40. package/dist/services/imessage/typing.d.ts.map +1 -0
  41. package/dist/services/imessage/typing.js +55 -0
  42. package/dist/services/lease/available.d.ts +255 -0
  43. package/dist/services/lease/available.d.ts.map +1 -0
  44. package/dist/services/lease/available.js +109 -0
  45. package/dist/services/lease/create.d.ts +139 -0
  46. package/dist/services/lease/create.d.ts.map +1 -0
  47. package/dist/services/lease/create.js +84 -0
  48. package/dist/services/lease/details.d.ts +210 -0
  49. package/dist/services/lease/details.d.ts.map +1 -0
  50. package/dist/services/lease/details.js +71 -0
  51. package/dist/services/lease/get.d.ts +155 -0
  52. package/dist/services/lease/get.d.ts.map +1 -0
  53. package/dist/services/lease/get.js +74 -0
  54. package/dist/services/lease/index.d.ts +50 -0
  55. package/dist/services/lease/index.d.ts.map +1 -0
  56. package/dist/services/lease/index.js +51 -0
  57. package/dist/services/lease/leased.d.ts +308 -0
  58. package/dist/services/lease/leased.d.ts.map +1 -0
  59. package/dist/services/lease/leased.js +114 -0
  60. package/dist/services/lease/terminate.d.ts +81 -0
  61. package/dist/services/lease/terminate.d.ts.map +1 -0
  62. package/dist/services/lease/terminate.js +84 -0
  63. package/dist/services/otp/index.d.ts +28 -0
  64. package/dist/services/otp/index.d.ts.map +1 -0
  65. package/dist/services/otp/index.js +30 -0
  66. package/dist/services/otp/new.d.ts +29 -0
  67. package/dist/services/otp/new.d.ts.map +1 -0
  68. package/dist/services/otp/new.js +44 -0
  69. package/dist/services/otp/resend.d.ts +25 -0
  70. package/dist/services/otp/resend.d.ts.map +1 -0
  71. package/dist/services/otp/resend.js +37 -0
  72. package/dist/services/otp/verify.d.ts +27 -0
  73. package/dist/services/otp/verify.d.ts.map +1 -0
  74. package/dist/services/otp/verify.js +40 -0
  75. package/dist/services/text/index.d.ts +17 -0
  76. package/dist/services/text/index.d.ts.map +1 -0
  77. package/dist/services/text/index.js +16 -0
  78. package/dist/services/text/send.d.ts +28 -0
  79. package/dist/services/text/send.d.ts.map +1 -0
  80. package/dist/services/text/send.js +43 -0
  81. package/dist/services/whatsapp/index.d.ts +24 -0
  82. package/dist/services/whatsapp/index.d.ts.map +1 -0
  83. package/dist/services/whatsapp/index.js +23 -0
  84. package/dist/services/whatsapp/send.d.ts +60 -0
  85. package/dist/services/whatsapp/send.d.ts.map +1 -0
  86. package/dist/services/whatsapp/send.js +66 -0
  87. package/dist/services/whatsapp/typing.d.ts +43 -0
  88. package/dist/services/whatsapp/typing.d.ts.map +1 -0
  89. package/dist/services/whatsapp/typing.js +55 -0
  90. package/dist/types/base.d.ts +38 -0
  91. package/dist/types/base.d.ts.map +1 -0
  92. package/dist/types/base.js +32 -0
  93. package/dist/types/common.d.ts +56 -0
  94. package/dist/types/common.d.ts.map +1 -0
  95. package/dist/types/common.js +48 -0
  96. package/dist/types/error.d.ts +37 -0
  97. package/dist/types/error.d.ts.map +1 -0
  98. package/dist/types/error.js +54 -0
  99. package/dist/types/metadata.d.ts +10 -0
  100. package/dist/types/metadata.d.ts.map +1 -0
  101. package/dist/types/metadata.js +1 -0
  102. package/dist/types/response.d.ts +17 -0
  103. package/dist/types/response.d.ts.map +1 -0
  104. package/dist/types/response.js +17 -0
  105. package/dist/utils/parse.d.ts +8 -0
  106. package/dist/utils/parse.d.ts.map +1 -0
  107. package/dist/utils/parse.js +36 -0
  108. package/dist/utils/request.d.ts +6 -0
  109. package/dist/utils/request.d.ts.map +1 -0
  110. package/dist/utils/request.js +47 -0
  111. package/package.json +46 -0
@@ -0,0 +1,17 @@
1
+ import { ContiguityClient } from "@/client/fetch";
2
+ import { z } from "zod";
3
+ import { EmailSendRequest, EmailResponse } from "@/services/email/send";
4
+ import type { WithMetadata } from "@/types/metadata";
5
+ export type EmailSendParams = z.infer<typeof EmailSendRequest>;
6
+ export type EmailSendResponse = z.infer<typeof EmailResponse>;
7
+ /**
8
+ * Email service for sending emails
9
+ */
10
+ export declare class EmailService extends ContiguityClient {
11
+ constructor(token: string);
12
+ /**
13
+ * Send an email
14
+ */
15
+ send(params: EmailSendParams): Promise<WithMetadata<EmailSendResponse>>;
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/email/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;gBAClC,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;CAGhF"}
@@ -0,0 +1,16 @@
1
+ import { ContiguityClient } from "@/client/fetch";
2
+ import { _emailSend } from "@/services/email/send";
3
+ /**
4
+ * Email service for sending emails
5
+ */
6
+ export class EmailService extends ContiguityClient {
7
+ constructor(token) {
8
+ super(token);
9
+ }
10
+ /**
11
+ * Send an email
12
+ */
13
+ async send(params) {
14
+ return _emailSend.call(this, params);
15
+ }
16
+ }
@@ -0,0 +1,69 @@
1
+ import { z } from "zod";
2
+ export declare const EmailSendRequest: z.ZodObject<{
3
+ to: z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>;
4
+ from: z.ZodString;
5
+ subject: z.ZodString;
6
+ body: z.ZodObject<{
7
+ text: z.ZodOptional<z.ZodString>;
8
+ html: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>;
10
+ reply_to: z.ZodOptional<z.ZodString>;
11
+ cc: z.ZodOptional<z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>>;
12
+ bcc: z.ZodOptional<z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>>;
13
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
14
+ name: z.ZodString;
15
+ value: z.ZodString;
16
+ }, z.core.$strip>>>;
17
+ }, z.core.$strip>;
18
+ export declare const EmailResponse: z.ZodObject<{
19
+ email_id: z.ZodString;
20
+ }, z.core.$strip>;
21
+ export declare const EmailSendResponse: import("@/types/base").BaseResponseBuilder<z.ZodObject<{
22
+ email_id: z.ZodString;
23
+ }, z.core.$strip>>;
24
+ export type EmailBodyParams = {
25
+ text?: string;
26
+ html?: string;
27
+ };
28
+ export type EmailHeaderParams = {
29
+ name: string;
30
+ value: string;
31
+ };
32
+ export type EmailSendParams = z.infer<typeof EmailSendRequest>;
33
+ export type EmailSendResponseType = z.infer<typeof EmailResponse>;
34
+ /**
35
+ * Sends an email
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const response = await contiguity.email.send({
40
+ * to: "recipient@example.com",
41
+ * from: "Contiguity <no-reply@contiguity.com>",
42
+ * subject: "Hello from Contiguity!",
43
+ * body: {
44
+ * text: "Hello, world!",
45
+ * html: "<p>Hello, world!</p>"
46
+ * }
47
+ * });
48
+ * console.log(`Email ID: ${response.email_id}`);
49
+ * ```
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Send to multiple recipients with CC and BCC
54
+ * const response = await contiguity.email.send({
55
+ * to: ["user1@example.com", "user2@example.com"],
56
+ * from: "Your Company <no-reply@yourcompany.com>",
57
+ * subject: "Newsletter Update",
58
+ * body: {
59
+ * html: "<h1>Newsletter</h1><p>Latest updates...</p>"
60
+ * },
61
+ * cc: "manager@example.com",
62
+ * bcc: ["analytics@company.com"],
63
+ * reply_to: "support@yourcompany.com"
64
+ * });
65
+ * console.log(`Email ID: ${response.email_id}`);
66
+ * ```
67
+ */
68
+ export declare function _emailSend(this: any, params: EmailSendParams): Promise<any>;
69
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/services/email/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;iBA8B3B,CAAA;AAEF,eAAO,MAAM,aAAa;;iBAExB,CAAA;AAGF,eAAO,MAAM,iBAAiB;;kBAAgC,CAAA;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAcjF"}
@@ -0,0 +1,84 @@
1
+ import { z } from "zod";
2
+ import { createResponse } from "@/types/base";
3
+ import { SingleOrMultipleEmails } from "@/types/common";
4
+ export const EmailSendRequest = z.object({
5
+ /** Recipient email address(es). Can be a string or array of up to 10 addresses */
6
+ to: SingleOrMultipleEmails(10, "email"),
7
+ /** Provide either just your sender name (and use Contiguity's email) or provide your sender name and email (has to be verified in the Console) */
8
+ from: z.string().min(1, "From field cannot be empty"),
9
+ /** Subject of the email */
10
+ subject: z.string().min(1, "Subject cannot be empty"),
11
+ /** Email body content */
12
+ body: z.object({
13
+ /** Text content of the email */
14
+ text: z.string().optional(),
15
+ /** HTML content of the email */
16
+ html: z.string().optional()
17
+ }).refine((data) => data.text || data.html, "Either text or html content must be provided"),
18
+ /** Reply-to email address */
19
+ reply_to: z.string().email("Must be a valid email address").optional(),
20
+ /** Carbon copy email address(es). Can be a string or array of up to 10 addresses */
21
+ cc: SingleOrMultipleEmails(10, "email").optional(),
22
+ /** Blind carbon copy email address(es). Can be a string or array of up to 10 addresses */
23
+ bcc: SingleOrMultipleEmails(10, "email").optional(),
24
+ /** Custom email headers */
25
+ headers: z.array(z.object({
26
+ /** Header name */
27
+ name: z.string().min(1, "Header name cannot be empty"),
28
+ /** Header value */
29
+ value: z.string().min(1, "Header value cannot be empty")
30
+ })).optional()
31
+ });
32
+ export const EmailResponse = z.object({
33
+ email_id: z.string(),
34
+ });
35
+ // Using the new base response builder
36
+ export const EmailSendResponse = createResponse(EmailResponse);
37
+ /**
38
+ * Sends an email
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const response = await contiguity.email.send({
43
+ * to: "recipient@example.com",
44
+ * from: "Contiguity <no-reply@contiguity.com>",
45
+ * subject: "Hello from Contiguity!",
46
+ * body: {
47
+ * text: "Hello, world!",
48
+ * html: "<p>Hello, world!</p>"
49
+ * }
50
+ * });
51
+ * console.log(`Email ID: ${response.email_id}`);
52
+ * ```
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * // Send to multiple recipients with CC and BCC
57
+ * const response = await contiguity.email.send({
58
+ * to: ["user1@example.com", "user2@example.com"],
59
+ * from: "Your Company <no-reply@yourcompany.com>",
60
+ * subject: "Newsletter Update",
61
+ * body: {
62
+ * html: "<h1>Newsletter</h1><p>Latest updates...</p>"
63
+ * },
64
+ * cc: "manager@example.com",
65
+ * bcc: ["analytics@company.com"],
66
+ * reply_to: "support@yourcompany.com"
67
+ * });
68
+ * console.log(`Email ID: ${response.email_id}`);
69
+ * ```
70
+ */
71
+ export async function _emailSend(params) {
72
+ const validatedParams = EmailSendRequest.parse(params);
73
+ const response = await this.request("/email", {
74
+ method: "POST",
75
+ body: JSON.stringify(validatedParams),
76
+ });
77
+ return this.parse({
78
+ response,
79
+ schemas: {
80
+ sdk: EmailResponse,
81
+ raw: EmailSendResponse.raw
82
+ }
83
+ });
84
+ }
@@ -0,0 +1,24 @@
1
+ import { ContiguityClient } from "@/client/fetch";
2
+ import { z } from "zod";
3
+ import { iMessageSendRequest, iMessageResponse } from "@/services/imessage/send";
4
+ import { iMessageTypingRequest, iMessageTypingResponse } from "@/services/imessage/typing";
5
+ import type { WithMetadata } from "@/types/metadata";
6
+ export type iMessageSendParams = z.infer<typeof iMessageSendRequest>;
7
+ export type iMessageSendResponse = z.infer<typeof iMessageResponse>;
8
+ export type iMessageTypingParams = z.infer<typeof iMessageTypingRequest>;
9
+ export type iMessageTypingResponseType = z.infer<typeof iMessageTypingResponse>;
10
+ /**
11
+ * iMessage service for sending iMessages and managing typing indicators
12
+ */
13
+ export declare class iMessageService extends ContiguityClient {
14
+ constructor(token: string);
15
+ /**
16
+ * Send an iMessage
17
+ */
18
+ send(params: iMessageSendParams): Promise<WithMetadata<iMessageSendResponse>>;
19
+ /**
20
+ * Start or stop sending typing indicators over iMessage
21
+ */
22
+ typing(params: iMessageTypingParams): Promise<WithMetadata<iMessageTypingResponseType>>;
23
+ }
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/imessage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACpE,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;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;gBACrC,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAInF;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;CAGhG"}
@@ -0,0 +1,23 @@
1
+ import { ContiguityClient } from "@/client/fetch";
2
+ import { _iMessageSend } from "@/services/imessage/send";
3
+ import { _iMessageTyping } from "@/services/imessage/typing";
4
+ /**
5
+ * iMessage service for sending iMessages and managing typing indicators
6
+ */
7
+ export class iMessageService extends ContiguityClient {
8
+ constructor(token) {
9
+ super(token);
10
+ }
11
+ /**
12
+ * Send an iMessage
13
+ */
14
+ async send(params) {
15
+ return _iMessageSend.call(this, params);
16
+ }
17
+ /**
18
+ * Start or stop sending typing indicators over iMessage
19
+ */
20
+ async typing(params) {
21
+ return _iMessageTyping.call(this, params);
22
+ }
23
+ }
@@ -0,0 +1,60 @@
1
+ import { z } from "zod";
2
+ export declare const iMessageSendRequest: z.ZodObject<{
3
+ to: z.ZodString;
4
+ from: z.ZodOptional<z.ZodString>;
5
+ message: z.ZodString;
6
+ fallback: z.ZodOptional<z.ZodObject<{
7
+ when: z.ZodArray<z.ZodEnum<{
8
+ imessage: "imessage";
9
+ imessage_unsupported: "imessage_unsupported";
10
+ imessage_fails: "imessage_fails";
11
+ }>>;
12
+ from: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>>;
14
+ attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ }, z.core.$strip>;
16
+ export declare const iMessageResponse: z.ZodObject<{
17
+ message_id: z.ZodString;
18
+ }, z.core.$strip>;
19
+ export declare const iMessageSendResponse: import("@/types/base").BaseResponseBuilder<z.ZodObject<{
20
+ message_id: z.ZodString;
21
+ }, z.core.$strip>>;
22
+ export type iMessageFallbackParams = {
23
+ when: ("imessage_unsupported" | "imessage_fails")[];
24
+ from?: string;
25
+ };
26
+ export type iMessageSendParams = z.infer<typeof iMessageSendRequest>;
27
+ export type iMessageSendResponse = z.infer<typeof iMessageResponse>;
28
+ /**
29
+ * Sends an iMessage
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const response = await contiguity.imessage.send({
34
+ * to: "+1234567890",
35
+ * message: "Hello from Contiguity!"
36
+ * });
37
+ * console.log(`Message ID: ${response.message_id}`);
38
+ * ```
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Send with fallback to SMS and attachments
43
+ * const response = await contiguity.imessage.send({
44
+ * to: "+1234567890",
45
+ * from: "+15555555555",
46
+ * message: "Check out this image!",
47
+ * fallback: {
48
+ * when: ["imessage_unsupported", "imessage_fails"],
49
+ * from: "+15555555555"
50
+ * },
51
+ * attachments: [
52
+ * "https://example.com/image.png",
53
+ * "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34..."
54
+ * ]
55
+ * });
56
+ * console.log(`Message ID: ${response.message_id}`);
57
+ * ```
58
+ */
59
+ export declare function _iMessageSend(this: any, params: iMessageSendParams): Promise<any>;
60
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/services/imessage/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;iBAW9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;iBAG3B,CAAA;AAGF,eAAO,MAAM,oBAAoB;;kBAAmC,CAAA;AAEpE,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAcvF"}
@@ -0,0 +1,66 @@
1
+ import { z } from "zod";
2
+ import { createResponse } from "@/types/base";
3
+ import { E164PhoneNumber, OptionalSenderNumber, MessageContent, AttachmentList, createFallbackSchema } from "@/types/common";
4
+ export const iMessageSendRequest = z.object({
5
+ /** Recipient's iMessage address. Must be in E.164 format */
6
+ to: E164PhoneNumber,
7
+ /** Your leased iMessage number. If none is provided, we will use a random iMessage number of yours */
8
+ from: OptionalSenderNumber,
9
+ /** The iMessage to send */
10
+ message: MessageContent,
11
+ /** Should Contiguity fallback to SMS/RCS if the recipient does not have iMessage, or if iMessage fails to send? */
12
+ fallback: createFallbackSchema("imessage", ["imessage_unsupported", "imessage_fails"]),
13
+ /** Attachments to send. Can be a URL to your attachment (e.g. example.com/image.png) or a base64 string. Max 10 attachments, with a cumulative size of 50MB */
14
+ attachments: AttachmentList
15
+ });
16
+ export const iMessageResponse = z.object({
17
+ /** The message's ID. Use it to refer to this message in the future, when checking the status of the message or finding it in the Console */
18
+ message_id: z.string(),
19
+ });
20
+ // Using the new base response builder - this replaces the manual Flattened/Raw definitions
21
+ export const iMessageSendResponse = createResponse(iMessageResponse);
22
+ /**
23
+ * Sends an iMessage
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const response = await contiguity.imessage.send({
28
+ * to: "+1234567890",
29
+ * message: "Hello from Contiguity!"
30
+ * });
31
+ * console.log(`Message ID: ${response.message_id}`);
32
+ * ```
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // Send with fallback to SMS and attachments
37
+ * const response = await contiguity.imessage.send({
38
+ * to: "+1234567890",
39
+ * from: "+15555555555",
40
+ * message: "Check out this image!",
41
+ * fallback: {
42
+ * when: ["imessage_unsupported", "imessage_fails"],
43
+ * from: "+15555555555"
44
+ * },
45
+ * attachments: [
46
+ * "https://example.com/image.png",
47
+ * "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34..."
48
+ * ]
49
+ * });
50
+ * console.log(`Message ID: ${response.message_id}`);
51
+ * ```
52
+ */
53
+ export async function _iMessageSend(params) {
54
+ const validatedParams = iMessageSendRequest.parse(params);
55
+ const response = await this.request("/send/imessage", {
56
+ method: "POST",
57
+ body: JSON.stringify(validatedParams),
58
+ });
59
+ return this.parse({
60
+ response,
61
+ schemas: {
62
+ sdk: iMessageResponse,
63
+ raw: iMessageSendResponse.raw
64
+ }
65
+ });
66
+ }
@@ -0,0 +1,43 @@
1
+ import { z } from "zod";
2
+ export declare const iMessageTypingRequest: 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 iMessageTypingResponse: z.ZodObject<{
11
+ status: z.ZodString;
12
+ }, z.core.$strip>;
13
+ export declare const iMessageTypingResponseBuilder: import("@/types/base").BaseResponseBuilder<z.ZodObject<{
14
+ status: z.ZodString;
15
+ }, z.core.$strip>>;
16
+ export type iMessageTypingParams = z.infer<typeof iMessageTypingRequest>;
17
+ export type iMessageTypingResponseType = z.infer<typeof iMessageTypingResponse>;
18
+ /**
19
+ * Start or stop sending typing indicators over iMessage
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Start typing indicator
24
+ * const response = await contiguity.imessage.typing({
25
+ * to: "+1234567890",
26
+ * action: "start"
27
+ * });
28
+ * console.log(`Typing status: ${response.status}`);
29
+ * ```
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * // Stop typing indicator with specific sender number
34
+ * const response = await contiguity.imessage.typing({
35
+ * to: "+1234567890",
36
+ * from: "+15555555555",
37
+ * action: "stop"
38
+ * });
39
+ * console.log(`Typing status: ${response.status}`);
40
+ * ```
41
+ */
42
+ export declare function _iMessageTyping(this: any, params: iMessageTypingParams): Promise<any>;
43
+ //# sourceMappingURL=typing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../../src/services/imessage/typing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;iBAGjC,CAAA;AAGF,eAAO,MAAM,6BAA6B;;kBAAyC,CAAA;AAEnF,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,CAc3F"}
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ import { createResponse } from "@/types/base";
3
+ import { E164PhoneNumber, OptionalSenderNumber, TypingAction } from "@/types/common";
4
+ export const iMessageTypingRequest = z.object({
5
+ /** Recipient's iMessage address. Must be in E.164 format */
6
+ to: E164PhoneNumber,
7
+ /** Your leased iMessage number. If none is provided, we will use a random iMessage number of yours */
8
+ from: OptionalSenderNumber,
9
+ /** Whether to start or stop sending typing indicators */
10
+ action: TypingAction
11
+ });
12
+ export const iMessageTypingResponse = z.object({
13
+ /** Status of the typing indicator */
14
+ status: z.string(),
15
+ });
16
+ // Using the new base response builder
17
+ export const iMessageTypingResponseBuilder = createResponse(iMessageTypingResponse);
18
+ /**
19
+ * Start or stop sending typing indicators over iMessage
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Start typing indicator
24
+ * const response = await contiguity.imessage.typing({
25
+ * to: "+1234567890",
26
+ * action: "start"
27
+ * });
28
+ * console.log(`Typing status: ${response.status}`);
29
+ * ```
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * // Stop typing indicator with specific sender number
34
+ * const response = await contiguity.imessage.typing({
35
+ * to: "+1234567890",
36
+ * from: "+15555555555",
37
+ * action: "stop"
38
+ * });
39
+ * console.log(`Typing status: ${response.status}`);
40
+ * ```
41
+ */
42
+ export async function _iMessageTyping(params) {
43
+ const validatedParams = iMessageTypingRequest.parse(params);
44
+ const response = await this.request("/send/imessage/typing", {
45
+ method: "POST",
46
+ body: JSON.stringify(validatedParams),
47
+ });
48
+ return this.parse({
49
+ response,
50
+ schemas: {
51
+ sdk: iMessageTypingResponse,
52
+ raw: iMessageTypingResponseBuilder.raw
53
+ }
54
+ });
55
+ }