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,308 @@
1
+ import { z } from "zod";
2
+ export declare const LeasedBillingPeriod: z.ZodObject<{
3
+ start: z.ZodNumber;
4
+ end: z.ZodNullable<z.ZodNumber>;
5
+ }, z.core.$strip>;
6
+ export declare const LeasedBilling: z.ZodObject<{
7
+ method: z.ZodEnum<{
8
+ monthly: "monthly";
9
+ service_contract: "service_contract";
10
+ goodwill: "goodwill";
11
+ }>;
12
+ period: z.ZodObject<{
13
+ start: z.ZodNumber;
14
+ end: z.ZodNullable<z.ZodNumber>;
15
+ }, z.core.$strip>;
16
+ }, z.core.$strip>;
17
+ export declare const LeasedNumber: z.ZodObject<{
18
+ id: z.ZodString;
19
+ status: z.ZodEnum<{
20
+ available: "available";
21
+ "g-available": "g-available";
22
+ leased: "leased";
23
+ unavailable: "unavailable";
24
+ }>;
25
+ number: z.ZodObject<{
26
+ e164: z.ZodString;
27
+ formatted: z.ZodString;
28
+ }, z.core.$strip>;
29
+ location: z.ZodObject<{
30
+ country: z.ZodString;
31
+ region: z.ZodString;
32
+ city: z.ZodString;
33
+ }, z.core.$strip>;
34
+ carrier: z.ZodEnum<{
35
+ "T-Mobile": "T-Mobile";
36
+ "AT&T": "AT&T";
37
+ Verizon: "Verizon";
38
+ Contiguity: "Contiguity";
39
+ "International Partner": "International Partner";
40
+ Twilio: "Twilio";
41
+ }>;
42
+ capabilities: z.ZodObject<{
43
+ intl_sms: z.ZodBoolean;
44
+ channels: z.ZodArray<z.ZodEnum<{
45
+ sms: "sms";
46
+ mms: "mms";
47
+ rcs: "rcs";
48
+ imessage: "imessage";
49
+ whatsapp: "whatsapp";
50
+ }>>;
51
+ }, z.core.$strip>;
52
+ health: z.ZodObject<{
53
+ reputation: z.ZodNumber;
54
+ previous_owners: z.ZodNumber;
55
+ }, z.core.$strip>;
56
+ data: z.ZodObject<{
57
+ requirements: z.ZodArray<z.ZodEnum<{
58
+ imessage_entitlement_required: "imessage_entitlement_required";
59
+ whatsapp_entitlement_required: "whatsapp_entitlement_required";
60
+ enterprise_plan_required: "enterprise_plan_required";
61
+ }>>;
62
+ e911_capable: z.ZodBoolean;
63
+ }, z.core.$strip>;
64
+ created_at: z.ZodNumber;
65
+ pricing: z.ZodObject<{
66
+ currency: z.ZodEnum<{
67
+ USD: "USD";
68
+ EUR: "EUR";
69
+ GBP: "GBP";
70
+ CAD: "CAD";
71
+ AUD: "AUD";
72
+ }>;
73
+ upfront_fee: z.ZodNumber;
74
+ monthly_rate: z.ZodNumber;
75
+ }, z.core.$strip>;
76
+ lease_id: z.ZodString;
77
+ lease_status: z.ZodEnum<{
78
+ active: "active";
79
+ expired: "expired";
80
+ terminated: "terminated";
81
+ }>;
82
+ billing: z.ZodObject<{
83
+ method: z.ZodEnum<{
84
+ monthly: "monthly";
85
+ service_contract: "service_contract";
86
+ goodwill: "goodwill";
87
+ }>;
88
+ period: z.ZodObject<{
89
+ start: z.ZodNumber;
90
+ end: z.ZodNullable<z.ZodNumber>;
91
+ }, z.core.$strip>;
92
+ }, z.core.$strip>;
93
+ }, z.core.$strip>;
94
+ export declare const LeaseLeasedResponse: z.ZodObject<{
95
+ leased: z.ZodNumber;
96
+ numbers: z.ZodArray<z.ZodObject<{
97
+ id: z.ZodString;
98
+ status: z.ZodEnum<{
99
+ available: "available";
100
+ "g-available": "g-available";
101
+ leased: "leased";
102
+ unavailable: "unavailable";
103
+ }>;
104
+ number: z.ZodObject<{
105
+ e164: z.ZodString;
106
+ formatted: z.ZodString;
107
+ }, z.core.$strip>;
108
+ location: z.ZodObject<{
109
+ country: z.ZodString;
110
+ region: z.ZodString;
111
+ city: z.ZodString;
112
+ }, z.core.$strip>;
113
+ carrier: z.ZodEnum<{
114
+ "T-Mobile": "T-Mobile";
115
+ "AT&T": "AT&T";
116
+ Verizon: "Verizon";
117
+ Contiguity: "Contiguity";
118
+ "International Partner": "International Partner";
119
+ Twilio: "Twilio";
120
+ }>;
121
+ capabilities: z.ZodObject<{
122
+ intl_sms: z.ZodBoolean;
123
+ channels: z.ZodArray<z.ZodEnum<{
124
+ sms: "sms";
125
+ mms: "mms";
126
+ rcs: "rcs";
127
+ imessage: "imessage";
128
+ whatsapp: "whatsapp";
129
+ }>>;
130
+ }, z.core.$strip>;
131
+ health: z.ZodObject<{
132
+ reputation: z.ZodNumber;
133
+ previous_owners: z.ZodNumber;
134
+ }, z.core.$strip>;
135
+ data: z.ZodObject<{
136
+ requirements: z.ZodArray<z.ZodEnum<{
137
+ imessage_entitlement_required: "imessage_entitlement_required";
138
+ whatsapp_entitlement_required: "whatsapp_entitlement_required";
139
+ enterprise_plan_required: "enterprise_plan_required";
140
+ }>>;
141
+ e911_capable: z.ZodBoolean;
142
+ }, z.core.$strip>;
143
+ created_at: z.ZodNumber;
144
+ pricing: z.ZodObject<{
145
+ currency: z.ZodEnum<{
146
+ USD: "USD";
147
+ EUR: "EUR";
148
+ GBP: "GBP";
149
+ CAD: "CAD";
150
+ AUD: "AUD";
151
+ }>;
152
+ upfront_fee: z.ZodNumber;
153
+ monthly_rate: z.ZodNumber;
154
+ }, z.core.$strip>;
155
+ lease_id: z.ZodString;
156
+ lease_status: z.ZodEnum<{
157
+ active: "active";
158
+ expired: "expired";
159
+ terminated: "terminated";
160
+ }>;
161
+ billing: z.ZodObject<{
162
+ method: z.ZodEnum<{
163
+ monthly: "monthly";
164
+ service_contract: "service_contract";
165
+ goodwill: "goodwill";
166
+ }>;
167
+ period: z.ZodObject<{
168
+ start: z.ZodNumber;
169
+ end: z.ZodNullable<z.ZodNumber>;
170
+ }, z.core.$strip>;
171
+ }, z.core.$strip>;
172
+ }, z.core.$strip>>;
173
+ }, z.core.$strip>;
174
+ export declare const LeaseLeasedResponseBuilder: import("@/types/base").BaseResponseBuilder<z.ZodObject<{
175
+ leased: z.ZodNumber;
176
+ numbers: z.ZodArray<z.ZodObject<{
177
+ id: z.ZodString;
178
+ status: z.ZodEnum<{
179
+ available: "available";
180
+ "g-available": "g-available";
181
+ leased: "leased";
182
+ unavailable: "unavailable";
183
+ }>;
184
+ number: z.ZodObject<{
185
+ e164: z.ZodString;
186
+ formatted: z.ZodString;
187
+ }, z.core.$strip>;
188
+ location: z.ZodObject<{
189
+ country: z.ZodString;
190
+ region: z.ZodString;
191
+ city: z.ZodString;
192
+ }, z.core.$strip>;
193
+ carrier: z.ZodEnum<{
194
+ "T-Mobile": "T-Mobile";
195
+ "AT&T": "AT&T";
196
+ Verizon: "Verizon";
197
+ Contiguity: "Contiguity";
198
+ "International Partner": "International Partner";
199
+ Twilio: "Twilio";
200
+ }>;
201
+ capabilities: z.ZodObject<{
202
+ intl_sms: z.ZodBoolean;
203
+ channels: z.ZodArray<z.ZodEnum<{
204
+ sms: "sms";
205
+ mms: "mms";
206
+ rcs: "rcs";
207
+ imessage: "imessage";
208
+ whatsapp: "whatsapp";
209
+ }>>;
210
+ }, z.core.$strip>;
211
+ health: z.ZodObject<{
212
+ reputation: z.ZodNumber;
213
+ previous_owners: z.ZodNumber;
214
+ }, z.core.$strip>;
215
+ data: z.ZodObject<{
216
+ requirements: z.ZodArray<z.ZodEnum<{
217
+ imessage_entitlement_required: "imessage_entitlement_required";
218
+ whatsapp_entitlement_required: "whatsapp_entitlement_required";
219
+ enterprise_plan_required: "enterprise_plan_required";
220
+ }>>;
221
+ e911_capable: z.ZodBoolean;
222
+ }, z.core.$strip>;
223
+ created_at: z.ZodNumber;
224
+ pricing: z.ZodObject<{
225
+ currency: z.ZodEnum<{
226
+ USD: "USD";
227
+ EUR: "EUR";
228
+ GBP: "GBP";
229
+ CAD: "CAD";
230
+ AUD: "AUD";
231
+ }>;
232
+ upfront_fee: z.ZodNumber;
233
+ monthly_rate: z.ZodNumber;
234
+ }, z.core.$strip>;
235
+ lease_id: z.ZodString;
236
+ lease_status: z.ZodEnum<{
237
+ active: "active";
238
+ expired: "expired";
239
+ terminated: "terminated";
240
+ }>;
241
+ billing: z.ZodObject<{
242
+ method: z.ZodEnum<{
243
+ monthly: "monthly";
244
+ service_contract: "service_contract";
245
+ goodwill: "goodwill";
246
+ }>;
247
+ period: z.ZodObject<{
248
+ start: z.ZodNumber;
249
+ end: z.ZodNullable<z.ZodNumber>;
250
+ }, z.core.$strip>;
251
+ }, z.core.$strip>;
252
+ }, z.core.$strip>>;
253
+ }, z.core.$strip>>;
254
+ export type LeaseLeasedResponseType = z.infer<typeof LeaseLeasedResponse>;
255
+ export type LeasedNumberType = z.infer<typeof LeasedNumber>;
256
+ /**
257
+ * Gets all phone numbers currently leased by the user
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * const response = await contiguity.lease.leased();
262
+ * console.log(`You have ${response.leased} leased numbers`);
263
+ *
264
+ * // List all active leases
265
+ * const activeLeases = response.numbers.filter(
266
+ * num => num.lease_status === 'active'
267
+ * );
268
+ * console.log(`Active leases: ${activeLeases.length}`);
269
+ * ```
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * // Find leases by capabilities
274
+ * const response = await contiguity.lease.leased();
275
+ *
276
+ * const imessageNumbers = response.numbers.filter(
277
+ * num => num.capabilities.channels.includes('imessage')
278
+ * );
279
+ *
280
+ * const whatsappNumbers = response.numbers.filter(
281
+ * num => num.capabilities.channels.includes('whatsapp')
282
+ * );
283
+ *
284
+ * console.log(`iMessage numbers: ${imessageNumbers.length}`);
285
+ * console.log(`WhatsApp numbers: ${whatsappNumbers.length}`);
286
+ * ```
287
+ *
288
+ * @example
289
+ * ```typescript
290
+ * // Check lease expiration dates
291
+ * const response = await contiguity.lease.leased();
292
+ *
293
+ * response.numbers.forEach(num => {
294
+ * console.log(`${num.number.formatted}:`);
295
+ * console.log(` Lease ID: ${num.lease_id}`);
296
+ * console.log(` Status: ${num.lease_status}`);
297
+ *
298
+ * if (num.billing.period.end) {
299
+ * const endDate = new Date(num.billing.period.end * 1000);
300
+ * console.log(` Expires: ${endDate.toLocaleDateString()}`);
301
+ * } else {
302
+ * console.log(` Billing: Month-to-month`);
303
+ * }
304
+ * });
305
+ * ```
306
+ */
307
+ export declare function _leasedNumbers(this: any): Promise<any>;
308
+ //# sourceMappingURL=leased.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leased.d.ts","sourceRoot":"","sources":["../../../src/services/lease/leased.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,mBAAmB;;;iBAK9B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;iBAKxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2BvB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK9B,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAsC,CAAC;AAE9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAY5D"}
@@ -0,0 +1,114 @@
1
+ import { z } from "zod";
2
+ import { createResponse } from "@/types/base";
3
+ import { NumberCapabilities, NumberHealth, NumberLocation, NumberFormat, NumberData, NumberPricing } from "@/services/lease/available";
4
+ export const LeasedBillingPeriod = z.object({
5
+ /** Lease start timestamp */
6
+ start: z.number(),
7
+ /** Lease end timestamp. Null if month-to-month with no set cancellation date */
8
+ end: z.number().nullable()
9
+ });
10
+ export const LeasedBilling = z.object({
11
+ /** Billing method */
12
+ method: z.enum(["monthly", "service_contract", "goodwill"]),
13
+ /** Lease billing period */
14
+ period: LeasedBillingPeriod
15
+ });
16
+ export const LeasedNumber = z.object({
17
+ /** Phone number in E.164 format */
18
+ id: z.string(),
19
+ /** Number status (leased) */
20
+ status: z.enum(["available", "g-available", "leased", "unavailable"]),
21
+ /** Number formats */
22
+ number: NumberFormat,
23
+ /** Geographic location */
24
+ location: NumberLocation,
25
+ /** Carrier name */
26
+ carrier: z.enum(["T-Mobile", "AT&T", "Verizon", "Twilio", "Contiguity", "International Partner"]),
27
+ /** Number capabilities */
28
+ capabilities: NumberCapabilities,
29
+ /** Number health metrics */
30
+ health: NumberHealth,
31
+ /** Additional data */
32
+ data: NumberData,
33
+ /** Creation timestamp */
34
+ created_at: z.number(),
35
+ /** Pricing information */
36
+ pricing: NumberPricing,
37
+ /** Lease ID */
38
+ lease_id: z.string(),
39
+ /** Lease status */
40
+ lease_status: z.enum(["active", "expired", "terminated"]),
41
+ /** Lease billing information */
42
+ billing: LeasedBilling
43
+ });
44
+ export const LeaseLeasedResponse = z.object({
45
+ /** Number of leased numbers */
46
+ leased: z.number(),
47
+ /** User's leased numbers */
48
+ numbers: z.array(LeasedNumber)
49
+ });
50
+ // Using the new base response builder
51
+ export const LeaseLeasedResponseBuilder = createResponse(LeaseLeasedResponse);
52
+ /**
53
+ * Gets all phone numbers currently leased by the user
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const response = await contiguity.lease.leased();
58
+ * console.log(`You have ${response.leased} leased numbers`);
59
+ *
60
+ * // List all active leases
61
+ * const activeLeases = response.numbers.filter(
62
+ * num => num.lease_status === 'active'
63
+ * );
64
+ * console.log(`Active leases: ${activeLeases.length}`);
65
+ * ```
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // Find leases by capabilities
70
+ * const response = await contiguity.lease.leased();
71
+ *
72
+ * const imessageNumbers = response.numbers.filter(
73
+ * num => num.capabilities.channels.includes('imessage')
74
+ * );
75
+ *
76
+ * const whatsappNumbers = response.numbers.filter(
77
+ * num => num.capabilities.channels.includes('whatsapp')
78
+ * );
79
+ *
80
+ * console.log(`iMessage numbers: ${imessageNumbers.length}`);
81
+ * console.log(`WhatsApp numbers: ${whatsappNumbers.length}`);
82
+ * ```
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * // Check lease expiration dates
87
+ * const response = await contiguity.lease.leased();
88
+ *
89
+ * response.numbers.forEach(num => {
90
+ * console.log(`${num.number.formatted}:`);
91
+ * console.log(` Lease ID: ${num.lease_id}`);
92
+ * console.log(` Status: ${num.lease_status}`);
93
+ *
94
+ * if (num.billing.period.end) {
95
+ * const endDate = new Date(num.billing.period.end * 1000);
96
+ * console.log(` Expires: ${endDate.toLocaleDateString()}`);
97
+ * } else {
98
+ * console.log(` Billing: Month-to-month`);
99
+ * }
100
+ * });
101
+ * ```
102
+ */
103
+ export async function _leasedNumbers() {
104
+ const response = await this.request("/numbers/leased", {
105
+ method: "GET",
106
+ });
107
+ return this.parse({
108
+ response,
109
+ schemas: {
110
+ sdk: LeaseLeasedResponse,
111
+ raw: LeaseLeasedResponseBuilder.raw
112
+ }
113
+ });
114
+ }
@@ -0,0 +1,81 @@
1
+ import { z } from "zod";
2
+ export declare const LeaseTerminateRequest: z.ZodObject<{
3
+ number: z.ZodString;
4
+ }, z.core.$strip>;
5
+ export declare const LeaseTerminateResponse: z.ZodObject<{
6
+ lease_id: z.ZodString;
7
+ number_id: z.ZodString;
8
+ status: z.ZodEnum<{
9
+ active: "active";
10
+ expired: "expired";
11
+ terminated: "terminated";
12
+ }>;
13
+ terminated_at: z.ZodNumber;
14
+ }, z.core.$strip>;
15
+ export declare const LeaseTerminateResponseBuilder: import("@/types/base").BaseResponseBuilder<z.ZodObject<{
16
+ lease_id: z.ZodString;
17
+ number_id: z.ZodString;
18
+ status: z.ZodEnum<{
19
+ active: "active";
20
+ expired: "expired";
21
+ terminated: "terminated";
22
+ }>;
23
+ terminated_at: z.ZodNumber;
24
+ }, z.core.$strip>>;
25
+ export type LeaseTerminateParams = z.infer<typeof LeaseTerminateRequest>;
26
+ export type LeaseTerminateResponseType = z.infer<typeof LeaseTerminateResponse>;
27
+ /**
28
+ * Terminates your lease for a number
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const response = await contiguity.lease.terminate({
33
+ * number: "+1234567890"
34
+ * });
35
+ *
36
+ * console.log(`Lease ${response.lease_id} terminated`);
37
+ * console.log(`Number: ${response.number_id}`);
38
+ * console.log(`Status: ${response.status}`);
39
+ * console.log(`Terminated at: ${new Date(response.terminated_at * 1000)}`);
40
+ * ```
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * // Terminate lease with confirmation
45
+ * try {
46
+ * const response = await contiguity.lease.terminate({
47
+ * number: "+1234567890"
48
+ * });
49
+ *
50
+ * if (response.status === 'terminated') {
51
+ * console.log('✓ Lease successfully terminated');
52
+ * console.log(`Termination date: ${new Date(response.terminated_at * 1000).toLocaleDateString()}`);
53
+ * }
54
+ * } catch (error) {
55
+ * console.error('Failed to terminate lease:', error.message);
56
+ * }
57
+ * ```
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * // Bulk terminate multiple leases
62
+ * const numbersToTerminate = ["+1234567890", "+0987654321"];
63
+ *
64
+ * const results = await Promise.allSettled(
65
+ * numbersToTerminate.map(number =>
66
+ * contiguity.lease.terminate({ number })
67
+ * )
68
+ * );
69
+ *
70
+ * results.forEach((result, index) => {
71
+ * const number = numbersToTerminate[index];
72
+ * if (result.status === 'fulfilled') {
73
+ * console.log(`✓ ${number}: Lease terminated`);
74
+ * } else {
75
+ * console.log(`✗ ${number}: Failed to terminate - ${result.reason.message}`);
76
+ * }
77
+ * });
78
+ * ```
79
+ */
80
+ export declare function _leaseTerminate(this: any, params: LeaseTerminateParams): Promise<any>;
81
+ //# sourceMappingURL=terminate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminate.d.ts","sourceRoot":"","sources":["../../../src/services/lease/terminate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;iBAGhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;iBASjC,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;kBAAyC,CAAC;AAEpF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAa3F"}
@@ -0,0 +1,84 @@
1
+ import { z } from "zod";
2
+ import { createResponse } from "@/types/base";
3
+ export const LeaseTerminateRequest = z.object({
4
+ /** Phone number in E.164 format to terminate lease for */
5
+ number: z.string().regex(/^\+[1-9]\d{1,14}$/, "Phone number must be in E.164 format"),
6
+ });
7
+ export const LeaseTerminateResponse = z.object({
8
+ /** Terminated lease ID */
9
+ lease_id: z.string(),
10
+ /** Number ID */
11
+ number_id: z.string(),
12
+ /** The lease's new status */
13
+ status: z.enum(["active", "expired", "terminated"]),
14
+ /** Termination timestamp */
15
+ terminated_at: z.number()
16
+ });
17
+ // Using the new base response builder
18
+ export const LeaseTerminateResponseBuilder = createResponse(LeaseTerminateResponse);
19
+ /**
20
+ * Terminates your lease for a number
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const response = await contiguity.lease.terminate({
25
+ * number: "+1234567890"
26
+ * });
27
+ *
28
+ * console.log(`Lease ${response.lease_id} terminated`);
29
+ * console.log(`Number: ${response.number_id}`);
30
+ * console.log(`Status: ${response.status}`);
31
+ * console.log(`Terminated at: ${new Date(response.terminated_at * 1000)}`);
32
+ * ```
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // Terminate lease with confirmation
37
+ * try {
38
+ * const response = await contiguity.lease.terminate({
39
+ * number: "+1234567890"
40
+ * });
41
+ *
42
+ * if (response.status === 'terminated') {
43
+ * console.log('✓ Lease successfully terminated');
44
+ * console.log(`Termination date: ${new Date(response.terminated_at * 1000).toLocaleDateString()}`);
45
+ * }
46
+ * } catch (error) {
47
+ * console.error('Failed to terminate lease:', error.message);
48
+ * }
49
+ * ```
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Bulk terminate multiple leases
54
+ * const numbersToTerminate = ["+1234567890", "+0987654321"];
55
+ *
56
+ * const results = await Promise.allSettled(
57
+ * numbersToTerminate.map(number =>
58
+ * contiguity.lease.terminate({ number })
59
+ * )
60
+ * );
61
+ *
62
+ * results.forEach((result, index) => {
63
+ * const number = numbersToTerminate[index];
64
+ * if (result.status === 'fulfilled') {
65
+ * console.log(`✓ ${number}: Lease terminated`);
66
+ * } else {
67
+ * console.log(`✗ ${number}: Failed to terminate - ${result.reason.message}`);
68
+ * }
69
+ * });
70
+ * ```
71
+ */
72
+ export async function _leaseTerminate(params) {
73
+ const validatedParams = LeaseTerminateRequest.parse(params);
74
+ const response = await this.request(`/numbers/leased/${encodeURIComponent(validatedParams.number)}`, {
75
+ method: "DELETE",
76
+ });
77
+ return this.parse({
78
+ response,
79
+ schemas: {
80
+ sdk: LeaseTerminateResponse,
81
+ raw: LeaseTerminateResponseBuilder.raw
82
+ }
83
+ });
84
+ }
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { ContiguityClient } from "@/client/fetch";
3
+ import type { WithMetadata } from "@/types/metadata";
4
+ import { type OTPNewParams, OTPNewResponse } from "./new";
5
+ import { type OTPVerifyParams, OTPVerifyResponse } from "./verify";
6
+ import { type OTPResendParams, OTPResendResponse } from "./resend";
7
+ export type OTPNewResponseType = z.infer<typeof OTPNewResponse>;
8
+ export type OTPVerifyResponseType = z.infer<typeof OTPVerifyResponse>;
9
+ export type OTPResendResponseType = z.infer<typeof OTPResendResponse>;
10
+ /**
11
+ * OTP service for sending, verifying, and resending one-time passwords
12
+ */
13
+ export declare class OTPService extends ContiguityClient {
14
+ constructor(token: string);
15
+ /**
16
+ * Send a new OTP to the specified phone number
17
+ */
18
+ new(params: OTPNewParams): Promise<WithMetadata<OTPNewResponseType>>;
19
+ /**
20
+ * Verify an OTP code
21
+ */
22
+ verify(params: OTPVerifyParams): Promise<WithMetadata<OTPVerifyResponseType>>;
23
+ /**
24
+ * Resend an OTP to the same phone number
25
+ */
26
+ resend(params: OTPResendParams): Promise<WithMetadata<OTPResendResponseType>>;
27
+ }
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/otp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAW,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAc,KAAK,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAc,KAAK,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEtE;;GAEG;AACH,qBAAa,UAAW,SAAQ,gBAAgB;gBAChC,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAI1E;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAInF;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;CAGtF"}
@@ -0,0 +1,30 @@
1
+ import { ContiguityClient } from "@/client/fetch";
2
+ import { _otpNew } from "./new";
3
+ import { _otpVerify } from "./verify";
4
+ import { _otpResend } from "./resend";
5
+ /**
6
+ * OTP service for sending, verifying, and resending one-time passwords
7
+ */
8
+ export class OTPService extends ContiguityClient {
9
+ constructor(token) {
10
+ super(token);
11
+ }
12
+ /**
13
+ * Send a new OTP to the specified phone number
14
+ */
15
+ async new(params) {
16
+ return _otpNew.call(this, params);
17
+ }
18
+ /**
19
+ * Verify an OTP code
20
+ */
21
+ async verify(params) {
22
+ return _otpVerify.call(this, params);
23
+ }
24
+ /**
25
+ * Resend an OTP to the same phone number
26
+ */
27
+ async resend(params) {
28
+ return _otpResend.call(this, params);
29
+ }
30
+ }
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ export declare const OTPNewRequest: z.ZodObject<{
3
+ to: z.ZodString;
4
+ language: z.ZodString;
5
+ name: z.ZodString;
6
+ }, z.core.$strip>;
7
+ export declare const OTPNewResponse: z.ZodObject<{
8
+ otp_id: z.ZodString;
9
+ }, z.core.$strip>;
10
+ export declare const OTPNewResponseBuilder: import("@/types/base").BaseResponseBuilder<z.ZodObject<{
11
+ otp_id: z.ZodString;
12
+ }, z.core.$strip>>;
13
+ export type OTPNewParams = z.infer<typeof OTPNewRequest>;
14
+ export type OTPNewResponse = z.infer<typeof OTPNewResponse>;
15
+ /**
16
+ * Sends a new OTP to the specified phone number
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const response = await contiguity.otp.new({
21
+ * to: "+1234567890",
22
+ * language: "en",
23
+ * name: "My App"
24
+ * });
25
+ * console.log(`OTP ID: ${response.otp_id}`);
26
+ * ```
27
+ */
28
+ export declare function _otpNew(this: any, params: OTPNewParams): Promise<any>;
29
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/services/otp/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;iBAOxB,CAAA;AAEF,eAAO,MAAM,cAAc;;iBAGzB,CAAA;AAGF,eAAO,MAAM,qBAAqB;;kBAAiC,CAAA;AAEnE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAc3E"}