@futdevpro/nts-dynamo 1.15.156 → 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 (782) hide show
  1. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -54
  2. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +65 -0
  3. package/__documentations/2026-08-22-content-free-process-error-boundary.md +26 -26
  4. package/build/_collections/app-version-header.util.d.ts +41 -41
  5. package/build/_collections/app-version-header.util.js +66 -66
  6. package/build/_collections/archive-service-registry.const.d.ts +15 -15
  7. package/build/_collections/archive-service-registry.const.js +14 -14
  8. package/build/_collections/archive.util.d.ts +12 -12
  9. package/build/_collections/archive.util.js +18 -18
  10. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  11. package/build/_collections/atlas-default-db-options.const.js +9 -9
  12. package/build/_collections/client-safe-error.util.d.ts +38 -38
  13. package/build/_collections/client-safe-error.util.js +96 -96
  14. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  15. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  16. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  17. package/build/_collections/default-not-found-page.const.js +24 -24
  18. package/build/_collections/default-socket-path.const.d.ts +2 -2
  19. package/build/_collections/default-socket-path.const.js +5 -5
  20. package/build/_collections/field-encryption.util.d.ts +85 -85
  21. package/build/_collections/field-encryption.util.js +192 -192
  22. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  23. package/build/_collections/get-environment-settings.util.js +43 -43
  24. package/build/_collections/global-settings.const.d.ts +6 -6
  25. package/build/_collections/global-settings.const.js +104 -104
  26. package/build/_collections/load-shed.util.d.ts +15 -15
  27. package/build/_collections/load-shed.util.js +42 -42
  28. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  29. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  30. package/build/_collections/npm-token-check.util.d.ts +138 -138
  31. package/build/_collections/npm-token-check.util.js +301 -301
  32. package/build/_collections/security-headers.util.d.ts +16 -16
  33. package/build/_collections/security-headers.util.js +77 -77
  34. package/build/_collections/signed-url.util.d.ts +84 -84
  35. package/build/_collections/signed-url.util.js +145 -145
  36. package/build/_collections/star.controller.d.ts +7 -7
  37. package/build/_collections/star.controller.js +97 -97
  38. package/build/_collections/static-cache-control.util.d.ts +17 -17
  39. package/build/_collections/static-cache-control.util.js +23 -23
  40. package/build/_enums/data-model-type.enum.d.ts +13 -13
  41. package/build/_enums/data-model-type.enum.js +17 -17
  42. package/build/_enums/data-service-function.enum.d.ts +18 -18
  43. package/build/_enums/data-service-function.enum.js +24 -24
  44. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  45. package/build/_enums/predefined-data-types.enum.js +19 -19
  46. package/build/_enums/route-security.enum.d.ts +11 -11
  47. package/build/_enums/route-security.enum.js +15 -15
  48. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  49. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  50. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  51. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  52. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  53. package/build/_models/control-models/app-params.control-model.js +118 -118
  54. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  55. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  56. package/build/_models/control-models/endpoint-params.control-model.d.ts +125 -125
  57. package/build/_models/control-models/endpoint-params.control-model.js +409 -409
  58. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  59. package/build/_models/control-models/http-settings.control-model.js +34 -34
  60. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  61. package/build/_models/control-models/system-control.control-model.js +11 -11
  62. package/build/_models/data-models/schema-migration.data-model.d.ts +28 -28
  63. package/build/_models/data-models/schema-migration.data-model.js +46 -46
  64. package/build/_models/interfaces/app-version-header-settings.interface.d.ts +16 -16
  65. package/build/_models/interfaces/app-version-header-settings.interface.js +2 -2
  66. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  67. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  68. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  69. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  70. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  71. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  72. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  73. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  74. package/build/_models/interfaces/db-query-options.interface.d.ts +32 -32
  75. package/build/_models/interfaces/db-query-options.interface.js +2 -2
  76. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  77. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  78. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  79. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  80. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  81. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  82. package/build/_models/interfaces/global-settings.interface.d.ts +265 -265
  83. package/build/_models/interfaces/global-settings.interface.js +2 -2
  84. package/build/_models/interfaces/migration-entry.interface.d.ts +19 -19
  85. package/build/_models/interfaces/migration-entry.interface.js +2 -2
  86. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +8 -8
  87. package/build/_models/interfaces/mongo-transaction-settings.interface.js +2 -2
  88. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts +10 -0
  89. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts.map +1 -0
  90. package/build/_models/interfaces/request-telemetry-settings.interface.js +3 -0
  91. package/build/_models/interfaces/request-telemetry-settings.interface.js.map +1 -0
  92. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts +29 -0
  93. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts.map +1 -0
  94. package/build/_models/interfaces/request-telemetry-snapshot.interface.js +3 -0
  95. package/build/_models/interfaces/request-telemetry-snapshot.interface.js.map +1 -0
  96. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  97. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  98. package/build/_models/interfaces/security-headers-settings.interface.d.ts +41 -41
  99. package/build/_models/interfaces/security-headers-settings.interface.js +2 -2
  100. package/build/_models/interfaces/signed-url-verify-result.interface.d.ts +13 -13
  101. package/build/_models/interfaces/signed-url-verify-result.interface.js +2 -2
  102. package/build/_models/interfaces/static-client-settings.interface.d.ts +36 -36
  103. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  104. package/build/_models/types/db-update.type.d.ts +129 -129
  105. package/build/_models/types/db-update.type.js +2 -2
  106. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +5 -5
  107. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +9 -9
  108. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +6 -6
  109. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +10 -10
  110. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +6 -6
  111. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +10 -10
  112. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +8 -8
  113. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +2 -2
  114. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +6 -6
  115. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +2 -2
  116. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +12 -12
  117. package/build/_modules/account-security/_models/account-challenge-record.interface.js +2 -2
  118. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +7 -7
  119. package/build/_modules/account-security/_models/account-challenge-result.interface.js +2 -2
  120. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +8 -8
  121. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +2 -2
  122. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +11 -11
  123. package/build/_modules/account-security/_models/account-password-policy.interface.js +2 -2
  124. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +5 -5
  125. package/build/_modules/account-security/_models/account-password-verification.interface.js +2 -2
  126. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +12 -12
  127. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +2 -2
  128. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +18 -18
  129. package/build/_modules/account-security/_models/account-session-adapter.interface.js +2 -2
  130. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +7 -7
  131. package/build/_modules/account-security/_models/account-session-claims.interface.js +2 -2
  132. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +6 -6
  133. package/build/_modules/account-security/_models/account-session-context.interface.js +2 -2
  134. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +7 -7
  135. package/build/_modules/account-security/_models/account-session-create.interface.js +2 -2
  136. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +20 -20
  137. package/build/_modules/account-security/_models/account-session-record.interface.js +2 -2
  138. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +10 -10
  139. package/build/_modules/account-security/_models/account-session-rotate.interface.js +2 -2
  140. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +10 -10
  141. package/build/_modules/account-security/_models/account-session-settings.interface.js +2 -2
  142. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +8 -8
  143. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +2 -2
  144. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +12 -12
  145. package/build/_modules/account-security/_models/account-session-view.interface.js +2 -2
  146. package/build/_modules/account-security/account-challenge.control-service.d.ts +23 -23
  147. package/build/_modules/account-security/account-challenge.control-service.js +116 -116
  148. package/build/_modules/account-security/account-password.control-service.d.ts +23 -23
  149. package/build/_modules/account-security/account-password.control-service.js +213 -213
  150. package/build/_modules/account-security/account-session.control-service.d.ts +38 -38
  151. package/build/_modules/account-security/account-session.control-service.js +276 -276
  152. package/build/_modules/account-security/index.d.ts +23 -23
  153. package/build/_modules/account-security/index.js +15 -15
  154. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  155. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  156. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  157. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  158. package/build/_modules/admin-auth/index.d.ts +2 -2
  159. package/build/_modules/admin-auth/index.js +5 -5
  160. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +31 -31
  161. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +94 -94
  162. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +43 -43
  163. package/build/_modules/ai/_collections/ai-provider-error.util.js +120 -120
  164. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  165. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  166. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  167. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  168. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  169. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  170. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  171. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  172. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +16 -16
  173. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +2 -2
  174. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +22 -22
  175. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +51 -51
  176. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +33 -33
  177. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +55 -55
  178. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +40 -40
  179. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -89
  180. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +27 -27
  181. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +28 -28
  182. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +14 -14
  183. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +2 -2
  184. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +10 -10
  185. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +2 -2
  186. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +29 -29
  187. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +2 -2
  188. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +18 -18
  189. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +2 -2
  190. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +18 -18
  191. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +2 -2
  192. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts +80 -80
  193. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js +166 -166
  194. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +47 -47
  195. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +103 -103
  196. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +34 -34
  197. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +59 -59
  198. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +73 -73
  199. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +133 -133
  200. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.d.ts +8 -8
  201. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.js +650 -650
  202. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -14
  203. package/build/_modules/ai/_modules/ai-mock/index.js +42 -42
  204. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  205. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  206. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  207. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  208. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  209. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  210. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  211. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  212. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  213. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  214. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  215. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  216. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  217. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  218. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  219. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  220. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  221. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  222. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  223. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  224. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  225. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  226. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  227. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  228. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  229. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  230. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  231. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  232. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  233. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  234. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  235. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  236. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  237. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  238. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  239. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  240. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  241. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  242. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  243. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  244. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  245. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  246. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  247. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  248. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  249. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  250. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  251. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  252. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  253. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  254. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  255. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  256. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  257. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  258. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  259. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  260. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +229 -229
  261. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +617 -617
  262. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  263. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  264. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  265. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  266. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  267. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  268. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  269. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  270. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  271. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  272. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +148 -148
  273. package/build/_modules/ai/_services/ai-llm.service-base.js +378 -378
  274. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  275. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  276. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  277. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  278. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  279. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  280. package/build/_modules/ai/index.d.ts +16 -16
  281. package/build/_modules/ai/index.js +30 -30
  282. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.d.ts +5 -5
  283. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.js +9 -9
  284. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.d.ts +8 -8
  285. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.js +12 -12
  286. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.d.ts +6 -6
  287. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.js +10 -10
  288. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.d.ts +32 -32
  289. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.js +2 -2
  290. package/build/_modules/artifact-compiler/artifact-compiler.control-service.d.ts +36 -36
  291. package/build/_modules/artifact-compiler/artifact-compiler.control-service.js +273 -273
  292. package/build/_modules/artifact-compiler/index.d.ts +5 -5
  293. package/build/_modules/artifact-compiler/index.js +11 -11
  294. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  295. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  296. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  297. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  298. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  299. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  300. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  301. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  302. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  303. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  304. package/build/_modules/assistant/index.d.ts +6 -6
  305. package/build/_modules/assistant/index.js +18 -18
  306. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  307. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  308. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  309. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  310. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  311. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  312. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  313. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  314. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  315. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  316. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  317. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  318. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  319. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  320. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  321. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  322. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  323. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  324. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  325. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  326. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  327. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  328. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  329. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  330. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  331. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  332. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  333. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  334. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  335. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  336. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  337. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  338. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  339. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  340. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  341. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  342. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  343. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  344. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  345. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  346. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  347. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  348. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  349. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  350. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  351. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  352. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  353. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  354. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  355. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  356. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  357. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  358. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  359. package/build/_modules/bot/index.d.ts +17 -17
  360. package/build/_modules/bot/index.js +36 -36
  361. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  362. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  363. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  364. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  365. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  366. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  367. package/build/_modules/custom-data/index.d.ts +4 -4
  368. package/build/_modules/custom-data/index.js +9 -9
  369. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  370. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  371. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  372. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  373. package/build/_modules/data-readers/index.d.ts +2 -2
  374. package/build/_modules/data-readers/index.js +10 -10
  375. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  376. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  377. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  378. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  379. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  380. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  381. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  382. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  383. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  384. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  385. package/build/_modules/defaults/index.d.ts +5 -5
  386. package/build/_modules/defaults/index.js +17 -17
  387. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  388. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  389. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  390. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  391. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  392. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  393. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  394. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  395. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  396. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  397. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  398. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  399. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  400. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  401. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  402. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  403. package/build/_modules/discord-assistant/index.d.ts +11 -11
  404. package/build/_modules/discord-assistant/index.js +24 -24
  405. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  406. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  407. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  408. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  409. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  410. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  411. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  412. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  413. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  414. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  415. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  416. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  417. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  418. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  419. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  420. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  421. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  422. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  423. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  424. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  425. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  426. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  427. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  428. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  429. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  430. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  431. package/build/_modules/discord-bot/index.d.ts +11 -11
  432. package/build/_modules/discord-bot/index.js +30 -30
  433. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  434. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  435. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  436. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  437. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  438. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  439. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  440. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  441. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  442. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  443. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  444. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  445. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +74 -74
  446. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +152 -152
  447. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +51 -51
  448. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +83 -83
  449. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +99 -99
  450. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +276 -276
  451. package/build/_modules/local-vector-search/index.d.ts +8 -8
  452. package/build/_modules/local-vector-search/index.js +15 -15
  453. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  454. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  455. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  456. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  457. package/build/_modules/logs/file-log.service.d.ts +132 -132
  458. package/build/_modules/logs/file-log.service.js +444 -444
  459. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  460. package/build/_modules/logs/file-logs.controller.js +138 -138
  461. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  462. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  463. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  464. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  465. package/build/_modules/logs/index.d.ts +8 -8
  466. package/build/_modules/logs/index.js +15 -15
  467. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  468. package/build/_modules/logs/log-buffer.service.js +96 -96
  469. package/build/_modules/logs/logs.controller.d.ts +26 -26
  470. package/build/_modules/logs/logs.controller.js +89 -89
  471. package/build/_modules/logs/logs.service.d.ts +39 -39
  472. package/build/_modules/logs/logs.service.js +96 -96
  473. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  474. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  475. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  476. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  477. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  478. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  479. package/build/_modules/mcp/index.d.ts +3 -3
  480. package/build/_modules/mcp/index.js +12 -12
  481. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  482. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  483. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  484. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  485. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  486. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  487. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  488. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  489. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  490. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  491. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  492. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  493. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  494. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  495. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  496. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  497. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  498. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  499. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  500. package/build/_modules/messaging/index.d.ts +10 -10
  501. package/build/_modules/messaging/index.js +27 -27
  502. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  503. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  504. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  505. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  506. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  507. package/build/_modules/mock/app-params.mock.js +9 -9
  508. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  509. package/build/_modules/mock/app-server.mock.js +148 -148
  510. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  511. package/build/_modules/mock/auth-service.mock.js +19 -19
  512. package/build/_modules/mock/controller.mock.d.ts +5 -5
  513. package/build/_modules/mock/controller.mock.js +14 -14
  514. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  515. package/build/_modules/mock/data-model.mock.js +72 -72
  516. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  517. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  518. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  519. package/build/_modules/mock/email-service.mock.js +20 -20
  520. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  521. package/build/_modules/mock/endpoint.mock.js +79 -79
  522. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  523. package/build/_modules/mock/socket-client.mock.js +38 -38
  524. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  525. package/build/_modules/mock/socket-server.mock.js +32 -32
  526. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  527. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  528. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  529. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  530. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  531. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  532. package/build/_modules/oauth2/index.d.ts +3 -3
  533. package/build/_modules/oauth2/index.js +14 -14
  534. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +5 -5
  535. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +9 -9
  536. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +10 -10
  537. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +14 -14
  538. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +7 -7
  539. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +11 -11
  540. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +15 -15
  541. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +19 -19
  542. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +9 -9
  543. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +13 -13
  544. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +11 -11
  545. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +2 -2
  546. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +6 -6
  547. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +2 -2
  548. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +14 -14
  549. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +2 -2
  550. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +6 -6
  551. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +2 -2
  552. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +12 -12
  553. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +2 -2
  554. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +8 -8
  555. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +2 -2
  556. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +13 -13
  557. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +2 -2
  558. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +7 -7
  559. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +2 -2
  560. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +10 -10
  561. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +2 -2
  562. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +12 -12
  563. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +2 -2
  564. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +8 -8
  565. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +2 -2
  566. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +6 -6
  567. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +2 -2
  568. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +10 -10
  569. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +2 -2
  570. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +6 -6
  571. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +2 -2
  572. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +6 -6
  573. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +2 -2
  574. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +11 -11
  575. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +2 -2
  576. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +13 -13
  577. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +2 -2
  578. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +14 -14
  579. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +2 -2
  580. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +8 -8
  581. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +2 -2
  582. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +6 -6
  583. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +2 -2
  584. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +9 -9
  585. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +2 -2
  586. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +6 -6
  587. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +2 -2
  588. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +20 -20
  589. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +2 -2
  590. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +7 -7
  591. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +2 -2
  592. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +19 -19
  593. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +2 -2
  594. package/build/_modules/privacy-lifecycle/index.d.ts +32 -32
  595. package/build/_modules/privacy-lifecycle/index.js +17 -17
  596. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +27 -27
  597. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +167 -167
  598. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +41 -41
  599. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +363 -363
  600. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.d.ts +5 -5
  601. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.js +9 -9
  602. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +70 -70
  603. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  604. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.d.ts +8 -8
  605. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.js +2 -2
  606. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.d.ts +6 -6
  607. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.js +2 -2
  608. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  609. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  610. package/build/_modules/rate-limit/_models/rate-limit-store.interface.d.ts +8 -8
  611. package/build/_modules/rate-limit/_models/rate-limit-store.interface.js +2 -2
  612. package/build/_modules/rate-limit/index.d.ts +8 -8
  613. package/build/_modules/rate-limit/index.js +9 -9
  614. package/build/_modules/rate-limit/rate-limit-in-memory.store.d.ts +18 -18
  615. package/build/_modules/rate-limit/rate-limit-in-memory.store.js +70 -70
  616. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +68 -68
  617. package/build/_modules/rate-limit/rate-limit.middleware.js +378 -378
  618. package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +33 -33
  619. package/build/_modules/scheduler/_models/scheduler-job.interface.js +2 -2
  620. package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +17 -17
  621. package/build/_modules/scheduler/get-scheduler-routing-module.util.js +30 -30
  622. package/build/_modules/scheduler/index.d.ts +4 -4
  623. package/build/_modules/scheduler/index.js +9 -9
  624. package/build/_modules/scheduler/scheduler.controller.d.ts +24 -24
  625. package/build/_modules/scheduler/scheduler.controller.js +53 -53
  626. package/build/_modules/scheduler/scheduler.service.d.ts +53 -53
  627. package/build/_modules/scheduler/scheduler.service.js +163 -163
  628. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  629. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  630. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  631. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  632. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  633. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  634. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  635. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  636. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  637. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  638. package/build/_modules/scoped-config/index.d.ts +5 -5
  639. package/build/_modules/scoped-config/index.js +14 -14
  640. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  641. package/build/_modules/server/errors/errors.control-service.js +10 -10
  642. package/build/_modules/server/errors/errors.controller.d.ts +144 -144
  643. package/build/_modules/server/errors/errors.controller.js +404 -404
  644. package/build/_modules/server/errors/errors.data-service.d.ts +70 -70
  645. package/build/_modules/server/errors/errors.data-service.js +677 -677
  646. package/build/_modules/server/index.d.ts +15 -15
  647. package/build/_modules/server/index.js +35 -35
  648. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +8 -8
  649. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +12 -12
  650. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -20
  651. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -24
  652. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +18 -18
  653. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +82 -82
  654. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +18 -18
  655. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +2 -2
  656. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.d.ts +13 -13
  657. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.js +17 -17
  658. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.d.ts +7 -7
  659. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.js +11 -11
  660. package/build/_modules/server/server-status/db-readiness-probe.control-service.d.ts +13 -13
  661. package/build/_modules/server/server-status/db-readiness-probe.control-service.js +125 -125
  662. package/build/_modules/server/server-status/db-readiness-probe.interface.d.ts +17 -17
  663. package/build/_modules/server/server-status/db-readiness-probe.interface.js +2 -2
  664. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  665. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  666. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  667. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  668. package/build/_modules/server/server-status/server-status.control-service.d.ts +111 -111
  669. package/build/_modules/server/server-status/server-status.control-service.js +302 -302
  670. package/build/_modules/server/server-status/server-status.controller.d.ts +92 -92
  671. package/build/_modules/server/server-status/server-status.controller.js +253 -253
  672. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  673. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  674. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  675. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  676. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  677. package/build/_modules/socket/_models/socket-presence.control-model.js +140 -140
  678. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +22 -22
  679. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +31 -31
  680. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  681. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  682. package/build/_modules/socket/_services/socket-server.service.d.ts +98 -98
  683. package/build/_modules/socket/_services/socket-server.service.js +673 -673
  684. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  685. package/build/_modules/socket/app-extended.server.js +521 -521
  686. package/build/_modules/socket/index.d.ts +8 -8
  687. package/build/_modules/socket/index.js +35 -35
  688. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  689. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  690. package/build/_modules/test/index.d.ts +3 -3
  691. package/build/_modules/test/index.js +11 -11
  692. package/build/_modules/test/test.controller.d.ts +5 -5
  693. package/build/_modules/test/test.controller.js +103 -103
  694. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.d.ts +10 -10
  695. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.js +13 -13
  696. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.d.ts +21 -21
  697. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.js +38 -38
  698. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.d.ts +49 -49
  699. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.js +117 -117
  700. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.d.ts +14 -14
  701. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.js +26 -26
  702. package/build/_modules/test-email-sink/index.d.ts +11 -11
  703. package/build/_modules/test-email-sink/index.js +14 -14
  704. package/build/_modules/test-email-sink/test-email-sink.controller.d.ts +23 -23
  705. package/build/_modules/test-email-sink/test-email-sink.controller.js +66 -66
  706. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  707. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  708. package/build/_modules/usage/index.d.ts +4 -4
  709. package/build/_modules/usage/index.js +13 -13
  710. package/build/_modules/usage/usage.controller.d.ts +6 -6
  711. package/build/_modules/usage/usage.controller.js +105 -105
  712. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  713. package/build/_modules/usage/usage.data-service.js +135 -135
  714. package/build/_services/base/api.service-base.d.ts +9 -9
  715. package/build/_services/base/api.service-base.js +46 -46
  716. package/build/_services/base/archive-data.service.d.ts +25 -25
  717. package/build/_services/base/archive-data.service.js +151 -151
  718. package/build/_services/base/data.service.d.ts +402 -402
  719. package/build/_services/base/data.service.js +2131 -2131
  720. package/build/_services/base/db.service.d.ts +424 -424
  721. package/build/_services/base/db.service.js +1356 -1356
  722. package/build/_services/base/singleton.service-base.d.ts +8 -8
  723. package/build/_services/base/singleton.service-base.js +21 -21
  724. package/build/_services/base/singleton.service.d.ts +11 -11
  725. package/build/_services/base/singleton.service.js +31 -31
  726. package/build/_services/core/api.service.d.ts +45 -45
  727. package/build/_services/core/api.service.js +456 -456
  728. package/build/_services/core/auth.service.d.ts +129 -129
  729. package/build/_services/core/auth.service.js +59 -59
  730. package/build/_services/core/collection-growth-monitor.service.d.ts +76 -76
  731. package/build/_services/core/collection-growth-monitor.service.js +165 -165
  732. package/build/_services/core/db-stats.service.d.ts +33 -33
  733. package/build/_services/core/db-stats.service.js +64 -64
  734. package/build/_services/core/diagnostics.service.d.ts +42 -42
  735. package/build/_services/core/diagnostics.service.js +121 -121
  736. package/build/_services/core/email.service.d.ts +77 -77
  737. package/build/_services/core/email.service.js +503 -503
  738. package/build/_services/core/event-loop-diag.service.d.ts +49 -49
  739. package/build/_services/core/event-loop-diag.service.js +106 -106
  740. package/build/_services/core/global.service.d.ts +83 -83
  741. package/build/_services/core/global.service.js +386 -386
  742. package/build/_services/core/memory-guard.service.d.ts +166 -166
  743. package/build/_services/core/memory-guard.service.js +369 -369
  744. package/build/_services/core/migration-runner.service.d.ts +39 -39
  745. package/build/_services/core/migration-runner.service.js +74 -74
  746. package/build/_services/core/mongo-transaction.control-service.d.ts +18 -18
  747. package/build/_services/core/mongo-transaction.control-service.js +94 -94
  748. package/build/_services/core/request-hunter.service.d.ts +73 -73
  749. package/build/_services/core/request-hunter.service.js +122 -122
  750. package/build/_services/core/request-telemetry.control-service.d.ts +51 -0
  751. package/build/_services/core/request-telemetry.control-service.d.ts.map +1 -0
  752. package/build/_services/core/request-telemetry.control-service.js +286 -0
  753. package/build/_services/core/request-telemetry.control-service.js.map +1 -0
  754. package/build/_services/core/service-collection.service.d.ts +4 -4
  755. package/build/_services/core/service-collection.service.js +7 -7
  756. package/build/_services/route/controller.service.d.ts +124 -124
  757. package/build/_services/route/controller.service.js +95 -95
  758. package/build/_services/route/routing-module.service.d.ts +80 -80
  759. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  760. package/build/_services/route/routing-module.service.js +253 -250
  761. package/build/_services/route/routing-module.service.js.map +1 -1
  762. package/build/_services/server/app.server.d.ts +434 -429
  763. package/build/_services/server/app.server.d.ts.map +1 -1
  764. package/build/_services/server/app.server.js +1239 -1226
  765. package/build/_services/server/app.server.js.map +1 -1
  766. package/build/_services/shared.static-service.d.ts +43 -43
  767. package/build/_services/shared.static-service.js +92 -92
  768. package/build/index.d.ts +66 -63
  769. package/build/index.d.ts.map +1 -1
  770. package/build/index.js +104 -101
  771. package/build/index.js.map +1 -1
  772. package/package.json +1 -1
  773. package/src/_models/control-models/endpoint-params.control-model.spec.ts +102 -102
  774. package/src/_models/control-models/endpoint-params.control-model.ts +131 -131
  775. package/src/_models/interfaces/request-telemetry-settings.interface.ts +9 -0
  776. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +30 -0
  777. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +3 -3
  778. package/src/_services/core/request-telemetry.control-service.spec.ts +217 -0
  779. package/src/_services/core/request-telemetry.control-service.ts +381 -0
  780. package/src/_services/route/routing-module.service.ts +27 -18
  781. package/src/_services/server/app.server.ts +29 -9
  782. package/src/index.ts +5 -2
