@futdevpro/nts-dynamo 1.15.155 → 1.15.156

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 (763) hide show
  1. package/README.md +10 -10
  2. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -0
  3. package/__documentations/2026-08-22-content-free-process-error-boundary.md +26 -6
  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 -119
  57. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  58. package/build/_models/control-models/endpoint-params.control-model.js +409 -484
  59. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  60. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  61. package/build/_models/control-models/http-settings.control-model.js +34 -34
  62. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  63. package/build/_models/control-models/system-control.control-model.js +11 -11
  64. package/build/_models/data-models/schema-migration.data-model.d.ts +28 -28
  65. package/build/_models/data-models/schema-migration.data-model.js +46 -46
  66. package/build/_models/interfaces/app-version-header-settings.interface.d.ts +16 -16
  67. package/build/_models/interfaces/app-version-header-settings.interface.js +2 -2
  68. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  69. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  70. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  71. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  72. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  73. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  74. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  75. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  76. package/build/_models/interfaces/db-query-options.interface.d.ts +32 -32
  77. package/build/_models/interfaces/db-query-options.interface.js +2 -2
  78. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  79. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  80. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  81. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  82. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  83. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  84. package/build/_models/interfaces/global-settings.interface.d.ts +265 -265
  85. package/build/_models/interfaces/global-settings.interface.js +2 -2
  86. package/build/_models/interfaces/migration-entry.interface.d.ts +19 -19
  87. package/build/_models/interfaces/migration-entry.interface.js +2 -2
  88. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +8 -8
  89. package/build/_models/interfaces/mongo-transaction-settings.interface.js +2 -2
  90. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  91. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  92. package/build/_models/interfaces/security-headers-settings.interface.d.ts +41 -41
  93. package/build/_models/interfaces/security-headers-settings.interface.js +2 -2
  94. package/build/_models/interfaces/signed-url-verify-result.interface.d.ts +13 -13
  95. package/build/_models/interfaces/signed-url-verify-result.interface.js +2 -2
  96. package/build/_models/interfaces/static-client-settings.interface.d.ts +36 -36
  97. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  98. package/build/_models/types/db-update.type.d.ts +129 -129
  99. package/build/_models/types/db-update.type.js +2 -2
  100. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +5 -5
  101. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +9 -9
  102. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +6 -6
  103. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +10 -10
  104. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +6 -6
  105. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +10 -10
  106. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +8 -8
  107. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +2 -2
  108. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +6 -6
  109. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +2 -2
  110. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +12 -12
  111. package/build/_modules/account-security/_models/account-challenge-record.interface.js +2 -2
  112. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +7 -7
  113. package/build/_modules/account-security/_models/account-challenge-result.interface.js +2 -2
  114. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +8 -8
  115. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +2 -2
  116. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +11 -11
  117. package/build/_modules/account-security/_models/account-password-policy.interface.js +2 -2
  118. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +5 -5
  119. package/build/_modules/account-security/_models/account-password-verification.interface.js +2 -2
  120. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +12 -12
  121. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +2 -2
  122. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +18 -18
  123. package/build/_modules/account-security/_models/account-session-adapter.interface.js +2 -2
  124. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +7 -7
  125. package/build/_modules/account-security/_models/account-session-claims.interface.js +2 -2
  126. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +6 -6
  127. package/build/_modules/account-security/_models/account-session-context.interface.js +2 -2
  128. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +7 -7
  129. package/build/_modules/account-security/_models/account-session-create.interface.js +2 -2
  130. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +20 -20
  131. package/build/_modules/account-security/_models/account-session-record.interface.js +2 -2
  132. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +10 -10
  133. package/build/_modules/account-security/_models/account-session-rotate.interface.js +2 -2
  134. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +10 -10
  135. package/build/_modules/account-security/_models/account-session-settings.interface.js +2 -2
  136. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +8 -8
  137. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +2 -2
  138. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +12 -12
  139. package/build/_modules/account-security/_models/account-session-view.interface.js +2 -2
  140. package/build/_modules/account-security/account-challenge.control-service.d.ts +23 -23
  141. package/build/_modules/account-security/account-challenge.control-service.js +116 -116
  142. package/build/_modules/account-security/account-password.control-service.d.ts +23 -23
  143. package/build/_modules/account-security/account-password.control-service.js +213 -213
  144. package/build/_modules/account-security/account-session.control-service.d.ts +38 -38
  145. package/build/_modules/account-security/account-session.control-service.js +276 -276
  146. package/build/_modules/account-security/index.d.ts +23 -23
  147. package/build/_modules/account-security/index.js +15 -15
  148. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  149. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  150. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  151. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  152. package/build/_modules/admin-auth/index.d.ts +2 -2
  153. package/build/_modules/admin-auth/index.js +5 -5
  154. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +31 -31
  155. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +94 -94
  156. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +43 -43
  157. package/build/_modules/ai/_collections/ai-provider-error.util.js +120 -120
  158. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  159. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  160. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  161. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  162. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  163. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  164. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  165. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  166. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +16 -16
  167. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +2 -2
  168. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +22 -22
  169. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +51 -51
  170. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +33 -33
  171. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +55 -55
  172. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +40 -40
  173. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -89
  174. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +27 -27
  175. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +28 -28
  176. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +14 -14
  177. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +2 -2
  178. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +10 -10
  179. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +2 -2
  180. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +29 -29
  181. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +2 -2
  182. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +18 -18
  183. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +2 -2
  184. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +18 -18
  185. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +2 -2
  186. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts +80 -80
  187. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js +166 -166
  188. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +47 -47
  189. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +103 -103
  190. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +34 -34
  191. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +59 -59
  192. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +73 -73
  193. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +133 -133
  194. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.d.ts +8 -8
  195. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.js +650 -650
  196. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -14
  197. package/build/_modules/ai/_modules/ai-mock/index.js +42 -42
  198. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  199. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  200. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  201. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  202. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  203. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  204. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  205. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  206. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  207. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  208. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  209. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  210. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  211. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  212. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  213. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  214. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  215. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  216. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  217. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  218. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  219. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  220. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  221. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  222. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  223. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  224. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  225. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  226. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  227. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  228. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  229. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  230. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  231. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  232. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  233. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  234. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  235. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  236. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  237. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  238. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  239. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  240. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  241. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  242. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  243. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  244. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  245. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  246. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  247. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  248. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  249. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  250. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  251. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  252. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  253. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  254. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +229 -229
  255. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +617 -617
  256. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  257. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  258. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  259. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  260. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  261. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  262. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  263. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  264. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  265. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  266. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +148 -148
  267. package/build/_modules/ai/_services/ai-llm.service-base.js +378 -378
  268. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  269. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  270. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  271. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  272. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  273. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  274. package/build/_modules/ai/index.d.ts +16 -16
  275. package/build/_modules/ai/index.js +30 -30
  276. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.d.ts +5 -5
  277. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.js +9 -9
  278. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.d.ts +8 -8
  279. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.js +12 -12
  280. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.d.ts +6 -6
  281. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.js +10 -10
  282. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.d.ts +32 -32
  283. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.js +2 -2
  284. package/build/_modules/artifact-compiler/artifact-compiler.control-service.d.ts +36 -36
  285. package/build/_modules/artifact-compiler/artifact-compiler.control-service.js +273 -273
  286. package/build/_modules/artifact-compiler/index.d.ts +5 -5
  287. package/build/_modules/artifact-compiler/index.js +11 -11
  288. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  289. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  290. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  291. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  292. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  293. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  294. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  295. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  296. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  297. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  298. package/build/_modules/assistant/index.d.ts +6 -6
  299. package/build/_modules/assistant/index.js +18 -18
  300. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  301. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  302. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  303. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  304. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  305. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  306. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  307. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  308. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  309. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  310. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  311. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  312. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  313. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  314. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  315. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  316. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  317. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  318. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  319. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  320. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  321. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  322. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  323. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  324. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  325. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  326. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  327. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  328. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  329. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  330. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  331. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  332. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  333. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  334. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  335. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  336. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  337. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  338. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  339. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  340. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  341. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  342. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  343. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  344. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  345. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  346. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  347. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  348. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  349. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  350. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  351. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  352. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  353. package/build/_modules/bot/index.d.ts +17 -17
  354. package/build/_modules/bot/index.js +36 -36
  355. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  356. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  357. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  358. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  359. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  360. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  361. package/build/_modules/custom-data/index.d.ts +4 -4
  362. package/build/_modules/custom-data/index.js +9 -9
  363. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  364. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  365. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  366. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  367. package/build/_modules/data-readers/index.d.ts +2 -2
  368. package/build/_modules/data-readers/index.js +10 -10
  369. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  370. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  371. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  372. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  373. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  374. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  375. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  376. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  377. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  378. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  379. package/build/_modules/defaults/index.d.ts +5 -5
  380. package/build/_modules/defaults/index.js +17 -17
  381. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  382. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  383. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  384. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  385. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  386. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  387. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  388. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  389. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  390. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  391. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  392. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  393. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  394. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  395. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  396. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  397. package/build/_modules/discord-assistant/index.d.ts +11 -11
  398. package/build/_modules/discord-assistant/index.js +24 -24
  399. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  400. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  401. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  402. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  403. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  404. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  405. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  406. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  407. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  408. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  409. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  410. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  411. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  412. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  413. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  414. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  415. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  416. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  417. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  418. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  419. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  420. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  421. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  422. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  423. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  424. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  425. package/build/_modules/discord-bot/index.d.ts +11 -11
  426. package/build/_modules/discord-bot/index.js +30 -30
  427. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  428. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  429. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  430. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  431. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  432. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  433. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  434. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  435. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  436. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  437. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  438. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  439. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +74 -74
  440. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +152 -152
  441. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +51 -51
  442. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +83 -83
  443. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +99 -99
  444. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +276 -276
  445. package/build/_modules/local-vector-search/index.d.ts +8 -8
  446. package/build/_modules/local-vector-search/index.js +15 -15
  447. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  448. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  449. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  450. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  451. package/build/_modules/logs/file-log.service.d.ts +132 -132
  452. package/build/_modules/logs/file-log.service.js +444 -444
  453. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  454. package/build/_modules/logs/file-logs.controller.js +138 -138
  455. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  456. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  457. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  458. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  459. package/build/_modules/logs/index.d.ts +8 -8
  460. package/build/_modules/logs/index.js +15 -15
  461. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  462. package/build/_modules/logs/log-buffer.service.js +96 -96
  463. package/build/_modules/logs/logs.controller.d.ts +26 -26
  464. package/build/_modules/logs/logs.controller.js +89 -89
  465. package/build/_modules/logs/logs.service.d.ts +39 -39
  466. package/build/_modules/logs/logs.service.js +96 -96
  467. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  468. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  469. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  470. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  471. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  472. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  473. package/build/_modules/mcp/index.d.ts +3 -3
  474. package/build/_modules/mcp/index.js +12 -12
  475. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  476. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  477. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  478. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  479. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  480. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  481. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  482. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  483. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  484. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  485. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  486. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  487. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  488. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  489. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  490. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  491. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  492. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  493. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  494. package/build/_modules/messaging/index.d.ts +10 -10
  495. package/build/_modules/messaging/index.js +27 -27
  496. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  497. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  498. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  499. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  500. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  501. package/build/_modules/mock/app-params.mock.js +9 -9
  502. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  503. package/build/_modules/mock/app-server.mock.js +148 -148
  504. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  505. package/build/_modules/mock/auth-service.mock.js +19 -19
  506. package/build/_modules/mock/controller.mock.d.ts +5 -5
  507. package/build/_modules/mock/controller.mock.js +14 -14
  508. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  509. package/build/_modules/mock/data-model.mock.js +72 -72
  510. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  511. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  512. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  513. package/build/_modules/mock/email-service.mock.js +20 -20
  514. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  515. package/build/_modules/mock/endpoint.mock.js +79 -79
  516. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  517. package/build/_modules/mock/socket-client.mock.js +38 -38
  518. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  519. package/build/_modules/mock/socket-server.mock.js +32 -32
  520. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  521. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  522. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  523. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  524. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  525. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  526. package/build/_modules/oauth2/index.d.ts +3 -3
  527. package/build/_modules/oauth2/index.js +14 -14
  528. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +5 -5
  529. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +9 -9
  530. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +10 -10
  531. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +14 -14
  532. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +7 -7
  533. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +11 -11
  534. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +15 -15
  535. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +19 -19
  536. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +9 -9
  537. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +13 -13
  538. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +11 -11
  539. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +2 -2
  540. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +6 -6
  541. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +2 -2
  542. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +14 -14
  543. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +2 -2
  544. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +6 -6
  545. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +2 -2
  546. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +12 -12
  547. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +2 -2
  548. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +8 -8
  549. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +2 -2
  550. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +13 -13
  551. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +2 -2
  552. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +7 -7
  553. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +2 -2
  554. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +10 -10
  555. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +2 -2
  556. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +12 -12
  557. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +2 -2
  558. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +8 -8
  559. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +2 -2
  560. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +6 -6
  561. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +2 -2
  562. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +10 -10
  563. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +2 -2
  564. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +6 -6
  565. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +2 -2
  566. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +6 -6
  567. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +2 -2
  568. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +11 -11
  569. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +2 -2
  570. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +13 -13
  571. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +2 -2
  572. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +14 -14
  573. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +2 -2
  574. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +8 -8
  575. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +2 -2
  576. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +6 -6
  577. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +2 -2
  578. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +9 -9
  579. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +2 -2
  580. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +6 -6
  581. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +2 -2
  582. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +20 -20
  583. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +2 -2
  584. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +7 -7
  585. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +2 -2
  586. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +19 -19
  587. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +2 -2
  588. package/build/_modules/privacy-lifecycle/index.d.ts +32 -32
  589. package/build/_modules/privacy-lifecycle/index.js +17 -17
  590. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +27 -27
  591. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +167 -167
  592. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +41 -41
  593. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +363 -363
  594. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.d.ts +5 -5
  595. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.js +9 -9
  596. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +70 -70
  597. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  598. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.d.ts +8 -8
  599. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.js +2 -2
  600. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.d.ts +6 -6
  601. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.js +2 -2
  602. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  603. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  604. package/build/_modules/rate-limit/_models/rate-limit-store.interface.d.ts +8 -8
  605. package/build/_modules/rate-limit/_models/rate-limit-store.interface.js +2 -2
  606. package/build/_modules/rate-limit/index.d.ts +8 -8
  607. package/build/_modules/rate-limit/index.js +9 -9
  608. package/build/_modules/rate-limit/rate-limit-in-memory.store.d.ts +18 -18
  609. package/build/_modules/rate-limit/rate-limit-in-memory.store.js +70 -70
  610. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +68 -68
  611. package/build/_modules/rate-limit/rate-limit.middleware.js +378 -378
  612. package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +33 -33
  613. package/build/_modules/scheduler/_models/scheduler-job.interface.js +2 -2
  614. package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +17 -17
  615. package/build/_modules/scheduler/get-scheduler-routing-module.util.js +30 -30
  616. package/build/_modules/scheduler/index.d.ts +4 -4
  617. package/build/_modules/scheduler/index.js +9 -9
  618. package/build/_modules/scheduler/scheduler.controller.d.ts +24 -24
  619. package/build/_modules/scheduler/scheduler.controller.js +53 -53
  620. package/build/_modules/scheduler/scheduler.service.d.ts +53 -53
  621. package/build/_modules/scheduler/scheduler.service.js +163 -163
  622. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  623. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  624. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  625. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  626. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  627. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  628. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  629. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  630. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  631. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  632. package/build/_modules/scoped-config/index.d.ts +5 -5
  633. package/build/_modules/scoped-config/index.js +14 -14
  634. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  635. package/build/_modules/server/errors/errors.control-service.js +10 -10
  636. package/build/_modules/server/errors/errors.controller.d.ts +144 -144
  637. package/build/_modules/server/errors/errors.controller.js +404 -404
  638. package/build/_modules/server/errors/errors.data-service.d.ts +70 -70
  639. package/build/_modules/server/errors/errors.data-service.js +677 -677
  640. package/build/_modules/server/index.d.ts +15 -15
  641. package/build/_modules/server/index.js +35 -35
  642. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +8 -8
  643. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +12 -12
  644. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -19
  645. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts.map +1 -1
  646. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -23
  647. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js.map +1 -1
  648. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +18 -18
  649. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +82 -82
  650. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +18 -18
  651. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +2 -2
  652. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.d.ts +13 -13
  653. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.js +17 -17
  654. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.d.ts +7 -7
  655. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.js +11 -11
  656. package/build/_modules/server/server-status/db-readiness-probe.control-service.d.ts +13 -13
  657. package/build/_modules/server/server-status/db-readiness-probe.control-service.js +125 -125
  658. package/build/_modules/server/server-status/db-readiness-probe.interface.d.ts +17 -17
  659. package/build/_modules/server/server-status/db-readiness-probe.interface.js +2 -2
  660. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  661. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  662. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  663. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  664. package/build/_modules/server/server-status/server-status.control-service.d.ts +111 -111
  665. package/build/_modules/server/server-status/server-status.control-service.js +302 -302
  666. package/build/_modules/server/server-status/server-status.controller.d.ts +92 -92
  667. package/build/_modules/server/server-status/server-status.controller.js +253 -253
  668. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  669. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  670. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  671. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  672. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  673. package/build/_modules/socket/_models/socket-presence.control-model.js +140 -140
  674. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +22 -22
  675. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +31 -31
  676. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  677. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  678. package/build/_modules/socket/_services/socket-server.service.d.ts +98 -98
  679. package/build/_modules/socket/_services/socket-server.service.js +673 -673
  680. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  681. package/build/_modules/socket/app-extended.server.js +521 -521
  682. package/build/_modules/socket/index.d.ts +8 -8
  683. package/build/_modules/socket/index.js +35 -35
  684. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  685. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  686. package/build/_modules/test/index.d.ts +3 -3
  687. package/build/_modules/test/index.js +11 -11
  688. package/build/_modules/test/test.controller.d.ts +5 -5
  689. package/build/_modules/test/test.controller.js +103 -103
  690. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.d.ts +10 -10
  691. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.js +13 -13
  692. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.d.ts +21 -21
  693. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.js +38 -38
  694. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.d.ts +49 -49
  695. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.js +117 -117
  696. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.d.ts +14 -14
  697. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.js +26 -26
  698. package/build/_modules/test-email-sink/index.d.ts +11 -11
  699. package/build/_modules/test-email-sink/index.js +14 -14
  700. package/build/_modules/test-email-sink/test-email-sink.controller.d.ts +23 -23
  701. package/build/_modules/test-email-sink/test-email-sink.controller.js +66 -66
  702. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  703. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  704. package/build/_modules/usage/index.d.ts +4 -4
  705. package/build/_modules/usage/index.js +13 -13
  706. package/build/_modules/usage/usage.controller.d.ts +6 -6
  707. package/build/_modules/usage/usage.controller.js +105 -105
  708. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  709. package/build/_modules/usage/usage.data-service.js +135 -135
  710. package/build/_services/base/api.service-base.d.ts +9 -9
  711. package/build/_services/base/api.service-base.js +46 -46
  712. package/build/_services/base/archive-data.service.d.ts +25 -25
  713. package/build/_services/base/archive-data.service.js +151 -151
  714. package/build/_services/base/data.service.d.ts +402 -402
  715. package/build/_services/base/data.service.js +2131 -2131
  716. package/build/_services/base/db.service.d.ts +424 -424
  717. package/build/_services/base/db.service.js +1356 -1356
  718. package/build/_services/base/singleton.service-base.d.ts +8 -8
  719. package/build/_services/base/singleton.service-base.js +21 -21
  720. package/build/_services/base/singleton.service.d.ts +11 -11
  721. package/build/_services/base/singleton.service.js +31 -31
  722. package/build/_services/core/api.service.d.ts +45 -45
  723. package/build/_services/core/api.service.js +456 -456
  724. package/build/_services/core/auth.service.d.ts +129 -129
  725. package/build/_services/core/auth.service.js +59 -59
  726. package/build/_services/core/collection-growth-monitor.service.d.ts +76 -76
  727. package/build/_services/core/collection-growth-monitor.service.js +165 -165
  728. package/build/_services/core/db-stats.service.d.ts +33 -33
  729. package/build/_services/core/db-stats.service.js +64 -64
  730. package/build/_services/core/diagnostics.service.d.ts +42 -42
  731. package/build/_services/core/diagnostics.service.js +121 -121
  732. package/build/_services/core/email.service.d.ts +77 -77
  733. package/build/_services/core/email.service.js +503 -503
  734. package/build/_services/core/event-loop-diag.service.d.ts +49 -49
  735. package/build/_services/core/event-loop-diag.service.js +106 -106
  736. package/build/_services/core/global.service.d.ts +83 -83
  737. package/build/_services/core/global.service.js +386 -386
  738. package/build/_services/core/memory-guard.service.d.ts +166 -166
  739. package/build/_services/core/memory-guard.service.js +369 -369
  740. package/build/_services/core/migration-runner.service.d.ts +39 -39
  741. package/build/_services/core/migration-runner.service.js +74 -74
  742. package/build/_services/core/mongo-transaction.control-service.d.ts +18 -18
  743. package/build/_services/core/mongo-transaction.control-service.js +94 -94
  744. package/build/_services/core/request-hunter.service.d.ts +73 -73
  745. package/build/_services/core/request-hunter.service.js +122 -122
  746. package/build/_services/core/service-collection.service.d.ts +4 -4
  747. package/build/_services/core/service-collection.service.js +7 -7
  748. package/build/_services/route/controller.service.d.ts +124 -124
  749. package/build/_services/route/controller.service.js +95 -95
  750. package/build/_services/route/routing-module.service.d.ts +80 -80
  751. package/build/_services/route/routing-module.service.js +250 -250
  752. package/build/_services/server/app.server.d.ts +429 -429
  753. package/build/_services/server/app.server.js +1226 -1226
  754. package/build/_services/shared.static-service.d.ts +43 -43
  755. package/build/_services/shared.static-service.js +92 -92
  756. package/build/index.d.ts +63 -63
  757. package/build/index.js +101 -101
  758. package/package.json +1 -1
  759. package/src/_models/control-models/endpoint-params.control-model.spec.ts +102 -17
  760. package/src/_models/control-models/endpoint-params.control-model.ts +131 -220
  761. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +3 -2
  762. package/src/_services/shared.static-service.spec.ts +57 -57
  763. package/src/_services/shared.static-service.ts +48 -48
