@futdevpro/nts-dynamo 1.15.157 → 1.15.163

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 (642) hide show
  1. package/LICENSE +17 -17
  2. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +7 -1
  3. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts.map +1 -1
  4. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +6 -0
  5. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js.map +1 -1
  6. package/build/_modules/account-security/account-challenge.control-service.d.ts +1 -1
  7. package/build/_modules/account-security/account-challenge.control-service.d.ts.map +1 -1
  8. package/build/_modules/account-security/account-challenge.control-service.js +1 -1
  9. package/build/_modules/account-security/account-challenge.control-service.js.map +1 -1
  10. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts +71 -0
  11. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts.map +1 -0
  12. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js +3 -0
  13. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js.map +1 -0
  14. package/build/_modules/privacy-lifecycle/index.d.ts +3 -0
  15. package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -1
  16. package/build/_modules/privacy-lifecycle/index.js +5 -1
  17. package/build/_modules/privacy-lifecycle/index.js.map +1 -1
  18. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts +48 -0
  19. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts.map +1 -0
  20. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js +332 -0
  21. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js.map +1 -0
  22. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts +25 -0
  23. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts.map +1 -0
  24. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js +126 -0
  25. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js.map +1 -0
  26. package/package.json +11 -4
  27. package/.c8rc.json +0 -26
  28. package/.copilot/patterns.json +0 -8
  29. package/.cursor/rules/__assistant_guide.mdc +0 -30
  30. package/.cursor/rules/__main.mdc +0 -64
  31. package/.cursor/rules/_ag_backend-structure.mdc +0 -86
  32. package/.cursor/rules/_ag_backend.mdc +0 -16
  33. package/.cursor/rules/_ag_debug.mdc +0 -8
  34. package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
  35. package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
  36. package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
  37. package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
  38. package/.cursor/rules/_ag_frontend.mdc +0 -40
  39. package/.cursor/rules/_ag_import-rules.mdc +0 -45
  40. package/.cursor/rules/_ag_naming.mdc +0 -116
  41. package/.cursor/rules/_ag_running_commands.mdc +0 -5
  42. package/.cursor/rules/_ag_server-controller.mdc +0 -6
  43. package/.cursor/rules/_ag_should-be.mdc +0 -7
  44. package/.cursor/rules/_ag_swearing.mdc +0 -47
  45. package/.cursor/rules/ai_development_guide.md +0 -61
  46. package/.cursor/rules/ai_directives.md +0 -114
  47. package/.cursor/rules/cursor-rules.md +0 -160
  48. package/.cursor/rules/default-command.mdc +0 -465
  49. package/.cursor/rules/error_code_pattern.md +0 -40
  50. package/.cursor/rules/saved rule mcp server use.md +0 -16
  51. package/.dynamo/pipeline.cicd.config.json +0 -190
  52. package/.dynamo/version-bump.config.json +0 -5
  53. package/.github/workflows/main.yml +0 -438
  54. package/.husky/pre-commit +0 -3
  55. package/.vscode/settings.json +0 -11
  56. package/BuildPackage.bat +0 -1
  57. package/HOWTO.md +0 -15
  58. package/__documentations/2026-04-28-logs-module.md +0 -49
  59. package/__documentations/2026-05-17-oai-compatible-providers.md +0 -229
  60. package/__documentations/2026-05-17-static-client-serving-howto.md +0 -144
  61. package/__documentations/2026-06-01-fr041-cors-middleware.md +0 -96
  62. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +0 -81
  63. package/__documentations/2026-06-15-fr193-memory-guard.md +0 -73
  64. package/__documentations/2026-08-08-fr292-app-version-header.md +0 -38
  65. package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +0 -124
  66. package/__documentations/2026-08-18-artifact-compiler.md +0 -46
  67. package/__documentations/2026-08-18-mongo-transaction-control-service.md +0 -82
  68. package/__documentations/2026-08-18-standalone-account-security-and-privacy-bedrock.md +0 -132
  69. package/__documentations/2026-08-21-distributed-rate-limit-bfr-ctm-010.md +0 -59
  70. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +0 -54
  71. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +0 -65
  72. package/__documentations/2026-08-22-content-free-process-error-boundary.md +0 -111
  73. package/__documentations/2026-08-22-npm-token-state-classifier.md +0 -92
  74. package/__documentations/nts-integration-tests-2026-03-17.md +0 -26
  75. package/__documentations/plans/BEDROCK-HYPERPLAN.md +0 -95
  76. package/_specifications/BACKLOG.md +0 -92
  77. package/_specifications/TODO.md +0 -15
  78. package/_specifications/agent.md +0 -138
  79. package/eslint.config.js +0 -3
  80. package/nodemon.json +0 -24
  81. package/pnpm-workspace.yaml +0 -6
  82. package/scripts/_seed-out/aim-seed.fixtures.ts +0 -161
  83. package/scripts/_seed-out/image-raw.json +0 -1
  84. package/scripts/_seed-out/llm-expand-raw.json +0 -60
  85. package/scripts/_seed-out/sample-image.png +0 -0
  86. package/scripts/_seed-out/seed-raw.json +0 -153
  87. package/scripts/ai-fixture-seed.js +0 -126
  88. package/scripts/run-coverage-tests.js +0 -28
  89. package/spec/support/helpers/spec-reporter-loader.js +0 -359
  90. package/spec/support/helpers/ts-node-helper.js +0 -93
  91. package/spec/support/jasmine.coverage.json +0 -24
  92. package/spec/support/jasmine.json +0 -24
  93. package/src/_assets/dynamo-nts-logo-128.png +0 -0
  94. package/src/_assets/dynamo-nts-logo-256.png +0 -0
  95. package/src/_assets/dynamo-nts-logo-512.png +0 -0
  96. package/src/_assets/dynamo-nts-logo-64.png +0 -0
  97. package/src/_collections/app-version-header.util.spec.ts +0 -108
  98. package/src/_collections/app-version-header.util.ts +0 -74
  99. package/src/_collections/archive-service-registry.const.ts +0 -21
  100. package/src/_collections/archive.util.spec.ts +0 -57
  101. package/src/_collections/archive.util.ts +0 -18
  102. package/src/_collections/atlas-default-db-options.const.ts +0 -10
  103. package/src/_collections/client-safe-error.util.spec.ts +0 -151
  104. package/src/_collections/client-safe-error.util.ts +0 -107
  105. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +0 -11
  106. package/src/_collections/default-fallback-cache-max-age.const.ts +0 -2
  107. package/src/_collections/default-not-found-page.const.spec.ts +0 -19
  108. package/src/_collections/default-not-found-page.const.ts +0 -22
  109. package/src/_collections/default-socket-path.const.spec.ts +0 -12
  110. package/src/_collections/default-socket-path.const.ts +0 -2
  111. package/src/_collections/field-encryption.util.spec.ts +0 -195
  112. package/src/_collections/field-encryption.util.ts +0 -222
  113. package/src/_collections/get-environment-settings.util.spec.ts +0 -210
  114. package/src/_collections/get-environment-settings.util.ts +0 -49
  115. package/src/_collections/global-settings.const.ts +0 -126
  116. package/src/_collections/load-shed.util.spec.ts +0 -62
  117. package/src/_collections/load-shed.util.ts +0 -51
  118. package/src/_collections/mongo-reconnect-guard.util.spec.ts +0 -52
  119. package/src/_collections/mongo-reconnect-guard.util.ts +0 -172
  120. package/src/_collections/npm-token-check.util.spec.ts +0 -218
  121. package/src/_collections/npm-token-check.util.ts +0 -327
  122. package/src/_collections/sample.env +0 -21
  123. package/src/_collections/security-headers.util.spec.ts +0 -98
  124. package/src/_collections/security-headers.util.ts +0 -96
  125. package/src/_collections/signed-url.util.spec.ts +0 -198
  126. package/src/_collections/signed-url.util.ts +0 -170
  127. package/src/_collections/star.controller.spec.ts +0 -224
  128. package/src/_collections/star.controller.ts +0 -130
  129. package/src/_collections/static-cache-control.util.spec.ts +0 -47
  130. package/src/_collections/static-cache-control.util.ts +0 -25
  131. package/src/_enums/data-model-type.enum.ts +0 -14
  132. package/src/_enums/data-service-function.enum.ts +0 -24
  133. package/src/_enums/predefined-data-types.enum.ts +0 -17
  134. package/src/_enums/route-security.enum.ts +0 -12
  135. package/src/_models/control-models/api-call-params.control-model.spec.ts +0 -152
  136. package/src/_models/control-models/api-call-params.control-model.ts +0 -142
  137. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +0 -52
  138. package/src/_models/control-models/app-ext-system-controls.control-model.ts +0 -9
  139. package/src/_models/control-models/app-params.control-model.spec.ts +0 -229
  140. package/src/_models/control-models/app-params.control-model.ts +0 -137
  141. package/src/_models/control-models/app-system-controls.control-model.spec.ts +0 -31
  142. package/src/_models/control-models/app-system-controls.control-model.ts +0 -9
  143. package/src/_models/control-models/endpoint-params.control-model.spec.ts +0 -754
  144. package/src/_models/control-models/endpoint-params.control-model.ts +0 -575
  145. package/src/_models/control-models/http-settings.control-model.spec.ts +0 -77
  146. package/src/_models/control-models/http-settings.control-model.ts +0 -37
  147. package/src/_models/control-models/system-control.control-model.spec.ts +0 -27
  148. package/src/_models/control-models/system-control.control-model.ts +0 -12
  149. package/src/_models/data-models/schema-migration.data-model.ts +0 -50
  150. package/src/_models/interfaces/app-version-header-settings.interface.ts +0 -17
  151. package/src/_models/interfaces/certification-settings.interface.ts +0 -7
  152. package/src/_models/interfaces/compare-data-options.interface.ts +0 -27
  153. package/src/_models/interfaces/compare-data-result.interface.ts +0 -12
  154. package/src/_models/interfaces/cors-settings.interface.spec.ts +0 -52
  155. package/src/_models/interfaces/cors-settings.interface.ts +0 -56
  156. package/src/_models/interfaces/db-query-options.interface.ts +0 -33
  157. package/src/_models/interfaces/environment-settings.interface.ts +0 -59
  158. package/src/_models/interfaces/global-log-settings.interface.ts +0 -171
  159. package/src/_models/interfaces/global-service-settings.interface.ts +0 -47
  160. package/src/_models/interfaces/global-settings.interface.ts +0 -294
  161. package/src/_models/interfaces/migration-entry.interface.ts +0 -19
  162. package/src/_models/interfaces/mongo-transaction-settings.interface.ts +0 -9
  163. package/src/_models/interfaces/request-telemetry-settings.interface.ts +0 -9
  164. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +0 -30
  165. package/src/_models/interfaces/routing-module-settings.interface.ts +0 -21
  166. package/src/_models/interfaces/security-headers-settings.interface.ts +0 -50
  167. package/src/_models/interfaces/signed-url-verify-result.interface.ts +0 -13
  168. package/src/_models/interfaces/static-client-settings.interface.spec.ts +0 -29
  169. package/src/_models/interfaces/static-client-settings.interface.ts +0 -36
  170. package/src/_models/types/db-update.type.ts +0 -100
  171. package/src/_modules/account-security/_enums/account-challenge-purpose.type-enum.ts +0 -5
  172. package/src/_modules/account-security/_enums/account-refresh-token-state.type-enum.ts +0 -6
  173. package/src/_modules/account-security/_enums/account-session-state.type-enum.ts +0 -6
  174. package/src/_modules/account-security/_models/account-challenge-adapter.interface.ts +0 -17
  175. package/src/_modules/account-security/_models/account-challenge-issued.interface.ts +0 -6
  176. package/src/_modules/account-security/_models/account-challenge-record.interface.ts +0 -13
  177. package/src/_modules/account-security/_models/account-challenge-result.interface.ts +0 -8
  178. package/src/_modules/account-security/_models/account-challenge-settings.interface.ts +0 -9
  179. package/src/_modules/account-security/_models/account-password-policy.interface.ts +0 -11
  180. package/src/_modules/account-security/_models/account-password-verification.interface.ts +0 -5
  181. package/src/_modules/account-security/_models/account-refresh-token-record.interface.ts +0 -13
  182. package/src/_modules/account-security/_models/account-session-adapter.interface.ts +0 -19
  183. package/src/_modules/account-security/_models/account-session-claims.interface.ts +0 -7
  184. package/src/_modules/account-security/_models/account-session-context.interface.ts +0 -6
  185. package/src/_modules/account-security/_models/account-session-create.interface.ts +0 -8
  186. package/src/_modules/account-security/_models/account-session-record.interface.ts +0 -21
  187. package/src/_modules/account-security/_models/account-session-rotate.interface.ts +0 -11
  188. package/src/_modules/account-security/_models/account-session-settings.interface.ts +0 -11
  189. package/src/_modules/account-security/_models/account-session-token-pair.interface.ts +0 -8
  190. package/src/_modules/account-security/_models/account-session-view.interface.ts +0 -13
  191. package/src/_modules/account-security/account-challenge.control-service.spec.ts +0 -195
  192. package/src/_modules/account-security/account-challenge.control-service.ts +0 -164
  193. package/src/_modules/account-security/account-password.control-service.spec.ts +0 -96
  194. package/src/_modules/account-security/account-password.control-service.ts +0 -288
  195. package/src/_modules/account-security/account-session.control-service.spec.ts +0 -294
  196. package/src/_modules/account-security/account-session.control-service.ts +0 -376
  197. package/src/_modules/account-security/index.ts +0 -31
  198. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +0 -33
  199. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +0 -200
  200. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +0 -220
  201. package/src/_modules/admin-auth/index.ts +0 -2
  202. package/src/_modules/ai/_collections/ai-model-config-validator.util.spec.ts +0 -150
  203. package/src/_modules/ai/_collections/ai-model-config-validator.util.ts +0 -131
  204. package/src/_modules/ai/_collections/ai-provider-error.util.ts +0 -144
  205. package/src/_modules/ai/_models/ai-input-interfaces.ts +0 -117
  206. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +0 -16
  207. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +0 -14
  208. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +0 -56
  209. package/src/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.ts +0 -16
  210. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.ts +0 -72
  211. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.ts +0 -71
  212. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.ts +0 -57
  213. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.ts +0 -60
  214. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.ts +0 -56
  215. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.ts +0 -117
  216. package/src/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.ts +0 -28
  217. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.ts +0 -14
  218. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.ts +0 -11
  219. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.ts +0 -30
  220. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.ts +0 -19
  221. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.ts +0 -20
  222. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.ts +0 -115
  223. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +0 -233
  224. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.ts +0 -134
  225. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.ts +0 -127
  226. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.ts +0 -105
  227. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.ts +0 -50
  228. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.ts +0 -65
  229. package/src/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.ts +0 -92
  230. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.ts +0 -112
  231. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.ts +0 -155
  232. package/src/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.ts +0 -649
  233. package/src/_modules/ai/_modules/ai-mock/index.ts +0 -47
  234. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +0 -138
  235. package/src/_modules/ai/_modules/anthropic/index.ts +0 -5
  236. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +0 -242
  237. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +0 -639
  238. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +0 -295
  239. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +0 -552
  240. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +0 -209
  241. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +0 -85
  242. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +0 -8
  243. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +0 -146
  244. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +0 -163
  245. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +0 -100
  246. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +0 -68
  247. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +0 -18
  248. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +0 -19
  249. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +0 -25
  250. package/src/_modules/ai/_modules/document-ai/index.ts +0 -30
  251. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +0 -189
  252. package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -5
  253. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +0 -9
  254. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +0 -83
  255. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +0 -76
  256. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +0 -45
  257. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +0 -8
  258. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +0 -7
  259. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +0 -57
  260. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +0 -293
  261. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +0 -572
  262. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +0 -342
  263. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +0 -435
  264. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +0 -550
  265. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +0 -631
  266. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +0 -332
  267. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +0 -132
  268. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +0 -462
  269. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +0 -635
  270. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +0 -489
  271. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +0 -173
  272. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +0 -1085
  273. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +0 -157
  274. package/src/_modules/ai/_modules/open-ai/index.ts +0 -74
  275. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +0 -110
  276. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +0 -114
  277. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +0 -98
  278. package/src/_modules/ai/_services/ai-embedding.service-base.ts +0 -48
  279. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +0 -229
  280. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +0 -68
  281. package/src/_modules/ai/_services/ai-llm.service-base.reconciler.spec.ts +0 -133
  282. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +0 -250
  283. package/src/_modules/ai/_services/ai-llm.service-base.ts +0 -599
  284. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +0 -158
  285. package/src/_modules/ai/_services/ai-provider.service-base.ts +0 -67
  286. package/src/_modules/ai/_services/ai-user-key.service-base.ts +0 -59
  287. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +0 -197
  288. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +0 -399
  289. package/src/_modules/ai/index.ts +0 -33
  290. package/src/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.ts +0 -5
  291. package/src/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.ts +0 -8
  292. package/src/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.ts +0 -6
  293. package/src/_modules/artifact-compiler/_models/artifact-compile.interface.ts +0 -35
  294. package/src/_modules/artifact-compiler/artifact-compiler.control-service.spec.ts +0 -151
  295. package/src/_modules/artifact-compiler/artifact-compiler.control-service.ts +0 -356
  296. package/src/_modules/artifact-compiler/index.ts +0 -9
  297. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +0 -13
  298. package/src/_modules/assistant/_collections/ass.util.spec.ts +0 -176
  299. package/src/_modules/assistant/_collections/ass.util.ts +0 -50
  300. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +0 -15
  301. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +0 -140
  302. package/src/_modules/assistant/_services/ass-io.control-service.ts +0 -74
  303. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +0 -192
  304. package/src/_modules/assistant/_services/ass-main.control-service.ts +0 -107
  305. package/src/_modules/assistant/index.ts +0 -19
  306. package/src/_modules/bot/_collections/bot-default-commands.const.ts +0 -12
  307. package/src/_modules/bot/_collections/bot-global-settings.const.ts +0 -39
  308. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +0 -62
  309. package/src/_modules/bot/_models/bot-command.interface.ts +0 -8
  310. package/src/_modules/bot/_models/bot-global-settings.interface.ts +0 -96
  311. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +0 -6
  312. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +0 -5
  313. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +0 -90
  314. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +0 -41
  315. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +0 -10
  316. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +0 -431
  317. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +0 -641
  318. package/src/_modules/bot/_modules/discord-bot/index.ts +0 -12
  319. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +0 -160
  320. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +0 -55
  321. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +0 -15
  322. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +0 -374
  323. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +0 -447
  324. package/src/_modules/bot/_modules/dynamo-bot/index.ts +0 -15
  325. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +0 -9
  326. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +0 -344
  327. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +0 -197
  328. package/src/_modules/bot/_modules/slack-bot/index.ts +0 -12
  329. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +0 -9
  330. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +0 -345
  331. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +0 -197
  332. package/src/_modules/bot/_modules/teams-bot/index.ts +0 -11
  333. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +0 -116
  334. package/src/_modules/bot/_services/bot-commands.control-service.ts +0 -158
  335. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +0 -285
  336. package/src/_modules/bot/_services/bot-io.control-service.ts +0 -329
  337. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +0 -208
  338. package/src/_modules/bot/_services/bot-main.control-service.ts +0 -489
  339. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +0 -349
  340. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +0 -158
  341. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +0 -111
  342. package/src/_modules/bot/_services/bot-routines.control-service.ts +0 -78
  343. package/src/_modules/bot/index.ts +0 -37
  344. package/src/_modules/custom-data/custom-data.controller.spec.ts +0 -49
  345. package/src/_modules/custom-data/custom-data.controller.ts +0 -67
  346. package/src/_modules/custom-data/custom-data.data-service.spec.ts +0 -54
  347. package/src/_modules/custom-data/custom-data.data-service.ts +0 -22
  348. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +0 -28
  349. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +0 -24
  350. package/src/_modules/custom-data/index.ts +0 -9
  351. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +0 -176
  352. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +0 -203
  353. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +0 -33
  354. package/src/_modules/data-readers/index.ts +0 -11
  355. package/src/_modules/defaults/_collections/default-endpoints.util.ts +0 -487
  356. package/src/_modules/defaults/_models/default-user.data-model.ts +0 -72
  357. package/src/_modules/defaults/_services/default-auth.service.spec.ts +0 -269
  358. package/src/_modules/defaults/_services/default-auth.service.ts +0 -177
  359. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +0 -42
  360. package/src/_modules/defaults/_services/default-socket-events.service.ts +0 -61
  361. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +0 -187
  362. package/src/_modules/defaults/_services/default-user.data-service.ts +0 -98
  363. package/src/_modules/defaults/index.ts +0 -17
  364. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +0 -19
  365. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +0 -366
  366. package/src/_modules/discord-assistant/_collections/dias.util.ts +0 -133
  367. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +0 -20
  368. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +0 -53
  369. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +0 -177
  370. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +0 -108
  371. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +0 -69
  372. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +0 -22
  373. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +0 -27
  374. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +0 -195
  375. package/src/_modules/discord-assistant/_services/dias.service-base.ts +0 -77
  376. package/src/_modules/discord-assistant/index.ts +0 -38
  377. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +0 -34
  378. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +0 -11
  379. package/src/_modules/discord-assistant-voiced/index.ts +0 -36
  380. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +0 -17
  381. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +0 -56
  382. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +0 -214
  383. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +0 -387
  384. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +0 -12
  385. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +0 -98
  386. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +0 -8
  387. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +0 -6
  388. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +0 -154
  389. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +0 -153
  390. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +0 -264
  391. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +0 -306
  392. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +0 -408
  393. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +0 -488
  394. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +0 -105
  395. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +0 -97
  396. package/src/_modules/discord-bot/index.ts +0 -36
  397. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +0 -35
  398. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +0 -60
  399. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +0 -17
  400. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +0 -159
  401. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +0 -206
  402. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +0 -418
  403. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +0 -276
  404. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +0 -480
  405. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +0 -416
  406. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +0 -214
  407. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +0 -186
  408. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +0 -167
  409. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +0 -130
  410. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +0 -509
  411. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +0 -323
  412. package/src/_modules/local-vector-search/index.ts +0 -17
  413. package/src/_modules/logs/_models/file-log-entry.interface.ts +0 -13
  414. package/src/_modules/logs/_models/file-log-read-result.interface.ts +0 -37
  415. package/src/_modules/logs/file-log.service.spec.ts +0 -341
  416. package/src/_modules/logs/file-log.service.ts +0 -466
  417. package/src/_modules/logs/file-logs.controller.spec.ts +0 -245
  418. package/src/_modules/logs/file-logs.controller.ts +0 -165
  419. package/src/_modules/logs/get-file-logs-routing-module.util.ts +0 -51
  420. package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
  421. package/src/_modules/logs/index.ts +0 -11
  422. package/src/_modules/logs/log-buffer.service.ts +0 -101
  423. package/src/_modules/logs/logs.controller.ts +0 -109
  424. package/src/_modules/logs/logs.service.ts +0 -100
  425. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +0 -111
  426. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +0 -151
  427. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +0 -125
  428. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +0 -168
  429. package/src/_modules/mcp/index.ts +0 -13
  430. package/src/_modules/messaging/README.md +0 -354
  431. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +0 -26
  432. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +0 -22
  433. package/src/_modules/messaging/_collections/msg.util.spec.ts +0 -226
  434. package/src/_modules/messaging/_collections/msg.util.ts +0 -83
  435. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +0 -37
  436. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +0 -146
  437. package/src/_modules/messaging/_services/msg-events.service.spec.ts +0 -219
  438. package/src/_modules/messaging/_services/msg-events.service.ts +0 -267
  439. package/src/_modules/messaging/_services/msg-integration.control-service.ts +0 -180
  440. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +0 -147
  441. package/src/_modules/messaging/_services/msg-main.control-service.ts +0 -572
  442. package/src/_modules/messaging/_services/msg-message.data-service.ts +0 -129
  443. package/src/_modules/messaging/_services/msg.controller.spec.ts +0 -201
  444. package/src/_modules/messaging/_services/msg.controller.ts +0 -370
  445. package/src/_modules/messaging/index.ts +0 -30
  446. package/src/_modules/mock/app-extended-server.mock.ts +0 -201
  447. package/src/_modules/mock/app-integration-test.mock.ts +0 -51
  448. package/src/_modules/mock/app-params.mock.spec.ts +0 -21
  449. package/src/_modules/mock/app-params.mock.ts +0 -9
  450. package/src/_modules/mock/app-server.mock.ts +0 -188
  451. package/src/_modules/mock/auth-service.mock.spec.ts +0 -47
  452. package/src/_modules/mock/auth-service.mock.ts +0 -28
  453. package/src/_modules/mock/controller.mock.spec.ts +0 -26
  454. package/src/_modules/mock/controller.mock.ts +0 -16
  455. package/src/_modules/mock/data-model.mock.spec.ts +0 -111
  456. package/src/_modules/mock/data-model.mock.ts +0 -82
  457. package/src/_modules/mock/email-service-collection.mock.spec.ts +0 -24
  458. package/src/_modules/mock/email-service-collection.mock.ts +0 -15
  459. package/src/_modules/mock/email-service.mock.spec.ts +0 -17
  460. package/src/_modules/mock/email-service.mock.ts +0 -20
  461. package/src/_modules/mock/email-template.mock.html +0 -15
  462. package/src/_modules/mock/endpoint.mock.ts +0 -91
  463. package/src/_modules/mock/socket-client.mock.spec.ts +0 -40
  464. package/src/_modules/mock/socket-client.mock.ts +0 -45
  465. package/src/_modules/mock/socket-server.mock.spec.ts +0 -44
  466. package/src/_modules/mock/socket-server.mock.ts +0 -46
  467. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +0 -107
  468. package/src/_modules/oauth2/_routes/oauth2.controller.ts +0 -99
  469. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +0 -254
  470. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +0 -232
  471. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +0 -585
  472. package/src/_modules/oauth2/_services/oauth2.control-service.ts +0 -654
  473. package/src/_modules/oauth2/index.ts +0 -17
  474. package/src/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.ts +0 -5
  475. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.ts +0 -10
  476. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.ts +0 -7
  477. package/src/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.ts +0 -15
  478. package/src/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.ts +0 -9
  479. package/src/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.ts +0 -12
  480. package/src/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.ts +0 -7
  481. package/src/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.ts +0 -15
  482. package/src/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.ts +0 -7
  483. package/src/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.ts +0 -13
  484. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.ts +0 -9
  485. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.ts +0 -14
  486. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.ts +0 -8
  487. package/src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts +0 -17
  488. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.ts +0 -21
  489. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.ts +0 -9
  490. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.ts +0 -7
  491. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.ts +0 -10
  492. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.ts +0 -7
  493. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.ts +0 -7
  494. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.ts +0 -11
  495. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.ts +0 -13
  496. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.ts +0 -19
  497. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.ts +0 -9
  498. package/src/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.ts +0 -7
  499. package/src/_modules/privacy-lifecycle/_models/privacy-request-open.interface.ts +0 -10
  500. package/src/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.ts +0 -7
  501. package/src/_modules/privacy-lifecycle/_models/privacy-request-record.interface.ts +0 -21
  502. package/src/_modules/privacy-lifecycle/_models/privacy-request-result.interface.ts +0 -8
  503. package/src/_modules/privacy-lifecycle/_models/privacy-request-view.interface.ts +0 -20
  504. package/src/_modules/privacy-lifecycle/index.ts +0 -40
  505. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.spec.ts +0 -206
  506. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts +0 -253
  507. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.spec.ts +0 -353
  508. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts +0 -586
  509. package/src/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.ts +0 -5
  510. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +0 -82
  511. package/src/_modules/rate-limit/_models/rate-limit-consume-request.interface.ts +0 -9
  512. package/src/_modules/rate-limit/_models/rate-limit-consume-result.interface.ts +0 -6
  513. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +0 -16
  514. package/src/_modules/rate-limit/_models/rate-limit-store.interface.ts +0 -9
  515. package/src/_modules/rate-limit/index.ts +0 -8
  516. package/src/_modules/rate-limit/rate-limit-in-memory.store.ts +0 -91
  517. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +0 -488
  518. package/src/_modules/rate-limit/rate-limit.middleware.ts +0 -504
  519. package/src/_modules/scheduler/_models/scheduler-job.interface.ts +0 -35
  520. package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +0 -33
  521. package/src/_modules/scheduler/index.ts +0 -8
  522. package/src/_modules/scheduler/scheduler.controller.spec.ts +0 -42
  523. package/src/_modules/scheduler/scheduler.controller.ts +0 -69
  524. package/src/_modules/scheduler/scheduler.service.spec.ts +0 -141
  525. package/src/_modules/scheduler/scheduler.service.ts +0 -176
  526. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +0 -22
  527. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +0 -82
  528. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +0 -107
  529. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +0 -312
  530. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +0 -311
  531. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +0 -123
  532. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +0 -108
  533. package/src/_modules/scoped-config/index.ts +0 -17
  534. package/src/_modules/server/errors/errors.control-service.spec.ts +0 -246
  535. package/src/_modules/server/errors/errors.control-service.ts +0 -100
  536. package/src/_modules/server/errors/errors.controller.spec.ts +0 -340
  537. package/src/_modules/server/errors/errors.controller.ts +0 -559
  538. package/src/_modules/server/errors/errors.data-service.spec.ts +0 -480
  539. package/src/_modules/server/errors/errors.data-service.ts +0 -867
  540. package/src/_modules/server/index.ts +0 -40
  541. package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +0 -8
  542. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +0 -20
  543. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +0 -124
  544. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +0 -99
  545. package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +0 -20
  546. package/src/_modules/server/server-status/db-readiness-probe-code.type-enum.ts +0 -13
  547. package/src/_modules/server/server-status/db-readiness-probe-stage.type-enum.ts +0 -7
  548. package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +0 -235
  549. package/src/_modules/server/server-status/db-readiness-probe.control-service.ts +0 -158
  550. package/src/_modules/server/server-status/db-readiness-probe.interface.ts +0 -20
  551. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +0 -70
  552. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +0 -17
  553. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +0 -77
  554. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +0 -37
  555. package/src/_modules/server/server-status/server-status.control-service.spec.ts +0 -672
  556. package/src/_modules/server/server-status/server-status.control-service.ts +0 -491
  557. package/src/_modules/server/server-status/server-status.controller.spec.ts +0 -276
  558. package/src/_modules/server/server-status/server-status.controller.ts +0 -336
  559. package/src/_modules/socket/_enums/socket-security.enum.ts +0 -11
  560. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +0 -32
  561. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +0 -22
  562. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +0 -165
  563. package/src/_modules/socket/_models/socket-presence.control-model.ts +0 -211
  564. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +0 -69
  565. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +0 -33
  566. package/src/_modules/socket/_services/socket-client.service.spec.ts +0 -15
  567. package/src/_modules/socket/_services/socket-client.service.ts +0 -260
  568. package/src/_modules/socket/_services/socket-server.service.spec.ts +0 -272
  569. package/src/_modules/socket/_services/socket-server.service.ts +0 -1037
  570. package/src/_modules/socket/app-extended.integration.spec.ts +0 -85
  571. package/src/_modules/socket/app-extended.server.ts +0 -648
  572. package/src/_modules/socket/index.ts +0 -42
  573. package/src/_modules/test/get-test-routing-module.util.spec.ts +0 -28
  574. package/src/_modules/test/get-test-routing-module.util.ts +0 -23
  575. package/src/_modules/test/index.ts +0 -12
  576. package/src/_modules/test/test.controller.spec.ts +0 -72
  577. package/src/_modules/test/test.controller.ts +0 -115
  578. package/src/_modules/test-email-sink/_collections/test-email-pattern.const.ts +0 -10
  579. package/src/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.ts +0 -41
  580. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.ts +0 -112
  581. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.ts +0 -141
  582. package/src/_modules/test-email-sink/get-sent-mail-routing-module.util.ts +0 -29
  583. package/src/_modules/test-email-sink/index.ts +0 -11
  584. package/src/_modules/test-email-sink/test-email-sink.controller.ts +0 -83
  585. package/src/_modules/usage/get-usage-routing-module.util.ts +0 -23
  586. package/src/_modules/usage/index.ts +0 -15
  587. package/src/_modules/usage/usage.controller.spec.ts +0 -106
  588. package/src/_modules/usage/usage.controller.ts +0 -140
  589. package/src/_modules/usage/usage.data-service.spec.ts +0 -332
  590. package/src/_modules/usage/usage.data-service.ts +0 -185
  591. package/src/_services/base/api.service-base.spec.ts +0 -125
  592. package/src/_services/base/api.service-base.ts +0 -75
  593. package/src/_services/base/archive-data.service.spec.ts +0 -209
  594. package/src/_services/base/archive-data.service.ts +0 -228
  595. package/src/_services/base/data.service.spec.ts +0 -784
  596. package/src/_services/base/data.service.ts +0 -2792
  597. package/src/_services/base/db.service.encryption.spec.ts +0 -76
  598. package/src/_services/base/db.service.spec.ts +0 -160
  599. package/src/_services/base/db.service.ts +0 -1698
  600. package/src/_services/base/singleton.service-base.spec.ts +0 -28
  601. package/src/_services/base/singleton.service-base.ts +0 -24
  602. package/src/_services/base/singleton.service.spec.ts +0 -114
  603. package/src/_services/base/singleton.service.ts +0 -38
  604. package/src/_services/core/api.service.spec.ts +0 -187
  605. package/src/_services/core/api.service.ts +0 -627
  606. package/src/_services/core/auth.service.spec.ts +0 -159
  607. package/src/_services/core/auth.service.ts +0 -174
  608. package/src/_services/core/collection-growth-monitor.service.spec.ts +0 -119
  609. package/src/_services/core/collection-growth-monitor.service.ts +0 -234
  610. package/src/_services/core/db-stats.service.ts +0 -104
  611. package/src/_services/core/diagnostics.service.spec.ts +0 -44
  612. package/src/_services/core/diagnostics.service.ts +0 -158
  613. package/src/_services/core/email.service.spec.ts +0 -85
  614. package/src/_services/core/email.service.ts +0 -757
  615. package/src/_services/core/event-loop-diag.service.spec.ts +0 -22
  616. package/src/_services/core/event-loop-diag.service.ts +0 -144
  617. package/src/_services/core/global.service.spec.ts +0 -292
  618. package/src/_services/core/global.service.ts +0 -488
  619. package/src/_services/core/memory-guard.service.spec.ts +0 -245
  620. package/src/_services/core/memory-guard.service.ts +0 -481
  621. package/src/_services/core/migration-runner.service.spec.ts +0 -91
  622. package/src/_services/core/migration-runner.service.ts +0 -106
  623. package/src/_services/core/mongo-transaction.control-service.spec.ts +0 -165
  624. package/src/_services/core/mongo-transaction.control-service.ts +0 -148
  625. package/src/_services/core/request-hunter.service.spec.ts +0 -124
  626. package/src/_services/core/request-hunter.service.ts +0 -157
  627. package/src/_services/core/request-telemetry.control-service.spec.ts +0 -217
  628. package/src/_services/core/request-telemetry.control-service.ts +0 -381
  629. package/src/_services/core/service-collection.service.spec.ts +0 -46
  630. package/src/_services/core/service-collection.service.ts +0 -6
  631. package/src/_services/route/controller.service.spec.ts +0 -53
  632. package/src/_services/route/controller.service.ts +0 -148
  633. package/src/_services/route/routing-module.service.spec.ts +0 -98
  634. package/src/_services/route/routing-module.service.ts +0 -339
  635. package/src/_services/server/app-safe-diagnostic.spec.ts +0 -124
  636. package/src/_services/server/app.server-retention.spec.ts +0 -106
  637. package/src/_services/server/app.server.ts +0 -1979
  638. package/src/_services/shared.static-service.spec.ts +0 -133
  639. package/src/_services/shared.static-service.ts +0 -107
  640. package/src/index.ts +0 -120
  641. package/tsconfig.app.json +0 -12
  642. package/tsconfig.json +0 -42
