@futdevpro/nts-dynamo 1.15.155 → 1.15.157

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 (48) hide show
  1. package/README.md +10 -10
  2. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -0
  3. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +65 -0
  4. package/__documentations/2026-08-22-content-free-process-error-boundary.md +21 -1
  5. package/build/_models/control-models/endpoint-params.control-model.d.ts +6 -0
  6. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  7. package/build/_models/control-models/endpoint-params.control-model.js +71 -146
  8. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  9. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts +10 -0
  10. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts.map +1 -0
  11. package/build/_models/interfaces/request-telemetry-settings.interface.js +3 -0
  12. package/build/_models/interfaces/request-telemetry-settings.interface.js.map +1 -0
  13. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts +29 -0
  14. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts.map +1 -0
  15. package/build/_models/interfaces/request-telemetry-snapshot.interface.js +3 -0
  16. package/build/_models/interfaces/request-telemetry-snapshot.interface.js.map +1 -0
  17. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +1 -0
  18. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts.map +1 -1
  19. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +1 -0
  20. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js.map +1 -1
  21. package/build/_services/core/request-telemetry.control-service.d.ts +51 -0
  22. package/build/_services/core/request-telemetry.control-service.d.ts.map +1 -0
  23. package/build/_services/core/request-telemetry.control-service.js +286 -0
  24. package/build/_services/core/request-telemetry.control-service.js.map +1 -0
  25. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  26. package/build/_services/route/routing-module.service.js +13 -10
  27. package/build/_services/route/routing-module.service.js.map +1 -1
  28. package/build/_services/server/app.server.d.ts +5 -0
  29. package/build/_services/server/app.server.d.ts.map +1 -1
  30. package/build/_services/server/app.server.js +13 -0
  31. package/build/_services/server/app.server.js.map +1 -1
  32. package/build/index.d.ts +3 -0
  33. package/build/index.d.ts.map +1 -1
  34. package/build/index.js +3 -0
  35. package/build/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/_models/control-models/endpoint-params.control-model.spec.ts +87 -2
  38. package/src/_models/control-models/endpoint-params.control-model.ts +93 -182
  39. package/src/_models/interfaces/request-telemetry-settings.interface.ts +9 -0
  40. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +30 -0
  41. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +1 -0
  42. package/src/_services/core/request-telemetry.control-service.spec.ts +217 -0
  43. package/src/_services/core/request-telemetry.control-service.ts +381 -0
  44. package/src/_services/route/routing-module.service.ts +27 -18
  45. package/src/_services/server/app.server.ts +29 -9
  46. package/src/_services/shared.static-service.spec.ts +57 -57
  47. package/src/_services/shared.static-service.ts +48 -48
  48. package/src/index.ts +5 -2
package/README.md CHANGED
@@ -28,7 +28,7 @@ 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**: Optional, local-only IP geolocation through `geoip-lite`; addresses are not sent to an external service or written to logs by Dynamo-NTS
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
 
@@ -98,13 +98,13 @@ These dependencies are only required when using specific modules:
98
98
 
99
99
  - **Socket Module**: `socket.io` - Real-time communication (simplified through Dynamo-NTS socket services)
100
100
  - **Email Service**: `nodemailer` - Email sending (simplified through Dynamo-NTS email services)
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.
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.
108
108
 
109
109
  Install module-specific dependencies as needed:
110
110
 
@@ -115,8 +115,8 @@ pnpm add socket.io
115
115
  # For Email service
116
116
  pnpm add nodemailer
117
117
 
118
- # For Usage module
119
- pnpm add geoip-lite@^2.0.3 @types/geoip-lite@^1.4.4
118
+ # For Usage module
119
+ pnpm add geoip-lite@^2.0.3 @types/geoip-lite@^1.4.4
120
120
 
121
121
  # For Bot module (Discord)
122
122
  pnpm add discord.js
