@builder6/core 0.12.1 → 0.12.3

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.
@@ -1,3 +1,5 @@
1
+ /// <reference types="node/http" />
2
+ /// <reference types="pino-http" />
1
3
  declare const _default: {
2
4
  namespace: string;
3
5
  nodeID: any;
@@ -6,11 +8,9 @@ declare const _default: {
6
8
  type: string;
7
9
  options: {
8
10
  level: string;
9
- colors: boolean;
10
- moduleColors: boolean;
11
- formatter: string;
12
- objectPrinter: any;
13
- autoPadding: boolean;
11
+ pino: {
12
+ options: import("pino-http").Options<import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, never> | import("pino").DestinationStream | [import("pino-http").Options<import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, never>, import("pino").DestinationStream];
13
+ };
14
14
  };
15
15
  };
16
16
  transporter: string;
@@ -1,18 +1,17 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const pinoConfig_1 = require("../logger/pinoConfig");
3
4
  exports.default = {
4
5
  namespace: 'steedos',
5
6
  nodeID: null,
6
7
  metadata: {},
7
8
  logger: {
8
- type: 'Console',
9
+ type: 'pino',
9
10
  options: {
10
- level: 'info',
11
- colors: true,
12
- moduleColors: false,
13
- formatter: '[MO] {timestamp} {level} [{mod}] {msg}',
14
- objectPrinter: null,
15
- autoPadding: false,
11
+ level: process.env.B6_LOG_LEVEL || 'info',
12
+ pino: {
13
+ options: pinoConfig_1.pinoConfig.pinoHttp,
14
+ },
16
15
  },
17
16
  },
18
17
  transporter: process.env.B6_TRANSPORTER,
@@ -1 +1 @@
1
- {"version":3,"file":"moleculer.config.js","sourceRoot":"","sources":["../../src/config/moleculer.config.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,kBAAe;IACb,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,EAAE;IAEZ,MAAM,EAAE;QACN,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YAEP,KAAK,EAAE,MAAM;YAEb,MAAM,EAAE,IAAI;YAEZ,YAAY,EAAE,KAAK;YAEnB,SAAS,EAAE,wCAAwC;YAEnD,aAAa,EAAE,IAAI;YAEnB,WAAW,EAAE,KAAK;SACnB;KACF;IAED,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IAEvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAE7B,UAAU,EAAE,MAAM;IAElB,cAAc,EAAE,CAAC;IAEjB,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;KACf;IAED,YAAY,EAAE,GAAG;IAEjB,iBAAiB,EAAE,EAAE;IACrB,gBAAgB,EAAE,EAAE;IAEpB,oBAAoB,EAAE,KAAK;IAE3B,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;KACf;IAED,eAAe,EAAE,KAAK;IAEtB,QAAQ,EAAE;QACR,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,IAAI;KAClB;IAED,cAAc,EAAE;QACd,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,GAAG;QACd,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG;KAC5C;IAED,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,GAAG;KAClB;IAED,SAAS,EAAE,IAAI;IAEf,YAAY,EAAE,IAAI;IAElB,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;IAED,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;IAED,WAAW,EAAE,EAAE;IAEf,YAAY,EAAE,IAAI;IAElB,4BAA4B,EAAE,IAAI;IAElC,OAAO,CAAC,MAAW,IAAG,CAAC;IAEvB,OAAO,CAAC,MAAW;IAEnB,CAAC;IAED,OAAO,CAAC,MAAW;IAEnB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"moleculer.config.js","sourceRoot":"","sources":["../../src/config/moleculer.config.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,qDAAkD;AAQlD,kBAAe;IACb,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,EAAE;IAEZ,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM;YACzC,IAAI,EAAE;gBACJ,OAAO,EAAE,uBAAU,CAAC,QAAQ;aAC7B;SACF;KACF;IAqBD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IAEvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAE7B,UAAU,EAAE,MAAM;IAElB,cAAc,EAAE,CAAC;IAEjB,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;KACf;IAED,YAAY,EAAE,GAAG;IAEjB,iBAAiB,EAAE,EAAE;IACrB,gBAAgB,EAAE,EAAE;IAEpB,oBAAoB,EAAE,KAAK;IAE3B,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;KACf;IAED,eAAe,EAAE,KAAK;IAEtB,QAAQ,EAAE;QACR,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,IAAI;KAClB;IAED,cAAc,EAAE;QACd,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,GAAG;QACd,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG;KAC5C;IAED,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,GAAG;KAClB;IAED,SAAS,EAAE,IAAI;IAEf,YAAY,EAAE,IAAI;IAElB,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;IAED,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;KACf;IAED,WAAW,EAAE,EAAE;IAEf,YAAY,EAAE,IAAI;IAElB,4BAA4B,EAAE,IAAI;IAElC,OAAO,CAAC,MAAW,IAAG,CAAC;IAEvB,OAAO,CAAC,MAAW;IAEnB,CAAC;IAED,OAAO,CAAC,MAAW;IAEnB,CAAC;CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './auth';
2
2
  export * from './config';
3
3
  export * from './mongodb';
4
4
  export * from './plugin';
5
+ export * from './logger/pinoConfig';
package/dist/index.js CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./config"), exports);
19
19
  __exportStar(require("./mongodb"), exports);
20
20
  __exportStar(require("./plugin"), exports);
21
+ __exportStar(require("./logger/pinoConfig"), exports);
21
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,sDAAoC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ import * as build from 'pino-abstract-transport';
3
+ export default function (opts: any): Promise<import("stream").Transform & build.OnUnknown>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const build = require("pino-abstract-transport");
4
+ const axios_1 = require("axios");
5
+ async function default_1(opts) {
6
+ return build(async (source) => {
7
+ let isPaused = false;
8
+ let logBatch = [];
9
+ const sendLogs = async () => {
10
+ if (logBatch.length === 0)
11
+ return;
12
+ const url = `${opts.endpointUrl}/v0/${opts.baseId}/${opts.tableName}`;
13
+ try {
14
+ await axios_1.default.post(url, { records: logBatch.map((logEntry) => ({ fields: logEntry })) }, {
15
+ headers: {
16
+ Authorization: `Bearer ${opts.apiKey}`,
17
+ 'Content-Type': 'application/json',
18
+ },
19
+ });
20
+ console.log(`Saved ${logBatch.length} log entries to Airtable`);
21
+ logBatch = [];
22
+ }
23
+ catch (error) {
24
+ console.error('Error saving log batch to Airtable:', error);
25
+ console.log('Pausing log processing for 5 minutes...');
26
+ isPaused = true;
27
+ }
28
+ };
29
+ setInterval(async () => {
30
+ if (!isPaused) {
31
+ await sendLogs();
32
+ }
33
+ }, 60 * 1000);
34
+ for await (const obj of source) {
35
+ if (isPaused) {
36
+ await new Promise((resolve) => setTimeout(resolve, 5 * 60 * 1000));
37
+ isPaused = false;
38
+ }
39
+ const logEntry = obj;
40
+ logBatch.push(logEntry);
41
+ }
42
+ }, {
43
+ async close() {
44
+ },
45
+ });
46
+ }
47
+ exports.default = default_1;
48
+ //# sourceMappingURL=PinoAirtableTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinoAirtableTransport.js","sourceRoot":"","sources":["../../src/logger/PinoAirtableTransport.ts"],"names":[],"mappings":";;AAAA,iDAAiD;AACjD,iCAA0B;AAaX,KAAK,oBAAW,IAAI;IACjC,OAAO,KAAK,CACV,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAElC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtE,IAAI;gBACF,MAAM,eAAK,CAAC,IAAI,CACd,GAAG,EACH,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAC/D;oBACE,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;wBACtC,cAAc,EAAE,kBAAkB;qBACnC;iBACF,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,MAAM,0BAA0B,CAAC,CAAC;gBAChE,QAAQ,GAAG,EAAE,CAAC;aACf;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACvD,QAAQ,GAAG,IAAI,CAAC;aACjB;QACH,CAAC,CAAC;QAEF,WAAW,CAAC,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,QAAQ,EAAE,CAAC;aAClB;QACH,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAEd,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE;YAC9B,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBACnE,QAAQ,GAAG,KAAK,CAAC;aAClB;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC;YAErB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzB;IACH,CAAC,EACD;QACE,KAAK,CAAC,KAAK;QAEX,CAAC;KACF,CACF,CAAC;AACJ,CAAC;AAtDD,4BAsDC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ import * as build from 'pino-abstract-transport';
3
+ export default function (opts: any): Promise<import("stream").Transform & build.OnUnknown>;
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const build = require("pino-abstract-transport");
4
+ const os = require("os");
5
+ const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
6
+ async function default_1(opts) {
7
+ const hostname = os.hostname();
8
+ const networkInterfaces = os.networkInterfaces();
9
+ const ipAddress = Object.values(networkInterfaces)
10
+ .flat()
11
+ .find((details) => details.family === 'IPv4' && !details.internal)?.address;
12
+ const client = new client_cloudwatch_logs_1.CloudWatchLogsClient({
13
+ region: opts.region,
14
+ credentials: {
15
+ accessKeyId: opts.accessKeyId,
16
+ secretAccessKey: opts.secretAccessKey,
17
+ },
18
+ });
19
+ const logGroupName = opts.logGroupName;
20
+ const logStreamNamePrefix = `${opts.logStreamName || 'b6'}-${hostname}.${ipAddress}`;
21
+ const retryWithBackoff = async (fn, retries = 1, delay = 5000) => {
22
+ try {
23
+ return await fn();
24
+ }
25
+ catch (error) {
26
+ if (retries > 0 && error.name === 'OperationAbortedException') {
27
+ await new Promise((resolve) => setTimeout(resolve, delay));
28
+ return retryWithBackoff(fn, retries - 1, delay * 2);
29
+ }
30
+ throw error;
31
+ }
32
+ };
33
+ const createLogGroup = async () => {
34
+ try {
35
+ const createLogGroupCommand = new client_cloudwatch_logs_1.CreateLogGroupCommand({
36
+ logGroupName,
37
+ });
38
+ await client.send(createLogGroupCommand);
39
+ }
40
+ catch (error) {
41
+ if (error.name !== 'ResourceAlreadyExistsException') {
42
+ throw error;
43
+ }
44
+ }
45
+ };
46
+ const createLogStream = async () => {
47
+ const date = new Date();
48
+ const formattedDate = date
49
+ .toISOString()
50
+ .slice(0, 16)
51
+ .replace(/[-T:]/g, '-');
52
+ const logStreamName = `${logStreamNamePrefix}-${formattedDate}`;
53
+ await retryWithBackoff(async () => {
54
+ const createLogStreamCommand = new client_cloudwatch_logs_1.CreateLogStreamCommand({
55
+ logGroupName,
56
+ logStreamName,
57
+ });
58
+ try {
59
+ await client.send(createLogStreamCommand);
60
+ }
61
+ catch (error) {
62
+ if (error.name !== 'ResourceAlreadyExistsException') {
63
+ throw error;
64
+ }
65
+ }
66
+ });
67
+ return logStreamName;
68
+ };
69
+ const getSequenceToken = async (logStreamName) => {
70
+ const describeLogStreamsCommand = new client_cloudwatch_logs_1.DescribeLogStreamsCommand({
71
+ logGroupName,
72
+ logStreamNamePrefix: logStreamName,
73
+ });
74
+ const response = await client.send(describeLogStreamsCommand);
75
+ return response.logStreams[0]?.uploadSequenceToken;
76
+ };
77
+ await createLogGroup();
78
+ return build(async (source) => {
79
+ let logBatch = [];
80
+ const sendLogs = async () => {
81
+ if (logBatch.length === 0)
82
+ return;
83
+ const logStreamName = await createLogStream();
84
+ const sequenceToken = await getSequenceToken(logStreamName);
85
+ const putLogEventsCommand = new client_cloudwatch_logs_1.PutLogEventsCommand({
86
+ logGroupName,
87
+ logStreamName,
88
+ logEvents: logBatch,
89
+ sequenceToken,
90
+ });
91
+ try {
92
+ await retryWithBackoff(async () => {
93
+ await client.send(putLogEventsCommand);
94
+ });
95
+ console.log(`Saved ${logBatch.length} log entries to CloudWatch`);
96
+ logBatch = [];
97
+ }
98
+ catch (error) {
99
+ console.error('Error saving log batch to CloudWatch:', error);
100
+ console.log('Pausing log processing for 5 minutes...');
101
+ }
102
+ };
103
+ setInterval(async () => {
104
+ await sendLogs();
105
+ }, 60 * 1000);
106
+ for await (const obj of source) {
107
+ const { time, ...rest } = obj;
108
+ const logEntry = {
109
+ message: JSON.stringify(rest),
110
+ timestamp: time,
111
+ };
112
+ logBatch.push(logEntry);
113
+ }
114
+ }, {
115
+ async close() {
116
+ },
117
+ });
118
+ }
119
+ exports.default = default_1;
120
+ //# sourceMappingURL=PinoCloudWatchTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinoCloudWatchTransport.js","sourceRoot":"","sources":["../../src/logger/PinoCloudWatchTransport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './pinoConfig';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./pinoConfig"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
@@ -0,0 +1,2 @@
1
+ import { Params } from 'nestjs-pino';
2
+ export declare const pinoConfig: Params;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pinoConfig = void 0;
4
+ const path = require("path");
5
+ const targets = [
6
+ process.env.NODE_ENV !== 'production'
7
+ ? {
8
+ target: 'pino-pretty',
9
+ options: {
10
+ colorize: true,
11
+ levelFirst: true,
12
+ translateTime: 'UTC:mm/dd/yyyy, h:MM:ss TT Z',
13
+ },
14
+ }
15
+ : {
16
+ target: 'pino/file',
17
+ options: { destination: 1 },
18
+ },
19
+ ];
20
+ if (process.env.B6_LOGS_CLOUD_TABLE_ID) {
21
+ targets.push({
22
+ target: path.join(__dirname, './PinoAirtableTransport'),
23
+ options: {
24
+ endpointUrl: 'https://api.builder6.com',
25
+ apiKey: process.env.B6_CLOUD_API_KEY,
26
+ baseId: process.env.B6_CLOUD_BASE_ID,
27
+ tableName: process.env.B6_LOGS_CLOUD_TABLE_ID,
28
+ },
29
+ });
30
+ }
31
+ if (process.env.B6_LOGS_AWS_LOG_GROUP_NAME) {
32
+ targets.push({
33
+ target: path.join(__dirname, './PinoCloudWatchTransport'),
34
+ options: {
35
+ logGroupName: process.env.B6_LOGS_AWS_LOG_GROUP_NAME,
36
+ logStreamName: process.env.B6_LOGS_AWS_LOG_STREAM_NAME,
37
+ region: process.env.B6_LOGS_AWS_REGION,
38
+ accessKeyId: process.env.B6_LOGS_AWS_ACCESS_KEY_ID,
39
+ secretAccessKey: process.env.B6_LOGS_AWS_SECRET_ACCESS_KEY,
40
+ },
41
+ });
42
+ }
43
+ exports.pinoConfig = {
44
+ pinoHttp: {
45
+ level: (() => {
46
+ const logLevel = {
47
+ production: 'info',
48
+ development: 'debug',
49
+ test: 'error',
50
+ };
51
+ return (process.env.B6_LOG_LEVEL || logLevel[process.env.NODE_ENV] || 'info');
52
+ })(),
53
+ autoLogging: {
54
+ ignore: (req) => req.url === '/api/v6/health',
55
+ },
56
+ transport: {
57
+ targets,
58
+ },
59
+ redact: ['req.headers.authorization', 'req.headers.cookie'],
60
+ },
61
+ };
62
+ //# sourceMappingURL=pinoConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinoConfig.js","sourceRoot":"","sources":["../../src/logger/pinoConfig.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAE7B,MAAM,OAAO,GAAG;IACd,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACnC,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,8BAA8B;aAC9C;SACF;QACH,CAAC,CAAC;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;SAC5B;CACN,CAAC;AAEF,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;IACtC,OAAO,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC;QACvD,OAAO,EAAE;YACP,WAAW,EAAE,0BAA0B;YACvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACpC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACpC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;SAC9C;KACK,CAAC,CAAC;CACX;AAED,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE;IAC1C,OAAO,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC;QACzD,OAAO,EAAE;YACP,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;YACpD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;YACtD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACtC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAClD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B;SAC3D;KACK,CAAC,CAAC;CACX;AAEY,QAAA,UAAU,GAAW;IAChC,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,GAAG,EAAE;YACX,MAAM,QAAQ,GAAG;gBACf,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC;YACF,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CACrE,CAAC;QACJ,CAAC,CAAC,EAAE;QACJ,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,gBAAgB;SAC9C;QACD,SAAS,EAAE;YACT,OAAO;SACR;QACD,MAAM,EAAE,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KAC5D;CACF,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@builder6/core",
3
- "version": "0.12.1",
3
+ "version": "0.12.3",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
9
  "dependencies": {
10
- "@builder6/query-mongodb": "^0.12.1"
10
+ "@aws-sdk/client-cloudwatch-logs": "^3.721.0",
11
+ "@builder6/query-mongodb": "^0.12.3",
12
+ "moleculer": "^0.14.35",
13
+ "pino-http": "^10.3.0",
14
+ "pino-pretty": "^13.0.0"
11
15
  },
12
16
  "scripts": {
13
17
  "format": "prettier --write \"src/**/*.ts\"",
@@ -17,5 +21,5 @@
17
21
  "publishConfig": {
18
22
  "access": "public"
19
23
  },
20
- "gitHead": "04c332c3bd98f8df718399b56abbfa7f866904e6"
24
+ "gitHead": "5762abd9c1c5910f2bd669163e5019b1397b3777"
21
25
  }