@conduitplatform/module-tools 0.16.5 → 0.16.6
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/classes/ConduitServiceModule.d.ts +1 -1
- package/dist/index.cjs +1776 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.esm.js +1749 -0
- package/dist/index.esm.js.map +1 -0
- package/package.json +24 -5
- package/dist/ManagedModule.js +0 -221
- package/dist/ManagedModule.js.map +0 -1
- package/dist/classes/ConduitActiveSchema.js +0 -44
- package/dist/classes/ConduitActiveSchema.js.map +0 -1
- package/dist/classes/ConduitServiceModule.js +0 -110
- package/dist/classes/ConduitServiceModule.js.map +0 -1
- package/dist/classes/ConfigController.js +0 -16
- package/dist/classes/ConfigController.js.map +0 -1
- package/dist/classes/GrpcServer.js +0 -121
- package/dist/classes/GrpcServer.js.map +0 -1
- package/dist/classes/index.js +0 -5
- package/dist/classes/index.js.map +0 -1
- package/dist/helpers/GrpcHelper.js +0 -38
- package/dist/helpers/GrpcHelper.js.map +0 -1
- package/dist/helpers/GrpcToParsedRouterRequest.js +0 -15
- package/dist/helpers/GrpcToParsedRouterRequest.js.map +0 -1
- package/dist/helpers/TypeHelpers.js +0 -79
- package/dist/helpers/TypeHelpers.js.map +0 -1
- package/dist/helpers/index.js +0 -5
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/wrapGrpcFunctions.js +0 -48
- package/dist/helpers/wrapGrpcFunctions.js.map +0 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/interfaces/ConduitService.js +0 -2
- package/dist/interfaces/ConduitService.js.map +0 -1
- package/dist/interfaces/ModuleLifecycleStage.js +0 -9
- package/dist/interfaces/ModuleLifecycleStage.js.map +0 -1
- package/dist/interfaces/index.js +0 -3
- package/dist/interfaces/index.js.map +0 -1
- package/dist/logging/index.js +0 -124
- package/dist/logging/index.js.map +0 -1
- package/dist/metrics/MetricsServer.js +0 -42
- package/dist/metrics/MetricsServer.js.map +0 -1
- package/dist/metrics/clientMiddleware.js +0 -120
- package/dist/metrics/clientMiddleware.js.map +0 -1
- package/dist/metrics/config/defaults.js +0 -91
- package/dist/metrics/config/defaults.js.map +0 -1
- package/dist/metrics/index.js +0 -109
- package/dist/metrics/index.js.map +0 -1
- package/dist/routing/ProxyRouteBuilder.js +0 -74
- package/dist/routing/ProxyRouteBuilder.js.map +0 -1
- package/dist/routing/RouteBuilder.js +0 -100
- package/dist/routing/RouteBuilder.js.map +0 -1
- package/dist/routing/RoutingController.js +0 -21
- package/dist/routing/RoutingController.js.map +0 -1
- package/dist/routing/RoutingManager.js +0 -140
- package/dist/routing/RoutingManager.js.map +0 -1
- package/dist/routing/RoutingUtilities.js +0 -9
- package/dist/routing/RoutingUtilities.js.map +0 -1
- package/dist/routing/index.js +0 -6
- package/dist/routing/index.js.map +0 -1
- package/dist/routing/wrapRouterFunctions.js +0 -120
- package/dist/routing/wrapRouterFunctions.js.map +0 -1
- package/dist/utilities/convictConfigParser.js +0 -14
- package/dist/utilities/convictConfigParser.js.map +0 -1
- package/dist/utilities/index.js +0 -4
- package/dist/utilities/index.js.map +0 -1
- package/dist/utilities/initializeSdk.js +0 -35
- package/dist/utilities/initializeSdk.js.map +0 -1
- package/dist/utilities/linearBackoffTimeout.js +0 -57
- package/dist/utilities/linearBackoffTimeout.js.map +0 -1
- package/dist/utilities/merge.js +0 -11
- package/dist/utilities/merge.js.map +0 -1
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { addServiceToServer, createServer, wrapGrpcFunctions } from '../helpers/index.js';
|
|
2
|
-
import { isNil } from 'lodash-es';
|
|
3
|
-
import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
|
|
4
|
-
export class GrpcServer {
|
|
5
|
-
constructor(port) {
|
|
6
|
-
this.started = false;
|
|
7
|
-
this.startedOnce = false;
|
|
8
|
-
this._serviceNames = [];
|
|
9
|
-
this._postponeRequests = 0;
|
|
10
|
-
this._services = [];
|
|
11
|
-
this._url = `0.0.0.0:${port !== null && port !== void 0 ? port : '5000'}`;
|
|
12
|
-
}
|
|
13
|
-
async waitForReady() {
|
|
14
|
-
while (!isNil(this.scheduledRestart)) {
|
|
15
|
-
await this.wait(200);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
get url() {
|
|
19
|
-
return this._url;
|
|
20
|
-
}
|
|
21
|
-
async createNewServer(useForce = false) {
|
|
22
|
-
if (isNil(this._useForce)) {
|
|
23
|
-
this._useForce = useForce;
|
|
24
|
-
}
|
|
25
|
-
const serverResult = await createServer(this._url);
|
|
26
|
-
this.grpcServer = serverResult.server;
|
|
27
|
-
this._url = this._url.split(':')[0] + ':' + serverResult.port.toString();
|
|
28
|
-
return serverResult.port;
|
|
29
|
-
}
|
|
30
|
-
async addService(protoPath, protoDescription, functions) {
|
|
31
|
-
functions = wrapGrpcFunctions(functions, this.postponeRestart.bind(this));
|
|
32
|
-
if (this._serviceNames.indexOf(protoDescription) !== -1) {
|
|
33
|
-
ConduitGrpcSdk.Logger.log('Service already exists, performing replace');
|
|
34
|
-
this._services[this._serviceNames.indexOf(protoDescription)] = {
|
|
35
|
-
protoPath,
|
|
36
|
-
protoDescription,
|
|
37
|
-
functions,
|
|
38
|
-
};
|
|
39
|
-
this.scheduleRefresh();
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this._services.push({ protoPath, protoDescription, functions });
|
|
44
|
-
this._serviceNames.push(protoDescription);
|
|
45
|
-
if (this.started) {
|
|
46
|
-
ConduitGrpcSdk.Logger.log('Server already started, scheduling refresh..');
|
|
47
|
-
this.scheduleRefresh();
|
|
48
|
-
return this;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
if (!this.grpcServer) {
|
|
52
|
-
await this.wait(1000);
|
|
53
|
-
}
|
|
54
|
-
addServiceToServer(this.grpcServer, protoPath, protoDescription, functions);
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async wait(time) {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
const timeout = setTimeout(() => {
|
|
62
|
-
clearTimeout(timeout);
|
|
63
|
-
resolve();
|
|
64
|
-
}, time);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
async refresh() {
|
|
68
|
-
if (this.started) {
|
|
69
|
-
this.started = false;
|
|
70
|
-
if (this._useForce) {
|
|
71
|
-
this.grpcServer.forceShutdown();
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
//gracefully shutdown so that there are no service disruption
|
|
75
|
-
await new Promise(resolve => this.grpcServer.tryShutdown(() => resolve()));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
await this.createNewServer();
|
|
79
|
-
this._services.forEach(service => {
|
|
80
|
-
addServiceToServer(this.grpcServer, service.protoPath, service.protoDescription, service.functions);
|
|
81
|
-
});
|
|
82
|
-
if (!this.started && this.startedOnce) {
|
|
83
|
-
this.grpcServer.start();
|
|
84
|
-
this.started = true;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
scheduleRefresh() {
|
|
88
|
-
if (this.scheduledRestart) {
|
|
89
|
-
clearTimeout(this.scheduledRestart);
|
|
90
|
-
}
|
|
91
|
-
const self = this;
|
|
92
|
-
this.scheduledRestart = setTimeout(async () => {
|
|
93
|
-
ConduitGrpcSdk.Logger.log('Begin refresh');
|
|
94
|
-
await self.refresh();
|
|
95
|
-
ConduitGrpcSdk.Logger.log('Refresh complete');
|
|
96
|
-
clearTimeout(self.scheduledRestart);
|
|
97
|
-
self.scheduledRestart = undefined;
|
|
98
|
-
self._postponeRequests = 0;
|
|
99
|
-
}, 2000);
|
|
100
|
-
}
|
|
101
|
-
start() {
|
|
102
|
-
var _a;
|
|
103
|
-
if (this.started) {
|
|
104
|
-
ConduitGrpcSdk.Logger.error('gRPC server is already running!');
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
else if (!this.started && this.startedOnce) {
|
|
108
|
-
ConduitGrpcSdk.Logger.error('gRPC server is down for refresh!');
|
|
109
|
-
}
|
|
110
|
-
this.started = true;
|
|
111
|
-
this.startedOnce = true;
|
|
112
|
-
(_a = this.grpcServer) === null || _a === void 0 ? void 0 : _a.start();
|
|
113
|
-
}
|
|
114
|
-
postponeRestart() {
|
|
115
|
-
if (!this.scheduledRestart || this._postponeRequests > 5)
|
|
116
|
-
return;
|
|
117
|
-
this._postponeRequests++;
|
|
118
|
-
this.scheduleRefresh();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=GrpcServer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { loadPackageDefinition, Server, ServerCredentials, } from '@grpc/grpc-js';
|
|
2
|
-
import protoLoader from '@grpc/proto-loader';
|
|
3
|
-
export function createServer(port) {
|
|
4
|
-
const grpcServer = new Server({
|
|
5
|
-
'grpc.max_receive_message_length': 1024 * 1024 * 100,
|
|
6
|
-
'grpc.max_send_message_length': 1024 * 1024 * 100,
|
|
7
|
-
});
|
|
8
|
-
return new Promise((resolve, reject) => {
|
|
9
|
-
grpcServer.bindAsync(port, ServerCredentials.createInsecure(), (err, port) => {
|
|
10
|
-
if (err) {
|
|
11
|
-
reject(err);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
resolve({
|
|
15
|
-
server: grpcServer,
|
|
16
|
-
port,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
export function addServiceToServer(server, protoPath, descriptorObject, functions) {
|
|
23
|
-
const packageDefinition = protoLoader.loadSync(protoPath, {
|
|
24
|
-
keepCase: true,
|
|
25
|
-
longs: String,
|
|
26
|
-
enums: String,
|
|
27
|
-
defaults: true,
|
|
28
|
-
oneofs: true,
|
|
29
|
-
});
|
|
30
|
-
const protoDescriptor = loadPackageDefinition(packageDefinition);
|
|
31
|
-
const objs = descriptorObject.split('.');
|
|
32
|
-
let descObj = protoDescriptor;
|
|
33
|
-
objs.forEach((r) => {
|
|
34
|
-
descObj = descObj[r];
|
|
35
|
-
});
|
|
36
|
-
server.addService(descObj.service, functions);
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=GrpcHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GrpcHelper.js","sourceRoot":"","sources":["../../src/helpers/GrpcHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,MAAM,EACN,iBAAiB,GAElB,MAAM,eAAe,CAAC;AAEvB,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,UAAU,GAAW,IAAI,MAAM,CAAC;QACpC,iCAAiC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;QACpD,8BAA8B,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;KAClD,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3E,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;oBACN,MAAM,EAAE,UAAU;oBAClB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,SAAiB,EACjB,gBAAwB,EACxB,SAAuC;IAEvC,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE;QACxD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAO,GAAQ,eAAe,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;QACzB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAQ,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAyC,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function createParsedRouterRequest(params, urlParams, queryParams, bodyParams, path, headers, context, cookies) {
|
|
2
|
-
return {
|
|
3
|
-
request: {
|
|
4
|
-
params,
|
|
5
|
-
urlParams: urlParams !== null && urlParams !== void 0 ? urlParams : {},
|
|
6
|
-
queryParams: queryParams !== null && queryParams !== void 0 ? queryParams : {},
|
|
7
|
-
bodyParams: bodyParams !== null && bodyParams !== void 0 ? bodyParams : {},
|
|
8
|
-
path: path !== null && path !== void 0 ? path : '',
|
|
9
|
-
headers: headers,
|
|
10
|
-
context: context !== null && context !== void 0 ? context : {},
|
|
11
|
-
cookies: cookies !== null && cookies !== void 0 ? cookies : {},
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=GrpcToParsedRouterRequest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GrpcToParsedRouterRequest.js","sourceRoot":"","sources":["../../src/helpers/GrpcToParsedRouterRequest.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,SAAkB,EAClB,WAAoB,EACpB,UAAmB,EACnB,IAAa,EACb,OAAiB,EACjB,OAAiB,EACjB,OAAiB;IAEjB,OAA4B;QAC1B,OAAO,EAAE;YACP,MAAM;YACN,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;YAC1B,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE;YAC9B,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YAC5B,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;YAChB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;YACtB,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;SACvB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { TYPE } from '@conduitplatform/grpc-sdk';
|
|
2
|
-
class ConduitStringConstructor {
|
|
3
|
-
// private to disallow creating other instances of this type
|
|
4
|
-
constructor() { }
|
|
5
|
-
static get Optional() {
|
|
6
|
-
return TYPE.String;
|
|
7
|
-
}
|
|
8
|
-
static get Required() {
|
|
9
|
-
return { type: TYPE.String, required: true };
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export const ConduitString = ConduitStringConstructor;
|
|
13
|
-
class ConduitNumberConstructor {
|
|
14
|
-
// private to disallow creating other instances of this type
|
|
15
|
-
constructor() { }
|
|
16
|
-
static get Optional() {
|
|
17
|
-
return TYPE.Number;
|
|
18
|
-
}
|
|
19
|
-
static get Required() {
|
|
20
|
-
return { type: TYPE.Number, required: true };
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export const ConduitNumber = ConduitNumberConstructor;
|
|
24
|
-
class ConduitBooleanConstructor {
|
|
25
|
-
// private to disallow creating other instances of this type
|
|
26
|
-
constructor() { }
|
|
27
|
-
static get Optional() {
|
|
28
|
-
return TYPE.Boolean;
|
|
29
|
-
}
|
|
30
|
-
static get Required() {
|
|
31
|
-
return { type: TYPE.Boolean, required: true };
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export const ConduitBoolean = ConduitBooleanConstructor;
|
|
35
|
-
class ConduitDateConstructor {
|
|
36
|
-
// private to disallow creating other instances of this type
|
|
37
|
-
constructor() { }
|
|
38
|
-
static get Optional() {
|
|
39
|
-
return TYPE.Date;
|
|
40
|
-
}
|
|
41
|
-
static get Required() {
|
|
42
|
-
return { type: TYPE.Date, required: true };
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export const ConduitDate = ConduitDateConstructor;
|
|
46
|
-
class ConduitObjectIdConstructor {
|
|
47
|
-
// private to disallow creating other instances of this type
|
|
48
|
-
constructor() { }
|
|
49
|
-
static get Optional() {
|
|
50
|
-
return TYPE.ObjectId;
|
|
51
|
-
}
|
|
52
|
-
static get Required() {
|
|
53
|
-
return { type: TYPE.ObjectId, required: true };
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export const ConduitObjectId = ConduitObjectIdConstructor;
|
|
57
|
-
class ConduitJSONConstructor {
|
|
58
|
-
// private to disallow creating other instances of this type
|
|
59
|
-
constructor() { }
|
|
60
|
-
static get Optional() {
|
|
61
|
-
return TYPE.JSON;
|
|
62
|
-
}
|
|
63
|
-
static get Required() {
|
|
64
|
-
return { type: TYPE.JSON, required: true };
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
export const ConduitJson = ConduitJSONConstructor;
|
|
68
|
-
class ConduitRelationConstructor {
|
|
69
|
-
// private to disallow creating other instances of this type
|
|
70
|
-
constructor() { }
|
|
71
|
-
static Optional(model) {
|
|
72
|
-
return { type: TYPE.Relation, model, required: false };
|
|
73
|
-
}
|
|
74
|
-
static Required(model) {
|
|
75
|
-
return { type: TYPE.Relation, model, required: true };
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
export const ConduitRelation = ConduitRelationConstructor;
|
|
79
|
-
//# sourceMappingURL=TypeHelpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypeHelpers.js","sourceRoot":"","sources":["../../src/helpers/TypeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,MAAM,wBAAwB;IAC5B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,MAAM,wBAAwB;IAC5B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,MAAM,yBAAyB;IAC7B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAExD,MAAM,sBAAsB;IAC1B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAElD,MAAM,0BAA0B;IAC9B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE1D,MAAM,sBAAsB;IAC1B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAElD,MAAM,0BAA0B;IAC9B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,CAAC,QAAQ,CAAC,KAAa;QAK3B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC"}
|
package/dist/helpers/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { createVerifier } from 'fast-jwt';
|
|
2
|
-
import { status } from '@grpc/grpc-js';
|
|
3
|
-
import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
|
|
4
|
-
export function wrapGrpcFunctions(functions, postponeRestart) {
|
|
5
|
-
const grpcKey = process.env.GRPC_KEY;
|
|
6
|
-
const wrappedFunctions = {};
|
|
7
|
-
Object.keys(functions).forEach(name => {
|
|
8
|
-
wrappedFunctions[name] = (call, callback) => {
|
|
9
|
-
var _a;
|
|
10
|
-
(_a = ConduitGrpcSdk.Metrics) === null || _a === void 0 ? void 0 : _a.increment('internal_grpc_requests_total');
|
|
11
|
-
postponeRestart();
|
|
12
|
-
if (grpcKey) {
|
|
13
|
-
const verify = createVerifier({ key: grpcKey });
|
|
14
|
-
const grpcToken = call.metadata.get('grpc-token')[0];
|
|
15
|
-
if (!grpcToken) {
|
|
16
|
-
return throwError(callback, 'No gRPC protection token provided', status.PERMISSION_DENIED);
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
const jwt = verify(grpcToken);
|
|
20
|
-
call.metadata.set('module-name', jwt.moduleName);
|
|
21
|
-
}
|
|
22
|
-
catch (_b) {
|
|
23
|
-
return throwError(callback, 'Failed to verify gRPC protection token. GRPC_KEY value differs', status.PERMISSION_DENIED);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
let invoked;
|
|
27
|
-
try {
|
|
28
|
-
invoked = functions[name](call, callback);
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
return throwError(callback, error.message);
|
|
32
|
-
}
|
|
33
|
-
if (typeof (invoked === null || invoked === void 0 ? void 0 : invoked.then) === 'function') {
|
|
34
|
-
invoked.then().catch((error) => {
|
|
35
|
-
return throwError(callback, error.message);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
return wrappedFunctions;
|
|
41
|
-
}
|
|
42
|
-
function throwError(callback, message, code = status.INTERNAL) {
|
|
43
|
-
// Aborting server streams is not yet implemented!
|
|
44
|
-
if (callback) {
|
|
45
|
-
callback({ code, message });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=wrapGrpcFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrapGrpcFunctions.js","sourceRoot":"","sources":["../../src/helpers/wrapGrpcFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,cAAgC,MAAM,2BAA2B,CAAC;AAOzE,MAAM,UAAU,iBAAiB,CAC/B,SAAuC,EACvC,eAA2B;IAE3B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,gBAAgB,GAAiC,EAAE,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAS,EAAE,QAAa,EAAE,EAAE;;YACpD,MAAA,cAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,8BAA8B,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC;YAClB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,UAAU,CACf,QAAQ,EACR,mCAAmC,EACnC,MAAM,CAAC,iBAAiB,CACzB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,GAAG,GAAQ,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACnD,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,UAAU,CACf,QAAQ,EACR,gEAAgE,EAChE,MAAM,CAAC,iBAAiB,CACzB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;oBACpC,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CACjB,QAAuC,EACvC,OAAe,EACf,OAAe,MAAM,CAAC,QAAQ;IAE9B,kDAAkD;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
package/dist/index.js
DELETED
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConduitService.js","sourceRoot":"","sources":["../../src/interfaces/ConduitService.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export var ModuleLifecycleStage;
|
|
2
|
-
(function (ModuleLifecycleStage) {
|
|
3
|
-
ModuleLifecycleStage["CREATE_GRPC"] = "creat-grpc-server";
|
|
4
|
-
ModuleLifecycleStage["PRE_SERVER_START"] = "pre-grpc-start";
|
|
5
|
-
ModuleLifecycleStage["SERVER_STARTED"] = "grpc-server-started";
|
|
6
|
-
ModuleLifecycleStage["PRE_REGISTER"] = "pre-register";
|
|
7
|
-
ModuleLifecycleStage["POST_REGISTER"] = "post-register";
|
|
8
|
-
})(ModuleLifecycleStage || (ModuleLifecycleStage = {}));
|
|
9
|
-
//# sourceMappingURL=ModuleLifecycleStage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleLifecycleStage.js","sourceRoot":"","sources":["../../src/interfaces/ModuleLifecycleStage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,yDAAiC,CAAA;IACjC,2DAAmC,CAAA;IACnC,8DAAsC,CAAA;IACtC,qDAA6B,CAAA;IAC7B,uDAA+B,CAAA;AACjC,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B"}
|
package/dist/interfaces/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
|
package/dist/logging/index.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
|
|
2
|
-
import winston, { format } from 'winston';
|
|
3
|
-
import { isEmpty } from 'lodash-es';
|
|
4
|
-
import { get } from 'http';
|
|
5
|
-
import LokiTransport from 'winston-loki';
|
|
6
|
-
import { linearBackoffTimeoutAsync } from '../utilities/index.js';
|
|
7
|
-
const processMeta = (meta) => {
|
|
8
|
-
if (Array.isArray(meta)) {
|
|
9
|
-
return meta.reduce((message, meta) => `${message} \n ${JSON.stringify(meta, null, 2)}`, '');
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return JSON.stringify(meta, null, 2);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
const createFormat = (logMeta = true) => {
|
|
16
|
-
return format.combine(format.printf(info => {
|
|
17
|
-
// This will customize the Error Message
|
|
18
|
-
if (info.stack) {
|
|
19
|
-
return `[${info.timestamp}] [${info.level.toUpperCase()}]: ${info.message} ${info.stack}`;
|
|
20
|
-
}
|
|
21
|
-
if (logMeta) {
|
|
22
|
-
return `[${info.timestamp}] [${info.level.toUpperCase()}]: ${info.message} ${!isEmpty(info.meta) ? processMeta(info.meta) : ''}`;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return `[${info.timestamp}] [${info.level.toUpperCase()}]: ${info.message}`;
|
|
26
|
-
}
|
|
27
|
-
}));
|
|
28
|
-
};
|
|
29
|
-
const defaultTransport = new winston.transports.Console({
|
|
30
|
-
level: 'debug',
|
|
31
|
-
format: format.combine(format.prettyPrint(), format.errors({ stack: true }), format.timestamp({
|
|
32
|
-
format: 'YYYY-MM-DD HH:mm:ss',
|
|
33
|
-
}), createFormat(false), format.colorize({
|
|
34
|
-
all: true,
|
|
35
|
-
})),
|
|
36
|
-
});
|
|
37
|
-
export class ConduitLogger {
|
|
38
|
-
constructor(transports) {
|
|
39
|
-
this._winston = winston.createLogger({
|
|
40
|
-
format: format.combine(format.prettyPrint(), format.errors({ stack: true }), format.timestamp({
|
|
41
|
-
format: 'YYYY-MM-DD HH:mm:ss',
|
|
42
|
-
}), createFormat()),
|
|
43
|
-
transports: transports ? [...transports, defaultTransport] : [defaultTransport],
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
get winston() {
|
|
47
|
-
return this._winston;
|
|
48
|
-
}
|
|
49
|
-
addTransport(transport) {
|
|
50
|
-
this._winston.add(transport);
|
|
51
|
-
}
|
|
52
|
-
log(message, level = 'info', cb) {
|
|
53
|
-
return this._winston.log(level, message, cb);
|
|
54
|
-
}
|
|
55
|
-
logObject(object, message = '', level = 'info', cb) {
|
|
56
|
-
return this._winston.log(level, message, object, cb);
|
|
57
|
-
}
|
|
58
|
-
info(message, cb) {
|
|
59
|
-
return this._winston.info(message, cb);
|
|
60
|
-
}
|
|
61
|
-
warn(message, cb) {
|
|
62
|
-
return this._winston.warn(message, cb);
|
|
63
|
-
}
|
|
64
|
-
error(message, cb) {
|
|
65
|
-
if (typeof message === 'object') {
|
|
66
|
-
return this._winston.error(message);
|
|
67
|
-
}
|
|
68
|
-
return this._winston.error(message, cb);
|
|
69
|
-
}
|
|
70
|
-
http(message, cb) {
|
|
71
|
-
return this._winston.http(message, cb);
|
|
72
|
-
}
|
|
73
|
-
verbose(message, cb) {
|
|
74
|
-
return this._winston.verbose(message, cb);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async function lokiReadyCheck(lokiUrl) {
|
|
78
|
-
return new Promise((resolve, reject) => {
|
|
79
|
-
const data = [];
|
|
80
|
-
get(`${lokiUrl}/ready`, r => {
|
|
81
|
-
r.on('data', chunk => data.push(chunk));
|
|
82
|
-
r.on('end', () => {
|
|
83
|
-
if (Buffer.concat(data).toString() === 'ready\n')
|
|
84
|
-
resolve();
|
|
85
|
-
else
|
|
86
|
-
reject(false);
|
|
87
|
-
});
|
|
88
|
-
}).on('error', err => {
|
|
89
|
-
reject(err.message);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
export async function setupLoki(module, instance) {
|
|
94
|
-
let lokiUrl = process.env.LOKI_URL;
|
|
95
|
-
if (lokiUrl && lokiUrl !== '') {
|
|
96
|
-
if (lokiUrl.endsWith('/'))
|
|
97
|
-
lokiUrl = lokiUrl.slice(0, -1);
|
|
98
|
-
const onTry = async () => {
|
|
99
|
-
return await lokiReadyCheck(lokiUrl)
|
|
100
|
-
.then(() => {
|
|
101
|
-
ConduitGrpcSdk.Logger.addTransport(new LokiTransport({
|
|
102
|
-
level: 'debug',
|
|
103
|
-
host: lokiUrl,
|
|
104
|
-
batching: false,
|
|
105
|
-
replaceTimestamp: true,
|
|
106
|
-
labels: {
|
|
107
|
-
module,
|
|
108
|
-
instance,
|
|
109
|
-
...(process.env.CONDUIT_NAMESPACE && {
|
|
110
|
-
namespace: process.env.CONDUIT_NAMESPACE,
|
|
111
|
-
}),
|
|
112
|
-
},
|
|
113
|
-
}));
|
|
114
|
-
return false;
|
|
115
|
-
})
|
|
116
|
-
.catch(() => true); // retry
|
|
117
|
-
};
|
|
118
|
-
const onFailure = () => {
|
|
119
|
-
ConduitGrpcSdk.Logger.error(`Failed to connect to Loki on '${lokiUrl}'`);
|
|
120
|
-
};
|
|
121
|
-
await linearBackoffTimeoutAsync(onTry, 250, 15, onFailure, true);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import express from 'express';
|
|
2
|
-
import { isNaN } from 'lodash-es';
|
|
3
|
-
import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
|
|
4
|
-
export class MetricsServer {
|
|
5
|
-
constructor(moduleName, instance, registry) {
|
|
6
|
-
this.moduleName = moduleName;
|
|
7
|
-
this.instance = instance;
|
|
8
|
-
this.Registry = registry;
|
|
9
|
-
}
|
|
10
|
-
initialize() {
|
|
11
|
-
const server = express();
|
|
12
|
-
const port = this.getHttpPort();
|
|
13
|
-
const url = '0.0.0.0:' + port.toString();
|
|
14
|
-
server.listen(port, () => {
|
|
15
|
-
ConduitGrpcSdk.Logger.info(`Metrics server listening on: ${url}`);
|
|
16
|
-
});
|
|
17
|
-
server.get('/', (req, res) => {
|
|
18
|
-
return res
|
|
19
|
-
.status(200)
|
|
20
|
-
.send(`Conduit Metrics for module: ${this.moduleName}, instance: ${this.instance}`);
|
|
21
|
-
});
|
|
22
|
-
server.get('/metrics', async (req, res) => {
|
|
23
|
-
const metrics = await this.Registry.metrics();
|
|
24
|
-
return res.status(200).send(metrics);
|
|
25
|
-
});
|
|
26
|
-
return server;
|
|
27
|
-
}
|
|
28
|
-
getHttpPort() {
|
|
29
|
-
const value = process.env['METRICS_PORT'];
|
|
30
|
-
if (!value) {
|
|
31
|
-
ConduitGrpcSdk.Logger.error(`Metrics HTTP port not set`);
|
|
32
|
-
process.exit(-1);
|
|
33
|
-
}
|
|
34
|
-
const port = parseInt(value, 10);
|
|
35
|
-
if (isNaN(port) || port < 1 || port > 65535) {
|
|
36
|
-
ConduitGrpcSdk.Logger.error(`Invalid HTTP port value: ${port}`);
|
|
37
|
-
process.exit(-1);
|
|
38
|
-
}
|
|
39
|
-
return port;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=MetricsServer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsServer.js","sourceRoot":"","sources":["../../src/metrics/MetricsServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAoB,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,MAAM,OAAO,aAAa;IAKxB,YAAY,UAAkB,EAAE,QAAgB,EAAE,QAAkB;QAClE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACvB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;YAC9D,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,+BAA+B,IAAI,CAAC,UAAU,eAAe,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;YAC3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAC5C,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|