@@ -1,445 +1,445 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyNTS_FileLog_Service = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs = tslib_1.__importStar(require("fs"));
6
- const path = tslib_1.__importStar(require("path"));
7
- const singleton_service_base_1 = require("../../_services/base/singleton.service-base");
8
- const global_settings_const_1 = require("../../_collections/global-settings.const");
9
- /**
10
- * Default ertekek a file-log config mezokhez. A `file_log` config nelkul
11
- * az install() no-op (enabled === false).
12
- */
13
- const DEFAULT_LOG_DIR = './logs/server';
14
- const DEFAULT_FILENAME_PREFIX = 'server-';
15
- const DEFAULT_FILENAME_SUFFIX = '.log';
16
- const DEFAULT_MAX_FILE_SIZE_MB = 50;
17
- const DEFAULT_MAX_FILES = 10;
18
- const DEFAULT_RETENTION_DAYS = 30;
19
- const DEFAULT_STRIP_ANSI = true;
20
- const DEFAULT_INCLUDE_STDOUT = true;
21
- const DEFAULT_INCLUDE_STDERR = true;
22
- /** ANSI escape code regex (szin/formazas kodok). */
23
- const ANSI_ESCAPE_REGEX = /\x1b\[[0-9;]*[a-zA-Z]/g;
24
- /** Max sor szam egy `readLogFile()` hivasra — vedi a memory-t nagy fajloknal. */
25
- const MAX_READ_LINES = 10000;
26
- /** Default tail sor szam (ha semmi mas mod nincs megadva). */
27
- const DEFAULT_READ_TAIL = 200;
28
- /**
29
- * File-based szerver log service — duplikalja a stdout/stderr-t per-session
30
- * log fajl(ok)ba, miközben a console kimenet erintetlenul marad. Az
31
- * in-memory ring buffer (`DyNTS_Logs_Service`) MELLETT mukodik, NEM
32
- * helyette.
33
- *
34
- * Architecture:
35
- * - `process.stdout.write` es `process.stderr.write` monkey-patch (NEM
36
- * `console.*` — azt mar a `DyNTS_Logs_Service` patch-elheti)
37
- * - Per-session fajl: `{logDir}/{prefix}YYYY-MM-DD_HH-MM-SS.log`
38
- * - Sync `appendFileSync` iras — crash-safe, azonnali flush
39
- * - Rotation: `maxFileSizeMb` atlepesenel uj session fajl
40
- * - Retention: `maxFiles` (count) ES `retentionDays` (age) — ami elobb
41
- * teljesul; install-kor + minden rotation utan futtatva
42
- * - Silent failure: file IO hibak ELNYELODNEK (a file logger SOHASEM
43
- * buktathatja el a szervert)
44
- *
45
- * Idempotens: tobbszori install() hivas no-op (a masodiktol).
46
- *
47
- * Hasznalat:
48
- * DyNTS_global_settings.log_settings.file_log = { enabled: true, ... };
49
- * DyNTS_FileLog_Service.getInstance().install(); // szerver startup
50
- */
51
- class DyNTS_FileLog_Service extends singleton_service_base_1.DyNTS_SingletonServiceBase {
52
- static getInstance() {
53
- return DyNTS_FileLog_Service.getSingletonInstance();
54
- }
55
- installed = false;
56
- activeLogDir = '';
57
- filenamePrefix = DEFAULT_FILENAME_PREFIX;
58
- maxFileSizeBytes = DEFAULT_MAX_FILE_SIZE_MB * 1024 * 1024;
59
- maxFiles = DEFAULT_MAX_FILES;
60
- retentionDays = DEFAULT_RETENTION_DAYS;
61
- stripAnsiEnabled = DEFAULT_STRIP_ANSI;
62
- currentLogPath = '';
63
- currentLogSizeBytes = 0;
64
- originalStdoutWrite = null;
65
- originalStderrWrite = null;
66
- /**
67
- * Telepiti a file logger-t a `DyNTS_global_settings.log_settings.file_log`
68
- * config alapjan. Ha `enabled === false` vagy hianyzik a config → no-op.
69
- *
70
- * Idempotens — masodszori hivas no-op (akkor is, ha kozben a config
71
- * valtozott; a service uj install-jara teardownFor Testing() + install()).
72
- */
73
- install() {
74
- if (this.installed) {
75
- return;
76
- }
77
- const config = global_settings_const_1.DyNTS_global_settings.log_settings?.file_log;
78
- if (!config || !config.enabled) {
79
- return;
80
- }
81
- // Config feldolgozas + default-ok
82
- this.activeLogDir = config.logDir ?? DEFAULT_LOG_DIR;
83
- this.filenamePrefix = config.filenamePrefix ?? DEFAULT_FILENAME_PREFIX;
84
- this.maxFileSizeBytes = (config.maxFileSizeMb ?? DEFAULT_MAX_FILE_SIZE_MB) * 1024 * 1024;
85
- this.maxFiles = config.maxFiles ?? DEFAULT_MAX_FILES;
86
- this.retentionDays = config.retentionDays ?? DEFAULT_RETENTION_DAYS;
87
- this.stripAnsiEnabled = config.stripAnsi ?? DEFAULT_STRIP_ANSI;
88
- const includeStdout = config.includeStdout ?? DEFAULT_INCLUDE_STDOUT;
89
- const includeStderr = config.includeStderr ?? DEFAULT_INCLUDE_STDERR;
90
- // Log dir letrehozasa silently
91
- try {
92
- if (!fs.existsSync(this.activeLogDir)) {
93
- fs.mkdirSync(this.activeLogDir, { recursive: true });
94
- }
95
- }
96
- catch {
97
- // Ha a mkdir bukik (pl. permission denied), no-op — silent failure
98
- return;
99
- }
100
- // Retention cleanup MIELOTT az uj session fajl letrejon (hogy a takaritas
101
- // log uzenete ne keruljon a most induló fajlba)
102
- this.cleanupOldLogs();
103
- // Uj session fajl path + size init
104
- this.currentLogPath = path.join(this.activeLogDir, this.buildSessionFilename());
105
- this.currentLogSizeBytes = 0;
106
- // Monkey-patch — az originalokat elmentjük (teardown miatt)
107
- if (includeStdout) {
108
- this.originalStdoutWrite = process.stdout.write.bind(process.stdout);
109
- const self = this;
110
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
- process.stdout.write = function patchedStdoutWrite(...args) {
112
- self.teeWrite(args[0]);
113
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
- return self.originalStdoutWrite(...args);
115
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
- };
117
- }
118
- if (includeStderr) {
119
- this.originalStderrWrite = process.stderr.write.bind(process.stderr);
120
- const self = this;
121
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
122
- process.stderr.write = function patchedStderrWrite(...args) {
123
- self.teeWrite(args[0]);
124
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
125
- return self.originalStderrWrite(...args);
126
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
- };
128
- }
129
- this.installed = true;
130
- // Session header — kulcs info egy helyen a fajl tetejen
131
- this.teeWrite(`===== DyNTS server log session started at ${new Date().toISOString()} =====\n` +
132
- `===== PID: ${process.pid}, Node: ${process.version} =====\n` +
133
- `===== Retention: ${this.retentionDays} days, max files: ${this.maxFiles}, max size: ${config.maxFileSizeMb ?? DEFAULT_MAX_FILE_SIZE_MB}MB =====\n\n`);
134
- }
135
- /**
136
- * Visszaadja az aktualis log fajl abszolut path-jat (csak akkor letezo,
137
- * ha az install() sikeresen lefutott; egyebkent ures string).
138
- */
139
- getCurrentLogPath() {
140
- return this.currentLogPath;
141
- }
142
- /**
143
- * Az aktualis aktiv log fajl basename-je (NEM teljes path). Csak akkor
144
- * nem-ures, ha az install() sikeresen lefutott.
145
- */
146
- getCurrentLogFilename() {
147
- if (!this.currentLogPath) {
148
- return '';
149
- }
150
- return path.basename(this.currentLogPath);
151
- }
152
- /**
153
- * Aktiv log dir abszolut path-ja. Csak akkor nem-ures, ha az install()
154
- * sikeresen lefutott.
155
- */
156
- getActiveLogDir() {
157
- return this.activeLogDir;
158
- }
159
- /**
160
- * Aktiv filename prefix (a service config-jabol). Hasznalja a controller
161
- * a request-fajlnev whitelist regex epitesehez.
162
- */
163
- getFilenamePrefix() {
164
- return this.filenamePrefix;
165
- }
166
- /**
167
- * Osszes log fajl listazasa az aktiv log dir-bol. Csak a service prefix-evel
168
- * matchelo fajlokat veszi (`{prefix}*.log`).
169
- *
170
- * Rendezes: mtime DESC (legujabb elol). Hibakat csendben elnyel — ha a dir
171
- * nem letezik vagy nem olvashato, ures array-t ad vissza.
172
- */
173
- listLogFiles() {
174
- if (!this.activeLogDir || !this.installed) {
175
- return [];
176
- }
177
- const currentBasename = this.getCurrentLogFilename();
178
- const entries = [];
179
- try {
180
- const dirContents = fs.readdirSync(this.activeLogDir);
181
- for (const name of dirContents) {
182
- if (!name.startsWith(this.filenamePrefix) || !name.endsWith(DEFAULT_FILENAME_SUFFIX)) {
183
- continue;
184
- }
185
- const fullPath = path.join(this.activeLogDir, name);
186
- try {
187
- const stats = fs.statSync(fullPath);
188
- if (!stats.isFile()) {
189
- continue;
190
- }
191
- entries.push({
192
- name: name,
193
- sizeBytes: stats.size,
194
- mtimeMs: stats.mtimeMs,
195
- isCurrent: name === currentBasename,
196
- });
197
- }
198
- catch {
199
- // egy fajlonkenti hiba ne szakitsa meg a listat
200
- }
201
- }
202
- }
203
- catch {
204
- // dir read hiba → ures listat adunk vissza
205
- return [];
206
- }
207
- // Legujabb elol
208
- entries.sort((a, b) => b.mtimeMs - a.mtimeMs);
209
- return entries;
210
- }
211
- /**
212
- * Egy konkret log fajl olvasasa, line-based mode-ban (tail / head / range).
213
- *
214
- * **Biztonsagi safeguards:**
215
- * - Filename whitelist: `{prefix}*.log` mintara matchelo nev kotelezo
216
- * - Path resolution `path.resolve(activeLogDir, name)` + `startsWith(activeLogDir)` (path traversal vedelem)
217
- * - Sor szam cap: `MAX_READ_LINES` (10000)
218
- *
219
- * **Hibak:**
220
- * - Throw `Error('not installed')` ha a service nincs install-olva
221
- * - Throw `Error('invalid filename')` ha a name nem matchel a whitelist-re VAGY kilep az activeLogDir-bol
222
- * - Throw `Error('file not found')` ha a fajl nem letezik
223
- *
224
- * A hivot kell vigyaznia hogy ezeket HTTP status code-okra forditja.
225
- */
226
- readLogFile(name, options = {}) {
227
- if (!this.installed || !this.activeLogDir) {
228
- throw new Error('FileLog service not installed');
229
- }
230
- // Whitelist regex: csak a service prefix-evel matchelo fajlnev
231
- if (!this.isValidFilename(name)) {
232
- throw new Error('invalid filename');
233
- }
234
- // Path resolve + traversal check
235
- const resolvedPath = path.resolve(this.activeLogDir, name);
236
- const resolvedDir = path.resolve(this.activeLogDir);
237
- // path.sep + sufix ellenőrzéssel megelőzzük a hasonló prefixű dir átverést
238
- // (pl. '/logs' vs '/logs-other'); a resolvedPath az activeLogDir-en BELUL
239
- // kell legyen.
240
- if (!resolvedPath.startsWith(resolvedDir + path.sep) && resolvedPath !== resolvedDir) {
241
- throw new Error('invalid filename');
242
- }
243
- if (!fs.existsSync(resolvedPath)) {
244
- throw new Error('file not found');
245
- }
246
- const stats = fs.statSync(resolvedPath);
247
- if (!stats.isFile()) {
248
- throw new Error('file not found');
249
- }
250
- // Olvass + split soroka. UTF-8 encoding alapertelmezett. Nagy fajloknal a
251
- // teljes betoltes nem ideal, de a 10000-soros cap es a Stream-based
252
- // optimization egy kesobbi iteracio lehet ha kell.
253
- const fullContent = fs.readFileSync(resolvedPath, 'utf-8');
254
- // Split a sorvegekre — utolso ures stringet kivagjuk ha a fajl
255
- // sorvégzodessel zarult (regenerált sor szám hibakerulest celozzuk meg)
256
- const allLines = fullContent.split(/\r?\n/);
257
- if (allLines.length > 0 && allLines[allLines.length - 1] === '') {
258
- allLines.pop();
259
- }
260
- const totalLines = allLines.length;
261
- // Mod meghatarozasa: range > head > tail
262
- let mode;
263
- let startIdx;
264
- let endIdx; // exclusive
265
- if (options.rangeStart !== undefined && options.rangeEnd !== undefined) {
266
- mode = 'range';
267
- const start1 = Math.max(1, Math.floor(options.rangeStart));
268
- const end1 = Math.max(start1, Math.floor(options.rangeEnd));
269
- startIdx = Math.max(0, Math.min(totalLines, start1 - 1));
270
- endIdx = Math.max(startIdx, Math.min(totalLines, end1));
271
- // Cap
272
- if (endIdx - startIdx > MAX_READ_LINES) {
273
- endIdx = startIdx + MAX_READ_LINES;
274
- }
275
- }
276
- else if (options.head !== undefined) {
277
- mode = 'head';
278
- const headN = Math.min(Math.max(1, Math.floor(options.head)), MAX_READ_LINES);
279
- startIdx = 0;
280
- endIdx = Math.min(totalLines, headN);
281
- }
282
- else {
283
- mode = 'tail';
284
- const tailN = Math.min(Math.max(1, Math.floor(options.tail ?? DEFAULT_READ_TAIL)), MAX_READ_LINES);
285
- startIdx = Math.max(0, totalLines - tailN);
286
- endIdx = totalLines;
287
- }
288
- const lines = allLines.slice(startIdx, endIdx);
289
- return {
290
- name: path.basename(resolvedPath),
291
- sizeBytes: stats.size,
292
- totalLines: totalLines,
293
- lines: lines,
294
- mode: mode,
295
- rangeStart: startIdx + 1, // 1-based, inclusive
296
- rangeEnd: Math.max(startIdx, endIdx), // 1-based, inclusive ha lines van; egyebkent 0-szeru
297
- };
298
- }
299
- /**
300
- * Filename whitelist ellenorzes. Csak a service prefix-evel matchelo,
301
- * biztonsagos karakterkeszletu fajlnev megengedett.
302
- */
303
- isValidFilename(name) {
304
- if (typeof name !== 'string' || name.length === 0 || name.length > 256) {
305
- return false;
306
- }
307
- // Path-szeparatorokat kifejezetten tiltjuk (mar a regex is, de gyors check)
308
- if (name.includes('/') || name.includes('\\') || name.includes('..')) {
309
- return false;
310
- }
311
- // `{prefix}[\w\-.]+\.log` — szigoru ASCII set
312
- const escapedPrefix = this.filenamePrefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
313
- const regex = new RegExp(`^${escapedPrefix}[\\w\\-.]+\\.log$`);
314
- return regex.test(name);
315
- }
316
- /**
317
- * Telepitve van-e (csak akkor true, ha az enabled === true es a setup nem bukott).
318
- */
319
- isInstalled() {
320
- return this.installed;
321
- }
322
- /**
323
- * Test-only: visszallitja az eredeti stdout/stderr.write-okat, hogy a
324
- * specfajlok egymas utan tisztán futhassanak. Production code NE hivja.
325
- */
326
- _teardownForTesting() {
327
- if (this.originalStdoutWrite) {
328
- process.stdout.write = this.originalStdoutWrite;
329
- this.originalStdoutWrite = null;
330
- }
331
- if (this.originalStderrWrite) {
332
- process.stderr.write = this.originalStderrWrite;
333
- this.originalStderrWrite = null;
334
- }
335
- this.installed = false;
336
- this.activeLogDir = '';
337
- this.currentLogPath = '';
338
- this.currentLogSizeBytes = 0;
339
- }
340
- /**
341
- * Session fajl nev: `{prefix}YYYY-MM-DD_HH-MM-SS_RANDOM.log`. Az RANDOM
342
- * suffix biztositja a unique nevet ha ugyanazon a masodpercen tobb fajl jon letre
343
- * (pl. rotation kozvetlenul install utan, vagy specfajlok gyors egymas utan).
344
- */
345
- buildSessionFilename() {
346
- const now = new Date();
347
- const year = String(now.getFullYear());
348
- const month = String(now.getMonth() + 1).padStart(2, '0');
349
- const day = String(now.getDate()).padStart(2, '0');
350
- const hour = String(now.getHours()).padStart(2, '0');
351
- const minute = String(now.getMinutes()).padStart(2, '0');
352
- const second = String(now.getSeconds()).padStart(2, '0');
353
- const rand = Math.floor(Math.random() * 100000).toString(36);
354
- return `${this.filenamePrefix}${year}-${month}-${day}_${hour}-${minute}-${second}_${rand}${DEFAULT_FILENAME_SUFFIX}`;
355
- }
356
- /**
357
- * Egyetlen stdout/stderr iras tee-zese az aktualis log fajlba.
358
- * Hibakat csendben elnyeli — a file logger SOHASEM blokkolja a szervert.
359
- * Size-trackeli az aktualis fajlt es szukseg szerint rotalja.
360
- */
361
- teeWrite(data) {
362
- try {
363
- if (!this.currentLogPath) {
364
- return;
365
- }
366
- const asString = typeof data === 'string'
367
- ? data
368
- : Buffer.from(data).toString('utf-8');
369
- const cleaned = this.stripAnsiEnabled ? asString.replace(ANSI_ESCAPE_REGEX, '') : asString;
370
- const writeBytes = Buffer.byteLength(cleaned, 'utf-8');
371
- fs.appendFileSync(this.currentLogPath, cleaned, 'utf-8');
372
- this.currentLogSizeBytes += writeBytes;
373
- // Rotation trigger
374
- if (this.currentLogSizeBytes >= this.maxFileSizeBytes) {
375
- this.rotate();
376
- }
377
- }
378
- catch {
379
- // szandekosan elnyelve — silent failure
380
- }
381
- }
382
- /**
383
- * Uj session fajl letrehozasa (az aktualis lezarodik). Retention cleanup-ot is
384
- * vegrehajt, hogy a rotation termeszetesen tisztan tarttsa a log dir-t.
385
- */
386
- rotate() {
387
- try {
388
- this.cleanupOldLogs();
389
- this.currentLogPath = path.join(this.activeLogDir, this.buildSessionFilename());
390
- this.currentLogSizeBytes = 0;
391
- }
392
- catch {
393
- // szandekosan elnyelve
394
- }
395
- }
396
- /**
397
- * Retention takaritas: ket szabaly ami ami elobb teljesul:
398
- * 1) maxFiles — ha tobb mint N log fajl van, a legregebbieket torli
399
- * 2) retentionDays — `retentionDays`-nel idosebb fajlokat torli
400
- *
401
- * Hibakat csendben elnyel. A torolt fajlokat es az okot NEM logoljuk, hogy
402
- * ne kerüljön extra szennyezes a most induló session fajlba.
403
- */
404
- cleanupOldLogs() {
405
- try {
406
- if (!fs.existsSync(this.activeLogDir)) {
407
- return;
408
- }
409
- const cutoffMs = Date.now() - this.retentionDays * 24 * 60 * 60 * 1000;
410
- const entries = fs.readdirSync(this.activeLogDir);
411
- const matchingFiles = [];
412
- for (const entry of entries) {
413
- if (!entry.startsWith(this.filenamePrefix) || !entry.endsWith(DEFAULT_FILENAME_SUFFIX)) {
414
- continue;
415
- }
416
- const fullPath = path.join(this.activeLogDir, entry);
417
- try {
418
- const stats = fs.statSync(fullPath);
419
- matchingFiles.push({ fullPath: fullPath, mtimeMs: stats.mtimeMs });
420
- }
421
- catch {
422
- // fajlonkent elnyelve
423
- }
424
- }
425
- // Sort: legujabb elol -> legregebbi hatul (csokkeno mtime)
426
- matchingFiles.sort((a, b) => b.mtimeMs - a.mtimeMs);
427
- for (let i = 0; i < matchingFiles.length; i++) {
428
- const file = matchingFiles[i];
429
- const tooOldByAge = file.mtimeMs < cutoffMs;
430
- const tooManyByCount = i >= this.maxFiles;
431
- if (tooOldByAge || tooManyByCount) {
432
- try {
433
- fs.unlinkSync(file.fullPath);
434
- }
435
- catch { /* fajlonkent elnyelve */ }
436
- }
437
- }
438
- }
439
- catch {
440
- // szandekosan elnyelve
441
- }
442
- }
443
- }
444
- exports.DyNTS_FileLog_Service = DyNTS_FileLog_Service;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_FileLog_Service = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs = tslib_1.__importStar(require("fs"));
6
+ const path = tslib_1.__importStar(require("path"));
7
+ const singleton_service_base_1 = require("../../_services/base/singleton.service-base");
8
+ const global_settings_const_1 = require("../../_collections/global-settings.const");
9
+ /**
10
+ * Default ertekek a file-log config mezokhez. A `file_log` config nelkul
11
+ * az install() no-op (enabled === false).
12
+ */
13
+ const DEFAULT_LOG_DIR = './logs/server';
14
+ const DEFAULT_FILENAME_PREFIX = 'server-';
15
+ const DEFAULT_FILENAME_SUFFIX = '.log';
16
+ const DEFAULT_MAX_FILE_SIZE_MB = 50;
17
+ const DEFAULT_MAX_FILES = 10;
18
+ const DEFAULT_RETENTION_DAYS = 30;
19
+ const DEFAULT_STRIP_ANSI = true;
20
+ const DEFAULT_INCLUDE_STDOUT = true;
21
+ const DEFAULT_INCLUDE_STDERR = true;
22
+ /** ANSI escape code regex (szin/formazas kodok). */
23
+ const ANSI_ESCAPE_REGEX = /\x1b\[[0-9;]*[a-zA-Z]/g;
24
+ /** Max sor szam egy `readLogFile()` hivasra — vedi a memory-t nagy fajloknal. */
25
+ const MAX_READ_LINES = 10000;
26
+ /** Default tail sor szam (ha semmi mas mod nincs megadva). */
27
+ const DEFAULT_READ_TAIL = 200;
28
+ /**
29
+ * File-based szerver log service — duplikalja a stdout/stderr-t per-session
30
+ * log fajl(ok)ba, miközben a console kimenet erintetlenul marad. Az
31
+ * in-memory ring buffer (`DyNTS_Logs_Service`) MELLETT mukodik, NEM
32
+ * helyette.
33
+ *
34
+ * Architecture:
35
+ * - `process.stdout.write` es `process.stderr.write` monkey-patch (NEM
36
+ * `console.*` — azt mar a `DyNTS_Logs_Service` patch-elheti)
37
+ * - Per-session fajl: `{logDir}/{prefix}YYYY-MM-DD_HH-MM-SS.log`
38
+ * - Sync `appendFileSync` iras — crash-safe, azonnali flush
39
+ * - Rotation: `maxFileSizeMb` atlepesenel uj session fajl
40
+ * - Retention: `maxFiles` (count) ES `retentionDays` (age) — ami elobb
41
+ * teljesul; install-kor + minden rotation utan futtatva
42
+ * - Silent failure: file IO hibak ELNYELODNEK (a file logger SOHASEM
43
+ * buktathatja el a szervert)
44
+ *
45
+ * Idempotens: tobbszori install() hivas no-op (a masodiktol).
46
+ *
47
+ * Hasznalat:
48
+ * DyNTS_global_settings.log_settings.file_log = { enabled: true, ... };
49
+ * DyNTS_FileLog_Service.getInstance().install(); // szerver startup
50
+ */
51
+ class DyNTS_FileLog_Service extends singleton_service_base_1.DyNTS_SingletonServiceBase {
52
+ static getInstance() {
53
+ return DyNTS_FileLog_Service.getSingletonInstance();
54
+ }
55
+ installed = false;
56
+ activeLogDir = '';
57
+ filenamePrefix = DEFAULT_FILENAME_PREFIX;
58
+ maxFileSizeBytes = DEFAULT_MAX_FILE_SIZE_MB * 1024 * 1024;
59
+ maxFiles = DEFAULT_MAX_FILES;
60
+ retentionDays = DEFAULT_RETENTION_DAYS;
61
+ stripAnsiEnabled = DEFAULT_STRIP_ANSI;
62
+ currentLogPath = '';
63
+ currentLogSizeBytes = 0;
64
+ originalStdoutWrite = null;
65
+ originalStderrWrite = null;
66
+ /**
67
+ * Telepiti a file logger-t a `DyNTS_global_settings.log_settings.file_log`
68
+ * config alapjan. Ha `enabled === false` vagy hianyzik a config → no-op.
69
+ *
70
+ * Idempotens — masodszori hivas no-op (akkor is, ha kozben a config
71
+ * valtozott; a service uj install-jara teardownFor Testing() + install()).
72
+ */
73
+ install() {
74
+ if (this.installed) {
75
+ return;
76
+ }
77
+ const config = global_settings_const_1.DyNTS_global_settings.log_settings?.file_log;
78
+ if (!config || !config.enabled) {
79
+ return;
80
+ }
81
+ // Config feldolgozas + default-ok
82
+ this.activeLogDir = config.logDir ?? DEFAULT_LOG_DIR;
83
+ this.filenamePrefix = config.filenamePrefix ?? DEFAULT_FILENAME_PREFIX;
84
+ this.maxFileSizeBytes = (config.maxFileSizeMb ?? DEFAULT_MAX_FILE_SIZE_MB) * 1024 * 1024;
85
+ this.maxFiles = config.maxFiles ?? DEFAULT_MAX_FILES;
86
+ this.retentionDays = config.retentionDays ?? DEFAULT_RETENTION_DAYS;
87
+ this.stripAnsiEnabled = config.stripAnsi ?? DEFAULT_STRIP_ANSI;
88
+ const includeStdout = config.includeStdout ?? DEFAULT_INCLUDE_STDOUT;
89
+ const includeStderr = config.includeStderr ?? DEFAULT_INCLUDE_STDERR;
90
+ // Log dir letrehozasa silently
91
+ try {
92
+ if (!fs.existsSync(this.activeLogDir)) {
93
+ fs.mkdirSync(this.activeLogDir, { recursive: true });
94
+ }
95
+ }
96
+ catch {
97
+ // Ha a mkdir bukik (pl. permission denied), no-op — silent failure
98
+ return;
99
+ }
100
+ // Retention cleanup MIELOTT az uj session fajl letrejon (hogy a takaritas
101
+ // log uzenete ne keruljon a most induló fajlba)
102
+ this.cleanupOldLogs();
103
+ // Uj session fajl path + size init
104
+ this.currentLogPath = path.join(this.activeLogDir, this.buildSessionFilename());
105
+ this.currentLogSizeBytes = 0;
106
+ // Monkey-patch — az originalokat elmentjük (teardown miatt)
107
+ if (includeStdout) {
108
+ this.originalStdoutWrite = process.stdout.write.bind(process.stdout);
109
+ const self = this;
110
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
+ process.stdout.write = function patchedStdoutWrite(...args) {
112
+ self.teeWrite(args[0]);
113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
+ return self.originalStdoutWrite(...args);
115
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
+ };
117
+ }
118
+ if (includeStderr) {
119
+ this.originalStderrWrite = process.stderr.write.bind(process.stderr);
120
+ const self = this;
121
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
122
+ process.stderr.write = function patchedStderrWrite(...args) {
123
+ self.teeWrite(args[0]);
124
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
125
+ return self.originalStderrWrite(...args);
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ };
128
+ }
129
+ this.installed = true;
130
+ // Session header — kulcs info egy helyen a fajl tetejen
131
+ this.teeWrite(`===== DyNTS server log session started at ${new Date().toISOString()} =====\n` +
132
+ `===== PID: ${process.pid}, Node: ${process.version} =====\n` +
133
+ `===== Retention: ${this.retentionDays} days, max files: ${this.maxFiles}, max size: ${config.maxFileSizeMb ?? DEFAULT_MAX_FILE_SIZE_MB}MB =====\n\n`);
134
+ }
135
+ /**
136
+ * Visszaadja az aktualis log fajl abszolut path-jat (csak akkor letezo,
137
+ * ha az install() sikeresen lefutott; egyebkent ures string).
138
+ */
139
+ getCurrentLogPath() {
140
+ return this.currentLogPath;
141
+ }
142
+ /**
143
+ * Az aktualis aktiv log fajl basename-je (NEM teljes path). Csak akkor
144
+ * nem-ures, ha az install() sikeresen lefutott.
145
+ */
146
+ getCurrentLogFilename() {
147
+ if (!this.currentLogPath) {
148
+ return '';
149
+ }
150
+ return path.basename(this.currentLogPath);
151
+ }
152
+ /**
153
+ * Aktiv log dir abszolut path-ja. Csak akkor nem-ures, ha az install()
154
+ * sikeresen lefutott.
155
+ */
156
+ getActiveLogDir() {
157
+ return this.activeLogDir;
158
+ }
159
+ /**
160
+ * Aktiv filename prefix (a service config-jabol). Hasznalja a controller
161
+ * a request-fajlnev whitelist regex epitesehez.
162
+ */
163
+ getFilenamePrefix() {
164
+ return this.filenamePrefix;
165
+ }
166
+ /**
167
+ * Osszes log fajl listazasa az aktiv log dir-bol. Csak a service prefix-evel
168
+ * matchelo fajlokat veszi (`{prefix}*.log`).
169
+ *
170
+ * Rendezes: mtime DESC (legujabb elol). Hibakat csendben elnyel — ha a dir
171
+ * nem letezik vagy nem olvashato, ures array-t ad vissza.
172
+ */
173
+ listLogFiles() {
174
+ if (!this.activeLogDir || !this.installed) {
175
+ return [];
176
+ }
177
+ const currentBasename = this.getCurrentLogFilename();
178
+ const entries = [];
179
+ try {
180
+ const dirContents = fs.readdirSync(this.activeLogDir);
181
+ for (const name of dirContents) {
182
+ if (!name.startsWith(this.filenamePrefix) || !name.endsWith(DEFAULT_FILENAME_SUFFIX)) {
183
+ continue;
184
+ }
185
+ const fullPath = path.join(this.activeLogDir, name);
186
+ try {
187
+ const stats = fs.statSync(fullPath);
188
+ if (!stats.isFile()) {
189
+ continue;
190
+ }
191
+ entries.push({
192
+ name: name,
193
+ sizeBytes: stats.size,
194
+ mtimeMs: stats.mtimeMs,
195
+ isCurrent: name === currentBasename,
196
+ });
197
+ }
198
+ catch {
199
+ // egy fajlonkenti hiba ne szakitsa meg a listat
200
+ }
201
+ }
202
+ }
203
+ catch {
204
+ // dir read hiba → ures listat adunk vissza
205
+ return [];
206
+ }
207
+ // Legujabb elol
208
+ entries.sort((a, b) => b.mtimeMs - a.mtimeMs);
209
+ return entries;
210
+ }
211
+ /**
212
+ * Egy konkret log fajl olvasasa, line-based mode-ban (tail / head / range).
213
+ *
214
+ * **Biztonsagi safeguards:**
215
+ * - Filename whitelist: `{prefix}*.log` mintara matchelo nev kotelezo
216
+ * - Path resolution `path.resolve(activeLogDir, name)` + `startsWith(activeLogDir)` (path traversal vedelem)
217
+ * - Sor szam cap: `MAX_READ_LINES` (10000)
218
+ *
219
+ * **Hibak:**
220
+ * - Throw `Error('not installed')` ha a service nincs install-olva
221
+ * - Throw `Error('invalid filename')` ha a name nem matchel a whitelist-re VAGY kilep az activeLogDir-bol
222
+ * - Throw `Error('file not found')` ha a fajl nem letezik
223
+ *
224
+ * A hivot kell vigyaznia hogy ezeket HTTP status code-okra forditja.
225
+ */
226
+ readLogFile(name, options = {}) {
227
+ if (!this.installed || !this.activeLogDir) {
228
+ throw new Error('FileLog service not installed');
229
+ }
230
+ // Whitelist regex: csak a service prefix-evel matchelo fajlnev
231
+ if (!this.isValidFilename(name)) {
232
+ throw new Error('invalid filename');
233
+ }
234
+ // Path resolve + traversal check
235
+ const resolvedPath = path.resolve(this.activeLogDir, name);
236
+ const resolvedDir = path.resolve(this.activeLogDir);
237
+ // path.sep + sufix ellenőrzéssel megelőzzük a hasonló prefixű dir átverést
238
+ // (pl. '/logs' vs '/logs-other'); a resolvedPath az activeLogDir-en BELUL
239
+ // kell legyen.
240
+ if (!resolvedPath.startsWith(resolvedDir + path.sep) && resolvedPath !== resolvedDir) {
241
+ throw new Error('invalid filename');
242
+ }
243
+ if (!fs.existsSync(resolvedPath)) {
244
+ throw new Error('file not found');
245
+ }
246
+ const stats = fs.statSync(resolvedPath);
247
+ if (!stats.isFile()) {
248
+ throw new Error('file not found');
249
+ }
250
+ // Olvass + split soroka. UTF-8 encoding alapertelmezett. Nagy fajloknal a
251
+ // teljes betoltes nem ideal, de a 10000-soros cap es a Stream-based
252
+ // optimization egy kesobbi iteracio lehet ha kell.
253
+ const fullContent = fs.readFileSync(resolvedPath, 'utf-8');
254
+ // Split a sorvegekre — utolso ures stringet kivagjuk ha a fajl
255
+ // sorvégzodessel zarult (regenerált sor szám hibakerulest celozzuk meg)
256
+ const allLines = fullContent.split(/\r?\n/);
257
+ if (allLines.length > 0 && allLines[allLines.length - 1] === '') {
258
+ allLines.pop();
259
+ }
260
+ const totalLines = allLines.length;
261
+ // Mod meghatarozasa: range > head > tail
262
+ let mode;
263
+ let startIdx;
264
+ let endIdx; // exclusive
265
+ if (options.rangeStart !== undefined && options.rangeEnd !== undefined) {
266
+ mode = 'range';
267
+ const start1 = Math.max(1, Math.floor(options.rangeStart));
268
+ const end1 = Math.max(start1, Math.floor(options.rangeEnd));
269
+ startIdx = Math.max(0, Math.min(totalLines, start1 - 1));
270
+ endIdx = Math.max(startIdx, Math.min(totalLines, end1));
271
+ // Cap
272
+ if (endIdx - startIdx > MAX_READ_LINES) {
273
+ endIdx = startIdx + MAX_READ_LINES;
274
+ }
275
+ }
276
+ else if (options.head !== undefined) {
277
+ mode = 'head';
278
+ const headN = Math.min(Math.max(1, Math.floor(options.head)), MAX_READ_LINES);
279
+ startIdx = 0;
280
+ endIdx = Math.min(totalLines, headN);
281
+ }
282
+ else {
283
+ mode = 'tail';
284
+ const tailN = Math.min(Math.max(1, Math.floor(options.tail ?? DEFAULT_READ_TAIL)), MAX_READ_LINES);
285
+ startIdx = Math.max(0, totalLines - tailN);
286
+ endIdx = totalLines;
287
+ }
288
+ const lines = allLines.slice(startIdx, endIdx);
289
+ return {
290
+ name: path.basename(resolvedPath),
291
+ sizeBytes: stats.size,
292
+ totalLines: totalLines,
293
+ lines: lines,
294
+ mode: mode,
295
+ rangeStart: startIdx + 1, // 1-based, inclusive
296
+ rangeEnd: Math.max(startIdx, endIdx), // 1-based, inclusive ha lines van; egyebkent 0-szeru
297
+ };
298
+ }
299
+ /**
300
+ * Filename whitelist ellenorzes. Csak a service prefix-evel matchelo,
301
+ * biztonsagos karakterkeszletu fajlnev megengedett.
302
+ */
303
+ isValidFilename(name) {
304
+ if (typeof name !== 'string' || name.length === 0 || name.length > 256) {
305
+ return false;
306
+ }
307
+ // Path-szeparatorokat kifejezetten tiltjuk (mar a regex is, de gyors check)
308
+ if (name.includes('/') || name.includes('\\') || name.includes('..')) {
309
+ return false;
310
+ }
311
+ // `{prefix}[\w\-.]+\.log` — szigoru ASCII set
312
+ const escapedPrefix = this.filenamePrefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
313
+ const regex = new RegExp(`^${escapedPrefix}[\\w\\-.]+\\.log$`);
314
+ return regex.test(name);
315
+ }
316
+ /**
317
+ * Telepitve van-e (csak akkor true, ha az enabled === true es a setup nem bukott).
318
+ */
319
+ isInstalled() {
320
+ return this.installed;
321
+ }
322
+ /**
323
+ * Test-only: visszallitja az eredeti stdout/stderr.write-okat, hogy a
324
+ * specfajlok egymas utan tisztán futhassanak. Production code NE hivja.
325
+ */
326
+ _teardownForTesting() {
327
+ if (this.originalStdoutWrite) {
328
+ process.stdout.write = this.originalStdoutWrite;
329
+ this.originalStdoutWrite = null;
330
+ }
331
+ if (this.originalStderrWrite) {
332
+ process.stderr.write = this.originalStderrWrite;
333
+ this.originalStderrWrite = null;
334
+ }
335
+ this.installed = false;
336
+ this.activeLogDir = '';
337
+ this.currentLogPath = '';
338
+ this.currentLogSizeBytes = 0;
339
+ }
340
+ /**
341
+ * Session fajl nev: `{prefix}YYYY-MM-DD_HH-MM-SS_RANDOM.log`. Az RANDOM
342
+ * suffix biztositja a unique nevet ha ugyanazon a masodpercen tobb fajl jon letre
343
+ * (pl. rotation kozvetlenul install utan, vagy specfajlok gyors egymas utan).
344
+ */
345
+ buildSessionFilename() {
346
+ const now = new Date();
347
+ const year = String(now.getFullYear());
348
+ const month = String(now.getMonth() + 1).padStart(2, '0');
349
+ const day = String(now.getDate()).padStart(2, '0');
350
+ const hour = String(now.getHours()).padStart(2, '0');
351
+ const minute = String(now.getMinutes()).padStart(2, '0');
352
+ const second = String(now.getSeconds()).padStart(2, '0');
353
+ const rand = Math.floor(Math.random() * 100000).toString(36);
354
+ return `${this.filenamePrefix}${year}-${month}-${day}_${hour}-${minute}-${second}_${rand}${DEFAULT_FILENAME_SUFFIX}`;
355
+ }
356
+ /**
357
+ * Egyetlen stdout/stderr iras tee-zese az aktualis log fajlba.
358
+ * Hibakat csendben elnyeli — a file logger SOHASEM blokkolja a szervert.
359
+ * Size-trackeli az aktualis fajlt es szukseg szerint rotalja.
360
+ */
361
+ teeWrite(data) {
362
+ try {
363
+ if (!this.currentLogPath) {
364
+ return;
365
+ }
366
+ const asString = typeof data === 'string'
367
+ ? data
368
+ : Buffer.from(data).toString('utf-8');
369
+ const cleaned = this.stripAnsiEnabled ? asString.replace(ANSI_ESCAPE_REGEX, '') : asString;
370
+ const writeBytes = Buffer.byteLength(cleaned, 'utf-8');
371
+ fs.appendFileSync(this.currentLogPath, cleaned, 'utf-8');
372
+ this.currentLogSizeBytes += writeBytes;
373
+ // Rotation trigger
374
+ if (this.currentLogSizeBytes >= this.maxFileSizeBytes) {
375
+ this.rotate();
376
+ }
377
+ }
378
+ catch {
379
+ // szandekosan elnyelve — silent failure
380
+ }
381
+ }
382
+ /**
383
+ * Uj session fajl letrehozasa (az aktualis lezarodik). Retention cleanup-ot is
384
+ * vegrehajt, hogy a rotation termeszetesen tisztan tarttsa a log dir-t.
385
+ */
386
+ rotate() {
387
+ try {
388
+ this.cleanupOldLogs();
389
+ this.currentLogPath = path.join(this.activeLogDir, this.buildSessionFilename());
390
+ this.currentLogSizeBytes = 0;
391
+ }
392
+ catch {
393
+ // szandekosan elnyelve
394
+ }
395
+ }
396
+ /**
397
+ * Retention takaritas: ket szabaly ami ami elobb teljesul:
398
+ * 1) maxFiles — ha tobb mint N log fajl van, a legregebbieket torli
399
+ * 2) retentionDays — `retentionDays`-nel idosebb fajlokat torli
400
+ *
401
+ * Hibakat csendben elnyel. A torolt fajlokat es az okot NEM logoljuk, hogy
402
+ * ne kerüljön extra szennyezes a most induló session fajlba.
403
+ */
404
+ cleanupOldLogs() {
405
+ try {
406
+ if (!fs.existsSync(this.activeLogDir)) {
407
+ return;
408
+ }
409
+ const cutoffMs = Date.now() - this.retentionDays * 24 * 60 * 60 * 1000;
410
+ const entries = fs.readdirSync(this.activeLogDir);
411
+ const matchingFiles = [];
412
+ for (const entry of entries) {
413
+ if (!entry.startsWith(this.filenamePrefix) || !entry.endsWith(DEFAULT_FILENAME_SUFFIX)) {
414
+ continue;
415
+ }
416
+ const fullPath = path.join(this.activeLogDir, entry);
417
+ try {
418
+ const stats = fs.statSync(fullPath);
419
+ matchingFiles.push({ fullPath: fullPath, mtimeMs: stats.mtimeMs });
420
+ }
421
+ catch {
422
+ // fajlonkent elnyelve
423
+ }
424
+ }
425
+ // Sort: legujabb elol -> legregebbi hatul (csokkeno mtime)
426
+ matchingFiles.sort((a, b) => b.mtimeMs - a.mtimeMs);
427
+ for (let i = 0; i < matchingFiles.length; i++) {
428
+ const file = matchingFiles[i];
429
+ const tooOldByAge = file.mtimeMs < cutoffMs;
430
+ const tooManyByCount = i >= this.maxFiles;
431
+ if (tooOldByAge || tooManyByCount) {
432
+ try {
433
+ fs.unlinkSync(file.fullPath);
434
+ }
435
+ catch { /* fajlonkent elnyelve */ }
436
+ }
437
+ }
438
+ }
439
+ catch {
440
+ // szandekosan elnyelve
441
+ }
442
+ }
443
+ }
444
+ exports.DyNTS_FileLog_Service = DyNTS_FileLog_Service;
445
445
  //# sourceMappingURL=file-log.service.js.map