@lenne.tech/nest-server 12.3.0 → 12.3.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/.claude/rules/configurable-features.md +2 -1
- package/.claude/rules/package-management.md +5 -1
- package/.claude/rules/testing.md +3 -3
- package/FRAMEWORK-API.md +2 -2
- package/dist/core/common/interceptors/check-security.interceptor.js +19 -2
- package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +1 -0
- package/dist/core/common/services/email.service.d.ts +3 -0
- package/dist/core/common/services/email.service.js +20 -0
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/modules/ai/core-ai.constants.d.ts +1 -0
- package/dist/core/modules/ai/core-ai.constants.js +1 -0
- package/dist/core/modules/ai/core-ai.constants.js.map +1 -1
- package/dist/core/modules/ai/core-ai.controller.d.ts +3 -0
- package/dist/core/modules/ai/core-ai.controller.js +18 -1
- package/dist/core/modules/ai/core-ai.controller.js.map +1 -1
- package/dist/core/modules/ai/core-ai.module.js +2 -1
- package/dist/core/modules/ai/core-ai.module.js.map +1 -1
- package/dist/core/modules/ai/index.d.ts +1 -0
- package/dist/core/modules/ai/index.js +1 -0
- package/dist/core/modules/ai/index.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-status.model.d.ts +3 -0
- package/dist/core/modules/ai/models/core-ai-status.model.js +25 -0
- package/dist/core/modules/ai/models/core-ai-status.model.js.map +1 -0
- package/dist/core/modules/better-auth/better-auth.config.js +7 -3
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/docs/REQUEST-LIFECYCLE.md +3 -3
- package/migration-guides/12.3.0-to-12.3.1.md +136 -0
- package/migration-guides/12.3.1-to-12.3.2.md +52 -0
- package/package.json +7 -7
- package/src/core/common/interceptors/check-security.interceptor.ts +26 -2
- package/src/core/common/interfaces/server-options.interface.ts +15 -0
- package/src/core/common/services/email.service.ts +33 -1
- package/src/core/modules/ai/README.md +15 -0
- package/src/core/modules/ai/core-ai.constants.ts +4 -0
- package/src/core/modules/ai/core-ai.controller.ts +20 -1
- package/src/core/modules/ai/core-ai.module.ts +2 -0
- package/src/core/modules/ai/index.ts +1 -0
- package/src/core/modules/ai/models/core-ai-status.model.ts +16 -0
- package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +5 -2
- package/src/core/modules/better-auth/better-auth.config.ts +9 -4
|
@@ -363,14 +363,18 @@ function buildPlugins(config, options) {
|
|
|
363
363
|
rpID: normalizedPasskey.rpId,
|
|
364
364
|
rpName: normalizedPasskey.rpName,
|
|
365
365
|
};
|
|
366
|
+
const authenticatorSelection = {};
|
|
366
367
|
if (normalizedPasskey.authenticatorAttachment) {
|
|
367
|
-
|
|
368
|
+
authenticatorSelection.authenticatorAttachment = normalizedPasskey.authenticatorAttachment;
|
|
368
369
|
}
|
|
369
370
|
if (normalizedPasskey.residentKey) {
|
|
370
|
-
|
|
371
|
+
authenticatorSelection.residentKey = normalizedPasskey.residentKey;
|
|
371
372
|
}
|
|
372
373
|
if (normalizedPasskey.userVerification) {
|
|
373
|
-
|
|
374
|
+
authenticatorSelection.userVerification = normalizedPasskey.userVerification;
|
|
375
|
+
}
|
|
376
|
+
if (Object.keys(authenticatorSelection).length > 0) {
|
|
377
|
+
passkeyOptions.authenticatorSelection = authenticatorSelection;
|
|
374
378
|
}
|
|
375
379
|
if (normalizedPasskey.webAuthnChallengeCookie) {
|
|
376
380
|
passkeyOptions.advanced = { webAuthnChallengeCookie: normalizedPasskey.webAuthnChallengeCookie };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.config.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"better-auth.config.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AAEjG,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAUjG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAG9C,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAOzD,SAAS,cAAc,CAAC,KAA0C,EAAE,OAAe,EAAE,GAAG,IAAe;IACrG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,IAAI,GAAG,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;IACnC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5B,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5B,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAQD,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAcD,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC9E,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAW7B,SAAS,oBAAoB;IAC3B,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;YACpF,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1C,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAwC;IAC/E,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;YACpF,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAMD,IAAI,yBAAyB,GAAkB,IAAI,CAAC;AAMpD,IAAI,oBAAoB,GAAkB,IAAI,CAAC;AA4H/C,SAAS,oBAAoB,CAAC,IAAa,EAAE,QAAiB;IAC5D,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,IAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,YAAY,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAE,QAAoC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,OAAO;QACL,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YACvE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC7C,MAAM,OAAO,CAAC,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAmED,MAAM,UAAU,mBAAmB,CAAC,IAAmB,EAAE,OAAiC;IACxF,KAAK,OAAO,CAAC,OAAO,EAAE;SACnB,IAAI,CAAC,IAAI,CAAC;SACV,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;QAIT,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAOD,SAAS,YAAY,CAAC,IAAa,EAAE,QAAiB;IACpD,MAAM,MAAM,GAA4B,EAAE,GAAI,IAA4C,EAAE,CAAC;IAC7F,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;YAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAkHD,MAAM,UAAU,wBAAwB,CAAC,OAAgC;IACvE,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAGD,MAAM,UAAU,qBAAqB,CAAC,KAA8B;IAElE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,OAAc,CAAC,EAAE,CAAC;AAC1F,CAAC;AAOD,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,MAAM,EACJ,MAAM,EACN,EAAE,EACF,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,OAAO,GACR,GAAG,OAAO,CAAC;IAIZ,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAG1C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAKD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IAGzF,KAAK,MAAM,MAAM,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAGD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAGrF,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAGD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAGD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,wBAAwB,CAC7C,mBAAmB,CAAC,MAAM,EAAE;QAC1B,oBAAoB;QACpB,YAAY;QACZ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,EACF,oBAAoB,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAC1D,CAAC;IACF,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,cAAc,GAAG,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1E,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,4CAA4C,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACnF,CAAC;IAGD,MAAM,uBAAuB,GAAG,4BAA4B,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAIjH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;IAM3C,MAAM,YAAY,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IAG7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,CACR,4DAA4D,YAAY,IAAI;YAC1E,UAAU,YAAY,sEAAsE,CAC/F,CAAC;IACJ,CAAC;IAGD,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAM5F,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM,gBAAgB,GAA4B;QAEhD,MAAM,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE;QAC/B,QAAQ,EAAE;YACR,YAAY;YACZ,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI;gBAC5B,qBAAqB,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;aACxE,CAAC;YAaF,gBAAgB,EAAE,KAAK;YAUvB,GAAG,CAAC,aAAa,IAAI,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;SACpE;QACD,QAAQ;QACR,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,6BAA6B,EAAE,CAAC,EAAE,CAAS;QAG5E,gBAAgB,EAAE;YAMhB,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,aAAa,KAAK,IAAI;YAC9D,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,KAAK,KAAK;YACnD,QAAQ,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,kBAAkB;aAC3B;YAID,6BAA6B,EAAE,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,KAAK,IAAI;YAgB9F,GAAG,CAAC,eAAe,IAAI;gBACrB,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBAC/B,IAAI,CAAC;wBACH,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAIf,MAAM,CAAC,KAAK,CACV,4DACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAmC;aACrC,CAAC;YAGF,GAAG,CAAC,sBAAsB;gBACxB,MAAM,CAAC,gBAAgB,EAAE,aAAa,KAAK,KAAK,IAAI;gBAClD,iBAAiB,EAAE,KAAK,EAAE,IAA8B,EAAE,EAAE;oBAK1D,mBAAmB,CACjB,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAClC,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,KAAK,CACV,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjG,CACJ,CAAC;gBACJ,CAAC;aACF,CAAC;SACL;QACD,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM;QAClD,eAAe;QACf,IAAI,EAAE;YACJ,gBAAgB;YAChB,SAAS,EAAE,OAAO;SACnB;KACF,CAAC;IAGF,IAAI,uBAAuB,EAAE,CAAC;QAC5B,gBAAgB,CAAC,iBAAiB,GAAG,uBAAuB,CAAC;IAC/D,CAAC;IAID,IAAI,cAAc,EAAE,CAAC;QACnB,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;QAOjD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9G,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT,kDAAkD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB;gBAClG,4FAA4F;gBAC5F,oCAAoC,CACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAMD,IAAI,WAAoC,CAAC;IACzC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,EACJ,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,uBAAuB,EACzC,GAAG,WAAW,EACf,GAAG,MAAM,CAAC,OAAkC,CAAC;QAC9C,WAAW,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC;QAItD,IAAI,WAAW,CAAC,MAAM,IAAI,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjE,WAAW,CAAC,MAAM,GAAG,EAAE,GAAI,gBAAgB,CAAC,MAAiB,EAAE,GAAI,WAAW,CAAC,MAAiB,EAAE,CAAC;QACrG,CAAC;QAaD,IAAI,uBAAuB,IAAI,OAAO,uBAAuB,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,gBAAgB,CAAC,gBAA2C,CAAC;YAC1E,MAAM,QAAQ,GAAG,uBAAkD,CAAC;YACpE,WAAW,CAAC,gBAAgB,GAAG;gBAC7B,GAAG,IAAI;gBACP,GAAG,QAAQ;gBAOX,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAaxD,GAAG,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;aACxE,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YAO3D,MAAM,YAAY,GAAG,uBAAuB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YAC5E,IAAI,YAAY;gBAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,WAAW,CAAC,QAAQ,GAAG;gBACrB,GAAI,gBAAgB,CAAC,QAAoC;gBACzD,GAAI,eAA2C;gBAS/C,GAAG,CAAC,aAAa,IAAI;oBACnB,uBAAuB,EAAE;wBACvB,MAAM,EAAE,IAAI;wBACZ,GAAK,eAA2C,CAAC,uBAEnC;qBACf;iBACF,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,gBAAgB,CAAC;IACjC,CAAC;IAGD,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACxE,OAAO,EAAE,WAAW;KACrB,CAAC;AACJ,CAAC;AAmBD,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACX,OAAO,EAAE;gBACP,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,KAAK,EAAE,KAAK,EAAE,OAA6B,EAAE,EAAE;gCAC7C,IAAI,CAAC;oCACH,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;wCACpB,yBAAyB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oCAC/D,CAAC;gCACH,CAAC;gCAAC,MAAM,CAAC;gCAET,CAAC;4BACH,CAAC;yBACF;qBACF;iBACF;aACF;SACF,CAAC;KACiB,CAAC;AACxB,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAE5C,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAG9C,SAAS,GAAG,SAAS;SAClB,KAAK,CAAC,MAAM,CAAC;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,SAAS,CAAC;AACnB,CAAC;AAYD,SAAS,4BAA4B,CACnC,MAAmB,EACnB,SAGC;IAED,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;IAMnE,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAEzD,IAAI,uBAAuB,KAAK,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,uBAAuB,KAAK,QAAQ,IAAI,uBAAuB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,SAAS,GAAG,OAAO,uBAAuB,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC;IAG/C,MAAM,2BAA2B,GAAG,SAAS,CAAC,2BAA2B,KAAK,IAAI,CAAC;IAEnF,MAAM,MAAM,GAA4B;QACtC,2BAA2B;QAC3B,SAAS;QAET,YAAY,EAAE,IAAI;QAElB,YAAY,EAAE,IAAI;KACnB,CAAC;IAGF,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,CAAC,qBAAqB,GAAG,KAAK,EAAE,IAA8B,EAAE,QAAkB,EAAE,EAAE;YAM1F,mBAAmB,CACjB,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EACjC,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,KAAK,CACV,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAChG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACjD,CACJ,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAGD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,sBAAsB,GAAG,KAAK,EAAE,IAA6B,EAAE,QAAkB,EAAE,EAAE;YAE1F,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAiBD,SAAS,YAAY,CACnB,MAAmB,EACnB,OAAiF;IAEjF,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAGpD,MAAM,OAAO,GAAuB,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAIlE,MAAM,qBAAqB,GACzB,MAAM,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAC5F,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CACV,GAAG,CAAC;YACF,GAAG,EAAE;gBACH,cAAc,EAAE,SAAS,CAAC,SAAS,IAAI,KAAK;aAC7C;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAID,MAAM,2BAA2B,GAC/B,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAC9G,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,CAAC,IAAI,CACV,SAAS,CAAC;YAER,MAAM,EAAE,eAAe,CAAC,OAAO,IAAI,iBAAiB,CAAC,SAAS,CAAC;SAChE,CAAC,CACH,CAAC;IACJ,CAAC;IAID,IAAI,oBAAoB,CAAC,OAAO,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QAC1E,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC;QAGhE,MAAM,cAAc,GAA4B;YAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,MAAM,EAAE,iBAAiB,CAAC,MAAM;SACjC,CAAC;QAIF,MAAM,sBAAsB,GAA2B,EAAE,CAAC;QAC1D,IAAI,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;YAC9C,sBAAsB,CAAC,uBAAuB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC;QAC7F,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAClC,sBAAsB,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;QACrE,CAAC;QACD,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACvC,sBAAsB,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,cAAc,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACjE,CAAC;QACD,IAAI,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;YAE9C,cAAc,CAAC,QAAQ,GAAG,EAAE,uBAAuB,EAAE,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;QACnG,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,CAAC;IAQD,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAID,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,OAA8B,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,SAAS,gBAAgB,CAA6B,MAAS;IAC7D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA0C,EAAE,CAAC;QACtG,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,qBAAqB,GAAyC,EAAE,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,EAAE,aAAa,KAAK,IAAI,CAAC;IAKrE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACtE,IAAI,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gBAChF,qBAAqB,CAAC,IAAI,CAAC,GAAG;oBAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,aAAa,EAAE,OAAO,QAAQ,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;iBACnG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAyBD,MAAM,UAAU,mBAAmB,CACjC,MAAmB,EACnB,OAIC;IAED,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAGzE,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IAKD,IAAI,gBAAgB,KAAK,KAAK,IAAI,CAAC,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,EAAE,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC;QAChH,OAAO,EAAE,CAAC;IACZ,CAAC;IAmBD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QACrF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,YAAY,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IAGD,IAAI,oBAAoB,CAAC,OAAO,IAAI,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAChF,OAAO,oBAAoB,CAAC,cAAc,CAAC;IAC7C,CAAC;IAGD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAGD,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAAC,YAA0C;IAC7E,MAAM,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAE,EAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAkD,CAAC;IACnF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AASD,MAAM,UAAU,wBAAwB,CACtC,cAAoC,EACpC,YAAgC;IAEhC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAsBD,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAO7G,SAAS,eAAe,CAAC,MAAmB;IAE1C,MAAM,UAAU,GAAoC;QAClD,SAAS,EAAE;YACT,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,OAAO;YAGlB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,UAAU;YACrB,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,OAAO;YAIlB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,UAAU;SACjB;QAED,yBAAyB,EAAE;YACzB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,2BAA2B;YAEtC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM;SACb;QACD,gBAAgB,EAAE;YAChB,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,kBAAkB;YAG7B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,SAAS;SAChB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,UAAU;YAGrB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,SAAS;SAChB;QAED,UAAU,EAAE;YACV,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,YAAY;YAGvB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM;SACb;KACF,CAAC;IAKF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvE,UAAU,CAAC,GAAG,CAAC,GAAG;gBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG;gBACjC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,KAAK,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC7C,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IAOD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,0BAA0B,CAAC,CAAC;IACrE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3F,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAaD,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAGpB,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAGtD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,OAAO,IAAI,SAAS,GAAG,CAAC;AAC1B,CAAC;AAMD,SAAS,sBAAsB;IAC7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,yBAAyB,GAAG,oBAAoB,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAqBD,SAAS,iBAAiB,CAAC,SAAkB;IAE3C,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAClC,oBAAoB,GAAG,8BAA8B,EAAE,CAAC;IAC1D,CAAC;IAID,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,oBAAoB,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACnF,CAAC;AAKD,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;AACvC,CAAC;AAKD,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAMD,SAAS,8BAA8B;IACrC,MAAM,QAAQ,GAAG,aAAa,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,WAAW,CAAC,IAAI,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7D,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAoCD,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAGpC,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACzD,OAAO,WAAW,CAAC;QACrB,CAAC;QAID,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAGlC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAID,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAqBD,SAAS,sBAAsB,CAC7B,MAAmB,EACnB,OAA2D;IAE3D,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAI9B,MAAM,oBAAoB,GACxB,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAExG,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC7F,CAAC;IAGD,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAG3E,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;IAC5D,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM;QACvD,CAAC,CAAC,MAAM,CAAC,cAAc;QACvB,CAAC,CAAC,YAAY,CAAC,MAAM;YACnB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC;IAGhB,MAAM,iBAAiB,GAAG,SAAS,IAAI,WAAW,IAAI,mBAAmB,EAAE,MAAM,CAAC;IAElF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEvB,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW;YAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,EAAE,MAAM;YAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEvE,QAAQ,CAAC,IAAI,CACX,4DAA4D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACvF,uFAAuF,CAC1F,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,gBAAgB;YACd,mFAAmF;YACnF,uFAAuF;YACvF,8DAA8D,CACjE,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC7F,CAAC;IAGD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,wBAAwB,SAAS,+BAA+B,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,0BAA0B,WAAW,cAAc,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpG,CAAC;IAID,MAAM,gBAAgB,GAA4B;QAChD,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC;KACzD,CAAC;IAGF,IAAI,SAAS,CAAC,uBAAuB,EAAE,CAAC;QACtC,gBAAgB,CAAC,uBAAuB,GAAG,SAAS,CAAC,uBAAuB,CAAC;IAC/E,CAAC;IACD,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACjE,CAAC;IACD,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAClC,gBAAgB,CAAC,mBAAmB,GAAG,SAAS,CAAC,mBAAmB,CAAC;IACvE,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IACvD,CAAC;IACD,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACjE,CAAC;IACD,IAAI,SAAS,CAAC,uBAAuB,EAAE,CAAC;QACtC,gBAAgB,CAAC,uBAAuB,GAAG,SAAS,CAAC,uBAAuB,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,gBAAgB;QAChB,OAAO;QACP,cAAc,EAAE,mBAAmB;QACnC,QAAQ;KACT,CAAC;AACJ,CAAC;AAqBD,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,uCAAuC,CAAC;AAwB/C,MAAM,UAAU,4BAA4B,CAC1C,MAAmB,EACnB,YAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAG1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAGD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAGD,MAAM,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;IAGD,MAAM,MAAM,GAAG,0BAA0B,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IACvG,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAGD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AA2BD,SAAS,0BAA0B,CAAC,MAAe,EAAE,OAAgB;IAEnE,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;YAC1C,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACzD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAGD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;YAC3C,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACnB,CAAC;YAGD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,OAAgC;IACnD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACrF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAM9B,MAAM,OAAO,GAAG,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACjC,MAAM,EAAE,YAAY;QAEpB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,aAAa;QACxC,YAAY,EAAE,OAAO,EAAE,YAAY;QACnC,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAErC,IAAI,QAAQ,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,yCAAyC,OAAO,YAAY,SAAS,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,wCAAwC,MAAM,YAAY,SAAS,IAAI,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,6BAA6B,MAAM,mBAAmB,OAAO,GAAG,CAAC,CAAC;IAClF,CAAC;IAID,IAAI,IAAwB,CAAC;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAcD,SAAS,cAAc,CACrB,MAAmB,EACnB,OAGC;IAED,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAChE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAG9B,IAAI,YAAY,GAA+C,UAAU,CAAC;IAC1E,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAGnC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAEpD,MAAM,aAAa,GAAG,eAAe,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/F,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,GAAG,aAAa,CAAC;YAC/B,YAAY,GAAG,UAAU,CAAC;QAC5B,CAAC;aAAM,CAAC;YAEN,cAAc,GAAG,sBAAsB,EAAE,CAAC;YAC1C,YAAY,GAAG,gBAAgB,CAAC;QAClC,CAAC;IACH,CAAC;IAGD,MAAM,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAQ,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAGD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,gBAAgB;YACnB,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YAQvF,QAAQ,CAAC,IAAI,CACX,4FAA4F;gBAC1F,2FAA2F;gBAC3F,4EAA4E,CAC/E,CAAC;YACF,QAAQ,CAAC,IAAI,CACX,oGAAoG,CACrG,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;YAC9G,MAAM;QACR,KAAK,UAAU;YACb,QAAQ,CAAC,IAAI,CACX,2GAA2G,CAC5G,CAAC;YAQF,QAAQ,CAAC,IAAI,CACX,8FAA8F;gBAC5F,0FAA0F;gBAC1F,6FAA6F;gBAC7F,gCAAgC,CACnC,CAAC;YACF,MAAM;IAEV,CAAC;IAGD,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAGD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAI,oBAAoB,EAAE,cAAc,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,oBAAoB,CAAC,cAAc,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,+CAA+C,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAI,oBAAoB,EAAE,OAAO,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QAC3E,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,kCAAkC,gBAAgB,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAKD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAEtE,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAE3C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACxC,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAEhD,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;oBAEnC,SAAS;gBACX,CAAC;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;oBAE1C,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,uBAAuB,CAAC,CAAC;oBAC/D,CAAC;oBACD,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,2BAA2B,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBAGN,QAAQ,CAAC,IAAI,CACX,oBAAoB,IAAI,8DAA8D;wBACpF,qFAAqF,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,cAAc;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,QAAQ;KACT,CAAC;AACJ,CAAC;AAMD,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,4CAA4C,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjF,CAAC;IAGD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAEnG,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,qGAAqG;YAC9G,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -180,10 +180,10 @@ JWT-based authentication for existing projects:
|
|
|
180
180
|
| Feature | Description |
|
|
181
181
|
|---------|-------------|
|
|
182
182
|
| **AI Module** | Prompt orchestrator (auto + plan mode), DB-backed LLM connections, tool registry |
|
|
183
|
-
| **REST Endpoints** | `POST /ai/prompt`, `POST /ai/stream` (SSE); `GET/POST/PUT/DELETE /ai/connections*`, `/ai/connections/available`, `/ai/connections/select`, `/ai/connections/preferences*`, `/ai/conversations*`, `/ai/interactions*`, `/ai/budget-limits*`, `GET /ai/usage` |
|
|
183
|
+
| **REST Endpoints** | `GET /ai/status` (public, `{ mcp }`; the route does not exist while the module is off, so it answers 404 — 12.3.1), `POST /ai/prompt`, `POST /ai/stream` (SSE); `GET/POST/PUT/DELETE /ai/connections*`, `/ai/connections/available`, `/ai/connections/select`, `/ai/connections/preferences*`, `/ai/conversations*`, `/ai/interactions*`, `/ai/budget-limits*`, `GET /ai/usage` |
|
|
184
184
|
| **GraphQL Endpoints** | `aiPrompt`, `aiAvailableConnections`, `aiSetUserConnection`, connection/preference/conversation/interaction/budget queries + mutations, `aiUsage` |
|
|
185
185
|
| **MCP Server** | Streamable HTTP at `POST/GET/DELETE /ai/mcp` (Bearer auth; with `ai.mcp.stateless` (12.3.0+) a server and transport per POST, no session, GET / DELETE 405, so any replica answers; `tools/call` runs the admin's tool policies, `authorize()` and the elicitation confirmation (12.3.0+) — refused for tools needing confirmation in stateless mode); a user the controller resolves itself (the OAuth access token, which only this controller accepts, after the guards ran without a user) gets `req.user` and the tenant the header names from an active membership only, through `CoreTenantGuard.resolveMembershipContext()` (11.43.3); with `ai.mcp.oauth` an OAuth 2.1 router (`/.well-known/*`, `/authorize`, `/token`, `/register`) that `CoreAiMcpOAuthInitializer` mounts during `app.init()` — an Express router behind the Nest middleware and routes, ahead of Nest's not-found handler, so guards and interceptors do not run for it; `/authorize` answers with a built-in consent page (the Better-Auth session from the middleware is the user; Allow is a CSRF-bound POST) |
|
|
186
|
-
| **Permission Model** | `S_USER` for prompt/conversations/available/usage; `ADMIN` for connections/preferences/interactions/budgets; encrypted API keys never leave the server (`securityCheck` + `secretFields`); a prompt continues only the caller's own conversation — a foreign or unknown `conversationId` counts as none, admins included (`CoreAiService.scopeConversation()`, 12.3.0) |
|
|
186
|
+
| **Permission Model** | `S_EVERYONE` for `GET /ai/status` only (no user data, no request input; API tokens refused as on every route without `@ApiTokenScopes()`); `S_USER` for prompt/conversations/available/usage; `ADMIN` for connections/preferences/interactions/budgets; encrypted API keys never leave the server (`securityCheck` + `secretFields`); a prompt continues only the caller's own conversation — a foreign or unknown `conversationId` counts as none, admins included (`CoreAiService.scopeConversation()`, 12.3.0) |
|
|
187
187
|
|
|
188
188
|
### Email & Templates
|
|
189
189
|
|
|
@@ -1703,7 +1703,7 @@ All security features are configured in `config.env.ts` under the `security` key
|
|
|
1703
1703
|
|-------------|------|---------|-------------|
|
|
1704
1704
|
| `security.responseModelInterceptor` | `boolean \| { debug }` | `true` | Plain → Model auto-conversion |
|
|
1705
1705
|
| `security.translateResponseInterceptor` | `boolean` | `true` | Auto translation application |
|
|
1706
|
-
| `security.secretFields` | `string[]` | `['password', ...]` | Global secret field removal list |
|
|
1706
|
+
| `security.secretFields` | `string[]` | `['password', ...]` | Global secret field removal list, added to the defaults; each field is also stripped under its SQL column name (`password_reset_token`, 12.3.1) |
|
|
1707
1707
|
| `security.checkSecurityInterceptor.removeSecretFields` | `boolean` | `true` | Fallback secret removal |
|
|
1708
1708
|
|
|
1709
1709
|
### Role Guard Bypass
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Migration Guide: 12.3.0 → 12.3.1
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
| Category | Details |
|
|
6
|
+
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| **Security** | better-auth 1.7.16: closes the better-auth advisories published on 2026-11-03 — social sign-in, passkeys, e-mail change, revoked sessions with a session cache — and brings better-call 1.4.5 (§1) |
|
|
8
|
+
| **New Features** | `GET /ai/status`: a public answer whether the AI module is on and whether MCP runs (§2) |
|
|
9
|
+
| **Bugfixes** | `betterAuth.passkey.userVerification`, `residentKey` and `authenticatorAttachment` take effect — they never reached the passkey plugin before (§3). The HTTP safety net strips secret fields under their SQL column names too, so a native SQL row returned by a route no longer hands out `password_reset_token` and the other secrets (§4) |
|
|
10
|
+
| **Breaking Changes** | The better-auth peer range starts at 1.7.16 (was 1.7.12). A project pinning an older version gets a peer warning, and keeps the vulnerability, until it raises the pin (§1). A project that set one of the three passkey options now gets what it configured (§3) |
|
|
11
|
+
| **Migration Effort** | Raise the better-auth trio to 1.7.16 in the API **and** in the app, in the same change (§1). Check §3 if your `betterAuth.passkey` block sets `userVerification`, `residentKey` or `authenticatorAttachment` |
|
|
12
|
+
|
|
13
|
+
## Quick Migration
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# API (projects/api)
|
|
17
|
+
pnpm add better-auth@1.7.16 @better-auth/passkey@1.7.16 @better-auth/core@1.7.16
|
|
18
|
+
pnpm add @lenne.tech/nest-server@12.3.1
|
|
19
|
+
pnpm run update # nest-server-starter based projects
|
|
20
|
+
|
|
21
|
+
# App (projects/app) — together with @lenne.tech/nuxt-extensions, see its release notes
|
|
22
|
+
pnpm add better-auth@1.7.16 @better-auth/passkey@1.7.16
|
|
23
|
+
|
|
24
|
+
pnpm run build && pnpm test
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Vendor-mode projects pick it up with the core update (`/lt-dev:backend:update-nest-server-core`) and raise the trio in
|
|
28
|
+
their own `package.json`.
|
|
29
|
+
|
|
30
|
+
## 1. better-auth 1.7.16 (security)
|
|
31
|
+
|
|
32
|
+
better-auth 1.7.16 closes the better-auth advisories published on 2026-11-03. Whether one reaches your project depends
|
|
33
|
+
on the features it uses; the ones that can matter for a nest-server project:
|
|
34
|
+
|
|
35
|
+
| Advisory | Affects you when |
|
|
36
|
+
| --------------------- | ----------------------------------------------------------------- |
|
|
37
|
+
| GHSA-fvxx-76fc-893x | revoked sessions stayed valid with secondary storage or the cookie cache |
|
|
38
|
+
| GHSA-9hm7-xhfp-cx58 | social sign-in (`socialProviders`): an unverified provider e-mail counted as verified |
|
|
39
|
+
| GHSA-gv75-j3v8-3crm | passkeys: origin and user verification were not enforced |
|
|
40
|
+
| GHSA-hwq2-v29r-p69r | e-mail change: links stayed valid after the address changed hands |
|
|
41
|
+
| GHSA-48c2-w96j-mv3m | the Kysely / Drizzle adapter on MySQL with serial ids (nest-server uses ObjectId hex ids) |
|
|
42
|
+
|
|
43
|
+
It also pins better-call 1.4.5, which fixes GHSA-23w8-wx9r-vm57 (values a router middleware returns were shared between
|
|
44
|
+
requests). That one is not reachable through nest-server, on 1.7.12 as on 1.7.16: better-auth's handler, which
|
|
45
|
+
nest-server calls for every `/iam/*` request it forwards, builds a new router around a per-request copy of its context,
|
|
46
|
+
so no two requests share one, and nest-server's direct `api.*` calls do not go through a router at all. 1.4.5 is a
|
|
47
|
+
second layer there, not the reason for this release.
|
|
48
|
+
|
|
49
|
+
**Raise all three packages in the API and in the app together.** better-auth is a wire protocol between nest-server
|
|
50
|
+
and nuxt-extensions; the two ends must not run different minors, and the peer ranges of both libraries now start at
|
|
51
|
+
1.7.16. `pnpm run update` does not raise these pins — the project owns them.
|
|
52
|
+
|
|
53
|
+
**Installing before 2026-11-04 21:24 UTC.** pnpm's `minimumReleaseAge` (24 h) refuses the new versions until then.
|
|
54
|
+
To take the fix the same day, exempt exactly these versions in `pnpm-workspace.yaml` (each carries SLSA provenance
|
|
55
|
+
from the projects' own GitHub Actions) and drop the entries with your next maintenance — after that time they change
|
|
56
|
+
nothing:
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
minimumReleaseAgeExclude:
|
|
60
|
+
- '@better-auth/core@1.7.16'
|
|
61
|
+
- '@better-auth/drizzle-adapter@1.7.16'
|
|
62
|
+
- '@better-auth/kysely-adapter@1.7.16'
|
|
63
|
+
- '@better-auth/memory-adapter@1.7.16'
|
|
64
|
+
- '@better-auth/mongo-adapter@1.7.16'
|
|
65
|
+
- '@better-auth/passkey@1.7.16'
|
|
66
|
+
- '@better-auth/prisma-adapter@1.7.16'
|
|
67
|
+
- '@better-auth/telemetry@1.7.16'
|
|
68
|
+
- better-auth@1.7.16
|
|
69
|
+
- better-call@1.4.5
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Never override `better-call` alone instead: better-auth pins it exactly, and an override puts a combination into the
|
|
73
|
+
tree that nobody tested.
|
|
74
|
+
|
|
75
|
+
## 2. `GET /ai/status`
|
|
76
|
+
|
|
77
|
+
A frontend asks before anybody signs in whether it shows the assistant at all:
|
|
78
|
+
|
|
79
|
+
| Server | Answer |
|
|
80
|
+
| ------------------------------ | ------------------------------ |
|
|
81
|
+
| `ai` configured, `ai.mcp` off | `200 { "mcp": false }` |
|
|
82
|
+
| `ai` configured, `ai.mcp` on | `200 { "mcp": true }` |
|
|
83
|
+
| no `ai` (or `enabled: false`) | `404` — the route does not exist |
|
|
84
|
+
|
|
85
|
+
The route is public and names no user data; every other `/ai` route keeps its roles. A project controller extending
|
|
86
|
+
`CoreAiController` inherits it. nuxt-extensions reads it through its AI status composable. Nothing to configure.
|
|
87
|
+
|
|
88
|
+
## 3. Passkey options take effect
|
|
89
|
+
|
|
90
|
+
`betterAuth.passkey.userVerification`, `residentKey` and `authenticatorAttachment` were handed to the passkey plugin
|
|
91
|
+
at the top level of its options, where it never reads them: it takes them from `authenticatorSelection`. Every project
|
|
92
|
+
therefore ran on the plugin's defaults (`residentKey` and `userVerification` `"preferred"`, no attachment), whatever it
|
|
93
|
+
configured. Since 12.3.1 the framework passes them where the plugin reads them.
|
|
94
|
+
|
|
95
|
+
Nothing changes for a project that sets none of the three. A project that sets one gets what it configured, and
|
|
96
|
+
better-auth 1.7.16 now enforces `userVerification: 'required'`: a passkey that answers without user verification (no
|
|
97
|
+
biometric or PIN check) is refused at registration and at sign-in. That is the point of the setting — check it is what
|
|
98
|
+
you want before you update:
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
// config.env.ts
|
|
102
|
+
betterAuth: {
|
|
103
|
+
passkey: {
|
|
104
|
+
userVerification: 'required', // refuses passkeys without biometric/PIN verification
|
|
105
|
+
residentKey: 'required', // registration creates a discoverable credential
|
|
106
|
+
authenticatorAttachment: 'platform', // only built-in authenticators (Touch ID, Windows Hello)
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 4. Secret fields are stripped under their SQL column names too
|
|
112
|
+
|
|
113
|
+
`CheckSecurityInterceptor` removes the fields of `security.secretFields` (`password`, `verificationToken`,
|
|
114
|
+
`passwordResetToken`, `refreshTokens`, `tempTokens`, `apiKeyEncrypted`, … plus your own) from every response as
|
|
115
|
+
a safety net. It compared the field names only. A row read through `store.native(reason)` or `store.raw(reason)`
|
|
116
|
+
on a SQL source carries the snake_case columns (`password_reset_token`), so a route that returned such a row
|
|
117
|
+
unchanged — a `SELECT *` or `RETURNING *` — dropped `password` (spelled alike) and handed every other secret to
|
|
118
|
+
the client.
|
|
119
|
+
|
|
120
|
+
Since 12.3.1 each secret field is also stripped under its column name, your own entries in `security.secretFields`
|
|
121
|
+
included. Nothing to change. Still: a route should map a native row to the fields the client needs rather than rely
|
|
122
|
+
on the safety net — see `.claude/rules/persistence.md` → "Native access in three tiers".
|
|
123
|
+
|
|
124
|
+
## Troubleshooting
|
|
125
|
+
|
|
126
|
+
| Symptom | Cause | Fix |
|
|
127
|
+
| ------- | ----- | --- |
|
|
128
|
+
| `ERR_PNPM_NO_MATURE_MATCHING_VERSION` for better-auth 1.7.16 | installed before 2026-11-04 21:24 UTC | add the `minimumReleaseAgeExclude` entries from §1, or wait |
|
|
129
|
+
| `unmet peer better-auth@">=1.7.16 <1.8.0"` | the project still pins an older better-auth | raise the trio (§1) |
|
|
130
|
+
| The app shows no assistant although `ai` is configured | the API answers `/ai/status` with 404 — it runs a version before 12.3.1 | update the API |
|
|
131
|
+
| Passkey registration or sign-in fails after the update for some users | `betterAuth.passkey.userVerification: 'required'` now takes effect, and their authenticator answered without user verification | keep `'required'` and let those users use a verifying authenticator, or set `'preferred'` |
|
|
132
|
+
|
|
133
|
+
## Module Documentation
|
|
134
|
+
|
|
135
|
+
- AI module: [`src/core/modules/ai/README.md`](../src/core/modules/ai/README.md) → "Is the assistant available?"
|
|
136
|
+
- Better-Auth: [`src/core/modules/better-auth/INTEGRATION-CHECKLIST.md`](../src/core/modules/better-auth/INTEGRATION-CHECKLIST.md)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Migration Guide: 12.3.1 → 12.3.2
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
| Category | Details |
|
|
6
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| **New Features** | Optional Reply-To for outgoing mail: `email.defaultReplyTo` and a per-call `replyTo` (§1) |
|
|
8
|
+
| **Breaking Changes** | None |
|
|
9
|
+
| **Migration Effort** | None. Set `email.defaultReplyTo` only if answers to your mail should go to another address (§1) |
|
|
10
|
+
|
|
11
|
+
## Quick Migration
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm add @lenne.tech/nest-server@12.3.2
|
|
15
|
+
pnpm run update # nest-server-starter based projects
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Vendor-mode projects pick it up with the core update (`/lt-dev:backend:update-nest-server-core`).
|
|
19
|
+
|
|
20
|
+
## 1. Reply-To for outgoing mail
|
|
21
|
+
|
|
22
|
+
`EmailService.sendMail()` can set a `Reply-To` header, so a recipient's answer goes to another address than the
|
|
23
|
+
sender, e.g. a shared support mailbox while mail goes out from `noreply@…`. Nothing changes until you set it.
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
// config.env.ts
|
|
27
|
+
email: {
|
|
28
|
+
defaultSender: { email: 'noreply@example.com', name: 'Example' },
|
|
29
|
+
defaultReplyTo: 'support@example.com', // or '"Example Support" <support@example.com>'
|
|
30
|
+
},
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
As an environment variable:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
NSC__EMAIL__DEFAULT_REPLY_TO=support@example.com
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
A call can override it, or send one mail without it:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
await this.emailService.sendMail(to, subject, { replyTo: 'sales@example.com', htmlTemplate, templateData });
|
|
43
|
+
await this.emailService.sendMail(to, subject, { replyTo: false, htmlTemplate, templateData });
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The default applies to every mail the service sends over SMTP, Better-Auth's verification and password-reset mail
|
|
47
|
+
included. Mail sent through Brevo (`brevo.apiKey`) or Mailjet is not affected: their templates carry their own
|
|
48
|
+
reply-to. A value that is not a string is ignored with one warning rather than stopping the mail.
|
|
49
|
+
|
|
50
|
+
## Module Documentation
|
|
51
|
+
|
|
52
|
+
- Configuration reference: `email.defaultReplyTo` in `FRAMEWORK-API.md` (`IServerOptions.email`)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/nest-server",
|
|
3
|
-
"version": "12.3.
|
|
3
|
+
"version": "12.3.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Server framework in TypeScript on top of NestJS: GraphQL and REST APIs on MongoDB, PostgreSQL, MySQL or MariaDB, with authentication, field-level permissions, multi-tenancy, offline sync and an AI assistant.",
|
|
6
6
|
"keywords": [
|
|
@@ -153,12 +153,12 @@
|
|
|
153
153
|
"@aws-sdk/client-s3": ">=3.1045.0 <4",
|
|
154
154
|
"@aws-sdk/lib-storage": ">=3.1045.0 <4",
|
|
155
155
|
"@aws-sdk/s3-request-presigner": ">=3.1045.0 <4",
|
|
156
|
-
"@better-auth/core": ">=1.7.
|
|
157
|
-
"@better-auth/passkey": ">=1.7.
|
|
156
|
+
"@better-auth/core": ">=1.7.16 <1.8.0",
|
|
157
|
+
"@better-auth/passkey": ">=1.7.16 <1.8.0",
|
|
158
158
|
"@nestjs/mongoose": ">=12.0.0 <13",
|
|
159
159
|
"@swc/core": ">=1.10.0 <2",
|
|
160
160
|
"@tus/s3-store": ">=2.0.5 <3",
|
|
161
|
-
"better-auth": ">=1.7.
|
|
161
|
+
"better-auth": ">=1.7.16 <1.8.0",
|
|
162
162
|
"bullmq": ">=5.16.0 <7",
|
|
163
163
|
"drizzle-orm": "1.0.0-rc.5",
|
|
164
164
|
"ioredis": ">=5.0.0 <7",
|
|
@@ -229,8 +229,8 @@
|
|
|
229
229
|
"@aws-sdk/client-s3": "3.1161.0",
|
|
230
230
|
"@aws-sdk/lib-storage": "3.1161.0",
|
|
231
231
|
"@aws-sdk/s3-request-presigner": "3.1161.0",
|
|
232
|
-
"@better-auth/core": "1.7.
|
|
233
|
-
"@better-auth/passkey": "1.7.
|
|
232
|
+
"@better-auth/core": "1.7.16",
|
|
233
|
+
"@better-auth/passkey": "1.7.16",
|
|
234
234
|
"@compodoc/compodoc": "2.0.0",
|
|
235
235
|
"@nestjs/cli": "12.0.11",
|
|
236
236
|
"@nestjs/mongoose": "12.0.0",
|
|
@@ -249,7 +249,7 @@
|
|
|
249
249
|
"@types/passport": "1.0.17",
|
|
250
250
|
"@types/pg": "8.23.1",
|
|
251
251
|
"@vitest/coverage-v8": "5.1.0",
|
|
252
|
-
"better-auth": "1.7.
|
|
252
|
+
"better-auth": "1.7.16",
|
|
253
253
|
"bullmq": "6.5.4",
|
|
254
254
|
"cross-env": "10.1.0",
|
|
255
255
|
"drizzle-orm": "1.0.0-rc.5",
|
|
@@ -6,8 +6,31 @@ import { getContextData } from '../helpers/context.helper.js';
|
|
|
6
6
|
import { hasRestrictionsCheckedMarker } from '../decorators/restrictions-checked.marker.js';
|
|
7
7
|
import { getStringIds } from '../helpers/db.helper.js';
|
|
8
8
|
import { processDeep } from '../helpers/input.helper.js';
|
|
9
|
+
import { columnName } from '../persistence/sql/sql-naming.js';
|
|
9
10
|
import { ConfigService } from '../services/config.service.js';
|
|
10
11
|
|
|
12
|
+
/**
|
|
13
|
+
* The keys a secret field can arrive under: its own name and its SQL column (12.3.1). A row read through
|
|
14
|
+
* `store.native()` / `store.raw()` carries snake_case columns (`password_reset_token`), and a route returning it
|
|
15
|
+
* unchanged handed every secret but `password` — the one spelled alike — to the client. `id` / `_id` keep their own
|
|
16
|
+
* spelling only (their column is `id`), and a name that is no identifier has no column.
|
|
17
|
+
*/
|
|
18
|
+
function secretFieldKeys(fields: string[]): Set<string> {
|
|
19
|
+
const keys = new Set<string>();
|
|
20
|
+
for (const field of fields) {
|
|
21
|
+
keys.add(field);
|
|
22
|
+
if (field === 'id' || field === '_id') {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
keys.add(columnName(field));
|
|
27
|
+
} catch {
|
|
28
|
+
// Not an identifier, so no column carries it
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return keys;
|
|
32
|
+
}
|
|
33
|
+
|
|
11
34
|
/**
|
|
12
35
|
* Verification of all outgoing data via securityCheck
|
|
13
36
|
*/
|
|
@@ -137,6 +160,7 @@ export class CheckSecurityInterceptor implements NestInterceptor {
|
|
|
137
160
|
return proto === null || proto === Object.prototype;
|
|
138
161
|
};
|
|
139
162
|
const visited = new WeakSet();
|
|
163
|
+
const secretKeys = secretFieldKeys(this.config.secretFields);
|
|
140
164
|
const removeSecrets = (data: any) => {
|
|
141
165
|
if (!this.config.removeSecretFields || !data || typeof data !== 'object') {
|
|
142
166
|
return data;
|
|
@@ -155,7 +179,7 @@ export class CheckSecurityInterceptor implements NestInterceptor {
|
|
|
155
179
|
return data;
|
|
156
180
|
}
|
|
157
181
|
visited.add(data);
|
|
158
|
-
for (const field of
|
|
182
|
+
for (const field of secretKeys) {
|
|
159
183
|
if (field in data && data[field] !== undefined) {
|
|
160
184
|
data[field] = undefined;
|
|
161
185
|
}
|
|
@@ -163,7 +187,7 @@ export class CheckSecurityInterceptor implements NestInterceptor {
|
|
|
163
187
|
// Recurse into nested plain objects
|
|
164
188
|
for (const key of Object.keys(data)) {
|
|
165
189
|
const value = data[key];
|
|
166
|
-
if (value && typeof value === 'object' && !
|
|
190
|
+
if (value && typeof value === 'object' && !secretKeys.has(key)) {
|
|
167
191
|
removeSecrets(value);
|
|
168
192
|
}
|
|
169
193
|
}
|
|
@@ -801,6 +801,10 @@ export interface IBetterAuthPasskeyConfig {
|
|
|
801
801
|
* - 'required': Always require biometric/PIN verification (most secure)
|
|
802
802
|
* - 'preferred': Request verification if available (default)
|
|
803
803
|
* - 'discouraged': Skip verification for faster auth (least secure)
|
|
804
|
+
*
|
|
805
|
+
* With 'required', a passkey response without user verification is refused at registration and sign-in. Takes effect
|
|
806
|
+
* since 12.3.1, as do `authenticatorAttachment` and `residentKey`: before, the three reached the passkey plugin where
|
|
807
|
+
* it never reads them.
|
|
804
808
|
* @default 'preferred'
|
|
805
809
|
*/
|
|
806
810
|
userVerification?: 'discouraged' | 'preferred' | 'required';
|
|
@@ -2683,6 +2687,17 @@ export interface IServerOptions {
|
|
|
2683
2687
|
* SMTP and template configuration for sending emails
|
|
2684
2688
|
*/
|
|
2685
2689
|
email?: {
|
|
2690
|
+
/**
|
|
2691
|
+
* Default Reply-To of every mail `EmailService.sendMail()` sends (12.3.2+): where a recipient's answer goes when it
|
|
2692
|
+
* should not reach the sender address, e.g. a shared support mailbox. An address, or `"Name" <address>`.
|
|
2693
|
+
*
|
|
2694
|
+
* Absent (the default) → no Reply-To header, exactly as before. A call overrides it with `replyTo`, and
|
|
2695
|
+
* `replyTo: false` sends that one mail without it. Set it through `NSC__EMAIL__DEFAULT_REPLY_TO`. Applies to the
|
|
2696
|
+
* SMTP path (nodemailer, `email.smtp`): Brevo and Mailjet templates carry their own reply-to.
|
|
2697
|
+
* @default undefined
|
|
2698
|
+
*/
|
|
2699
|
+
defaultReplyTo?: string;
|
|
2700
|
+
|
|
2686
2701
|
/**
|
|
2687
2702
|
* Data for default sender
|
|
2688
2703
|
*/
|
|
@@ -29,6 +29,9 @@ export class EmailService implements OnModuleDestroy {
|
|
|
29
29
|
/** Once-per-process latch for the SMTP TLS warning — a per-send warning would be noise. */
|
|
30
30
|
private smtpTlsWarningEmitted = false;
|
|
31
31
|
|
|
32
|
+
/** Once-per-process latch for a Reply-To that is not a string. */
|
|
33
|
+
private replyToWarningEmitted = false;
|
|
34
|
+
|
|
32
35
|
/**
|
|
33
36
|
* Inject services
|
|
34
37
|
*/
|
|
@@ -77,6 +80,31 @@ export class EmailService implements OnModuleDestroy {
|
|
|
77
80
|
);
|
|
78
81
|
}
|
|
79
82
|
|
|
83
|
+
/**
|
|
84
|
+
* The Reply-To of one mail (12.3.2+): the call's `replyTo`, else `email.defaultReplyTo`, else none. `false` (or an
|
|
85
|
+
* empty string) sends this mail without one. A value that is not a string is dropped with a warning instead of
|
|
86
|
+
* failing the mail: a misconfigured default must not stop password-reset or verification mail.
|
|
87
|
+
*/
|
|
88
|
+
protected resolveReplyTo(replyTo: false | string | undefined): string | undefined {
|
|
89
|
+
if (replyTo === false) {
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
const value: unknown = replyTo ?? this.configService.getFastButReadOnly('email.defaultReplyTo');
|
|
93
|
+
if (value === undefined || value === null) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
if (typeof value === 'string') {
|
|
97
|
+
return value.trim() || undefined;
|
|
98
|
+
}
|
|
99
|
+
if (!this.replyToWarningEmitted) {
|
|
100
|
+
this.replyToWarningEmitted = true;
|
|
101
|
+
this.emailServiceLogger.warn(
|
|
102
|
+
`Reply-To ignored: expected an address string (email.defaultReplyTo / replyTo), got ${typeof value}.`,
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
|
|
80
108
|
onModuleDestroy(): void {
|
|
81
109
|
if (this.cachedTransporter) {
|
|
82
110
|
this.cachedTransporter.close();
|
|
@@ -95,6 +123,8 @@ export class EmailService implements OnModuleDestroy {
|
|
|
95
123
|
attachments?: Attachment[];
|
|
96
124
|
html?: string;
|
|
97
125
|
htmlTemplate?: string;
|
|
126
|
+
/** Reply-To of this mail; overrides `email.defaultReplyTo`, `false` sends it without one (12.3.2+) */
|
|
127
|
+
replyTo?: false | string;
|
|
98
128
|
senderEmail?: string;
|
|
99
129
|
senderName?: string;
|
|
100
130
|
smtp?: MailTransportOptions;
|
|
@@ -190,11 +220,13 @@ export class EmailService implements OnModuleDestroy {
|
|
|
190
220
|
this.cachedSmtpConfig = smtpKey;
|
|
191
221
|
}
|
|
192
222
|
|
|
193
|
-
// Send mail
|
|
223
|
+
// Send mail; without a Reply-To the header is left out entirely
|
|
224
|
+
const replyTo = this.resolveReplyTo(config.replyTo);
|
|
194
225
|
return this.cachedTransporter.sendMail({
|
|
195
226
|
attachments,
|
|
196
227
|
from: `"${senderName}" <${senderEmail}>`,
|
|
197
228
|
html,
|
|
229
|
+
...(replyTo ? { replyTo } : {}),
|
|
198
230
|
subject,
|
|
199
231
|
text,
|
|
200
232
|
to: recipients,
|
|
@@ -699,6 +699,21 @@ them:
|
|
|
699
699
|
|
|
700
700
|
Without multi-tenancy, tool roles are compared with `user.roles` exactly as before.
|
|
701
701
|
|
|
702
|
+
## Is the assistant available? (`GET /ai/status`, 12.3.1+)
|
|
703
|
+
|
|
704
|
+
A frontend asks before anybody signs in, to decide whether it shows the assistant at all:
|
|
705
|
+
|
|
706
|
+
| Server | Answer |
|
|
707
|
+
| ----------------------------- | -------------------------------- |
|
|
708
|
+
| `ai` configured, `ai.mcp` off | `200 { "mcp": false }` |
|
|
709
|
+
| `ai` configured, `ai.mcp` on | `200 { "mcp": true }` |
|
|
710
|
+
| no `ai` (or `enabled: false`) | `404` — the route does not exist |
|
|
711
|
+
|
|
712
|
+
The route is public (`@Roles(S_EVERYONE)`): no session, token or cookie is needed, and the body names no user data.
|
|
713
|
+
`404` is the signal "AI is off" on purpose — a server without the module, also one older than 12.3.1, answers it the
|
|
714
|
+
same way, so a client needs no second rule. Every other `/ai` route keeps its roles. A project controller extending
|
|
715
|
+
`CoreAiController` inherits the route; `mcp` comes from what `CoreAiModule.forRoot()` registered (`AI_MCP_ENABLED`).
|
|
716
|
+
|
|
702
717
|
## MCP server (`ai.mcp: true`)
|
|
703
718
|
|
|
704
719
|
The `AiToolRegistry` also feeds a real **MCP server** at `POST/GET/DELETE /ai/mcp`
|
|
@@ -106,3 +106,7 @@ export const AI_MCP_OAUTH_CODE_MODEL = 'AiMcpOAuthCode';
|
|
|
106
106
|
export const AI_MCP_OAUTH_REFRESH_TOKEN_MODEL = 'AiMcpOAuthRefreshToken';
|
|
107
107
|
/** How long an authorization code may be exchanged — checked on every read, not left to a TTL index. */
|
|
108
108
|
export const AI_MCP_OAUTH_CODE_TTL_SECONDS = 600;
|
|
109
|
+
|
|
110
|
+
// ---- module options ----
|
|
111
|
+
/** Whether `CoreAiModule.forRoot()` registered the MCP endpoint (`ai.mcp`) — what `GET /ai/status` answers. */
|
|
112
|
+
export const AI_MCP_ENABLED = 'AI_MCP_ENABLED';
|