@mhbdev/sms 0.2.1 → 0.2.3

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 (59) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +87 -0
  3. package/dist/contracts/kavenegar.d.ts +6 -0
  4. package/dist/contracts/kavenegar.d.ts.map +1 -1
  5. package/dist/contracts/pool.d.ts +97 -0
  6. package/dist/contracts/pool.d.ts.map +1 -0
  7. package/dist/contracts/pool.js +2 -0
  8. package/dist/contracts/pool.js.map +1 -0
  9. package/dist/contracts/sms.d.ts +3 -3
  10. package/dist/contracts/sms.d.ts.map +1 -1
  11. package/dist/errors/kavenegar-error.d.ts +1 -0
  12. package/dist/errors/kavenegar-error.d.ts.map +1 -1
  13. package/dist/errors/kavenegar-error.js.map +1 -1
  14. package/dist/errors/sms-error.d.ts +3 -0
  15. package/dist/errors/sms-error.d.ts.map +1 -1
  16. package/dist/errors/sms-error.js +2 -0
  17. package/dist/errors/sms-error.js.map +1 -1
  18. package/dist/errors/sms-ir-error.d.ts +1 -0
  19. package/dist/errors/sms-ir-error.d.ts.map +1 -1
  20. package/dist/errors/sms-ir-error.js.map +1 -1
  21. package/dist/index.d.ts +6 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/pool/health.d.ts +20 -0
  26. package/dist/pool/health.d.ts.map +1 -0
  27. package/dist/pool/health.js +58 -0
  28. package/dist/pool/health.js.map +1 -0
  29. package/dist/pool/sms-provider-pool.d.ts +46 -0
  30. package/dist/pool/sms-provider-pool.d.ts.map +1 -0
  31. package/dist/pool/sms-provider-pool.js +359 -0
  32. package/dist/pool/sms-provider-pool.js.map +1 -0
  33. package/dist/pool/strategies.d.ts +10 -0
  34. package/dist/pool/strategies.d.ts.map +1 -0
  35. package/dist/pool/strategies.js +39 -0
  36. package/dist/pool/strategies.js.map +1 -0
  37. package/dist/providers/kavenegar/kavenegar-api.d.ts.map +1 -1
  38. package/dist/providers/kavenegar/kavenegar-api.js +14 -0
  39. package/dist/providers/kavenegar/kavenegar-api.js.map +1 -1
  40. package/dist/providers/kavenegar/kavenegar-sms-provider.d.ts +2 -2
  41. package/dist/providers/kavenegar/kavenegar-sms-provider.d.ts.map +1 -1
  42. package/dist/providers/kavenegar/kavenegar-sms-provider.js +31 -12
  43. package/dist/providers/kavenegar/kavenegar-sms-provider.js.map +1 -1
  44. package/dist/providers/sms-ir/sms-ir-api.d.ts.map +1 -1
  45. package/dist/providers/sms-ir/sms-ir-api.js +21 -1
  46. package/dist/providers/sms-ir/sms-ir-api.js.map +1 -1
  47. package/dist/providers/sms-ir/sms-ir-provider.d.ts.map +1 -1
  48. package/dist/providers/sms-ir/sms-ir-provider.js +29 -8
  49. package/dist/providers/sms-ir/sms-ir-provider.js.map +1 -1
  50. package/dist/transport/http.d.ts +3 -0
  51. package/dist/transport/http.d.ts.map +1 -1
  52. package/dist/transport/http.js +46 -11
  53. package/dist/transport/http.js.map +1 -1
  54. package/dist/validation/schemas.d.ts +23 -19
  55. package/dist/validation/schemas.d.ts.map +1 -1
  56. package/dist/validation/schemas.js +53 -23
  57. package/dist/validation/schemas.js.map +1 -1
  58. package/docs/capabilities.md +5 -0
  59. package/package.json +1 -1
