@serve.zone/dcrouter 11.0.25 → 11.0.27

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 (34) hide show
  1. package/dist_serve/bundle.js +1 -1
  2. package/dist_ts/classes.dcrouter.d.ts +337 -0
  3. package/dist_ts/classes.dcrouter.js +1405 -0
  4. package/dist_ts/config/classes.api-token-manager.d.ts +46 -0
  5. package/dist_ts/config/classes.api-token-manager.js +150 -0
  6. package/dist_ts/config/classes.route-config-manager.d.ts +35 -0
  7. package/dist_ts/config/index.d.ts +3 -0
  8. package/dist_ts/config/index.js +5 -0
  9. package/dist_ts/errors/error-handler.d.ts +98 -0
  10. package/dist_ts/errors/error-handler.js +282 -0
  11. package/dist_ts/errors/index.d.ts +54 -0
  12. package/dist_ts/errors/index.js +136 -0
  13. package/dist_ts/errors/reputation.errors.d.ts +183 -0
  14. package/dist_ts/errors/reputation.errors.js +292 -0
  15. package/dist_ts/index.d.ts +7 -0
  16. package/dist_ts/index.js +11 -0
  17. package/dist_ts/security/classes.contentscanner.d.ts +164 -0
  18. package/dist_ts/security/classes.contentscanner.js +642 -0
  19. package/dist_ts/security/classes.ipreputationchecker.d.ts +160 -0
  20. package/dist_ts/security/classes.ipreputationchecker.js +537 -0
  21. package/dist_ts/security/index.d.ts +3 -0
  22. package/dist_ts/security/index.js +4 -0
  23. package/dist_ts/sms/classes.smsservice.d.ts +15 -0
  24. package/dist_ts/sms/classes.smsservice.js +72 -0
  25. package/dist_ts/sms/config/sms.config.d.ts +93 -0
  26. package/dist_ts/sms/config/sms.config.js +2 -0
  27. package/dist_ts/sms/config/sms.schema.d.ts +5 -0
  28. package/dist_ts/sms/config/sms.schema.js +121 -0
  29. package/dist_ts/sms/index.d.ts +1 -0
  30. package/dist_ts/sms/index.js +2 -0
  31. package/dist_ts_web/00_commitinfo_data.js +1 -1
  32. package/package.json +2 -2
  33. package/ts/00_commitinfo_data.ts +1 -1
  34. package/ts_web/00_commitinfo_data.ts +1 -1
