@futdevpro/nts-dynamo 1.15.153 → 1.15.154
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -3
- package/__documentations/2026-08-22-content-free-process-error-boundary.md +91 -0
- package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/app-params.control-model.js +1 -2
- package/build/_models/control-models/app-params.control-model.js.map +1 -1
- package/build/_modules/server/index.d.ts +4 -0
- package/build/_modules/server/index.d.ts.map +1 -1
- package/build/_modules/server/index.js +5 -0
- package/build/_modules/server/index.js.map +1 -1
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +9 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +13 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +19 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +83 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +19 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts.map +1 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +3 -0
- package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js.map +1 -0
- package/build/_services/core/global.service.d.ts +3 -3
- package/build/_services/core/global.service.d.ts.map +1 -1
- package/build/_services/core/global.service.js +24 -18
- package/build/_services/core/global.service.js.map +1 -1
- package/build/_services/server/app.server.d.ts +2 -0
- package/build/_services/server/app.server.d.ts.map +1 -1
- package/build/_services/server/app.server.js +71 -199
- package/build/_services/server/app.server.js.map +1 -1
- package/package.json +1 -1
- package/src/_models/control-models/app-params.control-model.spec.ts +23 -19
- package/src/_models/control-models/app-params.control-model.ts +10 -9
- package/src/_modules/server/index.ts +8 -2
- package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +8 -0
- package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +19 -0
- package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +124 -0
- package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +99 -0
- package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +20 -0
- package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +2 -2
- package/src/_services/core/global.service.ts +55 -54
- package/src/_services/server/app-safe-diagnostic.spec.ts +124 -0
- package/src/_services/server/app.server.ts +294 -347
package/README.md
CHANGED
|
@@ -30,9 +30,24 @@ Dynamo-NTS simplifies complex system definitions by abstracting common backend i
|
|
|
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
31
|
- **Location Tracking**: IP-based geolocation through `geoip-lite` is integrated into the usage tracking module (simplifies location data collection from HTTP requests)
|
|
32
32
|
|
|
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
|
-
|
|
35
|
-
|
|
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
|
+
|
|
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
|
+
|
|
50
|
+
## Table of Contents
|
|
36
51
|
|
|
37
52
|
- [Installation](#installation)
|
|
38
53
|
- [Quick Start](#quick-start)
|
|
@@ -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":"
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"app-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/app-params.control-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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 @@
|
|
|
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":"
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
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
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"global.service.js","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -243,6 +243,8 @@ export declare abstract class DyNTS_App extends DyNTS_SingletonService {
|
|
|
243
243
|
get deepLog(): boolean;
|
|
244
244
|
get fnLogs(): boolean;
|
|
245
245
|
debugLog: boolean;
|
|
246
|
+
private reportSafeDiagnostic;
|
|
247
|
+
private forwardSafeDiagnostic;
|
|
246
248
|
constructor();
|
|
247
249
|
protected asyncConstruct(extended?: boolean): Promise<void>;
|
|
248
250
|
ready(timeout?: number): Promise<void>;
|