@morojs/moro 1.0.0 → 1.0.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.
- package/README.md +1 -1
- package/dist/core/config/index.d.ts +5 -5
- package/dist/core/config/index.js +1 -1
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/loader.d.ts +1 -1
- package/dist/core/config/loader.js +58 -82
- package/dist/core/config/loader.js.map +1 -1
- package/dist/core/config/schema.d.ts +1 -1
- package/dist/core/config/schema.js +52 -111
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.d.ts +2 -2
- package/dist/core/config/utils.js +18 -18
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/database/adapters/drizzle.d.ts +1 -1
- package/dist/core/database/adapters/drizzle.js +39 -55
- package/dist/core/database/adapters/drizzle.js.map +1 -1
- package/dist/core/database/adapters/index.d.ts +7 -7
- package/dist/core/database/adapters/index.js +11 -11
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +1 -1
- package/dist/core/database/adapters/mongodb.js +19 -23
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +1 -1
- package/dist/core/database/adapters/mysql.js +31 -27
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.d.ts +1 -1
- package/dist/core/database/adapters/postgresql.js +27 -35
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.d.ts +1 -1
- package/dist/core/database/adapters/redis.js +24 -24
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sqlite.d.ts +1 -1
- package/dist/core/database/adapters/sqlite.js +36 -36
- package/dist/core/database/adapters/sqlite.js.map +1 -1
- package/dist/core/database/index.d.ts +2 -2
- package/dist/core/docs/index.d.ts +7 -7
- package/dist/core/docs/index.js +13 -15
- package/dist/core/docs/index.js.map +1 -1
- package/dist/core/docs/openapi-generator.d.ts +5 -5
- package/dist/core/docs/openapi-generator.js +93 -94
- package/dist/core/docs/openapi-generator.js.map +1 -1
- package/dist/core/docs/simple-docs.d.ts +1 -1
- package/dist/core/docs/simple-docs.js +25 -28
- package/dist/core/docs/simple-docs.js.map +1 -1
- package/dist/core/docs/swagger-ui.d.ts +2 -2
- package/dist/core/docs/swagger-ui.js +46 -51
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.d.ts +1 -1
- package/dist/core/docs/zod-to-openapi.js +115 -125
- package/dist/core/docs/zod-to-openapi.js.map +1 -1
- package/dist/core/events/event-bus.d.ts +1 -1
- package/dist/core/events/event-bus.js +15 -21
- package/dist/core/events/event-bus.js.map +1 -1
- package/dist/core/events/index.d.ts +2 -2
- package/dist/core/framework.d.ts +5 -5
- package/dist/core/framework.js +55 -60
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +2 -2
- package/dist/core/http/http-server.js +228 -261
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/index.d.ts +3 -3
- package/dist/core/http/router.d.ts +1 -1
- package/dist/core/http/router.js +15 -17
- package/dist/core/http/router.js.map +1 -1
- package/dist/core/logger/filters.d.ts +1 -1
- package/dist/core/logger/filters.js +16 -16
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.d.ts +3 -3
- package/dist/core/logger/logger.d.ts +1 -1
- package/dist/core/logger/logger.js +48 -59
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.d.ts +4 -4
- package/dist/core/logger/outputs.js +16 -20
- package/dist/core/logger/outputs.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.js +19 -19
- package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cache/index.js +3 -3
- package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.js +5 -5
- package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.js +18 -18
- package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.js +8 -8
- package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +14 -14
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +13 -15
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cdn/index.js +3 -3
- package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
- package/dist/core/middleware/built-in/auth.d.ts +1 -1
- package/dist/core/middleware/built-in/auth.js +14 -14
- package/dist/core/middleware/built-in/cache.d.ts +2 -2
- package/dist/core/middleware/built-in/cache.js +43 -45
- package/dist/core/middleware/built-in/cache.js.map +1 -1
- package/dist/core/middleware/built-in/cdn.d.ts +2 -2
- package/dist/core/middleware/built-in/cdn.js +27 -29
- package/dist/core/middleware/built-in/cdn.js.map +1 -1
- package/dist/core/middleware/built-in/cookie.d.ts +2 -2
- package/dist/core/middleware/built-in/cookie.js +17 -17
- package/dist/core/middleware/built-in/cookie.js.map +1 -1
- package/dist/core/middleware/built-in/cors.d.ts +1 -1
- package/dist/core/middleware/built-in/cors.js +13 -13
- package/dist/core/middleware/built-in/csp.d.ts +1 -1
- package/dist/core/middleware/built-in/csp.js +22 -25
- package/dist/core/middleware/built-in/csp.js.map +1 -1
- package/dist/core/middleware/built-in/csrf.d.ts +1 -1
- package/dist/core/middleware/built-in/csrf.js +21 -24
- package/dist/core/middleware/built-in/csrf.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker.js +2 -2
- package/dist/core/middleware/built-in/index.d.ts +14 -14
- package/dist/core/middleware/built-in/performance-monitor.js +2 -2
- package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
- package/dist/core/middleware/built-in/rate-limit.js +12 -12
- package/dist/core/middleware/built-in/request-logger.js.map +1 -1
- package/dist/core/middleware/built-in/session.d.ts +5 -5
- package/dist/core/middleware/built-in/session.js +35 -38
- package/dist/core/middleware/built-in/session.js.map +1 -1
- package/dist/core/middleware/built-in/sse.d.ts +1 -1
- package/dist/core/middleware/built-in/sse.js +20 -22
- package/dist/core/middleware/built-in/sse.js.map +1 -1
- package/dist/core/middleware/built-in/validation.d.ts +1 -1
- package/dist/core/middleware/built-in/validation.js +13 -13
- package/dist/core/middleware/index.d.ts +5 -5
- package/dist/core/middleware/index.js +16 -16
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.d.ts +2 -2
- package/dist/core/modules/auto-discovery.js +12 -13
- package/dist/core/modules/auto-discovery.js.map +1 -1
- package/dist/core/modules/index.d.ts +2 -2
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.d.ts +3 -3
- package/dist/core/modules/modules.js +3 -6
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/index.d.ts +2 -2
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.d.ts +2 -2
- package/dist/core/networking/service-discovery.js +27 -27
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-manager.d.ts +3 -3
- package/dist/core/networking/websocket-manager.js +15 -16
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/routing/app-integration.d.ts +2 -2
- package/dist/core/routing/app-integration.js +13 -13
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/index.d.ts +3 -3
- package/dist/core/routing/index.js +43 -52
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
- package/dist/core/runtime/aws-lambda-adapter.js +14 -16
- package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
- package/dist/core/runtime/base-adapter.d.ts +2 -2
- package/dist/core/runtime/base-adapter.js +11 -12
- package/dist/core/runtime/base-adapter.js.map +1 -1
- package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
- package/dist/core/runtime/cloudflare-workers-adapter.js +20 -21
- package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
- package/dist/core/runtime/index.d.ts +9 -9
- package/dist/core/runtime/index.js +4 -4
- package/dist/core/runtime/index.js.map +1 -1
- package/dist/core/runtime/node-adapter.d.ts +5 -5
- package/dist/core/runtime/node-adapter.js +35 -35
- package/dist/core/runtime/node-adapter.js.map +1 -1
- package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
- package/dist/core/runtime/vercel-edge-adapter.js +12 -15
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.js +6 -6
- package/dist/core/utilities/container.d.ts +1 -1
- package/dist/core/utilities/container.js +17 -22
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +3 -3
- package/dist/core/utilities/hooks.js +11 -11
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.d.ts +4 -4
- package/dist/core/validation/index.d.ts +3 -3
- package/dist/core/validation/index.js +15 -15
- package/dist/core/validation/index.js.map +1 -1
- package/dist/index.d.ts +41 -30
- package/dist/index.js +50 -1
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +14 -14
- package/dist/moro.js +79 -88
- package/dist/moro.js.map +1 -1
- package/dist/types/cache.d.ts +1 -1
- package/dist/types/core.d.ts +2 -2
- package/dist/types/events.d.ts +19 -19
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/http.d.ts +2 -2
- package/dist/types/logger.d.ts +3 -3
- package/dist/types/module.d.ts +2 -2
- package/dist/types/runtime.d.ts +2 -2
- package/dist/types/session.d.ts +4 -4
- package/package.json +183 -165
- package/src/core/config/index.ts +7 -9
- package/src/core/config/loader.ts +86 -158
- package/src/core/config/schema.ts +59 -122
- package/src/core/config/utils.ts +27 -45
- package/src/core/database/adapters/drizzle.ts +53 -75
- package/src/core/database/adapters/index.ts +26 -29
- package/src/core/database/adapters/mongodb.ts +31 -54
- package/src/core/database/adapters/mysql.ts +40 -50
- package/src/core/database/adapters/postgresql.ts +32 -42
- package/src/core/database/adapters/redis.ts +31 -36
- package/src/core/database/adapters/sqlite.ts +43 -51
- package/src/core/database/index.ts +2 -2
- package/src/core/docs/index.ts +25 -39
- package/src/core/docs/openapi-generator.ts +104 -117
- package/src/core/docs/simple-docs.ts +29 -39
- package/src/core/docs/swagger-ui.ts +57 -76
- package/src/core/docs/zod-to-openapi.ts +121 -153
- package/src/core/events/event-bus.ts +22 -45
- package/src/core/events/index.ts +2 -2
- package/src/core/framework.ts +119 -197
- package/src/core/http/http-server.ts +260 -360
- package/src/core/http/index.ts +3 -8
- package/src/core/http/router.ts +19 -31
- package/src/core/logger/filters.ts +19 -22
- package/src/core/logger/index.ts +3 -3
- package/src/core/logger/logger.ts +59 -100
- package/src/core/logger/outputs.ts +23 -27
- package/src/core/middleware/built-in/adapters/cache/file.ts +21 -23
- package/src/core/middleware/built-in/adapters/cache/index.ts +11 -14
- package/src/core/middleware/built-in/adapters/cache/memory.ts +7 -7
- package/src/core/middleware/built-in/adapters/cache/redis.ts +21 -24
- package/src/core/middleware/built-in/adapters/cdn/azure.ts +10 -18
- package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +19 -36
- package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +17 -26
- package/src/core/middleware/built-in/adapters/cdn/index.ts +10 -10
- package/src/core/middleware/built-in/adapters/index.ts +4 -4
- package/src/core/middleware/built-in/auth.ts +16 -16
- package/src/core/middleware/built-in/cache.ts +50 -67
- package/src/core/middleware/built-in/cdn.ts +34 -61
- package/src/core/middleware/built-in/cookie.ts +23 -28
- package/src/core/middleware/built-in/cors.ts +17 -17
- package/src/core/middleware/built-in/csp.ts +25 -31
- package/src/core/middleware/built-in/csrf.ts +24 -29
- package/src/core/middleware/built-in/error-tracker.ts +3 -3
- package/src/core/middleware/built-in/index.ts +28 -28
- package/src/core/middleware/built-in/performance-monitor.ts +4 -4
- package/src/core/middleware/built-in/rate-limit.ts +15 -15
- package/src/core/middleware/built-in/request-logger.ts +1 -3
- package/src/core/middleware/built-in/session.ts +47 -70
- package/src/core/middleware/built-in/sse.ts +23 -28
- package/src/core/middleware/built-in/validation.ts +15 -15
- package/src/core/middleware/index.ts +26 -37
- package/src/core/modules/auto-discovery.ts +21 -31
- package/src/core/modules/index.ts +2 -5
- package/src/core/modules/modules.ts +11 -20
- package/src/core/networking/index.ts +2 -6
- package/src/core/networking/service-discovery.ts +41 -61
- package/src/core/networking/websocket-manager.ts +27 -36
- package/src/core/routing/app-integration.ts +19 -32
- package/src/core/routing/index.ts +57 -88
- package/src/core/runtime/aws-lambda-adapter.ts +20 -30
- package/src/core/runtime/base-adapter.ts +17 -27
- package/src/core/runtime/cloudflare-workers-adapter.ts +28 -42
- package/src/core/runtime/index.ts +21 -33
- package/src/core/runtime/node-adapter.ts +59 -73
- package/src/core/runtime/vercel-edge-adapter.ts +18 -29
- package/src/core/utilities/circuit-breaker.ts +7 -7
- package/src/core/utilities/container.ts +52 -89
- package/src/core/utilities/hooks.ts +17 -23
- package/src/core/utilities/index.ts +4 -4
- package/src/core/validation/index.ts +25 -51
- package/src/index.ts +104 -60
- package/src/moro.ts +119 -191
- package/src/types/cache.ts +1 -1
- package/src/types/core.ts +2 -2
- package/src/types/database.ts +2 -10
- package/src/types/events.ts +23 -31
- package/src/types/hooks.ts +1 -1
- package/src/types/http.ts +5 -8
- package/src/types/logger.ts +7 -23
- package/src/types/module.ts +2 -2
- package/src/types/runtime.ts +6 -21
- package/src/types/session.ts +4 -4
|
@@ -4,29 +4,29 @@ exports.DrizzleAdapter = void 0;
|
|
|
4
4
|
const logger_1 = require("../../logger");
|
|
5
5
|
class DrizzleAdapter {
|
|
6
6
|
constructor(config) {
|
|
7
|
-
this.logger = (0, logger_1.createFrameworkLogger)(
|
|
7
|
+
this.logger = (0, logger_1.createFrameworkLogger)('Drizzle');
|
|
8
8
|
try {
|
|
9
9
|
if (!config.database) {
|
|
10
|
-
throw new Error(
|
|
10
|
+
throw new Error('Drizzle database instance is required');
|
|
11
11
|
}
|
|
12
12
|
this.db = config.database;
|
|
13
13
|
this.schema = config.schema;
|
|
14
|
-
this.logger.info(
|
|
14
|
+
this.logger.info('Drizzle ORM adapter initialized', 'Drizzle');
|
|
15
15
|
}
|
|
16
16
|
catch (error) {
|
|
17
|
-
this.logger.error(
|
|
18
|
-
throw new Error(
|
|
17
|
+
this.logger.error('Drizzle ORM initialization failed', 'Drizzle');
|
|
18
|
+
throw new Error('Drizzle ORM configuration error. Ensure you have a valid Drizzle database instance.');
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async connect() {
|
|
22
22
|
// Drizzle doesn't have an explicit connect method
|
|
23
23
|
// Connection is handled by the underlying driver
|
|
24
|
-
this.logger.info(
|
|
24
|
+
this.logger.info('Drizzle ORM adapter ready', 'Connection');
|
|
25
25
|
}
|
|
26
26
|
async disconnect() {
|
|
27
27
|
// Drizzle doesn't have an explicit disconnect method
|
|
28
28
|
// This would be handled by the underlying driver
|
|
29
|
-
this.logger.info(
|
|
29
|
+
this.logger.info('Drizzle ORM adapter disconnected', 'Connection');
|
|
30
30
|
}
|
|
31
31
|
// Raw SQL query support
|
|
32
32
|
async query(sql, params) {
|
|
@@ -48,7 +48,7 @@ class DrizzleAdapter {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
51
|
-
this.logger.error(
|
|
51
|
+
this.logger.error('Drizzle query failed', 'Query', {
|
|
52
52
|
sql,
|
|
53
53
|
error: error instanceof Error ? error.message : String(error),
|
|
54
54
|
});
|
|
@@ -64,24 +64,21 @@ class DrizzleAdapter {
|
|
|
64
64
|
try {
|
|
65
65
|
if (this.schema && this.schema[table]) {
|
|
66
66
|
// Use schema-based insert
|
|
67
|
-
const result = await this.db
|
|
68
|
-
.insert(this.schema[table])
|
|
69
|
-
.values(data)
|
|
70
|
-
.returning();
|
|
67
|
+
const result = await this.db.insert(this.schema[table]).values(data).returning();
|
|
71
68
|
return result[0];
|
|
72
69
|
}
|
|
73
70
|
else {
|
|
74
71
|
// Fallback to raw SQL
|
|
75
72
|
const keys = Object.keys(data);
|
|
76
73
|
const values = Object.values(data);
|
|
77
|
-
const placeholders = keys.map((_, i) => `$${i + 1}`).join(
|
|
78
|
-
const sql = `INSERT INTO ${table} (${keys.join(
|
|
74
|
+
const placeholders = keys.map((_, i) => `$${i + 1}`).join(', ');
|
|
75
|
+
const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders}) RETURNING *`;
|
|
79
76
|
const result = await this.query(sql, values);
|
|
80
77
|
return result[0];
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
80
|
catch (error) {
|
|
84
|
-
this.logger.error(
|
|
81
|
+
this.logger.error('Drizzle insert failed', 'Insert', {
|
|
85
82
|
table,
|
|
86
83
|
error: error instanceof Error ? error.message : String(error),
|
|
87
84
|
});
|
|
@@ -93,7 +90,7 @@ class DrizzleAdapter {
|
|
|
93
90
|
if (this.schema && this.schema[table]) {
|
|
94
91
|
// Use schema-based update
|
|
95
92
|
try {
|
|
96
|
-
const { eq, and } = require(
|
|
93
|
+
const { eq, and } = require('drizzle-orm');
|
|
97
94
|
// Build where conditions
|
|
98
95
|
const conditions = Object.entries(where).map(([key, value]) => eq(this.schema[table][key], value));
|
|
99
96
|
const whereClause = conditions.length === 1 ? conditions[0] : and(...conditions);
|
|
@@ -108,10 +105,10 @@ class DrizzleAdapter {
|
|
|
108
105
|
// Fallback to raw SQL if drizzle-orm is not available
|
|
109
106
|
const setClause = Object.keys(data)
|
|
110
107
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
111
|
-
.join(
|
|
108
|
+
.join(', ');
|
|
112
109
|
const whereClause = Object.keys(where)
|
|
113
110
|
.map((key, i) => `${key} = $${Object.keys(data).length + i + 1}`)
|
|
114
|
-
.join(
|
|
111
|
+
.join(' AND ');
|
|
115
112
|
const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause} RETURNING *`;
|
|
116
113
|
const params = [...Object.values(data), ...Object.values(where)];
|
|
117
114
|
const result = await this.query(sql, params);
|
|
@@ -122,10 +119,10 @@ class DrizzleAdapter {
|
|
|
122
119
|
// Fallback to raw SQL
|
|
123
120
|
const setClause = Object.keys(data)
|
|
124
121
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
125
|
-
.join(
|
|
122
|
+
.join(', ');
|
|
126
123
|
const whereClause = Object.keys(where)
|
|
127
124
|
.map((key, i) => `${key} = $${Object.keys(data).length + i + 1}`)
|
|
128
|
-
.join(
|
|
125
|
+
.join(' AND ');
|
|
129
126
|
const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause} RETURNING *`;
|
|
130
127
|
const params = [...Object.values(data), ...Object.values(where)];
|
|
131
128
|
const result = await this.query(sql, params);
|
|
@@ -133,7 +130,7 @@ class DrizzleAdapter {
|
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
catch (error) {
|
|
136
|
-
this.logger.error(
|
|
133
|
+
this.logger.error('Drizzle update failed', 'Update', {
|
|
137
134
|
table,
|
|
138
135
|
error: error instanceof Error ? error.message : String(error),
|
|
139
136
|
});
|
|
@@ -145,22 +142,17 @@ class DrizzleAdapter {
|
|
|
145
142
|
if (this.schema && this.schema[table]) {
|
|
146
143
|
// Use schema-based delete
|
|
147
144
|
try {
|
|
148
|
-
const { eq, and } = require(
|
|
145
|
+
const { eq, and } = require('drizzle-orm');
|
|
149
146
|
const conditions = Object.entries(where).map(([key, value]) => eq(this.schema[table][key], value));
|
|
150
147
|
const whereClause = conditions.length === 1 ? conditions[0] : and(...conditions);
|
|
151
|
-
const result = await this.db
|
|
152
|
-
|
|
153
|
-
.where(whereClause);
|
|
154
|
-
return (result.changes ||
|
|
155
|
-
result.rowCount ||
|
|
156
|
-
result.affectedRows ||
|
|
157
|
-
0);
|
|
148
|
+
const result = await this.db.delete(this.schema[table]).where(whereClause);
|
|
149
|
+
return (result.changes || result.rowCount || result.affectedRows || 0);
|
|
158
150
|
}
|
|
159
151
|
catch (importError) {
|
|
160
152
|
// Fallback to raw SQL if drizzle-orm is not available
|
|
161
153
|
const whereClause = Object.keys(where)
|
|
162
154
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
163
|
-
.join(
|
|
155
|
+
.join(' AND ');
|
|
164
156
|
const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
|
|
165
157
|
await this.query(sql, Object.values(where));
|
|
166
158
|
return 1; // Can't determine exact count without result metadata
|
|
@@ -170,14 +162,14 @@ class DrizzleAdapter {
|
|
|
170
162
|
// Fallback to raw SQL
|
|
171
163
|
const whereClause = Object.keys(where)
|
|
172
164
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
173
|
-
.join(
|
|
165
|
+
.join(' AND ');
|
|
174
166
|
const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
|
|
175
167
|
await this.query(sql, Object.values(where));
|
|
176
168
|
return 1; // Can't determine exact count without result metadata
|
|
177
169
|
}
|
|
178
170
|
}
|
|
179
171
|
catch (error) {
|
|
180
|
-
this.logger.error(
|
|
172
|
+
this.logger.error('Drizzle delete failed', 'Delete', {
|
|
181
173
|
table,
|
|
182
174
|
error: error instanceof Error ? error.message : String(error),
|
|
183
175
|
});
|
|
@@ -253,7 +245,7 @@ class DrizzleTransaction {
|
|
|
253
245
|
}
|
|
254
246
|
}
|
|
255
247
|
catch (error) {
|
|
256
|
-
this.logger.error(
|
|
248
|
+
this.logger.error('Drizzle transaction query failed', 'Query', {
|
|
257
249
|
sql,
|
|
258
250
|
error: error instanceof Error ? error.message : String(error),
|
|
259
251
|
});
|
|
@@ -266,17 +258,14 @@ class DrizzleTransaction {
|
|
|
266
258
|
}
|
|
267
259
|
async insert(table, data) {
|
|
268
260
|
if (this.schema && this.schema[table]) {
|
|
269
|
-
const result = await this.tx
|
|
270
|
-
.insert(this.schema[table])
|
|
271
|
-
.values(data)
|
|
272
|
-
.returning();
|
|
261
|
+
const result = await this.tx.insert(this.schema[table]).values(data).returning();
|
|
273
262
|
return result[0];
|
|
274
263
|
}
|
|
275
264
|
else {
|
|
276
265
|
const keys = Object.keys(data);
|
|
277
266
|
const values = Object.values(data);
|
|
278
|
-
const placeholders = keys.map((_, i) => `$${i + 1}`).join(
|
|
279
|
-
const sql = `INSERT INTO ${table} (${keys.join(
|
|
267
|
+
const placeholders = keys.map((_, i) => `$${i + 1}`).join(', ');
|
|
268
|
+
const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders}) RETURNING *`;
|
|
280
269
|
const result = await this.query(sql, values);
|
|
281
270
|
return result[0];
|
|
282
271
|
}
|
|
@@ -284,7 +273,7 @@ class DrizzleTransaction {
|
|
|
284
273
|
async update(table, data, where) {
|
|
285
274
|
if (this.schema && this.schema[table]) {
|
|
286
275
|
try {
|
|
287
|
-
const { eq, and } = require(
|
|
276
|
+
const { eq, and } = require('drizzle-orm');
|
|
288
277
|
const conditions = Object.entries(where).map(([key, value]) => eq(this.schema[table][key], value));
|
|
289
278
|
const whereClause = conditions.length === 1 ? conditions[0] : and(...conditions);
|
|
290
279
|
const result = await this.tx
|
|
@@ -298,10 +287,10 @@ class DrizzleTransaction {
|
|
|
298
287
|
// Fallback to raw SQL
|
|
299
288
|
const setClause = Object.keys(data)
|
|
300
289
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
301
|
-
.join(
|
|
290
|
+
.join(', ');
|
|
302
291
|
const whereClause = Object.keys(where)
|
|
303
292
|
.map((key, i) => `${key} = $${Object.keys(data).length + i + 1}`)
|
|
304
|
-
.join(
|
|
293
|
+
.join(' AND ');
|
|
305
294
|
const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause} RETURNING *`;
|
|
306
295
|
const params = [...Object.values(data), ...Object.values(where)];
|
|
307
296
|
const result = await this.query(sql, params);
|
|
@@ -311,10 +300,10 @@ class DrizzleTransaction {
|
|
|
311
300
|
else {
|
|
312
301
|
const setClause = Object.keys(data)
|
|
313
302
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
314
|
-
.join(
|
|
303
|
+
.join(', ');
|
|
315
304
|
const whereClause = Object.keys(where)
|
|
316
305
|
.map((key, i) => `${key} = $${Object.keys(data).length + i + 1}`)
|
|
317
|
-
.join(
|
|
306
|
+
.join(' AND ');
|
|
318
307
|
const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause} RETURNING *`;
|
|
319
308
|
const params = [...Object.values(data), ...Object.values(where)];
|
|
320
309
|
const result = await this.query(sql, params);
|
|
@@ -324,22 +313,17 @@ class DrizzleTransaction {
|
|
|
324
313
|
async delete(table, where) {
|
|
325
314
|
if (this.schema && this.schema[table]) {
|
|
326
315
|
try {
|
|
327
|
-
const { eq, and } = require(
|
|
316
|
+
const { eq, and } = require('drizzle-orm');
|
|
328
317
|
const conditions = Object.entries(where).map(([key, value]) => eq(this.schema[table][key], value));
|
|
329
318
|
const whereClause = conditions.length === 1 ? conditions[0] : and(...conditions);
|
|
330
|
-
const result = await this.tx
|
|
331
|
-
|
|
332
|
-
.where(whereClause);
|
|
333
|
-
return (result.changes ||
|
|
334
|
-
result.rowCount ||
|
|
335
|
-
result.affectedRows ||
|
|
336
|
-
0);
|
|
319
|
+
const result = await this.tx.delete(this.schema[table]).where(whereClause);
|
|
320
|
+
return (result.changes || result.rowCount || result.affectedRows || 0);
|
|
337
321
|
}
|
|
338
322
|
catch (importError) {
|
|
339
323
|
// Fallback to raw SQL
|
|
340
324
|
const whereClause = Object.keys(where)
|
|
341
325
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
342
|
-
.join(
|
|
326
|
+
.join(' AND ');
|
|
343
327
|
const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
|
|
344
328
|
await this.query(sql, Object.values(where));
|
|
345
329
|
return 1; // Can't determine exact count
|
|
@@ -348,7 +332,7 @@ class DrizzleTransaction {
|
|
|
348
332
|
else {
|
|
349
333
|
const whereClause = Object.keys(where)
|
|
350
334
|
.map((key, i) => `${key} = $${i + 1}`)
|
|
351
|
-
.join(
|
|
335
|
+
.join(' AND ');
|
|
352
336
|
const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
|
|
353
337
|
await this.query(sql, Object.values(where));
|
|
354
338
|
return 1; // Can't determine exact count
|
|
@@ -360,7 +344,7 @@ class DrizzleTransaction {
|
|
|
360
344
|
}
|
|
361
345
|
async rollback() {
|
|
362
346
|
// Drizzle transactions will auto-rollback on error
|
|
363
|
-
throw new Error(
|
|
347
|
+
throw new Error('Transaction rollback');
|
|
364
348
|
}
|
|
365
349
|
}
|
|
366
350
|
//# sourceMappingURL=drizzle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/drizzle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/drizzle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { MySQLAdapter } from
|
|
2
|
-
export { PostgreSQLAdapter } from
|
|
3
|
-
export { SQLiteAdapter } from
|
|
4
|
-
export { MongoDBAdapter } from
|
|
5
|
-
export { RedisAdapter } from
|
|
6
|
-
export { DrizzleAdapter } from
|
|
7
|
-
import { DatabaseAdapter } from
|
|
1
|
+
export { MySQLAdapter } from './mysql';
|
|
2
|
+
export { PostgreSQLAdapter } from './postgresql';
|
|
3
|
+
export { SQLiteAdapter } from './sqlite';
|
|
4
|
+
export { MongoDBAdapter } from './mongodb';
|
|
5
|
+
export { RedisAdapter } from './redis';
|
|
6
|
+
export { DrizzleAdapter } from './drizzle';
|
|
7
|
+
import { DatabaseAdapter } from '../../../types/database';
|
|
8
8
|
export declare function createDatabaseAdapter(type: string, options?: any): DatabaseAdapter;
|
|
@@ -24,22 +24,22 @@ const drizzle_2 = require("./drizzle");
|
|
|
24
24
|
// Adapter factory function for auto-loading
|
|
25
25
|
function createDatabaseAdapter(type, options = {}) {
|
|
26
26
|
switch (type.toLowerCase()) {
|
|
27
|
-
case
|
|
27
|
+
case 'mysql':
|
|
28
28
|
return new mysql_2.MySQLAdapter(options);
|
|
29
|
-
case
|
|
30
|
-
case
|
|
31
|
-
case
|
|
29
|
+
case 'postgresql':
|
|
30
|
+
case 'postgres':
|
|
31
|
+
case 'pg':
|
|
32
32
|
return new postgresql_2.PostgreSQLAdapter(options);
|
|
33
|
-
case
|
|
34
|
-
case
|
|
33
|
+
case 'sqlite':
|
|
34
|
+
case 'sqlite3':
|
|
35
35
|
return new sqlite_2.SQLiteAdapter(options);
|
|
36
|
-
case
|
|
37
|
-
case
|
|
36
|
+
case 'mongodb':
|
|
37
|
+
case 'mongo':
|
|
38
38
|
return new mongodb_2.MongoDBAdapter(options);
|
|
39
|
-
case
|
|
39
|
+
case 'redis':
|
|
40
40
|
return new redis_2.RedisAdapter(options);
|
|
41
|
-
case
|
|
42
|
-
case
|
|
41
|
+
case 'drizzle':
|
|
42
|
+
case 'orm':
|
|
43
43
|
return new drizzle_2.DrizzleAdapter(options);
|
|
44
44
|
default:
|
|
45
45
|
throw new Error(`Unknown database adapter type: ${type}. Available types: mysql, postgresql, sqlite, mongodb, redis, drizzle`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/index.ts"],"names":[],"mappings":";;;AAiBA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/index.ts"],"names":[],"mappings":";;;AAiBA,sDAwBC;AAzCD,oBAAoB;AACpB,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAC1B,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AAEvB,mCAAuC;AACvC,6CAAiD;AACjD,qCAAyC;AACzC,uCAA2C;AAC3C,mCAAuC;AACvC,uCAA2C;AAG3C,4CAA4C;AAC5C,SAAgB,qBAAqB,CAAC,IAAY,EAAE,UAAe,EAAE;IACnE,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,IAAI,oBAAY,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,IAAI;YACP,OAAO,IAAI,8BAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,sBAAa,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,OAAO,IAAI,wBAAc,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,IAAI,oBAAY,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,SAAS,CAAC;QACf,KAAK,KAAK;YACR,OAAO,IAAI,wBAAc,CAAC,OAAO,CAAC,CAAC;QACrC;YACE,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,uEAAuE,CAC9G,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -4,41 +4,37 @@ exports.MongoDBAdapter = void 0;
|
|
|
4
4
|
const logger_1 = require("../../logger");
|
|
5
5
|
class MongoDBAdapter {
|
|
6
6
|
constructor(config) {
|
|
7
|
-
this.logger = (0, logger_1.createFrameworkLogger)(
|
|
7
|
+
this.logger = (0, logger_1.createFrameworkLogger)('MongoDB');
|
|
8
8
|
try {
|
|
9
|
-
const { MongoClient } = require(
|
|
9
|
+
const { MongoClient } = require('mongodb');
|
|
10
10
|
const url = config.url || this.buildConnectionString(config);
|
|
11
11
|
this.client = new MongoClient(url, {
|
|
12
12
|
maxPoolSize: config.maxPoolSize || 10,
|
|
13
13
|
minPoolSize: config.minPoolSize || 0,
|
|
14
14
|
ssl: config.ssl || false,
|
|
15
15
|
});
|
|
16
|
-
this.db = this.client.db(config.database ||
|
|
17
|
-
this.logger.info(
|
|
16
|
+
this.db = this.client.db(config.database || 'moro_app');
|
|
17
|
+
this.logger.info('MongoDB adapter initialized', 'MongoDB');
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
|
-
throw new Error(
|
|
20
|
+
throw new Error('mongodb package is required for MongoDB adapter. Install it with: npm install mongodb');
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
buildConnectionString(config) {
|
|
24
|
-
const host = config.host ||
|
|
24
|
+
const host = config.host || 'localhost';
|
|
25
25
|
const port = config.port || 27017;
|
|
26
|
-
const auth = config.username && config.password
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const authSource = config.authSource
|
|
30
|
-
? `?authSource=${config.authSource}`
|
|
31
|
-
: "";
|
|
32
|
-
return `mongodb://${auth}${host}:${port}/${config.database || "moro_app"}${authSource}`;
|
|
26
|
+
const auth = config.username && config.password ? `${config.username}:${config.password}@` : '';
|
|
27
|
+
const authSource = config.authSource ? `?authSource=${config.authSource}` : '';
|
|
28
|
+
return `mongodb://${auth}${host}:${port}/${config.database || 'moro_app'}${authSource}`;
|
|
33
29
|
}
|
|
34
30
|
async connect() {
|
|
35
31
|
try {
|
|
36
32
|
await this.client.connect();
|
|
37
|
-
await this.client.db(
|
|
38
|
-
this.logger.info(
|
|
33
|
+
await this.client.db('admin').command({ ping: 1 });
|
|
34
|
+
this.logger.info('MongoDB connection established', 'Connection');
|
|
39
35
|
}
|
|
40
36
|
catch (error) {
|
|
41
|
-
this.logger.error(
|
|
37
|
+
this.logger.error('MongoDB connection failed', 'Connection', {
|
|
42
38
|
error: error instanceof Error ? error.message : String(error),
|
|
43
39
|
});
|
|
44
40
|
throw error;
|
|
@@ -68,7 +64,7 @@ class MongoDBAdapter {
|
|
|
68
64
|
}
|
|
69
65
|
}
|
|
70
66
|
catch (error) {
|
|
71
|
-
this.logger.error(
|
|
67
|
+
this.logger.error('MongoDB query failed', 'Query', {
|
|
72
68
|
collection,
|
|
73
69
|
error: error instanceof Error ? error.message : String(error),
|
|
74
70
|
});
|
|
@@ -81,7 +77,7 @@ class MongoDBAdapter {
|
|
|
81
77
|
return await coll.findOne(query || {});
|
|
82
78
|
}
|
|
83
79
|
catch (error) {
|
|
84
|
-
this.logger.error(
|
|
80
|
+
this.logger.error('MongoDB queryOne failed', 'Query', {
|
|
85
81
|
collection,
|
|
86
82
|
error: error instanceof Error ? error.message : String(error),
|
|
87
83
|
});
|
|
@@ -96,7 +92,7 @@ class MongoDBAdapter {
|
|
|
96
92
|
return { ...data, _id: result.insertedId };
|
|
97
93
|
}
|
|
98
94
|
catch (error) {
|
|
99
|
-
this.logger.error(
|
|
95
|
+
this.logger.error('MongoDB insert failed', 'Insert', {
|
|
100
96
|
collection,
|
|
101
97
|
error: error instanceof Error ? error.message : String(error),
|
|
102
98
|
});
|
|
@@ -106,11 +102,11 @@ class MongoDBAdapter {
|
|
|
106
102
|
async update(collection, data, where) {
|
|
107
103
|
try {
|
|
108
104
|
const coll = this.db.collection(collection);
|
|
109
|
-
const result = await coll.findOneAndUpdate(where, { $set: data }, { returnDocument:
|
|
105
|
+
const result = await coll.findOneAndUpdate(where, { $set: data }, { returnDocument: 'after' });
|
|
110
106
|
return result.value;
|
|
111
107
|
}
|
|
112
108
|
catch (error) {
|
|
113
|
-
this.logger.error(
|
|
109
|
+
this.logger.error('MongoDB update failed', 'Update', {
|
|
114
110
|
collection,
|
|
115
111
|
error: error instanceof Error ? error.message : String(error),
|
|
116
112
|
});
|
|
@@ -124,7 +120,7 @@ class MongoDBAdapter {
|
|
|
124
120
|
return result.deletedCount || 0;
|
|
125
121
|
}
|
|
126
122
|
catch (error) {
|
|
127
|
-
this.logger.error(
|
|
123
|
+
this.logger.error('MongoDB delete failed', 'Delete', {
|
|
128
124
|
collection,
|
|
129
125
|
error: error instanceof Error ? error.message : String(error),
|
|
130
126
|
});
|
|
@@ -197,7 +193,7 @@ class MongoDBTransaction {
|
|
|
197
193
|
}
|
|
198
194
|
async update(collection, data, where) {
|
|
199
195
|
const coll = this.db.collection(collection);
|
|
200
|
-
const result = await coll.findOneAndUpdate(where, { $set: data }, { returnDocument:
|
|
196
|
+
const result = await coll.findOneAndUpdate(where, { $set: data }, { returnDocument: 'after', session: this.session });
|
|
201
197
|
return result.value;
|
|
202
198
|
}
|
|
203
199
|
async delete(collection, where) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/mongodb.ts"],"names":[],"mappings":";;;AAEA,yCAAqD;AAqBrD,MAAa,cAAc;IAKzB,YAAY,MAAqB;QAFzB,WAAM,GAAG,IAAA,8BAAqB,EAAC,SAAS,CAAC,CAAC;QAGhD,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7D,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;gBACpC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAqB;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;QAClC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"mongodb.js","sourceRoot":"","sources":["../../../../src/core/database/adapters/mongodb.ts"],"names":[],"mappings":";;;AAEA,yCAAqD;AAqBrD,MAAa,cAAc;IAKzB,YAAY,MAAqB;QAFzB,WAAM,GAAG,IAAA,8BAAqB,EAAC,SAAS,CAAC,CAAC;QAGhD,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAE7D,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;gBACpC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAqB;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,OAAO,aAAa,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,YAAY,EAAE;gBAC3D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,KAAK,CAAU,UAAkB,EAAE,QAAgB;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE5C,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,uBAAuB;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACxC,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,aAAa;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,WAAW;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,EAAE;gBACjD,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAU,UAAkB,EAAE,KAAW;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE;gBACpD,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAU,UAAkB,EAAE,IAAyB;QACjE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE1C,wCAAwC;YACxC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAO,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,QAAQ,EAAE;gBACnD,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,IAAyB,EACzB,KAA0B;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,KAAK,EACL,EAAE,IAAI,EAAE,IAAI,EAAE,EACd,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;YAEF,OAAO,MAAM,CAAC,KAAU,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,QAAQ,EAAE;gBACnD,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,KAA0B;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,QAAQ,EAAE;gBACnD,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,QAAiD;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;gBAC9C,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC7D,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,SAAS,CAAU,UAAkB,EAAE,QAAe;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,KAAU,EAAE,OAAa;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,SAAiB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,KAAW;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAxLD,wCAwLC;AAED,MAAM,kBAAkB;IACtB,YACU,EAAO,EACP,OAAY;QADZ,OAAE,GAAF,EAAE,CAAK;QACP,YAAO,GAAP,OAAO,CAAK;IACnB,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAU,UAAkB,EAAE,QAAgB;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,OAAO,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAU,UAAkB,EAAE,KAAW;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CAAU,UAAkB,EAAE,IAAyB;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAO,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,IAAyB,EACzB,KAA0B;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,KAAK,EACL,EAAE,IAAI,EAAE,IAAI,EAAE,EACd,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CACnD,CAAC;QACF,OAAO,MAAM,CAAC,KAAU,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,KAA0B;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;CACF"}
|