@mhbdev/sms 0.0.0-stage → 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.
Files changed (79) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +146 -2
  4. package/dist/contracts/http.d.ts +10 -0
  5. package/dist/contracts/http.d.ts.map +1 -0
  6. package/dist/contracts/http.js +2 -0
  7. package/dist/contracts/http.js.map +1 -0
  8. package/dist/contracts/kavenegar.d.ts +53 -0
  9. package/dist/contracts/kavenegar.d.ts.map +1 -0
  10. package/dist/contracts/kavenegar.js +2 -0
  11. package/dist/contracts/kavenegar.js.map +1 -0
  12. package/dist/contracts/sms-ir.d.ts +55 -0
  13. package/dist/contracts/sms-ir.d.ts.map +1 -0
  14. package/dist/contracts/sms-ir.js +2 -0
  15. package/dist/contracts/sms-ir.js.map +1 -0
  16. package/dist/contracts/sms.d.ts +127 -0
  17. package/dist/contracts/sms.d.ts.map +1 -0
  18. package/dist/contracts/sms.js +2 -0
  19. package/dist/contracts/sms.js.map +1 -0
  20. package/dist/errors/kavenegar-error.d.ts +11 -0
  21. package/dist/errors/kavenegar-error.d.ts.map +1 -0
  22. package/dist/errors/kavenegar-error.js +11 -0
  23. package/dist/errors/kavenegar-error.js.map +1 -0
  24. package/dist/errors/sms-error.d.ts +24 -0
  25. package/dist/errors/sms-error.d.ts.map +1 -0
  26. package/dist/errors/sms-error.js +30 -0
  27. package/dist/errors/sms-error.js.map +1 -0
  28. package/dist/errors/sms-ir-error.d.ts +11 -0
  29. package/dist/errors/sms-ir-error.d.ts.map +1 -0
  30. package/dist/errors/sms-ir-error.js +11 -0
  31. package/dist/errors/sms-ir-error.js.map +1 -0
  32. package/dist/index.d.ts +13 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +8 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/kavenegar.d.ts +5 -0
  37. package/dist/kavenegar.d.ts.map +1 -0
  38. package/dist/kavenegar.js +4 -0
  39. package/dist/kavenegar.js.map +1 -0
  40. package/dist/providers/kavenegar/index.d.ts +5 -0
  41. package/dist/providers/kavenegar/index.d.ts.map +1 -0
  42. package/dist/providers/kavenegar/index.js +4 -0
  43. package/dist/providers/kavenegar/index.js.map +1 -0
  44. package/dist/providers/kavenegar/kavenegar-api.d.ts +14 -0
  45. package/dist/providers/kavenegar/kavenegar-api.d.ts.map +1 -0
  46. package/dist/providers/kavenegar/kavenegar-api.js +225 -0
  47. package/dist/providers/kavenegar/kavenegar-api.js.map +1 -0
  48. package/dist/providers/kavenegar/kavenegar-sms-provider.d.ts +35 -0
  49. package/dist/providers/kavenegar/kavenegar-sms-provider.d.ts.map +1 -0
  50. package/dist/providers/kavenegar/kavenegar-sms-provider.js +200 -0
  51. package/dist/providers/kavenegar/kavenegar-sms-provider.js.map +1 -0
  52. package/dist/providers/sms-ir/index.d.ts +5 -0
  53. package/dist/providers/sms-ir/index.d.ts.map +1 -0
  54. package/dist/providers/sms-ir/index.js +4 -0
  55. package/dist/providers/sms-ir/index.js.map +1 -0
  56. package/dist/providers/sms-ir/sms-ir-api.d.ts +15 -0
  57. package/dist/providers/sms-ir/sms-ir-api.d.ts.map +1 -0
  58. package/dist/providers/sms-ir/sms-ir-api.js +193 -0
  59. package/dist/providers/sms-ir/sms-ir-api.js.map +1 -0
  60. package/dist/providers/sms-ir/sms-ir-provider.d.ts +29 -0
  61. package/dist/providers/sms-ir/sms-ir-provider.d.ts.map +1 -0
  62. package/dist/providers/sms-ir/sms-ir-provider.js +165 -0
  63. package/dist/providers/sms-ir/sms-ir-provider.js.map +1 -0
  64. package/dist/sms-ir.d.ts +5 -0
  65. package/dist/sms-ir.d.ts.map +1 -0
  66. package/dist/sms-ir.js +4 -0
  67. package/dist/sms-ir.js.map +1 -0
  68. package/dist/transport/http.d.ts +37 -0
  69. package/dist/transport/http.d.ts.map +1 -0
  70. package/dist/transport/http.js +143 -0
  71. package/dist/transport/http.js.map +1 -0
  72. package/dist/validation/schemas.d.ts +174 -0
  73. package/dist/validation/schemas.d.ts.map +1 -0
  74. package/dist/validation/schemas.js +191 -0
  75. package/dist/validation/schemas.js.map +1 -0
  76. package/docs/architecture.md +73 -0
  77. package/docs/capabilities.md +27 -0
  78. package/docs/migration.md +39 -0
  79. package/package.json +85 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwDA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACN,kCAAkC,EAClC,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EACN,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,aAAa,EACb,aAAa,IAAI,gBAAgB,GACjC,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type * from "./contracts/kavenegar.js";