@@ -0,0 +1,54 @@
1
+ # BFR-CTM-018 — content-free endpoint error boundary
2
+
3
+ **Date:** 2026-08-22
4
+ **Status:** implemented and package-verified; consumer adoption is recorded by the requesting project
5
+ **Target:** `@futdevpro/nts-dynamo`
6
+ **Contract:** `dynts-safe-diagnostic/1`
7
+
8
+ ## Measured defect
9
+
10
+ The shared `DyNTS_Endpoint_Params` error path constructed framework logs from route identity, path parameter
11
+ values, raw `Error.message`, stack location and a request snapshot. The snapshot included URL, query, request
12
+ metadata, header keys, IP address and an authorization-header shape. A plain error and a consumer global-handler
13
+ rejection were also passed directly to Dynamo loggers. The primary raw log was unconditional, so disabling
14
+ application API-error logging did not close the disclosure path.
15
+
16
+ The same execution function declared a second local `issuer` variable inside the request callback. It shadowed
17
+ the issuer captured by the error path, so a failing endpoint forwarded `undefined` rather than the resolved
18
+ account identity to the consumer global handler.
19
+
20
+ ## Implemented Bedrock response
21
+
22
+ - Added the closed `endpoint` safe-diagnostic stage.
23
+ - Projected constructor, issuer-resolution, task/pre-process, consumer-handler, secondary-handler and circulation
24
+ failures through `DyNTS_SafeDiagnostic_ControlService`.
25
+ - Removed framework-owned raw message, stack, route, request and response-preview logging from endpoint failures.
26
+ - Removed mutation of caller errors with `endpointInfo` and `requestDebug` snapshots.
27
+ - Wrapped plain failures with a static internal message and the immutable safe diagnostic while retaining the
28
+ existing public endpoint error-code shape and validated HTTP status behavior.
29
+ - Sanitized and bounded developer-owned system and endpoint identifiers used in the compatibility error code.
30
+ - Preserved raw failure/request access only for the explicitly installed application global handler; a rejection
31
+ from that handler is itself projected before logging.
32
+ - Removed the issuer shadow so the resolved account identity reaches the application-owned error persistence
33
+ boundary.
34
+
35
+ Normal successful-request logging is outside this change. Its existing request-param, body and response fields
36
+ remain explicit caller-controlled options. This BFR makes the error path content-free regardless of those options
37
+ or detailed logging mode.
38
+
39
+ ## Verification evidence
40
+
41
+ - TypeScript production build: passed.
42
+ - Focused BFR canary regression: 1/1 passed.
43
+ - Full Jasmine package regression: 1750 specs, 0 failures, 146 explicit pending specs.
44
+ - Package ESLint: 0 errors; the repository retains its pre-existing warning baseline.
45
+ - Canary matrix: raw error message, secondary handler stack/token, workbook/sheet value, URL, query, header,
46
+ authorization value and path parameter are absent from every captured Dynamo logger call and from the client
47
+ response. The 503 status, safe diagnostic and resolved issuer are asserted.
48
+ - Import validator baseline: 80 findings in 74 pre-existing files; the modified endpoint and safe-diagnostic files
49
+ introduce no import finding.
50
+ - Naming validator baseline: 100 findings in 67 pre-existing files. The endpoint class carries its existing public
51
+ naming findings; this compatible security fix does not rename that public API.
52
+
53
+ The validator baselines are reported as measured debt, not as green evidence. No unrelated mass rename or import
54
+ rewrite is bundled into this security BFR.
@@ -0,0 +1,65 @@
1
+ # BFR-CTM-020 — content-free request correlation and telemetry
2
+
3
+ **Date:** 2026-08-22
4
+ **Status:** implemented and package-verified; consumer adoption is recorded by the requesting project
5
+ **Target:** `@futdevpro/nts-dynamo`
6
+ **Contract:** `dynts-request-telemetry/1`
7
+
8
+ ## Measured platform gap
9
+
10
+ `DyNTS_App` previously exposed only an application middleware hook after API routing. A consumer could not install
11
+ one correlation and request-metric boundary before load shedding and every open and secure route without
12
+ duplicating Bedrock server setup or depending on Express internals. This prevented a direct Dynamo implementation
13
+ of content-free, route-aware operational telemetry.
14
+
15
+ ## Implemented Bedrock capability
16
+
17
+ - `DyNTS_App.getRequestTelemetrySettings()` opts the application into one immutable process-wide configuration.
18
+ - Both Express applications mount the telemetry middleware after CORS and the application-version header, but
19
+ before load shedding and API routes.
20
+ - Every request receives a server-generated UUID in `X-Correlation-Id`. Incoming correlation values are never
21
+ trusted or reused, and the response header is exposed through the existing CORS-header composition utility.
22
+ - `DyNTS_RoutingModule` labels a request only from its declared full route template before endpoint execution.
23
+ - `DyNTS_RequestTelemetry_ControlService.snapshot()` returns a synchronous copy of bounded, event-driven counters:
24
+ started, completed, aborted and in-flight requests; status classes; duration buckets; and per method/declared-route
25
+ counts, aborts, server errors, total duration and maximum duration.
26
+ - Response `finish` and `close` listeners settle exactly once and remove each other. Header, listener or completion
27
+ observation failures are contained and cannot change the application response path.
28
+ - Configuration is validated and idempotent. Conflicting configuration, invalid cardinality and invalid duration
29
+ buckets fail with stable content-free codes during application setup.
30
+
31
+ ## Privacy and boundedness contract
32
+
33
+ The telemetry implementation never reads or retains concrete URL, query, request or response body, request header
34
+ values, IP address, user agent, account identity, workbook data, error content or stack information. Correlation IDs
35
+ are generated opaque identifiers and are not accepted from callers.
36
+
37
+ Route labels accept only the closed declared-template character set and a 160-character maximum. Invalid labels and
38
+ identities beyond the configured cardinality cap aggregate into `__other__`; requests that do not reach a Dynamo
39
+ route aggregate into `__unmatched__`. Methods use a fixed allowlist, duration buckets are strictly increasing and
40
+ bounded, and every numeric accumulator saturates at `Number.MAX_SAFE_INTEGER`. No timer, poller, background worker,
41
+ network exporter or persistence layer is started by this capability.
42
+
43
+ ## Consumer adoption contract
44
+
45
+ A consumer enables the capability directly in its `DyNTS_App` subclass and reads the singleton snapshot directly
46
+ for its authenticated operator surface or synchronous diagnostic evidence. An application error boundary may call
47
+ `getCorrelationId(req)` while the request is active and persist that opaque identifier beside its own content-free
48
+ error record. Alert evaluation, retention and external export remain explicit consumer policies; Bedrock supplies
49
+ the safe measurement primitive and does not invent those policies.
50
+
51
+ ## Verification evidence
52
+
53
+ - TypeScript build: passed.
54
+ - Focused BFR regression: 8/8 specs passed.
55
+ - Final full Jasmine regression: 1758 specs, 0 failures, 146 explicit pending specs.
56
+ - New telemetry source and specs: zero ESLint errors and zero warnings.
57
+ - Package ESLint baseline: zero errors and 17,600 pre-existing warnings in 376 files. The new telemetry files are
58
+ warning-free; the modified routing and app hosts retain their existing warning baseline.
59
+ - Import validator baseline: 80 findings in 74 pre-existing files; none is in a new telemetry file or caused by the
60
+ added imports.
61
+ - Naming validator baseline: 100 findings in 67 pre-existing files; none is in a new telemetry file.
62
+ - Canary coverage: generated correlation, caller-value rejection, CORS exposure, finish/close exactly-once behavior,
63
+ aborted requests, 5xx aggregation, declared-route identity, invalid-route redaction, cardinality overflow, disabled
64
+ no-op behavior, per-template method preservation, immutable configuration, invalid bounds, header setup containment
65
+ and late completion containment.
@@ -58,6 +58,25 @@ The default `DyNTS_GlobalService` handler also projects a raw failure before log
58
58
  handler remains a consumer boundary; failures forwarded by `DyNTS_App` reach it as a content-free `DyFM_Error`.
