@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,109 @@
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 CoreHubModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CoreHubModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const constants_1 = require("@nestjs/common/constants");
13
+ const core_hub_actions_controller_1 = require("./core-hub-actions.controller");
14
+ const core_hub_html_service_1 = require("./core-hub-html.service");
15
+ const core_hub_controller_1 = require("./core-hub.controller");
16
+ const core_hub_service_1 = require("./core-hub.service");
17
+ const hub_constants_1 = require("./hub.constants");
18
+ const hub_config_helper_1 = require("./hub-config.helper");
19
+ const hub_trace_middleware_1 = require("./middleware/hub-trace.middleware");
20
+ const core_hub_actions_service_1 = require("./services/core-hub-actions.service");
21
+ const core_hub_db_service_1 = require("./services/core-hub-db.service");
22
+ const core_hub_email_service_1 = require("./services/core-hub-email.service");
23
+ const core_hub_mailbox_service_1 = require("./services/core-hub-mailbox.service");
24
+ const core_hub_migrations_service_1 = require("./services/core-hub-migrations.service");
25
+ const core_hub_sources_service_1 = require("./services/core-hub-sources.service");
26
+ const hub_log_buffer_service_1 = require("./services/hub-log-buffer.service");
27
+ const hub_query_profiler_service_1 = require("./services/hub-query-profiler.service");
28
+ const hub_trace_buffer_service_1 = require("./services/hub-trace-buffer.service");
29
+ let CoreHubModule = class CoreHubModule {
30
+ static { CoreHubModule_1 = this; }
31
+ static traceEnabled = false;
32
+ configure(consumer) {
33
+ if (CoreHubModule_1.traceEnabled) {
34
+ consumer.apply(hub_trace_middleware_1.HubTraceMiddleware).forRoutes('*');
35
+ }
36
+ }
37
+ static forRoot(options) {
38
+ const resolved = (0, hub_config_helper_1.normalizeHubConfig)(options.config, options.ctx);
39
+ CoreHubModule_1.traceEnabled = resolved.collectors.traces !== false;
40
+ if (resolved.mailbox !== false && resolved.mailbox.mode === 'capture' && (0, hub_config_helper_1.isReachableEnv)(resolved.env)) {
41
+ throw new Error(`Hub mailbox mode 'capture' is not permitted in a reachable environment (${resolved.env}): it ` +
42
+ "suppresses all outgoing mail. Use mode 'copy' (send + record) or disable the mailbox.");
43
+ }
44
+ if (resolved.roles === false && (0, hub_config_helper_1.isReachableEnv)(resolved.env) && !resolved.allowPublicAccessInProduction) {
45
+ throw new Error(`Hub 'roles: false' (no auth check) is not permitted in a reachable environment (${resolved.env}): ` +
46
+ 'it exposes the config viewer, logs and destructive admin actions to unauthenticated requests. ' +
47
+ 'Keep the default ADMIN gate (omit `roles`), or — ONLY behind a fully-controlled network ' +
48
+ 'boundary — set hub.allowPublicAccessInProduction: true to acknowledge the risk.');
49
+ }
50
+ const ControllerClass = options.controller || core_hub_controller_1.CoreHubController;
51
+ const ActionsControllerClass = options.actionsController || core_hub_actions_controller_1.CoreHubActionsController;
52
+ for (const Ctrl of resolved.actions ? [ControllerClass, ActionsControllerClass] : [ControllerClass]) {
53
+ Reflect.defineMetadata(constants_1.PATH_METADATA, resolved.path, Ctrl);
54
+ if (resolved.roles === false) {
55
+ Reflect.deleteMetadata('roles', Ctrl);
56
+ }
57
+ else {
58
+ Reflect.defineMetadata('roles', resolved.roles, Ctrl);
59
+ }
60
+ }
61
+ const providers = [
62
+ { provide: hub_constants_1.HUB_CONFIG, useValue: resolved },
63
+ { provide: core_hub_service_1.CoreHubService, useClass: options.service || core_hub_service_1.CoreHubService },
64
+ { provide: core_hub_html_service_1.CoreHubHtmlService, useClass: options.htmlService || core_hub_html_service_1.CoreHubHtmlService },
65
+ core_hub_db_service_1.CoreHubDbService,
66
+ core_hub_email_service_1.CoreHubEmailService,
67
+ core_hub_migrations_service_1.CoreHubMigrationsService,
68
+ core_hub_sources_service_1.CoreHubSourcesService,
69
+ hub_log_buffer_service_1.HubLogBufferService,
70
+ hub_query_profiler_service_1.HubQueryProfilerService,
71
+ hub_trace_buffer_service_1.HubTraceBufferService,
72
+ hub_trace_middleware_1.HubTraceMiddleware,
73
+ ];
74
+ const controllers = [ControllerClass];
75
+ if (resolved.actions) {
76
+ controllers.push(ActionsControllerClass);
77
+ providers.push({ provide: core_hub_actions_service_1.CoreHubActionsService, useClass: options.actionsService || core_hub_actions_service_1.CoreHubActionsService });
78
+ }
79
+ const global = resolved.mailbox !== false;
80
+ if (global) {
81
+ providers.push(core_hub_mailbox_service_1.CoreHubMailboxService);
82
+ providers.push({ provide: hub_constants_1.HUB_EMAIL_CAPTURE, useExisting: core_hub_mailbox_service_1.CoreHubMailboxService });
83
+ }
84
+ return {
85
+ controllers,
86
+ exports: [
87
+ core_hub_service_1.CoreHubService,
88
+ core_hub_html_service_1.CoreHubHtmlService,
89
+ core_hub_db_service_1.CoreHubDbService,
90
+ core_hub_email_service_1.CoreHubEmailService,
91
+ core_hub_migrations_service_1.CoreHubMigrationsService,
92
+ core_hub_sources_service_1.CoreHubSourcesService,
93
+ hub_log_buffer_service_1.HubLogBufferService,
94
+ hub_query_profiler_service_1.HubQueryProfilerService,
95
+ hub_trace_buffer_service_1.HubTraceBufferService,
96
+ hub_constants_1.HUB_CONFIG,
97
+ ...(global ? [core_hub_mailbox_service_1.CoreHubMailboxService, hub_constants_1.HUB_EMAIL_CAPTURE] : []),
98
+ ],
99
+ global,
100
+ module: CoreHubModule_1,
101
+ providers,
102
+ };
103
+ }
104
+ };
105
+ exports.CoreHubModule = CoreHubModule;
106
+ exports.CoreHubModule = CoreHubModule = CoreHubModule_1 = __decorate([
107
+ (0, common_1.Module)({})
108
+ ], CoreHubModule);
109
+ //# sourceMappingURL=core-hub.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-hub.module.js","sourceRoot":"","sources":["../../../../src/core/modules/hub/core-hub.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Connection } from 'mongoose';
2
+ import { ConfigService } from '../../common/services/config.service';
3
+ import { CoreHubSourcesService } from './services/core-hub-sources.service';
4
+ import { HubDashboardData, HubDiagnosticsData, HubSessionData } from './interfaces/hub-panels.interface';
5
+ import { ResolvedHubConfig } from './interfaces/hub-config.interface';
6
+ export declare class CoreHubService {
7
+ protected readonly config: ResolvedHubConfig;
8
+ protected readonly configService: ConfigService;
9
+ protected readonly sources: CoreHubSourcesService;
10
+ protected readonly connection?: Connection;
11
+ constructor(config: ResolvedHubConfig, configService: ConfigService, sources: CoreHubSourcesService, connection?: Connection);
12
+ getDashboard(): HubDashboardData;
13
+ getDiagnostics(buffers?: HubDiagnosticsData['buffers']): HubDiagnosticsData;
14
+ getConfigMasked(): Record<string, unknown>;
15
+ getResolvedConfig(): ResolvedHubConfig;
16
+ getSessionPayload(): HubSessionData;
17
+ protected featureMatrix(): Record<string, boolean>;
18
+ }
@@ -0,0 +1,153 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CoreHubService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const mongoose_1 = require("@nestjs/mongoose");
18
+ const mongoose_2 = require("mongoose");
19
+ const meta_helper_1 = require("../../common/helpers/meta.helper");
20
+ const config_service_1 = require("../../common/services/config.service");
21
+ const hub_constants_1 = require("./hub.constants");
22
+ const hub_nav_1 = require("./hub-nav");
23
+ const hub_mask_helper_1 = require("./helpers/hub-mask.helper");
24
+ const core_hub_sources_service_1 = require("./services/core-hub-sources.service");
25
+ const FRAMEWORK_SECRET_FIELDS = [
26
+ 'password',
27
+ 'verificationToken',
28
+ 'passwordResetToken',
29
+ 'refreshTokens',
30
+ 'tempTokens',
31
+ 'apiKeyEncrypted',
32
+ ];
33
+ const MONGO_STATES = {
34
+ 0: 'disconnected',
35
+ 1: 'connected',
36
+ 2: 'connecting',
37
+ 3: 'disconnecting',
38
+ 99: 'uninitialized',
39
+ };
40
+ let CoreHubService = class CoreHubService {
41
+ config;
42
+ configService;
43
+ sources;
44
+ connection;
45
+ constructor(config, configService, sources, connection) {
46
+ this.config = config;
47
+ this.configService = configService;
48
+ this.sources = sources;
49
+ this.connection = connection;
50
+ }
51
+ getDashboard() {
52
+ const mem = process.memoryUsage();
53
+ const build = (0, meta_helper_1.getBuildInfo)({ env: this.config.env, version: this.config.version });
54
+ const readyState = this.connection?.readyState ?? 0;
55
+ return {
56
+ build: { commit: build.commit, env: this.config.env, version: this.config.version },
57
+ features: this.featureMatrix(),
58
+ links: { ...this.config.links },
59
+ memory: { heapTotal: mem.heapTotal, heapUsed: mem.heapUsed, rss: mem.rss },
60
+ mongo: { readyState, state: MONGO_STATES[readyState] ?? 'unknown' },
61
+ time: new Date().toISOString(),
62
+ uptimeSeconds: Math.round(process.uptime()),
63
+ };
64
+ }
65
+ getDiagnostics(buffers = {}) {
66
+ const mem = process.memoryUsage();
67
+ const cpu = process.cpuUsage();
68
+ return {
69
+ arch: process.arch,
70
+ buffers,
71
+ cpuUsage: { system: cpu.system, user: cpu.user },
72
+ env: this.config.env,
73
+ memory: {
74
+ arrayBuffers: mem.arrayBuffers,
75
+ external: mem.external,
76
+ heapTotal: mem.heapTotal,
77
+ heapUsed: mem.heapUsed,
78
+ rss: mem.rss,
79
+ },
80
+ nodeVersion: process.version,
81
+ pid: process.pid,
82
+ platform: process.platform,
83
+ time: new Date().toISOString(),
84
+ uptimeSeconds: Math.round(process.uptime()),
85
+ };
86
+ }
87
+ getConfigMasked() {
88
+ const raw = this.configService.configFastButReadOnly;
89
+ const projectSecretFields = this.configService.get('security.secretFields', []) ?? [];
90
+ return (0, hub_mask_helper_1.maskConfigDeep)(raw, [...FRAMEWORK_SECRET_FIELDS, ...projectSecretFields]);
91
+ }
92
+ getResolvedConfig() {
93
+ return this.config;
94
+ }
95
+ getSessionPayload() {
96
+ const sourceAvailability = this.sources.getPanelAvailability();
97
+ const isAvailable = (id) => {
98
+ if (id === 'mailbox') {
99
+ return this.config.mailbox !== false;
100
+ }
101
+ return sourceAvailability[id] ?? true;
102
+ };
103
+ return {
104
+ authenticated: true,
105
+ env: this.config.env,
106
+ links: { ...this.config.links },
107
+ logoutEndpoint: this.config.logoutEndpoint,
108
+ panelGroups: [...hub_nav_1.HUB_PANEL_GROUPS],
109
+ panels: hub_nav_1.HUB_PANELS.map((panel) => ({
110
+ available: isAvailable(panel.id),
111
+ group: panel.group,
112
+ id: panel.id,
113
+ optional: !!panel.optional,
114
+ path: panel.path,
115
+ title: panel.title,
116
+ })),
117
+ version: this.config.version,
118
+ };
119
+ }
120
+ featureMatrix() {
121
+ const has = (key) => {
122
+ const value = this.configService.get(key);
123
+ if (value === undefined || value === null || value === false) {
124
+ return false;
125
+ }
126
+ if (typeof value === 'object') {
127
+ return value.enabled !== false;
128
+ }
129
+ return true;
130
+ };
131
+ return {
132
+ ai: has('ai'),
133
+ betterAuth: this.sources.isBetterAuthActive(),
134
+ cookies: this.configService.get('cookies') !== false,
135
+ graphQl: this.configService.get('graphQl') !== false,
136
+ healthCheck: has('healthCheck'),
137
+ multiTenancy: has('multiTenancy'),
138
+ permissions: has('permissions'),
139
+ tus: has('tus'),
140
+ };
141
+ }
142
+ };
143
+ exports.CoreHubService = CoreHubService;
144
+ exports.CoreHubService = CoreHubService = __decorate([
145
+ (0, common_1.Injectable)(),
146
+ __param(0, (0, common_1.Inject)(hub_constants_1.HUB_CONFIG)),
147
+ __param(3, (0, common_1.Optional)()),
148
+ __param(3, (0, mongoose_1.InjectConnection)()),
149
+ __metadata("design:paramtypes", [Object, config_service_1.ConfigService,
150
+ core_hub_sources_service_1.CoreHubSourcesService,
151
+ mongoose_2.Connection])
152
+ ], CoreHubService);
153
+ //# sourceMappingURL=core-hub.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-hub.service.js","sourceRoot":"","sources":["../../../../src/core/modules/hub/core-hub.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getHubClientJs(): string;