@@ -20,7 +20,7 @@ export declare const kavenegarOptionsSchema: z.ZodObject<{
20
20
  backoffMultiplier: z.ZodOptional<z.ZodNumber>;
21
21
  retryOn: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
22
22
  sleep: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
23
- }, z.core.$loose>, z.ZodTransform<Readonly<{
23
+ }, z.core.$strict>, z.ZodTransform<Readonly<{
24
24
  maxAttempts: number;
25
25
  initialDelayMs?: number;
26
26
  maxDelayMs?: number;
@@ -28,7 +28,6 @@ export declare const kavenegarOptionsSchema: z.ZodObject<{
28
28
  retryOn?: (context: import("../transport/http.js").RetryContext) => boolean;
29
29
  sleep?: (delayMs: number, signal?: AbortSignal) => Promise<void>;
30
30
  }>, {
31
- [x: string]: unknown;
32
31
  maxAttempts: number;
33
32
  initialDelayMs?: number | undefined;
34
33
  maxDelayMs?: number | undefined;
@@ -38,7 +37,7 @@ export declare const kavenegarOptionsSchema: z.ZodObject<{
38
37
  }>>>>;
39
38
  apiKey: z.ZodString;
40
39
  sender: z.ZodOptional<z.ZodString>;
41
- }, z.core.$loose>;
40
+ }, z.core.$strict>;
42
41
  export declare const smsIrOptionsSchema: z.ZodObject<{
43
42
  timeoutMs: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
44
43
  fetcher: z.ZodOptional<z.ZodOptional<z.ZodCustom<SmsHttpFetcher, SmsHttpFetcher>>>;
@@ -51,7 +50,7 @@ export declare const smsIrOptionsSchema: z.ZodObject<{
51
50
  backoffMultiplier: z.ZodOptional<z.ZodNumber>;
52
51
  retryOn: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
53
52
  sleep: z.ZodOptional<z.ZodCustom<(...args: never[]) => unknown, (...args: never[]) => unknown>>;
54
- }, z.core.$loose>, z.ZodTransform<Readonly<{
53
+ }, z.core.$strict>, z.ZodTransform<Readonly<{
55
54
  maxAttempts: number;
56
55
  initialDelayMs?: number;
57
56
  maxDelayMs?: number;
@@ -59,7 +58,6 @@ export declare const smsIrOptionsSchema: z.ZodObject<{
59
58
  retryOn?: (context: import("../transport/http.js").RetryContext) => boolean;
60
59
  sleep?: (delayMs: number, signal?: AbortSignal) => Promise<void>;
61
60
  }>, {
62
- [x: string]: unknown;
63
61
  maxAttempts: number;
64
62
  initialDelayMs?: number | undefined;
65
63
  maxDelayMs?: number | undefined;
@@ -69,7 +67,7 @@ export declare const smsIrOptionsSchema: z.ZodObject<{
69
67
  }>>>>;
70
68
  apiKey: z.ZodString;
71
69
  lineNumber: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
72
- }, z.core.$loose>;
70
+ }, z.core.$strict>;
73
71
  export declare const smsMessageSchema: z.ZodObject<{
74
72
  recipient: z.ZodString;
75
73
  message: z.ZodString;
@@ -78,14 +76,14 @@ export declare const smsMessageSchema: z.ZodObject<{
78
76
  localId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
79
77
  tag: z.ZodOptional<z.ZodString>;
80
78
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
81
- }, z.core.$loose>;
79
+ }, z.core.$strict>;
82
80
  export declare const smsBulkMessageSchema: z.ZodObject<{
83
81
  recipients: z.ZodArray<z.ZodString>;
84
82
  message: z.ZodString;
85
83
  sender: z.ZodOptional<z.ZodString>;
86
84
  sendAt: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodDate]>, z.ZodTransform<number, number | Date>>>;
87
85
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
88
- }, z.core.$loose>;
86
+ }, z.core.$strict>;
89
87
  export declare const smsIrMessageSchema: z.ZodObject<{
90
88
  recipient: z.ZodString;
91
89
  message: z.ZodString;
@@ -105,7 +103,7 @@ export declare const smsBatchMessageSchema: z.ZodObject<{
105
103
  sendAt: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodDate]>, z.ZodTransform<number, number | Date>>>;
106
104
  localId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
107
105
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
108
- }, z.core.$loose>;
106
+ }, z.core.$strict>;
109
107
  export declare const kavenegarSendArrayMessageSchema: z.ZodObject<{
110
108
  recipient: z.ZodString;
111
109
  message: z.ZodString;
@@ -113,33 +111,33 @@ export declare const kavenegarSendArrayMessageSchema: z.ZodObject<{
113
111
  }, z.core.$strict>;
114
112
  export declare const signalOptionsSchema: z.ZodObject<{
115
113
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
116
- }, z.core.$loose>;
114
+ }, z.core.$strict>;
117
115
  export declare const idsInputSchema: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