59
59
  If that handler throws or rejects, Dynamo-NTS projects the secondary failure rather than recursively logging it.
60
60
 
61
+ ## Endpoint error integration
62
+
63
+ `DyNTS_Endpoint_Params` applies the same projection at every framework-owned endpoint failure boundary. The
64
+ primary task or pre-process failure, issuer-resolution failure, consumer global-handler rejection, secondary
65
+ error-handler failure and circulation-resolution failure are classified with stable uppercase codes and the
66
+ closed `endpoint` stage. Detailed logging mode does not bypass this projection.
67
+
68
+ The endpoint boundary does not append route values, path parameters, URL, query, request body, headers, auth
69
+ header shape, error message, stack or nested error content to logs or `additionalContent`. A plain native failure
70
+ is converted to a client-safe `DyFM_Error` with a static internal message, the established
71
+ `<SYSTEM>|DyNTS-EPP-<endpointName>` public code shape and the projected diagnostic. Developer-owned system and
72
+ endpoint code parts are bounded and reduced to the established identifier alphabet. Conventional numeric HTTP
73
+ status fields remain supported without inspecting message or stack.
74
+
75
+ The raw failure and request remain available to the explicitly installed consumer global handler because that
76
+ handler is the application-owned persistence boundary. If it rejects, the rejection is projected before any
77
+ framework log. The resolved issuer is now carried through the error path rather than being shadowed by a local
78
+ variable, so account-level attribution remains intact.
79
+
61
80
  ## Security and privacy properties
62
81
 
63
82
  - The output is an exact allowlist rather than a denylist-based redaction attempt.