2
+ export { KavenegarError } from "./errors/kavenegar-error.js";
3
+ export { parseKavenegarCancellationResponse, parseKavenegarCountResponse, parseKavenegarPayload, parseKavenegarReceivedResponse, parseKavenegarResponse, parseKavenegarSendArrayResponse, parseKavenegarSendEntries, parseKavenegarStatusResponse, } from "./providers/kavenegar/kavenegar-api.js";
4
+ export { KavenegarSmsProvider } from "./providers/kavenegar/kavenegar-sms-provider.js";
5
+ //# sourceMappingURL=kavenegar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kavenegar.d.ts","sourceRoot":"","sources":["../src/kavenegar.ts"],"names":[],"mappings":"AAAA,mBAAmB,0BAA0B,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACN,kCAAkC,EAClC,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { KavenegarError } from "./errors/kavenegar-error.js";
2
+ export { parseKavenegarCancellationResponse, parseKavenegarCountResponse, parseKavenegarPayload, parseKavenegarReceivedResponse, parseKavenegarResponse, parseKavenegarSendArrayResponse, parseKavenegarSendEntries, parseKavenegarStatusResponse, } from "./providers/kavenegar/kavenegar-api.js";
3
+ export { KavenegarSmsProvider } from "./providers/kavenegar/kavenegar-sms-provider.js";
4
+ //# sourceMappingURL=kavenegar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kavenegar.js","sourceRoot":"","sources":["../src/kavenegar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACN,kCAAkC,EAClC,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { KavenegarBulkRequest, KavenegarBulkResult, KavenegarCancellationResult, KavenegarCountQuery, KavenegarCountResult, KavenegarReceivedMessage, KavenegarReceiveQuery, KavenegarSendArrayMessage, KavenegarSendResult, KavenegarSmsProviderOptions, KavenegarStatusQuery, KavenegarStatusResult, KavenegarTemplateMessage, } from "../../contracts/kavenegar.js";
2
+ export { KavenegarError } from "../../errors/kavenegar-error.js";
3
+ export { parseKavenegarCancellationResponse, parseKavenegarCountResponse, parseKavenegarPayload, parseKavenegarReceivedResponse, parseKavenegarResponse, parseKavenegarSendArrayResponse, parseKavenegarSendEntries, parseKavenegarStatusResponse, } from "./kavenegar-api.js";
4
+ export { KavenegarSmsProvider } from "./kavenegar-sms-provider.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/kavenegar/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACN,kCAAkC,EAClC,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { KavenegarError } from "../../errors/kavenegar-error.js";
2
+ export { parseKavenegarCancellationResponse, parseKavenegarCountResponse, parseKavenegarPayload, parseKavenegarReceivedResponse, parseKavenegarResponse, parseKavenegarSendArrayResponse, parseKavenegarSendEntries, parseKavenegarStatusResponse, } from "./kavenegar-api.js";
3
+ export { KavenegarSmsProvider } from "./kavenegar-sms-provider.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/kavenegar/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACN,kCAAkC,EAClC,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { KavenegarCancellationResult, KavenegarCountResult, KavenegarReceivedMessage, KavenegarSendResult, KavenegarStatusResult } from "../../contracts/kavenegar.js";
2
+ export declare function parseKavenegarResponse(response: Response, rawResponse: string): KavenegarSendResult;
3
+ export declare function parseKavenegarSendEntries(response: Response, rawResponse: string): readonly KavenegarSendResult[];
4
+ export declare function parseKavenegarSendArrayResponse(response: Response, rawResponse: string): readonly KavenegarSendResult[];
5
+ export declare function parseKavenegarStatusResponse(response: Response, rawResponse: string): readonly KavenegarStatusResult[];
6
+ export declare function parseKavenegarReceivedResponse(response: Response, rawResponse: string): readonly KavenegarReceivedMessage[];
7
+ export declare function parseKavenegarCancellationResponse(response: Response, rawResponse: string): readonly KavenegarCancellationResult[];
8
+ export declare function parseKavenegarCountResponse(response: Response, rawResponse: string): readonly KavenegarCountResult[];
9
+ export declare function parseKavenegarPayload(response: Response, rawResponse: string): Readonly<{
10
+ returnStatus: number;
11
+ returnMessage?: string;
12
+ entries?: unknown;
13
+ }>;
14
+ //# sourceMappingURL=kavenegar-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kavenegar-api.d.ts","sourceRoot":"","sources":["../../../src/providers/kavenegar/kavenegar-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,8BAA8B,CAAC;AA8DtC,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,mBAAmB,CAUrB;AAED,wBAAgB,yBAAyB,CACxC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,mBAAmB,EAAE,CAOhC;AAED,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,mBAAmB,EAAE,CAOhC;AAED,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,qBAAqB,EAAE,CAOlC;AAED,wBAAgB,8BAA8B,CAC7C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,wBAAwB,EAAE,CAarC;AAED,wBAAgB,kCAAkC,CACjD,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,2BAA2B,EAAE,CAYxC;AAED,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,oBAAoB,EAAE,CAWjC;AAED,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,QAAQ,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyC/E"}
@@ -0,0 +1,225 @@
1
+ import { z } from "zod";
2
+ import { KavenegarError } from "../../errors/kavenegar-error.js";
3
+ const stringLikeSchema = z.union([z.string(), z.number().finite()]);
4
+ const payloadSchema = z
5
+ .object({
6
+ return: z.object({
7
+ status: z.number().finite(),
8
+ message: stringLikeSchema.optional(),
9
+ }),
10
+ entries: z.unknown().optional(),
11
+ })
12
+ .loose();
13
+ const sendEntrySchema = z
14
+ .object({
15
+ messageid: z.number().finite(),
16
+ status: z.number().finite().optional(),
17
+ receptor: stringLikeSchema.optional(),
18
+ sender: stringLikeSchema.optional(),
19
+ statustext: stringLikeSchema.optional(),
20
+ date: z.number().finite().optional(),
21
+ cost: z.number().finite().optional(),
22
+ message: stringLikeSchema.optional(),
23
+ })
24
+ .loose();
25
+ const sendArrayEntrySchema = sendEntrySchema.extend({ messageid: stringLikeSchema });
26
+ const statusEntrySchema = z
27
+ .object({
28
+ messageid: z.number().finite(),
29
+ status: z.number().finite(),
30
+ statustext: stringLikeSchema.optional(),
31
+ localid: stringLikeSchema.optional(),
32
+ })
33
+ .loose();
34
+ const receivedEntrySchema = z
35
+ .object({
36
+ messageid: z.number().finite(),
37
+ message: stringLikeSchema,
38
+ sender: stringLikeSchema,
39
+ receptor: stringLikeSchema,
40
+ date: z.number().finite().optional(),
41
+ })
42
+ .loose();
43
+ const cancellationEntrySchema = z
44
+ .object({
45
+ messageid: stringLikeSchema.optional(),
46
+ status: stringLikeSchema.optional(),
47
+ statustext: stringLikeSchema.optional(),
48
+ })
49
+ .loose();
50
+ const countEntrySchema = z
51
+ .object({
52
+ startdate: z.number().finite(),
53
+ enddate: z.number().finite(),
54
+ sumcount: z.number().finite().optional(),
55
+ count: z.number().finite().optional(),
56
+ })
57
+ .loose()
58
+ .refine((entry) => entry.sumcount !== undefined || entry.count !== undefined);
59
+ export function parseKavenegarResponse(response, rawResponse) {
60
+ const payload = parseKavenegarPayload(response, rawResponse);
61
+ const entries = toEntries(payload.entries, sendEntrySchema, "Kavenegar returned an invalid send entry");
62
+ const entry = entries[0];
63
+ if (!entry)
64
+ throw new KavenegarError("Kavenegar did not return a sent message entry");
65
+ return parseSendEntry(entry);
66
+ }
67
+ export function parseKavenegarSendEntries(response, rawResponse) {
68
+ const payload = parseKavenegarPayload(response, rawResponse);
69
+ return toEntries(payload.entries, sendEntrySchema, "Kavenegar returned an invalid send entry").map(parseSendEntry);
70
+ }
71
+ export function parseKavenegarSendArrayResponse(response, rawResponse) {
72
+ const payload = parseKavenegarPayload(response, rawResponse);
73
+ return toEntries(payload.entries, sendArrayEntrySchema, "Kavenegar returned an invalid send-array entry").map(parseSendArrayEntry);
74
+ }
75
+ export function parseKavenegarStatusResponse(response, rawResponse) {
76
+ const payload = parseKavenegarPayload(response, rawResponse);
77
+ return toEntries(payload.entries, statusEntrySchema, "Kavenegar returned an invalid status entry").map(parseStatusEntry);
78
+ }
79
+ export function parseKavenegarReceivedResponse(response, rawResponse) {
80
+ const payload = parseKavenegarPayload(response, rawResponse);
81
+ return toEntries(payload.entries, receivedEntrySchema, "Kavenegar returned an invalid received-message entry").map((entry) => ({
82
+ messageId: String(numberValue(entry.messageid, "messageid")),
83
+ message: stringValue(entry.message, "message"),
84
+ sender: stringValue(entry.sender, "sender"),
85
+ recipient: stringValue(entry.receptor, "receptor"),
86
+ ...(finiteNumber(entry.date) === undefined ? {} : { date: finiteNumber(entry.date) }),
87
+ }));
88
+ }
89
+ export function parseKavenegarCancellationResponse(response, rawResponse) {
90
+ const payload = parseKavenegarPayload(response, rawResponse);
91
+ return toEntries(payload.entries, cancellationEntrySchema, "Kavenegar returned an invalid cancellation entry").map((entry) => ({
92
+ provider: "kavenegar",
93
+ messageId: entry.messageid === undefined ? undefined : String(entry.messageid),
94
+ providerStatus: entry.status === undefined ? undefined : String(entry.status),
95
+ statusText: typeof entry.statustext === "string" ? entry.statustext : undefined,
96
+ }));
97
+ }
98
+ export function parseKavenegarCountResponse(response, rawResponse) {
99
+ const payload = parseKavenegarPayload(response, rawResponse);
100
+ return toEntries(payload.entries, countEntrySchema, "Kavenegar returned an invalid count entry").map((entry) => ({
101
+ startDate: numberValue(entry.startdate, "startdate"),
102
+ endDate: numberValue(entry.enddate, "enddate"),
103
+ count: numberValue(entry.sumcount ?? entry.count, "sumcount"),
104
+ }));
105
+ }
106
+ export function parseKavenegarPayload(response, rawResponse) {
107
+ let value;
108
+ try {
109
+ value = JSON.parse(rawResponse);
110
+ }
111
+ catch (error) {
112
+ if (!response.ok) {
113
+ throw new KavenegarError(`Kavenegar request failed with status ${response.status}`, {
114
+ httpStatus: response.status,
115
+ cause: error,
116
+ });
117
+ }
118
+ throw new KavenegarError("Kavenegar returned a non-JSON response", { cause: error });
119
+ }
120
+ const parsed = payloadSchema.safeParse(value);
121
+ if (!parsed.success) {
122
+ const omittedStatus = isRecord(value) && isRecord(value.return) && !("status" in value.return);
123
+ throw new KavenegarError(omittedStatus
124
+ ? "Kavenegar response omitted its status"
125
+ : "Kavenegar returned an invalid response payload", { cause: parsed.error });
126
+ }
127
+ const status = parsed.data.return.status;
128
+ const message = stringValueOptional(parsed.data.return.message);
129
+ if (!response.ok || status !== 200) {
130
+ throw new KavenegarError(message ?? "Kavenegar rejected the request", {
131
+ httpStatus: response.status === 200 ? undefined : response.status,
132
+ providerStatus: status,
133
+ retryable: response.status === 429 || response.status >= 500,
134
+ });
135
+ }
136
+ return {
137
+ returnStatus: status,
138
+ ...(message === undefined ? {} : { returnMessage: message }),
139
+ ...(parsed.data.entries === undefined ? {} : { entries: parsed.data.entries }),
140
+ };
141
+ }
142
+ function parseSendEntry(entry) {
143
+ return mapSendEntry(entry, String(numberValue(entry.messageid, "messageid")));
144
+ }
145
+ function parseSendArrayEntry(entry) {
146
+ const messageId = entry.messageid;
147
+ if (typeof messageId !== "number" && typeof messageId !== "string") {
148
+ throw new KavenegarError("Kavenegar send-array entry omitted messageid");
149
+ }
150
+ return mapSendEntry(entry, String(messageId));
151
+ }
152
+ function mapSendEntry(entry, messageId) {
153
+ const status = finiteNumber(entry.status);
154
+ return {
155
+ provider: "kavenegar",
156
+ messageId,
157
+ status: "accepted",
158
+ ...(status === undefined ? {} : { providerStatus: String(status) }),
159
+ ...(stringValueOptional(entry.receptor) === undefined
160
+ ? {}
161
+ : { recipient: stringValueOptional(entry.receptor) }),
162
+ ...(stringValueOptional(entry.sender) === undefined
163
+ ? {}
164
+ : { sender: stringValueOptional(entry.sender) }),
165
+ ...(stringValueOptional(entry.statustext) === undefined
166
+ ? {}
167
+ : { statusText: stringValueOptional(entry.statustext) }),
168
+ ...(finiteNumber(entry.date) === undefined ? {} : { date: finiteNumber(entry.date) }),
169
+ ...(finiteNumber(entry.cost) === undefined ? {} : { cost: finiteNumber(entry.cost) }),
170
+ ...(stringValueOptional(entry.message) === undefined
171
+ ? {}
172
+ : { message: stringValueOptional(entry.message) }),
173
+ };
174
+ }
175
+ function parseStatusEntry(entry) {
176
+ const messageId = String(numberValue(entry.messageid, "messageid"));
177
+ const status = finiteNumber(entry.status);
178
+ if (status === undefined)
179
+ throw new KavenegarError("Kavenegar status omitted its status code");
180
+ return {
181
+ messageId,
182
+ providerStatus: String(status),
183
+ statusText: stringValueOptional(entry.statustext),
184
+ ...(stringValueOptional(entry.localid) === undefined
185
+ ? {}
186
+ : { localId: stringValueOptional(entry.localid) }),
187
+ };
188
+ }
189
+ function toEntries(value, schema, invalidMessage) {
190
+ const entries = Array.isArray(value) ? value : value === undefined ? [] : [value];
191
+ return entries.map((entry) => {
192
+ const parsed = schema.safeParse(entry);
193
+ if (!parsed.success) {
194
+ const field = parsed.error.issues[0]?.path[0];
195
+ throw new KavenegarError(typeof field === "string"
196
+ ? `Kavenegar response omitted ${field}`
197
+ : invalidMessage, { cause: parsed.error });
198
+ }
199
+ return parsed.data;
200
+ });
201
+ }
202
+ function stringValue(value, field) {
203
+ const result = stringValueOptional(value);
204
+ if (result === undefined)
205
+ throw new KavenegarError(`Kavenegar response omitted ${field}`);
206
+ return result;
207
+ }
208
+ function stringValueOptional(value) {
209
+ return typeof value === "string" || typeof value === "number"
210
+ ? String(value)
211
+ : undefined;
212
+ }
213
+ function finiteNumber(value) {
214
+ return typeof value === "number" && Number.isFinite(value) ? value : undefined;
215
+ }
216
+ function numberValue(value, field) {
217
+ const result = finiteNumber(value);
218
+ if (result === undefined)
219
+ throw new KavenegarError(`Kavenegar response omitted ${field}`);
220
+ return result;
221
+ }
222
+ function isRecord(value) {
223
+ return typeof value === "object" && value !== null && !Array.isArray(value);
224
+ }
225
+ //# sourceMappingURL=kavenegar-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kavenegar-api.js","sourceRoot":"","sources":["../../../src/providers/kavenegar/kavenegar-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { KavenegarBulkRequest, KavenegarBulkResult, KavenegarCancellationResult, KavenegarCountQuery, KavenegarCountResult, KavenegarReceivedMessage, KavenegarReceiveQuery, KavenegarSearchQuery, KavenegarSendArrayMessage, KavenegarSendResult, KavenegarSmsProviderOptions, KavenegarStatusQuery, KavenegarStatusResult, KavenegarTemplateMessage } from "../../contracts/kavenegar.js";
2
+ import type { SmsBulkSender, SmsDeliveryStatusReader, SmsInboxReader, SmsMessage, SmsMessageScheduler, SmsMessageSender, SmsTemplateSender } from "../../contracts/sms.js";
3
+ export declare class KavenegarSmsProvider implements SmsMessageSender<SmsMessage, KavenegarSendResult>, SmsTemplateSender<KavenegarTemplateMessage, KavenegarSendResult>, SmsBulkSender<KavenegarBulkRequest, KavenegarBulkResult>, SmsDeliveryStatusReader<KavenegarStatusQuery, readonly KavenegarStatusResult[]>, SmsMessageScheduler<KavenegarCancellationResult>, SmsInboxReader<KavenegarReceiveQuery> {
4
+ readonly name = "kavenegar";
5
+ private readonly apiKey;
6
+ private readonly sender?;
7
+ private readonly baseUrl;
8
+ private readonly transport;
9
+ constructor(options: KavenegarSmsProviderOptions);
10
+ static toLocalRecipient(phoneNumber: string): string;
11
+ sendMessage(input: SmsMessage): Promise<KavenegarSendResult>;
12
+ sendTemplate(message: KavenegarTemplateMessage): Promise<KavenegarSendResult>;
13
+ sendBulk(message: KavenegarBulkRequest): Promise<KavenegarBulkResult>;
14
+ sendArray(messages: readonly KavenegarSendArrayMessage[], options?: Readonly<{
15
+ signal?: AbortSignal;
16
+ }>): Promise<readonly KavenegarSendResult[]>;
17
+ getDeliveryStatus(query: KavenegarStatusQuery): Promise<readonly KavenegarStatusResult[]>;
18
+ getStatusByLocalId(localIds: readonly (string | number)[]): Promise<readonly KavenegarStatusResult[]>;
19
+ cancelScheduled(input: Readonly<{
20
+ ids: readonly (string | number)[];
21
+ }>): Promise<readonly KavenegarCancellationResult[]>;
22
+ getReceivedMessages(query: KavenegarReceiveQuery): Promise<{
23
+ items: readonly KavenegarReceivedMessage[];
24
+ }>;
25
+ countReceivedMessages(query: KavenegarCountQuery): Promise<readonly KavenegarCountResult[]>;
26
+ getSentMessages(query: KavenegarSearchQuery): Promise<readonly KavenegarSendResult[]>;
27
+ listSentMessages(query: KavenegarSearchQuery): Promise<readonly KavenegarSendResult[]>;
28
+ getLatestSentMessages(query: KavenegarSearchQuery): Promise<readonly KavenegarSendResult[]>;
29
+ countSentMessages(query: KavenegarSearchQuery): Promise<readonly KavenegarCountResult[]>;
30
+ private searchBody;
31
+ private getSentMessagesFrom;
32
+ private requestAndParse;
33
+ private request;
34
+ }
35
+ //# sourceMappingURL=kavenegar-sms-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kavenegar-sms-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/kavenegar/kavenegar-sms-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACX,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,wBAAwB,CAAC;AAmChC,qBAAa,oBACZ,YACC,gBAAgB,CAAC,UAAU,EAAE,mBAAmB,CAAC,EACjD,iBAAiB,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,EAChE,aAAa,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,EACxD,uBAAuB,CAAC,oBAAoB,EAAE,SAAS,qBAAqB,EAAE,CAAC,EAC/E,mBAAmB,CAAC,2BAA2B,CAAC,EAChD,cAAc,CAAC,qBAAqB,CAAC;IAEtC,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C,YAAY,OAAO,EAAE,2BAA2B,EAW/C;IAED,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;IAEK,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBjE;IAEK,YAAY,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0BlF;IAEK,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsB1E;IAEK,SAAS,CACd,QAAQ,EAAE,SAAS,yBAAyB,EAAE,EAC9C,OAAO,GAAE,QAAQ,CAAC;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,CAAM,GAC9C,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAqBzC;IAEK,iBAAiB,CACtB,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAY3C;IAEK,kBAAkB,CACvB,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACpC,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAQ3C;IAEK,eAAe,CACpB,KAAK,EAAE,QAAQ,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC,GACpD,OAAO,CAAC,SAAS,2BAA2B,EAAE,CAAC,CAQjD;IAEK,mBAAmB,CACxB,KAAK,EAAE,qBAAqB,GAC1B,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAA;KAAE,CAAC,CAazD;IAEK,qBAAqB,CAC1B,KAAK,EAAE,mBAAmB,GACxB,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAY1C;IAEK,eAAe,CACpB,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAGzC;IAEK,gBAAgB,CACrB,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAGzC;IAEK,qBAAqB,CAC1B,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAGzC;IAEK,iBAAiB,CACtB,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAQ1C;IAED,OAAO,CAAC,UAAU;YAYJ,mBAAmB;YAYnB,eAAe;YAUf,OAAO;CAoBrB"}
@@ -0,0 +1,200 @@
1
+ import { z } from "zod";
2
+ import { KavenegarError } from "../../errors/kavenegar-error.js";
3
+ import { SmsHttpTransport, toUnixSeconds, validateRecipients, validateRequiredString, } from "../../transport/http.js";
4
+ import { cancellationInputSchema, deliveryStatusQuerySchema, idsInputSchema, kavenegarCountQuerySchema, kavenegarOptionsSchema, kavenegarReceiveQuerySchema, kavenegarSearchQuerySchema, kavenegarSendArrayMessageSchema, kavenegarTemplateSchema, parseInput, signalOptionsSchema, smsBulkMessageSchema, smsMessageSchema, } from "../../validation/schemas.js";
5
+ import { parseKavenegarCancellationResponse, parseKavenegarCountResponse, parseKavenegarReceivedResponse, parseKavenegarResponse, parseKavenegarSendArrayResponse, parseKavenegarSendEntries, parseKavenegarStatusResponse, } from "./kavenegar-api.js";
6
+ const DEFAULT_BASE_URL = "https://api.kavenegar.com/v1";
7
+ export class KavenegarSmsProvider {
8
+ name = "kavenegar";
9
+ apiKey;
10
+ sender;
11
+ baseUrl;
12
+ transport;
13
+ constructor(options) {
14
+ const validated = parseKavenegarInput(kavenegarOptionsSchema, options);
15
+ this.apiKey = validated.apiKey;
16
+ this.sender = validated.sender;
17
+ this.baseUrl = (validated.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, "");
18
+ this.transport = new SmsHttpTransport({
19
+ fetcher: validated.fetcher ?? fetch,
20
+ timeoutMs: validated.timeoutMs ?? 10_000,
21
+ retry: validated.retry,
22
+ defaultHeaders: validated.defaultHeaders,
23
+ });
24
+ }
25
+ static toLocalRecipient(phoneNumber) {
26
+ return phoneNumber.startsWith("+98") ? `0${phoneNumber.slice(3)}` : phoneNumber;
27
+ }
28
+ async sendMessage(input) {
29
+ input = parseKavenegarInput(smsMessageSchema, input);
30
+ const recipient = validateRequiredString(input.recipient, "Recipient");
31
+ const text = validateRequiredString(input.message, "Message");
32
+ const body = new URLSearchParams({
33
+ receptor: KavenegarSmsProvider.toLocalRecipient(recipient),
34
+ message: text,
35
+ });
36
+ const sender = input.sender ?? this.sender;
37
+ if (sender)
38
+ body.set("sender", sender);
39
+ const sendAt = toUnixSeconds(input.sendAt);
40
+ if (sendAt !== undefined)
41
+ body.set("date", String(sendAt));
42
+ if (input.localId !== undefined)
43
+ body.set("localid", String(input.localId));
44
+ if (input.tag)
45
+ body.set("tag", input.tag);
46
+ return this.requestAndParse("sms/send.json", body, parseKavenegarResponse, input.signal);
47
+ }
48
+ async sendTemplate(message) {
49
+ message = parseKavenegarInput(kavenegarTemplateSchema, message);
50
+ const recipient = validateRequiredString(message.recipient, "Recipient");
51
+ const template = validateRequiredString(message.template, "Kavenegar pattern template");
52
+ if (message.parameters.length < 1 || message.parameters.length > 3) {
53
+ throw new KavenegarError("Kavenegar templates support between one and three parameters");
54
+ }
55
+ const body = new URLSearchParams({
56
+ receptor: KavenegarSmsProvider.toLocalRecipient(recipient),
57
+ token: message.parameters[0] ?? "",
58
+ template,
59
+ type: "sms",
60
+ });
61
+ if (message.parameters[1] !== undefined)
62
+ body.set("token2", message.parameters[1]);
63
+ if (message.parameters[2] !== undefined)
64
+ body.set("token3", message.parameters[2]);
65
+ return this.requestAndParse("verify/lookup.json", body, parseKavenegarResponse, message.signal);
66
+ }
67
+ async sendBulk(message) {
68
+ message = parseKavenegarInput(smsBulkMessageSchema, message);
69
+ validateRecipients(message.recipients);
70
+ const body = new URLSearchParams({
71
+ receptor: message.recipients.map(KavenegarSmsProvider.toLocalRecipient).join(","),
72
+ message: validateRequiredString(message.message, "Message"),
73
+ });
74
+ if (message.sender ?? this.sender)
75
+ body.set("sender", message.sender ?? this.sender ?? "");
76
+ const sendAt = toUnixSeconds(message.sendAt);
77
+ if (sendAt !== undefined)
78
+ body.set("date", String(sendAt));
79
+ const messages = await this.requestAndParse("sms/send.json", body, parseKavenegarSendEntries, message.signal);
80
+ return {
81
+ provider: "kavenegar",
82
+ messages,
83
+ cost: messages.reduce((total, item) => total + (item.cost ?? 0), 0),
84
+ };
85
+ }
86
+ async sendArray(messages, options = {}) {
87
+ messages = parseKavenegarInput(z.array(kavenegarSendArrayMessageSchema).min(1), messages);
88
+ options = parseKavenegarInput(signalOptionsSchema, options);
89
+ const body = new URLSearchParams({
90
+ receptor: JSON.stringify(messages.map((item) => KavenegarSmsProvider.toLocalRecipient(item.recipient))),
91
+ sender: JSON.stringify(messages.map((item) => item.sender ?? this.sender ?? "")),
92
+ message: JSON.stringify(messages.map((item) => validateRequiredString(item.message, "Message"))),
93
+ });
94
+ return this.requestAndParse("sms/sendarray.json", body, parseKavenegarSendArrayResponse, options.signal);
95
+ }
96
+ async getDeliveryStatus(query) {
97
+ query = parseKavenegarInput(deliveryStatusQuerySchema, query);
98
+ validateIds(query.messageIds, "messageIds");
99
+ const body = new URLSearchParams({
100
+ messageid: query.messageIds.map(String).join(","),
101
+ });
102
+ return this.requestAndParse("sms/status.json", body, parseKavenegarStatusResponse, query.signal);
103
+ }
104
+ async getStatusByLocalId(localIds) {
105
+ localIds = parseKavenegarInput(idsInputSchema, localIds);
106
+ validateIds(localIds, "localIds");
107
+ return this.requestAndParse("sms/statusbylocalid.json", new URLSearchParams({ localid: localIds.map(String).join(",") }), parseKavenegarStatusResponse);
108
+ }
109
+ async cancelScheduled(input) {
110
+ input = parseKavenegarInput(cancellationInputSchema, input);
111
+ validateIds(input.ids, "ids");
112
+ const response = await this.request("sms/cancel.json", new URLSearchParams({ messageid: input.ids.map(String).join(",") }));
113
+ return parseKavenegarCancellationResponse(response, await response.text());
114
+ }
115
+ async getReceivedMessages(query) {
116
+ query = parseKavenegarInput(kavenegarReceiveQuerySchema, query);
117
+ validateRequiredString(query.lineNumber, "Line number");
118
+ const response = await this.request("sms/receive.json", new URLSearchParams({
119
+ linenumber: query.lineNumber,
120
+ isread: query.isRead ? "1" : "0",
121
+ }), query.signal);
122
+ const raw = await response.text();
123
+ return { items: parseKavenegarReceivedResponse(response, raw) };
124
+ }
125
+ async countReceivedMessages(query) {
126
+ query = parseKavenegarInput(kavenegarCountQuerySchema, query);
127
+ const body = new URLSearchParams({ startdate: String(query.startDate) });
128
+ if (query.endDate !== undefined)
129
+ body.set("enddate", String(query.endDate));
130
+ if (query.lineNumber)
131
+ body.set("linenumber", query.lineNumber);
132
+ if (query.isRead !== undefined)
133
+ body.set("isread", query.isRead ? "1" : "0");
134
+ return this.requestAndParse("sms/countinbox.json", body, parseKavenegarCountResponse, query.signal);
135
+ }
136
+ async getSentMessages(query) {
137
+ query = parseKavenegarInput(kavenegarSearchQuerySchema, query);
138
+ return this.getSentMessagesFrom("sms/select.json", query);
139
+ }
140
+ async listSentMessages(query) {
141
+ query = parseKavenegarInput(kavenegarSearchQuerySchema, query);
142
+ return this.getSentMessagesFrom("sms/list.json", query);
143
+ }
144
+ async getLatestSentMessages(query) {
145
+ query = parseKavenegarInput(kavenegarSearchQuerySchema, query);
146
+ return this.getSentMessagesFrom("sms/last.json", query);
147
+ }
148
+ async countSentMessages(query) {
149
+ query = parseKavenegarInput(kavenegarSearchQuerySchema, query);
150
+ const response = await this.request("sms/count.json", this.searchBody(query), query.signal);
151
+ return parseKavenegarCountResponse(response, await response.text());
152
+ }
153
+ searchBody(query) {
154
+ const body = new URLSearchParams();
155
+ if (query.messageIds?.length)
156
+ body.set("messageid", query.messageIds.map(String).join(","));
157
+ body.set("startdate", String(query.startDate));
158
+ if (query.endDate !== undefined)
159
+ body.set("enddate", String(query.endDate));
160
+ if (query.lineNumber)
161
+ body.set("linenumber", query.lineNumber);
162
+ if (query.page !== undefined)
163
+ body.set("page", String(query.page));
164
+ if (query.pageSize !== undefined)
165
+ body.set("pagesize", String(query.pageSize));
166
+ return body;
167
+ }
168
+ async getSentMessagesFrom(path, query) {
169
+ return this.requestAndParse(path, this.searchBody(query), parseKavenegarSendEntries, query.signal);
170
+ }
171
+ async requestAndParse(path, body, parse, signal) {
172
+ const response = await this.request(path, body, signal);
173
+ return parse(response, await response.text());
174
+ }
175
+ async request(path, body, signal) {
176
+ try {
177
+ return await this.transport.request(`${this.baseUrl}/${this.apiKey}/${path}`, {
178
+ method: "POST",
179
+ headers: { "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" },
180
+ body: body.toString(),
181
+ }, { signal });
182
+ }
183
+ catch (error) {
184
+ if (error instanceof KavenegarError)
185
+ throw error;
186
+ throw new KavenegarError("Kavenegar request failed to send", { cause: error });
187
+ }
188
+ }
189
+ }
190
+ function parseKavenegarInput(schema, value) {
191
+ return parseInput(schema, value, (message, cause) => new KavenegarError(message, { cause }));
192
+ }
193
+ function validateIds(ids, name) {
194
+ if (ids.length === 0)
195
+ throw new KavenegarError(`${name} must contain at least one identifier`);
196
+ for (const id of ids)
197
+ if (!String(id).trim())
198
+ throw new KavenegarError(`${name} contains an empty identifier`);
199
+ }
200
+ //# sourceMappingURL=kavenegar-sms-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kavenegar-sms-provider.js","sourceRoot":"","sources":["../../../src/providers/kavenegar/kavenegar-sms-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,kCAAkC,EAClC,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC5B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAExD,MAAM,OAAO,oBAAoB;IASvB,IAAI,GAAG,WAAW,CAAC;IACX,MAAM,CAAS;IACf,MAAM,CAAU;IAChB,OAAO,CAAS;IAChB,SAAS,CAAmB;IAE7C,YAAY,OAAoC;QAC/C,MAAM,SAAS,GAAG,mBAAmB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC;YACrC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,KAAK;YACnC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,MAAM;YACxC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,cAAc,EAAE,SAAS,CAAC,cAAc;SACxC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,WAAmB;QAC1C,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAiB;QAClC,KAAK,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC1D,OAAO,EAAE,IAAI;SACb,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,eAAe,CAC1B,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,KAAK,CAAC,MAAM,CACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAiC;QACnD,OAAO,GAAG,mBAAmB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,sBAAsB,CACtC,OAAO,CAAC,QAAQ,EAChB,4BAA4B,CAC5B,CAAC;QACF,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,cAAc,CACvB,8DAA8D,CAC9D,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC1D,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE;YAClC,QAAQ;YACR,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,eAAe,CAC1B,oBAAoB,EACpB,IAAI,EACJ,sBAAsB,EACtB,OAAO,CAAC,MAAM,CACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAA6B;QAC3C,OAAO,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC7D,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACjF,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YAChC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,eAAe,EACf,IAAI,EACJ,yBAAyB,EACzB,OAAO,CAAC,MAAM,CACd,CAAC;QACF,OAAO;YACN,QAAQ,EAAE,WAAW;YACrB,QAAQ;YACR,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;SACnE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACd,QAA8C,EAC9C,OAAO,GAAuC,EAAE;QAEhD,QAAQ,GAAG,mBAAmB,CAC7B,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAC/C,QAAQ,CACR,CAAC;QACF,OAAO,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,SAAS,CACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAC7E;YACD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,IAAI,CAAC,SAAS,CACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CACvE;SACD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAC1B,oBAAoB,EACpB,IAAI,EACJ,+BAA+B,EAC/B,OAAO,CAAC,MAAM,CACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,KAA2B;QAE3B,KAAK,GAAG,mBAAmB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC9D,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAChC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACjD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAC1B,iBAAiB,EACjB,IAAI,EACJ,4BAA4B,EAC5B,KAAK,CAAC,MAAM,CACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,QAAsC;QAEtC,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzD,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAC1B,0BAA0B,EAC1B,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAChE,4BAA4B,CAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,KAAsD;QAEtD,KAAK,GAAG,mBAAmB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC5D,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAClC,iBAAiB,EACjB,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CACnE,CAAC;QACF,OAAO,kCAAkC,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,KAA4B;QAE5B,KAAK,GAAG,mBAAmB,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAChE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAClC,kBAAkB,EAClB,IAAI,eAAe,CAAC;YACnB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SAChC,CAAC,EACF,KAAK,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,8BAA8B,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAC1B,KAA0B;QAE1B,KAAK,GAAG,mBAAmB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,UAAU;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,eAAe,CAC1B,qBAAqB,EACrB,IAAI,EACJ,2BAA2B,EAC3B,KAAK,CAAC,MAAM,CACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,KAA2B;QAE3B,KAAK,GAAG,mBAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,KAA2B;QAE3B,KAAK,GAAG,mBAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAC1B,KAA2B;QAE3B,KAAK,GAAG,mBAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,KAA2B;QAE3B,KAAK,GAAG,mBAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAClC,gBAAgB,EAChB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,KAAK,CAAC,MAAM,CACZ,CAAC;QACF,OAAO,2BAA2B,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,UAAU,CAAC,KAA2B;QAC7C,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM;YAC3B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,UAAU;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAChC,IAAY,EACZ,KAA2B;QAE3B,OAAO,IAAI,CAAC,eAAe,CAC1B,IAAI,EACJ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,yBAAyB,EACzB,KAAK,CAAC,MAAM,CACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC5B,IAAY,EACZ,IAAqB,EACrB,KAAqD,EACrD,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,OAAO,CACpB,IAAY,EACZ,IAAqB,EACrB,MAAoB;QAEpB,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAClC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,EACxC;gBACC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kDAAkD,EAAE;gBAC/E,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;aACrB,EACD,EAAE,MAAM,EAAE,CACV,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,cAAc;gBAAE,MAAM,KAAK,CAAC;YACjD,MAAM,IAAI,cAAc,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC;IACF,CAAC;CACD;AAED,SAAS,mBAAmB,CAC3B,MAAe,EACf,KAAc;IAEd,OAAO,UAAU,CAChB,MAAM,EACN,KAAK,EACL,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAC1D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAiC,EAAE,IAAY;IACnE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IAC1E,KAAK,MAAM,EAAE,IAAI,GAAG;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;YACrB,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { SmsIrBulkMessage, SmsIrBulkSendResult, SmsIrCancellationResult, SmsIrLikeToLikeMessage, SmsIrMessageStatus, SmsIrPackMessage, SmsIrPackQuery, SmsIrPackSummary, SmsIrParameter, SmsIrProviderOptions, SmsIrSendResult, SmsIrStatusQuery, SmsIrTemplateMessage, } from "../../contracts/sms-ir.js";
2
+ export { SmsIrError } from "../../errors/sms-ir-error.js";
3
+ export { parseSmsIrBulkResult, parseSmsIrCancellationResult, parseSmsIrMessageStatus, parseSmsIrPackMessages, parseSmsIrPackSummaries, parseSmsIrPayload, parseSmsIrSendResult, } from "./sms-ir-api.js";
4
+ export { SmsIrProvider, SmsIrProvider as SmsIrSmsProvider } from "./sms-ir-provider.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/sms-ir/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EACN,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { SmsIrError } from "../../errors/sms-ir-error.js";
2
+ export { parseSmsIrBulkResult, parseSmsIrCancellationResult, parseSmsIrMessageStatus, parseSmsIrPackMessages, parseSmsIrPackSummaries, parseSmsIrPayload, parseSmsIrSendResult, } from "./sms-ir-api.js";
3
+ export { SmsIrProvider, SmsIrProvider as SmsIrSmsProvider } from "./sms-ir-provider.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/sms-ir/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EACN,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SmsIrCancellationResult, SmsIrMessageStatus, SmsIrPackMessage, SmsIrPackSummary, SmsIrSendResult } from "../../contracts/sms-ir.js";
2
+ type SmsIrPayload = Readonly<{
3
+ status: number;
4
+ message?: string;
5
+ data?: unknown;
6
+ }>;
7
+ export declare function parseSmsIrPayload(response: Response, rawResponse: string): SmsIrPayload;
8
+ export declare function parseSmsIrSendResult(response: Response, rawResponse: string): SmsIrSendResult;
9
+ export declare function parseSmsIrBulkResult(response: Response, rawResponse: string): SmsIrSendResult;
10
+ export declare function parseSmsIrCancellationResult(response: Response, rawResponse: string, batchId: string): SmsIrCancellationResult;
11
+ export declare function parseSmsIrMessageStatus(response: Response, rawResponse: string): SmsIrMessageStatus;
12
+ export declare function parseSmsIrPackSummaries(response: Response, rawResponse: string): readonly SmsIrPackSummary[];
13
+ export declare function parseSmsIrPackMessages(response: Response, rawResponse: string): readonly SmsIrPackMessage[];
14
+ export {};
15
+ //# sourceMappingURL=sms-ir-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms-ir-api.d.ts","sourceRoot":"","sources":["../../../src/providers/sms-ir/sms-ir-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,MAAM,2BAA2B,CAAC;AAGnC,KAAK,YAAY,GAAG,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAiDnF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CA8BvF;AAED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,eAAe,CAgBjB;AAED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,eAAe,CAsBjB;AAED,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACb,uBAAuB,CAazB;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,kBAAkB,CAGpB;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,gBAAgB,EAAE,CAgB7B;AAED,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GACjB,SAAS,gBAAgB,EAAE,CAQ7B"}