118
116
  export declare const cancellationInputSchema: z.ZodObject<{
119
117
  ids: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
120
- }, z.core.$loose>;
118
+ }, z.core.$strict>;
121
119
  export declare const deliveryStatusQuerySchema: z.ZodObject<{
122
120
  messageIds: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
123
121
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
124
- }, z.core.$loose>;
122
+ }, z.core.$strict>;
125
123
  export declare const kavenegarTemplateSchema: z.ZodObject<{
126
124
  recipient: z.ZodString;
127
125
  template: z.ZodString;
128
126
  parameters: z.ZodArray<z.ZodString>;
129
127
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
130
- }, z.core.$loose>;
128
+ }, z.core.$strict>;
131
129
  export declare const kavenegarReceiveQuerySchema: z.ZodObject<{
132
130
  lineNumber: z.ZodString;
133
131
  isRead: z.ZodBoolean;
134
132
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
135
- }, z.core.$loose>;
133
+ }, z.core.$strict>;
136
134
  export declare const kavenegarCountQuerySchema: z.ZodObject<{
137
135
  startDate: z.ZodNumber;
138
136
  endDate: z.ZodOptional<z.ZodNumber>;
139
137
  lineNumber: z.ZodOptional<z.ZodString>;
140
138
  isRead: z.ZodOptional<z.ZodBoolean>;
141
139
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
142
- }, z.core.$loose>;
140
+ }, z.core.$strict>;
143
141
  export declare const kavenegarSearchQuerySchema: z.ZodObject<{
144
142
  messageIds: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
145
143
  startDate: z.ZodNumber;
@@ -148,7 +146,13 @@ export declare const kavenegarSearchQuerySchema: z.ZodObject<{
148
146
  page: z.ZodOptional<z.ZodNumber>;
149
147
  pageSize: z.ZodOptional<z.ZodNumber>;
150
148
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
151
- }, z.core.$loose>;
149
+ }, z.core.$strict>;
150
+ export declare const kavenegarOutboxCountQuerySchema: z.ZodObject<{
151
+ startDate: z.ZodNumber;
152
+ endDate: z.ZodOptional<z.ZodNumber>;
153
+ status: z.ZodOptional<z.ZodNumber>;
154
+ signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
155
+ }, z.core.$strict>;
152
156
  export declare const smsIrTemplateSchema: z.ZodObject<{
153
157
  recipient: z.ZodString;
154
158
  templateId: z.ZodNumber;
@@ -157,18 +161,18 @@ export declare const smsIrTemplateSchema: z.ZodObject<{
157
161
  value: z.ZodString;
158
162
  }, z.core.$strip>>;
159
163
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
160
- }, z.core.$loose>;
164
+ }, z.core.$strict>;
161
165
  export declare const smsIrLikeToLikeSchema: z.ZodObject<{
162
166
  recipients: z.ZodArray<z.ZodString>;
163
167
  messages: z.ZodArray<z.ZodString>;
164
168
  sendAt: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodDate]>, z.ZodTransform<number, number | Date>>>;
165
169
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
166
- }, z.core.$loose>;
170
+ }, z.core.$strict>;
167
171
  export declare const packQuerySchema: z.ZodObject<{
168
172
  pageNumber: z.ZodOptional<z.ZodNumber>;
169
173
  pageSize: z.ZodOptional<z.ZodNumber>;
170
174
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
171
- }, z.core.$loose>;
175
+ }, z.core.$strict>;
172
176
  export declare function formatZodIssues(error: z.ZodError): string;
173
177
  export declare function parseInput<TSchema extends z.ZodType>(schema: TSchema, value: unknown, createError: (message: string, cause: z.ZodError) => Error): z.output<TSchema>;
