@futdevpro/nts-dynamo 1.15.155 → 1.15.156

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/README.md +10 -10
  2. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -0
  3. package/__documentations/2026-08-22-content-free-process-error-boundary.md +26 -6
  4. package/build/_collections/app-version-header.util.d.ts +41 -41
  5. package/build/_collections/app-version-header.util.js +66 -66
  6. package/build/_collections/archive-service-registry.const.d.ts +15 -15
  7. package/build/_collections/archive-service-registry.const.js +14 -14
  8. package/build/_collections/archive.util.d.ts +12 -12
  9. package/build/_collections/archive.util.js +18 -18
  10. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  11. package/build/_collections/atlas-default-db-options.const.js +9 -9
  12. package/build/_collections/client-safe-error.util.d.ts +38 -38
  13. package/build/_collections/client-safe-error.util.js +96 -96
  14. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  15. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  16. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  17. package/build/_collections/default-not-found-page.const.js +24 -24
  18. package/build/_collections/default-socket-path.const.d.ts +2 -2
  19. package/build/_collections/default-socket-path.const.js +5 -5
  20. package/build/_collections/field-encryption.util.d.ts +85 -85
  21. package/build/_collections/field-encryption.util.js +192 -192
  22. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  23. package/build/_collections/get-environment-settings.util.js +43 -43
  24. package/build/_collections/global-settings.const.d.ts +6 -6
  25. package/build/_collections/global-settings.const.js +104 -104
  26. package/build/_collections/load-shed.util.d.ts +15 -15
  27. package/build/_collections/load-shed.util.js +42 -42
  28. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  29. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  30. package/build/_collections/npm-token-check.util.d.ts +138 -138
  31. package/build/_collections/npm-token-check.util.js +301 -301
  32. package/build/_collections/security-headers.util.d.ts +16 -16
  33. package/build/_collections/security-headers.util.js +77 -77
  34. package/build/_collections/signed-url.util.d.ts +84 -84
  35. package/build/_collections/signed-url.util.js +145 -145
  36. package/build/_collections/star.controller.d.ts +7 -7
  37. package/build/_collections/star.controller.js +97 -97
  38. package/build/_collections/static-cache-control.util.d.ts +17 -17
  39. package/build/_collections/static-cache-control.util.js +23 -23
  40. package/build/_enums/data-model-type.enum.d.ts +13 -13
  41. package/build/_enums/data-model-type.enum.js +17 -17
  42. package/build/_enums/data-service-function.enum.d.ts +18 -18
  43. package/build/_enums/data-service-function.enum.js +24 -24
  44. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  45. package/build/_enums/predefined-data-types.enum.js +19 -19
  46. package/build/_enums/route-security.enum.d.ts +11 -11
  47. package/build/_enums/route-security.enum.js +15 -15
  48. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  49. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  50. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  51. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  52. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  53. package/build/_models/control-models/app-params.control-model.js +118 -118
  54. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  55. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  56. package/build/_models/control-models/endpoint-params.control-model.d.ts +125 -119
  57. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  58. package/build/_models/control-models/endpoint-params.control-model.js +409 -484
  59. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  60. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  61. package/build/_models/control-models/http-settings.control-model.js +34 -34
  62. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  63. package/build/_models/control-models/system-control.control-model.js +11 -11
  64. package/build/_models/data-models/schema-migration.data-model.d.ts +28 -28
  65. package/build/_models/data-models/schema-migration.data-model.js +46 -46
  66. package/build/_models/interfaces/app-version-header-settings.interface.d.ts +16 -16
  67. package/build/_models/interfaces/app-version-header-settings.interface.js +2 -2
  68. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  69. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  70. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  71. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  72. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  73. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  74. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  75. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  76. package/build/_models/interfaces/db-query-options.interface.d.ts +32 -32
  77. package/build/_models/interfaces/db-query-options.interface.js +2 -2
  78. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  79. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  80. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  81. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  82. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  83. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  84. package/build/_models/interfaces/global-settings.interface.d.ts +265 -265
  85. package/build/_models/interfaces/global-settings.interface.js +2 -2
  86. package/build/_models/interfaces/migration-entry.interface.d.ts +19 -19
  87. package/build/_models/interfaces/migration-entry.interface.js +2 -2
  88. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +8 -8
  89. package/build/_models/interfaces/mongo-transaction-settings.interface.js +2 -2
  90. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  91. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  92. package/build/_models/interfaces/security-headers-settings.interface.d.ts +41 -41
  93. package/build/_models/interfaces/security-headers-settings.interface.js +2 -2
  94. package/build/_models/interfaces/signed-url-verify-result.interface.d.ts +13 -13
  95. package/build/_models/interfaces/signed-url-verify-result.interface.js +2 -2
  96. package/build/_models/interfaces/static-client-settings.interface.d.ts +36 -36
  97. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  98. package/build/_models/types/db-update.type.d.ts +129 -129
  99. package/build/_models/types/db-update.type.js +2 -2
  100. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +5 -5
  101. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +9 -9
  102. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +6 -6
  103. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +10 -10
  104. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +6 -6
  105. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +10 -10
  106. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +8 -8
  107. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +2 -2
  108. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +6 -6
  109. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +2 -2
  110. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +12 -12
  111. package/build/_modules/account-security/_models/account-challenge-record.interface.js +2 -2
  112. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +7 -7
  113. package/build/_modules/account-security/_models/account-challenge-result.interface.js +2 -2
  114. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +8 -8
  115. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +2 -2
  116. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +11 -11
  117. package/build/_modules/account-security/_models/account-password-policy.interface.js +2 -2
  118. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +5 -5
  119. package/build/_modules/account-security/_models/account-password-verification.interface.js +2 -2
  120. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +12 -12
  121. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +2 -2
  122. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +18 -18
  123. package/build/_modules/account-security/_models/account-session-adapter.interface.js +2 -2
  124. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +7 -7
  125. package/build/_modules/account-security/_models/account-session-claims.interface.js +2 -2
  126. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +6 -6
  127. package/build/_modules/account-security/_models/account-session-context.interface.js +2 -2
  128. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +7 -7
  129. package/build/_modules/account-security/_models/account-session-create.interface.js +2 -2
  130. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +20 -20
  131. package/build/_modules/account-security/_models/account-session-record.interface.js +2 -2
  132. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +10 -10
  133. package/build/_modules/account-security/_models/account-session-rotate.interface.js +2 -2
  134. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +10 -10
  135. package/build/_modules/account-security/_models/account-session-settings.interface.js +2 -2
  136. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +8 -8
  137. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +2 -2
  138. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +12 -12
  139. package/build/_modules/account-security/_models/account-session-view.interface.js +2 -2
  140. package/build/_modules/account-security/account-challenge.control-service.d.ts +23 -23
  141. package/build/_modules/account-security/account-challenge.control-service.js +116 -116
  142. package/build/_modules/account-security/account-password.control-service.d.ts +23 -23
  143. package/build/_modules/account-security/account-password.control-service.js +213 -213
  144. package/build/_modules/account-security/account-session.control-service.d.ts +38 -38
  145. package/build/_modules/account-security/account-session.control-service.js +276 -276
  146. package/build/_modules/account-security/index.d.ts +23 -23
  147. package/build/_modules/account-security/index.js +15 -15
  148. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  149. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  150. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  151. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  152. package/build/_modules/admin-auth/index.d.ts +2 -2
  153. package/build/_modules/admin-auth/index.js +5 -5
  154. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +31 -31
  155. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +94 -94
  156. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +43 -43
  157. package/build/_modules/ai/_collections/ai-provider-error.util.js +120 -120
  158. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  159. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  160. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  161. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  162. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  163. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  164. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  165. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  166. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +16 -16
  167. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +2 -2
  168. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +22 -22
  169. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +51 -51
  170. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +33 -33
  171. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +55 -55
  172. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +40 -40
  173. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -89
  174. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +27 -27
  175. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +28 -28
  176. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +14 -14
  177. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +2 -2
  178. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +10 -10
  179. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +2 -2
  180. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +29 -29
  181. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +2 -2
  182. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +18 -18
  183. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +2 -2
  184. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +18 -18
  185. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +2 -2
  186. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts +80 -80
  187. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js +166 -166
  188. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +47 -47
  189. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +103 -103
  190. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +34 -34
  191. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +59 -59
  192. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +73 -73
  193. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +133 -133
  194. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.d.ts +8 -8
  195. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.js +650 -650
  196. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -14
  197. package/build/_modules/ai/_modules/ai-mock/index.js +42 -42
  198. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  199. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  200. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  201. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  202. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  203. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  204. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  205. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  206. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  207. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  208. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  209. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  210. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  211. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  212. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  213. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  214. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  215. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  216. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  217. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  218. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  219. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  220. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  221. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  222. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  223. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  224. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  225. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  226. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  227. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  228. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  229. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  230. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  231. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  232. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  233. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  234. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  235. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  236. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  237. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  238. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  239. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  240. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  241. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  242. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  243. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  244. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  245. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  246. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  247. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  248. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  249. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  250. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  251. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  252. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  253. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  254. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +229 -229
  255. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +617 -617
  256. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  257. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  258. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  259. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  260. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  261. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  262. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  263. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  264. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  265. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  266. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +148 -148
  267. package/build/_modules/ai/_services/ai-llm.service-base.js +378 -378
  268. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  269. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  270. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  271. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  272. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  273. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  274. package/build/_modules/ai/index.d.ts +16 -16
  275. package/build/_modules/ai/index.js +30 -30
  276. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.d.ts +5 -5
  277. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.js +9 -9
  278. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.d.ts +8 -8
  279. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.js +12 -12
  280. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.d.ts +6 -6
  281. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.js +10 -10
  282. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.d.ts +32 -32
  283. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.js +2 -2
  284. package/build/_modules/artifact-compiler/artifact-compiler.control-service.d.ts +36 -36
  285. package/build/_modules/artifact-compiler/artifact-compiler.control-service.js +273 -273
  286. package/build/_modules/artifact-compiler/index.d.ts +5 -5
  287. package/build/_modules/artifact-compiler/index.js +11 -11
  288. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  289. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  290. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  291. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  292. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  293. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  294. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  295. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  296. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  297. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  298. package/build/_modules/assistant/index.d.ts +6 -6
  299. package/build/_modules/assistant/index.js +18 -18
  300. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  301. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  302. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  303. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  304. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  305. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  306. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  307. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  308. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  309. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  310. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  311. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  312. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  313. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  314. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  315. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  316. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  317. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  318. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  319. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  320. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  321. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  322. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  323. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  324. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  325. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  326. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  327. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  328. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  329. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  330. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  331. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  332. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  333. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  334. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  335. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  336. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  337. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  338. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  339. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  340. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  341. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  342. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  343. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  344. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  345. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  346. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  347. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  348. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  349. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  350. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  351. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  352. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  353. package/build/_modules/bot/index.d.ts +17 -17
  354. package/build/_modules/bot/index.js +36 -36
  355. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  356. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  357. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  358. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  359. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  360. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  361. package/build/_modules/custom-data/index.d.ts +4 -4
  362. package/build/_modules/custom-data/index.js +9 -9
  363. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  364. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  365. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  366. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  367. package/build/_modules/data-readers/index.d.ts +2 -2
  368. package/build/_modules/data-readers/index.js +10 -10
  369. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  370. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  371. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  372. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  373. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  374. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  375. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  376. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  377. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  378. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  379. package/build/_modules/defaults/index.d.ts +5 -5
  380. package/build/_modules/defaults/index.js +17 -17
  381. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  382. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  383. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  384. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  385. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  386. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  387. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  388. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  389. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  390. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  391. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  392. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  393. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  394. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  395. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  396. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  397. package/build/_modules/discord-assistant/index.d.ts +11 -11
  398. package/build/_modules/discord-assistant/index.js +24 -24
  399. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  400. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  401. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  402. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  403. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  404. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  405. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  406. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  407. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  408. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  409. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  410. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  411. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  412. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  413. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  414. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  415. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  416. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  417. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  418. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  419. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  420. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  421. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  422. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  423. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  424. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  425. package/build/_modules/discord-bot/index.d.ts +11 -11
  426. package/build/_modules/discord-bot/index.js +30 -30
  427. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  428. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  429. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  430. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  431. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  432. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  433. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  434. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  435. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  436. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  437. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  438. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  439. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +74 -74
  440. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +152 -152
  441. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +51 -51
  442. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +83 -83
  443. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +99 -99
  444. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +276 -276
  445. package/build/_modules/local-vector-search/index.d.ts +8 -8
  446. package/build/_modules/local-vector-search/index.js +15 -15
  447. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  448. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  449. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  450. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  451. package/build/_modules/logs/file-log.service.d.ts +132 -132
  452. package/build/_modules/logs/file-log.service.js +444 -444
  453. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  454. package/build/_modules/logs/file-logs.controller.js +138 -138
  455. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  456. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  457. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  458. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  459. package/build/_modules/logs/index.d.ts +8 -8
  460. package/build/_modules/logs/index.js +15 -15
  461. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  462. package/build/_modules/logs/log-buffer.service.js +96 -96
  463. package/build/_modules/logs/logs.controller.d.ts +26 -26
  464. package/build/_modules/logs/logs.controller.js +89 -89
  465. package/build/_modules/logs/logs.service.d.ts +39 -39
  466. package/build/_modules/logs/logs.service.js +96 -96
  467. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  468. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  469. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  470. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  471. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  472. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  473. package/build/_modules/mcp/index.d.ts +3 -3
  474. package/build/_modules/mcp/index.js +12 -12
  475. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  476. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  477. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  478. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  479. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  480. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  481. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  482. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  483. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  484. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  485. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  486. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  487. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  488. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  489. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  490. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  491. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  492. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  493. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  494. package/build/_modules/messaging/index.d.ts +10 -10
  495. package/build/_modules/messaging/index.js +27 -27
  496. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  497. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  498. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  499. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  500. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  501. package/build/_modules/mock/app-params.mock.js +9 -9
  502. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  503. package/build/_modules/mock/app-server.mock.js +148 -148
  504. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  505. package/build/_modules/mock/auth-service.mock.js +19 -19
  506. package/build/_modules/mock/controller.mock.d.ts +5 -5
  507. package/build/_modules/mock/controller.mock.js +14 -14
  508. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  509. package/build/_modules/mock/data-model.mock.js +72 -72
  510. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  511. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  512. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  513. package/build/_modules/mock/email-service.mock.js +20 -20
  514. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  515. package/build/_modules/mock/endpoint.mock.js +79 -79
  516. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  517. package/build/_modules/mock/socket-client.mock.js +38 -38
  518. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  519. package/build/_modules/mock/socket-server.mock.js +32 -32
  520. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  521. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  522. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  523. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  524. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  525. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  526. package/build/_modules/oauth2/index.d.ts +3 -3
  527. package/build/_modules/oauth2/index.js +14 -14
  528. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +5 -5
  529. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +9 -9
  530. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +10 -10
  531. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +14 -14
  532. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +7 -7
  533. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +11 -11
  534. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +15 -15
  535. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +19 -19
  536. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +9 -9
  537. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +13 -13
  538. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +11 -11
  539. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +2 -2
  540. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +6 -6
  541. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +2 -2
  542. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +14 -14
  543. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +2 -2
  544. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +6 -6
  545. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +2 -2
  546. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +12 -12
  547. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +2 -2
  548. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +8 -8
  549. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +2 -2
  550. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +13 -13
  551. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +2 -2
  552. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +7 -7
  553. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +2 -2
  554. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +10 -10
  555. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +2 -2
  556. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +12 -12
  557. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +2 -2
  558. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +8 -8
  559. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +2 -2
  560. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +6 -6
  561. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +2 -2
  562. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +10 -10
  563. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +2 -2
  564. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +6 -6
  565. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +2 -2
  566. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +6 -6
  567. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +2 -2
  568. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +11 -11
  569. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +2 -2
  570. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +13 -13
  571. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +2 -2
  572. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +14 -14
  573. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +2 -2
  574. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +8 -8
  575. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +2 -2
  576. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +6 -6
  577. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +2 -2
  578. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +9 -9
  579. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +2 -2
  580. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +6 -6
  581. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +2 -2
  582. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +20 -20
  583. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +2 -2
  584. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +7 -7
  585. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +2 -2
  586. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +19 -19
  587. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +2 -2
  588. package/build/_modules/privacy-lifecycle/index.d.ts +32 -32
  589. package/build/_modules/privacy-lifecycle/index.js +17 -17
  590. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +27 -27
  591. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +167 -167
  592. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +41 -41
  593. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +363 -363
  594. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.d.ts +5 -5
  595. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.js +9 -9
  596. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +70 -70
  597. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  598. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.d.ts +8 -8
  599. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.js +2 -2
  600. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.d.ts +6 -6
  601. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.js +2 -2
  602. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  603. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  604. package/build/_modules/rate-limit/_models/rate-limit-store.interface.d.ts +8 -8
  605. package/build/_modules/rate-limit/_models/rate-limit-store.interface.js +2 -2
  606. package/build/_modules/rate-limit/index.d.ts +8 -8
  607. package/build/_modules/rate-limit/index.js +9 -9
  608. package/build/_modules/rate-limit/rate-limit-in-memory.store.d.ts +18 -18
  609. package/build/_modules/rate-limit/rate-limit-in-memory.store.js +70 -70
  610. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +68 -68
  611. package/build/_modules/rate-limit/rate-limit.middleware.js +378 -378
  612. package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +33 -33
  613. package/build/_modules/scheduler/_models/scheduler-job.interface.js +2 -2
  614. package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +17 -17
  615. package/build/_modules/scheduler/get-scheduler-routing-module.util.js +30 -30
  616. package/build/_modules/scheduler/index.d.ts +4 -4
  617. package/build/_modules/scheduler/index.js +9 -9
  618. package/build/_modules/scheduler/scheduler.controller.d.ts +24 -24
  619. package/build/_modules/scheduler/scheduler.controller.js +53 -53
  620. package/build/_modules/scheduler/scheduler.service.d.ts +53 -53
  621. package/build/_modules/scheduler/scheduler.service.js +163 -163
  622. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  623. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  624. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  625. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  626. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  627. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  628. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  629. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  630. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  631. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  632. package/build/_modules/scoped-config/index.d.ts +5 -5
  633. package/build/_modules/scoped-config/index.js +14 -14
  634. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  635. package/build/_modules/server/errors/errors.control-service.js +10 -10
  636. package/build/_modules/server/errors/errors.controller.d.ts +144 -144
  637. package/build/_modules/server/errors/errors.controller.js +404 -404
  638. package/build/_modules/server/errors/errors.data-service.d.ts +70 -70
  639. package/build/_modules/server/errors/errors.data-service.js +677 -677
  640. package/build/_modules/server/index.d.ts +15 -15
  641. package/build/_modules/server/index.js +35 -35
  642. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +8 -8
  643. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +12 -12
  644. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -19
  645. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts.map +1 -1
  646. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -23
  647. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js.map +1 -1
  648. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +18 -18
  649. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +82 -82
  650. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +18 -18
  651. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +2 -2
  652. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.d.ts +13 -13
  653. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.js +17 -17
  654. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.d.ts +7 -7
  655. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.js +11 -11
  656. package/build/_modules/server/server-status/db-readiness-probe.control-service.d.ts +13 -13
  657. package/build/_modules/server/server-status/db-readiness-probe.control-service.js +125 -125
  658. package/build/_modules/server/server-status/db-readiness-probe.interface.d.ts +17 -17
  659. package/build/_modules/server/server-status/db-readiness-probe.interface.js +2 -2
  660. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  661. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  662. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  663. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  664. package/build/_modules/server/server-status/server-status.control-service.d.ts +111 -111
  665. package/build/_modules/server/server-status/server-status.control-service.js +302 -302
  666. package/build/_modules/server/server-status/server-status.controller.d.ts +92 -92
  667. package/build/_modules/server/server-status/server-status.controller.js +253 -253
  668. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  669. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  670. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  671. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  672. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  673. package/build/_modules/socket/_models/socket-presence.control-model.js +140 -140
  674. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +22 -22
  675. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +31 -31
  676. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  677. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  678. package/build/_modules/socket/_services/socket-server.service.d.ts +98 -98
  679. package/build/_modules/socket/_services/socket-server.service.js +673 -673
  680. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  681. package/build/_modules/socket/app-extended.server.js +521 -521
  682. package/build/_modules/socket/index.d.ts +8 -8
  683. package/build/_modules/socket/index.js +35 -35
  684. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  685. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  686. package/build/_modules/test/index.d.ts +3 -3
  687. package/build/_modules/test/index.js +11 -11
  688. package/build/_modules/test/test.controller.d.ts +5 -5
  689. package/build/_modules/test/test.controller.js +103 -103
  690. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.d.ts +10 -10
  691. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.js +13 -13
  692. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.d.ts +21 -21
  693. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.js +38 -38
  694. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.d.ts +49 -49
  695. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.js +117 -117
  696. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.d.ts +14 -14
  697. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.js +26 -26
  698. package/build/_modules/test-email-sink/index.d.ts +11 -11
  699. package/build/_modules/test-email-sink/index.js +14 -14
  700. package/build/_modules/test-email-sink/test-email-sink.controller.d.ts +23 -23
  701. package/build/_modules/test-email-sink/test-email-sink.controller.js +66 -66
  702. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  703. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  704. package/build/_modules/usage/index.d.ts +4 -4
  705. package/build/_modules/usage/index.js +13 -13
  706. package/build/_modules/usage/usage.controller.d.ts +6 -6
  707. package/build/_modules/usage/usage.controller.js +105 -105
  708. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  709. package/build/_modules/usage/usage.data-service.js +135 -135
  710. package/build/_services/base/api.service-base.d.ts +9 -9
  711. package/build/_services/base/api.service-base.js +46 -46
  712. package/build/_services/base/archive-data.service.d.ts +25 -25
  713. package/build/_services/base/archive-data.service.js +151 -151
  714. package/build/_services/base/data.service.d.ts +402 -402
  715. package/build/_services/base/data.service.js +2131 -2131
  716. package/build/_services/base/db.service.d.ts +424 -424
  717. package/build/_services/base/db.service.js +1356 -1356
  718. package/build/_services/base/singleton.service-base.d.ts +8 -8
  719. package/build/_services/base/singleton.service-base.js +21 -21
  720. package/build/_services/base/singleton.service.d.ts +11 -11
  721. package/build/_services/base/singleton.service.js +31 -31
  722. package/build/_services/core/api.service.d.ts +45 -45
  723. package/build/_services/core/api.service.js +456 -456
  724. package/build/_services/core/auth.service.d.ts +129 -129
  725. package/build/_services/core/auth.service.js +59 -59
  726. package/build/_services/core/collection-growth-monitor.service.d.ts +76 -76
  727. package/build/_services/core/collection-growth-monitor.service.js +165 -165
  728. package/build/_services/core/db-stats.service.d.ts +33 -33
  729. package/build/_services/core/db-stats.service.js +64 -64
  730. package/build/_services/core/diagnostics.service.d.ts +42 -42
  731. package/build/_services/core/diagnostics.service.js +121 -121
  732. package/build/_services/core/email.service.d.ts +77 -77
  733. package/build/_services/core/email.service.js +503 -503
  734. package/build/_services/core/event-loop-diag.service.d.ts +49 -49
  735. package/build/_services/core/event-loop-diag.service.js +106 -106
  736. package/build/_services/core/global.service.d.ts +83 -83
  737. package/build/_services/core/global.service.js +386 -386
  738. package/build/_services/core/memory-guard.service.d.ts +166 -166
  739. package/build/_services/core/memory-guard.service.js +369 -369
  740. package/build/_services/core/migration-runner.service.d.ts +39 -39
  741. package/build/_services/core/migration-runner.service.js +74 -74
  742. package/build/_services/core/mongo-transaction.control-service.d.ts +18 -18
  743. package/build/_services/core/mongo-transaction.control-service.js +94 -94
  744. package/build/_services/core/request-hunter.service.d.ts +73 -73
  745. package/build/_services/core/request-hunter.service.js +122 -122
  746. package/build/_services/core/service-collection.service.d.ts +4 -4
  747. package/build/_services/core/service-collection.service.js +7 -7
  748. package/build/_services/route/controller.service.d.ts +124 -124
  749. package/build/_services/route/controller.service.js +95 -95
  750. package/build/_services/route/routing-module.service.d.ts +80 -80
  751. package/build/_services/route/routing-module.service.js +250 -250
  752. package/build/_services/server/app.server.d.ts +429 -429
  753. package/build/_services/server/app.server.js +1226 -1226
  754. package/build/_services/shared.static-service.d.ts +43 -43
  755. package/build/_services/shared.static-service.js +92 -92
  756. package/build/index.d.ts +63 -63
  757. package/build/index.js +101 -101
  758. package/package.json +1 -1
  759. package/src/_models/control-models/endpoint-params.control-model.spec.ts +102 -17
  760. package/src/_models/control-models/endpoint-params.control-model.ts +131 -220
  761. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +3 -2
  762. package/src/_services/shared.static-service.spec.ts +57 -57
  763. package/src/_services/shared.static-service.ts +48 -48
@@ -1,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