@futdevpro/nts-dynamo 1.10.77 → 1.11.2

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 (316) hide show
  1. package/build/_collections/atlas-default-db-options.const.d.ts +28 -0
  2. package/build/_collections/atlas-default-db-options.const.d.ts.map +1 -0
  3. package/build/_collections/atlas-default-db-options.const.js +10 -0
  4. package/build/_collections/atlas-default-db-options.const.js.map +1 -0
  5. package/build/_collections/get-environment-settings.util.d.ts +3 -0
  6. package/build/_collections/get-environment-settings.util.d.ts.map +1 -0
  7. package/build/_collections/get-environment-settings.util.js +45 -0
  8. package/build/_collections/get-environment-settings.util.js.map +1 -0
  9. package/build/_collections/global-settings.const.d.ts.map +1 -1
  10. package/build/_collections/global-settings.const.js +9 -4
  11. package/build/_collections/global-settings.const.js.map +1 -1
  12. package/build/_models/control-models/app-params.control-model.d.ts +6 -0
  13. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  14. package/build/_models/control-models/app-params.control-model.js +29 -2
  15. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  16. package/build/_models/control-models/app-params.control-model.spec.js +5 -4
  17. package/build/_models/control-models/app-params.control-model.spec.js.map +1 -1
  18. package/build/_models/control-models/endpoint-params.control-model.js +1 -1
  19. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  20. package/build/_models/interfaces/environment-settings.interface.d.ts +35 -0
  21. package/build/_models/interfaces/environment-settings.interface.d.ts.map +1 -0
  22. package/build/_models/interfaces/environment-settings.interface.js +3 -0
  23. package/build/_models/interfaces/environment-settings.interface.js.map +1 -0
  24. package/build/_models/interfaces/global-settings.interface.d.ts +34 -2
  25. package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  26. package/build/_modules/custom-data/index.d.ts.map +1 -1
  27. package/build/_modules/custom-data/index.js +1 -0
  28. package/build/_modules/custom-data/index.js.map +1 -1
  29. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +3 -0
  30. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts.map +1 -0
  31. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +17 -0
  32. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js.map +1 -0
  33. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +6 -0
  34. package/build/_modules/discord-assistant/_collections/dias.util.d.ts.map +1 -0
  35. package/build/_modules/discord-assistant/_collections/dias.util.js +36 -0
  36. package/build/_modules/discord-assistant/_collections/dias.util.js.map +1 -0
  37. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +18 -0
  38. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts.map +1 -0
  39. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +3 -0
  40. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js.map +1 -0
  41. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +10 -0
  42. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts.map +1 -0
  43. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +41 -0
  44. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js.map +1 -0
  45. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +14 -0
  46. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts.map +1 -0
  47. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +88 -0
  48. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js.map +1 -0
  49. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -0
  50. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts.map +1 -0
  51. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +40 -0
  52. package/build/_modules/discord-assistant/_services/dias-io.control-service.js.map +1 -0
  53. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +8 -0
  54. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts.map +1 -0
  55. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +23 -0
  56. package/build/_modules/discord-assistant/_services/dias-main.control-service.js.map +1 -0
  57. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +11 -0
  58. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts.map +1 -0
  59. package/build/_modules/discord-assistant/_services/dias.service-base.js +33 -0
  60. package/build/_modules/discord-assistant/_services/dias.service-base.js.map +1 -0
  61. package/build/_modules/discord-assistant/index.d.ts +10 -0
  62. package/build/_modules/discord-assistant/index.d.ts.map +1 -0
  63. package/build/_modules/discord-assistant/index.js +23 -0
  64. package/build/_modules/discord-assistant/index.js.map +1 -0
  65. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +4 -0
  66. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts.map +1 -0
  67. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +8 -0
  68. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js.map +1 -0
  69. package/build/_modules/discord-assistant-voiced/index.d.ts +3 -0
  70. package/build/_modules/discord-assistant-voiced/index.d.ts.map +1 -0
  71. package/build/_modules/discord-assistant-voiced/index.js +26 -0
  72. package/build/_modules/discord-assistant-voiced/index.js.map +1 -0
  73. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +3 -0
  74. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts.map +1 -0
  75. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +13 -0
  76. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js.map +1 -0
  77. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +3 -0
  78. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts.map +1 -0
  79. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +44 -0
  80. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js.map +1 -0
  81. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -0
  82. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts.map +1 -0
  83. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +261 -0
  84. package/build/_modules/discord-bot/_collections/dibo-operations.util.js.map +1 -0
  85. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +8 -0
  86. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts.map +1 -0
  87. package/build/_modules/discord-bot/_models/dibo-command.interface.js +3 -0
  88. package/build/_modules/discord-bot/_models/dibo-command.interface.js.map +1 -0
  89. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +7 -0
  90. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts.map +1 -0
  91. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +3 -0
  92. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js.map +1 -0
  93. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +6 -0
  94. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts.map +1 -0
  95. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +3 -0
  96. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js.map +1 -0
  97. package/build/_modules/discord-bot/_models/global-bot-log-settings.interface.d.ts +88 -0
  98. package/build/_modules/discord-bot/_models/global-bot-log-settings.interface.d.ts.map +1 -0
  99. package/build/_modules/discord-bot/_models/global-bot-log-settings.interface.js +3 -0
  100. package/build/_modules/discord-bot/_models/global-bot-log-settings.interface.js.map +1 -0
  101. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +12 -0
  102. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts.map +1 -0
  103. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +72 -0
  104. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js.map +1 -0
  105. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +19 -0
  106. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts.map +1 -0
  107. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +176 -0
  108. package/build/_modules/discord-bot/_services/dibo-io.control-service.js.map +1 -0
  109. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +85 -0
  110. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts.map +1 -0
  111. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +228 -0
  112. package/build/_modules/discord-bot/_services/dibo-main.control-service.js.map +1 -0
  113. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -0
  114. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts.map +1 -0
  115. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +38 -0
  116. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js.map +1 -0
  117. package/build/_modules/discord-bot/index.d.ts +12 -0
  118. package/build/_modules/discord-bot/index.d.ts.map +1 -0
  119. package/build/_modules/discord-bot/index.js +30 -0
  120. package/build/_modules/discord-bot/index.js.map +1 -0
  121. package/build/_modules/oauth2/index.d.ts.map +1 -1
  122. package/build/_modules/oauth2/index.js +7 -0
  123. package/build/_modules/oauth2/index.js.map +1 -1
  124. package/build/_modules/open-ai/_collections/oai-chunking.util.d.ts +74 -0
  125. package/build/_modules/open-ai/_collections/oai-chunking.util.d.ts.map +1 -0
  126. package/build/_modules/open-ai/_collections/oai-chunking.util.js +385 -0
  127. package/build/_modules/open-ai/_collections/oai-chunking.util.js.map +1 -0
  128. package/build/_modules/open-ai/_collections/oai-document.util.d.ts +4 -0
  129. package/build/_modules/open-ai/_collections/oai-document.util.d.ts.map +1 -0
  130. package/build/_modules/open-ai/_collections/oai-document.util.js +12 -0
  131. package/build/_modules/open-ai/_collections/oai-document.util.js.map +1 -0
  132. package/build/_modules/open-ai/_collections/oai-global-settings.const.d.ts +3 -0
  133. package/build/_modules/open-ai/_collections/oai-global-settings.const.d.ts.map +1 -0
  134. package/build/_modules/open-ai/_collections/oai-global-settings.const.js +9 -0
  135. package/build/_modules/open-ai/_collections/oai-global-settings.const.js.map +1 -0
  136. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +3 -0
  137. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts.map +1 -0
  138. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +75 -0
  139. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js.map +1 -0
  140. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +3 -0
  141. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts.map +1 -0
  142. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +68 -0
  143. package/build/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js.map +1 -0
  144. package/build/_modules/open-ai/_enums/oai-compare-result-type.enum.d.ts +6 -0
  145. package/build/_modules/open-ai/_enums/oai-compare-result-type.enum.d.ts.map +1 -0
  146. package/build/_modules/open-ai/_enums/oai-compare-result-type.enum.js +10 -0
  147. package/build/_modules/open-ai/_enums/oai-compare-result-type.enum.js.map +1 -0
  148. package/build/_modules/open-ai/_enums/oai-gpt-message-role.enum.d.ts +18 -0
  149. package/build/_modules/open-ai/_enums/oai-gpt-message-role.enum.d.ts.map +1 -0
  150. package/build/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +40 -0
  151. package/build/_modules/open-ai/_enums/oai-gpt-message-role.enum.js.map +1 -0
  152. package/build/_modules/open-ai/_models/interfaces/oai-chunk-compare-result.interface.d.ts +7 -0
  153. package/build/_modules/open-ai/_models/interfaces/oai-chunk-compare-result.interface.d.ts.map +1 -0
  154. package/build/_modules/open-ai/_models/interfaces/oai-chunk-compare-result.interface.js +3 -0
  155. package/build/_modules/open-ai/_models/interfaces/oai-chunk-compare-result.interface.js.map +1 -0
  156. package/build/_modules/open-ai/_models/interfaces/oai-document-page.interface.d.ts +15 -0
  157. package/build/_modules/open-ai/_models/interfaces/oai-document-page.interface.d.ts.map +1 -0
  158. package/build/_modules/open-ai/_models/interfaces/oai-document-page.interface.js +3 -0
  159. package/build/_modules/open-ai/_models/interfaces/oai-document-page.interface.js.map +1 -0
  160. package/build/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +6 -0
  161. package/build/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts.map +1 -0
  162. package/build/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +3 -0
  163. package/build/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js.map +1 -0
  164. package/build/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.d.ts +6 -0
  165. package/build/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.d.ts.map +1 -0
  166. package/build/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +3 -0
  167. package/build/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js.map +1 -0
  168. package/build/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +52 -0
  169. package/build/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts.map +1 -0
  170. package/build/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +3 -0
  171. package/build/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js.map +1 -0
  172. package/build/_modules/open-ai/_models/interfaces/oai-page-compare-result.interface.d.ts +13 -0
  173. package/build/_modules/open-ai/_models/interfaces/oai-page-compare-result.interface.d.ts.map +1 -0
  174. package/build/_modules/open-ai/_models/interfaces/oai-page-compare-result.interface.js +3 -0
  175. package/build/_modules/open-ai/_models/interfaces/oai-page-compare-result.interface.js.map +1 -0
  176. package/build/_modules/open-ai/_models/oai-doc-chunk.data-model.d.ts +18 -0
  177. package/build/_modules/open-ai/_models/oai-doc-chunk.data-model.d.ts.map +1 -0
  178. package/build/_modules/open-ai/_models/oai-doc-chunk.data-model.js +80 -0
  179. package/build/_modules/open-ai/_models/oai-doc-chunk.data-model.js.map +1 -0
  180. package/build/_modules/open-ai/_services/oai-chunk.service-base.d.ts +13 -0
  181. package/build/_modules/open-ai/_services/oai-chunk.service-base.d.ts.map +1 -0
  182. package/build/_modules/open-ai/_services/oai-chunk.service-base.js +170 -0
  183. package/build/_modules/open-ai/_services/oai-chunk.service-base.js.map +1 -0
  184. package/build/_modules/open-ai/_services/{embedding.control-service.d.ts → oai-embedding.control-service.d.ts} +3 -3
  185. package/build/_modules/open-ai/_services/oai-embedding.control-service.d.ts.map +1 -0
  186. package/build/_modules/open-ai/_services/{embedding.control-service.js → oai-embedding.control-service.js} +5 -5
  187. package/build/_modules/open-ai/_services/oai-embedding.control-service.js.map +1 -0
  188. package/build/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +181 -0
  189. package/build/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts.map +1 -0
  190. package/build/_modules/open-ai/_services/oai-llm-chat.service-base.js +344 -0
  191. package/build/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -0
  192. package/build/_modules/open-ai/_services/oai-llm.service-base.d.ts +234 -0
  193. package/build/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -0
  194. package/build/_modules/open-ai/_services/oai-llm.service-base.js +441 -0
  195. package/build/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -0
  196. package/build/_modules/open-ai/_services/{vector-data.service.d.ts → oai-vector-data.service.d.ts} +4 -4
  197. package/build/_modules/open-ai/_services/oai-vector-data.service.d.ts.map +1 -0
  198. package/build/_modules/open-ai/_services/{vector-data.service.js → oai-vector-data.service.js} +27 -7
  199. package/build/_modules/open-ai/_services/oai-vector-data.service.js.map +1 -0
  200. package/build/_modules/open-ai/index.d.ts +19 -4
  201. package/build/_modules/open-ai/index.d.ts.map +1 -1
  202. package/build/_modules/open-ai/index.js +36 -4
  203. package/build/_modules/open-ai/index.js.map +1 -1
  204. package/build/_modules/server/index.d.ts +1 -1
  205. package/build/_modules/server/index.d.ts.map +1 -1
  206. package/build/_modules/server/index.js +16 -2
  207. package/build/_modules/server/index.js.map +1 -1
  208. package/build/_modules/server/server-status/server-status.controller.d.ts.map +1 -1
  209. package/build/_modules/server/server-status/server-status.controller.js +10 -0
  210. package/build/_modules/server/server-status/server-status.controller.js.map +1 -1
  211. package/build/_modules/socket/index.d.ts.map +1 -1
  212. package/build/_modules/socket/index.js +18 -0
  213. package/build/_modules/socket/index.js.map +1 -1
  214. package/build/_modules/test/index.d.ts.map +1 -1
  215. package/build/_modules/test/index.js +5 -0
  216. package/build/_modules/test/index.js.map +1 -1
  217. package/build/_modules/usage/index.d.ts.map +1 -1
  218. package/build/_modules/usage/index.js +5 -0
  219. package/build/_modules/usage/index.js.map +1 -1
  220. package/build/_services/base/data.service.d.ts +6 -0
  221. package/build/_services/base/data.service.d.ts.map +1 -1
  222. package/build/_services/base/data.service.js +6 -0
  223. package/build/_services/base/data.service.js.map +1 -1
  224. package/build/_services/base/db.service.d.ts +10 -0
  225. package/build/_services/base/db.service.d.ts.map +1 -1
  226. package/build/_services/base/db.service.js +10 -0
  227. package/build/_services/base/db.service.js.map +1 -1
  228. package/build/_services/server/app.server.js +1 -2
  229. package/build/_services/server/app.server.js.map +1 -1
  230. package/build/index.d.ts +3 -1
  231. package/build/index.d.ts.map +1 -1
  232. package/build/index.js +26 -1
  233. package/build/index.js.map +1 -1
  234. package/package.json +40 -10
  235. package/src/_collections/atlas-default-db-options.const.ts +10 -0
  236. package/src/_collections/get-environment-settings.util.ts +49 -0
  237. package/src/_collections/global-settings.const.ts +15 -4
  238. package/src/_collections/sample.env +21 -0
  239. package/src/_models/control-models/app-params.control-model.spec.ts +5 -4
  240. package/src/_models/control-models/app-params.control-model.ts +31 -2
  241. package/src/_models/control-models/endpoint-params.control-model.ts +1 -1
  242. package/src/_models/interfaces/environment-settings.interface.ts +59 -0
  243. package/src/_models/interfaces/global-settings.interface.ts +41 -1
  244. package/src/_modules/custom-data/index.ts +3 -0
  245. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -0
  246. package/src/_modules/discord-assistant/_collections/dias.util.ts +43 -0
  247. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +20 -0
  248. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +46 -0
  249. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +152 -0
  250. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +64 -0
  251. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +28 -0
  252. package/src/_modules/discord-assistant/_services/dias.service-base.ts +49 -0
  253. package/src/_modules/discord-assistant/index.ts +36 -0
  254. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -0
  255. package/src/_modules/discord-assistant-voiced/index.ts +36 -0
  256. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +17 -0
  257. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +56 -0
  258. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +372 -0
  259. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -0
  260. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +8 -0
  261. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -0
  262. package/src/_modules/discord-bot/_models/global-bot-log-settings.interface.ts +98 -0
  263. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +120 -0
  264. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +245 -0
  265. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +304 -0
  266. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +60 -0
  267. package/src/_modules/discord-bot/index.ts +36 -0
  268. package/src/_modules/oauth2/index.ts +8 -0
  269. package/src/_modules/open-ai/_collections/oai-chunking.util.ts +496 -0
  270. package/src/_modules/open-ai/_collections/oai-document.util.ts +10 -0
  271. package/src/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -0
  272. package/src/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +83 -0
  273. package/src/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +76 -0
  274. package/src/_modules/open-ai/_enums/oai-compare-result-type.enum.ts +7 -0
  275. package/src/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -0
  276. package/src/_modules/open-ai/_models/interfaces/oai-chunk-compare-result.interface.ts +10 -0
  277. package/src/_modules/open-ai/_models/interfaces/oai-document-page.interface.ts +21 -0
  278. package/src/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +8 -0
  279. package/src/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -0
  280. package/src/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -0
  281. package/src/_modules/open-ai/_models/interfaces/oai-page-compare-result.interface.ts +18 -0
  282. package/src/_modules/open-ai/_models/oai-doc-chunk.data-model.ts +92 -0
  283. package/src/_modules/open-ai/_services/oai-chunk.service-base.ts +214 -0
  284. package/src/_modules/open-ai/_services/{embedding.control-service.ts → oai-embedding.control-service.ts} +2 -2
  285. package/src/_modules/open-ai/_services/oai-llm-chat.service-base.ts +621 -0
  286. package/src/_modules/open-ai/_services/oai-llm.service-base.ts +651 -0
  287. package/src/_modules/open-ai/_services/{vector-data.service.ts → oai-vector-data.service.ts} +32 -5
  288. package/src/_modules/open-ai/index.ts +43 -4
  289. package/src/_modules/server/index.ts +18 -2
  290. package/src/_modules/server/server-status/server-status.controller.ts +13 -0
  291. package/src/_modules/socket/index.ts +23 -0
  292. package/src/_modules/test/index.ts +8 -0
  293. package/src/_modules/usage/index.ts +8 -0
  294. package/src/_services/base/data.service.ts +6 -0
  295. package/src/_services/base/db.service.ts +10 -0
  296. package/src/_services/server/app.server.ts +1 -1
  297. package/src/index.ts +28 -1
  298. package/build/_modules/open-ai/_services/embedding.control-service.d.ts.map +0 -1
  299. package/build/_modules/open-ai/_services/embedding.control-service.js.map +0 -1
  300. package/build/_modules/open-ai/_services/gpt.service-base.d.ts +0 -98
  301. package/build/_modules/open-ai/_services/gpt.service-base.d.ts.map +0 -1
  302. package/build/_modules/open-ai/_services/gpt.service-base.js +0 -284
  303. package/build/_modules/open-ai/_services/gpt.service-base.js.map +0 -1
  304. package/build/_modules/open-ai/_services/open-ai.service-base.d.ts +0 -21
  305. package/build/_modules/open-ai/_services/open-ai.service-base.d.ts.map +0 -1
  306. package/build/_modules/open-ai/_services/open-ai.service-base.js +0 -50
  307. package/build/_modules/open-ai/_services/open-ai.service-base.js.map +0 -1
  308. package/build/_modules/open-ai/_services/vector-data.service.d.ts.map +0 -1
  309. package/build/_modules/open-ai/_services/vector-data.service.js.map +0 -1
  310. package/build/_services/server/env-set.d.ts +0 -2
  311. package/build/_services/server/env-set.d.ts.map +0 -1
  312. package/build/_services/server/env-set.js +0 -20
  313. package/build/_services/server/env-set.js.map +0 -1
  314. package/src/_modules/open-ai/_services/gpt.service-base.ts +0 -438
  315. package/src/_modules/open-ai/_services/open-ai.service-base.ts +0 -69
  316. package/src/_services/server/env-set.ts +0 -21
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_OAI_LLMChat_ServiceBase = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const global_settings_const_1 = require("../../../_collections/global-settings.const");
6
+ const oai_gpt_message_role_enum_1 = require("../_enums/oai-gpt-message-role.enum");
7
+ const oai_llm_service_base_1 = require("./oai-llm.service-base");
8
+ const oai_global_settings_const_1 = require("../_collections/oai-global-settings.const");
9
+ /**
10
+ * {
11
+ * organization: 'org-XY',
12
+ * apiKey: 'sk-XY',
13
+ * project: 'proj_XY',
14
+ * }
15
+ */
16
+ // Di Dictionary DiModel DiEz DiAz
17
+ class DyNTS_OAI_LLMChat_ServiceBase extends oai_llm_service_base_1.DyNTS_OAI_LLM_ServiceBase {
18
+ /**
19
+ * Asks the AI to answer a yes/no question
20
+ *
21
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.request} to ask the question,
22
+ * and the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.upperCaseYes} to check the answer
23
+ */
24
+ async yesNoQuestionInConversation(conversation, question, issuer, debugLog, settings,
25
+ /** this is used to readably replace too long contents to eg '...' in logs */
26
+ replaceThisInLog) {
27
+ question += this.predefinedRequests.yesNo.request;
28
+ this.logQuestion(question, replaceThisInLog, debugLog);
29
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
30
+ return answer.toUpperCase().includes(this.predefinedRequests.yesNo.upperCaseYes);
31
+ }
32
+ askYesNoQuestionInConversation = this.yesNoQuestionInConversation;
33
+ /**
34
+ * Asks the AI to answer a simple question
35
+ *
36
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.simpleQuestion} to ask the question
37
+ */
38
+ async simpleQuestionInConversation(conversation, question, issuer, settings, debugLog,
39
+ /** this is used to readably replace too long contents to eg '...' in logs */
40
+ replaceThisInLog) {
41
+ this.logQuestion(question, replaceThisInLog, debugLog);
42
+ return await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
43
+ }
44
+ askSimpleQuestionInConversation = this.simpleQuestionInConversation;
45
+ /**
46
+ * Asks the AI to answer a percentage question
47
+ *
48
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.percentageOnly} to ask the question
49
+ */
50
+ async percentageQuestionInConversation(conversation, question, issuer, settings, debugLog,
51
+ /** this is used to readably replace too long contents to eg '...' in logs */
52
+ replaceThisInLog) {
53
+ question += this.predefinedRequests.percentageOnly;
54
+ this.logQuestion(question, replaceThisInLog, debugLog);
55
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
56
+ if (isNaN(+answer)) {
57
+ fsm_dynamo_1.DyFM_Log.error('GPT_ServiceBase', 'asykPercentageQuestion', 'Invalid answer', {
58
+ question,
59
+ answer,
60
+ });
61
+ return null;
62
+ }
63
+ return +answer;
64
+ }
65
+ askPercentageQuestionInConversation = this.percentageQuestionInConversation;
66
+ /**
67
+ * Asks the AI to select one of the options from the list
68
+ *
69
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
70
+ */
71
+ async selectQuestionInConversation(conversation, question, selectFrom, issuer, settings, debugLog,
72
+ /** this is used to readably replace too long contents to eg '...' in logs */
73
+ replaceThisInLog) {
74
+ // replace the {{DyNTS_selectOptions}} with the list of options
75
+ const selectQuestionAddition = this.predefinedRequests.selectRequest.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(selectFrom));
76
+ question += selectQuestionAddition;
77
+ this.logQuestion(question, replaceThisInLog, debugLog);
78
+ let answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
79
+ answer = answer.toLocaleUpperCase();
80
+ for (const item of selectFrom) {
81
+ if (answer.includes(item.toLocaleUpperCase()))
82
+ return item;
83
+ }
84
+ return null;
85
+ }
86
+ askSelectQuestionInConversation = this.selectQuestionInConversation;
87
+ /**
88
+ * Asks the AI to select one of the options from the list
89
+ * Similar to {@link askSelectQuestion},
90
+ * but with a more generic approach that can be used for objects
91
+ *
92
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
93
+ */
94
+ async requestSelectInConversation(conversation, question, selectFrom, issuer, settings, debugLog,
95
+ /** this is used to readably replace too long contents to eg '...' in logs */
96
+ replaceThisInLog) {
97
+ const selectQuestionAddition = this.predefinedRequests.selectRequest.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(selectFrom.map(item => `"${JSON.stringify(item)}"`)));
98
+ question += selectQuestionAddition;
99
+ this.logQuestion(question, null, debugLog);
100
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
101
+ return (0, oai_llm_service_base_1.DyFM_safeParseJSON)(answer);
102
+ }
103
+ askRequestSelectInConversation = this.requestSelectInConversation;
104
+ /**
105
+ * Asks the AI to select one or more of the options from the list
106
+ *
107
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
108
+ */
109
+ async multipleSelectQuestionWithOptionsInConversation(conversation, question, options, issuer, settings, debugLog,
110
+ /** this is used to readably replace too long contents to eg '...' in logs */
111
+ replaceThisInLog) {
112
+ const selectQuestionAddition = this.predefinedRequests.multiselect.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(options));
113
+ question += selectQuestionAddition;
114
+ let answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
115
+ answer = answer.toLocaleUpperCase();
116
+ const result = [];
117
+ for (const item of options) {
118
+ if (answer.includes(item.toLocaleUpperCase())) {
119
+ result.push(item);
120
+ }
121
+ }
122
+ return result;
123
+ }
124
+ askMultipleSelectQuestionWithOptionsInConversation = this.multipleSelectQuestionWithOptionsInConversation;
125
+ /**
126
+ * Asks the AI to select one or more of the options from the list
127
+ * Similar to {@link askMultipleSelectQuestionWithOptions},
128
+ * but with a more generic approach that can be used for objects
129
+ *
130
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
131
+ */
132
+ async requestMultipleSelectInConversation(conversation, question, options, issuer, settings, debugLog,
133
+ /** this is used to readably replace too long contents to eg '...' in logs */
134
+ replaceThisInLog) {
135
+ const selectQuestionAddition = this.predefinedRequests.multiselect.replace('{{DyNTS_selectOptions}}', this.getTextListAsText(options.map(item => `"${JSON.stringify(item)}"`)));
136
+ question += selectQuestionAddition;
137
+ this.logQuestion(question, null, debugLog);
138
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
139
+ return (0, oai_llm_service_base_1.DyFM_safeParseList)(answer);
140
+ }
141
+ askRequestMultipleSelectInConversation = this.requestMultipleSelectInConversation;
142
+ /**
143
+ * Asks the AI to answer a question that must result a JSON object
144
+ *
145
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
146
+ *
147
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequest} to ask the question
148
+ *
149
+ * (uses {@link DyFM_safeParseJSON})
150
+ */
151
+ async jsonQuestionInConversation(conversation, question, issuer, settings, debugLog,
152
+ /** this is used to readably replace too long contents to eg '...' in logs */
153
+ replaceThisInLog) {
154
+ question += this.predefinedRequests.jsonRequest;
155
+ this.logQuestion(question, replaceThisInLog, debugLog);
156
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
157
+ return (0, oai_llm_service_base_1.DyFM_safeParseJSON)(answer);
158
+ }
159
+ askJsonQuestionInConversation = this.jsonQuestionInConversation;
160
+ /**
161
+ * Asks the AI to answer a question that must result a JSON object with specific key descriptions
162
+ *
163
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
164
+ *
165
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithKeysDescription} to ask the question
166
+ *
167
+ * (uses {@link DyFM_safeParseJSON})
168
+ */
169
+ async jsonQuestionWithKeysDescriptionInConversation(conversation, question, keysDescription, issuer, settings, debugLog,
170
+ /** this is used to readably replace too long contents to eg '...' in logs */
171
+ replaceThisInLog) {
172
+ const jsonRequestWithKeysDescription = this.predefinedRequests.jsonRequestWithKeysDescription.replace('{{DyNTS_jsonKeysDescription}}', keysDescription);
173
+ question += jsonRequestWithKeysDescription;
174
+ this.logQuestion(question, replaceThisInLog, debugLog);
175
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
176
+ return (0, oai_llm_service_base_1.DyFM_safeParseJSON)(answer);
177
+ }
178
+ askJsonQuestionWithKeysDescriptionInConversation = this.jsonQuestionWithKeysDescriptionInConversation;
179
+ /**
180
+ * Asks the AI to answer a question that must result a JSON object with specific keys
181
+ *
182
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
183
+ *
184
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithExactKeys} to ask the question
185
+ *
186
+ * (uses {@link DyFM_safeParseJSON})
187
+ */
188
+ async jsonQuestionWithExactKeysInConversation(conversation, question, keys, issuer, settings, debugLog,
189
+ /** this is used to readably replace too long contents to eg '...' in logs */
190
+ replaceThisInLog) {
191
+ const jsonRequestWithExactKeys = this.predefinedRequests.jsonRequestWithExactKeys.replace('{{DyNTS_jsonKeys}}', this.getTextListAsText(keys));
192
+ question += jsonRequestWithExactKeys;
193
+ this.logQuestion(question, replaceThisInLog, debugLog);
194
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
195
+ return (0, oai_llm_service_base_1.DyFM_safeParseJSON)(answer);
196
+ }
197
+ askJsonQuestionWithExactKeysInConversation = this.jsonQuestionWithExactKeysInConversation;
198
+ /**
199
+ * Asks the AI to answer a question that must result a list of strings
200
+ *
201
+ * If the answer is not a valid JSON list, it will return the answer as a single item in an array
202
+ *
203
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.listRequest} to ask the question
204
+ *
205
+ * (uses {@link DyFM_safeParseList})
206
+ */
207
+ async listQuestionInConversation(conversation, question, issuer, settings, debugLog,
208
+ /** this is used to readably replace too long contents to eg '...' in logs */
209
+ replaceThisInLog) {
210
+ question += this.predefinedRequests.listRequest;
211
+ this.logQuestion(question, replaceThisInLog, debugLog);
212
+ const answer = await this.getAnswerInConversation(conversation, question, issuer, settings, debugLog, replaceThisInLog);
213
+ return (0, oai_llm_service_base_1.DyFM_safeParseList)(answer);
214
+ }
215
+ askListQuestionInConversation = this.listQuestionInConversation;
216
+ /**
217
+ * Asks the AI to answer a question
218
+ *
219
+ * Uses the {@link resolveSimpleUserMessage}
220
+ */
221
+ /* async getQuestionAnswerInConversation(
222
+ conversation: DyNTS_OAI_GPT_Message[],
223
+ question: string,
224
+ issuer: string,
225
+ debugLog?: boolean,
226
+ messageSettings: DyFM_GPTCall_Settings = this.defaultSettings
227
+ ): Promise<string> {
228
+ const answer = await this.resolveSimpleUserMessageInConversation(
229
+ conversation,
230
+ question,
231
+ issuer,
232
+ messageSettings,
233
+ ) as Promise<string>;
234
+
235
+ if (debugLog) {
236
+ console.log(' - ', answer);
237
+ }
238
+
239
+ return answer;
240
+ } */
241
+ /**
242
+ * Asks the AI to answer a question using the whole conversation
243
+ * (If you want to use only the conversation, without adding a new message,
244
+ * use directly the {@link resolveConversation})
245
+ *
246
+ * Uses the {@link resolveConversation}
247
+ */
248
+ async getAnswerInConversation(conversation, newMessage, issuer, settings, debugLog,
249
+ /** this is used to readably replace too long contents to eg '...' in logs */
250
+ replaceThisInLog) {
251
+ conversation.push({
252
+ role: oai_gpt_message_role_enum_1.DyNTS_OAI_GPT_Message_Role.user,
253
+ content: newMessage,
254
+ });
255
+ const answer = (await this.resolveConversation(conversation, issuer, settings, false, debugLog, replaceThisInLog));
256
+ if (debugLog || this.debugLog) {
257
+ console.log(' - answer: ', answer);
258
+ }
259
+ return answer;
260
+ }
261
+ getQuestionAnswerInConversation = this.getAnswerInConversation;
262
+ getQuestionInConversation = this.getAnswerInConversation;
263
+ askQuestionInConversation = this.getAnswerInConversation;
264
+ /**
265
+ * Resolves a conversation
266
+ *
267
+ * Uses the {@link getMessageCreateInput}
268
+ */
269
+ async resolveConversation(conversation, issuer, settings, getFullResponse, debugLog,
270
+ /** this is used to readably replace too long contents to eg '...' in logs */
271
+ replaceThisInLog) {
272
+ try {
273
+ conversation.unshift(this.getDefaultSystemMessage(settings));
274
+ // conversation shortening
275
+ const shortenedConversation = this.shortenConversation(conversation, issuer, debugLog);
276
+ this.logConversation(shortenedConversation, debugLog, replaceThisInLog);
277
+ const result = await this.openai.chat.completions.create(this.getMessageCreateInput(shortenedConversation, issuer, settings));
278
+ if (getFullResponse) {
279
+ return result;
280
+ }
281
+ return result.choices[0].message.content;
282
+ }
283
+ catch (error) {
284
+ throw new fsm_dynamo_1.DyFM_Error({
285
+ ...this.getDefaultErrorSettings('resolveConversation', error, issuer),
286
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OAB-RC0`,
287
+ });
288
+ }
289
+ }
290
+ resolveSimpleUserMessageInConversation = this.resolveConversation;
291
+ shortenConversation(conversation, issuer, debugLog) {
292
+ try {
293
+ const clonedConversation = (0, fsm_dynamo_1.DyFM_clone)(conversation);
294
+ const systemMessages = clonedConversation.filter(message => message.role === oai_gpt_message_role_enum_1.DyNTS_OAI_GPT_Message_Role.system);
295
+ const systemMessagesStringLength = JSON.stringify(systemMessages).length;
296
+ const msgs = clonedConversation.filter(message => message.role !== oai_gpt_message_role_enum_1.DyNTS_OAI_GPT_Message_Role.system).map(message => message.content);
297
+ let stringifiedMessages = JSON.stringify(msgs);
298
+ if (this.debugLog || debugLog) {
299
+ console.log('stringifiedMessagesCount before removing', stringifiedMessages.length);
300
+ }
301
+ let removedMessagesCount = 0;
302
+ let lastStringifiedMessagesLength = stringifiedMessages.length;
303
+ while ((stringifiedMessages.length + systemMessagesStringLength) > oai_global_settings_const_1.DyNTS_OAI_global_settings.maxMessagesStringLength &&
304
+ clonedConversation.length > 1) {
305
+ clonedConversation.splice(0, 1);
306
+ msgs.splice(0, 1);
307
+ removedMessagesCount++;
308
+ stringifiedMessages = JSON.stringify(msgs);
309
+ lastStringifiedMessagesLength = stringifiedMessages.length;
310
+ }
311
+ if (this.debugLog || debugLog) {
312
+ console.log('removedMessagesCount', removedMessagesCount);
313
+ console.log('lastStringifiedMessagesLength', lastStringifiedMessagesLength);
314
+ }
315
+ if (!clonedConversation.length) {
316
+ fsm_dynamo_1.DyFM_Log.error('No conversation messages (left)', {
317
+ /* conversation: DyFM_clone(conversation), */
318
+ conversationLength: conversation.length,
319
+ clonedConversation: (0, fsm_dynamo_1.DyFM_clone)(clonedConversation),
320
+ });
321
+ throw new Error('No conversation messages (left)');
322
+ }
323
+ return [...systemMessages, ...clonedConversation];
324
+ }
325
+ catch (error) {
326
+ console.error('❌❌ Error shortening conversation:', error);
327
+ throw new fsm_dynamo_1.DyFM_Error({
328
+ ...this.getDefaultErrorSettings('shortenConversation', error, issuer),
329
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OAB-SC0`,
330
+ });
331
+ }
332
+ }
333
+ logConversation(conversation, debugLog,
334
+ /** this is used to readably replace too long contents to eg '...' in logs */
335
+ replaceThisInLog) {
336
+ if (debugLog || this.debugLog) {
337
+ conversation.forEach(message => {
338
+ console.log(` - ${message.role}: ${message.content.replace(replaceThisInLog, this.defaultLogReplacer)}`);
339
+ });
340
+ }
341
+ }
342
+ }
343
+ exports.DyNTS_OAI_LLMChat_ServiceBase = DyNTS_OAI_LLMChat_ServiceBase;
344
+ //# sourceMappingURL=oai-llm-chat.service-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oai-llm-chat.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_services/oai-llm-chat.service-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ import { OpenAI } from 'openai';
2
+ import { DyFM_OpenAI_Settings, DyFM_OpenAIModel, DyFM_GPTCall_Settings } from '@futdevpro/fsm-dynamo/open-ai';
3
+ import { DyFM_AnyError, DyFM_Error_Settings } from '@futdevpro/fsm-dynamo';
4
+ import { DyNTS_OAI_GPT_Message } from '../_models/interfaces/oai-gpt-message.interface';
5
+ import { ChatCompletion } from 'openai/resources';
6
+ import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
7
+ import { DyNTS_OAI_LLM_Predefined_Requests } from '../_models/interfaces/oai-llm-predefined-requests.interface';
8
+ /**
9
+ * {
10
+ * organization: 'org-XY',
11
+ * apiKey: 'sk-XY',
12
+ * project: 'proj_XY',
13
+ * }
14
+ */
15
+ export declare class DyNTS_OAI_LLM_ServiceBase {
16
+ readonly defaultErrorUserMsg: string;
17
+ readonly openai: OpenAI;
18
+ readonly defaultSettings: DyFM_GPTCall_Settings;
19
+ get debugLog(): boolean;
20
+ get defaultSystemPrompt(): string;
21
+ get defaultModel(): DyFM_OpenAIModel | string;
22
+ predefinedRequests: DyNTS_OAI_LLM_Predefined_Requests;
23
+ constructor(set?: DyFM_OpenAI_Settings);
24
+ readonly defaultLogReplacer: string;
25
+ /**
26
+ * Asks the AI to answer a yes/no question
27
+ *
28
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.request} to ask the question,
29
+ * and the {@link DyNTS_OAI_LLM_Predefined_Requests.yesNo.upperCaseYes} to check the answer
30
+ */
31
+ askYesNoQuestion(question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
32
+ /** this is used to readably replace too long contents to eg '...' in logs */
33
+ replaceThisInLog?: string): Promise<boolean>;
34
+ /** the exact same as {@link askYesNoQuestion} */
35
+ yesNoQuestion: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<boolean>;
36
+ /**
37
+ * Asks the AI to answer a percentage question
38
+ *
39
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.percentageOnly} to ask the question
40
+ */
41
+ askPercentageQuestion(question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
42
+ /** this is used to readably replace too long contents to eg '...' in logs */
43
+ replaceThisInLog?: string): Promise<number>;
44
+ /** the exact same as {@link askPercentageQuestion} */
45
+ percentageQuestion: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<number>;
46
+ /**
47
+ * Asks the AI to select one of the options from the list
48
+ *
49
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
50
+ */
51
+ askSelectQuestion(question: string, selectFrom: string[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
52
+ /** this is used to readably replace too long contents to eg '...' in logs */
53
+ replaceThisInLog?: string): Promise<string>;
54
+ /** the exact same as {@link askSelectQuestion} */
55
+ selectQuestion: (question: string, selectFrom: string[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string>;
56
+ /**
57
+ * Asks the AI to select one of the options from the list
58
+ * Similar to {@link askSelectQuestion},
59
+ * but with a more generic approach that can be used for objects
60
+ *
61
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.selectRequest} to ask the question
62
+ */
63
+ requestSelect<T>(question: string, selectFrom: T[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
64
+ /** this is used to readably replace too long contents to eg '...' in logs */
65
+ replaceThisInLog?: string): Promise<T | {
66
+ unparsableResult: string;
67
+ }>;
68
+ /** the exact same as {@link requestSelect} */
69
+ selectRequest: <T>(question: string, selectFrom: T[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<T | {
70
+ unparsableResult: string;
71
+ }>;
72
+ /**
73
+ * Asks the AI to select one or more of the options from the list
74
+ *
75
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
76
+ */
77
+ askMultipleSelectQuestionWithOptions(question: string, options: string[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
78
+ /** this is used to readably replace too long contents to eg '...' in logs */
79
+ replaceThisInLog?: string): Promise<string[]>;
80
+ /** the exact same as {@link askMultipleSelectQuestionWithOptions} */
81
+ multipleSelectQuestion: (question: string, options: string[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string[]>;
82
+ /**
83
+ * Asks the AI to select one or more of the options from the list
84
+ * Similar to {@link askMultipleSelectQuestionWithOptions},
85
+ * but with a more generic approach that can be used for objects
86
+ *
87
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.multiselect} to ask the question
88
+ */
89
+ requestMultipleSelect<T>(question: string, options: T[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
90
+ /** this is used to readably replace too long contents to eg '...' in logs */
91
+ replaceThisInLog?: string): Promise<T[]>;
92
+ /** the exact same as {@link requestMultipleSelect} */
93
+ multipleSelectRequest: <T>(question: string, options: T[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<T[]>;
94
+ /**
95
+ * Asks the AI to answer a question that must result a JSON object
96
+ *
97
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
98
+ *
99
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequest} to ask the question
100
+ *
101
+ * (uses {@link DyFM_safeParseJSON})
102
+ */
103
+ askJSONQuestion<T = any>(question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
104
+ /** this is used to readably replace too long contents to eg '...' in logs */
105
+ replaceThisInLog?: string): Promise<T | {
106
+ unparsableResult: string;
107
+ }>;
108
+ /** the exact same as {@link askJSONQuestion} */
109
+ jsonQuestion: <T = any>(question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<T | {
110
+ unparsableResult: string;
111
+ }>;
112
+ /**
113
+ * Asks the AI to answer a question that must result a JSON object with specific key descriptions
114
+ *
115
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
116
+ *
117
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithKeysDescription} to ask the question
118
+ *
119
+ * (uses {@link DyFM_safeParseJSON})
120
+ */
121
+ askJSONQuestionWithKeysDescription<T = any>(question: string, keysDescription: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
122
+ /** this is used to readably replace too long contents to eg '...' in logs */
123
+ replaceThisInLog?: string): Promise<T | {
124
+ unparsableResult: string;
125
+ }>;
126
+ /** the exact same as {@link askJSONQuestionWithKeysDescription} */
127
+ jsonQuestionWithKeysDescription: <T = any>(question: string, keysDescription: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<T | {
128
+ unparsableResult: string;
129
+ }>;
130
+ /**
131
+ * Asks the AI to answer a question that must result a JSON object with specific keys
132
+ *
133
+ * If the answer is not a valid JSON object, it will return { unparsableResult: answer }
134
+ *
135
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.jsonRequestWithExactKeys} to ask the question
136
+ *
137
+ * (uses {@link DyFM_safeParseJSON})
138
+ */
139
+ askJSONQuestionWithExactKeys<T = any>(question: string, keys: string[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
140
+ /** this is used to readably replace too long contents to eg '...' in logs */
141
+ replaceThisInLog?: string): Promise<T | {
142
+ unparsableResult: string;
143
+ }>;
144
+ /** the exact same as {@link askJSONQuestionWithExactKeys} */
145
+ jsonQuestionWithExactKeys: <T = any>(question: string, keys: string[], issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<T | {
146
+ unparsableResult: string;
147
+ }>;
148
+ /**
149
+ * Asks the AI to answer a question that must result a list of strings
150
+ *
151
+ * If the answer is not a valid JSON list, it will return the answer as a single item in an array
152
+ *
153
+ * Uses the {@link DyNTS_OAI_LLM_Predefined_Requests.listRequest} to ask the question
154
+ *
155
+ * (uses {@link DyFM_safeParseList})
156
+ */
157
+ askListQuestion(question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
158
+ /** this is used to readably replace too long contents to eg '...' in logs */
159
+ replaceThisInLog?: string): Promise<string[]>;
160
+ /** the exact same as {@link askListQuestion} */
161
+ listQuestion: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string[]>;
162
+ /** the exact same as {@link askListQuestion} */
163
+ listRequest: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string[]>;
164
+ /**
165
+ * Asks the AI to answer a question
166
+ *
167
+ * Uses the {@link resolveSimpleUserMessage}
168
+ */
169
+ askQuestion(question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean,
170
+ /** this is used to readably replace too long contents to eg '...' in logs */
171
+ replaceThisInLog?: string): Promise<string>;
172
+ /** the exact same as {@link askQuestion} */
173
+ answer: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string>;
174
+ /** the exact same as {@link askQuestion} */
175
+ getQuestionAnswer: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string>;
176
+ /** the exact same as {@link askQuestion} */
177
+ simpleQuestion: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string>;
178
+ /** the exact same as {@link askQuestion} */
179
+ askSimpleQuestion: (question: string, issuer: string, settings?: DyFM_GPTCall_Settings, debugLog?: boolean, replaceThisInLog?: string) => Promise<string>;
180
+ /**
181
+ * Resolves a simple user message and returns the answer as string
182
+ *
183
+ * Uses the {@link resolveMessage}
184
+ */
185
+ resolveSimpleUserMessage(message: string, issuer: string, settings?: DyFM_GPTCall_Settings): Promise<string>;
186
+ /** the exact same as {@link resolveSimpleUserMessage} */
187
+ simpleUserMessage: (message: string, issuer: string, settings?: DyFM_GPTCall_Settings) => Promise<string>;
188
+ /**
189
+ * Resolves a conversation
190
+ *
191
+ * Uses the {@link getMessageCreateInput}
192
+ */
193
+ resolveMessage(conversation: DyNTS_OAI_GPT_Message[], issuer: string, settings?: DyFM_GPTCall_Settings, getFullResponse?: boolean): Promise<string | ChatCompletion>;
194
+ /**
195
+ * Logs the question if the debugLog is true
196
+ */
197
+ protected logQuestion(question: string, replaceThisInLog?: string, debugLog?: boolean): void;
198
+ /**
199
+ * olvasható mondatszerű-listaszerű formába teszi a listaelemeket
200
+ * pl.: ['a', 'b', 'c'] -> '"a", "b" or "c"'
201
+ */
202
+ getTextListAsText(list: string[]): string;
203
+ /**
204
+ * Creates a message create input
205
+ *
206
+ * Uses the {@link getDefaultSystemMessage}
207
+ */
208
+ protected getMessageCreateInput(messages: DyNTS_OAI_GPT_Message[], issuer: string, settings?: DyFM_GPTCall_Settings): ChatCompletionCreateParamsBase;
209
+ protected getDefaultSystemMessage(settings: DyFM_GPTCall_Settings): DyNTS_OAI_GPT_Message;
210
+ protected getDefaultErrorSettings(fnName: string, error: DyFM_AnyError, issuer: string): DyFM_Error_Settings;
211
+ }
212
+ /**
213
+ * parses the JSON list, if it fails, it returns the answer as a single item in an array
214
+ *
215
+ * (uses {@link DyFM_safeParseJSON})
216
+ * @deprecated use {@link DyFM_Shared.safeParseList} instead
217
+ */
218
+ export declare function DyFM_safeParseList<T extends Array<any>>(textedJSON: string, disableErrorLog?: boolean): T;
219
+ /**
220
+ * parses the JSON, if it fails, it returns { unparsableResult: textedJSON }
221
+ *
222
+ * (uses {@link DyFM_failableSafeParseJSON})
223
+ * @deprecated use {@link DyFM_Shared.safeParseJSON} instead
224
+ */
225
+ export declare function DyFM_safeParseJSON<T = any>(textedJSON: string, disableErrorLog?: boolean): T | {
226
+ unparsableResult: string;
227
+ };
228
+ /**
229
+ * parses the JSON, if it fails, it throws an error
230
+ * (also will extract the JSON from "```json ... ```" wrapper)
231
+ * @deprecated use {@link DyFM_Shared.failableSafeParseJSON} instead
232
+ */
233
+ export declare function DyFM_failableSafeParseJSON<T = any>(textedJSON: string): T;
234
+ //# sourceMappingURL=oai-llm.service-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oai-llm.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_services/oai-llm.service-base.ts"],"names":[],"mappings":"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"}