@@ -80,8 +99,9 @@ If that handler throws or rejects, Dynamo-NTS projects the secondary failure rat
80
99
  | Bootstrap runtime test | Rejected construction is projected before logging/forwarding and terminates with exit code 1. |
81
100
  | Default-handler runtime test | Raw input is projected before default global logging. |
82
101
  | App-params test | A malformed credential-bearing MongoDB URI triggers a warning without exposing the URI. |
102
+ | Endpoint runtime test | Error, handler, token, workbook, URL, query, header and path canaries are absent from every endpoint log and client response. |
83
103
  | 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. |
104
+ | Full package regression | Build and complete Jasmine suite remain green; validator findings are measured and reported, never hidden. |
85
105
 
86
106
  ## Consumer adoption requirement
87
107
 
@@ -115,6 +115,12 @@ export declare class DyNTS_Endpoint_Params<T_Result = unknown, I_Inputs extends
115
115
  */
116
116
  private error;
117
117
  private multiLevelError;
118
+ /** Resolves conventional HTTP status fields without inspecting raw error content. */
119
+ private static resolveErrorStatus;
120
+ /** Preserves the public error-code shape while excluding arbitrary endpoint-name characters. */
121
+ private getClientErrorCode;
122
+ /** Bounds developer-owned identifiers to the established error-code alphabet. */
123
+ private static sanitizeCodePart;
118
124
  private getPathParamsLogContent;
119
125
  }
120
126
  //# sourceMappingURL=endpoint-params.control-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAEO,0BAA0B,EAAuE,iBAAiB,EAE/H,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,qBAAqB,CAChC,QAAQ,GAAG,OAAO,EAClB,QAAQ,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAChC,MAAM,GAAG,SAAS,CAClB,SAAQ,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAE9D,QAAQ,EAAE,mBAAmB,CAAC;IAQ9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IAEtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0D;IACvF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsE;IAE5F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;gBAG/C,GAAG,EAAE;QACH;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAE/B;;WAEG;QACH,IAAI,EAAE,iBAAiB,CAAC;QACxB;;;;;WAKG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;WAGG;QACH,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClE;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAE1E;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB;;WAEG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B;;WAEG;QACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC;IAwDH;;;OAGG;YACW,MAAM;IA0BpB;;;OAGG;IACH,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC;IAyFlE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B;;;;OAIG;YACW,KAAK;IAyOnB,OAAO,CAAC,eAAe;IAuFvB,OAAO,CAAC,uBAAuB;CAShC"}
1
+ {"version":3,"file":"endpoint-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EACsB,0BAA0B,EACrD,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAWvE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,qBAAqB,CAChC,QAAQ,GAAG,OAAO,EAClB,QAAQ,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAChC,MAAM,GAAG,SAAS,CAClB,SAAQ,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAE9D,QAAQ,EAAE,mBAAmB,CAAC;IAQ9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IAEtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0D;IACvF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsE;IAE5F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;gBAG/C,GAAG,EAAE;QACH;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;;;WAIG;QACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAE/B;;WAEG;QACH,IAAI,EAAE,iBAAiB,CAAC;QACxB;;;;;WAKG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;;WAGG;QACH,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClE;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAE1E;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB;;WAEG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B;;WAEG;QACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC;IAuDH;;;OAGG;YACW,MAAM;IA0BpB;;;OAGG;IACH,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC;IA4FlE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B;;;;OAIG;YACW,KAAK;IAgInB,OAAO,CAAC,eAAe;IAuDvB,qFAAqF;IACrF,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiBjC,gGAAgG;IAChG,OAAO,CAAC,kBAAkB;IAU1B,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAU/B,OAAO,CAAC,uBAAuB;CAShC"}
@@ -4,6 +4,8 @@ exports.DyNTS_Endpoint_Params = void 0;
4
4
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
5
  const global_settings_const_1 = require("../../_collections/global-settings.const");
6
6
  const client_safe_error_util_1 = require("../../_collections/client-safe-error.util");
7
+ const safe_diagnostic_control_service_1 = require("../../_modules/server/safe-diagnostic/safe-diagnostic.control-service");
8
+ const safe_diagnostic_stage_type_enum_1 = require("../../_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum");
7
9
  const global_service_1 = require("../../_services/core/global.service");
8
10
  const request_hunter_service_1 = require("../../_services/core/request-hunter.service");