@@ -1,577 +1,577 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyNTS_OAuth2_ControlService = void 0;
4
- const crypto_js_1 = require("crypto-js");
5
- const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
- const singleton_service_1 = require("../../../_services/base/singleton.service");
7
- const global_settings_const_1 = require("../../../_collections/global-settings.const");
8
- const oauth2_auth_service_1 = require("./oauth2.auth-service");
9
- /**
10
- * OAuth2 Control Service implementation
11
- *
12
- * This service handles OAuth2 specific business logic and token management
13
- *
14
- * @example
15
- * const oauth2Service = DyNTS_OAuth2_ControlService.getInstance();
16
- * await oauth2Service.handleAuthorizationRequest(req, res);
17
- */
18
- class DyNTS_OAuth2_ControlService extends singleton_service_1.DyNTS_SingletonService {
19
- static getInstance() {
20
- return DyNTS_OAuth2_ControlService.getSingletonInstance();
21
- }
22
- serviceName = 'OAuth2ControlService';
23
- authService = oauth2_auth_service_1.DyNTS_OAuth2_AuthService.getInstance();
24
- authorizationCodes = new Map();
25
- accessTokens = new Map();
26
- refreshTokens = new Map();
27
- clients = new Map();
28
- users = new Map();
29
- /**
30
- * Handles the OAuth2 authorization request
31
- * @param req Express Request object
32
- * @param res Express Response object
33
- */
34
- async handleAuthorizationRequest(req, res) {
35
- try {
36
- const { response_type, client_id, redirect_uri, scope, state } = req.query;
37
- // Validate required parameters
38
- if (!response_type || !client_id || !redirect_uri) {
39
- throw new fsm_dynamo_1.DyFM_Error({
40
- status: 400,
41
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA0`,
42
- addECToUserMsg: true,
43
- message: 'Missing required OAuth2 parameters',
44
- userMessage: 'Invalid authorization request',
45
- issuerService: this.serviceName,
46
- });
47
- }
48
- // Validate client_id against registered clients
49
- if (!this.isValidClient(client_id)) {
50
- throw new fsm_dynamo_1.DyFM_Error({
51
- status: 400,
52
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA2`,
53
- addECToUserMsg: true,
54
- message: 'Invalid client_id',
55
- userMessage: 'Invalid authorization request',
56
- issuerService: this.serviceName,
57
- });
58
- }
59
- // Validate redirect_uri against registered redirect URIs
60
- if (!this.isValidRedirectUri(client_id, redirect_uri)) {
61
- throw new fsm_dynamo_1.DyFM_Error({
62
- status: 400,
63
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA3`,
64
- addECToUserMsg: true,
65
- message: 'Invalid redirect_uri',
66
- userMessage: 'Invalid authorization request',
67
- issuerService: this.serviceName,
68
- });
69
- }
70
- // Validate scope against allowed scopes
71
- if (!this.isValidScope(client_id, scope)) {
72
- throw new fsm_dynamo_1.DyFM_Error({
73
- status: 400,
74
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA4`,
75
- addECToUserMsg: true,
76
- message: 'Invalid scope',
77
- userMessage: 'Invalid authorization request',
78
- issuerService: this.serviceName,
79
- });
80
- }
81
- // For authorization code flow
82
- if (response_type === 'code') {
83
- const authorizationCode = await this.generateAuthorizationCode(client_id, scope);
84
- // Redirect with authorization code
85
- const redirectUrl = new URL(redirect_uri);
86
- redirectUrl.searchParams.append('code', authorizationCode);
87
- if (state)
88
- redirectUrl.searchParams.append('state', state);
89
- res.redirect(redirectUrl.toString());
90
- return;
91
- }
92
- // For implicit flow
93
- if (response_type === 'token') {
94
- const accessToken = await this.generateAccessToken(client_id, scope);
95
- // Redirect with access token
96
- const redirectUrl = new URL(redirect_uri);
97
- redirectUrl.hash = `access_token=${accessToken}`;
98
- if (state)
99
- redirectUrl.hash += `&state=${state}`;
100
- res.redirect(redirectUrl.toString());
101
- return;
102
- }
103
- throw new fsm_dynamo_1.DyFM_Error({
104
- status: 400,
105
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA1`,
106
- addECToUserMsg: true,
107
- message: 'Unsupported response_type',
108
- userMessage: 'Invalid authorization request',
109
- issuerService: this.serviceName,
110
- });
111
- }
112
- catch (error) {
113
- fsm_dynamo_1.DyFM_Log.error('Authorization request failed', error);
114
- throw error;
115
- }
116
- }
117
- /**
118
- * Validates if the client is registered and active
119
- * @param clientId The client ID to validate
120
- * @returns true if the client is valid
121
- */
122
- isValidClient(clientId) {
123
- const client = this.clients.get(clientId);
124
- return client?.isActive ?? false;
125
- }
126
- /**
127
- * Validates if the redirect URI is registered for the client
128
- * @param clientId The client ID
129
- * @param redirectUri The redirect URI to validate
130
- * @returns true if the redirect URI is valid
131
- */
132
- isValidRedirectUri(clientId, redirectUri) {
133
- const client = this.clients.get(clientId);
134
- if (!client)
135
- return false;
136
- // Check if the redirect URI matches any of the registered URIs
137
- return client.redirectUris.some(uri => {
138
- // Simple exact match for now
139
- // TODO: Implement more sophisticated URI matching (e.g., wildcards, regex)
140
- return uri === redirectUri;
141
- });
142
- }
143
- /**
144
- * Validates if the scope is allowed for the client
145
- * @param clientId The client ID
146
- * @param scope The scope to validate
147
- * @returns true if the scope is valid
148
- */
149
- isValidScope(clientId, scope) {
150
- const client = this.clients.get(clientId);
151
- if (!client)
152
- return false;
153
- // If no scope is requested, it's valid
154
- if (!scope)
155
- return true;
156
- // Split scope string into individual scopes
157
- const requestedScopes = scope.split(' ');
158
- // Check if all requested scopes are allowed
159
- return requestedScopes.every(s => client.allowedScopes.includes(s));
160
- }
161
- /**
162
- * Handles the OAuth2 token request
163
- * @param req Express Request object
164
- * @param res Express Response object
165
- */
166
- async handleTokenRequest(req, res) {
167
- try {
168
- const { grant_type, code, refresh_token, client_id, client_secret, username, password } = req.body;
169
- // Validate required parameters
170
- if (!grant_type || !client_id || !client_secret) {
171
- throw new fsm_dynamo_1.DyFM_Error({
172
- status: 400,
173
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT0`,
174
- addECToUserMsg: true,
175
- message: 'Missing required OAuth2 parameters',
176
- userMessage: 'Invalid token request',
177
- issuerService: this.serviceName,
178
- });
179
- }
180
- // Validate client credentials
181
- if (!this.validateClientCredentials(client_id, client_secret)) {
182
- throw new fsm_dynamo_1.DyFM_Error({
183
- status: 401,
184
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT4`,
185
- addECToUserMsg: true,
186
- message: 'Invalid client credentials',
187
- userMessage: 'Invalid token request',
188
- issuerService: this.serviceName,
189
- });
190
- }
191
- switch (grant_type) {
192
- case 'authorization_code':
193
- if (!code) {
194
- throw new fsm_dynamo_1.DyFM_Error({
195
- status: 400,
196
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT1`,
197
- addECToUserMsg: true,
198
- message: 'Missing authorization code',
199
- userMessage: 'Invalid token request',
200
- issuerService: this.serviceName,
201
- });
202
- }
203
- // Validate authorization code
204
- const authCodeData = this.authorizationCodes.get(code);
205
- if (!authCodeData || authCodeData.expiresAt < Date.now()) {
206
- throw new fsm_dynamo_1.DyFM_Error({
207
- status: 400,
208
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT5`,
209
- addECToUserMsg: true,
210
- message: 'Invalid or expired authorization code',
211
- userMessage: 'Invalid token request',
212
- issuerService: this.serviceName,
213
- });
214
- }
215
- // Remove used authorization code
216
- this.authorizationCodes.delete(code);
217
- const accessToken = await this.generateAccessToken(client_id, authCodeData.scope);
218
- const refreshToken = await this.generateRefreshToken(client_id);
219
- // Store refresh token with access token reference
220
- this.refreshTokens.set(refreshToken, {
221
- clientId: client_id,
222
- scope: authCodeData.scope,
223
- accessToken
224
- });
225
- res.json({
226
- access_token: accessToken,
227
- token_type: 'Bearer',
228
- expires_in: 3600,
229
- refresh_token: refreshToken,
230
- scope: authCodeData.scope
231
- });
232
- break;
233
- case 'refresh_token':
234
- if (!refresh_token) {
235
- throw new fsm_dynamo_1.DyFM_Error({
236
- status: 400,
237
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT2`,
238
- addECToUserMsg: true,
239
- message: 'Missing refresh token',
240
- userMessage: 'Invalid token request',
241
- issuerService: this.serviceName,
242
- });
243
- }
244
- // Validate refresh token
245
- const refreshTokenData = this.refreshTokens.get(refresh_token);
246
- if (!refreshTokenData) {
247
- throw new fsm_dynamo_1.DyFM_Error({
248
- status: 400,
249
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT6`,
250
- addECToUserMsg: true,
251
- message: 'Invalid refresh token',
252
- userMessage: 'Invalid token request',
253
- issuerService: this.serviceName,
254
- });
255
- }
256
- // Revoke old access token
257
- this.accessTokens.delete(refreshTokenData.accessToken);
258
- // Generate new access token
259
- const newAccessToken = await this.generateAccessToken(client_id, refreshTokenData.scope);
260
- const newRefreshToken = await this.generateRefreshToken(client_id);
261
- // Store new refresh token
262
- this.refreshTokens.set(newRefreshToken, {
263
- clientId: client_id,
264
- scope: refreshTokenData.scope,
265
- accessToken: newAccessToken
266
- });
267
- res.json({
268
- access_token: newAccessToken,
269
- token_type: 'Bearer',
270
- expires_in: 3600,
271
- refresh_token: newRefreshToken,
272
- scope: refreshTokenData.scope
273
- });
274
- break;
275
- case 'client_credentials':
276
- const clientAccessToken = await this.generateAccessToken(client_id, '');
277
- res.json({
278
- access_token: clientAccessToken,
279
- token_type: 'Bearer',
280
- expires_in: 3600
281
- });
282
- break;
283
- case 'password':
284
- if (!username || !password) {
285
- throw new fsm_dynamo_1.DyFM_Error({
286
- status: 400,
287
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT7`,
288
- addECToUserMsg: true,
289
- message: 'Missing username or password',
290
- userMessage: 'Invalid token request',
291
- issuerService: this.serviceName,
292
- });
293
- }
294
- // Authenticate user
295
- const userScopes = this.authenticateUser(username, password);
296
- if (!userScopes) {
297
- throw new fsm_dynamo_1.DyFM_Error({
298
- status: 401,
299
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT8`,
300
- addECToUserMsg: true,
301
- message: 'Invalid username or password',
302
- userMessage: 'Invalid token request',
303
- issuerService: this.serviceName,
304
- });
305
- }
306
- // Generate access token
307
- const userAccessToken = await this.generateAccessToken(client_id, userScopes.join(' '));
308
- const userRefreshToken = await this.generateRefreshToken(client_id);
309
- // Store refresh token with access token reference
310
- this.refreshTokens.set(userRefreshToken, {
311
- clientId: client_id,
312
- scope: userScopes.join(' '),
313
- accessToken: userAccessToken
314
- });
315
- res.json({
316
- access_token: userAccessToken,
317
- token_type: 'Bearer',
318
- expires_in: 3600,
319
- refresh_token: userRefreshToken,
320
- scope: userScopes.join(' ')
321
- });
322
- break;
323
- default:
324
- throw new fsm_dynamo_1.DyFM_Error({
325
- status: 400,
326
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT3`,
327
- addECToUserMsg: true,
328
- message: 'Unsupported grant_type',
329
- userMessage: 'Invalid token request',
330
- issuerService: this.serviceName,
331
- });
332
- }
333
- }
334
- catch (error) {
335
- fsm_dynamo_1.DyFM_Log.error('Token request failed', error);
336
- throw error;
337
- }
338
- }
339
- /**
340
- * Validates client credentials
341
- * @param clientId The client ID
342
- * @param clientSecret The client secret
343
- * @returns true if the credentials are valid
344
- */
345
- validateClientCredentials(clientId, clientSecret) {
346
- const client = this.clients.get(clientId);
347
- return (client?.clientSecret === clientSecret) && (client?.isActive ?? false);
348
- }
349
- /**
350
- * Handles the OAuth2 userinfo request
351
- * @param req Express Request object
352
- * @param res Express Response object
353
- */
354
- async handleUserInfoRequest(req, res) {
355
- try {
356
- const token = this.authService.getTokenFromRequest(req);
357
- // Validate token
358
- const tokenData = this.accessTokens.get(token);
359
- if (!tokenData || tokenData.expiresAt < Date.now()) {
360
- throw new fsm_dynamo_1.DyFM_Error({
361
- status: 401,
362
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HU0`,
363
- addECToUserMsg: true,
364
- message: 'Invalid or expired access token',
365
- userMessage: 'Invalid token',
366
- issuerService: this.serviceName,
367
- });
368
- }
369
- // Extract user information based on token scope
370
- const userInfo = await this.getUserInfoFromToken(token);
371
- res.json(userInfo);
372
- }
373
- catch (error) {
374
- fsm_dynamo_1.DyFM_Log.error('Userinfo request failed', error);
375
- throw error;
376
- }
377
- }
378
- /**
379
- * Gets user information from the token
380
- * @param token The access token
381
- * @returns The user information object
382
- */
383
- async getUserInfoFromToken(token) {
384
- const tokenData = this.accessTokens.get(token);
385
- if (!tokenData) {
386
- throw new fsm_dynamo_1.DyFM_Error({
387
- status: 401,
388
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HU1`,
389
- addECToUserMsg: true,
390
- message: 'Invalid access token',
391
- userMessage: 'Invalid token',
392
- issuerService: this.serviceName,
393
- });
394
- }
395
- // TODO: Implement user information retrieval from database/storage
396
- // For now, return mock user information
397
- return {
398
- sub: 'user123',
399
- name: 'John Doe',
400
- email: 'john.doe@example.com',
401
- // Add other user information based on scope
402
- ...(tokenData.scope.includes('profile') && {
403
- given_name: 'John',
404
- family_name: 'Doe',
405
- picture: 'https://example.com/john.jpg'
406
- }),
407
- ...(tokenData.scope.includes('email') && {
408
- email_verified: true
409
- })
410
- };
411
- }
412
- /**
413
- * Handles the OAuth2 token revocation request
414
- * @param req Express Request object
415
- * @param res Express Response object
416
- */
417
- async handleTokenRevocation(req, res) {
418
- try {
419
- const { token, token_type_hint } = req.body;
420
- if (!token) {
421
- throw new fsm_dynamo_1.DyFM_Error({
422
- status: 400,
423
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HR0`,
424
- addECToUserMsg: true,
425
- message: 'Missing token',
426
- userMessage: 'Invalid revocation request',
427
- issuerService: this.serviceName,
428
- });
429
- }
430
- // Try to revoke the token based on token_type_hint
431
- let revoked = false;
432
- if (!token_type_hint || token_type_hint === 'access_token') {
433
- // Try to revoke as access token
434
- if (this.accessTokens.delete(token)) {
435
- revoked = true;
436
- }
437
- }
438
- if (!revoked && (!token_type_hint || token_type_hint === 'refresh_token')) {
439
- // Try to revoke as refresh token
440
- const refreshTokenData = this.refreshTokens.get(token);
441
- if (refreshTokenData) {
442
- // Also revoke the associated access token
443
- this.accessTokens.delete(refreshTokenData.accessToken);
444
- this.refreshTokens.delete(token);
445
- revoked = true;
446
- }
447
- }
448
- if (!revoked) {
449
- // Token not found or already revoked
450
- throw new fsm_dynamo_1.DyFM_Error({
451
- status: 400,
452
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HR1`,
453
- addECToUserMsg: true,
454
- message: 'Token not found or already revoked',
455
- userMessage: 'Invalid revocation request',
456
- issuerService: this.serviceName,
457
- });
458
- }
459
- res.status(200).send();
460
- }
461
- catch (error) {
462
- fsm_dynamo_1.DyFM_Log.error('Token revocation failed', error);
463
- throw error;
464
- }
465
- }
466
- /**
467
- * Generates an authorization code
468
- * @param clientId The client ID
469
- * @param scope The requested scope
470
- * @returns The generated authorization code
471
- */
472
- async generateAuthorizationCode(clientId, scope) {
473
- //const code = randomBytes(32).toString('hex');
474
- const code = crypto_js_1.cryptoJs.lib.WordArray.random(32).toString();
475
- const expiresAt = Date.now() + 600000; // 10 minutes expiration
476
- this.authorizationCodes.set(code, {
477
- clientId,
478
- scope,
479
- expiresAt
480
- });
481
- return code;
482
- }
483
- /**
484
- * Generates an access token
485
- * @param clientId The client ID
486
- * @param scope The requested scope
487
- * @returns The generated access token
488
- */
489
- async generateAccessToken(clientId, scope) {
490
- //const token = randomBytes(32).toString('hex');
491
- const token = crypto_js_1.cryptoJs.lib.WordArray.random(32).toString();
492
- const expiresAt = Date.now() + 3600000; // 1 hour expiration
493
- this.accessTokens.set(token, {
494
- clientId,
495
- scope,
496
- expiresAt
497
- });
498
- return token;
499
- }
500
- /**
501
- * Generates a refresh token
502
- * @param clientId The client ID
503
- * @returns The generated refresh token
504
- */
505
- async generateRefreshToken(clientId) {
506
- //const token = randomBytes(32).toString('hex');
507
- const token = crypto_js_1.cryptoJs.lib.WordArray.random(32).toString();
508
- this.refreshTokens.set(token, {
509
- clientId,
510
- scope: '',
511
- accessToken: ''
512
- });
513
- return token;
514
- }
515
- /**
516
- * Gets the access token data
517
- * @param token The access token
518
- * @returns The access token data or undefined if not found
519
- */
520
- getAccessTokenData(token) {
521
- return this.accessTokens.get(token);
522
- }
523
- /**
524
- * Registers a new OAuth2 client
525
- * @param clientId The client ID
526
- * @param clientSecret The client secret
527
- * @param redirectUris The allowed redirect URIs
528
- * @param allowedScopes The allowed scopes
529
- * @returns true if the client was registered successfully
530
- */
531
- registerClient(clientId, clientSecret, redirectUris, allowedScopes) {
532
- if (this.clients.has(clientId)) {
533
- return false;
534
- }
535
- this.clients.set(clientId, {
536
- clientId,
537
- clientSecret,
538
- redirectUris,
539
- allowedScopes,
540
- isActive: true
541
- });
542
- return true;
543
- }
544
- /**
545
- * Authenticates a user with username and password
546
- * @param username The username
547
- * @param password The password
548
- * @returns The user's scopes if authentication is successful, undefined otherwise
549
- */
550
- authenticateUser(username, password) {
551
- const user = this.users.get(username);
552
- if (!user || user.password !== password) { // In a real implementation, compare hashed passwords
553
- return undefined;
554
- }
555
- return user.scopes;
556
- }
557
- /**
558
- * Registers a new user
559
- * @param username The username
560
- * @param password The password
561
- * @param scopes The user's scopes
562
- * @returns true if the user was registered successfully
563
- */
564
- registerUser(username, password, scopes) {
565
- if (this.users.has(username)) {
566
- return false;
567
- }
568
- this.users.set(username, {
569
- username,
570
- password, // In a real implementation, hash the password
571
- scopes
572
- });
573
- return true;
574
- }
575
- }
576
- exports.DyNTS_OAuth2_ControlService = DyNTS_OAuth2_ControlService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_OAuth2_ControlService = void 0;
4
+ const crypto_js_1 = require("crypto-js");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const singleton_service_1 = require("../../../_services/base/singleton.service");
7
+ const global_settings_const_1 = require("../../../_collections/global-settings.const");
8
+ const oauth2_auth_service_1 = require("./oauth2.auth-service");
9
+ /**
10
+ * OAuth2 Control Service implementation
11
+ *
12
+ * This service handles OAuth2 specific business logic and token management
13
+ *
14
+ * @example
15
+ * const oauth2Service = DyNTS_OAuth2_ControlService.getInstance();
16
+ * await oauth2Service.handleAuthorizationRequest(req, res);
17
+ */
18
+ class DyNTS_OAuth2_ControlService extends singleton_service_1.DyNTS_SingletonService {
19
+ static getInstance() {
20
+ return DyNTS_OAuth2_ControlService.getSingletonInstance();
21
+ }
22
+ serviceName = 'OAuth2ControlService';
23
+ authService = oauth2_auth_service_1.DyNTS_OAuth2_AuthService.getInstance();
24
+ authorizationCodes = new Map();
25
+ accessTokens = new Map();
26
+ refreshTokens = new Map();
27
+ clients = new Map();
28
+ users = new Map();
29
+ /**
30
+ * Handles the OAuth2 authorization request
31
+ * @param req Express Request object
32
+ * @param res Express Response object
33
+ */
34
+ async handleAuthorizationRequest(req, res) {
35
+ try {
36
+ const { response_type, client_id, redirect_uri, scope, state } = req.query;
37
+ // Validate required parameters
38
+ if (!response_type || !client_id || !redirect_uri) {
39
+ throw new fsm_dynamo_1.DyFM_Error({
40
+ status: 400,
41
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA0`,
42
+ addECToUserMsg: true,
43
+ message: 'Missing required OAuth2 parameters',
44
+ userMessage: 'Invalid authorization request',
45
+ issuerService: this.serviceName,
46
+ });
47
+ }
48
+ // Validate client_id against registered clients
49
+ if (!this.isValidClient(client_id)) {
50
+ throw new fsm_dynamo_1.DyFM_Error({
51
+ status: 400,
52
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA2`,
53
+ addECToUserMsg: true,
54
+ message: 'Invalid client_id',
55
+ userMessage: 'Invalid authorization request',
56
+ issuerService: this.serviceName,
57
+ });
58
+ }
59
+ // Validate redirect_uri against registered redirect URIs
60
+ if (!this.isValidRedirectUri(client_id, redirect_uri)) {
61
+ throw new fsm_dynamo_1.DyFM_Error({
62
+ status: 400,
63
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA3`,
64
+ addECToUserMsg: true,
65
+ message: 'Invalid redirect_uri',
66
+ userMessage: 'Invalid authorization request',
67
+ issuerService: this.serviceName,
68
+ });
69
+ }
70
+ // Validate scope against allowed scopes
71
+ if (!this.isValidScope(client_id, scope)) {
72
+ throw new fsm_dynamo_1.DyFM_Error({
73
+ status: 400,
74
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA4`,
75
+ addECToUserMsg: true,
76
+ message: 'Invalid scope',
77
+ userMessage: 'Invalid authorization request',
78
+ issuerService: this.serviceName,
79
+ });
80
+ }
81
+ // For authorization code flow
82
+ if (response_type === 'code') {
83
+ const authorizationCode = await this.generateAuthorizationCode(client_id, scope);
84
+ // Redirect with authorization code
85
+ const redirectUrl = new URL(redirect_uri);
86
+ redirectUrl.searchParams.append('code', authorizationCode);
87
+ if (state)
88
+ redirectUrl.searchParams.append('state', state);
89
+ res.redirect(redirectUrl.toString());
90
+ return;
91
+ }
92
+ // For implicit flow
93
+ if (response_type === 'token') {
94
+ const accessToken = await this.generateAccessToken(client_id, scope);
95
+ // Redirect with access token
96
+ const redirectUrl = new URL(redirect_uri);
97
+ redirectUrl.hash = `access_token=${accessToken}`;
98
+ if (state)
99
+ redirectUrl.hash += `&state=${state}`;
100
+ res.redirect(redirectUrl.toString());
101
+ return;
102
+ }
103
+ throw new fsm_dynamo_1.DyFM_Error({
104
+ status: 400,
105
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HA1`,
106
+ addECToUserMsg: true,
107
+ message: 'Unsupported response_type',
108
+ userMessage: 'Invalid authorization request',
109
+ issuerService: this.serviceName,
110
+ });
111
+ }
112
+ catch (error) {
113
+ fsm_dynamo_1.DyFM_Log.error('Authorization request failed', error);
114
+ throw error;
115
+ }
116
+ }
117
+ /**
118
+ * Validates if the client is registered and active
119
+ * @param clientId The client ID to validate
120
+ * @returns true if the client is valid
121
+ */
122
+ isValidClient(clientId) {
123
+ const client = this.clients.get(clientId);
124
+ return client?.isActive ?? false;
125
+ }
126
+ /**
127
+ * Validates if the redirect URI is registered for the client
128
+ * @param clientId The client ID
129
+ * @param redirectUri The redirect URI to validate
130
+ * @returns true if the redirect URI is valid
131
+ */
132
+ isValidRedirectUri(clientId, redirectUri) {
133
+ const client = this.clients.get(clientId);
134
+ if (!client)
135
+ return false;
136
+ // Check if the redirect URI matches any of the registered URIs
137
+ return client.redirectUris.some(uri => {
138
+ // Simple exact match for now
139
+ // TODO: Implement more sophisticated URI matching (e.g., wildcards, regex)
140
+ return uri === redirectUri;
141
+ });
142
+ }
143
+ /**
144
+ * Validates if the scope is allowed for the client
145
+ * @param clientId The client ID
146
+ * @param scope The scope to validate
147
+ * @returns true if the scope is valid
148
+ */
149
+ isValidScope(clientId, scope) {
150
+ const client = this.clients.get(clientId);
151
+ if (!client)
152
+ return false;
153
+ // If no scope is requested, it's valid
154
+ if (!scope)
155
+ return true;
156
+ // Split scope string into individual scopes
157
+ const requestedScopes = scope.split(' ');
158
+ // Check if all requested scopes are allowed
159
+ return requestedScopes.every(s => client.allowedScopes.includes(s));
160
+ }
161
+ /**
162
+ * Handles the OAuth2 token request
163
+ * @param req Express Request object
164
+ * @param res Express Response object
165
+ */
166
+ async handleTokenRequest(req, res) {
167
+ try {
168
+ const { grant_type, code, refresh_token, client_id, client_secret, username, password } = req.body;
169
+ // Validate required parameters
170
+ if (!grant_type || !client_id || !client_secret) {
171
+ throw new fsm_dynamo_1.DyFM_Error({
172
+ status: 400,
173
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT0`,
174
+ addECToUserMsg: true,
175
+ message: 'Missing required OAuth2 parameters',
176
+ userMessage: 'Invalid token request',
177
+ issuerService: this.serviceName,
178
+ });
179
+ }
180
+ // Validate client credentials
181
+ if (!this.validateClientCredentials(client_id, client_secret)) {
182
+ throw new fsm_dynamo_1.DyFM_Error({
183
+ status: 401,
184
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT4`,
185
+ addECToUserMsg: true,
186
+ message: 'Invalid client credentials',
187
+ userMessage: 'Invalid token request',
188
+ issuerService: this.serviceName,
189
+ });
190
+ }
191
+ switch (grant_type) {
192
+ case 'authorization_code':
193
+ if (!code) {
194
+ throw new fsm_dynamo_1.DyFM_Error({
195
+ status: 400,
196
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT1`,
197
+ addECToUserMsg: true,
198
+ message: 'Missing authorization code',
199
+ userMessage: 'Invalid token request',
200
+ issuerService: this.serviceName,
201
+ });
202
+ }
203
+ // Validate authorization code
204
+ const authCodeData = this.authorizationCodes.get(code);
205
+ if (!authCodeData || authCodeData.expiresAt < Date.now()) {
206
+ throw new fsm_dynamo_1.DyFM_Error({
207
+ status: 400,
208
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT5`,
209
+ addECToUserMsg: true,
210
+ message: 'Invalid or expired authorization code',
211
+ userMessage: 'Invalid token request',
212
+ issuerService: this.serviceName,
213
+ });
214
+ }
215
+ // Remove used authorization code
216
+ this.authorizationCodes.delete(code);
217
+ const accessToken = await this.generateAccessToken(client_id, authCodeData.scope);
218
+ const refreshToken = await this.generateRefreshToken(client_id);
219
+ // Store refresh token with access token reference
220
+ this.refreshTokens.set(refreshToken, {
221
+ clientId: client_id,
222
+ scope: authCodeData.scope,
223
+ accessToken
224
+ });
225
+ res.json({
226
+ access_token: accessToken,
227
+ token_type: 'Bearer',
228
+ expires_in: 3600,
229
+ refresh_token: refreshToken,
230
+ scope: authCodeData.scope
231
+ });
232
+ break;
233
+ case 'refresh_token':
234
+ if (!refresh_token) {
235
+ throw new fsm_dynamo_1.DyFM_Error({
236
+ status: 400,
237
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT2`,
238
+ addECToUserMsg: true,
239
+ message: 'Missing refresh token',
240
+ userMessage: 'Invalid token request',
241
+ issuerService: this.serviceName,
242
+ });
243
+ }
244
+ // Validate refresh token
245
+ const refreshTokenData = this.refreshTokens.get(refresh_token);
246
+ if (!refreshTokenData) {
247
+ throw new fsm_dynamo_1.DyFM_Error({
248
+ status: 400,
249
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT6`,
250
+ addECToUserMsg: true,
251
+ message: 'Invalid refresh token',
252
+ userMessage: 'Invalid token request',
253
+ issuerService: this.serviceName,
254
+ });
255
+ }
256
+ // Revoke old access token
257
+ this.accessTokens.delete(refreshTokenData.accessToken);
258
+ // Generate new access token
259
+ const newAccessToken = await this.generateAccessToken(client_id, refreshTokenData.scope);
260
+ const newRefreshToken = await this.generateRefreshToken(client_id);
261
+ // Store new refresh token
262
+ this.refreshTokens.set(newRefreshToken, {
263
+ clientId: client_id,
264
+ scope: refreshTokenData.scope,
265
+ accessToken: newAccessToken
266
+ });
267
+ res.json({
268
+ access_token: newAccessToken,
269
+ token_type: 'Bearer',
270
+ expires_in: 3600,
271
+ refresh_token: newRefreshToken,
272
+ scope: refreshTokenData.scope
273
+ });
274
+ break;
275
+ case 'client_credentials':
276
+ const clientAccessToken = await this.generateAccessToken(client_id, '');
277
+ res.json({
278
+ access_token: clientAccessToken,
279
+ token_type: 'Bearer',
280
+ expires_in: 3600
281
+ });
282
+ break;
283
+ case 'password':
284
+ if (!username || !password) {
285
+ throw new fsm_dynamo_1.DyFM_Error({
286
+ status: 400,
287
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT7`,
288
+ addECToUserMsg: true,
289
+ message: 'Missing username or password',
290
+ userMessage: 'Invalid token request',
291
+ issuerService: this.serviceName,
292
+ });
293
+ }
294
+ // Authenticate user
295
+ const userScopes = this.authenticateUser(username, password);
296
+ if (!userScopes) {
297
+ throw new fsm_dynamo_1.DyFM_Error({
298
+ status: 401,
299
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT8`,
300
+ addECToUserMsg: true,
301
+ message: 'Invalid username or password',
302
+ userMessage: 'Invalid token request',
303
+ issuerService: this.serviceName,
304
+ });
305
+ }
306
+ // Generate access token
307
+ const userAccessToken = await this.generateAccessToken(client_id, userScopes.join(' '));
308
+ const userRefreshToken = await this.generateRefreshToken(client_id);
309
+ // Store refresh token with access token reference
310
+ this.refreshTokens.set(userRefreshToken, {
311
+ clientId: client_id,
312
+ scope: userScopes.join(' '),
313
+ accessToken: userAccessToken
314
+ });
315
+ res.json({
316
+ access_token: userAccessToken,
317
+ token_type: 'Bearer',
318
+ expires_in: 3600,
319
+ refresh_token: userRefreshToken,
320
+ scope: userScopes.join(' ')
321
+ });
322
+ break;
323
+ default:
324
+ throw new fsm_dynamo_1.DyFM_Error({
325
+ status: 400,
326
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HT3`,
327
+ addECToUserMsg: true,
328
+ message: 'Unsupported grant_type',
329
+ userMessage: 'Invalid token request',
330
+ issuerService: this.serviceName,
331
+ });
332
+ }
333
+ }
334
+ catch (error) {
335
+ fsm_dynamo_1.DyFM_Log.error('Token request failed', error);
336
+ throw error;
337
+ }
338
+ }
339
+ /**
340
+ * Validates client credentials
341
+ * @param clientId The client ID
342
+ * @param clientSecret The client secret
343
+ * @returns true if the credentials are valid
344
+ */
345
+ validateClientCredentials(clientId, clientSecret) {
346
+ const client = this.clients.get(clientId);
347
+ return (client?.clientSecret === clientSecret) && (client?.isActive ?? false);
348
+ }
349
+ /**
350
+ * Handles the OAuth2 userinfo request
351
+ * @param req Express Request object
352
+ * @param res Express Response object
353
+ */
354
+ async handleUserInfoRequest(req, res) {
355
+ try {
356
+ const token = this.authService.getTokenFromRequest(req);
357
+ // Validate token
358
+ const tokenData = this.accessTokens.get(token);
359
+ if (!tokenData || tokenData.expiresAt < Date.now()) {
360
+ throw new fsm_dynamo_1.DyFM_Error({
361
+ status: 401,
362
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HU0`,
363
+ addECToUserMsg: true,
364
+ message: 'Invalid or expired access token',
365
+ userMessage: 'Invalid token',
366
+ issuerService: this.serviceName,
367
+ });
368
+ }
369
+ // Extract user information based on token scope
370
+ const userInfo = await this.getUserInfoFromToken(token);
371
+ res.json(userInfo);
372
+ }
373
+ catch (error) {
374
+ fsm_dynamo_1.DyFM_Log.error('Userinfo request failed', error);
375
+ throw error;
376
+ }
377
+ }
378
+ /**
379
+ * Gets user information from the token
380
+ * @param token The access token
381
+ * @returns The user information object
382
+ */
383
+ async getUserInfoFromToken(token) {
384
+ const tokenData = this.accessTokens.get(token);
385
+ if (!tokenData) {
386
+ throw new fsm_dynamo_1.DyFM_Error({
387
+ status: 401,
388
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HU1`,
389
+ addECToUserMsg: true,
390
+ message: 'Invalid access token',
391
+ userMessage: 'Invalid token',
392
+ issuerService: this.serviceName,
393
+ });
394
+ }
395
+ // TODO: Implement user information retrieval from database/storage
396
+ // For now, return mock user information
397
+ return {
398
+ sub: 'user123',
399
+ name: 'John Doe',
400
+ email: 'john.doe@example.com',
401
+ // Add other user information based on scope
402
+ ...(tokenData.scope.includes('profile') && {
403
+ given_name: 'John',
404
+ family_name: 'Doe',
405
+ picture: 'https://example.com/john.jpg'
406
+ }),
407
+ ...(tokenData.scope.includes('email') && {
408
+ email_verified: true
409
+ })
410
+ };
411
+ }
412
+ /**
413
+ * Handles the OAuth2 token revocation request
414
+ * @param req Express Request object
415
+ * @param res Express Response object
416
+ */
417
+ async handleTokenRevocation(req, res) {
418
+ try {
419
+ const { token, token_type_hint } = req.body;
420
+ if (!token) {
421
+ throw new fsm_dynamo_1.DyFM_Error({
422
+ status: 400,
423
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HR0`,
424
+ addECToUserMsg: true,
425
+ message: 'Missing token',
426
+ userMessage: 'Invalid revocation request',
427
+ issuerService: this.serviceName,
428
+ });
429
+ }
430
+ // Try to revoke the token based on token_type_hint
431
+ let revoked = false;
432
+ if (!token_type_hint || token_type_hint === 'access_token') {
433
+ // Try to revoke as access token
434
+ if (this.accessTokens.delete(token)) {
435
+ revoked = true;
436
+ }
437
+ }
438
+ if (!revoked && (!token_type_hint || token_type_hint === 'refresh_token')) {
439
+ // Try to revoke as refresh token
440
+ const refreshTokenData = this.refreshTokens.get(token);
441
+ if (refreshTokenData) {
442
+ // Also revoke the associated access token
443
+ this.accessTokens.delete(refreshTokenData.accessToken);
444
+ this.refreshTokens.delete(token);
445
+ revoked = true;
446
+ }
447
+ }
448
+ if (!revoked) {
449
+ // Token not found or already revoked
450
+ throw new fsm_dynamo_1.DyFM_Error({
451
+ status: 400,
452
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OA2-HR1`,
453
+ addECToUserMsg: true,
454
+ message: 'Token not found or already revoked',
455
+ userMessage: 'Invalid revocation request',
456
+ issuerService: this.serviceName,
457
+ });
458
+ }
459
+ res.status(200).send();
460
+ }
461
+ catch (error) {
462
+ fsm_dynamo_1.DyFM_Log.error('Token revocation failed', error);
463
+ throw error;
464
+ }
465
+ }
466
+ /**
467
+ * Generates an authorization code
468
+ * @param clientId The client ID
469
+ * @param scope The requested scope
470
+ * @returns The generated authorization code
471
+ */
472
+ async generateAuthorizationCode(clientId, scope) {
473
+ //const code = randomBytes(32).toString('hex');
474
+ const code = crypto_js_1.cryptoJs.lib.WordArray.random(32).toString();
475
+ const expiresAt = Date.now() + 600000; // 10 minutes expiration
476
+ this.authorizationCodes.set(code, {
477
+ clientId,
478
+ scope,
479
+ expiresAt
480
+ });
481
+ return code;
482
+ }
483
+ /**
484
+ * Generates an access token
485
+ * @param clientId The client ID
486
+ * @param scope The requested scope
487
+ * @returns The generated access token
488
+ */
489
+ async generateAccessToken(clientId, scope) {
490
+ //const token = randomBytes(32).toString('hex');
491
+ const token = crypto_js_1.cryptoJs.lib.WordArray.random(32).toString();
492
+ const expiresAt = Date.now() + 3600000; // 1 hour expiration
493
+ this.accessTokens.set(token, {
494
+ clientId,
495
+ scope,
496
+ expiresAt
497
+ });
498
+ return token;
499
+ }
500
+ /**
501
+ * Generates a refresh token
502
+ * @param clientId The client ID
503
+ * @returns The generated refresh token
504
+ */
505
+ async generateRefreshToken(clientId) {
506
+ //const token = randomBytes(32).toString('hex');
507
+ const token = crypto_js_1.cryptoJs.lib.WordArray.random(32).toString();
508
+ this.refreshTokens.set(token, {
509
+ clientId,
510
+ scope: '',
511
+ accessToken: ''
512
+ });
513
+ return token;
514
+ }
515
+ /**
516
+ * Gets the access token data
517
+ * @param token The access token
518
+ * @returns The access token data or undefined if not found
519
+ */
520
+ getAccessTokenData(token) {
521
+ return this.accessTokens.get(token);
522
+ }
523
+ /**
524
+ * Registers a new OAuth2 client
525
+ * @param clientId The client ID
526
+ * @param clientSecret The client secret
527
+ * @param redirectUris The allowed redirect URIs
528
+ * @param allowedScopes The allowed scopes
529
+ * @returns true if the client was registered successfully
530
+ */
531
+ registerClient(clientId, clientSecret, redirectUris, allowedScopes) {
532
+ if (this.clients.has(clientId)) {
533
+ return false;
534
+ }
535
+ this.clients.set(clientId, {
536
+ clientId,
537
+ clientSecret,
538
+ redirectUris,
539
+ allowedScopes,
540
+ isActive: true
541
+ });
542
+ return true;
543
+ }
544
+ /**
545
+ * Authenticates a user with username and password
546
+ * @param username The username
547
+ * @param password The password
548
+ * @returns The user's scopes if authentication is successful, undefined otherwise
549
+ */
550
+ authenticateUser(username, password) {
551
+ const user = this.users.get(username);
552
+ if (!user || user.password !== password) { // In a real implementation, compare hashed passwords
553
+ return undefined;
554
+ }
555
+ return user.scopes;
556
+ }
557
+ /**
558
+ * Registers a new user
559
+ * @param username The username
560
+ * @param password The password
561
+ * @param scopes The user's scopes
562
+ * @returns true if the user was registered successfully
563
+ */
564
+ registerUser(username, password, scopes) {
565
+ if (this.users.has(username)) {
566
+ return false;
567
+ }
568
+ this.users.set(username, {
569
+ username,
570
+ password, // In a real implementation, hash the password
571
+ scopes
572
+ });
573
+ return true;
574
+ }
575
+ }
576
+ exports.DyNTS_OAuth2_ControlService = DyNTS_OAuth2_ControlService;
577
577
  //# sourceMappingURL=oauth2.control-service.js.map