174
178
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,aAAwD,CAAC;AAE1F,eAAO,MAAM,kBAAkB,aAAsB,CAAC;AACtD,eAAO,MAAM,wBAAwB,aAAiC,CAAC;AACvE,eAAO,MAAM,qBAAqB,aAGmB,CAAC;AACtD,eAAO,MAAM,aAAa,iDAAsD,CAAC;AACjF,eAAO,MAAM,YAAY,iGAIvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,uCAK7B,CAAC;AA6BF,eAAO,MAAM,sBAAsB;;;;;;;;;;qDA3BO,KAAK,EAAE,KAAK,OAAO;;;;;;;;;;;;;;;;;;;;iBA8B3D,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;qDAhCW,KAAK,EAAE,KAAK,OAAO;;;;;;;;;;;;;;;;;;;;iBAmC3D,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;iBAUpB,CAAC;AAEV,eAAO,MAAM,oBAAoB;;;;;;iBAQxB,CAAC;AAEV,eAAO,MAAM,kBAAkB;;;;;kBAOrB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;kBAOzB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;iBASzB,CAAC;AAEV,eAAO,MAAM,+BAA+B;;;;kBAMlC,CAAC;AAEX,eAAO,MAAM,mBAAmB;;iBAEvB,CAAC;AAEV,eAAO,MAAM,cAAc,6DAAgC,CAAC;AAE5D,eAAO,MAAM,uBAAuB;;iBAA4C,CAAC;AAEjF,eAAO,MAAM,yBAAyB;;;iBAK7B,CAAC;AAEV,eAAO,MAAM,uBAAuB;;;;;iBAO3B,CAAC;AAEV,eAAO,MAAM,2BAA2B;;;;iBAM/B,CAAC;AAEV,eAAO,MAAM,yBAAyB;;;;;;iBAQ7B,CAAC;AAEV,eAAO,MAAM,0BAA0B;;;;;;;;iBAU9B,CAAC;AAEV,eAAO,MAAM,mBAAmB;;;;;;;;iBAYvB,CAAC;AAEV,eAAO,MAAM,qBAAqB;;;;;iBAWzB,CAAC;AAEV,eAAO,MAAM,eAAe;;;;iBAMnB,CAAC;AAEV,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAOzD;AAED,wBAAgB,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EACnD,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,GACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAMnB"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,aAAwD,CAAC;AAE1F,eAAO,MAAM,kBAAkB,aAAsB,CAAC;AACtD,eAAO,MAAM,wBAAwB,aAAiC,CAAC;AACvE,eAAO,MAAM,qBAAqB,aAGmB,CAAC;AACtD,eAAO,MAAM,aAAa,iDAAsD,CAAC;AACjF,eAAO,MAAM,YAAY,iGAIvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,uCAQ7B,CAAC;AAoCF,eAAO,MAAM,sBAAsB;;;;;;;;;;qDAlCO,KAAK,EAAE,KAAK,OAAO;;;;;;;;;;;;;;;;;;;kBAqC3D,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;qDAvCW,KAAK,EAAE,KAAK,OAAO;;;;;;;;;;;;;;;;;;;kBA0C3D,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;kBAUnB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;kBAQvB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;kBAOrB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;kBAOzB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;kBASxB,CAAC;AAEX,eAAO,MAAM,+BAA+B;;;;kBAMlC,CAAC;AAEX,eAAO,MAAM,mBAAmB;;kBAEtB,CAAC;AAEX,eAAO,MAAM,cAAc,6DAAgC,CAAC;AAE5D,eAAO,MAAM,uBAAuB;;kBAA6C,CAAC;AAElF,eAAO,MAAM,yBAAyB;;;kBAK5B,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;kBAO1B,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;kBAM9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;kBAYnC,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;kBAcpC,CAAC;AAEJ,eAAO,MAAM,+BAA+B;;;;;kBAWzC,CAAC;AAEJ,eAAO,MAAM,mBAAmB;;;;;;;;kBAYtB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;kBAWxB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;kBAMlB,CAAC;AAEX,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAOzD;AAED,wBAAgB,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EACnD,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,GACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAMnB"}
@@ -9,11 +9,14 @@ export const positiveIntegerSchema = z
9
9
  .positive({ message: "must be a positive integer" });
10
10
  export const localIdSchema = z.union([nonBlankStringSchema, finiteNumberSchema]);
11
11
  export const sendAtSchema = z
12
- .union([finiteNumberSchema, z.date()])
12
+ .union([nonNegativeIntegerSchema, z.date().refine((value) => value.getTime() >= 0)])
13
13
  .transform((value) => value instanceof Date ? Math.floor(value.getTime() / 1_000) : value);
14
14
  export const abortSignalSchema = z.custom((value) => typeof value === "object" &&
15
15
  value !== null &&
16
- typeof value.aborted === "boolean");
16
+ typeof value.aborted === "boolean" &&
17
+ typeof value.addEventListener === "function" &&
18
+ typeof value.removeEventListener ===
19
+ "function");
17
20
  const functionSchema = z.custom((value) => typeof value === "function");
18
21
  const retryPolicySchema = z
19
22
  .object({
@@ -24,25 +27,32 @@ const retryPolicySchema = z
24
27
  retryOn: functionSchema.optional(),
25
28
  sleep: functionSchema.optional(),
26
29
  })
