@bloomneo/appkit 1.2.9 → 1.5.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/AGENTS.md +195 -0
- package/CHANGELOG.md +253 -0
- package/README.md +147 -799
- package/bin/commands/generate.js +7 -7
- package/cookbook/README.md +26 -0
- package/cookbook/api-key-service.ts +106 -0
- package/cookbook/auth-protected-crud.ts +112 -0
- package/cookbook/file-upload-pipeline.ts +113 -0
- package/cookbook/multi-tenant-saas.ts +87 -0
- package/cookbook/real-time-chat.ts +121 -0
- package/dist/auth/auth.d.ts +21 -4
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +56 -44
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/defaults.d.ts +1 -1
- package/dist/auth/defaults.js +35 -35
- package/dist/cache/cache.d.ts +29 -6
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js +72 -44
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/defaults.js +29 -29
- package/dist/cache/index.d.ts +19 -10
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +21 -18
- package/dist/cache/index.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -1
- package/dist/config/defaults.js +11 -11
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.js +4 -4
- package/dist/database/adapters/mongoose.d.ts +4 -4
- package/dist/database/adapters/mongoose.js +7 -7
- package/dist/database/adapters/prisma.d.ts +4 -4
- package/dist/database/adapters/prisma.js +7 -7
- package/dist/database/defaults.d.ts +1 -1
- package/dist/database/defaults.js +4 -4
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/defaults.js +26 -26
- package/dist/email/index.js +7 -7
- package/dist/email/strategies/resend.js +1 -1
- package/dist/error/defaults.d.ts +1 -1
- package/dist/error/defaults.js +13 -13
- package/dist/error/error.d.ts +12 -0
- package/dist/error/error.d.ts.map +1 -1
- package/dist/error/error.js +19 -0
- package/dist/error/error.js.map +1 -1
- package/dist/error/index.d.ts +14 -3
- package/dist/error/index.d.ts.map +1 -1
- package/dist/error/index.js +14 -3
- package/dist/error/index.js.map +1 -1
- package/dist/event/defaults.js +35 -35
- package/dist/event/index.js +7 -7
- package/dist/logger/defaults.d.ts +1 -1
- package/dist/logger/defaults.js +40 -40
- package/dist/logger/index.d.ts +1 -0
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/logger.d.ts +8 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +13 -3
- package/dist/logger/logger.js.map +1 -1
- package/dist/logger/transports/console.js +2 -2
- package/dist/logger/transports/http.d.ts +1 -1
- package/dist/logger/transports/http.js +2 -2
- package/dist/logger/transports/webhook.d.ts +1 -1
- package/dist/logger/transports/webhook.js +3 -3
- package/dist/queue/defaults.d.ts +2 -2
- package/dist/queue/defaults.js +38 -38
- package/dist/security/defaults.d.ts +1 -1
- package/dist/security/defaults.js +30 -30
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.js +3 -3
- package/dist/security/security.d.ts +1 -1
- package/dist/security/security.js +4 -4
- package/dist/storage/defaults.js +26 -26
- package/dist/storage/index.js +3 -3
- package/dist/util/defaults.d.ts +1 -1
- package/dist/util/defaults.js +41 -41
- package/dist/util/env.d.ts +35 -0
- package/dist/util/env.d.ts.map +1 -0
- package/dist/util/env.js +50 -0
- package/dist/util/env.js.map +1 -0
- package/dist/util/errors.d.ts +52 -0
- package/dist/util/errors.d.ts.map +1 -0
- package/dist/util/errors.js +82 -0
- package/dist/util/errors.js.map +1 -0
- package/dist/util/util.js +1 -1
- package/examples/.env.example +80 -0
- package/examples/README.md +16 -0
- package/examples/auth.ts +228 -0
- package/examples/cache.ts +36 -0
- package/examples/config.ts +45 -0
- package/examples/database.ts +69 -0
- package/examples/email.ts +53 -0
- package/examples/error.ts +50 -0
- package/examples/event.ts +42 -0
- package/examples/logger.ts +41 -0
- package/examples/queue.ts +58 -0
- package/examples/security.ts +46 -0
- package/examples/storage.ts +44 -0
- package/examples/util.ts +47 -0
- package/llms.txt +591 -0
- package/package.json +19 -10
- package/src/auth/README.md +850 -0
- package/src/cache/README.md +756 -0
- package/src/config/README.md +604 -0
- package/src/database/README.md +818 -0
- package/src/email/README.md +759 -0
- package/src/error/README.md +660 -0
- package/src/event/README.md +729 -0
- package/src/logger/README.md +435 -0
- package/src/queue/README.md +851 -0
- package/src/security/README.md +612 -0
- package/src/storage/README.md +1008 -0
- package/src/util/README.md +955 -0
- package/bin/templates/backend/docs/APPKIT_CLI.md +0 -507
- package/bin/templates/backend/docs/APPKIT_COMMENTS_GUIDELINES.md +0 -61
- package/bin/templates/backend/docs/APPKIT_LLM_GUIDE.md +0 -2539
package/dist/logger/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,6DAA6D;AAC7D,IAAI,YAAY,GAAuB,IAAI,CAAC;AAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,6DAA6D;AAC7D,IAAI,YAAY,GAAuB,IAAI,CAAC;AAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;AAiBpD;;;;;;GAMG;AACH,SAAS,GAAG,CAAC,SAAkB;IAC7B,2DAA2D;IAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,YAAY,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,2CAA2C;IAC3C,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,KAAK;IAClB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3B,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB;IAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,YAAY,CAAC,mBAAmB,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS;IAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gCAAgC;IAChC,GAAG;IAEH,kBAAkB;IAClB,KAAK;IACL,mBAAmB;IACnB,YAAY;IACZ,SAAS;CACD,CAAC;AAIX,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,iBAAiB;AACjB,eAAe,WAAW,CAAC"}
|
package/dist/logger/logger.d.ts
CHANGED
|
@@ -63,6 +63,14 @@ export declare class LoggerClass implements Logger {
|
|
|
63
63
|
* @llm-rule AVOID: Production debug spam - automatically filtered in production
|
|
64
64
|
*/
|
|
65
65
|
debug(message: string, meta?: LogMeta): void;
|
|
66
|
+
/**
|
|
67
|
+
* Log fatal message — process is about to exit or is in an unrecoverable state.
|
|
68
|
+
* Delegates to error() so it goes through the same visual formatting and transports.
|
|
69
|
+
* @llm-rule WHEN: Unrecoverable failures (OOM, missing required config, corrupted state)
|
|
70
|
+
* @llm-rule AVOID: Using for normal errors — fatal implies the process cannot continue
|
|
71
|
+
* @llm-rule NOTE: PATTERN: logger.fatal('OOM', { rss }); process.exit(1);
|
|
72
|
+
*/
|
|
73
|
+
fatal(message: string, meta?: LogMeta): void;
|
|
66
74
|
/**
|
|
67
75
|
* Create child logger with additional context
|
|
68
76
|
* @llm-rule WHEN: Adding component context or request-specific data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAWlD,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,MAAM;IACxC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAsB;gBAE/B,MAAM,EAAE,aAAa;IAajC,OAAO,CAAC,oBAAoB;IA6C5B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,IAAI;IAehD;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,IAAI;IAI/C;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,IAAI;IAIhD;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,IAAI;IAIhD;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW;IAUrC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAoHzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA8DxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAiG3B,OAAO,CAAC,aAAa;IAqIrB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4DpB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,GAAG;IAgBX,OAAO,CAAC,iBAAiB;IA6BzB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B;;;;OAIG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAK1D;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO;IAInE;;;;OAIG;IACH,SAAS;;;;;;;;;;;;;;;;;CAeV"}
|
package/dist/logger/logger.js
CHANGED
|
@@ -125,6 +125,16 @@ export class LoggerClass {
|
|
|
125
125
|
debug(message, meta = {}) {
|
|
126
126
|
this.log('debug', message, meta);
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Log fatal message — process is about to exit or is in an unrecoverable state.
|
|
130
|
+
* Delegates to error() so it goes through the same visual formatting and transports.
|
|
131
|
+
* @llm-rule WHEN: Unrecoverable failures (OOM, missing required config, corrupted state)
|
|
132
|
+
* @llm-rule AVOID: Using for normal errors — fatal implies the process cannot continue
|
|
133
|
+
* @llm-rule NOTE: PATTERN: logger.fatal('OOM', { rss }); process.exit(1);
|
|
134
|
+
*/
|
|
135
|
+
fatal(message, meta = {}) {
|
|
136
|
+
this.error(message, { ...meta, fatal: true });
|
|
137
|
+
}
|
|
128
138
|
/**
|
|
129
139
|
* Create child logger with additional context
|
|
130
140
|
* @llm-rule WHEN: Adding component context or request-specific data
|
|
@@ -142,7 +152,7 @@ export class LoggerClass {
|
|
|
142
152
|
// Show visual output in development or when explicitly enabled
|
|
143
153
|
return this.config.service.environment === 'development' ||
|
|
144
154
|
this.config.minimal === false ||
|
|
145
|
-
process.env.
|
|
155
|
+
process.env.BLOOM_VISUAL_ERRORS === 'true';
|
|
146
156
|
}
|
|
147
157
|
renderVisualError(message, meta) {
|
|
148
158
|
const errorType = this.detectErrorType(message, meta);
|
|
@@ -834,8 +844,8 @@ export class LoggerClass {
|
|
|
834
844
|
environment: {
|
|
835
845
|
NODE_ENV: process.env.NODE_ENV,
|
|
836
846
|
hasDbUrl: !!process.env.DATABASE_URL,
|
|
837
|
-
hasHttpUrl: !!process.env.
|
|
838
|
-
hasWebhookUrl: !!process.env.
|
|
847
|
+
hasHttpUrl: !!process.env.BLOOM_LOGGER_HTTP_URL,
|
|
848
|
+
hasWebhookUrl: !!process.env.BLOOM_LOGGER_WEBHOOK_URL,
|
|
839
849
|
},
|
|
840
850
|
};
|
|
841
851
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACA,CAAC;AAsBX;;GAEG;AACH,MAAM,OAAO,WAAW;IACd,KAAK,CAAsC;IAC3C,UAAU,CAAS;IACnB,WAAW,CAAU;IACrB,MAAM,CAAgB;IACtB,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,aAAa,GAAmB,EAAE,CAAC;IAE3C,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;SACxC,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,oBAAoB;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEnC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,OAAe,EAAE,OAAgB,EAAE;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAe,EAAE,OAAgB,EAAE;QACvC,MAAM,YAAY,GAAG;YACnB,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;SAC5B,CAAC;QAEF,iEAAiE;QACjE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,OAAe,EAAE,OAAgB,EAAE;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAe,EAAE,OAAgB,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAe,EAAE,OAAgB,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAiB;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAgB,CAAC;QACjD,KAAK,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IAC/E,kCAAkC;IAClC,+EAA+E;IAEvE,gBAAgB;QACtB,+DAA+D;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,aAAa;YACjD,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAC7B,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC;IACpD,CAAC;IAEO,iBAAiB,CAAC,OAAe,EAAE,IAAa;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SACjB,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAE7C,yCAAyC;QACzC,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,GAAG,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnE,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/I,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,KAAK,QAAQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3G,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,uBAAuB,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAE7C,yBAAyB;QACzB,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAEvD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1C,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/C,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAEzE,+BAA+B;YAC/B,MAAM,gBAAgB,GAAG,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACtF,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACpE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,MAAM,cAAc,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACxE,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACtC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,WAAW,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,OAAe,EAAE,SAAiB,EAAE;QAC3D,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,wCAAwC;QAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,kCAAkC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,mCAAmC;QAC5F,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,4BAA4B;QACnF,MAAM,oBAAoB,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC/E,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAEnE,IAAI,YAAY,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBAC1C,iCAAiC;gBACjC,IAAI,WAAW,EAAE,CAAC;oBAChB,oBAAoB;oBACpB,IAAI,WAAW,EAAE,CAAC;wBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC/D,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC;oBACxC,CAAC;oBACD,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,IAAI,WAAW,EAAE,CAAC;wBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACjD,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;oBACjC,CAAC;oBACD,WAAW,GAAG,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,YAAY,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACzC,oDAAoD;QACpD,OAAO,OAAO,CAAC,OAAO,CACpB,0BAA0B,EAC1B,CAAC,KAAK,EAAE,EAAE;YACR,2CAA2C;YAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,cAAc,GAAG,EAAE,CAAC;gBAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,cAAc,EAAE,CAAC;wBAC1D,MAAM,IAAI,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;wBACvC,cAAc,GAAG,EAAE,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,cAAc,IAAI,IAAI,CAAC;oBACzB,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,cAAc,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEO,eAAe,CAAC,OAAe,EAAE,IAAa;QACpD,yCAAyC;QACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAkB,CAAC;QACjC,CAAC;QAED,2DAA2D;QAE3D,iDAAiD;QACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAChD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,4BAA4B;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAClE,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,sEAAsE;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,OAAe,EAAE,IAAa;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtE,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,sCAAsC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEpE,4BAA4B;YAC5B,MAAM,aAAa,GAAG;gBACpB,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;gBACzC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;gBACzC,iDAAiD;gBACjD,UAAU,GAAG,KAAK;gBAClB,UAAU,GAAG,KAAK;aACnB,CAAC;YAEF,oCAAoC;YACpC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzB,wEAAwE;wBACxE,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,+CAA+C;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,MAAM,MAAM,GAA2B;YACrC,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,mBAAmB;YAC/B,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;IACtC,CAAC;IAEO,mBAAmB,CAAC,OAAe,EAAE,IAAa,EAAE,SAAiB;QAC3E,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,+DAA+D;QAC/D,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC/D,IAAI,UAAU,EAAE,CAAC;wBACf,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,qBAAqB,UAAU,CAAC,CAAC,CAAC,EAAE;yBAC9C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,gDAAgD;wBACzD,GAAG,EAAE,2CAA2C;qBACjD,CAAC,CAAC;gBACL,CAAC;gBAED,yBAAyB;gBACzB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,SAAS,EAAE,CAAC;oBACd,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,wBAAwB,SAAS,CAAC,CAAC,CAAC,EAAE;qBAChD,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzE,IAAI,aAAa,EAAE,CAAC;oBAClB,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,mBAAmB,aAAa,EAAE;qBAC5C,CAAC,CAAC;oBAEH,yBAAyB;oBACzB,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1E,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,0CAA0C;4BACnD,GAAG,EAAE,QAAQ,aAAa,GAAG;yBAC9B,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACzC,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,4CAA4C;yBACtD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACnC,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,qBAAqB;wBAC9B,GAAG,EAAE,8DAA8D;qBACpE,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjC,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,4BAA4B;wBACrC,GAAG,EAAE,yDAAyD;qBAC/D,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,8CAA8C;wBACvD,GAAG,EAAE,iCAAiC;qBACvC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,sEAAsE;gBACtE,iEAAiE;gBACjE,MAAM;QACV,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,aAAa,CAAC,SAAiB,EAAE,OAAe;QACtD,+EAA+E;QAE/E,+DAA+D;QAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,gBAAgB,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7C,CAAC;QAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAChH,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,6BAA6B,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC9C,OAAO,oDAAoD,CAAC;QAC9D,CAAC;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;YAC3D,OAAO,kBAAkB,QAAQ,qBAAqB,UAAU,EAAE,CAAC;QACrE,CAAC;QAED,gEAAgE;QAChE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5D,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,8BAA8B,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3D,CAAC;QAED,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,eAAe,gBAAgB,CAAC,CAAC,CAAC,0BAA0B,CAAC;QACtE,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,kDAAkD,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;QACjF,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC/F,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,SAAS,iBAAiB,CAAC,CAAC,CAAC,4BAA4B,CAAC;QACnE,CAAC;QAED,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAChE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,8BAA8B,iBAAiB,CAAC,CAAC,CAAC,gCAAgC,CAAC;QAC5F,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC3G,CAAC;QAED,sDAAsD;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAE;QACjI,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,mBAAmB,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACxH,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,gCAAgC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,CAAC;QAED,gEAAgE;QAChE,IAAI,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3E,OAAO,SAAS,CAAC,CAAC,CAAC,iCAAiC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC;QACvG,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAChD,OAAO,6DAA6D,CAAC;QACvE,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7E,OAAO,qCAAqC,CAAC;QAC/C,CAAC;QAED,iEAAiE;QACjE,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACtE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YAE5E,IAAI,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBACjD,OAAO,uBAAuB,QAAQ,EAAE,CAAC;YAC3C,CAAC;YACD,OAAO,iBAAiB,QAAQ,EAAE,CAAC;QACrC,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxC,OAAO,2CAA2C,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxC,OAAO,gDAAgD,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxC,OAAO,8BAA8B,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,OAAO,qCAAqC,CAAC;QAC/C,CAAC;QAED,iDAAiD;QACjD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,wCAAwC,CAAC;YAClD,KAAK,QAAQ;gBACX,OAAO,yCAAyC,CAAC;YACnD,KAAK,SAAS;gBACZ,OAAO,wCAAwC,CAAC;YAClD,KAAK,OAAO;gBACV,OAAO,4CAA4C,CAAC;YACtD,KAAK,SAAS;gBACZ,OAAO,4BAA4B,CAAC;YACtC;gBACE,OAAO,+BAA+B,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,SAAiB,EAAE,OAAe;QACrD,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,kDAAkD;QAClD,IAAI,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACrE,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC7D,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC9C,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACzD,SAAS,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAClE,SAAS,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,4BAA4B,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3D,SAAS,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAA6B;gBACjD,MAAM,EAAE,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;gBAClE,MAAM,EAAE,CAAC,kCAAkC,EAAE,+BAA+B,CAAC;gBAC7E,OAAO,EAAE,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;gBAC7D,KAAK,EAAE,CAAC,0BAA0B,EAAE,sBAAsB,CAAC;gBAC3D,OAAO,EAAE,CAAC,8BAA8B,EAAE,2BAA2B,CAAC;aACvE,CAAC;YAEF,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,0BAA0B;IAC1B,+EAA+E;IAEvE,SAAS;QACf,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC;YACxC,UAAU,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAExD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;YACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5D,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,GAAG,CAAC,KAA0C,EAAE,OAAe,EAAE,IAAa;QACpF,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,IAAI;SACR,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,iBAAiB,CAAC,KAAe;QACvC,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChD,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;wBAC5B,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClE,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,eAAe,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBACjC,IAAI,MAAM,EAAE,CAAC;wBACX,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;4BAC5B,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAClE,CAAC,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,eAAe,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBACjC,IAAI,MAAM,EAAE,CAAC;wBACX,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;4BAC5B,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAClE,CAAC,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,eAAe,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAA0C;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAA0C;QACvD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,WAAW,EAAE;gBACX,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;gBACpC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;gBAC/C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB;aACtD;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -82,7 +82,7 @@ export class ConsoleTransport {
|
|
|
82
82
|
// we can skip the regular console output to avoid duplication
|
|
83
83
|
const shouldShowVisual = isDevelopment ||
|
|
84
84
|
!this.minimal ||
|
|
85
|
-
process.env.
|
|
85
|
+
process.env.BLOOM_VISUAL_ERRORS === 'true';
|
|
86
86
|
return shouldShowVisual && hasVisualFormatting;
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
@@ -100,7 +100,7 @@ export class ConsoleTransport {
|
|
|
100
100
|
minute: '2-digit',
|
|
101
101
|
second: '2-digit'
|
|
102
102
|
});
|
|
103
|
-
// Special handling for
|
|
103
|
+
// Special handling for Bloomneo startup messages (keep them prominent)
|
|
104
104
|
if (message && (message.includes('✨') || message.includes('🚀') || message.includes('👋'))) {
|
|
105
105
|
return `${cleanTime} ${message}`;
|
|
106
106
|
}
|
|
@@ -23,7 +23,7 @@ export declare class HttpTransport implements Transport {
|
|
|
23
23
|
private serviceType;
|
|
24
24
|
/**
|
|
25
25
|
* Creates HTTP transport with direct environment access (like auth pattern)
|
|
26
|
-
* @llm-rule WHEN: Logger initialization with
|
|
26
|
+
* @llm-rule WHEN: Logger initialization with BLOOM_LOGGING_HTTP_URL environment variable
|
|
27
27
|
* @llm-rule AVOID: Manual HTTP configuration - environment detection handles this
|
|
28
28
|
* @llm-rule NOTE: Auto-detects service type from URL and formats payloads accordingly
|
|
29
29
|
*/
|
|
@@ -24,7 +24,7 @@ export class HttpTransport {
|
|
|
24
24
|
serviceType;
|
|
25
25
|
/**
|
|
26
26
|
* Creates HTTP transport with direct environment access (like auth pattern)
|
|
27
|
-
* @llm-rule WHEN: Logger initialization with
|
|
27
|
+
* @llm-rule WHEN: Logger initialization with BLOOM_LOGGING_HTTP_URL environment variable
|
|
28
28
|
* @llm-rule AVOID: Manual HTTP configuration - environment detection handles this
|
|
29
29
|
* @llm-rule NOTE: Auto-detects service type from URL and formats payloads accordingly
|
|
30
30
|
*/
|
|
@@ -326,7 +326,7 @@ export class HttpTransport {
|
|
|
326
326
|
headers: {
|
|
327
327
|
'Content-Type': 'application/json',
|
|
328
328
|
'Content-Length': Buffer.byteLength(payload),
|
|
329
|
-
'User-Agent': '
|
|
329
|
+
'User-Agent': 'Bloomneo-AppKit-Logging/1.0.0',
|
|
330
330
|
},
|
|
331
331
|
timeout: this.timeout,
|
|
332
332
|
};
|
|
@@ -23,7 +23,7 @@ export declare class WebhookTransport implements Transport {
|
|
|
23
23
|
private rateLimitWindow;
|
|
24
24
|
/**
|
|
25
25
|
* Creates webhook transport with direct environment access (like auth pattern)
|
|
26
|
-
* @llm-rule WHEN: Logger initialization with
|
|
26
|
+
* @llm-rule WHEN: Logger initialization with BLOOM_LOGGING_WEBHOOK_URL environment variable
|
|
27
27
|
* @llm-rule AVOID: Manual webhook configuration - environment detection handles this
|
|
28
28
|
* @llm-rule NOTE: Auto-detects Slack URLs and formats messages appropriately
|
|
29
29
|
*/
|
|
@@ -24,7 +24,7 @@ export class WebhookTransport {
|
|
|
24
24
|
rateLimitWindow = 60000; // 1 minute
|
|
25
25
|
/**
|
|
26
26
|
* Creates webhook transport with direct environment access (like auth pattern)
|
|
27
|
-
* @llm-rule WHEN: Logger initialization with
|
|
27
|
+
* @llm-rule WHEN: Logger initialization with BLOOM_LOGGING_WEBHOOK_URL environment variable
|
|
28
28
|
* @llm-rule AVOID: Manual webhook configuration - environment detection handles this
|
|
29
29
|
* @llm-rule NOTE: Auto-detects Slack URLs and formats messages appropriately
|
|
30
30
|
*/
|
|
@@ -316,7 +316,7 @@ export class WebhookTransport {
|
|
|
316
316
|
{
|
|
317
317
|
color: color,
|
|
318
318
|
fields: fields,
|
|
319
|
-
footer: '
|
|
319
|
+
footer: 'Bloomneo AppKit Logging',
|
|
320
320
|
ts: Math.floor(new Date(entry.timestamp).getTime() / 1000),
|
|
321
321
|
},
|
|
322
322
|
],
|
|
@@ -405,7 +405,7 @@ export class WebhookTransport {
|
|
|
405
405
|
headers: {
|
|
406
406
|
'Content-Type': 'application/json',
|
|
407
407
|
'Content-Length': Buffer.byteLength(payload),
|
|
408
|
-
'User-Agent': '
|
|
408
|
+
'User-Agent': 'Bloomneo-AppKit-Logging/1.0.0',
|
|
409
409
|
},
|
|
410
410
|
timeout: 10000, // 10 second timeout for webhooks
|
|
411
411
|
};
|
package/dist/queue/defaults.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module @bloomneo/appkit/queue
|
|
4
4
|
* @file src/queue/defaults.ts
|
|
5
5
|
*
|
|
6
|
-
* @llm-rule WHEN: App startup - need to parse
|
|
6
|
+
* @llm-rule WHEN: App startup - need to parse BLOOM_QUEUE_* environment variables and detect transports
|
|
7
7
|
* @llm-rule AVOID: Calling multiple times - expensive validation, use lazy loading in get()
|
|
8
8
|
* @llm-rule NOTE: Called once at startup, cached globally for performance like auth/logging modules
|
|
9
9
|
*/
|
|
@@ -45,7 +45,7 @@ export interface QueueConfig {
|
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* Get smart defaults using direct
|
|
48
|
+
* Get smart defaults using direct BLOOM_QUEUE_* environment access
|
|
49
49
|
* @llm-rule WHEN: App startup to get production-ready queue configuration
|
|
50
50
|
* @llm-rule AVOID: Calling repeatedly - validates environment each time, expensive operation
|
|
51
51
|
* @llm-rule NOTE: Called once at startup, cached globally for performance
|
package/dist/queue/defaults.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* @module @bloomneo/appkit/queue
|
|
4
4
|
* @file src/queue/defaults.ts
|
|
5
5
|
*
|
|
6
|
-
* @llm-rule WHEN: App startup - need to parse
|
|
6
|
+
* @llm-rule WHEN: App startup - need to parse BLOOM_QUEUE_* environment variables and detect transports
|
|
7
7
|
* @llm-rule AVOID: Calling multiple times - expensive validation, use lazy loading in get()
|
|
8
8
|
* @llm-rule NOTE: Called once at startup, cached globally for performance like auth/logging modules
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
|
-
* Get smart defaults using direct
|
|
11
|
+
* Get smart defaults using direct BLOOM_QUEUE_* environment access
|
|
12
12
|
* @llm-rule WHEN: App startup to get production-ready queue configuration
|
|
13
13
|
* @llm-rule AVOID: Calling repeatedly - validates environment each time, expensive operation
|
|
14
14
|
* @llm-rule NOTE: Called once at startup, cached globally for performance
|
|
@@ -26,44 +26,44 @@ export function getSmartDefaults() {
|
|
|
26
26
|
return {
|
|
27
27
|
transport,
|
|
28
28
|
// Core settings - direct env access
|
|
29
|
-
concurrency: parseInt(process.env.
|
|
30
|
-
maxAttempts: parseInt(process.env.
|
|
31
|
-
retryDelay: parseInt(process.env.
|
|
32
|
-
retryBackoff: process.env.
|
|
29
|
+
concurrency: parseInt(process.env.BLOOM_QUEUE_CONCURRENCY || (isProduction ? '10' : '5')),
|
|
30
|
+
maxAttempts: parseInt(process.env.BLOOM_QUEUE_MAX_ATTEMPTS || '3'),
|
|
31
|
+
retryDelay: parseInt(process.env.BLOOM_QUEUE_RETRY_DELAY || '5000'),
|
|
32
|
+
retryBackoff: process.env.BLOOM_QUEUE_RETRY_BACKOFF || 'exponential',
|
|
33
33
|
// Job management - direct env access
|
|
34
|
-
defaultPriority: parseInt(process.env.
|
|
35
|
-
removeOnComplete: parseInt(process.env.
|
|
36
|
-
removeOnFail: parseInt(process.env.
|
|
34
|
+
defaultPriority: parseInt(process.env.BLOOM_QUEUE_DEFAULT_PRIORITY || '0'),
|
|
35
|
+
removeOnComplete: parseInt(process.env.BLOOM_QUEUE_REMOVE_COMPLETE || (isProduction ? '100' : '10')),
|
|
36
|
+
removeOnFail: parseInt(process.env.BLOOM_QUEUE_REMOVE_FAILED || (isProduction ? '500' : '50')),
|
|
37
37
|
// Memory transport config - direct env access
|
|
38
38
|
memory: {
|
|
39
|
-
maxJobs: parseInt(process.env.
|
|
40
|
-
cleanupInterval: parseInt(process.env.
|
|
39
|
+
maxJobs: parseInt(process.env.BLOOM_QUEUE_MEMORY_MAX_JOBS || (isDevelopment ? '1000' : '100')),
|
|
40
|
+
cleanupInterval: parseInt(process.env.BLOOM_QUEUE_MEMORY_CLEANUP || '30000'),
|
|
41
41
|
},
|
|
42
42
|
// Redis transport config - direct env access
|
|
43
43
|
redis: {
|
|
44
44
|
url: process.env.REDIS_URL || null,
|
|
45
|
-
keyPrefix: process.env.
|
|
46
|
-
maxRetriesPerRequest: parseInt(process.env.
|
|
47
|
-
retryDelayOnFailover: parseInt(process.env.
|
|
45
|
+
keyPrefix: process.env.BLOOM_QUEUE_REDIS_PREFIX || 'queue',
|
|
46
|
+
maxRetriesPerRequest: parseInt(process.env.BLOOM_QUEUE_REDIS_RETRIES || '3'),
|
|
47
|
+
retryDelayOnFailover: parseInt(process.env.BLOOM_QUEUE_REDIS_FAILOVER_DELAY || '100'),
|
|
48
48
|
},
|
|
49
49
|
// Database transport config - direct env access
|
|
50
50
|
database: {
|
|
51
51
|
url: process.env.DATABASE_URL || null,
|
|
52
|
-
tableName: process.env.
|
|
53
|
-
batchSize: parseInt(process.env.
|
|
54
|
-
pollInterval: parseInt(process.env.
|
|
52
|
+
tableName: process.env.BLOOM_QUEUE_DB_TABLE || 'queue_jobs',
|
|
53
|
+
batchSize: parseInt(process.env.BLOOM_QUEUE_DB_BATCH || '50'),
|
|
54
|
+
pollInterval: parseInt(process.env.BLOOM_QUEUE_DB_POLL || (isProduction ? '5000' : '2000')),
|
|
55
55
|
},
|
|
56
56
|
// Worker config - direct env access
|
|
57
57
|
worker: {
|
|
58
58
|
enabled: workerEnabled,
|
|
59
|
-
gracefulShutdownTimeout: parseInt(process.env.
|
|
60
|
-
stalledInterval: parseInt(process.env.
|
|
61
|
-
maxStalledCount: parseInt(process.env.
|
|
59
|
+
gracefulShutdownTimeout: parseInt(process.env.BLOOM_QUEUE_SHUTDOWN_TIMEOUT || '30000'),
|
|
60
|
+
stalledInterval: parseInt(process.env.BLOOM_QUEUE_STALLED_INTERVAL || '30000'),
|
|
61
|
+
maxStalledCount: parseInt(process.env.BLOOM_QUEUE_MAX_STALLED || '1'),
|
|
62
62
|
},
|
|
63
63
|
// Service identification - direct env access
|
|
64
64
|
service: {
|
|
65
|
-
name: process.env.
|
|
66
|
-
version: process.env.
|
|
65
|
+
name: process.env.BLOOM_SERVICE_NAME || process.env.npm_package_name || 'app',
|
|
66
|
+
version: process.env.BLOOM_SERVICE_VERSION || process.env.npm_package_version || '1.0.0',
|
|
67
67
|
environment: nodeEnv,
|
|
68
68
|
},
|
|
69
69
|
};
|
|
@@ -75,7 +75,7 @@ export function getSmartDefaults() {
|
|
|
75
75
|
*/
|
|
76
76
|
function getTransport() {
|
|
77
77
|
// Manual override wins (like auth module pattern)
|
|
78
|
-
const manual = process.env.
|
|
78
|
+
const manual = process.env.BLOOM_QUEUE_TRANSPORT?.toLowerCase();
|
|
79
79
|
if (manual === 'memory' || manual === 'redis' || manual === 'database') {
|
|
80
80
|
return manual;
|
|
81
81
|
}
|
|
@@ -95,7 +95,7 @@ function getTransport() {
|
|
|
95
95
|
*/
|
|
96
96
|
function getWorkerEnabled(isDevelopment) {
|
|
97
97
|
// Explicit worker mode setting
|
|
98
|
-
const workerEnv = process.env.
|
|
98
|
+
const workerEnv = process.env.BLOOM_QUEUE_WORKER;
|
|
99
99
|
if (workerEnv !== undefined) {
|
|
100
100
|
return workerEnv.toLowerCase() === 'true';
|
|
101
101
|
}
|
|
@@ -116,24 +116,24 @@ function getWorkerEnabled(isDevelopment) {
|
|
|
116
116
|
*/
|
|
117
117
|
export function validateEnvironment() {
|
|
118
118
|
// Validate concurrency
|
|
119
|
-
const concurrency = process.env.
|
|
119
|
+
const concurrency = process.env.BLOOM_QUEUE_CONCURRENCY;
|
|
120
120
|
if (concurrency && (isNaN(parseInt(concurrency)) || parseInt(concurrency) < 1 || parseInt(concurrency) > 100)) {
|
|
121
|
-
throw new Error(`Invalid
|
|
121
|
+
throw new Error(`Invalid BLOOM_QUEUE_CONCURRENCY: "${concurrency}". Must be number between 1 and 100`);
|
|
122
122
|
}
|
|
123
123
|
// Validate max attempts
|
|
124
|
-
const maxAttempts = process.env.
|
|
124
|
+
const maxAttempts = process.env.BLOOM_QUEUE_MAX_ATTEMPTS;
|
|
125
125
|
if (maxAttempts && (isNaN(parseInt(maxAttempts)) || parseInt(maxAttempts) < 1 || parseInt(maxAttempts) > 10)) {
|
|
126
|
-
throw new Error(`Invalid
|
|
126
|
+
throw new Error(`Invalid BLOOM_QUEUE_MAX_ATTEMPTS: "${maxAttempts}". Must be number between 1 and 10`);
|
|
127
127
|
}
|
|
128
128
|
// Validate retry backoff
|
|
129
|
-
const backoff = process.env.
|
|
129
|
+
const backoff = process.env.BLOOM_QUEUE_RETRY_BACKOFF;
|
|
130
130
|
if (backoff && !['fixed', 'exponential'].includes(backoff)) {
|
|
131
|
-
throw new Error(`Invalid
|
|
131
|
+
throw new Error(`Invalid BLOOM_QUEUE_RETRY_BACKOFF: "${backoff}". Must be: fixed, exponential`);
|
|
132
132
|
}
|
|
133
133
|
// Validate transport selection
|
|
134
|
-
const transport = process.env.
|
|
134
|
+
const transport = process.env.BLOOM_QUEUE_TRANSPORT;
|
|
135
135
|
if (transport && !['memory', 'redis', 'database'].includes(transport)) {
|
|
136
|
-
throw new Error(`Invalid
|
|
136
|
+
throw new Error(`Invalid BLOOM_QUEUE_TRANSPORT: "${transport}". Must be: memory, redis, database`);
|
|
137
137
|
}
|
|
138
138
|
// Validate Redis URL if provided
|
|
139
139
|
const redisUrl = process.env.REDIS_URL;
|
|
@@ -146,15 +146,15 @@ export function validateEnvironment() {
|
|
|
146
146
|
throw new Error(`Invalid DATABASE_URL: "${dbUrl}". Must be valid database connection string`);
|
|
147
147
|
}
|
|
148
148
|
// Validate worker setting
|
|
149
|
-
const worker = process.env.
|
|
149
|
+
const worker = process.env.BLOOM_QUEUE_WORKER;
|
|
150
150
|
if (worker && !['true', 'false'].includes(worker.toLowerCase())) {
|
|
151
|
-
throw new Error(`Invalid
|
|
151
|
+
throw new Error(`Invalid BLOOM_QUEUE_WORKER: "${worker}". Must be: true, false`);
|
|
152
152
|
}
|
|
153
153
|
// Validate numeric values
|
|
154
|
-
validateNumericEnv('
|
|
155
|
-
validateNumericEnv('
|
|
156
|
-
validateNumericEnv('
|
|
157
|
-
validateNumericEnv('
|
|
154
|
+
validateNumericEnv('BLOOM_QUEUE_RETRY_DELAY', 1000, 300000); // 1s to 5min
|
|
155
|
+
validateNumericEnv('BLOOM_QUEUE_MEMORY_MAX_JOBS', 100, 100000); // 100 to 100k
|
|
156
|
+
validateNumericEnv('BLOOM_QUEUE_DB_POLL', 1000, 60000); // 1s to 1min
|
|
157
|
+
validateNumericEnv('BLOOM_QUEUE_SHUTDOWN_TIMEOUT', 5000, 120000); // 5s to 2min
|
|
158
158
|
}
|
|
159
159
|
/**
|
|
160
160
|
* Validate numeric environment variable
|
|
@@ -48,7 +48,7 @@ export interface SecurityError extends Error {
|
|
|
48
48
|
[key: string]: any;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* Gets smart defaults using
|
|
51
|
+
* Gets smart defaults using BLOOM_SECURITY_* environment variables
|
|
52
52
|
* @llm-rule WHEN: App startup to get production-ready security configuration
|
|
53
53
|
* @llm-rule AVOID: Calling repeatedly - expensive validation, cache the result
|
|
54
54
|
* @llm-rule NOTE: Automatically configures CSRF, rate limiting, and encryption from environment
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @llm-rule NOTE: Called once at startup, cached globally for performance
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
|
-
* Gets smart defaults using
|
|
11
|
+
* Gets smart defaults using BLOOM_SECURITY_* environment variables
|
|
12
12
|
* @llm-rule WHEN: App startup to get production-ready security configuration
|
|
13
13
|
* @llm-rule AVOID: Calling repeatedly - expensive validation, cache the result
|
|
14
14
|
* @llm-rule NOTE: Automatically configures CSRF, rate limiting, and encryption from environment
|
|
@@ -22,28 +22,28 @@ export function getSmartDefaults() {
|
|
|
22
22
|
return {
|
|
23
23
|
// CSRF configuration with fallback to auth secret
|
|
24
24
|
csrf: {
|
|
25
|
-
secret: process.env.
|
|
26
|
-
tokenField: process.env.
|
|
27
|
-
headerField: process.env.
|
|
28
|
-
expiryMinutes: parseInt(process.env.
|
|
25
|
+
secret: process.env.BLOOM_SECURITY_CSRF_SECRET || process.env.BLOOM_AUTH_SECRET || '',
|
|
26
|
+
tokenField: process.env.BLOOM_SECURITY_CSRF_FIELD || '_csrf',
|
|
27
|
+
headerField: process.env.BLOOM_SECURITY_CSRF_HEADER || 'x-csrf-token',
|
|
28
|
+
expiryMinutes: parseInt(process.env.BLOOM_SECURITY_CSRF_EXPIRY || '60'),
|
|
29
29
|
},
|
|
30
30
|
// Rate limiting with production-ready defaults
|
|
31
31
|
rateLimit: {
|
|
32
|
-
maxRequests: parseInt(process.env.
|
|
33
|
-
windowMs: parseInt(process.env.
|
|
34
|
-
message: process.env.
|
|
32
|
+
maxRequests: parseInt(process.env.BLOOM_SECURITY_RATE_LIMIT || '100'),
|
|
33
|
+
windowMs: parseInt(process.env.BLOOM_SECURITY_RATE_WINDOW || String(15 * 60 * 1000)), // 15 minutes
|
|
34
|
+
message: process.env.BLOOM_SECURITY_RATE_MESSAGE || 'Too many requests, please try again later',
|
|
35
35
|
},
|
|
36
36
|
// Input sanitization configuration
|
|
37
37
|
sanitization: {
|
|
38
|
-
maxLength: parseInt(process.env.
|
|
39
|
-
allowedTags: process.env.
|
|
40
|
-
? process.env.
|
|
38
|
+
maxLength: parseInt(process.env.BLOOM_SECURITY_MAX_INPUT_LENGTH || '1000'),
|
|
39
|
+
allowedTags: process.env.BLOOM_SECURITY_ALLOWED_TAGS
|
|
40
|
+
? process.env.BLOOM_SECURITY_ALLOWED_TAGS.split(',').map(tag => tag.trim())
|
|
41
41
|
: [],
|
|
42
|
-
stripAllTags: process.env.
|
|
42
|
+
stripAllTags: process.env.BLOOM_SECURITY_STRIP_ALL_TAGS === 'true',
|
|
43
43
|
},
|
|
44
44
|
// Encryption configuration with AES-256-GCM
|
|
45
45
|
encryption: {
|
|
46
|
-
key: process.env.
|
|
46
|
+
key: process.env.BLOOM_SECURITY_ENCRYPTION_KEY,
|
|
47
47
|
algorithm: 'aes-256-gcm',
|
|
48
48
|
ivLength: 16,
|
|
49
49
|
tagLength: 16,
|
|
@@ -67,58 +67,58 @@ export function getSmartDefaults() {
|
|
|
67
67
|
function validateEnvironment() {
|
|
68
68
|
const nodeEnv = process.env.NODE_ENV || 'development';
|
|
69
69
|
// Validate CSRF secret in production
|
|
70
|
-
const csrfSecret = process.env.
|
|
70
|
+
const csrfSecret = process.env.BLOOM_SECURITY_CSRF_SECRET || process.env.BLOOM_AUTH_SECRET;
|
|
71
71
|
if (!csrfSecret && nodeEnv === 'production') {
|
|
72
|
-
console.warn('[
|
|
72
|
+
console.warn('[Bloomneo AppKit] BLOOM_SECURITY_CSRF_SECRET not set. ' +
|
|
73
73
|
'CSRF protection will not work in production. ' +
|
|
74
|
-
'Set
|
|
74
|
+
'Set BLOOM_SECURITY_CSRF_SECRET or BLOOM_AUTH_SECRET environment variable.');
|
|
75
75
|
}
|
|
76
76
|
// Validate encryption key if provided
|
|
77
|
-
const encryptionKey = process.env.
|
|
77
|
+
const encryptionKey = process.env.BLOOM_SECURITY_ENCRYPTION_KEY;
|
|
78
78
|
if (encryptionKey) {
|
|
79
79
|
validateEncryptionKey(encryptionKey);
|
|
80
80
|
}
|
|
81
81
|
// Validate rate limit values
|
|
82
|
-
const rateLimit = process.env.
|
|
82
|
+
const rateLimit = process.env.BLOOM_SECURITY_RATE_LIMIT;
|
|
83
83
|
if (rateLimit) {
|
|
84
84
|
const rateLimitNum = parseInt(rateLimit);
|
|
85
85
|
if (isNaN(rateLimitNum) || rateLimitNum <= 0) {
|
|
86
|
-
throw new Error(`Invalid
|
|
86
|
+
throw new Error(`Invalid BLOOM_SECURITY_RATE_LIMIT: "${rateLimit}". Must be a positive number.`);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
const rateWindow = process.env.
|
|
89
|
+
const rateWindow = process.env.BLOOM_SECURITY_RATE_WINDOW;
|
|
90
90
|
if (rateWindow) {
|
|
91
91
|
const rateWindowNum = parseInt(rateWindow);
|
|
92
92
|
if (isNaN(rateWindowNum) || rateWindowNum <= 0) {
|
|
93
|
-
throw new Error(`Invalid
|
|
93
|
+
throw new Error(`Invalid BLOOM_SECURITY_RATE_WINDOW: "${rateWindow}". Must be a positive number (milliseconds).`);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
// Validate max input length
|
|
97
|
-
const maxLength = process.env.
|
|
97
|
+
const maxLength = process.env.BLOOM_SECURITY_MAX_INPUT_LENGTH;
|
|
98
98
|
if (maxLength) {
|
|
99
99
|
const maxLengthNum = parseInt(maxLength);
|
|
100
100
|
if (isNaN(maxLengthNum) || maxLengthNum <= 0) {
|
|
101
|
-
throw new Error(`Invalid
|
|
101
|
+
throw new Error(`Invalid BLOOM_SECURITY_MAX_INPUT_LENGTH: "${maxLength}". Must be a positive number.`);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
// Validate CSRF expiry
|
|
105
|
-
const csrfExpiry = process.env.
|
|
105
|
+
const csrfExpiry = process.env.BLOOM_SECURITY_CSRF_EXPIRY;
|
|
106
106
|
if (csrfExpiry) {
|
|
107
107
|
const csrfExpiryNum = parseInt(csrfExpiry);
|
|
108
108
|
if (isNaN(csrfExpiryNum) || csrfExpiryNum <= 0) {
|
|
109
|
-
throw new Error(`Invalid
|
|
109
|
+
throw new Error(`Invalid BLOOM_SECURITY_CSRF_EXPIRY: "${csrfExpiry}". Must be a positive number (minutes).`);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
// Production-specific warnings
|
|
113
113
|
if (nodeEnv === 'production') {
|
|
114
114
|
if (!encryptionKey) {
|
|
115
|
-
console.warn('[
|
|
115
|
+
console.warn('[Bloomneo AppKit] BLOOM_SECURITY_ENCRYPTION_KEY not set. ' +
|
|
116
116
|
'Data encryption will not be available in production.');
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
// Validate NODE_ENV
|
|
120
120
|
if (nodeEnv && !['development', 'production', 'test', 'staging'].includes(nodeEnv)) {
|
|
121
|
-
console.warn(`[
|
|
121
|
+
console.warn(`[Bloomneo AppKit] Unusual NODE_ENV: "${nodeEnv}". ` +
|
|
122
122
|
`Expected: development, production, test, or staging`);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
@@ -130,16 +130,16 @@ function validateEnvironment() {
|
|
|
130
130
|
*/
|
|
131
131
|
function validateEncryptionKey(key) {
|
|
132
132
|
if (typeof key !== 'string') {
|
|
133
|
-
throw new Error('
|
|
133
|
+
throw new Error('BLOOM_SECURITY_ENCRYPTION_KEY must be a string.');
|
|
134
134
|
}
|
|
135
135
|
// Check if it's a valid hex string
|
|
136
136
|
if (!/^[0-9a-fA-F]+$/.test(key)) {
|
|
137
|
-
throw new Error('
|
|
137
|
+
throw new Error('BLOOM_SECURITY_ENCRYPTION_KEY must be a valid hexadecimal string. ' +
|
|
138
138
|
'Generate one using: node -e "console.log(require(\'crypto\').randomBytes(32).toString(\'hex\'))"');
|
|
139
139
|
}
|
|
140
140
|
// Check length (should be 64 hex characters for 32 bytes)
|
|
141
141
|
if (key.length !== 64) {
|
|
142
|
-
throw new Error(`
|
|
142
|
+
throw new Error(`BLOOM_SECURITY_ENCRYPTION_KEY must be 64 hex characters (32 bytes). ` +
|
|
143
143
|
`Current length: ${key.length}. ` +
|
|
144
144
|
`Generate one using: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"`);
|
|
145
145
|
}
|
package/dist/security/index.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ declare function isProduction(): boolean;
|
|
|
52
52
|
* Generate a secure encryption key for production use
|
|
53
53
|
* @llm-rule WHEN: Setting up encryption for the first time or rotating keys
|
|
54
54
|
* @llm-rule AVOID: Using weak or predictable keys - always use this for key generation
|
|
55
|
-
* @llm-rule NOTE: Returns 64-character hex string suitable for
|
|
55
|
+
* @llm-rule NOTE: Returns 64-character hex string suitable for BLOOM_SECURITY_ENCRYPTION_KEY
|
|
56
56
|
*/
|
|
57
57
|
declare function generateKey(): string;
|
|
58
58
|
/**
|