@futdevpro/nts-dynamo 1.15.156 → 1.15.157

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -54
  2. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +65 -0
  3. package/__documentations/2026-08-22-content-free-process-error-boundary.md +26 -26
  4. package/build/_collections/app-version-header.util.d.ts +41 -41
  5. package/build/_collections/app-version-header.util.js +66 -66
  6. package/build/_collections/archive-service-registry.const.d.ts +15 -15
  7. package/build/_collections/archive-service-registry.const.js +14 -14
  8. package/build/_collections/archive.util.d.ts +12 -12
  9. package/build/_collections/archive.util.js +18 -18
  10. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  11. package/build/_collections/atlas-default-db-options.const.js +9 -9
  12. package/build/_collections/client-safe-error.util.d.ts +38 -38
  13. package/build/_collections/client-safe-error.util.js +96 -96
  14. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  15. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  16. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  17. package/build/_collections/default-not-found-page.const.js +24 -24
  18. package/build/_collections/default-socket-path.const.d.ts +2 -2
  19. package/build/_collections/default-socket-path.const.js +5 -5
  20. package/build/_collections/field-encryption.util.d.ts +85 -85
  21. package/build/_collections/field-encryption.util.js +192 -192
  22. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  23. package/build/_collections/get-environment-settings.util.js +43 -43
  24. package/build/_collections/global-settings.const.d.ts +6 -6
  25. package/build/_collections/global-settings.const.js +104 -104
  26. package/build/_collections/load-shed.util.d.ts +15 -15
  27. package/build/_collections/load-shed.util.js +42 -42
  28. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  29. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  30. package/build/_collections/npm-token-check.util.d.ts +138 -138
  31. package/build/_collections/npm-token-check.util.js +301 -301
  32. package/build/_collections/security-headers.util.d.ts +16 -16
  33. package/build/_collections/security-headers.util.js +77 -77
  34. package/build/_collections/signed-url.util.d.ts +84 -84
  35. package/build/_collections/signed-url.util.js +145 -145
  36. package/build/_collections/star.controller.d.ts +7 -7
  37. package/build/_collections/star.controller.js +97 -97
  38. package/build/_collections/static-cache-control.util.d.ts +17 -17
  39. package/build/_collections/static-cache-control.util.js +23 -23
  40. package/build/_enums/data-model-type.enum.d.ts +13 -13
  41. package/build/_enums/data-model-type.enum.js +17 -17
  42. package/build/_enums/data-service-function.enum.d.ts +18 -18
  43. package/build/_enums/data-service-function.enum.js +24 -24
  44. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  45. package/build/_enums/predefined-data-types.enum.js +19 -19
  46. package/build/_enums/route-security.enum.d.ts +11 -11
  47. package/build/_enums/route-security.enum.js +15 -15
  48. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  49. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  50. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  51. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  52. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  53. package/build/_models/control-models/app-params.control-model.js +118 -118
  54. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  55. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  56. package/build/_models/control-models/endpoint-params.control-model.d.ts +125 -125
  57. package/build/_models/control-models/endpoint-params.control-model.js +409 -409
  58. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  59. package/build/_models/control-models/http-settings.control-model.js +34 -34
  60. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  61. package/build/_models/control-models/system-control.control-model.js +11 -11
  62. package/build/_models/data-models/schema-migration.data-model.d.ts +28 -28
  63. package/build/_models/data-models/schema-migration.data-model.js +46 -46
  64. package/build/_models/interfaces/app-version-header-settings.interface.d.ts +16 -16
  65. package/build/_models/interfaces/app-version-header-settings.interface.js +2 -2
  66. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  67. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  68. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  69. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  70. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  71. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  72. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  73. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  74. package/build/_models/interfaces/db-query-options.interface.d.ts +32 -32
  75. package/build/_models/interfaces/db-query-options.interface.js +2 -2
  76. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  77. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  78. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  79. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  80. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  81. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  82. package/build/_models/interfaces/global-settings.interface.d.ts +265 -265
  83. package/build/_models/interfaces/global-settings.interface.js +2 -2
  84. package/build/_models/interfaces/migration-entry.interface.d.ts +19 -19
  85. package/build/_models/interfaces/migration-entry.interface.js +2 -2
  86. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +8 -8
  87. package/build/_models/interfaces/mongo-transaction-settings.interface.js +2 -2
  88. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts +10 -0
  89. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts.map +1 -0
  90. package/build/_models/interfaces/request-telemetry-settings.interface.js +3 -0
  91. package/build/_models/interfaces/request-telemetry-settings.interface.js.map +1 -0
  92. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts +29 -0
  93. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts.map +1 -0
  94. package/build/_models/interfaces/request-telemetry-snapshot.interface.js +3 -0
  95. package/build/_models/interfaces/request-telemetry-snapshot.interface.js.map +1 -0
  96. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  97. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  98. package/build/_models/interfaces/security-headers-settings.interface.d.ts +41 -41
  99. package/build/_models/interfaces/security-headers-settings.interface.js +2 -2
  100. package/build/_models/interfaces/signed-url-verify-result.interface.d.ts +13 -13
  101. package/build/_models/interfaces/signed-url-verify-result.interface.js +2 -2
  102. package/build/_models/interfaces/static-client-settings.interface.d.ts +36 -36
  103. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  104. package/build/_models/types/db-update.type.d.ts +129 -129
  105. package/build/_models/types/db-update.type.js +2 -2
  106. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +5 -5
  107. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +9 -9
  108. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +6 -6
  109. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +10 -10
  110. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +6 -6
  111. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +10 -10
  112. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +8 -8
  113. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +2 -2
  114. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +6 -6
  115. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +2 -2
  116. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +12 -12
  117. package/build/_modules/account-security/_models/account-challenge-record.interface.js +2 -2
  118. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +7 -7
  119. package/build/_modules/account-security/_models/account-challenge-result.interface.js +2 -2
  120. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +8 -8
  121. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +2 -2
  122. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +11 -11
  123. package/build/_modules/account-security/_models/account-password-policy.interface.js +2 -2
  124. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +5 -5
  125. package/build/_modules/account-security/_models/account-password-verification.interface.js +2 -2
  126. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +12 -12
  127. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +2 -2
  128. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +18 -18
  129. package/build/_modules/account-security/_models/account-session-adapter.interface.js +2 -2
  130. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +7 -7
  131. package/build/_modules/account-security/_models/account-session-claims.interface.js +2 -2
  132. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +6 -6
  133. package/build/_modules/account-security/_models/account-session-context.interface.js +2 -2
  134. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +7 -7
  135. package/build/_modules/account-security/_models/account-session-create.interface.js +2 -2
  136. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +20 -20
  137. package/build/_modules/account-security/_models/account-session-record.interface.js +2 -2
  138. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +10 -10
  139. package/build/_modules/account-security/_models/account-session-rotate.interface.js +2 -2
  140. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +10 -10
  141. package/build/_modules/account-security/_models/account-session-settings.interface.js +2 -2
  142. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +8 -8
  143. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +2 -2
  144. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +12 -12
  145. package/build/_modules/account-security/_models/account-session-view.interface.js +2 -2
  146. package/build/_modules/account-security/account-challenge.control-service.d.ts +23 -23
  147. package/build/_modules/account-security/account-challenge.control-service.js +116 -116
  148. package/build/_modules/account-security/account-password.control-service.d.ts +23 -23
  149. package/build/_modules/account-security/account-password.control-service.js +213 -213
  150. package/build/_modules/account-security/account-session.control-service.d.ts +38 -38
  151. package/build/_modules/account-security/account-session.control-service.js +276 -276
  152. package/build/_modules/account-security/index.d.ts +23 -23
  153. package/build/_modules/account-security/index.js +15 -15
  154. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  155. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  156. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  157. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  158. package/build/_modules/admin-auth/index.d.ts +2 -2
  159. package/build/_modules/admin-auth/index.js +5 -5
  160. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +31 -31
  161. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +94 -94
  162. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +43 -43
  163. package/build/_modules/ai/_collections/ai-provider-error.util.js +120 -120
  164. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  165. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  166. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  167. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  168. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  169. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  170. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  171. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  172. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +16 -16
  173. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +2 -2
  174. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +22 -22
  175. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +51 -51
  176. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +33 -33
  177. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +55 -55
  178. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +40 -40
  179. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -89
  180. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +27 -27
  181. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +28 -28
  182. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +14 -14
  183. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +2 -2
  184. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +10 -10
  185. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +2 -2
  186. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +29 -29
  187. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +2 -2
  188. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +18 -18
  189. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +2 -2
  190. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +18 -18
  191. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +2 -2
  192. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts +80 -80
  193. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js +166 -166
  194. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +47 -47
  195. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +103 -103
  196. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +34 -34
  197. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +59 -59
  198. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +73 -73
  199. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +133 -133
  200. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.d.ts +8 -8
  201. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.js +650 -650
  202. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -14
  203. package/build/_modules/ai/_modules/ai-mock/index.js +42 -42
  204. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  205. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  206. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  207. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  208. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  209. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  210. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  211. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  212. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  213. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  214. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  215. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  216. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  217. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  218. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  219. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  220. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  221. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  222. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  223. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  224. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  225. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  226. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  227. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  228. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  229. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  230. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  231. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  232. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  233. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  234. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  235. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  236. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  237. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  238. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  239. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  240. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  241. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  242. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  243. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  244. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  245. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  246. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  247. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  248. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  249. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  250. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  251. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  252. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  253. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  254. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  255. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  256. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  257. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  258. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  259. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  260. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +229 -229
  261. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +617 -617
  262. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  263. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  264. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  265. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  266. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  267. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  268. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  269. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  270. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  271. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  272. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +148 -148
  273. package/build/_modules/ai/_services/ai-llm.service-base.js +378 -378
  274. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  275. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  276. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  277. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  278. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  279. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  280. package/build/_modules/ai/index.d.ts +16 -16
  281. package/build/_modules/ai/index.js +30 -30
  282. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.d.ts +5 -5
  283. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.js +9 -9
  284. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.d.ts +8 -8
  285. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.js +12 -12
  286. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.d.ts +6 -6
  287. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.js +10 -10
  288. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.d.ts +32 -32
  289. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.js +2 -2
  290. package/build/_modules/artifact-compiler/artifact-compiler.control-service.d.ts +36 -36
  291. package/build/_modules/artifact-compiler/artifact-compiler.control-service.js +273 -273
  292. package/build/_modules/artifact-compiler/index.d.ts +5 -5
  293. package/build/_modules/artifact-compiler/index.js +11 -11
  294. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  295. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  296. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  297. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  298. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  299. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  300. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  301. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  302. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  303. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  304. package/build/_modules/assistant/index.d.ts +6 -6
  305. package/build/_modules/assistant/index.js +18 -18
  306. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  307. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  308. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  309. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  310. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  311. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  312. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  313. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  314. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  315. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  316. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  317. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  318. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  319. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  320. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  321. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  322. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  323. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  324. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  325. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  326. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  327. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  328. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  329. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  330. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  331. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  332. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  333. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  334. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  335. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  336. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  337. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  338. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  339. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  340. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  341. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  342. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  343. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  344. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  345. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  346. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  347. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  348. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  349. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  350. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  351. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  352. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  353. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  354. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  355. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  356. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  357. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  358. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  359. package/build/_modules/bot/index.d.ts +17 -17
  360. package/build/_modules/bot/index.js +36 -36
  361. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  362. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  363. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  364. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  365. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  366. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  367. package/build/_modules/custom-data/index.d.ts +4 -4
  368. package/build/_modules/custom-data/index.js +9 -9
  369. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  370. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  371. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  372. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  373. package/build/_modules/data-readers/index.d.ts +2 -2
  374. package/build/_modules/data-readers/index.js +10 -10
  375. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  376. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  377. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  378. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  379. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  380. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  381. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  382. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  383. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  384. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  385. package/build/_modules/defaults/index.d.ts +5 -5
  386. package/build/_modules/defaults/index.js +17 -17
  387. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  388. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  389. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  390. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  391. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  392. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  393. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  394. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  395. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  396. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  397. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  398. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  399. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  400. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  401. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  402. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  403. package/build/_modules/discord-assistant/index.d.ts +11 -11
  404. package/build/_modules/discord-assistant/index.js +24 -24
  405. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  406. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  407. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  408. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  409. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  410. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  411. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  412. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  413. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  414. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  415. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  416. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  417. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  418. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  419. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  420. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  421. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  422. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  423. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  424. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  425. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  426. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  427. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  428. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  429. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  430. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  431. package/build/_modules/discord-bot/index.d.ts +11 -11
  432. package/build/_modules/discord-bot/index.js +30 -30
  433. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  434. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  435. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  436. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  437. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  438. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  439. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  440. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  441. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  442. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  443. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  444. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  445. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +74 -74
  446. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +152 -152
  447. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +51 -51
  448. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +83 -83
  449. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +99 -99
  450. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +276 -276
  451. package/build/_modules/local-vector-search/index.d.ts +8 -8
  452. package/build/_modules/local-vector-search/index.js +15 -15
  453. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  454. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  455. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  456. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  457. package/build/_modules/logs/file-log.service.d.ts +132 -132
  458. package/build/_modules/logs/file-log.service.js +444 -444
  459. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  460. package/build/_modules/logs/file-logs.controller.js +138 -138
  461. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  462. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  463. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  464. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  465. package/build/_modules/logs/index.d.ts +8 -8
  466. package/build/_modules/logs/index.js +15 -15
  467. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  468. package/build/_modules/logs/log-buffer.service.js +96 -96
  469. package/build/_modules/logs/logs.controller.d.ts +26 -26
  470. package/build/_modules/logs/logs.controller.js +89 -89
  471. package/build/_modules/logs/logs.service.d.ts +39 -39
  472. package/build/_modules/logs/logs.service.js +96 -96
  473. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  474. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  475. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  476. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  477. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  478. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  479. package/build/_modules/mcp/index.d.ts +3 -3
  480. package/build/_modules/mcp/index.js +12 -12
  481. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  482. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  483. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  484. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  485. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  486. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  487. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  488. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  489. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  490. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  491. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  492. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  493. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  494. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  495. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  496. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  497. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  498. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  499. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  500. package/build/_modules/messaging/index.d.ts +10 -10
  501. package/build/_modules/messaging/index.js +27 -27
  502. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  503. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  504. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  505. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  506. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  507. package/build/_modules/mock/app-params.mock.js +9 -9
  508. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  509. package/build/_modules/mock/app-server.mock.js +148 -148
  510. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  511. package/build/_modules/mock/auth-service.mock.js +19 -19
  512. package/build/_modules/mock/controller.mock.d.ts +5 -5
  513. package/build/_modules/mock/controller.mock.js +14 -14
  514. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  515. package/build/_modules/mock/data-model.mock.js +72 -72
  516. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  517. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  518. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  519. package/build/_modules/mock/email-service.mock.js +20 -20
  520. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  521. package/build/_modules/mock/endpoint.mock.js +79 -79
  522. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  523. package/build/_modules/mock/socket-client.mock.js +38 -38
  524. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  525. package/build/_modules/mock/socket-server.mock.js +32 -32
  526. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  527. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  528. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  529. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  530. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  531. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  532. package/build/_modules/oauth2/index.d.ts +3 -3
  533. package/build/_modules/oauth2/index.js +14 -14
  534. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +5 -5
  535. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +9 -9
  536. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +10 -10
  537. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +14 -14
  538. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +7 -7
  539. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +11 -11
  540. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +15 -15
  541. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +19 -19
  542. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +9 -9
  543. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +13 -13
  544. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +11 -11
  545. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +2 -2
  546. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +6 -6
  547. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +2 -2
  548. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +14 -14
  549. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +2 -2
  550. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +6 -6
  551. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +2 -2
  552. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +12 -12
  553. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +2 -2
  554. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +8 -8
  555. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +2 -2
  556. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +13 -13
  557. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +2 -2
  558. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +7 -7
  559. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +2 -2
  560. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +10 -10
  561. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +2 -2
  562. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +12 -12
  563. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +2 -2
  564. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +8 -8
  565. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +2 -2
  566. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +6 -6
  567. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +2 -2
  568. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +10 -10
  569. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +2 -2
  570. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +6 -6
  571. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +2 -2
  572. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +6 -6
  573. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +2 -2
  574. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +11 -11
  575. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +2 -2
  576. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +13 -13
  577. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +2 -2
  578. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +14 -14
  579. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +2 -2
  580. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +8 -8
  581. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +2 -2
  582. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +6 -6
  583. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +2 -2
  584. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +9 -9
  585. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +2 -2
  586. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +6 -6
  587. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +2 -2
  588. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +20 -20
  589. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +2 -2
  590. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +7 -7
  591. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +2 -2
  592. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +19 -19
  593. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +2 -2
  594. package/build/_modules/privacy-lifecycle/index.d.ts +32 -32
  595. package/build/_modules/privacy-lifecycle/index.js +17 -17
  596. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +27 -27
  597. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +167 -167
  598. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +41 -41
  599. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +363 -363
  600. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.d.ts +5 -5
  601. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.js +9 -9
  602. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +70 -70
  603. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  604. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.d.ts +8 -8
  605. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.js +2 -2
  606. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.d.ts +6 -6
  607. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.js +2 -2
  608. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  609. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  610. package/build/_modules/rate-limit/_models/rate-limit-store.interface.d.ts +8 -8
  611. package/build/_modules/rate-limit/_models/rate-limit-store.interface.js +2 -2
  612. package/build/_modules/rate-limit/index.d.ts +8 -8
  613. package/build/_modules/rate-limit/index.js +9 -9
  614. package/build/_modules/rate-limit/rate-limit-in-memory.store.d.ts +18 -18
  615. package/build/_modules/rate-limit/rate-limit-in-memory.store.js +70 -70
  616. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +68 -68
  617. package/build/_modules/rate-limit/rate-limit.middleware.js +378 -378
  618. package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +33 -33
  619. package/build/_modules/scheduler/_models/scheduler-job.interface.js +2 -2
  620. package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +17 -17
  621. package/build/_modules/scheduler/get-scheduler-routing-module.util.js +30 -30
  622. package/build/_modules/scheduler/index.d.ts +4 -4
  623. package/build/_modules/scheduler/index.js +9 -9
  624. package/build/_modules/scheduler/scheduler.controller.d.ts +24 -24
  625. package/build/_modules/scheduler/scheduler.controller.js +53 -53
  626. package/build/_modules/scheduler/scheduler.service.d.ts +53 -53
  627. package/build/_modules/scheduler/scheduler.service.js +163 -163
  628. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  629. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  630. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  631. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  632. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  633. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  634. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  635. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  636. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  637. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  638. package/build/_modules/scoped-config/index.d.ts +5 -5
  639. package/build/_modules/scoped-config/index.js +14 -14
  640. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  641. package/build/_modules/server/errors/errors.control-service.js +10 -10
  642. package/build/_modules/server/errors/errors.controller.d.ts +144 -144
  643. package/build/_modules/server/errors/errors.controller.js +404 -404
  644. package/build/_modules/server/errors/errors.data-service.d.ts +70 -70
  645. package/build/_modules/server/errors/errors.data-service.js +677 -677
  646. package/build/_modules/server/index.d.ts +15 -15
  647. package/build/_modules/server/index.js +35 -35
  648. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +8 -8
  649. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +12 -12
  650. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -20
  651. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -24
  652. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +18 -18
  653. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +82 -82
  654. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +18 -18
  655. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +2 -2
  656. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.d.ts +13 -13
  657. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.js +17 -17
  658. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.d.ts +7 -7
  659. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.js +11 -11
  660. package/build/_modules/server/server-status/db-readiness-probe.control-service.d.ts +13 -13
  661. package/build/_modules/server/server-status/db-readiness-probe.control-service.js +125 -125
  662. package/build/_modules/server/server-status/db-readiness-probe.interface.d.ts +17 -17
  663. package/build/_modules/server/server-status/db-readiness-probe.interface.js +2 -2
  664. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  665. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  666. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  667. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  668. package/build/_modules/server/server-status/server-status.control-service.d.ts +111 -111
  669. package/build/_modules/server/server-status/server-status.control-service.js +302 -302
  670. package/build/_modules/server/server-status/server-status.controller.d.ts +92 -92
  671. package/build/_modules/server/server-status/server-status.controller.js +253 -253
  672. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  673. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  674. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  675. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  676. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  677. package/build/_modules/socket/_models/socket-presence.control-model.js +140 -140
  678. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +22 -22
  679. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +31 -31
  680. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  681. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  682. package/build/_modules/socket/_services/socket-server.service.d.ts +98 -98
  683. package/build/_modules/socket/_services/socket-server.service.js +673 -673
  684. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  685. package/build/_modules/socket/app-extended.server.js +521 -521
  686. package/build/_modules/socket/index.d.ts +8 -8
  687. package/build/_modules/socket/index.js +35 -35
  688. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  689. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  690. package/build/_modules/test/index.d.ts +3 -3
  691. package/build/_modules/test/index.js +11 -11
  692. package/build/_modules/test/test.controller.d.ts +5 -5
  693. package/build/_modules/test/test.controller.js +103 -103
  694. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.d.ts +10 -10
  695. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.js +13 -13
  696. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.d.ts +21 -21
  697. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.js +38 -38
  698. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.d.ts +49 -49
  699. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.js +117 -117
  700. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.d.ts +14 -14
  701. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.js +26 -26
  702. package/build/_modules/test-email-sink/index.d.ts +11 -11
  703. package/build/_modules/test-email-sink/index.js +14 -14
  704. package/build/_modules/test-email-sink/test-email-sink.controller.d.ts +23 -23
  705. package/build/_modules/test-email-sink/test-email-sink.controller.js +66 -66
  706. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  707. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  708. package/build/_modules/usage/index.d.ts +4 -4
  709. package/build/_modules/usage/index.js +13 -13
  710. package/build/_modules/usage/usage.controller.d.ts +6 -6
  711. package/build/_modules/usage/usage.controller.js +105 -105
  712. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  713. package/build/_modules/usage/usage.data-service.js +135 -135
  714. package/build/_services/base/api.service-base.d.ts +9 -9
  715. package/build/_services/base/api.service-base.js +46 -46
  716. package/build/_services/base/archive-data.service.d.ts +25 -25
  717. package/build/_services/base/archive-data.service.js +151 -151
  718. package/build/_services/base/data.service.d.ts +402 -402
  719. package/build/_services/base/data.service.js +2131 -2131
  720. package/build/_services/base/db.service.d.ts +424 -424
  721. package/build/_services/base/db.service.js +1356 -1356
  722. package/build/_services/base/singleton.service-base.d.ts +8 -8
  723. package/build/_services/base/singleton.service-base.js +21 -21
  724. package/build/_services/base/singleton.service.d.ts +11 -11
  725. package/build/_services/base/singleton.service.js +31 -31
  726. package/build/_services/core/api.service.d.ts +45 -45
  727. package/build/_services/core/api.service.js +456 -456
  728. package/build/_services/core/auth.service.d.ts +129 -129
  729. package/build/_services/core/auth.service.js +59 -59
  730. package/build/_services/core/collection-growth-monitor.service.d.ts +76 -76
  731. package/build/_services/core/collection-growth-monitor.service.js +165 -165
  732. package/build/_services/core/db-stats.service.d.ts +33 -33
  733. package/build/_services/core/db-stats.service.js +64 -64
  734. package/build/_services/core/diagnostics.service.d.ts +42 -42
  735. package/build/_services/core/diagnostics.service.js +121 -121
  736. package/build/_services/core/email.service.d.ts +77 -77
  737. package/build/_services/core/email.service.js +503 -503
  738. package/build/_services/core/event-loop-diag.service.d.ts +49 -49
  739. package/build/_services/core/event-loop-diag.service.js +106 -106
  740. package/build/_services/core/global.service.d.ts +83 -83
  741. package/build/_services/core/global.service.js +386 -386
  742. package/build/_services/core/memory-guard.service.d.ts +166 -166
  743. package/build/_services/core/memory-guard.service.js +369 -369
  744. package/build/_services/core/migration-runner.service.d.ts +39 -39
  745. package/build/_services/core/migration-runner.service.js +74 -74
  746. package/build/_services/core/mongo-transaction.control-service.d.ts +18 -18
  747. package/build/_services/core/mongo-transaction.control-service.js +94 -94
  748. package/build/_services/core/request-hunter.service.d.ts +73 -73
  749. package/build/_services/core/request-hunter.service.js +122 -122
  750. package/build/_services/core/request-telemetry.control-service.d.ts +51 -0
  751. package/build/_services/core/request-telemetry.control-service.d.ts.map +1 -0
  752. package/build/_services/core/request-telemetry.control-service.js +286 -0
  753. package/build/_services/core/request-telemetry.control-service.js.map +1 -0
  754. package/build/_services/core/service-collection.service.d.ts +4 -4
  755. package/build/_services/core/service-collection.service.js +7 -7
  756. package/build/_services/route/controller.service.d.ts +124 -124
  757. package/build/_services/route/controller.service.js +95 -95
  758. package/build/_services/route/routing-module.service.d.ts +80 -80
  759. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  760. package/build/_services/route/routing-module.service.js +253 -250
  761. package/build/_services/route/routing-module.service.js.map +1 -1
  762. package/build/_services/server/app.server.d.ts +434 -429
  763. package/build/_services/server/app.server.d.ts.map +1 -1
  764. package/build/_services/server/app.server.js +1239 -1226
  765. package/build/_services/server/app.server.js.map +1 -1
  766. package/build/_services/shared.static-service.d.ts +43 -43
  767. package/build/_services/shared.static-service.js +92 -92
  768. package/build/index.d.ts +66 -63
  769. package/build/index.d.ts.map +1 -1
  770. package/build/index.js +104 -101
  771. package/build/index.js.map +1 -1
  772. package/package.json +1 -1
  773. package/src/_models/control-models/endpoint-params.control-model.spec.ts +102 -102
  774. package/src/_models/control-models/endpoint-params.control-model.ts +131 -131
  775. package/src/_models/interfaces/request-telemetry-settings.interface.ts +9 -0
  776. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +30 -0
  777. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +3 -3
  778. package/src/_services/core/request-telemetry.control-service.spec.ts +217 -0
  779. package/src/_services/core/request-telemetry.control-service.ts +381 -0
  780. package/src/_services/route/routing-module.service.ts +27 -18
  781. package/src/_services/server/app.server.ts +29 -9
  782. package/src/index.ts +5 -2
