@groundbrick/sms-service 1.2.1 → 1.2.2

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.
@@ -52,6 +52,7 @@ export interface GatewayApiConfig {
52
52
  token: string;
53
53
  baseUrl?: string;
54
54
  webhookSecret?: string;
55
+ defaultCallingCode?: string;
55
56
  }
56
57
  export interface TwilioConfig {
57
58
  accountSid: string;
@@ -68,5 +69,6 @@ export interface SweegoConfig {
68
69
  campaignType?: string;
69
70
  baseUrl?: string;
70
71
  providerSlug?: string;
72
+ defaultCallingCode?: string;
71
73
  }
72
74
  //# sourceMappingURL=ISmsProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ISmsProvider.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISmsProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrE,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;CAC5E;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"ISmsProvider.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISmsProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrE,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;CAC5E;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -3,6 +3,7 @@ export declare class GatewayApiSmsProvider implements ISmsProvider {
3
3
  private token;
4
4
  private baseUrl;
5
5
  private webhookSecret?;
6
+ private defaultCallingCode;
6
7
  private static readonly GSM7_BASIC_CHARS;
7
8
  private static readonly GSM7_EXTENDED_CHARS;
8
9
  constructor(config: GatewayApiConfig);
@@ -13,8 +14,9 @@ export declare class GatewayApiSmsProvider implements ISmsProvider {
13
14
  getDeliveryReport(messageId: string): Promise<DeliveryReport | null>;
14
15
  validateWebhook(payload: any, signature?: string): WebhookValidationResult;
15
16
  /**
16
- * Normalize phone number to international format (remove spaces, dashes, etc.)
17
- * Ensures it starts with + or country code
17
+ * Normalize a recipient phone number to GatewayAPI's MSISDN format (digits only, no '+').
18
+ * Numbers already carry their country code in E.164 form ("+351..."); the configured
19
+ * default calling code is only prepended to legacy national numbers without a prefix.
18
20
  */
19
21
  private normalizePhoneNumber;
20
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayApiSmsProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GatewayApiSmsProvider.ts"],"names":[],"mappings":"AACA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAGnB,MAAM,+BAA+B,CAAC;AAGvC,qBAAa,qBAAsB,YAAW,YAAY;IACtD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAwI;IAChL,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;gBAE/C,MAAM,EAAE,gBAAgB;IAM9B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAgEnD,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,uBAAuB;IAezB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA6B1E,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB;IA8D1E;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa9B"}
1
+ {"version":3,"file":"GatewayApiSmsProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GatewayApiSmsProvider.ts"],"names":[],"mappings":"AACA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAGnB,MAAM,+BAA+B,CAAC;AAGvC,qBAAa,qBAAsB,YAAW,YAAY;IACtD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAwI;IAChL,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;gBAE/C,MAAM,EAAE,gBAAgB;IAO9B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAgEnD,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,uBAAuB;IAezB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA6B1E,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB;IA8D1E;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAa9B"}
@@ -4,12 +4,14 @@ export class GatewayApiSmsProvider {
4
4
  token;
5
5
  baseUrl;
6
6
  webhookSecret;
7
+ defaultCallingCode;
7
8
  static GSM7_BASIC_CHARS = "@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà";
8
9
  static GSM7_EXTENDED_CHARS = "^{}\\[~]|€";
9
10
  constructor(config) {
10
11
  this.token = config.token;
11
12
  this.baseUrl = config.baseUrl || 'https://gatewayapi.com';
12
13
  this.webhookSecret = config.webhookSecret;
14
+ this.defaultCallingCode = config.defaultCallingCode || '351';
13
15
  }
14
16
  async send(message) {
15
17
  try {
@@ -173,18 +175,24 @@ export class GatewayApiSmsProvider {
173
175
  }
174
176
  }
175
177
  /**
176
- * Normalize phone number to international format (remove spaces, dashes, etc.)
177
- * Ensures it starts with + or country code
178
+ * Normalize a recipient phone number to GatewayAPI's MSISDN format (digits only, no '+').
179
+ * Numbers already carry their country code in E.164 form ("+351..."); the configured
180
+ * default calling code is only prepended to legacy national numbers without a prefix.
178
181
  */
179
182
  normalizePhoneNumber(phone) {
180
- // Remove every non-digit character to satisfy GatewayAPI requirement
181
- let normalized = phone.replace(/\D/g, '');
183
+ const trimmed = phone.trim();
184
+ // A leading '+' or '00' means the country code is already present.
185
+ const hasCountryCode = trimmed.startsWith('+') || trimmed.startsWith('00');
186
+ let normalized = trimmed.replace(/\D/g, '');
187
+ // "00" international prefix becomes nothing (the country code follows it).
188
+ if (trimmed.startsWith('00')) {
189
+ normalized = normalized.replace(/^00/, '');
190
+ }
182
191
  if (!normalized) {
183
192
  throw new Error('Invalid phone number');
184
193
  }
185
- // Ensure number contains a country code; default to Portugal (351) when missing
186
- if (!normalized.match(/^(351|44|1|34|33)/)) {
187
- normalized = `351${normalized}`;
194
+ if (!hasCountryCode) {
195
+ normalized = `${this.defaultCallingCode}${normalized}`;
188
196
  }
189
197
  return normalized;
190
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayApiSmsProvider.js","sourceRoot":"","sources":["../../src/providers/GatewayApiSmsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GatewayApiSmsProvider.js","sourceRoot":"","sources":["../../src/providers/GatewayApiSmsProvider.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,15 @@ export declare class SweegoSmsProvider implements ISmsProvider {
5
5
  private region;
6
6
  private campaignType;
7
7
  private providerSlug;
8
+ private defaultCallingCode;
8
9
  constructor(config: SweegoConfig);
9
10
  send(message: SmsMessage): Promise<SmsResult>;
10
11
  getDeliveryReport(messageId: string): Promise<DeliveryReport | null>;
11
12
  validateWebhook(payload: any, signature?: string): WebhookValidationResult;
12
13
  /**
13
- * Normalize phone number to international format
14
- * Ensures it starts with + for Sweego
14
+ * Normalize a recipient phone number to Sweego's E.164 format (leading '+').
15
+ * Numbers already carry their country code in E.164 form ("+351..."); the configured
16
+ * default calling code is only prepended to legacy national numbers without a prefix.
15
17
  */
16
18
  private normalizePhoneNumber;
17
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SweegoSmsProvider.d.ts","sourceRoot":"","sources":["../../src/providers/SweegoSmsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,YAAY,EAEf,MAAM,+BAA+B,CAAC;AAEvC,qBAAa,iBAAkB,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,YAAY;IAQ1B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAyD7C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA8B1E,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB;IAgC1E;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,eAAe;CAa1B"}
1
+ {"version":3,"file":"SweegoSmsProvider.d.ts","sourceRoot":"","sources":["../../src/providers/SweegoSmsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,uBAAuB,EACvB,YAAY,EAEf,MAAM,+BAA+B,CAAC;AAEvC,qBAAa,iBAAkB,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,MAAM,EAAE,YAAY;IAS1B,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAyD7C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA8B1E,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,uBAAuB;IAgC1E;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,eAAe;CAa1B"}
@@ -5,12 +5,14 @@ export class SweegoSmsProvider {
5
5
  region;
6
6
  campaignType;
7
7
  providerSlug;
8
+ defaultCallingCode;
8
9
  constructor(config) {
9
10
  this.apiKey = config.apiKey;
10
11
  this.baseUrl = config.baseUrl || 'https://api.sweego.io';
11
12
  this.region = config.region || 'PT';
12
13
  this.campaignType = config.campaignType || 'transac';
13
14
  this.providerSlug = config.providerSlug || 'sweego';
15
+ this.defaultCallingCode = config.defaultCallingCode || '351';
14
16
  }
15
17
  async send(message) {
16
18
  try {
@@ -119,24 +121,22 @@ export class SweegoSmsProvider {
119
121
  }
120
122
  }
121
123
  /**
122
- * Normalize phone number to international format
123
- * Ensures it starts with + for Sweego
124
+ * Normalize a recipient phone number to Sweego's E.164 format (leading '+').
125
+ * Numbers already carry their country code in E.164 form ("+351..."); the configured
126
+ * default calling code is only prepended to legacy national numbers without a prefix.
124
127
  */
125
128
  normalizePhoneNumber(phone) {
126
- // Remove spaces, dashes, parentheses
127
- let normalized = phone.replace(/[\s\-\(\)]/g, '');
128
- // If doesn't start with +, add it
129
- if (!normalized.startsWith('+')) {
130
- // If starts with country code without +, add +
131
- if (normalized.match(/^(351|44|1|34|33)/)) {
132
- normalized = `+${normalized}`;
133
- }
134
- else {
135
- // Default to Portugal
136
- normalized = `+351${normalized}`;
137
- }
129
+ const trimmed = phone.trim();
130
+ // Already E.164 — just strip separators.
131
+ if (trimmed.startsWith('+')) {
132
+ return `+${trimmed.replace(/\D/g, '')}`;
133
+ }
134
+ // "00" international prefix -> "+" and the country code follows.
135
+ if (trimmed.startsWith('00')) {
136
+ return `+${trimmed.replace(/\D/g, '').replace(/^00/, '')}`;
138
137
  }
139
- return normalized;
138
+ // Legacy national number without a country code: prepend the default.
139
+ return `+${this.defaultCallingCode}${trimmed.replace(/\D/g, '')}`;
140
140
  }
141
141
  /**
142
142
  * Map Sweego status codes to our SmsStatus enum
@@ -1 +1 @@
1
- {"version":3,"file":"SweegoSmsProvider.js","sourceRoot":"","sources":["../../src/providers/SweegoSmsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SweegoSmsProvider.js","sourceRoot":"","sources":["../../src/providers/SweegoSmsProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groundbrick/sms-service",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Serviço de SMS plugável com suporte a múltiplos provedores (GatewayAPI, Twilio, etc)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",