@futdevpro/nts-dynamo 1.15.153 → 1.15.155

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 (52) hide show
  1. package/README.md +25 -6
  2. package/__documentations/2026-08-22-content-free-process-error-boundary.md +91 -0
  3. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  4. package/build/_models/control-models/app-params.control-model.js +1 -2
  5. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  6. package/build/_modules/server/index.d.ts +4 -0
  7. package/build/_modules/server/index.d.ts.map +1 -1
  8. package/build/_modules/server/index.js +5 -0
  9. package/build/_modules/server/index.js.map +1 -1
  10. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +9 -0
  11. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts.map +1 -0
  12. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +13 -0
  13. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js.map +1 -0
  14. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -0
  15. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts.map +1 -0
  16. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -0
  17. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js.map +1 -0
  18. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +19 -0
  19. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts.map +1 -0
  20. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +83 -0
  21. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js.map +1 -0
  22. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +19 -0
  23. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts.map +1 -0
  24. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +3 -0
  25. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js.map +1 -0
  26. package/build/_services/core/global.service.d.ts +3 -3
  27. package/build/_services/core/global.service.d.ts.map +1 -1
  28. package/build/_services/core/global.service.js +24 -18
  29. package/build/_services/core/global.service.js.map +1 -1
  30. package/build/_services/server/app.server.d.ts +2 -0
  31. package/build/_services/server/app.server.d.ts.map +1 -1
  32. package/build/_services/server/app.server.js +71 -199
  33. package/build/_services/server/app.server.js.map +1 -1
  34. package/build/_services/shared.static-service.d.ts +11 -4
  35. package/build/_services/shared.static-service.d.ts.map +1 -1
  36. package/build/_services/shared.static-service.js +26 -6
  37. package/build/_services/shared.static-service.js.map +1 -1
  38. package/package.json +15 -9
  39. package/src/_models/control-models/app-params.control-model.spec.ts +9 -5
  40. package/src/_models/control-models/app-params.control-model.ts +4 -3
  41. package/src/_modules/server/index.ts +6 -0
  42. package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +8 -0
  43. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +19 -0
  44. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +124 -0
  45. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +99 -0
  46. package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +20 -0
  47. package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +2 -2
  48. package/src/_services/core/global.service.ts +34 -33
  49. package/src/_services/server/app-safe-diagnostic.spec.ts +124 -0
  50. package/src/_services/server/app.server.ts +209 -262
  51. package/src/_services/shared.static-service.spec.ts +57 -23
  52. package/src/_services/shared.static-service.ts +48 -19
package/README.md CHANGED
@@ -28,10 +28,25 @@ Dynamo-NTS simplifies complex system definitions by abstracting common backend i
28
28
  - **Axios Usage**: HTTP client requests to external APIs are standardized through `DyNTS_ApiService` with `DyNTS_ApiCall_Params` configuration (simplifies Axios request setup, error handling, and response management)
29
29
  - **Discord.js / Slack / Teams Bot Development**: Platform-agnostic bot framework through `DyNTS_Bot_MessagingProvider_ServiceBase` and bot modules (simplifies Discord.js, Slack, and Teams bot development with unified interfaces)
30
30
  - **OpenAI / AI Provider Integration**: AI/LLM operations including chat, embeddings, and vector search are abstracted through `DyNTS_AI_Provider_ServiceBase` and provider implementations (simplifies OpenAI SDK usage and enables multi-provider architecture)
31
- - **Location Tracking**: IP-based geolocation through `geoip-lite` is integrated into the usage tracking module (simplifies location data collection from HTTP requests)
31
+ - **Location Tracking**: Optional, local-only IP geolocation through `geoip-lite`; addresses are not sent to an external service or written to logs by Dynamo-NTS
32
32
 
33
33
  This parameterization approach eliminates boilerplate code and provides a consistent, type-safe interface for all backend operations. Instead of learning multiple library APIs and their configuration patterns, developers work with unified Dynamo-NTS parameter objects that handle the underlying complexity.
34
34
 
35
+ ### Content-free process diagnostics
36
+
37
+ `DyNTS_App` projects bootstrap failures, unhandled promise rejections, database connection/runtime failures,
38
+ HTTP/HTTPS server errors, routing failures and Express fallbacks through the versioned
39
+ `dynts-safe-diagnostic/1` contract before framework-owned logging or error forwarding. The public allowlist is
40
+ limited to `contractVersion`, `code`, `stage`, `causeType`, `fingerprint` and `status`. Raw error messages,
41
+ stacks, rejected promises, requests and database URIs are excluded. The fingerprint is derived only from the
42
+ allowlisted classification, never from raw failure content.
43
+
44
+ Consumers can use `DyNTS_SafeDiagnostic_ControlService.project()` when they need the same deterministic
45
+ projection without logging, `report()` for safe framework logging, and `toError()` when a content-free
46
+ `DyFM_Error` must cross an existing error-handler boundary. See
47
+ [`__documentations/2026-08-22-content-free-process-error-boundary.md`](./__documentations/2026-08-22-content-free-process-error-boundary.md)
48
+ for the normative boundary and verification matrix.
49
+
35
50
  ## Table of Contents
36
51
 