@@ -1,618 +1,618 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyNTS_OAI_LLM_ServiceBase = void 0;
4
- const openai_1 = require("openai");
5
- const open_ai_1 = require("@futdevpro/fsm-dynamo/ai/open-ai");
6
- const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
7
- const ai_1 = require("@futdevpro/fsm-dynamo/ai");
8
- const global_settings_const_1 = require("../../../../../_collections/global-settings.const");
9
- const oai_global_settings_const_1 = require("../_collections/oai-global-settings.const");
10
- const oai_llm_predefined_requests_conts_1 = require("../_collections/oai-llm-predefined-requests.conts");
11
- const ai_llm_service_base_1 = require("../../../_services/ai-llm.service-base");
12
- /**
13
- * {
14
- * organization: 'org-XY',
15
- * apiKey: 'sk-XY',
16
- * project: 'proj_XY',
17
- * }
18
- */
19
- // Di Dictionary DiModel DiEz DiAz
20
- class DyNTS_OAI_LLM_ServiceBase extends ai_llm_service_base_1.DyNTS_AI_LLM_ServiceBase {
21
- /* readonly defaultErrorUserMsg: string =
22
- `We encountered an unhandled Control Service Error, ` +
23
- `\nplease contact the responsible development team.`; */
24
- openai;
25
- defaultSettings;
26
- // Provider properties from DyNTS_AI_Provider_ServiceBase
27
- aiProvider = ai_1.DyFM_AI_Provider.OpenAI;
28
- capabilities = {
29
- chat: true,
30
- embeddings: true,
31
- imageGeneration: true,
32
- vision: true,
33
- audioGeneration: true,
34
- audioAnalysis: true,
35
- functionCalling: true,
36
- streaming: true,
37
- batchOperations: true,
38
- maxContextLength: 128000,
39
- supportedModelTypes: ['gpt-4o', 'gpt-4o-mini', 'text-embedding-3-large', 'text-embedding-3-small']
40
- };
41
- /* get _debugLog(): boolean {
42
- return this.defaultSettings.debugLog;
43
- } */
44
- /* get defaultSystemPrompt(): string {
45
- return this.defaultSettings.systemPrompt;
46
- } */
47
- get defaultModel() {
48
- return this.defaultSettings.useModel;
49
- }
50
- predefinedRequests = oai_llm_predefined_requests_conts_1.DyNTS_OAI_LLMDefaultPredefined_Requests;
51
- constructor(set) {
52
- super();
53
- global_settings_const_1.DyNTS_global_settings.openAi_settings ??= oai_global_settings_const_1.DyNTS_OAI_global_settings;
54
- this.openai = new openai_1.OpenAI(set?.config ??
55
- {
56
- organization: global_settings_const_1.DyNTS_global_settings.env_settings.openAi.organization,
57
- apiKey: global_settings_const_1.DyNTS_global_settings.env_settings.openAi.apiKey,
58
- project: global_settings_const_1.DyNTS_global_settings.env_settings.openAi.project,
59
- });
60
- this.defaultSettings = set?.defaultSettings ??
61
- oai_global_settings_const_1.DyNTS_OAI_global_settings.defaultSettings ??
62
- new open_ai_1.DyFM_OAI_CallSettings();
63
- // FR-002 — opcionális per-call cost-event callback átadás a base-osztálynak
64
- if (set?.onCostEvent) {
65
- this.onCostEvent = set.onCostEvent;
66
- }
67
- }
68
- /**
69
- * Inicializálja az OpenAI client-et a megadott config-gal
70
- *
71
- * Reinitializes the OpenAI client with the provided config
72
- */
73
- setup(config) {
74
- this.openai = new openai_1.OpenAI(config);
75
- }
76
- /* readonly defaultLogReplacer: string = '...long-context...'; */
77
- //#region Ask Questions
78
- /**
79
- * Asks the AI to answer a yes/no question
80
- *
81
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.request} to ask the question,
82
- * and the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.upperCaseYes} to check the answer
83
- */
84
- async requestYesNo(set) {
85
- set.message += this.predefinedRequests.yesNo.request;
86
- const answer = await this.requestSimpleMessage(set);
87
- return this.convertAnswerToBoolean(answer);
88
- }
89
- /** the exact same as {@link requestYesNo} */
90
- //yesNoQuestion = this.askYesNoQuestion;
91
- /**
92
- * Asks the AI to answer a percentage question
93
- *
94
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.percentageOnly} to ask the question
95
- */
96
- async requestPercentage(set) {
97
- set.message += this.predefinedRequests.percentageOnly;
98
- const answer = await this.requestSimpleMessage(set);
99
- return this.convertAnswerToNumber(answer, set.message);
100
- }
101
- /** the exact same as {@link requestPercentage} */
102
- //percentageQuestion = this.askPercentageQuestion;
103
- /**
104
- * Asks the AI to select one of the options from the list
105
- *
106
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
107
- */
108
- /* async askSelectQuestion(
109
- set: DyFM_AI_GenericSelect_Input<string>
110
- ): Promise<string> {
111
- // replace the {{DyNTS_selectOptions}} with the list of options
112
- const selectQuestionAddition = this.predefinedRequests.selectRequest.replace(
113
- '{{DyNTS_selectOptions}}',
114
- this.getTextListAsText(set.selectFrom)
115
- );
116
- set.message += selectQuestionAddition;
117
-
118
- let answer = await this.requestSimpleMessage(set);
119
-
120
- answer = answer.toLocaleUpperCase();
121
-
122
- for (const item of set.selectFrom) {
123
- if (answer.includes(item.toLocaleUpperCase())) return item;
124
- }
125
-
126
- return null;
127
- } */
128
- /** the exact same as {@link askSelectQuestion} */
129
- //selectQuestion = this.askSelectQuestion;
130
- /**
131
- * Asks the AI to select one of the options from the list
132
- * Similar to {@link askSelectQuestion},
133
- * but with a more generic approach that can be used for objects
134
- *
135
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
136
- */
137
- async requestSelect(set) {
138
- const options = this.stringifySelectOptions(set.selectFrom);
139
- const selectQuestionAddition = this.predefinedRequests.selectRequest.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(options));
140
- set.message += selectQuestionAddition;
141
- const answer = await this.requestSimpleMessage(set);
142
- return this.convertAnswerToSelectOption(answer, set.message, set.selectFrom);
143
- }
144
- /** the exact same as {@link requestSelect} */
145
- //selectRequest = this.requestSelect;
146
- /**
147
- * Asks the AI to select one or more of the options from the list
148
- *
149
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
150
- */
151
- async requestMultiselect(set) {
152
- const options = this.stringifySelectOptions(set.options);
153
- const selectQuestionAddition = this.predefinedRequests.multiselect.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(options));
154
- set.message += selectQuestionAddition;
155
- let answer = await this.requestSimpleMessage(set);
156
- answer = answer.toLocaleUpperCase();
157
- return this.convertAnswerToSelectOptions(answer, set.message, set.options);
158
- /* const result: T[] = [];
159
-
160
- for (const item of options) {
161
- if (answer.includes(item.toLocaleUpperCase())) {
162
- const parsedItem: T | { unparsableResult: string } = DyFM_Object.safeParseJSON<T>(item);
163
- if ((parsedItem as { unparsableResult: string }).unparsableResult) {
164
- result.push(item as any);
165
- } else {
166
- result.push(parsedItem as T);
167
- }
168
-
169
- }
170
- }
171
-
172
- if (!result.length && !answer.trim().length) {
173
- return { unparsableResult: answer };
174
- }
175
-
176
- return result; */
177
- }
178
- /** the exact same as {@link askMultipleSelectQuestionWithOptions} */
179
- //multipleSelectQuestion = this.askMultipleSelectQuestionWithOptions;
180
- /**
181
- * Asks the AI to select one or more of the options from the list
182
- * Similar to {@link askMultipleSelectQuestionWithOptions},
183
- * but with a more generic approach that can be used for objects
184
- *
185
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
186
- */
187
- /* async requestMultiselect<T>(
188
- set: DyFM_AI_GenericMultiSelect_Input<T, DyFM_OAI_CallSettings>
189
- ): Promise<T[]> {
190
- const selectQuestionAddition = this.predefinedRequests.multiselect.replace(
191
- '{{DyNTS_selectOptions}}',
192
- this.getTextListAsText(set.options.map(item => `"${JSON.stringify(item)}"`))
193
- );
194
- set.message += selectQuestionAddition;
195
-
196
- const answer = await this.requestSimpleMessage(set);
197
-
198
- return DyFM_Object.safeParseList<T[]>(answer);
199
- } */
200
- /** the exact same as {@link requestMultipleSelect} */
201
- //multipleSelectRequest = this.requestMultipleSelect;
202
- /**
203
- * Asks the AI to answer a question that must result a JSON object
204
- *
205
- * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
206
- *
207
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequest} to ask the question
208
- *
209
- * (uses {@link DyFM_safeParseJSON})
210
- */
211
- async requestJSON(set) {
212
- set.message += this.predefinedRequests.jsonRequest;
213
- const answer = await this.requestSimpleMessage(set);
214
- return this.convertAnswerToJSON(answer, set.message);
215
- }
216
- /** the exact same as {@link askJSONQuestion} */
217
- //jsonQuestion = this.askJSONQuestion;
218
- /**
219
- * Asks the AI to answer a question that must result a JSON object with specific key descriptions
220
- *
221
- * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
222
- *
223
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithKeysDescription} to ask the question
224
- *
225
- * (uses {@link DyFM_safeParseJSON})
226
- */
227
- async requestJSONQuestionWithKeysDescription(set) {
228
- const jsonRequestWithKeysDescription = this.predefinedRequests.jsonRequestWithKeysDescription.replace('{{DyNTS_jsonKeysDescription}}', set.keysDescription);
229
- set.message += jsonRequestWithKeysDescription;
230
- const answer = await this.requestSimpleMessage(set);
231
- return this.convertAnswerToJSON(answer, set.message);
232
- }
233
- /** the exact same as {@link requestJSONQuestionWithKeysDescription} */
234
- //jsonQuestionWithKeysDescription = this.askJSONQuestionWithKeysDescription;
235
- /**
236
- * Asks the AI to answer a question that must result a JSON object with specific keys
237
- *
238
- * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
239
- *
240
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithExactKeys} to ask the question
241
- *
242
- * (uses {@link DyFM_safeParseJSON})
243
- */
244
- async requestJSONWithExactKeys(set) {
245
- const jsonRequestWithExactKeys = this.predefinedRequests.jsonRequestWithExactKeys.replace('{{DyNTS_jsonKeys}}', this.getTextListAsText(set.keys));
246
- set.message += jsonRequestWithExactKeys;
247
- const answer = await this.requestSimpleMessage(set);
248
- return this.convertAnswerToJSON(answer, set.message);
249
- }
250
- /** the exact same as {@link askJSONQuestionWithExactKeys} */
251
- //jsonQuestionWithExactKeys = this.askJSONQuestionWithExactKeys;
252
- /**
253
- * Asks the AI to answer a question that must result a list of strings
254
- *
255
- * If the answer is not a valid JSON list, it will return the answer as a single item in an array
256
- *
257
- * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.listRequest} to ask the question
258
- *
259
- * (uses {@link DyFM_Object.safeParseList})
260
- */
261
- /* async requestList(
262
- set: DyFM_AI_Base_Input<DyFM_OAI_CallSettings>
263
- ): Promise<string[]> {
264
- set.message += this.predefinedRequests.listRequest;
265
-
266
- const answer = await this.requestSimpleMessage(set);
267
-
268
- return this.convertAnswerToList<string>(answer, set.message);
269
- } */
270
- /** the exact same as {@link askListQuestion} */
271
- //listQuestion = this.askListQuestion;
272
- /** the exact same as {@link askListQuestion} */
273
- //listRequest = this.askListQuestion;
274
- async requestList(set) {
275
- set.message += this.predefinedRequests.listRequest;
276
- const answer = await this.requestSimpleMessage(set);
277
- return this.convertAnswerToList(answer, set.message);
278
- }
279
- /**
280
- * Asks the AI to answer a question
281
- *
282
- * Uses the {@link resolveSimpleUserMessage}
283
- */
284
- async requestSimpleMessage(set) {
285
- this.logQuestion(set);
286
- set.conversation ??= [];
287
- set.conversation.push({ role: ai_1.DyFM_AI_MessageRole.user, content: set.message });
288
- const answer = await this.resolveMessage({
289
- ...set,
290
- conversation: set.conversation,
291
- getFullResponse: false,
292
- });
293
- this.logAnswer(answer);
294
- return answer;
295
- }
296
- /** the exact same as {@link requestSimpleMessage} */
297
- //answer = this.askQuestion;
298
- /** the exact same as {@link requestSimpleMessage} */
299
- //getQuestionAnswer = this.askQuestion;
300
- /** the exact same as {@link requestSimpleMessage} */
301
- //simpleQuestion = this.askQuestion;
302
- /** the exact same as {@link requestSimpleMessage} */
303
- //askSimpleQuestion = this.askQuestion;
304
- /**
305
- * Resolves a simple user message and returns the answer as string
306
- *
307
- * Uses the {@link resolveMessage}
308
- */
309
- /* async resolveSimpleUserMessage(
310
- set: DyFM_AI_Base_Input<DyFM_OAI_CallSettings>
311
- ): Promise<string> {
312
- return this.resolveMessage({
313
- conversation: [{ role: DyFM_AI_MessageRole.user, content: set.message }],
314
- issuer: set.issuer ?? 'unknown',
315
- settings: set.settings ?? this.defaultSettings,
316
- getFullResponse: false,
317
- }) as Promise<string>;
318
- } */
319
- /** the exact same as {@link resolveSimpleUserMessage} */
320
- //simpleUserMessage = this.resolveSimpleUserMessage;
321
- //#endregion
322
- /**
323
- * Resolves a conversation
324
- *
325
- * Uses the {@link getMessageCreateInput}
326
- */
327
- async resolveMessage(set
328
- /* {
329
- conversation: [{ role: DyFM_AI_MessageRole.user, content: set.message }],
330
- issuer: set.issuer ?? 'unknown',
331
- settings: set.settings ?? this.defaultSettings,
332
- getFullResponse: false,
333
- } */
334
- /* {
335
- conversation: DyFM_AI_Message[],
336
- issuer: string,
337
- settings?: DyFM_OAI_CallSettings,
338
- getFullResponse?: boolean
339
- } */
340
- ) {
341
- try {
342
- // FR-002 — callType meghatározás a unshift ELŐTT (a system-message hozzáadás
343
- // után már 2+ message lenne, ami a "chat" kategóriát mindig kiváltja).
344
- // 1 user-message → 'llm-completion'; több → 'llm-chat'. A 'llm-tool-use'
345
- // categoria a tools paraméterek bevezetésekor kerül használatba (jövőbeli FR).
346
- const userMessageCount = set.conversation.length;
347
- set.conversation.unshift(this.getDefaultSystemMessage(set.settings));
348
- // FR-002 — per-call cost-event timing: a tényleges API-call latency mérve
349
- const input = this.getMessageCreateInput(set);
350
- const start = Date.now();
351
- const result = await this.openai.chat.completions.create(input);
352
- const durationMs = Date.now() - start;
353
- // FR-002 — cost-event emit (safe, no-op ha nincs onCostEvent callback)
354
- this.emitCostEvent({
355
- callType: userMessageCount === 1 ? 'llm-completion' : 'llm-chat',
356
- provider: this.aiProvider,
357
- model: String(input.model ?? this.defaultModel),
358
- tokensUsed: {
359
- input: result.usage?.prompt_tokens ?? 0,
360
- output: result.usage?.completion_tokens ?? 0,
361
- total: result.usage?.total_tokens ?? 0,
362
- },
363
- durationMs: durationMs,
364
- issuer: set.issuer,
365
- timestamp: new Date(),
366
- });
367
- if (set.getFullResponse) {
368
- return result;
369
- }
370
- return result.choices[0].message.content;
371
- }
372
- catch (error) {
373
- throw new fsm_dynamo_1.DyFM_Error({
374
- ...this.getDefaultErrorSettings('resolveConversation', error, set.issuer),
375
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-RM0`,
376
- });
377
- }
378
- }
379
- /**
380
- * Creates a message create input
381
- *
382
- * Uses the {@link getDefaultSystemMessage}
383
- */
384
- getMessageCreateInput(set) {
385
- try {
386
- const settings = set.settings ?? this.defaultSettings;
387
- const useModel = String(settings?.useModel ?? this.defaultModel);
388
- const result = {
389
- model: useModel,
390
- messages: set.conversation,
391
- };
392
- // FR-048 §3: a sampling-parameterek (+ max_completion_tokens) a per-model `settingsSchema` szerint
393
- // kerulnek ra (drop/clamp). KORABBAN ez a NEM-tool ag FELTETEL NELKUL kuldte a sampling-parametereket,
394
- // ezert reasoning modellen (GPT-5.x / o-series) 400-zal elhasalt volna — ezt itt zarjuk le.
395
- this.applySamplingParams({ input: result, useModel: useModel, settings: set.settings });
396
- return result;
397
- }
398
- catch (error) {
399
- throw new fsm_dynamo_1.DyFM_Error({
400
- ...this.getDefaultErrorSettings('getMessageCreateSettings', error, set.issuer),
401
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-RC0`,
402
- });
403
- }
404
- }
405
- /**
406
- * Teszteli a kapcsolatot az OpenAI API-val
407
- *
408
- * Tests the connection to OpenAI API
409
- */
410
- async testConnection(issuer) {
411
- try {
412
- await this.openai.models.list();
413
- return true;
414
- }
415
- catch (error) {
416
- fsm_dynamo_1.DyFM_Log.error('DyNTS_OAI_LLM_ServiceBase', 'testConnection', 'Connection test failed', {
417
- error,
418
- issuer
419
- });
420
- return false;
421
- }
422
- }
423
- //#region Function calling (tool use) — FR-047
424
- /** OpenAI tool-kepes modell-registry (a base capability-precheck-jehez). */
425
- getModelRegistry() {
426
- return open_ai_1.DyFM_OAI_Models;
427
- }
428
- /**
429
- * Egy OpenAI-kor a tool-loop-ban: felepiti a natív request-et (system + a teljes beszelgetes
430
- * tool-uzenetekkel + tools), meghivja az API-t, es normalizalt DyFM_AI_LLM_Response-t ad vissza
431
- * (toolCalls feltoltve, ha a model tool-t akar hivni). FR-002 cost-event: 'llm-tool-use'.
432
- */
433
- async callModelWithTools(set) {
434
- try {
435
- const settings = set.settings ?? this.defaultSettings;
436
- const messages = [
437
- this.toOpenAIMessage(this.getDefaultSystemMessage(settings)),
438
- ...set.conversation.map((message) => this.toOpenAIMessage(message)),
439
- ];
440
- const useModel = settings?.useModel ?? this.defaultModel;
441
- const input = {
442
- model: useModel,
443
- messages: messages,
444
- };
445
- // FR-048 §3: a sampling-parameterek + `max_completion_tokens` a per-model `settingsSchema` szerint
446
- // kerulnek ra. A korabbi lokalis `isReasoningModel`-drop atmeneti fallback-kent bent maradt a
447
- // helper-ben (l. `applySamplingParams`), amig a schema ki nem kerul a fsm-bol — igy nincs regresszio.
448
- this.applySamplingParams({ input: input, useModel: String(useModel), settings: set.settings });
449
- // Ures tools-tomb -> 400 ("tools must have minimum length 1"). Csak akkor kuldjuk, ha van tool.
450
- if (set.tools.length) {
451
- input.tools = set.tools.map((tool) => this.toOpenAITool(tool));
452
- input.tool_choice = 'auto';
453
- }
454
- const start = Date.now();
455
- const result = await this.openai.chat.completions.create(input);
456
- const durationMs = Date.now() - start;
457
- const message = result.choices[0].message;
458
- const toolCalls = (message.tool_calls ?? [])
459
- .filter((toolCall) => toolCall.type === 'function')
460
- .map((toolCall) => ({
461
- id: toolCall.id,
462
- name: toolCall.function.name,
463
- arguments: this.parseToolArguments(toolCall.function.arguments),
464
- }));
465
- this.emitCostEvent({
466
- callType: 'llm-tool-use',
467
- provider: this.aiProvider,
468
- model: String(input.model ?? this.defaultModel),
469
- tokensUsed: {
470
- input: result.usage?.prompt_tokens ?? 0,
471
- output: result.usage?.completion_tokens ?? 0,
472
- total: result.usage?.total_tokens ?? 0,
473
- },
474
- durationMs: durationMs,
475
- issuer: set.issuer,
476
- timestamp: new Date(),
477
- });
478
- return {
479
- content: message.content ?? '',
480
- toolCalls: toolCalls.length ? toolCalls : undefined,
481
- usage: result.usage ? {
482
- promptTokens: result.usage.prompt_tokens,
483
- completionTokens: result.usage.completion_tokens,
484
- totalTokens: result.usage.total_tokens,
485
- } : undefined,
486
- model: result.model,
487
- finishReason: result.choices[0].finish_reason,
488
- stopReason: result.choices[0].finish_reason,
489
- rawResponse: result,
490
- };
491
- }
492
- catch (error) {
493
- throw new fsm_dynamo_1.DyFM_Error({
494
- ...this.getDefaultErrorSettings('callModelWithTools', error, set.issuer),
495
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-TC0`,
496
- });
497
- }
498
- }
499
- /** Agnosztikus tool-definicio → OpenAI ChatCompletionTool. */
500
- toOpenAITool(tool) {
501
- return {
502
- type: 'function',
503
- function: {
504
- name: tool.name,
505
- description: tool.description,
506
- parameters: tool.parameters,
507
- },
508
- };
509
- }
510
- /**
511
- * Agnosztikus DyFM_AI_Message → OpenAI ChatCompletionMessageParam.
512
- * Kezeli a tool-result (role:'tool') es a tool-hivo assistant (tool_calls) uzeneteket is.
513
- */
514
- toOpenAIMessage(message) {
515
- if (message.role === ai_1.DyFM_AI_MessageRole.tool) {
516
- return {
517
- role: 'tool',
518
- tool_call_id: message.toolCallId ?? '',
519
- content: message.content,
520
- };
521
- }
522
- if (message.role === ai_1.DyFM_AI_MessageRole.assistant && message.toolCalls?.length) {
523
- return {
524
- role: 'assistant',
525
- content: message.content || null,
526
- tool_calls: message.toolCalls.map((toolCall) => ({
527
- id: toolCall.id,
528
- type: 'function',
529
- function: {
530
- name: toolCall.name,
531
- arguments: JSON.stringify(toolCall.arguments),
532
- },
533
- })),
534
- };
535
- }
536
- return {
537
- role: message.role,
538
- content: message.content,
539
- };
540
- }
541
- /** Tool-argumentumok parse-olasa (OpenAI JSON-string → object); hibas JSON eseten ures object. */
542
- parseToolArguments(raw) {
543
- try {
544
- return JSON.parse(raw || '{}');
545
- }
546
- catch {
547
- return {};
548
- }
549
- }
550
- /**
551
- * ⚠️ **TUL TAG HEURISZTIKA — csak FALLBACK, ne ez legyen az igazsag forrasa.**
552
- *
553
- * Eredetileg (FR-047) azt felteteleztuk, hogy MINDEN `gpt-5.x` + o-series modell elutasitja a
554
- * sampling-parametereket. **Live capture 2026-07-21 ezt MEGCAFOLTA:**
555
- * - elutasit: `gpt-5.5`, `o3-mini`, `o4-mini`
556
- * - **ELFOGADJA**: `gpt-5.4-mini`, `gpt-5.4-nano` (HTTP 200, `reasoning_tokens: 0`)
557
- *
558
- * Vagyis erre a ket modellre ez a regex **NEMAN kidobna ervenyes parametereket** — halkan rontva a
559
- * kimenetet. Ezert az `applySamplingParams` a **registry `settingsSchema`-t reszesiti elonyben**, es ezt
560
- * a heurisztikat CSAK akkor hasznalja, ha az adott modellhez nincs schema (regi fsm-verzio / ismeretlen
561
- * modell). Amint a populalt schema mindenhol elerheto, ez a metodus elhagyhato.
562
- *
563
- * Reszletek: `fdp-documentations/plans/ai-mocking-system/CAPTURE-FINDINGS.md` §1.
564
- */
565
- isReasoningModel(modelId) {
566
- return /^gpt-5/.test(modelId) || /^o[0-9]/.test(modelId);
567
- }
568
- /**
569
- * FR-048 §3 — feloldja az agnosztikus sampling-settingseket (hivas-settings > default), atengedi a
570
- * per-model reconciler-en (`settingsSchema` szerinti drop/clamp), majd RAKEPZI a natív OpenAI mezokre.
571
- * Csak azok a natív mezok kerulnek az input-ra, amik a reconcile utan MEGMARADTAK.
572
- *
573
- * Ezzel a "melyik modell mit fogad el" tudas a registry `settingsSchema`-jaban (SSoT) el, nem
574
- * provider-translatoronkent duplikalva.
575
- *
576
- * **Atmeneti fallback (szandekos):** ha a registry-bejegyzesnek MEG NINCS `settingsSchema`-ja (regebbi
577
- * fsm-verzio, vagy registry-ben nem szereplo modell), a korabbi lokalis `isReasoningModel`-drop marad
578
- * ervenyben — igy a FR-047 `514153f` fix NEM regresszal, amig a schema ki nem kerul a fsm-bol. Amint a
579
- * schema mindenhol elerheto, ez a fallback (es az `isReasoningModel`) elhagyhato.
580
- */
581
- applySamplingParams(set) {
582
- const source = set.settings ?? this.defaultSettings;
583
- const resolved = {
584
- ...source,
585
- useModel: set.useModel,
586
- temperature: (0, fsm_dynamo_1.DyFM_notNull)(source?.temperature) ? source.temperature : this.defaultSettings.temperature,
587
- maxTokens: (0, fsm_dynamo_1.DyFM_notNull)(source?.maxTokens) ? source.maxTokens : this.defaultSettings.maxTokens,
588
- topP: (0, fsm_dynamo_1.DyFM_notNull)(source?.topP) ? source.topP : this.defaultSettings.topP,
589
- frequencyPenalty: (0, fsm_dynamo_1.DyFM_notNull)(source?.frequencyPenalty) ?
590
- source.frequencyPenalty : this.defaultSettings.frequencyPenalty,
591
- presencePenalty: (0, fsm_dynamo_1.DyFM_notNull)(source?.presencePenalty) ?
592
- source.presencePenalty : this.defaultSettings.presencePenalty,
593
- };
594
- const final = this.reconcileCallSettings(set.useModel, resolved);
595
- const modelInfo = ai_1.DyFM_AI_ModelRegistry_Util.findModelInfo(this.getModelRegistry(), set.useModel);
596
- const dropSampling = !modelInfo?.settingsSchema && this.isReasoningModel(set.useModel);
597
- if ((0, fsm_dynamo_1.DyFM_notNull)(final?.maxTokens)) {
598
- set.input.max_completion_tokens = final.maxTokens;
599
- }
600
- if (dropSampling) {
601
- return;
602
- }
603
- if ((0, fsm_dynamo_1.DyFM_notNull)(final?.temperature)) {
604
- set.input.temperature = final.temperature;
605
- }
606
- if ((0, fsm_dynamo_1.DyFM_notNull)(final?.topP)) {
607
- set.input.top_p = final.topP;
608
- }
609
- if ((0, fsm_dynamo_1.DyFM_notNull)(final?.frequencyPenalty)) {
610
- set.input.frequency_penalty = final.frequencyPenalty;
611
- }
612
- if ((0, fsm_dynamo_1.DyFM_notNull)(final?.presencePenalty)) {
613
- set.input.presence_penalty = final.presencePenalty;
614
- }
615
- }
616
- }
617
- exports.DyNTS_OAI_LLM_ServiceBase = DyNTS_OAI_LLM_ServiceBase;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_OAI_LLM_ServiceBase = void 0;
4
+ const openai_1 = require("openai");
5
+ const open_ai_1 = require("@futdevpro/fsm-dynamo/ai/open-ai");
6
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
7
+ const ai_1 = require("@futdevpro/fsm-dynamo/ai");
8
+ const global_settings_const_1 = require("../../../../../_collections/global-settings.const");
9
+ const oai_global_settings_const_1 = require("../_collections/oai-global-settings.const");
10
+ const oai_llm_predefined_requests_conts_1 = require("../_collections/oai-llm-predefined-requests.conts");
11
+ const ai_llm_service_base_1 = require("../../../_services/ai-llm.service-base");
12
+ /**
13
+ * {
14
+ * organization: 'org-XY',
15
+ * apiKey: 'sk-XY',
16
+ * project: 'proj_XY',
17
+ * }
18
+ */
19
+ // Di Dictionary DiModel DiEz DiAz
20
+ class DyNTS_OAI_LLM_ServiceBase extends ai_llm_service_base_1.DyNTS_AI_LLM_ServiceBase {
21
+ /* readonly defaultErrorUserMsg: string =
22
+ `We encountered an unhandled Control Service Error, ` +
23
+ `\nplease contact the responsible development team.`; */
24
+ openai;
25
+ defaultSettings;
26
+ // Provider properties from DyNTS_AI_Provider_ServiceBase
27
+ aiProvider = ai_1.DyFM_AI_Provider.OpenAI;
28
+ capabilities = {
29
+ chat: true,
30
+ embeddings: true,
31
+ imageGeneration: true,
32
+ vision: true,
33
+ audioGeneration: true,
34
+ audioAnalysis: true,
35
+ functionCalling: true,
36
+ streaming: true,
37
+ batchOperations: true,
38
+ maxContextLength: 128000,
39
+ supportedModelTypes: ['gpt-4o', 'gpt-4o-mini', 'text-embedding-3-large', 'text-embedding-3-small']
40
+ };
41
+ /* get _debugLog(): boolean {
42
+ return this.defaultSettings.debugLog;
43
+ } */
44
+ /* get defaultSystemPrompt(): string {
45
+ return this.defaultSettings.systemPrompt;
46
+ } */
47
+ get defaultModel() {
48
+ return this.defaultSettings.useModel;
49
+ }
50
+ predefinedRequests = oai_llm_predefined_requests_conts_1.DyNTS_OAI_LLMDefaultPredefined_Requests;
51
+ constructor(set) {
52
+ super();
53
+ global_settings_const_1.DyNTS_global_settings.openAi_settings ??= oai_global_settings_const_1.DyNTS_OAI_global_settings;
54
+ this.openai = new openai_1.OpenAI(set?.config ??
55
+ {
56
+ organization: global_settings_const_1.DyNTS_global_settings.env_settings.openAi.organization,
57
+ apiKey: global_settings_const_1.DyNTS_global_settings.env_settings.openAi.apiKey,
58
+ project: global_settings_const_1.DyNTS_global_settings.env_settings.openAi.project,
59
+ });
60
+ this.defaultSettings = set?.defaultSettings ??
61
+ oai_global_settings_const_1.DyNTS_OAI_global_settings.defaultSettings ??
62
+ new open_ai_1.DyFM_OAI_CallSettings();
63
+ // FR-002 — opcionális per-call cost-event callback átadás a base-osztálynak
64
+ if (set?.onCostEvent) {
65
+ this.onCostEvent = set.onCostEvent;
66
+ }
67
+ }
68
+ /**
69
+ * Inicializálja az OpenAI client-et a megadott config-gal
70
+ *
71
+ * Reinitializes the OpenAI client with the provided config
72
+ */
73
+ setup(config) {
74
+ this.openai = new openai_1.OpenAI(config);
75
+ }
76
+ /* readonly defaultLogReplacer: string = '...long-context...'; */
77
+ //#region Ask Questions
78
+ /**
79
+ * Asks the AI to answer a yes/no question
80
+ *
81
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.request} to ask the question,
82
+ * and the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.upperCaseYes} to check the answer
83
+ */
84
+ async requestYesNo(set) {
85
+ set.message += this.predefinedRequests.yesNo.request;
86
+ const answer = await this.requestSimpleMessage(set);
87
+ return this.convertAnswerToBoolean(answer);
88
+ }
89
+ /** the exact same as {@link requestYesNo} */
90
+ //yesNoQuestion = this.askYesNoQuestion;
91
+ /**
92
+ * Asks the AI to answer a percentage question
93
+ *
94
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.percentageOnly} to ask the question
95
+ */
96
+ async requestPercentage(set) {
97
+ set.message += this.predefinedRequests.percentageOnly;
98
+ const answer = await this.requestSimpleMessage(set);
99
+ return this.convertAnswerToNumber(answer, set.message);
100
+ }
101
+ /** the exact same as {@link requestPercentage} */
102
+ //percentageQuestion = this.askPercentageQuestion;
103
+ /**
104
+ * Asks the AI to select one of the options from the list
105
+ *
106
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
107
+ */
108
+ /* async askSelectQuestion(
109
+ set: DyFM_AI_GenericSelect_Input<string>
110
+ ): Promise<string> {
111
+ // replace the {{DyNTS_selectOptions}} with the list of options
112
+ const selectQuestionAddition = this.predefinedRequests.selectRequest.replace(
113
+ '{{DyNTS_selectOptions}}',
114
+ this.getTextListAsText(set.selectFrom)
115
+ );
116
+ set.message += selectQuestionAddition;
117
+
118
+ let answer = await this.requestSimpleMessage(set);
119
+
120
+ answer = answer.toLocaleUpperCase();
121
+
122
+ for (const item of set.selectFrom) {
123
+ if (answer.includes(item.toLocaleUpperCase())) return item;
124
+ }
125
+
126
+ return null;
127
+ } */
128
+ /** the exact same as {@link askSelectQuestion} */
129
+ //selectQuestion = this.askSelectQuestion;
130
+ /**
131
+ * Asks the AI to select one of the options from the list
132
+ * Similar to {@link askSelectQuestion},
133
+ * but with a more generic approach that can be used for objects
134
+ *
135
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
136
+ */
137
+ async requestSelect(set) {
138
+ const options = this.stringifySelectOptions(set.selectFrom);
139
+ const selectQuestionAddition = this.predefinedRequests.selectRequest.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(options));
140
+ set.message += selectQuestionAddition;
141
+ const answer = await this.requestSimpleMessage(set);
142
+ return this.convertAnswerToSelectOption(answer, set.message, set.selectFrom);
143
+ }
144
+ /** the exact same as {@link requestSelect} */
145
+ //selectRequest = this.requestSelect;
146
+ /**
147
+ * Asks the AI to select one or more of the options from the list
148
+ *
149
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
150
+ */
151
+ async requestMultiselect(set) {
152
+ const options = this.stringifySelectOptions(set.options);
153
+ const selectQuestionAddition = this.predefinedRequests.multiselect.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(options));
154
+ set.message += selectQuestionAddition;
155
+ let answer = await this.requestSimpleMessage(set);
156
+ answer = answer.toLocaleUpperCase();
157
+ return this.convertAnswerToSelectOptions(answer, set.message, set.options);
158
+ /* const result: T[] = [];
159
+
160
+ for (const item of options) {
161
+ if (answer.includes(item.toLocaleUpperCase())) {
162
+ const parsedItem: T | { unparsableResult: string } = DyFM_Object.safeParseJSON<T>(item);
163
+ if ((parsedItem as { unparsableResult: string }).unparsableResult) {
164
+ result.push(item as any);
165
+ } else {
166
+ result.push(parsedItem as T);
167
+ }
168
+
169
+ }
170
+ }
171
+
172
+ if (!result.length && !answer.trim().length) {
173
+ return { unparsableResult: answer };
174
+ }
175
+
176
+ return result; */
177
+ }
178
+ /** the exact same as {@link askMultipleSelectQuestionWithOptions} */
179
+ //multipleSelectQuestion = this.askMultipleSelectQuestionWithOptions;
180
+ /**
181
+ * Asks the AI to select one or more of the options from the list
182
+ * Similar to {@link askMultipleSelectQuestionWithOptions},
183
+ * but with a more generic approach that can be used for objects
184
+ *
185
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
186
+ */
187
+ /* async requestMultiselect<T>(
188
+ set: DyFM_AI_GenericMultiSelect_Input<T, DyFM_OAI_CallSettings>
189
+ ): Promise<T[]> {
190
+ const selectQuestionAddition = this.predefinedRequests.multiselect.replace(
191
+ '{{DyNTS_selectOptions}}',
192
+ this.getTextListAsText(set.options.map(item => `"${JSON.stringify(item)}"`))
193
+ );
194
+ set.message += selectQuestionAddition;
195
+
196
+ const answer = await this.requestSimpleMessage(set);
197
+
198
+ return DyFM_Object.safeParseList<T[]>(answer);
199
+ } */
200
+ /** the exact same as {@link requestMultipleSelect} */
201
+ //multipleSelectRequest = this.requestMultipleSelect;
202
+ /**
203
+ * Asks the AI to answer a question that must result a JSON object
204
+ *
205
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
206
+ *
207
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequest} to ask the question
208
+ *
209
+ * (uses {@link DyFM_safeParseJSON})
210
+ */
211
+ async requestJSON(set) {
212
+ set.message += this.predefinedRequests.jsonRequest;
213
+ const answer = await this.requestSimpleMessage(set);
214
+ return this.convertAnswerToJSON(answer, set.message);
215
+ }
216
+ /** the exact same as {@link askJSONQuestion} */
217
+ //jsonQuestion = this.askJSONQuestion;
218
+ /**
219
+ * Asks the AI to answer a question that must result a JSON object with specific key descriptions
220
+ *
221
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
222
+ *
223
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithKeysDescription} to ask the question
224
+ *
225
+ * (uses {@link DyFM_safeParseJSON})
226
+ */
227
+ async requestJSONQuestionWithKeysDescription(set) {
228
+ const jsonRequestWithKeysDescription = this.predefinedRequests.jsonRequestWithKeysDescription.replace('{{DyNTS_jsonKeysDescription}}', set.keysDescription);
229
+ set.message += jsonRequestWithKeysDescription;
230
+ const answer = await this.requestSimpleMessage(set);
231
+ return this.convertAnswerToJSON(answer, set.message);
232
+ }
233
+ /** the exact same as {@link requestJSONQuestionWithKeysDescription} */
234
+ //jsonQuestionWithKeysDescription = this.askJSONQuestionWithKeysDescription;
235
+ /**
236
+ * Asks the AI to answer a question that must result a JSON object with specific keys
237
+ *
238
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
239
+ *
240
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithExactKeys} to ask the question
241
+ *
242
+ * (uses {@link DyFM_safeParseJSON})
243
+ */
244
+ async requestJSONWithExactKeys(set) {
245
+ const jsonRequestWithExactKeys = this.predefinedRequests.jsonRequestWithExactKeys.replace('{{DyNTS_jsonKeys}}', this.getTextListAsText(set.keys));
246
+ set.message += jsonRequestWithExactKeys;
247
+ const answer = await this.requestSimpleMessage(set);
248
+ return this.convertAnswerToJSON(answer, set.message);
249
+ }
250
+ /** the exact same as {@link askJSONQuestionWithExactKeys} */
251
+ //jsonQuestionWithExactKeys = this.askJSONQuestionWithExactKeys;
252
+ /**
253
+ * Asks the AI to answer a question that must result a list of strings
254
+ *
255
+ * If the answer is not a valid JSON list, it will return the answer as a single item in an array
256
+ *
257
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.listRequest} to ask the question
258
+ *
259
+ * (uses {@link DyFM_Object.safeParseList})
260
+ */
261
+ /* async requestList(
262
+ set: DyFM_AI_Base_Input<DyFM_OAI_CallSettings>
263
+ ): Promise<string[]> {
264
+ set.message += this.predefinedRequests.listRequest;
265
+
266
+ const answer = await this.requestSimpleMessage(set);
267
+
268
+ return this.convertAnswerToList<string>(answer, set.message);
269
+ } */
270
+ /** the exact same as {@link askListQuestion} */
271
+ //listQuestion = this.askListQuestion;
272
+ /** the exact same as {@link askListQuestion} */
273
+ //listRequest = this.askListQuestion;
274
+ async requestList(set) {
275
+ set.message += this.predefinedRequests.listRequest;
276
+ const answer = await this.requestSimpleMessage(set);
277
+ return this.convertAnswerToList(answer, set.message);
278
+ }
279
+ /**
280
+ * Asks the AI to answer a question
281
+ *
282
+ * Uses the {@link resolveSimpleUserMessage}
283
+ */
284
+ async requestSimpleMessage(set) {
285
+ this.logQuestion(set);
286
+ set.conversation ??= [];
287
+ set.conversation.push({ role: ai_1.DyFM_AI_MessageRole.user, content: set.message });
288
+ const answer = await this.resolveMessage({
289
+ ...set,
290
+ conversation: set.conversation,
291
+ getFullResponse: false,
292
+ });
293
+ this.logAnswer(answer);
294
+ return answer;
295
+ }
296
+ /** the exact same as {@link requestSimpleMessage} */
297
+ //answer = this.askQuestion;
298
+ /** the exact same as {@link requestSimpleMessage} */
299
+ //getQuestionAnswer = this.askQuestion;
300
+ /** the exact same as {@link requestSimpleMessage} */
301
+ //simpleQuestion = this.askQuestion;
302
+ /** the exact same as {@link requestSimpleMessage} */
303
+ //askSimpleQuestion = this.askQuestion;
304
+ /**
305
+ * Resolves a simple user message and returns the answer as string
306
+ *
307
+ * Uses the {@link resolveMessage}
308
+ */
309
+ /* async resolveSimpleUserMessage(
310
+ set: DyFM_AI_Base_Input<DyFM_OAI_CallSettings>
311
+ ): Promise<string> {
312
+ return this.resolveMessage({
313
+ conversation: [{ role: DyFM_AI_MessageRole.user, content: set.message }],
314
+ issuer: set.issuer ?? 'unknown',
315
+ settings: set.settings ?? this.defaultSettings,
316
+ getFullResponse: false,
317
+ }) as Promise<string>;
318
+ } */
319
+ /** the exact same as {@link resolveSimpleUserMessage} */
320
+ //simpleUserMessage = this.resolveSimpleUserMessage;
321
+ //#endregion
322
+ /**
323
+ * Resolves a conversation
324
+ *
325
+ * Uses the {@link getMessageCreateInput}
326
+ */
327
+ async resolveMessage(set
328
+ /* {
329
+ conversation: [{ role: DyFM_AI_MessageRole.user, content: set.message }],
330
+ issuer: set.issuer ?? 'unknown',
331
+ settings: set.settings ?? this.defaultSettings,
332
+ getFullResponse: false,
333
+ } */
334
+ /* {
335
+ conversation: DyFM_AI_Message[],
336
+ issuer: string,
337
+ settings?: DyFM_OAI_CallSettings,
338
+ getFullResponse?: boolean
339
+ } */
340
+ ) {
341
+ try {
342
+ // FR-002 — callType meghatározás a unshift ELŐTT (a system-message hozzáadás
343
+ // után már 2+ message lenne, ami a "chat" kategóriát mindig kiváltja).
344
+ // 1 user-message → 'llm-completion'; több → 'llm-chat'. A 'llm-tool-use'
345
+ // categoria a tools paraméterek bevezetésekor kerül használatba (jövőbeli FR).
346
+ const userMessageCount = set.conversation.length;
347
+ set.conversation.unshift(this.getDefaultSystemMessage(set.settings));
348
+ // FR-002 — per-call cost-event timing: a tényleges API-call latency mérve
349
+ const input = this.getMessageCreateInput(set);
350
+ const start = Date.now();
351
+ const result = await this.openai.chat.completions.create(input);
352
+ const durationMs = Date.now() - start;
353
+ // FR-002 — cost-event emit (safe, no-op ha nincs onCostEvent callback)
354
+ this.emitCostEvent({
355
+ callType: userMessageCount === 1 ? 'llm-completion' : 'llm-chat',
356
+ provider: this.aiProvider,
357
+ model: String(input.model ?? this.defaultModel),
358
+ tokensUsed: {
359
+ input: result.usage?.prompt_tokens ?? 0,
360
+ output: result.usage?.completion_tokens ?? 0,
361
+ total: result.usage?.total_tokens ?? 0,
362
+ },
363
+ durationMs: durationMs,
364
+ issuer: set.issuer,
365
+ timestamp: new Date(),
366
+ });
367
+ if (set.getFullResponse) {
368
+ return result;
369
+ }
370
+ return result.choices[0].message.content;
371
+ }
372
+ catch (error) {
373
+ throw new fsm_dynamo_1.DyFM_Error({
374
+ ...this.getDefaultErrorSettings('resolveConversation', error, set.issuer),
375
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-RM0`,
376
+ });
377
+ }
378
+ }
379
+ /**
380
+ * Creates a message create input
381
+ *
382
+ * Uses the {@link getDefaultSystemMessage}
383
+ */
384
+ getMessageCreateInput(set) {
385
+ try {
386
+ const settings = set.settings ?? this.defaultSettings;
387
+ const useModel = String(settings?.useModel ?? this.defaultModel);
388
+ const result = {
389
+ model: useModel,
390
+ messages: set.conversation,
391
+ };
392
+ // FR-048 §3: a sampling-parameterek (+ max_completion_tokens) a per-model `settingsSchema` szerint
393
+ // kerulnek ra (drop/clamp). KORABBAN ez a NEM-tool ag FELTETEL NELKUL kuldte a sampling-parametereket,
394
+ // ezert reasoning modellen (GPT-5.x / o-series) 400-zal elhasalt volna — ezt itt zarjuk le.
395
+ this.applySamplingParams({ input: result, useModel: useModel, settings: set.settings });
396
+ return result;
397
+ }
398
+ catch (error) {
399
+ throw new fsm_dynamo_1.DyFM_Error({
400
+ ...this.getDefaultErrorSettings('getMessageCreateSettings', error, set.issuer),
401
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-RC0`,
402
+ });
403
+ }
404
+ }
405
+ /**
406
+ * Teszteli a kapcsolatot az OpenAI API-val
407
+ *
408
+ * Tests the connection to OpenAI API
409
+ */
410
+ async testConnection(issuer) {
411
+ try {
412
+ await this.openai.models.list();
413
+ return true;
414
+ }
415
+ catch (error) {
416
+ fsm_dynamo_1.DyFM_Log.error('DyNTS_OAI_LLM_ServiceBase', 'testConnection', 'Connection test failed', {
417
+ error,
418
+ issuer
419
+ });
420
+ return false;
421
+ }
422
+ }
423
+ //#region Function calling (tool use) — FR-047
424
+ /** OpenAI tool-kepes modell-registry (a base capability-precheck-jehez). */
425
+ getModelRegistry() {
426
+ return open_ai_1.DyFM_OAI_Models;
427
+ }
428
+ /**
429
+ * Egy OpenAI-kor a tool-loop-ban: felepiti a natív request-et (system + a teljes beszelgetes
430
+ * tool-uzenetekkel + tools), meghivja az API-t, es normalizalt DyFM_AI_LLM_Response-t ad vissza
431
+ * (toolCalls feltoltve, ha a model tool-t akar hivni). FR-002 cost-event: 'llm-tool-use'.
432
+ */
433
+ async callModelWithTools(set) {
434
+ try {
435
+ const settings = set.settings ?? this.defaultSettings;
436
+ const messages = [
437
+ this.toOpenAIMessage(this.getDefaultSystemMessage(settings)),
438
+ ...set.conversation.map((message) => this.toOpenAIMessage(message)),
439
+ ];
440
+ const useModel = settings?.useModel ?? this.defaultModel;
441
+ const input = {
442
+ model: useModel,
443
+ messages: messages,
444
+ };
445
+ // FR-048 §3: a sampling-parameterek + `max_completion_tokens` a per-model `settingsSchema` szerint
446
+ // kerulnek ra. A korabbi lokalis `isReasoningModel`-drop atmeneti fallback-kent bent maradt a
447
+ // helper-ben (l. `applySamplingParams`), amig a schema ki nem kerul a fsm-bol — igy nincs regresszio.
448
+ this.applySamplingParams({ input: input, useModel: String(useModel), settings: set.settings });
449
+ // Ures tools-tomb -> 400 ("tools must have minimum length 1"). Csak akkor kuldjuk, ha van tool.
450
+ if (set.tools.length) {
451
+ input.tools = set.tools.map((tool) => this.toOpenAITool(tool));
452
+ input.tool_choice = 'auto';
453
+ }
454
+ const start = Date.now();
455
+ const result = await this.openai.chat.completions.create(input);
456
+ const durationMs = Date.now() - start;
457
+ const message = result.choices[0].message;
458
+ const toolCalls = (message.tool_calls ?? [])
459
+ .filter((toolCall) => toolCall.type === 'function')
460
+ .map((toolCall) => ({
461
+ id: toolCall.id,
462
+ name: toolCall.function.name,
463
+ arguments: this.parseToolArguments(toolCall.function.arguments),
464
+ }));
465
+ this.emitCostEvent({
466
+ callType: 'llm-tool-use',
467
+ provider: this.aiProvider,
468
+ model: String(input.model ?? this.defaultModel),
469
+ tokensUsed: {
470
+ input: result.usage?.prompt_tokens ?? 0,
471
+ output: result.usage?.completion_tokens ?? 0,
472
+ total: result.usage?.total_tokens ?? 0,
473
+ },
474
+ durationMs: durationMs,
475
+ issuer: set.issuer,
476
+ timestamp: new Date(),
477
+ });
478
+ return {
479
+ content: message.content ?? '',
480
+ toolCalls: toolCalls.length ? toolCalls : undefined,
481
+ usage: result.usage ? {
482
+ promptTokens: result.usage.prompt_tokens,
483
+ completionTokens: result.usage.completion_tokens,
484
+ totalTokens: result.usage.total_tokens,
485
+ } : undefined,
486
+ model: result.model,
487
+ finishReason: result.choices[0].finish_reason,
488
+ stopReason: result.choices[0].finish_reason,
489
+ rawResponse: result,
490
+ };
491
+ }
492
+ catch (error) {
493
+ throw new fsm_dynamo_1.DyFM_Error({
494
+ ...this.getDefaultErrorSettings('callModelWithTools', error, set.issuer),
495
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OLSB-TC0`,
496
+ });
497
+ }
498
+ }
499
+ /** Agnosztikus tool-definicio → OpenAI ChatCompletionTool. */
500
+ toOpenAITool(tool) {
501
+ return {
502
+ type: 'function',
503
+ function: {
504
+ name: tool.name,
505
+ description: tool.description,
506
+ parameters: tool.parameters,
507
+ },
508
+ };
509
+ }
510
+ /**
511
+ * Agnosztikus DyFM_AI_Message → OpenAI ChatCompletionMessageParam.
512
+ * Kezeli a tool-result (role:'tool') es a tool-hivo assistant (tool_calls) uzeneteket is.
513
+ */
514
+ toOpenAIMessage(message) {
515
+ if (message.role === ai_1.DyFM_AI_MessageRole.tool) {
516
+ return {
517
+ role: 'tool',
518
+ tool_call_id: message.toolCallId ?? '',
519
+ content: message.content,
520
+ };
521
+ }
522
+ if (message.role === ai_1.DyFM_AI_MessageRole.assistant && message.toolCalls?.length) {
523
+ return {
524
+ role: 'assistant',
525
+ content: message.content || null,
526
+ tool_calls: message.toolCalls.map((toolCall) => ({
527
+ id: toolCall.id,
528
+ type: 'function',
529
+ function: {
530
+ name: toolCall.name,
531
+ arguments: JSON.stringify(toolCall.arguments),
532
+ },
533
+ })),
534
+ };
535
+ }
536
+ return {
537
+ role: message.role,
538
+ content: message.content,
539
+ };
540
+ }
541
+ /** Tool-argumentumok parse-olasa (OpenAI JSON-string → object); hibas JSON eseten ures object. */
542
+ parseToolArguments(raw) {
543
+ try {
544
+ return JSON.parse(raw || '{}');
545
+ }
546
+ catch {
547
+ return {};
548
+ }
549
+ }
550
+ /**
551
+ * ⚠️ **TUL TAG HEURISZTIKA — csak FALLBACK, ne ez legyen az igazsag forrasa.**
552
+ *
553
+ * Eredetileg (FR-047) azt felteteleztuk, hogy MINDEN `gpt-5.x` + o-series modell elutasitja a
554
+ * sampling-parametereket. **Live capture 2026-07-21 ezt MEGCAFOLTA:**
555
+ * - elutasit: `gpt-5.5`, `o3-mini`, `o4-mini`
556
+ * - **ELFOGADJA**: `gpt-5.4-mini`, `gpt-5.4-nano` (HTTP 200, `reasoning_tokens: 0`)
557
+ *
558
+ * Vagyis erre a ket modellre ez a regex **NEMAN kidobna ervenyes parametereket** — halkan rontva a
559
+ * kimenetet. Ezert az `applySamplingParams` a **registry `settingsSchema`-t reszesiti elonyben**, es ezt
560
+ * a heurisztikat CSAK akkor hasznalja, ha az adott modellhez nincs schema (regi fsm-verzio / ismeretlen
561
+ * modell). Amint a populalt schema mindenhol elerheto, ez a metodus elhagyhato.
562
+ *
563
+ * Reszletek: `fdp-documentations/plans/ai-mocking-system/CAPTURE-FINDINGS.md` §1.
564
+ */
565
+ isReasoningModel(modelId) {
566
+ return /^gpt-5/.test(modelId) || /^o[0-9]/.test(modelId);
567
+ }
568
+ /**
569
+ * FR-048 §3 — feloldja az agnosztikus sampling-settingseket (hivas-settings > default), atengedi a
570
+ * per-model reconciler-en (`settingsSchema` szerinti drop/clamp), majd RAKEPZI a natív OpenAI mezokre.
571
+ * Csak azok a natív mezok kerulnek az input-ra, amik a reconcile utan MEGMARADTAK.
572
+ *
573
+ * Ezzel a "melyik modell mit fogad el" tudas a registry `settingsSchema`-jaban (SSoT) el, nem
574
+ * provider-translatoronkent duplikalva.
575
+ *
576
+ * **Atmeneti fallback (szandekos):** ha a registry-bejegyzesnek MEG NINCS `settingsSchema`-ja (regebbi
577
+ * fsm-verzio, vagy registry-ben nem szereplo modell), a korabbi lokalis `isReasoningModel`-drop marad
578
+ * ervenyben — igy a FR-047 `514153f` fix NEM regresszal, amig a schema ki nem kerul a fsm-bol. Amint a
579
+ * schema mindenhol elerheto, ez a fallback (es az `isReasoningModel`) elhagyhato.
580
+ */
581
+ applySamplingParams(set) {
582
+ const source = set.settings ?? this.defaultSettings;
583
+ const resolved = {
584
+ ...source,
585
+ useModel: set.useModel,
586
+ temperature: (0, fsm_dynamo_1.DyFM_notNull)(source?.temperature) ? source.temperature : this.defaultSettings.temperature,
587
+ maxTokens: (0, fsm_dynamo_1.DyFM_notNull)(source?.maxTokens) ? source.maxTokens : this.defaultSettings.maxTokens,
588
+ topP: (0, fsm_dynamo_1.DyFM_notNull)(source?.topP) ? source.topP : this.defaultSettings.topP,
589
+ frequencyPenalty: (0, fsm_dynamo_1.DyFM_notNull)(source?.frequencyPenalty) ?
590
+ source.frequencyPenalty : this.defaultSettings.frequencyPenalty,
591
+ presencePenalty: (0, fsm_dynamo_1.DyFM_notNull)(source?.presencePenalty) ?
592
+ source.presencePenalty : this.defaultSettings.presencePenalty,
593
+ };
594
+ const final = this.reconcileCallSettings(set.useModel, resolved);
595
+ const modelInfo = ai_1.DyFM_AI_ModelRegistry_Util.findModelInfo(this.getModelRegistry(), set.useModel);
596
+ const dropSampling = !modelInfo?.settingsSchema && this.isReasoningModel(set.useModel);
597
+ if ((0, fsm_dynamo_1.DyFM_notNull)(final?.maxTokens)) {
598
+ set.input.max_completion_tokens = final.maxTokens;
599
+ }
600
+ if (dropSampling) {
601
+ return;
602
+ }
603
+ if ((0, fsm_dynamo_1.DyFM_notNull)(final?.temperature)) {
604
+ set.input.temperature = final.temperature;
605
+ }
606
+ if ((0, fsm_dynamo_1.DyFM_notNull)(final?.topP)) {
607
+ set.input.top_p = final.topP;
608
+ }
609
+ if ((0, fsm_dynamo_1.DyFM_notNull)(final?.frequencyPenalty)) {
610
+ set.input.frequency_penalty = final.frequencyPenalty;
611
+ }
612
+ if ((0, fsm_dynamo_1.DyFM_notNull)(final?.presencePenalty)) {
613
+ set.input.presence_penalty = final.presencePenalty;
614
+ }
615
+ }
616
+ }
617
+ exports.DyNTS_OAI_LLM_ServiceBase = DyNTS_OAI_LLM_ServiceBase;
618
618
  //# sourceMappingURL=oai-llm.service-base.js.map