@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.
- package/dist_serve/bundle.js +1 -1
- package/dist_ts/classes.dcrouter.d.ts +337 -0
- package/dist_ts/classes.dcrouter.js +1405 -0
- package/dist_ts/config/classes.api-token-manager.d.ts +46 -0
- package/dist_ts/config/classes.api-token-manager.js +150 -0
- package/dist_ts/config/classes.route-config-manager.d.ts +35 -0
- package/dist_ts/config/index.d.ts +3 -0
- package/dist_ts/config/index.js +5 -0
- package/dist_ts/errors/error-handler.d.ts +98 -0
- package/dist_ts/errors/error-handler.js +282 -0
- package/dist_ts/errors/index.d.ts +54 -0
- package/dist_ts/errors/index.js +136 -0
- package/dist_ts/errors/reputation.errors.d.ts +183 -0
- package/dist_ts/errors/reputation.errors.js +292 -0
- package/dist_ts/index.d.ts +7 -0
- package/dist_ts/index.js +11 -0
- package/dist_ts/security/classes.contentscanner.d.ts +164 -0
- package/dist_ts/security/classes.contentscanner.js +642 -0
- package/dist_ts/security/classes.ipreputationchecker.d.ts +160 -0
- package/dist_ts/security/classes.ipreputationchecker.js +537 -0
- package/dist_ts/security/index.d.ts +3 -0
- package/dist_ts/security/index.js +4 -0
- package/dist_ts/sms/classes.smsservice.d.ts +15 -0
- package/dist_ts/sms/classes.smsservice.js +72 -0
- package/dist_ts/sms/config/sms.config.d.ts +93 -0
- package/dist_ts/sms/config/sms.config.js +2 -0
- package/dist_ts/sms/config/sms.schema.d.ts +5 -0
- package/dist_ts/sms/config/sms.schema.js +121 -0
- package/dist_ts/sms/index.d.ts +1 -0
- package/dist_ts/sms/index.js +2 -0
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zbXNzZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvc21zL2NsYXNzZXMuc21zc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsTUFBTSxPQUFPLFVBQVU7SUFDZCxXQUFXLENBQWtDO0lBQzdDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckQsTUFBTSxDQUFhO0lBRTFCLFlBQVksT0FBbUI7UUFDN0IsK0NBQStDO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0RBQW9ELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFFdEMsaUNBQWlDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FDbkMsU0FBUyxFQUNULEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNoQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1RSxPQUFPO2dCQUNMLE1BQU0sRUFBRSxJQUFJO2FBQ2IsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FDbkMsc0JBQXNCLEVBQ3RCLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNoQixNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUNwRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2IsT0FBTztnQkFDTCxNQUFNLEVBQUUsSUFBSTtnQkFDWixnQkFBZ0I7YUFDakIsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFnQixFQUFFLFFBQWdCLEVBQUUsV0FBbUI7UUFDMUUsc0NBQXNDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxpQkFBaUIsQ0FBQztRQUUxRSxNQUFNLE9BQU8sR0FBRztZQUNkLE1BQU07WUFDTixPQUFPLEVBQUUsV0FBVztZQUNwQixVQUFVLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUNuQyxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7YUFDMUQsR0FBRyxDQUFDLG1DQUFtQyxDQUFDO2FBQ3hDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7YUFDeEcsTUFBTSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQzthQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2IsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsUUFBUSxlQUFlLFdBQVcsR0FBRyxFQUFFO1lBQzFFLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEdBQUcsRUFBRTtnQkFDSCxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQzdCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDbEUsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDbkUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsMkJBQTJCLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUN0RixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxLQUFJLENBQUM7Q0FDdkIifQ==
|
|
@@ -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,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';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/dcrouter',
|
|
6
|
-
version: '11.0.
|
|
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.
|
|
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.
|
|
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",
|
package/ts/00_commitinfo_data.ts
CHANGED