@lenne.tech/nest-server 11.31.2 → 11.32.0

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.
Files changed (181) hide show
  1. package/.claude/rules/architecture.md +2 -0
  2. package/.claude/rules/configurable-features.md +2 -0
  3. package/.claude/rules/versioning.md +5 -8
  4. package/CLAUDE.md +31 -4
  5. package/FRAMEWORK-API.md +7 -2
  6. package/README.md +1 -0
  7. package/dist/config.env.d.ts +4 -0
  8. package/dist/config.env.js +32 -2
  9. package/dist/config.env.js.map +1 -1
  10. package/dist/core/common/helpers/logging.helper.d.ts +1 -0
  11. package/dist/core/common/helpers/logging.helper.js +12 -0
  12. package/dist/core/common/helpers/logging.helper.js.map +1 -1
  13. package/dist/core/common/helpers/meta.helper.d.ts +1 -0
  14. package/dist/core/common/helpers/meta.helper.js +32 -1
  15. package/dist/core/common/helpers/meta.helper.js.map +1 -1
  16. package/dist/core/common/helpers/process-diagnostics.helper.d.ts +18 -0
  17. package/dist/core/common/helpers/process-diagnostics.helper.js +88 -0
  18. package/dist/core/common/helpers/process-diagnostics.helper.js.map +1 -0
  19. package/dist/core/common/interfaces/server-options.interface.d.ts +12 -0
  20. package/dist/core/common/services/brevo.service.d.ts +7 -1
  21. package/dist/core/common/services/brevo.service.js +37 -16
  22. package/dist/core/common/services/brevo.service.js.map +1 -1
  23. package/dist/core/common/services/email.service.d.ts +3 -1
  24. package/dist/core/common/services/email.service.js +33 -2
  25. package/dist/core/common/services/email.service.js.map +1 -1
  26. package/dist/core/common/services/template.service.js +9 -4
  27. package/dist/core/common/services/template.service.js.map +1 -1
  28. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +9 -4
  29. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
  30. package/dist/core/modules/hub/core-hub-actions.controller.d.ts +22 -0
  31. package/dist/core/modules/hub/core-hub-actions.controller.js +141 -0
  32. package/dist/core/modules/hub/core-hub-actions.controller.js.map +1 -0
  33. package/dist/core/modules/hub/core-hub-html.service.d.ts +8 -0
  34. package/dist/core/modules/hub/core-hub-html.service.js +123 -0
  35. package/dist/core/modules/hub/core-hub-html.service.js.map +1 -0
  36. package/dist/core/modules/hub/core-hub.controller.d.ts +56 -0
  37. package/dist/core/modules/hub/core-hub.controller.js +398 -0
  38. package/dist/core/modules/hub/core-hub.controller.js.map +1 -0
  39. package/dist/core/modules/hub/core-hub.module.d.ts +17 -0
  40. package/dist/core/modules/hub/core-hub.module.js +109 -0
  41. package/dist/core/modules/hub/core-hub.module.js.map +1 -0
  42. package/dist/core/modules/hub/core-hub.service.d.ts +18 -0
  43. package/dist/core/modules/hub/core-hub.service.js +153 -0
  44. package/dist/core/modules/hub/core-hub.service.js.map +1 -0
  45. package/dist/core/modules/hub/helpers/hub-client-js.helper.d.ts +1 -0
  46. package/dist/core/modules/hub/helpers/hub-client-js.helper.js +755 -0
  47. package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -0
  48. package/dist/core/modules/hub/helpers/hub-command-shape.helper.d.ts +1 -0
  49. package/dist/core/modules/hub/helpers/hub-command-shape.helper.js +33 -0
  50. package/dist/core/modules/hub/helpers/hub-command-shape.helper.js.map +1 -0
  51. package/dist/core/modules/hub/helpers/hub-mask.helper.d.ts +1 -0
  52. package/dist/core/modules/hub/helpers/hub-mask.helper.js +46 -0
  53. package/dist/core/modules/hub/helpers/hub-mask.helper.js.map +1 -0
  54. package/dist/core/modules/hub/helpers/hub-mermaid.helper.d.ts +10 -0
  55. package/dist/core/modules/hub/helpers/hub-mermaid.helper.js +35 -0
  56. package/dist/core/modules/hub/helpers/hub-mermaid.helper.js.map +1 -0
  57. package/dist/core/modules/hub/helpers/hub-shell.helper.d.ts +9 -0
  58. package/dist/core/modules/hub/helpers/hub-shell.helper.js +62 -0
  59. package/dist/core/modules/hub/helpers/hub-shell.helper.js.map +1 -0
  60. package/dist/core/modules/hub/hub-action-messages.d.ts +17 -0
  61. package/dist/core/modules/hub/hub-action-messages.js +21 -0
  62. package/dist/core/modules/hub/hub-action-messages.js.map +1 -0
  63. package/dist/core/modules/hub/hub-config.helper.d.ts +11 -0
  64. package/dist/core/modules/hub/hub-config.helper.js +164 -0
  65. package/dist/core/modules/hub/hub-config.helper.js.map +1 -0
  66. package/dist/core/modules/hub/hub-nav.d.ts +12 -0
  67. package/dist/core/modules/hub/hub-nav.js +43 -0
  68. package/dist/core/modules/hub/hub-nav.js.map +1 -0
  69. package/dist/core/modules/hub/hub-ring-buffer.d.ts +22 -0
  70. package/dist/core/modules/hub/hub-ring-buffer.js +59 -0
  71. package/dist/core/modules/hub/hub-ring-buffer.js.map +1 -0
  72. package/dist/core/modules/hub/hub.constants.d.ts +18 -0
  73. package/dist/core/modules/hub/hub.constants.js +22 -0
  74. package/dist/core/modules/hub/hub.constants.js.map +1 -0
  75. package/dist/core/modules/hub/index.d.ts +25 -0
  76. package/dist/core/modules/hub/index.js +42 -0
  77. package/dist/core/modules/hub/index.js.map +1 -0
  78. package/dist/core/modules/hub/interfaces/hub-config.interface.d.ts +115 -0
  79. package/dist/core/modules/hub/interfaces/hub-config.interface.js +3 -0
  80. package/dist/core/modules/hub/interfaces/hub-config.interface.js.map +1 -0
  81. package/dist/core/modules/hub/interfaces/hub-panels.interface.d.ts +231 -0
  82. package/dist/core/modules/hub/interfaces/hub-panels.interface.js +3 -0
  83. package/dist/core/modules/hub/interfaces/hub-panels.interface.js.map +1 -0
  84. package/dist/core/modules/hub/middleware/hub-trace.middleware.d.ts +8 -0
  85. package/dist/core/modules/hub/middleware/hub-trace.middleware.js +50 -0
  86. package/dist/core/modules/hub/middleware/hub-trace.middleware.js.map +1 -0
  87. package/dist/core/modules/hub/services/core-hub-actions.service.d.ts +48 -0
  88. package/dist/core/modules/hub/services/core-hub-actions.service.js +136 -0
  89. package/dist/core/modules/hub/services/core-hub-actions.service.js.map +1 -0
  90. package/dist/core/modules/hub/services/core-hub-db.service.d.ts +19 -0
  91. package/dist/core/modules/hub/services/core-hub-db.service.js +180 -0
  92. package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -0
  93. package/dist/core/modules/hub/services/core-hub-email.service.d.ts +24 -0
  94. package/dist/core/modules/hub/services/core-hub-email.service.js +148 -0
  95. package/dist/core/modules/hub/services/core-hub-email.service.js.map +1 -0
  96. package/dist/core/modules/hub/services/core-hub-mailbox.service.d.ts +20 -0
  97. package/dist/core/modules/hub/services/core-hub-mailbox.service.js +103 -0
  98. package/dist/core/modules/hub/services/core-hub-mailbox.service.js.map +1 -0
  99. package/dist/core/modules/hub/services/core-hub-migrations.service.d.ts +25 -0
  100. package/dist/core/modules/hub/services/core-hub-migrations.service.js +115 -0
  101. package/dist/core/modules/hub/services/core-hub-migrations.service.js.map +1 -0
  102. package/dist/core/modules/hub/services/core-hub-sources.service.d.ts +28 -0
  103. package/dist/core/modules/hub/services/core-hub-sources.service.js +187 -0
  104. package/dist/core/modules/hub/services/core-hub-sources.service.js.map +1 -0
  105. package/dist/core/modules/hub/services/hub-log-buffer.service.d.ts +24 -0
  106. package/dist/core/modules/hub/services/hub-log-buffer.service.js +210 -0
  107. package/dist/core/modules/hub/services/hub-log-buffer.service.js.map +1 -0
  108. package/dist/core/modules/hub/services/hub-query-profiler.service.d.ts +38 -0
  109. package/dist/core/modules/hub/services/hub-query-profiler.service.js +235 -0
  110. package/dist/core/modules/hub/services/hub-query-profiler.service.js.map +1 -0
  111. package/dist/core/modules/hub/services/hub-trace-buffer.service.d.ts +18 -0
  112. package/dist/core/modules/hub/services/hub-trace-buffer.service.js +123 -0
  113. package/dist/core/modules/hub/services/hub-trace-buffer.service.js.map +1 -0
  114. package/dist/core.module.js +42 -1
  115. package/dist/core.module.js.map +1 -1
  116. package/dist/index.d.ts +2 -0
  117. package/dist/index.js +2 -0
  118. package/dist/index.js.map +1 -1
  119. package/dist/main.js +5 -2
  120. package/dist/main.js.map +1 -1
  121. package/dist/tsconfig.build.tsbuildinfo +1 -1
  122. package/docs/REQUEST-LIFECYCLE.md +2 -0
  123. package/docs/brevo-manual-test.md +166 -0
  124. package/docs/security-overrides.md +90 -0
  125. package/migration-guides/11.31.2-to-11.31.3.md +135 -0
  126. package/migration-guides/11.31.3-to-11.32.0.md +254 -0
  127. package/package.json +16 -14
  128. package/src/config.env.ts +75 -2
  129. package/src/core/common/helpers/logging.helper.spec.ts +61 -0
  130. package/src/core/common/helpers/logging.helper.ts +48 -0
  131. package/src/core/common/helpers/meta.helper.ts +46 -1
  132. package/src/core/common/helpers/process-diagnostics.helper.spec.ts +310 -0
  133. package/src/core/common/helpers/process-diagnostics.helper.ts +321 -0
  134. package/src/core/common/interfaces/server-options.interface.ts +78 -0
  135. package/src/core/common/services/brevo.service.spec.ts +266 -0
  136. package/src/core/common/services/brevo.service.ts +100 -17
  137. package/src/core/common/services/email.service.ts +33 -1
  138. package/src/core/common/services/template.service.ts +21 -16
  139. package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +14 -4
  140. package/src/core/modules/hub/INTEGRATION-CHECKLIST.md +64 -0
  141. package/src/core/modules/hub/README.md +159 -0
  142. package/src/core/modules/hub/core-hub-actions.controller.ts +137 -0
  143. package/src/core/modules/hub/core-hub-html.service.ts +135 -0
  144. package/src/core/modules/hub/core-hub.controller.ts +286 -0
  145. package/src/core/modules/hub/core-hub.module.spec.ts +108 -0
  146. package/src/core/modules/hub/core-hub.module.ts +159 -0
  147. package/src/core/modules/hub/core-hub.service.ts +169 -0
  148. package/src/core/modules/hub/helpers/hub-client-js.helper.ts +768 -0
  149. package/src/core/modules/hub/helpers/hub-command-shape.helper.spec.ts +48 -0
  150. package/src/core/modules/hub/helpers/hub-command-shape.helper.ts +47 -0
  151. package/src/core/modules/hub/helpers/hub-mask.helper.spec.ts +67 -0
  152. package/src/core/modules/hub/helpers/hub-mask.helper.ts +78 -0
  153. package/src/core/modules/hub/helpers/hub-mermaid.helper.spec.ts +54 -0
  154. package/src/core/modules/hub/helpers/hub-mermaid.helper.ts +62 -0
  155. package/src/core/modules/hub/helpers/hub-shell.helper.spec.ts +106 -0
  156. package/src/core/modules/hub/helpers/hub-shell.helper.ts +90 -0
  157. package/src/core/modules/hub/hub-action-messages.ts +47 -0
  158. package/src/core/modules/hub/hub-config.helper.spec.ts +108 -0
  159. package/src/core/modules/hub/hub-config.helper.ts +233 -0
  160. package/src/core/modules/hub/hub-nav.ts +66 -0
  161. package/src/core/modules/hub/hub-ring-buffer.spec.ts +95 -0
  162. package/src/core/modules/hub/hub-ring-buffer.ts +101 -0
  163. package/src/core/modules/hub/hub.constants.ts +84 -0
  164. package/src/core/modules/hub/index.ts +25 -0
  165. package/src/core/modules/hub/interfaces/hub-config.interface.ts +265 -0
  166. package/src/core/modules/hub/interfaces/hub-panels.interface.ts +186 -0
  167. package/src/core/modules/hub/middleware/hub-trace.middleware.ts +45 -0
  168. package/src/core/modules/hub/services/core-hub-actions.service.ts +133 -0
  169. package/src/core/modules/hub/services/core-hub-db.service.ts +185 -0
  170. package/src/core/modules/hub/services/core-hub-email.service.ts +158 -0
  171. package/src/core/modules/hub/services/core-hub-mailbox.service.spec.ts +116 -0
  172. package/src/core/modules/hub/services/core-hub-mailbox.service.ts +121 -0
  173. package/src/core/modules/hub/services/core-hub-migrations.service.ts +112 -0
  174. package/src/core/modules/hub/services/core-hub-sources.service.ts +194 -0
  175. package/src/core/modules/hub/services/hub-log-buffer.service.ts +252 -0
  176. package/src/core/modules/hub/services/hub-query-profiler.service.ts +274 -0
  177. package/src/core/modules/hub/services/hub-trace-buffer.service.spec.ts +112 -0
  178. package/src/core/modules/hub/services/hub-trace-buffer.service.ts +134 -0
  179. package/src/core.module.ts +61 -1
  180. package/src/index.ts +7 -0
  181. package/src/main.ts +22 -3