37
52
  - [Installation](#installation)
@@ -83,9 +98,13 @@ These dependencies are only required when using specific modules:
83
98
 
84
99
  - **Socket Module**: `socket.io` - Real-time communication (simplified through Dynamo-NTS socket services)
85
100
  - **Email Service**: `nodemailer` - Email sending (simplified through Dynamo-NTS email services)
86
- - **Usage Module**: `geoip-lite` and `@types/geoip-lite` - IP geolocation (simplified through Dynamo-NTS usage module)
87
- - **Bot Module (Discord)**: `discord.js` - Discord bot development (simplified through Dynamo-NTS bot module)
88
- - **AI Module (OpenAI)**: `openai` - OpenAI API integration (simplified through Dynamo-NTS AI module)
101
+ - **Usage Module**: `geoip-lite` and `@types/geoip-lite` - optional, local-only IP geolocation. The provider is loaded only when a lookup is requested. Without it, lookup methods return `null` and the rest of Dynamo-NTS remains usable. The supported secure `geoip-lite` line requires Node.js 24 or newer.
102
+ - **Bot Module (Discord)**: `discord.js` - Discord bot development (simplified through Dynamo-NTS bot module)
103
+ - **AI Module (OpenAI)**: `openai` - OpenAI API integration (simplified through Dynamo-NTS AI module)
104
+
105
+ The GeoIP lookup itself does not transmit or log an address. Calling the Usage module can persist the
106
+ request address and derived location in the consumer's own data store. Consumers enabling that capability
107
+ must define the applicable lawful basis, user-facing transparency, access controls, retention and deletion.
89
108
 
90
109
  Install module-specific dependencies as needed:
91
110
 
@@ -96,8 +115,8 @@ pnpm add socket.io
96
115
  # For Email service
97
116
  pnpm add nodemailer
98
117
 
99
- # For Usage module
100
- pnpm add geoip-lite @types/geoip-lite
118
+ # For Usage module
119
+ pnpm add geoip-lite@^2.0.3 @types/geoip-lite@^1.4.4
101
120
 
102
121
  # For Bot module (Discord)
103
122
  pnpm add discord.js
@@ -0,0 +1,91 @@
1
+ # Content-free process error boundary
2
+
3
+ **Date:** 2026-08-22
4
+ **Status:** implemented; verification evidence is recorded below
5
+ **Contract:** `dynts-safe-diagnostic/1`
6
+ **Package surface:** `@futdevpro/nts-dynamo`, server module exports
7
+
8
+ ## Purpose
9
+
10
+ Dynamo-NTS must remain debuggable without copying arbitrary application content into framework-owned logs or
11
+ error forwarding. Process failures can contain credentials, personal data, workbook values, HTTP request data,
12
+ provider responses or attacker-controlled strings in `message`, `stack`, rejected promises and nested error
13
+ objects. This boundary converts such failures to a fixed allowlist before they reach a Dynamo-NTS logger or the
14
+ global handler from `DyNTS_App`.
15
+
16
+ The capability is direct Dynamo Bedrock. Consuming applications must use it as supplied and may add their own
17
+ product metadata only through a separately reviewed, content-free contract.
18
+
19
+ ## Normative public contract
20
+
21
+ `DyNTS_SafeDiagnostic_Interface` contains exactly these fields:
22
+
23
+ | Field | Meaning |
24
+ |---|---|
25
+ | `contractVersion` | Literal `dynts-safe-diagnostic/1`. |
26
+ | `code` | Stable uppercase error code; invalid caller input fails closed to a fixed fallback. |
27
+ | `stage` | Closed lifecycle-stage enum. |
28
+ | `causeType` | Coarse classification only: Dynamo error, native error, object, primitive or unknown. |
29
+ | `fingerprint` | SHA-256 correlation of contract version, code, stage, cause type and status only. |
30
+ | `status` | Valid HTTP-style integer from 100 through 599; otherwise 500. |
31
+
32
+ No raw failure content participates in the returned object or the fingerprint. In particular, `message`,
33
+ `stack`, request/response objects, rejected promises, MongoDB URIs, usernames, passwords, tokens, workbook data
34
+ and arbitrary nested properties are not public fields and are never read for fingerprint construction.
35
+
36
+ The projection is immutable. `project()` returns it without side effects, `report()` logs only that projection,
37
+ and `toError()` creates a `DyFM_Error` whose message and additional content are derived solely from the safe
38
+ projection.
39
+
40
+ ## Framework integration
41
+
42
+ `DyNTS_App` applies the projection before framework-owned logging and forwarding at these boundaries:
43
+
44
+ - bootstrap rejection and `unhandledRejection`;
45
+ - post-process, memory guard, event-loop diagnostics and collection-growth monitor failures;
46
+ - readiness reporting;
47
+ - initial MongoDB connect failure, runtime connection error and reconnect-guard diagnostics;
48
+ - HTTP and HTTPS server error/uncaught-exception events;
49
+ - open/secure route configuration and duplicate-route failures;
50
+ - Express error fallback and secondary global-handler failures;
51
+ - retention installation diagnostics.
52
+
53
+ MongoDB connection success logs only the stable fact that MongoDB is connected. Malformed URI warnings,
54
+ initial connection failure and runtime connection failure do not interpolate the URI. The URI remains an input
55
+ to Mongoose because it is operationally required, but it is not a diagnostic value.
56
+
57
+ The default `DyNTS_GlobalService` handler also projects a raw failure before logging. A consumer-supplied global
58
+ handler remains a consumer boundary; failures forwarded by `DyNTS_App` reach it as a content-free `DyFM_Error`.
59
+ If that handler throws or rejects, Dynamo-NTS projects the secondary failure rather than recursively logging it.
60
+
61
+ ## Security and privacy properties
62
+
63
+ - The output is an exact allowlist rather than a denylist-based redaction attempt.
64
+ - Hostile getters on error objects cannot make raw content appear in the projection.
65
+ - Correlation is deterministic for the same safe classification but cannot be used to dictionary-test an error
66
+ message, password or token because raw values are excluded from the hash input.
67
+ - Invalid codes and statuses fail closed to stable defaults.
68
+ - Client responses continue to use the existing client-safe error utility; this capability governs
69
+ framework-owned process diagnostics and forwarding.
70
+ - This boundary reduces disclosure risk but does not authorize logging sensitive values elsewhere in a
71
+ consuming application.
72
+
73
+ ## Verification matrix
74
+
75
+ | Evidence | Required assertion |
76
+ |---|---|
77
+ | Safe-diagnostic unit tests | Exact frozen allowlist, stable fingerprint, cause classification and fail-closed hostile input. |
78
+ | Report/toError unit test | Logger and serialized `DyFM_Error` contain the safe contract and exclude a credential-bearing canary. |
79
+ | Process-boundary runtime test | Unhandled rejection is projected before both logging and global-handler forwarding. |
80
+ | Bootstrap runtime test | Rejected construction is projected before logging/forwarding and terminates with exit code 1. |
81
+ | Default-handler runtime test | Raw input is projected before default global logging. |
82
+ | App-params test | A malformed credential-bearing MongoDB URI triggers a warning without exposing the URI. |
83
+ | Static source scan | No Dynamo-NTS App log call receives raw error, stack, promise, construct-error collection or DB URI. |
84
+ | Full package regression | Build, complete Jasmine suite and project validators remain green. |
85
+
86
+ ## Consumer adoption requirement
87
+
88
+ A consumer adopts the capability by pinning the first exact `@futdevpro/nts-dynamo` version that contains this
89
+ document and by proving the package-level runtime tests in its dependency tree. Reimplementing the boundary in
90
+ the product does not count as Bedrock adoption. Product-specific diagnostics may compose the safe fields, but
91
+ must not copy or reinterpret raw failure content.
@@ -1 +1 @@
1
- {"version":3,"file":"app-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAEpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;SAIK;IACL,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;gBAIpC,GAAG,EAAE,gBAAgB;CA6ExB"}
1
+ {"version":3,"file":"app-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM1C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAEpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;SAIK;IACL,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;gBAIpC,GAAG,EAAE,gBAAgB;CA4ExB"}
@@ -78,8 +78,7 @@ class DyNTS_App_Params {
78
78
  this.dbUri = set.dbUri;
79
79
  }
80
80
  if (this.dbUri.split('//').length > 2) {
81
- fsm_dynamo_1.DyFM_Log.warn('DyNTS_App_Params.constructor: ' +
82
- `dbUri should not contain more than one "//" in "${this.dbUri}".`);
81
+ fsm_dynamo_1.DyFM_Log.warn('DyNTS_App_Params.constructor: dbUri should not contain more than one "//".');
83
82
  }
84
83
  this.dbOptions = set.dbOptions ?? {
85
84
  directConnection: true,
@@ -1 +1 @@
1
- {"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D,oFAAiF;AAEjF;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACM,IAAI,CAAS;IACtB;;OAEG;IACM,KAAK,CAAU;IACxB;;;;;OAKG;IACM,OAAO,CAAS;IAEzB;;;OAGG;IACM,KAAK,CAAU;IACxB;;OAEG;IACM,MAAM,CAAU;IACzB;;OAEG;IACM,SAAS,CAAkB;IAE3B,QAAQ,CAAU;IAClB,UAAU,CAAU;IAC7B;;;;SAIK;IACI,cAAc,CAAU;IAEjC;;OAEG;IACM,UAAU,CAAU;IAC7B;;OAEG;IACM,mBAAmB,CAAU;IACtC,qDAAqD;IAErD,YACE,GAAqB;QAErB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,6CAAqB,CAAC,aAAa,KAAK,iBAAiB,EAAE,CAAC;YAC9D,6CAAqB,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAEzB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,6CAAqB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAChD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,IAAI,CAAC,KAAK,GAAG,GAAG,6CAAqB,CAAC,YAAY,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC9E,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,KAAK,GAAG,6CAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC;oBAC3D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACzB,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,qBAAQ,CAAC,IAAI,CACX,gCAAgC;oBAChC,mDAAmD,IAAI,CAAC,KAAK,IAAI,CAClE,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI;gBAChC,gBAAgB,EAAE,IAAI;aACvB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,6CAAqB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;QAErD,IAAI,gBAAwB,CAAC;QAC7B,gBAAgB,GAAG,GAAG,CAAC,mBAAmB,IAAI,wBAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9F,6CAA6C;QAC7C,gBAAgB,IAAI,GAAG,GAAG,6CAAqB,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACvF,GAAG;QACH,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;QAC5C,6CAAqB,CAAC,mBAAmB,KAAK,IAAI,CAAC,mBAAmB,CAAC;QAEvE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,qBAAQ,CAAC,KAAK,CACZ,gCAAgC;gBAChC,yBAAyB,IAAI,CAAC,IAAI,UAAU;gBAC5C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,sCAAsC,IAAI,CAAC,MAAM,UAAU;gBAC3D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED;;;;;;YAMI;IACN,CAAC;CACF;AAhID,4CAgIC"}
1
+ {"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":";;;AAEA,sDAA8D;AAE9D,oFAAiF;AAEjF;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;OAEG;IACM,IAAI,CAAS;IACtB;;OAEG;IACM,KAAK,CAAU;IACxB;;;;;OAKG;IACM,OAAO,CAAS;IAEzB;;;OAGG;IACM,KAAK,CAAU;IACxB;;OAEG;IACM,MAAM,CAAU;IACzB;;OAEG;IACM,SAAS,CAAkB;IAE3B,QAAQ,CAAU;IAClB,UAAU,CAAU;IAC7B;;;;SAIK;IACI,cAAc,CAAU;IAEjC;;OAEG;IACM,UAAU,CAAU;IAC7B;;OAEG;IACM,mBAAmB,CAAU;IACtC,qDAAqD;IAErD,YACE,GAAqB;QAErB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,6CAAqB,CAAC,aAAa,KAAK,iBAAiB,EAAE,CAAC;YAC9D,6CAAqB,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAEzB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,6CAAqB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAChD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,IAAI,CAAC,KAAK,GAAG,GAAG,6CAAqB,CAAC,YAAY,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC9E,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,KAAK,GAAG,6CAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC;oBAC3D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,GAAG,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACzB,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,qBAAQ,CAAC,IAAI,CACX,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI;gBAChC,gBAAgB,EAAE,IAAI;aACvB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,6CAAqB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;QAErD,IAAI,gBAAwB,CAAC;QAC7B,gBAAgB,GAAG,GAAG,CAAC,mBAAmB,IAAI,wBAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9F,6CAA6C;QAC7C,gBAAgB,IAAI,GAAG,GAAG,6CAAqB,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACvF,GAAG;QACH,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;QAC5C,6CAAqB,CAAC,mBAAmB,KAAK,IAAI,CAAC,mBAAmB,CAAC;QAEvE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,qBAAQ,CAAC,KAAK,CACZ,gCAAgC;gBAChC,yBAAyB,IAAI,CAAC,IAAI,UAAU;gBAC5C,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,qBAAQ,CAAC,IAAI,CACX,gCAAgC;gBAChC,sCAAsC,IAAI,CAAC,MAAM,UAAU;gBAC3D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAED;;;;;;YAMI;IACN,CAAC;CACF;AA/HD,4CA+HC"}
@@ -9,4 +9,8 @@ export * from './server-status/server-status-snapshot.data-service';
9
9
  export * from './server-status/server-status-snapshot.control-service';
10
10
  export * from './server-status/server-status.control-service';
11
11
  export * from './server-status/server-status.controller';
12
+ export * from './safe-diagnostic/safe-diagnostic-cause.type-enum';
13
+ export * from './safe-diagnostic/safe-diagnostic-stage.type-enum';
14
+ export * from './safe-diagnostic/safe-diagnostic.interface';
15
+ export * from './safe-diagnostic/safe-diagnostic.control-service';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/server/index.ts"],"names":[],"mappings":"AAkBA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC;AACnE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/server/index.ts"],"names":[],"mappings":"AAkBA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC;AACnE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC;AAGzD,cAAc,mDAAmD,CAAC;AAClE,cAAc,mDAAmD,CAAC;AAClE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC"}
@@ -28,4 +28,9 @@ tslib_1.__exportStar(require("./server-status/server-status-snapshot.data-servic
28
28
  tslib_1.__exportStar(require("./server-status/server-status-snapshot.control-service"), exports);
29
29
  tslib_1.__exportStar(require("./server-status/server-status.control-service"), exports);
30
30
  tslib_1.__exportStar(require("./server-status/server-status.controller"), exports);
31
+ // SAFE-DIAGNOSTIC
32
+ tslib_1.__exportStar(require("./safe-diagnostic/safe-diagnostic-cause.type-enum"), exports);
33
+ tslib_1.__exportStar(require("./safe-diagnostic/safe-diagnostic-stage.type-enum"), exports);
34
+ tslib_1.__exportStar(require("./safe-diagnostic/safe-diagnostic.interface"), exports);
35
+ tslib_1.__exportStar(require("./safe-diagnostic/safe-diagnostic.control-service"), exports);
31
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/server/index.ts"],"names":[],"mappings":";AACA,EAAE;AACF,gBAAgB;AAChB,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,aAAa;AACb,mEAAmE;AACnE,EAAE;AACF,oBAAoB;AACpB,0CAA0C;AAC1C,EAAE;AACF,6BAA6B;AAC7B,wEAAwE;AACxE,EAAE;;;AAGF,SAAS;AACT,qEAA2C;AAC3C,0EAAgD;AAChD,uEAA6C;AAE7C,gBAAgB;AAChB,4FAAkE;AAClE,6FAAmE;AACnE,uFAA6D;AAC7D,6FAAmE;AACnE,8FAAoE;AACpE,iGAAuE;AACvE,wFAA8D;AAC9D,mFAAyD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/server/index.ts"],"names":[],"mappings":";AACA,EAAE;AACF,gBAAgB;AAChB,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,aAAa;AACb,mEAAmE;AACnE,EAAE;AACF,oBAAoB;AACpB,0CAA0C;AAC1C,EAAE;AACF,6BAA6B;AAC7B,wEAAwE;AACxE,EAAE;;;AAGF,SAAS;AACT,qEAA2C;AAC3C,0EAAgD;AAChD,uEAA6C;AAE7C,gBAAgB;AAChB,4FAAkE;AAClE,6FAAmE;AACnE,uFAA6D;AAC7D,6FAAmE;AACnE,8FAAoE;AACpE,iGAAuE;AACvE,wFAA8D;AAC9D,mFAAyD;AAEzD,kBAAkB;AAClB,4FAAkE;AAClE,4FAAkE;AAClE,sFAA4D;AAC5D,4FAAkE"}
@@ -0,0 +1,9 @@
1
+ /** Stable, content-free classifications for framework-owned failures. */
2
+ export declare enum DyNTS_SafeDiagnosticCause_Type {
3
+ dynamoError = "dynamo-error",
4
+ nativeError = "native-error",
5
+ object = "object",
6
+ primitive = "primitive",
7
+ unknown = "unknown"
8
+ }
9
+ //# sourceMappingURL=safe-diagnostic-cause.type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic-cause.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,oBAAY,8BAA8B;IACxC,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_SafeDiagnosticCause_Type = void 0;
4
+ /** Stable, content-free classifications for framework-owned failures. */
5
+ var DyNTS_SafeDiagnosticCause_Type;
6
+ (function (DyNTS_SafeDiagnosticCause_Type) {
7
+ DyNTS_SafeDiagnosticCause_Type["dynamoError"] = "dynamo-error";
8
+ DyNTS_SafeDiagnosticCause_Type["nativeError"] = "native-error";
9
+ DyNTS_SafeDiagnosticCause_Type["object"] = "object";
10
+ DyNTS_SafeDiagnosticCause_Type["primitive"] = "primitive";
11
+ DyNTS_SafeDiagnosticCause_Type["unknown"] = "unknown";
12
+ })(DyNTS_SafeDiagnosticCause_Type || (exports.DyNTS_SafeDiagnosticCause_Type = DyNTS_SafeDiagnosticCause_Type = {}));
13
+ //# sourceMappingURL=safe-diagnostic-cause.type-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic-cause.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,IAAY,8BAMX;AAND,WAAY,8BAA8B;IACxC,8DAA4B,CAAA;IAC5B,8DAA4B,CAAA;IAC5B,mDAAiB,CAAA;IACjB,yDAAuB,CAAA;IACvB,qDAAmB,CAAA;AACrB,CAAC,EANW,8BAA8B,8CAA9B,8BAA8B,QAMzC"}
@@ -0,0 +1,20 @@
1
+ /** Framework stages that may emit a content-free diagnostic. */
2
+ export declare enum DyNTS_SafeDiagnosticStage_Type {
3
+ bootstrap = "bootstrap",
4
+ collectionGrowthMonitor = "collection-growth-monitor",
5
+ databaseConnect = "database-connect",
6
+ databaseRuntime = "database-runtime",
7
+ eventLoopDiagnostic = "event-loop-diagnostic",
8
+ expressFallback = "express-fallback",
9
+ globalErrorHandler = "global-error-handler",
10
+ httpServer = "http-server",
11
+ httpsServer = "https-server",
12
+ memoryGuard = "memory-guard",
13
+ mongoReconnectGuard = "mongo-reconnect-guard",
14
+ postProcess = "post-process",
15
+ readiness = "readiness",
16
+ retention = "retention",
17
+ routing = "routing",
18
+ unhandledRejection = "unhandled-rejection"
19
+ }
20
+ //# sourceMappingURL=safe-diagnostic-stage.type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic-stage.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oBAAY,8BAA8B;IACxC,SAAS,cAAc;IACvB,uBAAuB,8BAA8B;IACrD,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,mBAAmB,0BAA0B;IAC7C,eAAe,qBAAqB;IACpC,kBAAkB,yBAAyB;IAC3C,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,mBAAmB,0BAA0B;IAC7C,WAAW,iBAAiB;IAC5B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,kBAAkB,wBAAwB;CAC3C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_SafeDiagnosticStage_Type = void 0;
4
+ /** Framework stages that may emit a content-free diagnostic. */
5
+ var DyNTS_SafeDiagnosticStage_Type;
6
+ (function (DyNTS_SafeDiagnosticStage_Type) {
7
+ DyNTS_SafeDiagnosticStage_Type["bootstrap"] = "bootstrap";
8
+ DyNTS_SafeDiagnosticStage_Type["collectionGrowthMonitor"] = "collection-growth-monitor";
9
+ DyNTS_SafeDiagnosticStage_Type["databaseConnect"] = "database-connect";
10
+ DyNTS_SafeDiagnosticStage_Type["databaseRuntime"] = "database-runtime";
11
+ DyNTS_SafeDiagnosticStage_Type["eventLoopDiagnostic"] = "event-loop-diagnostic";
12
+ DyNTS_SafeDiagnosticStage_Type["expressFallback"] = "express-fallback";
13
+ DyNTS_SafeDiagnosticStage_Type["globalErrorHandler"] = "global-error-handler";
14
+ DyNTS_SafeDiagnosticStage_Type["httpServer"] = "http-server";
15
+ DyNTS_SafeDiagnosticStage_Type["httpsServer"] = "https-server";
16
+ DyNTS_SafeDiagnosticStage_Type["memoryGuard"] = "memory-guard";
17
+ DyNTS_SafeDiagnosticStage_Type["mongoReconnectGuard"] = "mongo-reconnect-guard";
18
+ DyNTS_SafeDiagnosticStage_Type["postProcess"] = "post-process";
19
+ DyNTS_SafeDiagnosticStage_Type["readiness"] = "readiness";
20
+ DyNTS_SafeDiagnosticStage_Type["retention"] = "retention";
21
+ DyNTS_SafeDiagnosticStage_Type["routing"] = "routing";
22
+ DyNTS_SafeDiagnosticStage_Type["unhandledRejection"] = "unhandled-rejection";
23
+ })(DyNTS_SafeDiagnosticStage_Type || (exports.DyNTS_SafeDiagnosticStage_Type = DyNTS_SafeDiagnosticStage_Type = {}));
24
+ //# sourceMappingURL=safe-diagnostic-stage.type-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic-stage.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,IAAY,8BAiBX;AAjBD,WAAY,8BAA8B;IACxC,yDAAuB,CAAA;IACvB,uFAAqD,CAAA;IACrD,sEAAoC,CAAA;IACpC,sEAAoC,CAAA;IACpC,+EAA6C,CAAA;IAC7C,sEAAoC,CAAA;IACpC,6EAA2C,CAAA;IAC3C,4DAA0B,CAAA;IAC1B,8DAA4B,CAAA;IAC5B,8DAA4B,CAAA;IAC5B,+EAA6C,CAAA;IAC7C,8DAA4B,CAAA;IAC5B,yDAAuB,CAAA;IACvB,yDAAuB,CAAA;IACvB,qDAAmB,CAAA;IACnB,4EAA0C,CAAA;AAC5C,CAAC,EAjBW,8BAA8B,8CAA9B,8BAA8B,QAiBzC"}
@@ -0,0 +1,19 @@
1
+ import { DyFM_Error } from '@futdevpro/fsm-dynamo';
2
+ import { DyNTS_SafeDiagnosticInput_Interface, DyNTS_SafeDiagnostic_Interface } from './safe-diagnostic.interface';
3
+ /** Projects arbitrary failures to a versioned, content-free public diagnostic. */
4
+ export declare class DyNTS_SafeDiagnostic_ControlService {
5
+ private static readonly contractVersion;
6
+ private static readonly defaultCode;
7
+ private static readonly defaultStatus;
8
+ /** Returns an immutable exact allowlist and never reflects raw failure content. */
9
+ static project(input: DyNTS_SafeDiagnosticInput_Interface): DyNTS_SafeDiagnostic_Interface;
10
+ /** Logs only the projected allowlist and returns the same immutable diagnostic. */
11
+ static report(input: DyNTS_SafeDiagnosticInput_Interface): DyNTS_SafeDiagnostic_Interface;
12
+ /** Creates a framework error that carries only the safe diagnostic allowlist. */
13
+ static toError(diagnostic: DyNTS_SafeDiagnostic_Interface): DyFM_Error;
14
+ private static getCode;
15
+ private static getCauseType;
16
+ private static getStatus;
17
+ private static getFingerprint;
18
+ }
19
+ //# sourceMappingURL=safe-diagnostic.control-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAY,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EACL,mCAAmC,EACnC,8BAA8B,EAC/B,MAAM,6BAA6B,CAAC;AAErC,kFAAkF;AAClF,qBAAa,mCAAmC;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAwD;IAC/F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAgD;IACnF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAe;IAEpD,mFAAmF;IACnF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,mCAAmC,GAAG,8BAA8B;IAsB1F,mFAAmF;IACnF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,mCAAmC,GAAG,8BAA8B;IAQzF,iFAAiF;IACjF,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,8BAA8B,GAAG,UAAU;IAUtE,OAAO,CAAC,MAAM,CAAC,OAAO;IAItB,OAAO,CAAC,MAAM,CAAC,YAAY;IAwB3B,OAAO,CAAC,MAAM,CAAC,SAAS;IAQxB,OAAO,CAAC,MAAM,CAAC,cAAc;CAG9B"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_SafeDiagnostic_ControlService = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const safe_diagnostic_cause_type_enum_1 = require("./safe-diagnostic-cause.type-enum");
7
+ /** Projects arbitrary failures to a versioned, content-free public diagnostic. */
8
+ class DyNTS_SafeDiagnostic_ControlService {
9
+ static contractVersion = 'dynts-safe-diagnostic/1';
10
+ static defaultCode = 'DYNTS_SAFE_DIAGNOSTIC_INVALID_CODE';
11
+ static defaultStatus = 500;
12
+ /** Returns an immutable exact allowlist and never reflects raw failure content. */
13
+ static project(input) {
14
+ const code = this.getCode(input.code);
15
+ const causeType = this.getCauseType(input.error);
16
+ const status = this.getStatus(input.status);
17
+ const fingerprint = this.getFingerprint([
18
+ this.contractVersion,
19
+ code,
20
+ input.stage,
21
+ causeType,
22
+ status.toString(),
23
+ ]);
24
+ return Object.freeze({
25
+ contractVersion: this.contractVersion,
26
+ code: code,
27
+ stage: input.stage,
28
+ causeType: causeType,
29
+ fingerprint: fingerprint,
30
+ status: status,
31
+ });
32
+ }
33
+ /** Logs only the projected allowlist and returns the same immutable diagnostic. */
34
+ static report(input) {
35
+ const diagnostic = this.project(input);
36
+ fsm_dynamo_1.DyFM_Log.error('[DyNTS safe diagnostic]', diagnostic);
37
+ return diagnostic;
38
+ }
39
+ /** Creates a framework error that carries only the safe diagnostic allowlist. */
40
+ static toError(diagnostic) {
41
+ return new fsm_dynamo_1.DyFM_Error({
42
+ errorCode: diagnostic.code,
43
+ message: `Framework failure at ${diagnostic.stage}. Correlation: ${diagnostic.fingerprint}.`,
44
+ userMessage: 'A server operation failed. Contact the responsible team with the correlation fingerprint.',
45
+ additionalContent: { diagnostic: diagnostic },
46
+ status: diagnostic.status,
47
+ });
48
+ }
49
+ static getCode(code) {
50
+ return /^[A-Z][A-Z0-9_|-]{2,127}$/.test(code) ? code : this.defaultCode;
51
+ }
52
+ static getCauseType(error) {
53
+ try {
54
+ if (error instanceof fsm_dynamo_1.DyFM_Error) {
55
+ return safe_diagnostic_cause_type_enum_1.DyNTS_SafeDiagnosticCause_Type.dynamoError;
56
+ }
57
+ if (error instanceof Error) {
58
+ return safe_diagnostic_cause_type_enum_1.DyNTS_SafeDiagnosticCause_Type.nativeError;
59
+ }
60
+ if (error !== null && typeof error === 'object') {
61
+ return safe_diagnostic_cause_type_enum_1.DyNTS_SafeDiagnosticCause_Type.object;
62
+ }
63
+ if (error !== undefined) {
64
+ return safe_diagnostic_cause_type_enum_1.DyNTS_SafeDiagnosticCause_Type.primitive;
65
+ }
66
+ }
67
+ catch {
68
+ return safe_diagnostic_cause_type_enum_1.DyNTS_SafeDiagnosticCause_Type.unknown;
69
+ }
70
+ return safe_diagnostic_cause_type_enum_1.DyNTS_SafeDiagnosticCause_Type.unknown;
71
+ }
72
+ static getStatus(status) {
73
+ if (typeof status !== 'number' || !Number.isInteger(status) || status < 100 || status > 599) {
74
+ return this.defaultStatus;
75
+ }
76
+ return status;
77
+ }
78
+ static getFingerprint(subject) {
79
+ return (0, crypto_1.createHash)('sha256').update(subject.join('\u0000'), 'utf8').digest('hex');
80
+ }
81
+ }
82
+ exports.DyNTS_SafeDiagnostic_ControlService = DyNTS_SafeDiagnostic_ControlService;
83
+ //# sourceMappingURL=safe-diagnostic.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,sDAA6D;AAE7D,uFAAmF;AAMnF,kFAAkF;AAClF,MAAa,mCAAmC;IACtC,MAAM,CAAU,eAAe,GAA8B,yBAAyB,CAAC;IACvF,MAAM,CAAU,WAAW,GAAW,oCAAoC,CAAC;IAC3E,MAAM,CAAU,aAAa,GAAW,GAAG,CAAC;IAEpD,mFAAmF;IACnF,MAAM,CAAC,OAAO,CAAC,KAA0C;QACvD,MAAM,IAAI,GAAW,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAmC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,MAAM,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAW,IAAI,CAAC,cAAc,CAAC;YAC9C,IAAI,CAAC,eAAe;YACpB,IAAI;YACJ,KAAK,CAAC,KAAK;YACX,SAAS;YACT,MAAM,CAAC,QAAQ,EAAE;SAClB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,MAAM,CAAC,MAAM,CAAC,KAA0C;QACtD,MAAM,UAAU,GAAmC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEvE,qBAAQ,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;QAEtD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,OAAO,CAAC,UAA0C;QACvD,OAAO,IAAI,uBAAU,CAAC;YACpB,SAAS,EAAE,UAAU,CAAC,IAAI;YAC1B,OAAO,EAAE,wBAAwB,UAAU,CAAC,KAAK,kBAAkB,UAAU,CAAC,WAAW,GAAG;YAC5F,WAAW,EAAE,2FAA2F;YACxG,iBAAiB,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;YAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,IAAY;QACjC,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,KAAc;QACxC,IAAI,CAAC;YACH,IAAI,KAAK,YAAY,uBAAU,EAAE,CAAC;gBAChC,OAAO,gEAA8B,CAAC,WAAW,CAAC;YACpD,CAAC;YAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,gEAA8B,CAAC,WAAW,CAAC;YACpD,CAAC;YAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO,gEAA8B,CAAC,MAAM,CAAC;YAC/C,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,gEAA8B,CAAC,SAAS,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,gEAA8B,CAAC,OAAO,CAAC;QAChD,CAAC;QAED,OAAO,gEAA8B,CAAC,OAAO,CAAC;IAChD,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,MAAe;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAiB;QAC7C,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC;;AAtFH,kFAuFC"}
@@ -0,0 +1,19 @@
1
+ import { DyNTS_SafeDiagnosticCause_Type } from './safe-diagnostic-cause.type-enum';
2
+ import { DyNTS_SafeDiagnosticStage_Type } from './safe-diagnostic-stage.type-enum';
3
+ /** Caller-owned input whose raw failure content is never returned or logged. */
4
+ export interface DyNTS_SafeDiagnosticInput_Interface {
5
+ code: string;
6
+ stage: DyNTS_SafeDiagnosticStage_Type;
7
+ error?: unknown;
8
+ status?: number;
9
+ }
10
+ /** Exact public allowlist emitted by the safe diagnostic boundary. */
11
+ export interface DyNTS_SafeDiagnostic_Interface {
12
+ contractVersion: 'dynts-safe-diagnostic/1';
13
+ code: string;
14
+ stage: DyNTS_SafeDiagnosticStage_Type;
15
+ causeType: DyNTS_SafeDiagnosticCause_Type;
16
+ fingerprint: string;
17
+ status: number;
18
+ }
19
+ //# sourceMappingURL=safe-diagnostic.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAEnF,gFAAgF;AAChF,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,8BAA8B,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,yBAAyB,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,8BAA8B,CAAC;IACtC,SAAS,EAAE,8BAA8B,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=safe-diagnostic.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-diagnostic.interface.js","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts"],"names":[],"mappings":""}
@@ -1,11 +1,11 @@
1
1
  import { DyFM_AnyError, DyFM_DataModel_Params, DyFM_Error_Settings, DyFM_Metadata } from '@futdevpro/fsm-dynamo';
2
- import { DyNTS_App_Params } from '../../_models/control-models/app-params.control-model';
3
- import { DyNTS_GlobalErrorHandlerFn, DyNTS_GlobalService_Settings } from '../../_models/interfaces/global-service-settings.interface';
4
2
  import { DyNTS_AuthService } from './auth.service';
5
- import { DyNTS_DBService } from '../base/db.service';
6
3
  import { DyNTS_EmailService } from './email.service';
7
4
  import { DyNTS_Service_Collection } from './service-collection.service';
5
+ import { DyNTS_DBService } from '../base/db.service';
8
6
  import { DyNTS_SingletonService } from '../base/singleton.service';
7
+ import { DyNTS_App_Params } from '../../_models/control-models/app-params.control-model';
8
+ import { DyNTS_GlobalErrorHandlerFn, DyNTS_GlobalService_Settings } from '../../_models/interfaces/global-service-settings.interface';
9
9
  /**
10
10
  * This is the main Global/Core Service Collection used by DynamoNTS,
11
11
  * you also can use this to access main services as
@@ -1 +1 @@
1
- {"version":3,"file":"global.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAEb,qBAAqB,EAErB,mBAAmB,EAGnB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AAEzF,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,4DAA4D,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,sBAAsB;IAE7D,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAIzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAmB;IACzC,MAAM,KAAK,MAAM,IAAI,gBAAgB,CAEpC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IACpD,MAAM,KAAK,OAAO,IAAI,IAAI,CAEzB;IACD,MAAM,KAAK,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;IAMjD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,mBAAmB,EAAE,wBAAwB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,sBAAsB,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAErE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAEY;IAEvD,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAGlD;IAEH;;OAEG;WACU,WAAW,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;mBAoBrD,aAAa;IAqDlC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI;IAkDjE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI;mBAgB7C,cAAc;mBAmBd,gBAAgB;mBAuBhB,eAAe;IA0CpC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,iBAAiB;IAyB1C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,wBAAwB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAe/E;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,aAAa,EACzC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,GACnC,eAAe,CAAC,CAAC,CAAC;IAIrB;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;IAiBlF;;;OAGG;IACH,MAAM,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,kBAAkB,CAAC;IAiBhF;;;OAGG;IAaH;;;;OAIG;IAiCH,SAAS,CAAC,MAAM,CAAC,uBAAuB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM;IACd,mGAAmG;IACnG,uBAAuB,GAAE,OAAc,GACtC,mBAAmB;CAcvB"}
1
+ {"version":3,"file":"global.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,qBAAqB,EAErB,mBAAmB,EAGnB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,4DAA4D,CAAC;AAMpE;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,sBAAsB;IAE7D,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAIzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAmB;IACzC,MAAM,KAAK,MAAM,IAAI,gBAAgB,CAEpC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IACpD,MAAM,KAAK,OAAO,IAAI,IAAI,CAEzB;IACD,MAAM,KAAK,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;IAMjD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,mBAAmB,EAAE,wBAAwB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,sBAAsB,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAErE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAEY;IAEvD,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAOjD;IAEJ;;OAEG;WACU,WAAW,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;mBAoBrD,aAAa;IAqDlC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI;IAkDjE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI;mBAgB7C,cAAc;mBAmBd,gBAAgB;mBAuBhB,eAAe;IAuCpC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,iBAAiB;IAyB1C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,wBAAwB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAe/E;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,aAAa,EACzC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,GACnC,eAAe,CAAC,CAAC,CAAC;IAIrB;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;IAiBlF;;;OAGG;IACH,MAAM,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,kBAAkB,CAAC;IAiBhF;;;OAGG;IAaH;;;;OAIG;IAiCH,SAAS,CAAC,MAAM,CAAC,uBAAuB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM;IACd,mGAAmG;IACnG,uBAAuB,GAAE,OAAc,GACtC,mBAAmB;CAcvB"}
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_GlobalService = void 0;
4
4
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
5
  /* import { DyNTS_DBServiceCollection } from './db-service-collection.service'; */
6
- const db_service_1 = require("../base/db.service");
7
6
  /* import { DyNTS_EmailServiceCollection } from './email-service-collection.service'; */
8
- const global_settings_const_1 = require("../../_collections/global-settings.const");
7
+ const db_service_1 = require("../base/db.service");
9
8
  const singleton_service_1 = require("../base/singleton.service");
10
9
  /* import { DyNTS_archiveFlag } from '../../_collections/archive-flag.const'; */
11
10
  const archive_util_1 = require("../../_collections/archive.util");
11
+ const global_settings_const_1 = require("../../_collections/global-settings.const");
12
+ const safe_diagnostic_stage_type_enum_1 = require("../../_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum");
13
+ const safe_diagnostic_control_service_1 = require("../../_modules/server/safe-diagnostic/safe-diagnostic.control-service");
12
14
  /**
13
15
  * This is the main Global/Core Service Collection used by DynamoNTS,
14
16
  * you also can use this to access main services as
@@ -46,7 +48,11 @@ class DyNTS_GlobalService extends singleton_service_1.DyNTS_SingletonService {
46
48
  static defaultErrorUserMsg = `We encountered an unhandled Control Service Error, ` +
47
49
  `\nplease contact the responsible development team.`;
48
50
  static globalErrorHandler = async (error) => {
49
- fsm_dynamo_1.DyFM_Log.error(`Global Error Handler not set!\nError:`, error);
51
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
52
+ code: 'DYNTS|GLOBAL|HANDLER_NOT_SET',
53
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.globalErrorHandler,
54
+ error: error,
55
+ });
50
56
  };
51
57
  /**
52
58
  * You need to setup global Services through this function
@@ -124,12 +130,11 @@ class DyNTS_GlobalService extends singleton_service_1.DyNTS_SingletonService {
124
130
  this.instance.dbServiceCollection[dbModel.dataName] = new db_service_1.DyNTS_DBService(dbModel);
125
131
  }
126
132
  catch (error) {
127
- if (error instanceof fsm_dynamo_1.DyFM_Error && !fsm_dynamo_1.DyFM_global_settings.log_settings.highDetailedLogs) {
128
- error.logSimple(`Failed to create DyNTS_DBService (${dbModel.dataName}).`);
129
- }
130
- else {
131
- fsm_dynamo_1.DyFM_Log.error(`Failed to create DyNTS_DBService (${dbModel.dataName}).`, error);
132
- }
133
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
134
+ code: 'DYNTS|GLOBAL|DB_SERVICE_CREATE_FAILED',
135
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.bootstrap,
136
+ error: error,
137
+ });
133
138
  throw new fsm_dynamo_1.DyFM_Error({
134
139
  ...this.getDefaultErrorSettings('setDBServices', error, 'DyNTS_GlobalService'),
135
140
  additionalContent: {
@@ -202,17 +207,18 @@ class DyNTS_GlobalService extends singleton_service_1.DyNTS_SingletonService {
202
207
  }
203
208
  fsm_dynamo_1.DyFM_Log.warn(`globalErrorHandler not set! (set in app.getGlobalServiceCollection)`, '\nwill use default-logging', '\n(If you set the globalErrorHandler, ' +
204
209
  'please check if it is using the same node_modules as the app)');
205
- fsm_dynamo_1.DyFM_Error.logSimple(`Error caught by globalErrorHandler.`, error);
210
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
211
+ code: 'DYNTS|GLOBAL|UNHANDLED_ERROR',
212
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.globalErrorHandler,
213
+ error: error,
214
+ });
206
215
  }
207
216
  catch (error) {
208
- if (error instanceof fsm_dynamo_1.DyFM_Error) {
209
- error.logSimple(`NTS GLOBAL MULTILEVEL ERROR: ` +
210
- `\nFailed to handle error on globalErrorHandler.`);
211
- }
212
- else {
213
- fsm_dynamo_1.DyFM_Log.error(`NTS GLOBAL MULTILEVEL ERROR: ` +
214
- `\nFailed to handle error on globalErrorHandler.`, error?.getErrorSimplified?.() ?? error);
215
- }
217
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
218
+ code: 'DYNTS|GLOBAL|HANDLER_FAILED',
219
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.globalErrorHandler,
220
+ error: error,
221
+ });
216
222
  }
217
223
  });
218
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"global.service.js","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global.service.js","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"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"}