27
- .loose()
30
+ .strict()
28
31
  .transform((value) => value);
29
32
  const transportOptionsSchema = z
30
33
  .object({
31
34
  timeoutMs: positiveIntegerSchema.optional(),
32
35
  fetcher: z.custom((value) => typeof value === "function").optional(),
33
- baseUrl: z.string().url().optional(),
36
+ baseUrl: z
37
+ .string()
38
+ .url()
39
+ .refine((value) => {
40
+ const protocol = new URL(value).protocol;
41
+ return protocol === "http:" || protocol === "https:";
42
+ }, "baseUrl must use http or https")
43
+ .optional(),
34
44
  defaultHeaders: z.record(z.string(), z.string()).optional(),
35
45
  retry: retryPolicySchema.optional(),
36
46
  })
37
47
  .partial()
38
- .loose();
48
+ .strict();
39
49
  export const kavenegarOptionsSchema = transportOptionsSchema.extend({
40
50
  apiKey: nonBlankStringSchema,
41
51
  sender: nonBlankStringSchema.optional(),
42
52
  });
43
53
  export const smsIrOptionsSchema = transportOptionsSchema.extend({
44
54
  apiKey: nonBlankStringSchema,
45
- lineNumber: z.union([nonBlankStringSchema, finiteNumberSchema]),
55
+ lineNumber: z.union([nonBlankStringSchema, positiveIntegerSchema]),
46
56
  });
47
57
  export const smsMessageSchema = z
48
58
  .object({
@@ -54,16 +64,16 @@ export const smsMessageSchema = z
54
64
  tag: z.string().optional(),
55
65
  signal: abortSignalSchema.optional(),
56
66
  })
57
- .loose();
67
+ .strict();
58
68
  export const smsBulkMessageSchema = z
59
69
  .object({
60
- recipients: z.array(nonBlankStringSchema).min(1),
70
+ recipients: z.array(nonBlankStringSchema).min(1).max(200),
61
71
  message: nonBlankStringSchema,
62
72
  sender: nonBlankStringSchema.optional(),
63
73
  sendAt: sendAtSchema.optional(),
64
74
  signal: abortSignalSchema.optional(),
65
75
  })
66
- .loose();
76
+ .strict();
67
77
  export const smsIrMessageSchema = z