@@ -0,0 +1,72 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as paths from '../paths.js';
3
+ import { logger } from '../logger.js';
4
+ import { smsConfigSchema } from './config/sms.schema.js';
5
+ import { ConfigValidator } from '../config/validator.js';
6
+ export class SmsService {
7
+ projectinfo;
8
+ typedrouter = new plugins.typedrequest.TypedRouter();
9
+ config;
10
+ constructor(options) {
11
+ // Validate and apply defaults to configuration
12
+ const validationResult = ConfigValidator.validate(options, smsConfigSchema);
13
+ if (!validationResult.valid) {
14
+ logger.warn(`SMS service configuration has validation errors: ${validationResult.errors.join(', ')}`);
15
+ }
16
+ // Set configuration with defaults
17
+ this.config = validationResult.config;
18
+ // Add router to platform service
19
+ }
20
+ /**
21
+ * starts the financeflow instance
22
+ */
23
+ async start() {
24
+ logger.log('info', `starting sms service`);
25
+ this.projectinfo = new plugins.projectinfo.ProjectInfo(paths.packageDir);
26
+ this.typedrouter.addTypedHandler(new plugins.typedrequest.TypedHandler('sendSms', async (reqData) => {
27
+ await this.sendSms(reqData.toNumber, reqData.fromName, reqData.messageText);
28
+ return {
29
+ status: 'ok',
30
+ };
31
+ }));
32
+ this.typedrouter.addTypedHandler(new plugins.typedrequest.TypedHandler('sendVerificationCode', async (reqData) => {
33
+ const verificationCode = (await this.sendVerificationCode(reqData.toNumber, reqData.fromName)).toString();
34
+ return {
35
+ status: 'ok',
36
+ verificationCode,
37
+ };
38
+ }));
39
+ }
40
+ async sendSms(toNumber, fromName, messageText) {
41
+ // Use default sender if not specified
42
+ const sender = fromName || this.config.defaultSender || 'PlatformService';
43
+ const payload = {
44
+ sender,
45
+ message: messageText,
46
+ recipients: [{ msisdn: toNumber }],
47
+ };
48
+ const resp = await plugins.smartrequest.SmartRequest.create()
49
+ .url('https://gatewayapi.com/rest/mtsms')
50
+ .header('Authorization', `Basic ${Buffer.from(`${this.config.apiGatewayApiToken}:`).toString('base64')}`)
51
+ .header('Content-Type', 'application/json')
52
+ .json(payload)
53
+ .post();
54
+ const json = await resp.json();
55
+ logger.log('info', `sent an sms to ${toNumber} with text '${messageText}'`, {
56
+ eventType: 'sentSms',
57
+ sms: {
58
+ fromName: fromName,
59
+ toNumber: toNumber.toString(),
60
+ messageText: messageText,
61
+ },
62
+ });
63
+ console.log(JSON.stringify(json, null, 2));
64
+ }
65
+ async sendVerificationCode(toNumber, fromName) {
66
+ let verificationCode = Math.floor(100000 + Math.random() * 900000);
67
+ await this.sendSms(toNumber, fromName, `Your verification code: ${verificationCode}`);
68
+ return verificationCode;
69
+ }
70
+ async stop() { }
71
+ }
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zbXNzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvc21zL2NsYXNzZXMuc21zc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsTUFBTSxPQUFPLFVBQVU7SUFDZCxXQUFXLENBQWtDO0lBQzdDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckQsTUFBTSxDQUFhO0lBRTFCLFlBQVksT0FBbUI7UUFDN0IsK0NBQStDO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0RBQW9ELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFFdEMsaUNBQWlDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENB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
@@ -0,0 +1,93 @@
1
+ /**
2
+ * SMS service configuration interface
3
+ */
4
+ export interface ISmsConfig {
5
+ /**
6
+ * API token for the gateway service
7
+ */
8
+ apiGatewayApiToken: string;
9
+ /**
10
+ * Default sender ID or phone number
11
+ */
12
+ defaultSender?: string;
13
+ /**
14
+ * SMS rate limiting
15
+ */
16
+ rateLimit?: {
17
+ /**
18
+ * Whether rate limiting is enabled
19
+ */
20
+ enabled?: boolean;
21
+ /**
22
+ * Maximum requests per period
23
+ */
24
+ maxPerPeriod?: number;
25
+ /**
26
+ * Period duration in milliseconds
27
+ */
28
+ periodMs?: number;
29
+ /**
30
+ * Whether to apply rate limit per key
31
+ */
32
+ perKey?: boolean;
33
+ /**
34
+ * Number of burst tokens
35
+ */
36
+ burstTokens?: number;
37
+ /**
38
+ * Maximum messages per recipient per day
39
+ */
40
+ maxPerRecipientPerDay?: number;
41
+ };
42
+ /**
43
+ * SMS provider configuration
44
+ */
45
+ provider?: {
46
+ /**
47
+ * Provider type
48
+ */
49
+ type?: 'gateway' | 'twilio' | 'other';
50
+ /**
51
+ * Provider-specific configuration
52
+ */
53
+ config?: Record<string, any>;
54
+ /**
55
+ * Fallback provider configuration
56
+ */
57
+ fallback?: {
58
+ /**
59
+ * Whether to use fallback provider
60
+ */
61
+ enabled?: boolean;
62
+ /**
63
+ * Provider type
64
+ */
65
+ type?: 'gateway' | 'twilio' | 'other';
66
+ /**
67
+ * Provider-specific configuration
68
+ */
69
+ config?: Record<string, any>;
70
+ };
71
+ };
72
+ /**
73
+ * Verification code settings
74
+ */
75
+ verification?: {
76
+ /**
77
+ * Code length
78
+ */
79
+ codeLength?: number;
80
+ /**
81
+ * Code expiration time in seconds
82
+ */
83
+ expirationSeconds?: number;
84
+ /**
85
+ * Maximum number of attempts
86
+ */
87
+ maxAttempts?: number;
88
+ /**
89
+ * Cooldown period in seconds
90
+ */
91
+ cooldownSeconds?: number;
92
+ };
93
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzL3Ntcy9jb25maWcvc21zLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,5 @@
1
+ import type { ValidationSchema } from '../../config/validator.js';
2
+ /**
3
+ * SMS service configuration schema
4
+ */
5
+ export declare const smsConfigSchema: ValidationSchema;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * SMS service configuration schema
3
+ */
4
+ export const smsConfigSchema = {
5
+ apiGatewayApiToken: {
6
+ type: 'string',
7
+ required: true
8
+ },
9
+ defaultSender: {
10
+ type: 'string',
11
+ required: false
12
+ },
13
+ rateLimit: {
14
+ type: 'object',
15
+ required: false,
16
+ schema: {
17
+ enabled: {
18
+ type: 'boolean',
19
+ required: false,
20
+ default: true
21
+ },
22
+ maxPerPeriod: {
23
+ type: 'number',
24
+ required: false,
25
+ default: 100,
26
+ min: 1
27
+ },
28
+ periodMs: {
29
+ type: 'number',
30
+ required: false,
31
+ default: 60000, // 1 minute
32
+ min: 1000
33
+ },
34
+ perKey: {
35
+ type: 'boolean',
36
+ required: false,
37
+ default: true
38
+ },
39
+ burstTokens: {
40
+ type: 'number',
41
+ required: false,
42
+ default: 5,
43
+ min: 0
44
+ },
45
+ maxPerRecipientPerDay: {
46
+ type: 'number',
47
+ required: false,
48
+ default: 10,
49
+ min: 1
50
+ }
51
+ }
52
+ },
53
+ provider: {
54
+ type: 'object',
55
+ required: false,
56
+ schema: {
57
+ type: {
58
+ type: 'string',
59
+ required: false,
60
+ enum: ['gateway', 'twilio', 'other'],
61
+ default: 'gateway'
62
+ },
63
+ config: {
64
+ type: 'object',
65
+ required: false
66
+ },
67
+ fallback: {
68
+ type: 'object',
69
+ required: false,
70
+ schema: {
71
+ enabled: {
72
+ type: 'boolean',
73
+ required: false,
74
+ default: false
75
+ },
76
+ type: {
77
+ type: 'string',
78
+ required: false,
79
+ enum: ['gateway', 'twilio', 'other']
80
+ },
81
+ config: {
82
+ type: 'object',
83
+ required: false
84
+ }
85
+ }
86
+ }
87
+ }
88
+ },
89
+ verification: {
90
+ type: 'object',
91
+ required: false,
92
+ schema: {
93
+ codeLength: {
94
+ type: 'number',
95
+ required: false,
96
+ default: 6,
97
+ min: 4,
98
+ max: 10
99
+ },
100
+ expirationSeconds: {
101
+ type: 'number',
102
+ required: false,
103
+ default: 300, // 5 minutes
104
+ min: 60
105
+ },
106
+ maxAttempts: {
107
+ type: 'number',
108
+ required: false,
109
+ default: 3,
110
+ min: 1
111
+ },
112
+ cooldownSeconds: {
113
+ type: 'number',
114
+ required: false,
115
+ default: 60, // 1 minute
116
+ min: 0
117
+ }
118
+ }
119
+ }
120
+ };
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLnNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzL3Ntcy9jb25maWcvc21zLnNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUI7SUFDL0Msa0JBQWtCLEVBQUU7UUFDbEIsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUUsSUFBSTtLQUNmO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUUsS0FBSztLQUNoQjtJQUNELFNBQVMsRUFBRTtRQUNULElBQUksRUFBRSxRQUFRO1FBQ2QsUUFBUSxFQUFFLEtBQUs7UUFDZixNQUFNLEVBQUU7WUFDTixPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsR0FBRztnQkFDWixHQUFHLEVBQUUsQ0FBQzthQUNQO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVztnQkFDM0IsR0FBRyxFQUFFLElBQUk7YUFDVjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLE9BQU8sRUFBRSxDQUFDO2dCQUNWLEdBQUcsRUFBRSxDQUFDO2FBQ1A7WUFDRCxxQkFBcUIsRUFBRTtnQkFDckIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsR0FBRyxFQUFFLENBQUM7YUFDUDtTQUNGO0tBQ0Y7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxLQUFLO1FBQ2YsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO2dCQUNwQyxPQUFPLEVBQUUsU0FBUzthQUNuQjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsS0FBSztnQkFDZixNQUFNLEVBQUU7b0JBQ04sT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxTQUFTO3dCQUNmLFFBQVEsRUFBRSxLQUFLO3dCQUNmLE9BQU8sRUFBRSxLQUFLO3FCQUNmO29CQUNELElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsUUFBUTt3QkFDZCxRQUFRLEVBQUUsS0FBSzt3QkFDZixJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztxQkFDckM7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxRQUFRO3dCQUNkLFFBQVEsRUFBRSxLQUFLO3FCQUNoQjtpQkFDRjthQUNGO1NBQ0Y7S0FDRjtJQUNELFlBQVksRUFBRTtRQUNaLElBQUksRUFBRSxRQUFRO1FBQ2QsUUFBUSxFQUFFLEtBQUs7UUFDZixNQUFNLEVBQUU7WUFDTixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsR0FBRyxFQUFFLENBQUM7Z0JBQ04sR0FBRyxFQUFFLEVBQUU7YUFDUjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVk7Z0JBQzFCLEdBQUcsRUFBRSxFQUFFO2FBQ1I7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsR0FBRyxFQUFFLENBQUM7YUFDUDtZQUNELGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsS0FBSztnQkFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLFdBQVc7Z0JBQ3hCLEdBQUcsRUFBRSxDQUFDO2FBQ1A7U0FDRjtLQUNGO0NBQ0YsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ export * from './classes.smsservice.js';
@@ -0,0 +1,2 @@
1
+ export * from './classes.smsservice.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9zbXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyJ9
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '11.0.25',
6
+ version: '11.0.27',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@serve.zone/dcrouter",
3
3
  "private": false,
4
- "version": "11.0.25",
4
+ "version": "11.0.27",
5
5
  "description": "A multifaceted routing service handling mail and SMS delivery functions.",
6
6
  "type": "module",
7
7
  "exports": {
@@ -19,7 +19,7 @@
19
19
  "watch": "tswatch"
20
20
  },
21
21
  "devDependencies": {
22
- "@git.zone/tsbuild": "^4.1.14",
22
+ "@git.zone/tsbuild": "^4.1.16",
23
23
  "@git.zone/tsbundle": "^2.9.0",
24
24
  "@git.zone/tsrun": "^2.0.1",
25
25
  "@git.zone/tstest": "^3.2.0",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '11.0.25',
6
+ version: '11.0.27',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  }
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '11.0.25',
6
+ version: '11.0.27',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  }