@@ -0,0 +1,18 @@
1
+ export declare const HUB_CONFIG = "HUB_CONFIG";
2
+ export declare const HUB_EMAIL_CAPTURE = "HUB_EMAIL_CAPTURE";
3
+ export declare const HUB_DEFAULT_PATH = "hub";
4
+ export declare const HUB_DEFAULT_POLL_INTERVAL_MS = 5000;
5
+ export declare const HUB_MIN_POLL_INTERVAL_MS = 1000;
6
+ export declare const HUB_DEFAULT_LOG_CAPACITY = 500;
7
+ export declare const HUB_DEFAULT_LOG_MAX_MESSAGE_LENGTH = 2048;
8
+ export declare const HUB_DEFAULT_TRACE_CAPACITY = 200;
9
+ export declare const HUB_DEFAULT_TRACE_SLOW_MS = 1000;
10
+ export declare const HUB_DEFAULT_QUERY_CAPACITY = 500;
11
+ export declare const HUB_DEFAULT_QUERY_WARN_MS = 50;
12
+ export declare const HUB_DEFAULT_QUERY_CRITICAL_MS = 200;
13
+ export declare const HUB_DEFAULT_QUERY_MAX_SHAPE_LENGTH = 512;
14
+ export declare const HUB_QUERY_PENDING_LIMIT = 1000;
15
+ export declare const HUB_DEFAULT_MAILBOX_CAPACITY = 100;
16
+ export declare const HUB_DEFAULT_MAILBOX_MAX_MAIL_SIZE = 262144;
17
+ export declare const HUB_DEFAULT_MIGRATIONS_DIR = "./migrations";
18
+ export declare const HUB_DEFAULT_MIGRATIONS_COLLECTION = "migrations";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HUB_DEFAULT_MIGRATIONS_COLLECTION = exports.HUB_DEFAULT_MIGRATIONS_DIR = exports.HUB_DEFAULT_MAILBOX_MAX_MAIL_SIZE = exports.HUB_DEFAULT_MAILBOX_CAPACITY = exports.HUB_QUERY_PENDING_LIMIT = exports.HUB_DEFAULT_QUERY_MAX_SHAPE_LENGTH = exports.HUB_DEFAULT_QUERY_CRITICAL_MS = exports.HUB_DEFAULT_QUERY_WARN_MS = exports.HUB_DEFAULT_QUERY_CAPACITY = exports.HUB_DEFAULT_TRACE_SLOW_MS = exports.HUB_DEFAULT_TRACE_CAPACITY = exports.HUB_DEFAULT_LOG_MAX_MESSAGE_LENGTH = exports.HUB_DEFAULT_LOG_CAPACITY = exports.HUB_MIN_POLL_INTERVAL_MS = exports.HUB_DEFAULT_POLL_INTERVAL_MS = exports.HUB_DEFAULT_PATH = exports.HUB_EMAIL_CAPTURE = exports.HUB_CONFIG = void 0;
4
+ exports.HUB_CONFIG = 'HUB_CONFIG';
5
+ exports.HUB_EMAIL_CAPTURE = 'HUB_EMAIL_CAPTURE';
6
+ exports.HUB_DEFAULT_PATH = 'hub';
7
+ exports.HUB_DEFAULT_POLL_INTERVAL_MS = 5000;
8
+ exports.HUB_MIN_POLL_INTERVAL_MS = 1000;
9
+ exports.HUB_DEFAULT_LOG_CAPACITY = 500;
10
+ exports.HUB_DEFAULT_LOG_MAX_MESSAGE_LENGTH = 2048;
11
+ exports.HUB_DEFAULT_TRACE_CAPACITY = 200;
12
+ exports.HUB_DEFAULT_TRACE_SLOW_MS = 1000;
13
+ exports.HUB_DEFAULT_QUERY_CAPACITY = 500;
14
+ exports.HUB_DEFAULT_QUERY_WARN_MS = 50;
15
+ exports.HUB_DEFAULT_QUERY_CRITICAL_MS = 200;
16
+ exports.HUB_DEFAULT_QUERY_MAX_SHAPE_LENGTH = 512;
17
+ exports.HUB_QUERY_PENDING_LIMIT = 1000;
18
+ exports.HUB_DEFAULT_MAILBOX_CAPACITY = 100;
19
+ exports.HUB_DEFAULT_MAILBOX_MAX_MAIL_SIZE = 262144;
20
+ exports.HUB_DEFAULT_MIGRATIONS_DIR = './migrations';
21
+ exports.HUB_DEFAULT_MIGRATIONS_COLLECTION = 'migrations';
22
+ //# sourceMappingURL=hub.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub.constants.js","sourceRoot":"","sources":["../../../../src/core/modules/hub/hub.constants.ts"],"names":[],"mappings":";;;AAwBa,QAAA,UAAU,GAAG,YAAY,CAAC;AAW1B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAGxC,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAGzB,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAGpC,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAGhC,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAG/B,QAAA,kCAAkC,GAAG,IAAI,CAAC;AAG1C,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAGjC,QAAA,yBAAyB,GAAG,IAAI,CAAC;AAGjC,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAGjC,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAG/B,QAAA,6BAA6B,GAAG,GAAG,CAAC;AAGpC,QAAA,kCAAkC,GAAG,GAAG,CAAC;AAGzC,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAG/B,QAAA,4BAA4B,GAAG,GAAG,CAAC;AAGnC,QAAA,iCAAiC,GAAG,MAAM,CAAC;AAG3C,QAAA,0BAA0B,GAAG,cAAc,CAAC;AAG5C,QAAA,iCAAiC,GAAG,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ export * from './core-hub-actions.controller';
2
+ export * from './core-hub-html.service';
3
+ export * from './core-hub.controller';
4
+ export * from './core-hub.module';
5
+ export * from './core-hub.service';
6
+ export * from './services/core-hub-actions.service';
7
+ export * from './services/core-hub-db.service';
8
+ export * from './services/core-hub-email.service';
9
+ export * from './services/core-hub-mailbox.service';
10
+ export * from './services/core-hub-migrations.service';
11
+ export * from './services/core-hub-sources.service';
12
+ export * from './services/hub-log-buffer.service';
13
+ export * from './services/hub-query-profiler.service';
14
+ export * from './services/hub-trace-buffer.service';
15
+ export * from './middleware/hub-trace.middleware';
16
+ export * from './helpers/hub-command-shape.helper';
17
+ export * from './helpers/hub-mask.helper';
18
+ export * from './helpers/hub-mermaid.helper';
19
+ export * from './helpers/hub-shell.helper';
20
+ export * from './hub-config.helper';
21
+ export * from './hub-nav';
22
+ export * from './hub-ring-buffer';
23
+ export * from './hub.constants';
24
+ export * from './interfaces/hub-config.interface';
25
+ export * from './interfaces/hub-panels.interface';
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./core-hub-actions.controller"), exports);
18
+ __exportStar(require("./core-hub-html.service"), exports);
19
+ __exportStar(require("./core-hub.controller"), exports);
20
+ __exportStar(require("./core-hub.module"), exports);
21
+ __exportStar(require("./core-hub.service"), exports);
22
+ __exportStar(require("./services/core-hub-actions.service"), exports);
23
+ __exportStar(require("./services/core-hub-db.service"), exports);
24
+ __exportStar(require("./services/core-hub-email.service"), exports);
25
+ __exportStar(require("./services/core-hub-mailbox.service"), exports);
26
+ __exportStar(require("./services/core-hub-migrations.service"), exports);
27
+ __exportStar(require("./services/core-hub-sources.service"), exports);
28
+ __exportStar(require("./services/hub-log-buffer.service"), exports);
29
+ __exportStar(require("./services/hub-query-profiler.service"), exports);
30
+ __exportStar(require("./services/hub-trace-buffer.service"), exports);
31
+ __exportStar(require("./middleware/hub-trace.middleware"), exports);
32
+ __exportStar(require("./helpers/hub-command-shape.helper"), exports);
33
+ __exportStar(require("./helpers/hub-mask.helper"), exports);
34
+ __exportStar(require("./helpers/hub-mermaid.helper"), exports);
35
+ __exportStar(require("./helpers/hub-shell.helper"), exports);
36
+ __exportStar(require("./hub-config.helper"), exports);
37
+ __exportStar(require("./hub-nav"), exports);
38
+ __exportStar(require("./hub-ring-buffer"), exports);
39
+ __exportStar(require("./hub.constants"), exports);
40
+ __exportStar(require("./interfaces/hub-config.interface"), exports);
41
+ __exportStar(require("./interfaces/hub-panels.interface"), exports);
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/modules/hub/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,0DAAwC;AACxC,wDAAsC;AACtC,oDAAkC;AAClC,qDAAmC;AACnC,sEAAoD;AACpD,iEAA+C;AAC/C,oEAAkD;AAClD,sEAAoD;AACpD,yEAAuD;AACvD,sEAAoD;AACpD,oEAAkD;AAClD,wEAAsD;AACtD,sEAAoD;AACpD,oEAAkD;AAClD,qEAAmD;AACnD,4DAA0C;AAC1C,+DAA6C;AAC7C,6DAA2C;AAC3C,sDAAoC;AACpC,4CAA0B;AAC1B,oDAAkC;AAClC,kDAAgC;AAChC,oEAAkD;AAClD,oEAAkD"}
@@ -0,0 +1,115 @@
1
+ import type { LogLevel } from '@nestjs/common';
2
+ export interface IHubConfig {
3
+ actions?: boolean;
4
+ collectors?: IHubCollectorsConfig;
5
+ db?: boolean | IHubDbConfig;
6
+ enabled?: boolean;
7
+ emailPreview?: boolean;
8
+ links?: IHubLinksConfig;
9
+ loginEndpoint?: string;
10
+ logoutEndpoint?: string;
11
+ mailbox?: boolean | IHubMailboxConfig;
12
+ migrations?: false | IHubMigrationsConfig;
13
+ path?: string;
14
+ pollIntervalMs?: number;
15
+ roles?: false | string | string[];
16
+ allowPublicAccessInProduction?: boolean;
17
+ }
18
+ export interface IHubCollectorsConfig {
19
+ logs?: boolean | IHubLogsConfig;
20
+ queries?: boolean | IHubQueriesConfig;
21
+ traces?: boolean | IHubTracesConfig;
22
+ }
23
+ export interface IHubCollectorBaseConfig {
24
+ capacity?: number;
25
+ enabled?: boolean;
26
+ }
27
+ export interface IHubDbConfig {
28
+ enabled?: boolean;
29
+ includeIndexes?: boolean;
30
+ }
31
+ export interface IHubLinksConfig {
32
+ graphql?: false | string;
33
+ mailpit?: string;
34
+ permissions?: false | string;
35
+ swagger?: false | string;
36
+ }
37
+ export interface IHubLogsConfig extends IHubCollectorBaseConfig {
38
+ excludeContexts?: string[];
39
+ levels?: LogLevel[];
40
+ maxMessageLength?: number;
41
+ }
42
+ export interface IHubMailboxConfig {
43
+ capacity?: number;
44
+ enabled?: boolean;
45
+ maxMailSize?: number;
46
+ mode?: 'capture' | 'copy';
47
+ }
48
+ export interface IHubMigrationsConfig {
49
+ collectionName?: string;
50
+ dir?: string;
51
+ enabled?: boolean;
52
+ lockCollectionName?: string;
53
+ }
54
+ export interface IHubQueriesConfig extends IHubCollectorBaseConfig {
55
+ criticalMs?: number;
56
+ ignoreCommands?: string[];
57
+ maxShapeLength?: number;
58
+ warnMs?: number;
59
+ }
60
+ export interface IHubTracesConfig extends IHubCollectorBaseConfig {
61
+ captureGraphQlOperation?: boolean;
62
+ excludePaths?: string[];
63
+ slowMs?: number;
64
+ }
65
+ export interface ResolvedHubConfig {
66
+ actions: boolean;
67
+ allowPublicAccessInProduction: boolean;
68
+ collectors: {
69
+ logs: false | Required<Omit<IHubLogsConfig, 'enabled'>>;
70
+ queries: false | (Required<Omit<IHubQueriesConfig, 'enabled' | 'ignoreCommands'>> & {
71
+ ignoreCommands?: string[];
72
+ });
73
+ traces: false | Required<Omit<IHubTracesConfig, 'enabled'>>;
74
+ };
75
+ db: false | {
76
+ includeIndexes: boolean;
77
+ };
78
+ emailPreview: boolean;
79
+ env: string;
80
+ links: {
81
+ graphql?: string;
82
+ mailpit?: string;
83
+ permissions?: string;
84
+ swagger?: string;
85
+ };
86
+ loginEndpoint: string;
87
+ logoutEndpoint: string;
88
+ mailbox: false | {
89
+ capacity: number;
90
+ maxMailSize: number;
91
+ mode: 'capture' | 'copy';
92
+ };
93
+ migrations: false | {
94
+ collectionName: string;
95
+ dir: string;
96
+ lockCollectionName?: string;
97
+ };
98
+ path: string;
99
+ pollIntervalMs: number;
100
+ roles: false | string[];
101
+ version: string;
102
+ }
103
+ export interface IHubEmailCapture {
104
+ capture(mail: IHubCapturedMailInput): boolean;
105
+ }
106
+ export interface IHubCapturedMailInput {
107
+ bcc?: string;
108
+ cc?: string;
109
+ from?: string;
110
+ html?: string;
111
+ subject?: string;
112
+ templateName?: string;
113
+ text?: string;
114
+ to?: string;
115
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=hub-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-config.interface.js","sourceRoot":"","sources":["../../../../../src/core/modules/hub/interfaces/hub-config.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,231 @@
1
+ export interface HubUnavailable {
2
+ available: false;
3
+ hint: string;
4
+ }
5
+ export interface HubSessionData {
6
+ authenticated: true;
7
+ env: string;
8
+ links: Record<string, string | undefined>;
9
+ logoutEndpoint: string;
10
+ panelGroups: string[];
11
+ panels: {
12
+ available: boolean;
13
+ group: string;
14
+ id: string;
15
+ optional: boolean;
16
+ path: string;
17
+ title: string;
18
+ }[];
19
+ version: string;
20
+ }
21
+ export interface HubDashboardData {
22
+ build: {
23
+ commit?: string;
24
+ env: string;
25
+ version: string;
26
+ };
27
+ features: Record<string, boolean>;
28
+ health?: {
29
+ details?: Record<string, unknown>;
30
+ status: string;
31
+ };
32
+ links: Record<string, string>;
33
+ memory: {
34
+ heapTotal: number;
35
+ heapUsed: number;
36
+ rss: number;
37
+ };
38
+ mongo: {
39
+ readyState: number;
40
+ state: string;
41
+ };
42
+ time: string;
43
+ uptimeSeconds: number;
44
+ }
45
+ export interface HubDiagnosticsData {
46
+ arch: string;
47
+ buffers: Record<string, {
48
+ capacity: number;
49
+ enabled: boolean;
50
+ size: number;
51
+ }>;
52
+ cpuUsage: {
53
+ system: number;
54
+ user: number;
55
+ };
56
+ env: string;
57
+ memory: {
58
+ arrayBuffers: number;
59
+ external: number;
60
+ heapTotal: number;
61
+ heapUsed: number;
62
+ rss: number;
63
+ };
64
+ nodeVersion: string;
65
+ pid: number;
66
+ platform: string;
67
+ time: string;
68
+ uptimeSeconds: number;
69
+ }
70
+ export interface HubDbData {
71
+ collections: HubDbCollection[];
72
+ stats: {
73
+ collections: number;
74
+ dataSize: number;
75
+ indexSize: number;
76
+ objects: number;
77
+ storageSize: number;
78
+ };
79
+ }
80
+ export interface HubDbCollection {
81
+ avgObjSize?: number;
82
+ count: number;
83
+ indexCount?: number;
84
+ indexSize?: number;
85
+ name: string;
86
+ size: number;
87
+ storageSize: number;
88
+ }
89
+ export interface HubModelsData {
90
+ entities: {
91
+ fields: {
92
+ name: string;
93
+ ref?: string;
94
+ type: string;
95
+ }[];
96
+ name: string;
97
+ }[];
98
+ mermaid: string;
99
+ modelCount: number;
100
+ relationCount: number;
101
+ }
102
+ export interface HubMigrationsData {
103
+ completed: string[];
104
+ dirAvailable: boolean;
105
+ lastRun?: string;
106
+ pending: string[];
107
+ source: 'collection' | 'runner';
108
+ }
109
+ export interface HubFilesData {
110
+ bucket: string;
111
+ files: {
112
+ contentType?: string;
113
+ filename: string;
114
+ id: string;
115
+ length: number;
116
+ uploadDate?: string;
117
+ }[];
118
+ total: number;
119
+ }
120
+ export interface HubCronData {
121
+ intervals: string[];
122
+ jobs: {
123
+ lastDate?: string;
124
+ name: string;
125
+ nextDate?: string;
126
+ running: boolean;
127
+ }[];
128
+ timeouts: string[];
129
+ }
130
+ export interface HubErrorCodesData {
131
+ codes: {
132
+ code: string;
133
+ de?: string;
134
+ en?: string;
135
+ }[];
136
+ locale: string;
137
+ }
138
+ export interface HubEmailsData {
139
+ templates: {
140
+ locales: string[];
141
+ name: string;
142
+ source: 'framework' | 'project';
143
+ }[];
144
+ }
145
+ export interface HubMailboxData {
146
+ cursor: number;
147
+ dropped: number;
148
+ mails: HubMailboxEntry[];
149
+ mode: 'capture' | 'copy';
150
+ }
151
+ export interface HubLogRecord {
152
+ context?: string;
153
+ level: string;
154
+ message: string;
155
+ seq: number;
156
+ stack?: string;
157
+ timestamp: number;
158
+ }
159
+ export interface HubLogsData {
160
+ cursor: number;
161
+ dropped: number;
162
+ records: HubLogRecord[];
163
+ }
164
+ export interface HubTraceRecord {
165
+ aborted?: boolean;
166
+ contentLength?: number;
167
+ durationMs: number;
168
+ error?: boolean;
169
+ graphqlOperation?: string;
170
+ method: string;
171
+ path: string;
172
+ seq: number;
173
+ slow?: boolean;
174
+ statusCode: number;
175
+ timestamp: number;
176
+ userId?: string;
177
+ }
178
+ export interface HubTracesData {
179
+ cursor: number;
180
+ dropped: number;
181
+ summary: {
182
+ avgMs: number;
183
+ errorCount: number;
184
+ slowCount: number;
185
+ total: number;
186
+ };
187
+ traces: HubTraceRecord[];
188
+ }
189
+ export interface HubQueryRecord {
190
+ classification: 'critical' | 'ok' | 'warn';
191
+ collection: string;
192
+ commandSummary: string;
193
+ durationMs: number;
194
+ errorMessage?: string;
195
+ failed?: boolean;
196
+ operation: string;
197
+ requestId: number;
198
+ seq: number;
199
+ timestamp: number;
200
+ }
201
+ export interface HubQueryTemplate {
202
+ avgMs: number;
203
+ count: number;
204
+ maxMs: number;
205
+ template: string;
206
+ }
207
+ export interface HubQueriesData {
208
+ cursor: number;
209
+ recent: HubQueryRecord[];
210
+ slowest: HubQueryRecord[];
211
+ summary: {
212
+ avgMs: number;
213
+ criticalCount: number;
214
+ failedCount: number;
215
+ total: number;
216
+ warnCount: number;
217
+ };
218
+ topTemplates: HubQueryTemplate[];
219
+ }
220
+ export interface HubMailboxEntry {
221
+ bcc?: string;
222
+ cc?: string;
223
+ from?: string;
224
+ hasHtml: boolean;
225
+ hasText: boolean;
226
+ seq: number;
227
+ subject?: string;
228
+ templateName?: string;
229
+ timestamp: number;
230
+ to?: string;
231
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=hub-panels.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-panels.interface.js","sourceRoot":"","sources":["../../../../../src/core/modules/hub/interfaces/hub-panels.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { NextFunction, Request, Response } from 'express';
3
+ import { HubTraceBufferService } from '../services/hub-trace-buffer.service';
4
+ export declare class HubTraceMiddleware implements NestMiddleware {
5
+ private readonly traceBuffer;
6
+ constructor(traceBuffer: HubTraceBufferService);
7
+ use(req: Request, res: Response, next: NextFunction): void;
8
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HubTraceMiddleware = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const hub_trace_buffer_service_1 = require("../services/hub-trace-buffer.service");
15
+ let HubTraceMiddleware = class HubTraceMiddleware {
16
+ traceBuffer;
17
+ constructor(traceBuffer) {
18
+ this.traceBuffer = traceBuffer;
19
+ }
20
+ use(req, res, next) {
21
+ const fullPath = (req.originalUrl || req.url || '').split('?')[0] || '/';
22
+ if (!this.traceBuffer.enabled || this.traceBuffer.isExcluded(fullPath)) {
23
+ next();
24
+ return;
25
+ }
26
+ const start = process.hrtime.bigint();
27
+ let recorded = false;
28
+ const record = (aborted) => {
29
+ if (recorded) {
30
+ return;
31
+ }
32
+ recorded = true;
33
+ const durationMs = Number(process.hrtime.bigint() - start) / 1e6;
34
+ try {
35
+ this.traceBuffer.record(req, res, durationMs, aborted, fullPath);
36
+ }
37
+ catch {
38
+ }
39
+ };
40
+ res.on('finish', () => record(false));
41
+ res.on('close', () => record(!res.writableFinished));
42
+ next();
43
+ }
44
+ };
45
+ exports.HubTraceMiddleware = HubTraceMiddleware;
46
+ exports.HubTraceMiddleware = HubTraceMiddleware = __decorate([
47
+ (0, common_1.Injectable)(),
48
+ __metadata("design:paramtypes", [hub_trace_buffer_service_1.HubTraceBufferService])
49
+ ], HubTraceMiddleware);
50
+ //# sourceMappingURL=hub-trace.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-trace.middleware.js","sourceRoot":"","sources":["../../../../../src/core/modules/hub/middleware/hub-trace.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAG5D,mFAA6E;AAWtE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACA;IAA7B,YAA6B,WAAkC;QAAlC,gBAAW,GAAX,WAAW,CAAuB;IAAG,CAAC;IAEnE,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QAIjD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvE,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAQ,EAAE;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;YACjE,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AA9BY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAE+B,gDAAqB;GADpD,kBAAkB,CA8B9B"}
@@ -0,0 +1,48 @@
1
+ import { Logger } from '@nestjs/common';
2
+ import { EmailService } from '../../../common/services/email.service';
3
+ import { CoreHubDbService } from './core-hub-db.service';
4
+ import { CoreHubEmailService } from './core-hub-email.service';
5
+ import { CoreHubMailboxService } from './core-hub-mailbox.service';
6
+ import { CoreHubMigrationsService } from './core-hub-migrations.service';
7
+ import { CoreHubSourcesService } from './core-hub-sources.service';
8
+ import { HubLogBufferService } from './hub-log-buffer.service';
9
+ import { HubQueryProfilerService } from './hub-query-profiler.service';
10
+ import { HubTraceBufferService } from './hub-trace-buffer.service';
11
+ export declare class CoreHubActionsService {
12
+ protected readonly migrationsService: CoreHubMigrationsService;
13
+ protected readonly dbService: CoreHubDbService;
14
+ protected readonly sourcesService: CoreHubSourcesService;
15
+ protected readonly hubEmailService: CoreHubEmailService;
16
+ protected readonly logBuffer: HubLogBufferService;
17
+ protected readonly traceBuffer: HubTraceBufferService;
18
+ protected readonly queryProfiler: HubQueryProfilerService;
19
+ protected readonly emailService?: EmailService;
20
+ protected readonly mailboxService?: CoreHubMailboxService;
21
+ protected readonly logger: Logger;
22
+ constructor(migrationsService: CoreHubMigrationsService, dbService: CoreHubDbService, sourcesService: CoreHubSourcesService, hubEmailService: CoreHubEmailService, logBuffer: HubLogBufferService, traceBuffer: HubTraceBufferService, queryProfiler: HubQueryProfilerService, emailService?: EmailService, mailboxService?: CoreHubMailboxService);
23
+ clearBuffer(name: 'logs' | 'mailbox' | 'queries' | 'traces'): {
24
+ cleared: string;
25
+ };
26
+ controlCron(name: string, action: 'start' | 'stop' | 'trigger'): {
27
+ action: string;
28
+ name: string;
29
+ };
30
+ deleteFile(id: string, expectedFilename: string): Promise<{
31
+ deleted: {
32
+ filename: string;
33
+ id: string;
34
+ };
35
+ }>;
36
+ rollbackMigration(): Promise<{
37
+ rolledBack?: string;
38
+ }>;
39
+ runMigrations(): Promise<{
40
+ ran: string[];
41
+ }>;
42
+ sendTestEmail(to: string, template?: string, locale?: string): Promise<{
43
+ sent: boolean;
44
+ to: string;
45
+ }>;
46
+ protected resolveTestTemplate(template?: string, locale?: string): string;
47
+ protected audit(action: string): void;
48
+ }