9
11
  /**
@@ -86,10 +88,11 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
86
88
  this.stackLocation = (0, fsm_dynamo_1.DyFM_getConstructionStackLocation)();
87
89
  }
88
90
  catch (error) {
89
- fsm_dynamo_1.DyFM_Log.error(`\nEndpoint params setup failed: name: '${set.name}' ` +
90
- `(security: ${set.security}) endpoint: ${set.endpoint}` +
91
- `\nERROR:` +
92
- `\n`, error);
91
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
92
+ code: 'DYNTS|ENDPOINT|CONSTRUCTION_FAILURE',
93
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.endpoint,
94
+ error: error,
95
+ });
93
96
  throw error;
94
97
  }
95
98
  }
@@ -132,12 +135,15 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
132
135
  // jegyzes. Reszletes indoklas: `DyNTS_RequestHunter`.
133
136
  const hunterId = request_hunter_service_1.DyNTS_RequestHunter.getInstance().begin(this.name);
134
137
  try {
135
- let issuer;
136
138
  try {
137
139
  issuer = global_service_1.DyNTS_GlobalService?.getAuthService()?.getIssuerFromRequest(req);
138
140
  }
139
141
  catch (error) {
140
- fsm_dynamo_1.DyFM_Log.warn(fsm_dynamo_1.DyFM_Error.getAnyMessage(error));
142
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
143
+ code: 'DYNTS|ENDPOINT|ISSUER_RESOLUTION_FAILURE',
144
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.endpoint,
145
+ error: error,
146
+ });
141
147
  issuer = 'unknown-issuer';
142
148
  }
143
149
  if (this.logRequest) {
@@ -190,7 +196,7 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
190
196
  }
191
197
  }
192
198
  catch (error) {
193
- this.error(req, res, error, issuer);
199
+ await this.error(req, res, error, issuer);
194
200
  }
195
201
  finally {
196
202
  request_hunter_service_1.DyNTS_RequestHunter.getInstance().end(hunterId);
@@ -227,81 +233,23 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
227
233
  */
228
234
  async error(req, res, error, issuer, autoSecondTry) {
229
235
  try {
230
- let msg = `Endpoint caught an error. '${this.name}' (${this.endpoint})`;
231
- msg += this.getPathParamsLogContent(req);
232
- if (error instanceof fsm_dynamo_1.DyFM_Error) {
233
- msg += `\n ErrorCode: ${error._errorCode}`;
234
- }
235
- msg += `\n error: "${error?._message ?? error?.message}"`;
236
- msg += '\n at ' + this.stackLocation;
237
- fsm_dynamo_1.DyFM_Log.testError(msg);
238
- if (global_settings_const_1.DyNTS_global_settings.log_settings.highDetailedLogs ||
239
- !(error instanceof fsm_dynamo_1.DyFM_Error)) {
240
- fsm_dynamo_1.DyFM_Log.H_error(`Endpoint "${this.endpoint}" caught an error. (${this.name})`, '\n ERROR:', error);
241
- }
242
- else if (global_settings_const_1.DyNTS_global_settings.log_settings.api_errors) {
243
- error.logSimple(`Endpoint "${this.endpoint}" caught an error. (${this.name})`);
244
- }
245
- if (error?.flag?.includes('DYNAMO')) {
246
- if (!error.additionalContent) {
247
- error.additionalContent = {};
248
- }
249
- error.additionalContent.endpointInfo = msg;
250
- }
251
- // FR-071 (2026-06-06) — rich debug-descriptive request-context.
252
- // Per memory [[feedback_rich_error_handling]] minden errornak debug-level
253
- // descriptive-nek kell lennie + persisted to errors table. Az endpoint-
254
- // params catch-blokkjaban minden errorhoz csatoljuk a request snapshot-ot
255
- // (URL, method, headers KULCSAI ertek nelkul, query, params, origin,
256
- // user-agent), igy a TEST environment-en a kliens-oldali fejleszto a
257
- // response-bol latja MI hianyzott a request-bol, NEM csak az error-code-ot.
258
- // Header-VALUEK nem szivarognak ki — csak a kulcs-listat es az auth-header
259
- // alakjat (length + first 7 chars hogy lassek "Bearer "-rel kezd-e).
236
+ const status = DyNTS_Endpoint_Params.resolveErrorStatus(error);
237
+ const diagnostic = safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
238
+ code: 'DYNTS|ENDPOINT|FAILURE',
239
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.endpoint,
240
+ error: error,
241
+ status: status,
242
+ });
260
243
  try {
261
- const headerKeys = Object.keys(req?.headers ?? {});
262
- const authHeader = req?.headers?.['authorization'];
263
- const authHeaderShape = typeof authHeader === 'string'
264
- ? `present (len=${authHeader.length}, startsWith="${authHeader.substring(0, 7)}")`
265
- : 'MISSING';
266
- const requestSnapshot = {
267
- url: req?.originalUrl ?? req?.url,
268
- method: req?.method,
269
- origin: req?.headers?.origin ?? null,
270
- referer: req?.headers?.referer ?? null,
271
- userAgent: req?.headers?.['user-agent'] ?? null,
272
- hostHeader: req?.headers?.host ?? null,
273
- headerKeyCount: headerKeys.length,
274
- headerKeys: headerKeys.sort(),
275
- hasAuthorizationKey: headerKeys.includes('authorization'),
276
- authHeaderShape: authHeaderShape,
277
- hasSecretKeyKey: headerKeys.includes('secret-key'),
278
- hasAdminKeyKey: headerKeys.includes('x-admin-key'),
279
- hasContentTypeKey: headerKeys.includes('content-type'),
280
- params: req?.params,
281
- query: req?.query,
282
- remoteAddress: req?.ip ?? null,
283
- };
284
- if (error instanceof fsm_dynamo_1.DyFM_Error) {
285
- if (!error.additionalContent) {
286
- error.additionalContent = {};
287
- }
288
- error.additionalContent.requestDebug = requestSnapshot;
289
- }
290
- // Plusz: 1-soros debug log a server-side log-buffer-ben.
291
- fsm_dynamo_1.DyFM_Log.warn(`[FR-071 req-debug] ${req?.method ?? '?'} ${req?.originalUrl ?? req?.url ?? '?'} ` +
292
- `(endpoint=${this.name}, origin=${req?.headers?.origin ?? 'none'}, ` +
293
- `auth=${headerKeys.includes('authorization') ? 'yes' : 'NO'}, ` +
294
- `secretKey=${headerKeys.includes('secret-key') ? 'yes' : 'no'}, ` +
295
- `adminKey=${headerKeys.includes('x-admin-key') ? 'yes' : 'no'}, ` +
296
- `errorCode=${error?._errorCode ?? '(raw)'})`);
244
+ await global_service_1.DyNTS_GlobalService.globalErrorHandler?.(error, req, res, issuer);
297
245
  }