68
78
  .object({
69
79
  recipient: nonBlankStringSchema,
@@ -74,7 +84,7 @@ export const smsIrMessageSchema = z
74
84
  .strict();
75
85
  export const smsIrBulkMessageSchema = z
76
86
  .object({
77
- recipients: z.array(nonBlankStringSchema).min(1),
87
+ recipients: z.array(nonBlankStringSchema).min(1).max(100),
78
88
  message: nonBlankStringSchema,
79
89
  sendAt: sendAtSchema.optional(),
80
90
  signal: abortSignalSchema.optional(),
@@ -89,7 +99,7 @@ export const smsBatchMessageSchema = z
89
99
  localId: localIdSchema.optional(),
90
100
  signal: abortSignalSchema.optional(),
91
101
  })
92
- .loose();
102
+ .strict();
93
103
  export const kavenegarSendArrayMessageSchema = z
94
104
  .object({
95
105
  recipient: nonBlankStringSchema,
@@ -99,15 +109,15 @@ export const kavenegarSendArrayMessageSchema = z
99
109
  .strict();
100
110
  export const signalOptionsSchema = z
101
111
  .object({ signal: abortSignalSchema.optional() })
102
- .loose();
112
+ .strict();
103
113
  export const idsInputSchema = z.array(localIdSchema).min(1);
104
- export const cancellationInputSchema = z.object({ ids: idsInputSchema }).loose();
114
+ export const cancellationInputSchema = z.object({ ids: idsInputSchema }).strict();
105
115
  export const deliveryStatusQuerySchema = z
106
116
  .object({
107
117
  messageIds: idsInputSchema,
108
118
  signal: abortSignalSchema.optional(),
109
119
  })
110
- .loose();
120
+ .strict();
111
121
  export const kavenegarTemplateSchema = z
112
122
  .object({
113
123
  recipient: nonBlankStringSchema,
@@ -115,14 +125,14 @@ export const kavenegarTemplateSchema = z
115
125
  parameters: z.array(z.string()).min(1).max(3),
116
126
  signal: abortSignalSchema.optional(),
117
127
  })
118
- .loose();
128
+ .strict();
119
129
  export const kavenegarReceiveQuerySchema = z
120
130
  .object({
121
131
  lineNumber: nonBlankStringSchema,
122
132
  isRead: z.boolean(),
123
133
  signal: abortSignalSchema.optional(),
124
134
  })
125
- .loose();
135
+ .strict();
126
136
  export const kavenegarCountQuerySchema = z
127
137
  .object({
128
138
  startDate: nonNegativeIntegerSchema,
@@ -131,7 +141,11 @@ export const kavenegarCountQuerySchema = z
131
141
  isRead: z.boolean().optional(),
132
142
  signal: abortSignalSchema.optional(),
133
143
  })
134
- .loose();
144
+ .strict()
145
+ .refine((value) => value.endDate === undefined || value.endDate >= value.startDate, {
146
+ message: "endDate must be greater than or equal to startDate",
147
+ path: ["endDate"],
148
+ });
135
149
  export const kavenegarSearchQuerySchema = z
136
150
  .object({
137
151
  messageIds: idsInputSchema.optional(),
@@ -142,7 +156,23 @@ export const kavenegarSearchQuerySchema = z
142
156
  pageSize: positiveIntegerSchema.optional(),
143
157
  signal: abortSignalSchema.optional(),
144
158
  })
145
- .loose();
159
+ .strict()
160
+ .refine((value) => value.endDate === undefined || value.endDate >= value.startDate, {
161
+ message: "endDate must be greater than or equal to startDate",
162
+ path: ["endDate"],
163
+ });
164
+ export const kavenegarOutboxCountQuerySchema = z
165
+ .object({
166
+ startDate: nonNegativeIntegerSchema,
167
+ endDate: nonNegativeIntegerSchema.optional(),
168
+ status: nonNegativeIntegerSchema.optional(),
169
+ signal: abortSignalSchema.optional(),
170
+ })
171
+ .strict()
172
+ .refine((value) => value.endDate === undefined || value.endDate >= value.startDate, {
173
+ message: "endDate must be greater than or equal to startDate",
174
+ path: ["endDate"],
175
+ });
146
176
  export const smsIrTemplateSchema = z
147
177
  .object({
148
178
  recipient: nonBlankStringSchema,
@@ -153,11 +183,11 @@ export const smsIrTemplateSchema = z
153
183
  })),
154
184
  signal: abortSignalSchema.optional(),
155
185
  })
156
- .loose();
186
+ .strict();
157
187
  export const smsIrLikeToLikeSchema = z
158
188
  .object({
159
- recipients: z.array(nonBlankStringSchema).min(1),
160
- messages: z.array(nonBlankStringSchema).min(1),
189
+ recipients: z.array(nonBlankStringSchema).min(1).max(100),
190
+ messages: z.array(nonBlankStringSchema).min(1).max(100),
161
191
  sendAt: sendAtSchema.optional(),
162
192
  signal: abortSignalSchema.optional(),
163
193
  })
@@ -165,14 +195,14 @@ export const smsIrLikeToLikeSchema = z
165
195
  message: "Recipients and messages must have equal lengths",
166
196
  path: ["messages"],
167
197
  })
168
- .loose();
198
+ .strict();
169
199
  export const packQuerySchema = z
170
200
  .object({
171
201
  pageNumber: positiveIntegerSchema.optional(),
172
202
  pageSize: positiveIntegerSchema.optional(),
173
203
  signal: abortSignalSchema.optional(),
174
204
  })
175
- .loose();
205
+ .strict();
176
206
  export function formatZodIssues(error) {
177
207
  return error.issues
178
208
  .map((issue) => {
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,11 @@ All provider clients accept an injected `fetcher`, timeout, custom base URL,
19
19
  additional headers, and an optional retry policy. Retry is disabled unless
20
20
  `retry.maxAttempts` is explicitly configured.
21
21
 
22
+ Send requests are never replayed by the provider HTTP transport. The
23
+ `SmsProviderPool` owns safe retry/failover decisions, stopping on uncertain
24
+ delivery outcomes. See the README's provider-pool section for routing strategies,
25
+ health management, and typed adapters.
26
+
22
27
  The capability contracts are generic. This keeps provider-specific request and
23
28
  result types precise while allowing shared code to depend on
24
29
  `SmsMessageSender`, `SmsTemplateSender`, `SmsBulkSender`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhbdev/sms",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Provider-neutral SMS delivery clients for Kavenegar and SMS.ir.",
5
5
  "license": "MIT",
6
6
  "type": "module",