@@ -1,327 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as os from 'os';
3
- import * as path from 'path';
4
-
5
- import { DyFM_Log } from '@futdevpro/fsm-dynamo';
6
-
7
- /**
8
- * FR-320 — NPM-TOKEN ALLAPOT-OSZTALYOZO (bedrock).
9
- *
10
- * MIERT KELLETT (2026-08-20..22, valos incidens): a flotta npm-tokenje lejart, majd egy olyan
11
- * pot-token kerult be, aminek NEM volt 2FA-bypass joga. A kovetkezmeny NAPOKIG tartott es
12
- * MINDENHOL `E404`-kent jelentkezett — privat csomagnal ugyanis az npm a jogosulatlan kerest
13
- * 404-gyel utasitja el, NEM 401-gyel. Emiatt a "nincs ilyen csomag", a "lejart kulcs" es a
14
- * "rossz jogu kulcs" MEGKULONBOZTETHETETLEN volt, es a diagnozis tobb kort vitt el.
15
- *
16
- * A KULCS-DISZKRIMINATOR: a `/-/whoami` vegpont NEM csomag-fuggo, ezert nem esik bele a privat-404
17
- * elrejtesbe:
18
- * - token NELKUL / ROSSZ tokennel -> **401**
19
- * - ERVENYES tokennel -> **200** + a felhasznalonev
20
- * Innen a csomag-szintu proba mar ertelmezheto: ha a whoami OK, de a scope-olt csomag 404, akkor a
21
- * token EL, csak nincs joga hozza.
22
- *
23
- * ⚠️ AMIT EZ NEM TUD MEGALLAPITANI (szandekosan kimondva, hogy ne igerjunk tobbet a valosagnal):
24
- * - a **2FA-bypass** hianya CSAK publikalaskor derul ki (`EOTP` hibakod) — read-only probaval nem;
25
- * - a **lejart** es a **visszavont** token kivulrol egyforman 401;
26
- * - a token **elettartama** nem kerdezheto le.
27
- * Ezert a `publishErrorCode` opcionalis bemenet: ha egy publish mar elbukott, az `EOTP` alapjan
28
- * ERRE is tudunk hatarozott allapotot mondani.
29
- *
30
- * A TOKEN ERTEKE SOSEM KERUL A KIMENETBE — sem logba, sem eredmenybe.
31
- */
32
-
33
- /** Az npm-token megallapithato allapotai. */
34
- export enum DyNTS_NpmTokenState {
35
- /** Nincs beallitva token (se env, se .npmrc). */
36
- missing = 'missing',
37
- /** Van ertek, de nem npm-token alaku — jellemzoen elgepeles / rossz valtozo. */
38
- malformed = 'malformed',
39
- /** A registry elutasitja (401): lejart, visszavont vagy egyszeruen rossz. */
40
- invalid = 'invalid',
41
- /** A token EL (whoami OK), de a vizsgalt scope-hoz/csomaghoz NINCS joga. */
42
- noScopeAccess = 'no-scope-access',
43
- /** A token el es olvas, de publikalasra nincs joga (2FA-bypass hianya — `EOTP`). */
44
- missingPublishRight = 'missing-publish-right',
45
- /** Minden vizsgalt kepesseg rendben. */
46
- ok = 'ok',
47
- /** A proba maga nem futott le (halozat/timeout) — NEM azonos azzal, hogy a token rossz. */
48
- unknown = 'unknown',
49
- }
50
-
51
- /** A helyi (halozat NELKULI) alak-ellenorzes eredmenye. */
52
- export enum DyNTS_NpmTokenShape {
53
- missing = 'missing',
54
- malformed = 'malformed',
55
- plausible = 'plausible',
56
- }
57
-
58
- /**
59
- * PURE — a token ALAKJANAK ellenorzese, halozat nelkul.
60
- *
61
- * MIERT KULON LEPES: a "nincs beallitva" es a "rosszul beallitva" eseteket halozat nelkul, azonnal
62
- * es egyertelmuen el lehet donteni — ezek a leggyakoribb operatori hibak (ures env-var, idezojelek
63
- * bennragadtak, a `//registry…/:_authToken=` PREFIX is bemasolodott).
64
- *
65
- * Az npm mai token-alakjai `npm_`-mel kezdodnek (classic automation + granular). A regi, prefix
66
- * nelkuli UUID-alaku tokenek MEG ervenyesek lehetnek, ezert azokat is `plausible`-nek vesszuk —
67
- * inkabb engedunk at egy kesobb 401-et kapo tokent, mint hogy egy jot elutasitsunk.
68
- */
69
- export function classifyNpmTokenShape(rawToken: string | undefined | null): DyNTS_NpmTokenShape {
70
- const token: string = (rawToken ?? '').trim();
71
- if (!token) { return DyNTS_NpmTokenShape.missing; }
72
-
73
- // Gyakori elgepeles: a teljes .npmrc-sor kerult be a token helyere.
74
- if (token.includes('_authToken') || token.includes('registry.npmjs.org')) {
75
- return DyNTS_NpmTokenShape.malformed;
76
- }
77
- // Bennragadt idezojelek / whitespace a valtozo erteken belul.
78
- if (/["'\s]/.test(token)) { return DyNTS_NpmTokenShape.malformed; }
79
- // Nyilvanvaloan tul rovid ertek (pl. "x", "changeme").
80
- if (token.length < 24) { return DyNTS_NpmTokenShape.malformed; }
81
-
82
- return DyNTS_NpmTokenShape.plausible;
83
- }
84
-
85
- /**
86
- * Publish-oldali npm-hibakodok, amik ELO token mellett JOGOSULTSAG-hianyt jelentenek.
87
- *
88
- * A lista SZANDEKOSAN tartalmazza az `E404`-et: az npm a `PUT` (publish) kerest is 404-gyel
89
- * utasitja el, ha a tokennek nincs irasi joga a csomagra. Elo token mellett ez SOSEM jelentheti,
90
- * hogy a csomag hianyzik — hiszen olvasni tudtuk.
91
- */
92
- export const PUBLISH_RIGHT_ERROR_CODES: string[] = ['EOTP', 'E403', 'E404'];
93
-
94
- /** A halozati proba nyers bemenete (a `classifyNpmTokenProbe` szamara). */
95
- export interface DyNTS_NpmTokenProbe_Input {
96
- /** A `/-/whoami` HTTP-statusza. `null`, ha a hivas el sem jutott a szerverig. */
97
- whoamiStatus: number | null;
98
- /** Egy SCOPE-olt (jellemzoen privat) csomag metaadat-lekeresenek statusza; `undefined` = nem mertuk. */
99
- scopedPackageStatus?: number;
100
- /** Ha egy publish MAR elbukott, annak npm-hibakodja (pl. `EOTP`, `E403`); `undefined` = nem mertuk. */
101
- publishErrorCode?: string;
102
- }
103
-
104
- /**
105
- * PURE — a halozati valaszokbol allapot.
106
- *
107
- * A sorrend SZANDEKOS: a `whoami` az egyetlen csomag-fuggetlen jel, ezert az dont eloszor. Csak
108
- * utana ertelmezheto a csomag-szintu 404 — kulonben ugyanaz a 404 jelentene "nincs ilyen csomag"-ot
109
- * es "rossz kulcs"-ot is, ami epp a 2026-08-i incidens diagnozisat huzta el.
110
- */
111
- export function classifyNpmTokenProbe(input: DyNTS_NpmTokenProbe_Input): DyNTS_NpmTokenState {
112
- // A proba el sem jutott a registryig -> NEM allitunk semmit a tokenrol.
113
- if (input.whoamiStatus === null) { return DyNTS_NpmTokenState.unknown; }
114
-
115
- // 401 = a registry elutasitja a hitelesitest (hianyzo/lejart/visszavont/rossz token).
116
- if (input.whoamiStatus === 401) { return DyNTS_NpmTokenState.invalid; }
117
-
118
- // Barmi mas, ami nem 200: nem tudunk hatarozott allapotot mondani (5xx, rate-limit, proxy).
119
- if (input.whoamiStatus !== 200) { return DyNTS_NpmTokenState.unknown; }
120
-
121
- // Innentol a token IGAZOLTAN el (whoami 200). Ezert BARMILYEN publish-oldali elutasitas
122
- // JOGOSULTSAG-hiany, NEM hianyzo csomag:
123
- // EOTP -> 2FA-bypass hianya,
124
- // E403 -> explicit tiltas,
125
- // E404 -> az npm a PUT-ra is 404-gyel valaszol, ha a tokennek NINCS IRASI joga a csomagra
126
- // (ugyanaz a letezes-elrejtes, mint olvasasnal).
127
- // MERVE (2026-08-22): `npm error 404 Not Found - PUT .../@futdevpro%2fnts-dynamo` — mikozben
128
- // UGYANAZ a token olvasni tudta a csomagot. Enelkul a megkulonboztetes nelkul ez "nincs ilyen
129
- // csomag"-nak latszik, es epp ez vitte felre a diagnozist napokig.
130
- if (PUBLISH_RIGHT_ERROR_CODES.includes((input.publishErrorCode ?? '').toUpperCase())) {
131
- return DyNTS_NpmTokenState.missingPublishRight;
132
- }
133
-
134
- // Elo token + a scope-olt csomag 404/403 -> a token nem lat ra a csomagra (jogosultsag).
135
- if (input.scopedPackageStatus === 404 || input.scopedPackageStatus === 403) {
136
- return DyNTS_NpmTokenState.noScopeAccess;
137
- }
138
- // A csomag-probat nem mertuk, vagy sikeres volt.
139
- if (input.scopedPackageStatus === undefined || input.scopedPackageStatus === 200) {
140
- return DyNTS_NpmTokenState.ok;
141
- }
142
- return DyNTS_NpmTokenState.unknown;
143
- }
144
-
145
- /**
146
- * PURE — ember-olvashato magyarazat + a KOVETKEZO LEPES. A puszta allapot-cimke keves: az operator
147
- * azt akarja tudni, mit tegyen.
148
- */
149
- export function describeNpmTokenState(state: DyNTS_NpmTokenState): string {
150
- switch (state) {
151
- case DyNTS_NpmTokenState.missing:
152
- return 'Nincs beallitva npm-token. Teendo: allitsd be a Keystore/CI kornyezetben (NEM .npmrc-fajlban).';
153
- case DyNTS_NpmTokenState.malformed:
154
- return 'A token erteke nem npm-token alaku (idezojel, whitespace, vagy a teljes .npmrc-sor kerult be). '
155
- + 'Teendo: csak a NYERS token-erteket add meg.';
156
- case DyNTS_NpmTokenState.invalid:
157
- return 'A registry ELUTASITJA a tokent (401): lejart, visszavont vagy rossz. Teendo: uj token. '
158
- + 'FIGYELEM: privat csomagnal ez a hiba a HIVOKNAL 404-kent jelenik meg, nem 401-kent.';
159
- case DyNTS_NpmTokenState.noScopeAccess:
160
- return 'A token EL, de a vizsgalt scope-hoz/csomaghoz nincs joga (a whoami rendben, a csomag 404/403). '
161
- + 'Teendo: a token jogosultsagi koret bovitsd a scope-ra.';
162
- case DyNTS_NpmTokenState.missingPublishRight:
163
- return 'A token EL es OLVAS, de PUBLIKALNI nem tud (`EOTP` / `E403` / publish-oldali `E404`): '
164
- + 'hianyzik az iras/2FA-bypass jog. FIGYELEM: a PUT-ra kapott 404 NEM hianyzo csomagot jelent, '
165
- + 'hanem jogosultsag-hianyt. Teendo: automation/granular token IRASI joggal a scope-ra.';
166
- case DyNTS_NpmTokenState.ok:
167
- return 'A token ervenyes, es a vizsgalt csomagot is eleri.';
168
- default:
169
- return 'A proba nem jutott el a registryig (halozat/timeout/proxy) — ez NEM bizonyitja, hogy a token rossz.';
170
- }
171
- }
172
-
173
- /** A teljes ellenorzes eredmenye. A token ERTEKE sosem szerepel benne. */
174
- export interface DyNTS_NpmTokenCheck_Result {
175
- state: DyNTS_NpmTokenState;
176
- /** A `/-/whoami` altal visszaadott felhasznalonev, ha a token ervenyes. */
177
- username: string | null;
178
- /** Ember-olvashato magyarazat + kovetkezo lepes. */
179
- detail: string;
180
- /** Amit tenylegesen mertunk (diagnosztikahoz). */
181
- probe: DyNTS_NpmTokenProbe_Input;
182
- }
183
-
184
- /** A `checkNpmToken` bemenete. */
185
- export interface DyNTS_NpmTokenCheck_Options {
186
- /** A vizsgalando token. Ha nincs megadva, a `process.env.NPM_TOKEN`-t hasznaljuk. */
187
- token?: string;
188
- /** Registry-alap. Default: a publikus npm. */
189
- registry?: string;
190
- /**
191
- * Egy SCOPE-olt csomag, amin a jogosultsagot merjuk (pl. `@futdevpro/cli-dynamo`).
192
- * Ha nincs megadva, csak a whoami fut le.
193
- */
194
- scopedPackage?: string;
195
- /** Ha egy publish mar elbukott, annak npm-hibakodja — igy a 2FA-bypass hianya is besorolhato. */
196
- publishErrorCode?: string;
197
- /** Halozati timeout (ms). Default: 10000. */
198
- timeoutMs?: number;
199
- }
200
-
201
- /**
202
- * PURE — token kinyerese egy `.npmrc` TARTALMABOL.
203
- *
204
- * MIERT KELL: az elso valtozat CSAK a `process.env.NPM_TOKEN`-t nezte, es ezert a sajat
205
- * workstationomon `missing`-et adott — HOLOTT az npm ott tokeletesen mukodott, mert a token a
206
- * `~/.npmrc`-ben all. Ez HAMIS NEGATIV, es epp a legfontosabb helyeken (runner-kontener, hosztok)
207
- * sulna el, ahol a token szinten FAJLBAN van.
208
- *
209
- * A `.npmrc`-t csak OLVASSUK — letrehozni tilos (flotta-szintu hard rule).
210
- */
211
- export function extractTokenFromNpmrc(content: string, registry: string = DEFAULT_REGISTRY): string | null {
212
- const host: string = registry.replace(/^https?:/, '').replace(/\/+$/, '');
213
- for (const rawLine of content.split(/\r?\n/)) {
214
- const line: string = rawLine.trim();
215
- if (!line || line.startsWith('#') || line.startsWith(';')) { continue; }
216
- // Alak: `//registry.npmjs.org/:_authToken=<ertek>` (a host elotti `//` a kulcs resze).
217
- const match: RegExpMatchArray | null = line.match(/^(\/\/[^:]+):_authToken=(.+)$/);
218
- if (!match) { continue; }
219
- // A `.npmrc` a hostot ZARO PERJELLEL irja (`//registry.npmjs.org/`), a normalizalt
220
- // `host` viszont nelkule all — ezert MINDKET oldalt normalizalni kell. Az elso
221
- // valtozatom csak az egyiket tette, es ezert SOSEM illeszkedett (a specek fogtak meg).
222
- const lineHost: string = match[1].replace(/\/+$/, '');
223
- if (lineHost !== host) { continue; }
224
- const value: string = match[2].trim().replace(/^["']|["']$/g, '');
225
- if (value) { return value; }
226
- }
227
- return null;
228
- }
229
-
230
- /**
231
- * A token feloldasa a szokasos helyekrol, PRIORITAS szerint:
232
- * 1. explicit parameter, 2. `NPM_TOKEN` env, 3. a felhasznaloi `~/.npmrc`.
233
- * Sose dob; ha egyik sincs, ures stringet ad.
234
- */
235
- export function resolveNpmToken(explicit: string | undefined, registry: string): string {
236
- const fromExplicit: string = (explicit ?? '').trim();
237
- if (fromExplicit) { return fromExplicit; }
238
- const fromEnv: string = (process.env.NPM_TOKEN ?? '').trim();
239
- if (fromEnv) { return fromEnv; }
240
- try {
241
- const npmrcPath: string = path.join(os.homedir(), '.npmrc');
242
- if (fs.existsSync(npmrcPath)) {
243
- return extractTokenFromNpmrc(fs.readFileSync(npmrcPath, 'utf-8'), registry) ?? '';
244
- }
245
- } catch {
246
- // A fajl-olvasas hibaja NEM buktathatja az ellenorzest.
247
- }
248
- return '';
249
- }
250
-
251
- const DEFAULT_REGISTRY: string = 'https://registry.npmjs.org';
252
- const DEFAULT_TIMEOUT_MS: number = 10000;
253
-
254
- /** Egy statusz-lekeres, timeout-tal. `null`, ha el sem jutottunk a szerverig. */
255
- async function fetchStatus(url: string, token: string | null, timeoutMs: number): Promise<number | null> {
256
- const controller: AbortController = new AbortController();
257
- const timer: NodeJS.Timeout = setTimeout((): void => { controller.abort(); }, timeoutMs);
258
- try {
259
- const response: Response = await fetch(url, {
260
- headers: token ? { authorization: `Bearer ${token}` } : {},
261
- signal: controller.signal,
262
- });
263
- return response.status;
264
- } catch {
265
- return null;
266
- } finally {
267
- clearTimeout(timer);
268
- }
269
- }
270
-
271
- /**
272
- * A tenyleges ellenorzes. SOSE dob — a hibat allapotkent adja vissza (a token-ellenorzes nem
273
- * buktathat meg semmit, amibe beepitjuk).
274
- */
275
- export async function checkNpmToken(
276
- options: DyNTS_NpmTokenCheck_Options = {},
277
- ): Promise<DyNTS_NpmTokenCheck_Result> {
278
- const registry: string = (options.registry ?? DEFAULT_REGISTRY).replace(/\/+$/, '');
279
- const token: string = resolveNpmToken(options.token, registry);
280
- const timeoutMs: number = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
281
-
282
- const shape: DyNTS_NpmTokenShape = classifyNpmTokenShape(token);
283
- if (shape !== DyNTS_NpmTokenShape.plausible) {
284
- const localState: DyNTS_NpmTokenState = shape === DyNTS_NpmTokenShape.missing
285
- ? DyNTS_NpmTokenState.missing
286
- : DyNTS_NpmTokenState.malformed;
287
- return {
288
- state: localState,
289
- username: null,
290
- detail: describeNpmTokenState(localState),
291
- probe: { whoamiStatus: null },
292
- };
293
- }
294
-
295
- const whoamiStatus: number | null = await fetchStatus(`${registry}/-/whoami`, token, timeoutMs);
296
-
297
- let username: string | null = null;
298
- if (whoamiStatus === 200) {
299
- try {
300
- const response: Response = await fetch(`${registry}/-/whoami`, {
301
- headers: { authorization: `Bearer ${token}` },
302
- });
303
- const body: { username?: string } = await response.json() as { username?: string };
304
- username = typeof body.username === 'string' ? body.username : null;
305
- } catch {
306
- username = null;
307
- }
308
- }
309
-
310
- let scopedPackageStatus: number | undefined;
311
- if (options.scopedPackage && whoamiStatus === 200) {
312
- const encoded: string = options.scopedPackage.replace('/', '%2f');
313
- const status: number | null = await fetchStatus(`${registry}/${encoded}`, token, timeoutMs);
314
- scopedPackageStatus = status === null ? undefined : status;
315
- }
316
-
317
- const probe: DyNTS_NpmTokenProbe_Input = {
318
- whoamiStatus: whoamiStatus,
319
- scopedPackageStatus: scopedPackageStatus,
320
- publishErrorCode: options.publishErrorCode,
321
- };
322
- const state: DyNTS_NpmTokenState = classifyNpmTokenProbe(probe);
323
-
324
- DyFM_Log.info(`[npm-token-check] allapot=${state}${username ? ` user=${username}` : ''} (a token erteke NEM naplozodik)`);
325
-
326
- return { state: state, username: username, detail: describeNpmTokenState(state), probe: probe };
327
- }
@@ -1,21 +0,0 @@
1
-
2
-
3
- ENV={REPLACE_ENV}
4
-
5
- MONGO_URL={REPLACE_ATLASDB_URI}
6
-
7
- DISCORD_BOT_TOKEN={REPLACE_DISCORD_BOT_TOKEN}
8
- DISCORD_BOT_CLIENT_ID={REPLACE_DISCORD_BOT_CLIENT_ID}
9
- DISCORD_GUILD_ID={REPLACE_DISCORD_GUILD_ID}
10
- DISCORD_BOT_OAUTH2_URL={REPLACE_DISCORD_BOT_OAUTH2_URL}
11
-
12
- OPENAI_API_KEY={REPLACE_OPENAI_API_KEY}
13
- OPENAI_ORGANIZATION={REPLACE_OPENAI_ORGANIZATION}
14
- OPENAI_PROJECT={REPLACE_OPENAI_PROJECT}
15
- OPENAI_TTS_API_KEY={REPLACE_OPENAI_TTS_API_KEY}
16
-
17
- ELEVENLABS_API_KEY={REPLACE_ELEVENLABS_API_KEY}
18
-
19
- CLICKUP_API_KEY={REPLACE_CLICKUP_API_KEY}
20
- CLICKUP_WORKSPACE_ID={REPLACE_CLICKUP_WORKSPACE_ID}
21
- CLICKUP_SPACE_ID={REPLACE_CLICKUP_SPACE_ID}
@@ -1,98 +0,0 @@
1
- import { DyFM_EnvironmentFlag } from '@futdevpro/fsm-dynamo';
2
-
3
- import { DyNTS_createSecurityHeadersMiddleware, DyNTS_resolveSecurityHeaders } from './security-headers.util';
4
- import { DyNTS_SecurityHeaders_Settings } from '../_models/interfaces/security-headers-settings.interface';
5
-
6
- describe('DyNTS_resolveSecurityHeaders', () => {
7
- // AAA: Arrange-Act-Assert
8
-
9
- it('| defaults: pontosan a safe-készlet (3 header), HSTS NÉLKÜL test env-en', () => {
10
- const headers = DyNTS_resolveSecurityHeaders({ enabled: true }, DyFM_EnvironmentFlag.test);
11
-
12
- expect(headers['X-Frame-Options']).toBe('SAMEORIGIN');
13
- expect(headers['X-Content-Type-Options']).toBe('nosniff');
14
- expect(headers['Referrer-Policy']).toBe('strict-origin-when-cross-origin');
15
- expect(headers['Strict-Transport-Security']).toBeUndefined();
16
- expect(headers['Content-Security-Policy']).toBeUndefined();
17
- expect(Object.keys(headers).length).toBe(3);
18
- });
19
-
20
- it('| prod env → HSTS AUTO-on a default max-age + includeSubDomains értékkel', () => {
21
- const headers = DyNTS_resolveSecurityHeaders({ enabled: true }, DyFM_EnvironmentFlag.prod);
22
-
23
- expect(headers['Strict-Transport-Security']).toBe('max-age=15768000; includeSubDomains');
24
- });
25
-
26
- it('| explicit hsts.enabled=true → HSTS test env-en IS (+preload flag)', () => {
27
- const headers = DyNTS_resolveSecurityHeaders(
28
- { enabled: true, hsts: { enabled: true, maxAgeSeconds: 300, includeSubDomains: false, preload: true } },
29
- DyFM_EnvironmentFlag.test,
30
- );
31
-
32
- expect(headers['Strict-Transport-Security']).toBe('max-age=300; preload');
33
- });
34
-
35
- it('| hsts: false → prod-on SINCS HSTS', () => {
36
- const headers = DyNTS_resolveSecurityHeaders({ enabled: true, hsts: false }, DyFM_EnvironmentFlag.prod);
37
-
38
- expect(headers['Strict-Transport-Security']).toBeUndefined();
39
- });
40
-
41
- it('| csp string → Content-Security-Policy; cspReportOnly → Report-Only header-név', () => {
42
- const csp: string = "default-src 'self'";
43
- const normal = DyNTS_resolveSecurityHeaders({ enabled: true, csp: csp }, DyFM_EnvironmentFlag.test);
44
- const reportOnly = DyNTS_resolveSecurityHeaders(
45
- { enabled: true, csp: csp, cspReportOnly: true },
46
- DyFM_EnvironmentFlag.test,
47
- );
48
-
49
- expect(normal['Content-Security-Policy']).toBe(csp);
50
- expect(reportOnly['Content-Security-Policy']).toBeUndefined();
51
- expect(reportOnly['Content-Security-Policy-Report-Only']).toBe(csp);
52
- });
53
-
54
- it('| per-header false → kimarad; permissionsPolicy opt-in string → jelen', () => {
55
- const headers = DyNTS_resolveSecurityHeaders(
56
- { enabled: true, frameOptions: false, referrerPolicy: false, permissionsPolicy: 'camera=()' },
57
- DyFM_EnvironmentFlag.test,
58
- );
59
-
60
- expect(headers['X-Frame-Options']).toBeUndefined();
61
- expect(headers['Referrer-Policy']).toBeUndefined();
62
- expect(headers['Permissions-Policy']).toBe('camera=()');
63
- expect(headers['X-Content-Type-Options']).toBe('nosniff');
64
- });
65
-
66
- it('| additionalHeaders merge (felülírással)', () => {
67
- const headers = DyNTS_resolveSecurityHeaders(
68
- { enabled: true, additionalHeaders: { 'X-Custom': 'v1', 'X-Frame-Options': 'DENY' } },
69
- DyFM_EnvironmentFlag.test,
70
- );
71
-
72
- expect(headers['X-Custom']).toBe('v1');
73
- expect(headers['X-Frame-Options']).toBe('DENY');
74
- });
75
-
76
- it('| enabled: false → üres map', () => {
77
- const headers = DyNTS_resolveSecurityHeaders({ enabled: false, csp: 'x' }, DyFM_EnvironmentFlag.prod);
78
-
79
- expect(Object.keys(headers).length).toBe(0);
80
- });
81
- });
82
-
83
- describe('DyNTS_createSecurityHeadersMiddleware', () => {
84
- it('| a middleware minden resolvelt headert setHeader-öl és next()-et hív', () => {
85
- const settings: DyNTS_SecurityHeaders_Settings = { enabled: true };
86
- const middleware = DyNTS_createSecurityHeadersMiddleware(settings, DyFM_EnvironmentFlag.test);
87
-
88
- const setHeaderCalls: [string, string][] = [];
89
- const res: any = { setHeader: (k: string, v: string): void => { setHeaderCalls.push([k, v]); } };
90
- let nextCalled: boolean = false;
91
-
92
- middleware({} as any, res, ((): void => { nextCalled = true; }) as any);
93
-
94
- expect(nextCalled).toBe(true);
95
- expect(setHeaderCalls.length).toBe(3);
96
- expect(setHeaderCalls.map((c: [string, string]): string => c[0])).toContain('X-Frame-Options');
97
- });
98
- });
@@ -1,96 +0,0 @@
1
- import * as Express from 'express';
2
-
3
- import { DyFM_EnvironmentFlag } from '@futdevpro/fsm-dynamo';
4
-
5
- import { DyNTS_SecurityHeaders_Settings } from '../_models/interfaces/security-headers-settings.interface';
6
-
7
- /**
8
- * A security response-headerek TISZTA (Express-mentes, unit-tesztelhető) resolvere
9
- * (BFR-MASTERPROMPTER-011 / SEC-R2-8). A `DyNTS_App.mountSecurityHeaders` ebből épít middleware-t.
10
- *
11
- * **HSTS AUTO-env-gate**: ha a `hsts` beállítás nem explicit, CSAK prod environment-en emittálunk
12
- * (a test-környezeti sticky-HSTS elkerülésére); explicit `hsts.enabled` felülbírálja mindkét irányba.
13
- */
14
- export function DyNTS_resolveSecurityHeaders(
15
- settings: DyNTS_SecurityHeaders_Settings,
16
- environment: DyFM_EnvironmentFlag,
17
- ): Record<string, string> {
18
- const headers: Record<string, string> = {};
19
-
20
- if (!settings.enabled) {
21
- return headers;
22
- }
23
-
24
- // Clickjacking-védelem — default SAMEORIGIN.
25
- const frameOptions: string | false = settings.frameOptions ?? 'SAMEORIGIN';
26
- if (frameOptions) {
27
- headers['X-Frame-Options'] = frameOptions;
28
- }
29
-
30
- // MIME-sniffing tiltás — default nosniff.
31
- const contentTypeOptions: string | false = settings.contentTypeOptions ?? 'nosniff';
32
- if (contentTypeOptions) {
33
- headers['X-Content-Type-Options'] = contentTypeOptions;
34
- }
35
-
36
- // Referrer-szivárgás korlátozás — default strict-origin-when-cross-origin.
37
- const referrerPolicy: string | false = settings.referrerPolicy ?? 'strict-origin-when-cross-origin';
38
- if (referrerPolicy) {
39
- headers['Referrer-Policy'] = referrerPolicy;
40
- }
41
-
42
- // Permissions-Policy — opt-in (app-specifikus feature-készlet).
43
- if (settings.permissionsPolicy) {
44
- headers['Permissions-Policy'] = settings.permissionsPolicy;
45
- }
46
-
47
- // HSTS — AUTO-env-gate: default CSAK prod-on; explicit enabled felülbírál.
48
- if (settings.hsts !== false) {
49
- const hstsExplicitlyEnabled: boolean = settings.hsts?.enabled === true;
50
- const hstsExplicitlyDisabled: boolean = settings.hsts?.enabled === false;
51
- const hstsAutoOn: boolean = environment === DyFM_EnvironmentFlag.prod;
52
-
53
- if (!hstsExplicitlyDisabled && (hstsExplicitlyEnabled || hstsAutoOn)) {
54
- const maxAge: number = settings.hsts?.maxAgeSeconds ?? 15768000;
55
- const includeSubDomains: string = (settings.hsts?.includeSubDomains ?? true) ? '; includeSubDomains' : '';
56
- const preload: string = settings.hsts?.preload ? '; preload' : '';
57
- headers['Strict-Transport-Security'] = `max-age=${maxAge}${includeSubDomains}${preload}`;
58
- }
59
- }
60
-
61
- // CSP — opt-in string; a Report-Only header-név a fokozatos bevezetéshez.
62
- if (settings.csp) {
63
- const cspHeaderName: string = settings.cspReportOnly
64
- ? 'Content-Security-Policy-Report-Only'
65
- : 'Content-Security-Policy';
66
- headers[cspHeaderName] = settings.csp;
67
- }
68
-
69
- // Tetszőleges további headerek (merge, felülírással).
70
- if (settings.additionalHeaders) {
71
- for (const [key, value] of Object.entries(settings.additionalHeaders)) {
72
- headers[key] = value;
73
- }
74
- }
75
-
76
- return headers;
77
- }
78
-
79
- /**
80
- * Express-middleware factory a resolvelt headerekből. A headereket boot-kor EGYSZER resolvoljuk
81
- * (a settings boot után nem változik), a middleware kérésenként csak setHeader-öl.
82
- */
83
- export function DyNTS_createSecurityHeadersMiddleware(
84
- settings: DyNTS_SecurityHeaders_Settings,
85
- environment: DyFM_EnvironmentFlag,
86
- ): Express.Handler {
87
- const resolvedHeaders: Record<string, string> = DyNTS_resolveSecurityHeaders(settings, environment);
88
- const headerEntries: [string, string][] = Object.entries(resolvedHeaders);
89
-
90
- return (req: Express.Request, res: Express.Response, next: Express.NextFunction): void => {
91
- for (const [key, value] of headerEntries) {
92
- res.setHeader(key, value);
93
- }
94
- next();
95
- };
96
- }