298
- catch /* (snapshotErr) */ {
299
- // ha a snapshot kepzese maga is bukik, ne maszek bele az error-flow-ba.
246
+ catch (handlerError) {
247
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
248
+ code: 'DYNTS|ENDPOINT|GLOBAL_HANDLER_FAILURE',
249
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.endpoint,
250
+ error: handlerError,
251
+ });
300
252
  }
301
- await global_service_1.DyNTS_GlobalService.globalErrorHandler?.(error, req, res, issuer).catch((err) => {
302
- fsm_dynamo_1.DyFM_Log.warn('DyNTS_GlobalService.globalErrorHandler failed to handle error: ', err);
303
- fsm_dynamo_1.DyFM_Log.warn('It will proceed as normal.');
304
- });
305
253
  // FR-067 (2026-06-06): non-DyFM_Error wrap.
306
254
  // Korabban a plain Error / axios HTTP error nyersen ment kifele
307
255
  // -> kliens "[object Object]"-et latott, nem volt _errorCode, nem volt
@@ -313,22 +261,12 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
313
261
  // betesszuk a DyFM_Error `___status` mezojebe, igy a kovetkezo blokk
314
262
  // mar konzekvensen olvasni tudja.
315
263
  if (!(error instanceof fsm_dynamo_1.DyFM_Error)) {
316
- const errAny = error;
317
- const downstreamRaw = errAny?.statusCode ?? errAny?.status;
318
- const downstreamStatus = typeof downstreamRaw === 'number'
319
- ? downstreamRaw
320
- : (typeof downstreamRaw === 'string' && downstreamRaw !== '' && !isNaN(Number(downstreamRaw)))
321
- ? Number(downstreamRaw)
322
- : undefined;
323
- const wrapStatus = (downstreamStatus !== undefined &&
324
- downstreamStatus >= 100 &&
325
- downstreamStatus <= 599) ? downstreamStatus : 500;
326
264
  error = new fsm_dynamo_1.DyFM_Error({
327
- error: error,
328
- message: errAny?.message ?? `Unhandled error in endpoint "${this.name}"`,
329
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-EPP-${this.name ?? 'UNKNOWN'}`,
265
+ message: 'Unhandled endpoint failure.',
266
+ errorCode: this.getClientErrorCode(),
330
267
  userMessage: 'An internal error occurred.\nPlease contact the responsible development team.',
331
- status: wrapStatus,
268
+ additionalContent: { diagnostic: diagnostic },
269
+ status: status,
332
270
  });
333
271
  }
334
272
  if (error instanceof fsm_dynamo_1.DyFM_Error) {
@@ -374,21 +312,7 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
374
312
  // `___status`-en kívül a `statusCode` (Express convention) es `status`
375
313
  // (axios / general HTTP) mezőket is. Igy a downstream HTTP-hivasok
376
314
  // (pl. axios-bol jovo error) helyes HTTP-status-szal továbbítódnak.
377
- const errorAny = error;
378
- const resolvedStatusRaw = error?.___status
379
- ?? errorAny?.statusCode
380
- ?? errorAny?.status;
381
- const resolvedStatus = typeof resolvedStatusRaw === 'number'
382
- ? resolvedStatusRaw
383
- : (typeof resolvedStatusRaw === 'string' && !isNaN(Number(resolvedStatusRaw)))
384
- ? Number(resolvedStatusRaw)
385
- : null;
386
- if (resolvedStatus !== null && resolvedStatus >= 100 && resolvedStatus <= 599) {
387
- res.status(resolvedStatus);
388
- }
389
- else {
390
- res.status(500);
391
- }
315
+ res.status(DyNTS_Endpoint_Params.resolveErrorStatus(error));
392
316
  // Kliens-safe strip ENV-FÜGGETLENÜL (BFR-FDPAUTHSERVICE-002): a korábbi prod-only blokk a
393
317
  // test/dev környezetben TELJES DyFM-leaket hagyott (__localStack + ___systemVersion + issuer).
394
318
  // A szabályok (mindig-strip / prod-only additionalContent / kliens-mezők megtartása) SSOT-ja
@@ -397,12 +321,8 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
397
321
  const clientSafeError = client_safe_error_util_1.DyNTS_ClientSafeError_Util.toClientSafe(error);
398
322
  res.send(clientSafeError);
399
323
  if (this.logRequest) {
400
- fsm_dynamo_1.DyFM_Log.error(` <<<===== '${this.name}' error sent: ${error?._message ?? ''}`);
401
- if (this.logResponseContent) {
402
- fsm_dynamo_1.DyFM_Log.error(` error response: ${DyNTS_Endpoint_Params.previewBody(clientSafeError)}`);
403
- }
324
+ fsm_dynamo_1.DyFM_Log.error('[DyNTS endpoint error response sent]', diagnostic);
404
325
  }
405
- fsm_dynamo_1.DyFM_Log.error('');
406
326
  }
407
327
  catch (errorLvl2) {
408
328
  this.multiLevelError(errorLvl2, {
@@ -415,32 +335,11 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
415
335
  }
416
336
  }
417
337
  multiLevelError(errorLvl2, errorInputs) {
418
- if (global_settings_const_1.DyNTS_global_settings.log_settings.highDetailedLogs) {
419
- const msg = `\n\nDYNAMO MULTILEVEL ERROR:DyNTS_Endpoint_Params: error: ` +
420
- `(${this.name}, ${this.endpoint})` +
421
- `\n(DYNAMO MULTILEVEL ERROR means, that the ERROR HANDLING is ALSO FAILED, ` +
422
- `and the error message was not sent.)` +
423
- `\nthisEndpointStackLocation: ${this.stackLocation}`;
424
- if (errorLvl2 instanceof fsm_dynamo_1.DyFM_Error) {
425
- errorLvl2.logSimple(msg);
426
- }
427
- else {
428
- fsm_dynamo_1.DyFM_Log.H_error(msg, '\nERROR:', errorLvl2, '\n');
429
- }
430
- }
431
- else {
432
- const msg = `\n\nDYNAMO MULTILEVEL ERROR:DyNTS_Endpoint_Params: error: ` +
433
- `(${this.name}, ${this.endpoint})` +
434
- `\nthisEndpointStackLocation: ${this.stackLocation}` +
435
- `\n(DYNAMO MULTILEVEL ERROR means, that the ERROR HANDLING is ALSO FAILED, ` +
436
- `and the error message was not sent.)`;
437
- if (errorLvl2 instanceof fsm_dynamo_1.DyFM_Error) {
438
- errorLvl2.logSimple(msg);
439
- }
440
- else {
441
- fsm_dynamo_1.DyFM_Log.H_error(msg, '\nERROR:', errorLvl2, '\n');
442
- }
443
- }
338
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
339
+ code: 'DYNTS|ENDPOINT|ERROR_HANDLER_FAILURE',
340
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.endpoint,
341
+ error: errorLvl2,
342
+ });
444
343
  try {
445
344
  JSON.stringify(errorInputs.error);
446
345
  }
@@ -451,8 +350,11 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
451
350
  resolvedError = fsm_dynamo_1.DyFM_Object.resolveCirculation(errorInputs.error);
452
351
  }
453
352
  catch (errorLvl3) {
454
- fsm_dynamo_1.DyFM_Log.error(' ...response object is not resolvable!');
455
- fsm_dynamo_1.DyFM_Log.error(' ...', errorLvl3);
353
+ safe_diagnostic_control_service_1.DyNTS_SafeDiagnostic_ControlService.report({
354
+ code: 'DYNTS|ENDPOINT|CIRCULATION_RESOLUTION_FAILURE',
355
+ stage: safe_diagnostic_stage_type_enum_1.DyNTS_SafeDiagnosticStage_Type.endpoint,
356
+ error: errorLvl3,
357
+ });
456
358
  }
457
359
  if (resolvedError) {
458
360
  if (this.autoResolveCirculation && !errorInputs.autoSecondTry) {
@@ -465,13 +367,36 @@ class DyNTS_Endpoint_Params extends fsm_dynamo_1.DyFM_Endpoint_SettingsBase {
465
367
  }
466
368
  }
467
369
  }
468
- if (global_settings_const_1.DyNTS_global_settings.log_settings.highDetailedLogs ||
469
- !(errorLvl2 instanceof fsm_dynamo_1.DyFM_Error)) {
470
- fsm_dynamo_1.DyFM_Log.H_error(`Endpoint "${this.endpoint}" caught an error and FAILED TO RESOLVE. (${this.name})`, '\n ERROR:', errorLvl2);
370
+ }
371
+ /** Resolves conventional HTTP status fields without inspecting raw error content. */
372
+ static resolveErrorStatus(error) {
373
+ try {
374
+ if (error === null || (typeof error !== 'object' && typeof error !== 'function')) {
375
+ return 500;
376
+ }
377
+ const statusRaw = Reflect.get(error, '___status')
378
+ ?? Reflect.get(error, 'statusCode')
379
+ ?? Reflect.get(error, 'status');
380
+ const status = typeof statusRaw === 'number' ? statusRaw : Number(statusRaw);
381
+ return Number.isInteger(status) && status >= 100 && status <= 599 ? status : 500;
382
+ }
383
+ catch {
384
+ return 500;
471
385
  }
472
- else {
473
- errorLvl2.logSimple(`Endpoint "${this.endpoint}" caught an error and FAILED TO RESOLVE. (${this.name})`);
386
+ }
387
+ /** Preserves the public error-code shape while excluding arbitrary endpoint-name characters. */
388
+ getClientErrorCode() {
389
+ const systemCode = DyNTS_Endpoint_Params.sanitizeCodePart(global_settings_const_1.DyNTS_global_settings.systemShortCodeName, 'DYNTS');
390
+ const endpointCode = DyNTS_Endpoint_Params.sanitizeCodePart(this.name, 'UNKNOWN');
391
+ return `${systemCode}|DyNTS-EPP-${endpointCode}`;
392
+ }
393
+ /** Bounds developer-owned identifiers to the established error-code alphabet. */
394
+ static sanitizeCodePart(value, fallback) {
395
+ if (typeof value !== 'string') {
396
+ return fallback;
474
397
  }
398
+ const sanitized = value.replace(/[^A-Za-z0-9_-]/g, '_').slice(0, 64);
399
+ return sanitized || fallback;
475
400
  }
476
401
  getPathParamsLogContent(req) {
477
402
  let params = '';
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/endpoint-params.control-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** Opt-in, content-free request telemetry settings for one Dynamo application. */
2
+ export interface DyNTS_RequestTelemetry_Settings {
3
+ /** Enables correlation headers and event-driven aggregate metrics. Default: false. */
4
+ enabled?: boolean;
5
+ /** Maximum distinct declared route templates retained before overflow aggregation. Default: 128. */
6
+ maxRouteCardinality?: number;
7
+ /** Inclusive duration bucket upper bounds in milliseconds. Default: 25, 100, 250, 1000, 5000. */
8
+ durationBucketUpperBoundsMs?: number[];
9
+ }
10
+ //# sourceMappingURL=request-telemetry-settings.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-telemetry-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/request-telemetry-settings.interface.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,WAAW,+BAA+B;IAC9C,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iGAAiG;IACjG,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=request-telemetry-settings.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-telemetry-settings.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/request-telemetry-settings.interface.ts"],"names":[],"mappings":""}