@futdevpro/nts-dynamo 1.15.135 → 1.15.137

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 (1340) hide show
  1. package/.c8rc.json +26 -26
  2. package/.copilot/patterns.json +7 -7
  3. package/.cursor/rules/__assistant_guide.mdc +30 -30
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  7. package/.cursor/rules/_ag_frontend.mdc +39 -39
  8. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  9. package/.cursor/rules/_ag_naming.mdc +115 -115
  10. package/.cursor/rules/_ag_should-be.mdc +6 -6
  11. package/.cursor/rules/ai_development_guide.md +60 -60
  12. package/.cursor/rules/cursor-rules.md +160 -160
  13. package/.cursor/rules/default-command.mdc +464 -464
  14. package/.cursor/rules/error_code_pattern.md +39 -39
  15. package/.cursor/rules/saved rule mcp server use.md +15 -15
  16. package/.vscode/settings.json +10 -10
  17. package/HOWTO.md +15 -15
  18. package/LICENSE +21 -21
  19. package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +124 -0
  20. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  21. package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -95
  22. package/_specifications/BACKLOG.md +92 -92
  23. package/_specifications/TODO.md +15 -15
  24. package/_specifications/agent.md +138 -138
  25. package/build/_collections/app-version-header.util.spec.d.ts +2 -0
  26. package/build/_collections/app-version-header.util.spec.d.ts.map +1 -0
  27. package/build/_collections/app-version-header.util.spec.js +82 -0
  28. package/build/_collections/app-version-header.util.spec.js.map +1 -0
  29. package/build/_collections/archive.util.spec.d.ts +2 -0
  30. package/build/_collections/archive.util.spec.d.ts.map +1 -0
  31. package/build/_collections/archive.util.spec.js +51 -0
  32. package/build/_collections/archive.util.spec.js.map +1 -0
  33. package/build/_collections/client-safe-error.util.spec.d.ts +2 -0
  34. package/build/_collections/client-safe-error.util.spec.d.ts.map +1 -0
  35. package/build/_collections/client-safe-error.util.spec.js +124 -0
  36. package/build/_collections/client-safe-error.util.spec.js.map +1 -0
  37. package/build/_collections/default-fallback-cache-max-age.const.spec.d.ts +2 -0
  38. package/build/_collections/default-fallback-cache-max-age.const.spec.d.ts.map +1 -0
  39. package/build/_collections/default-fallback-cache-max-age.const.spec.js +12 -0
  40. package/build/_collections/default-fallback-cache-max-age.const.spec.js.map +1 -0
  41. package/build/_collections/default-not-found-page.const.spec.d.ts +2 -0
  42. package/build/_collections/default-not-found-page.const.spec.d.ts.map +1 -0
  43. package/build/_collections/default-not-found-page.const.spec.js +19 -0
  44. package/build/_collections/default-not-found-page.const.spec.js.map +1 -0
  45. package/build/_collections/default-socket-path.const.spec.d.ts +2 -0
  46. package/build/_collections/default-socket-path.const.spec.d.ts.map +1 -0
  47. package/build/_collections/default-socket-path.const.spec.js +13 -0
  48. package/build/_collections/default-socket-path.const.spec.js.map +1 -0
  49. package/build/_collections/field-encryption.util.d.ts +34 -0
  50. package/build/_collections/field-encryption.util.d.ts.map +1 -1
  51. package/build/_collections/field-encryption.util.js +46 -1
  52. package/build/_collections/field-encryption.util.js.map +1 -1
  53. package/build/_collections/field-encryption.util.spec.d.ts +2 -0
  54. package/build/_collections/field-encryption.util.spec.d.ts.map +1 -0
  55. package/build/_collections/field-encryption.util.spec.js +156 -0
  56. package/build/_collections/field-encryption.util.spec.js.map +1 -0
  57. package/build/_collections/get-environment-settings.util.spec.d.ts +2 -0
  58. package/build/_collections/get-environment-settings.util.spec.d.ts.map +1 -0
  59. package/build/_collections/get-environment-settings.util.spec.js +165 -0
  60. package/build/_collections/get-environment-settings.util.spec.js.map +1 -0
  61. package/build/_collections/load-shed.util.spec.d.ts +2 -0
  62. package/build/_collections/load-shed.util.spec.d.ts.map +1 -0
  63. package/build/_collections/load-shed.util.spec.js +48 -0
  64. package/build/_collections/load-shed.util.spec.js.map +1 -0
  65. package/build/_collections/mongo-reconnect-guard.util.spec.d.ts +2 -0
  66. package/build/_collections/mongo-reconnect-guard.util.spec.d.ts.map +1 -0
  67. package/build/_collections/mongo-reconnect-guard.util.spec.js +46 -0
  68. package/build/_collections/mongo-reconnect-guard.util.spec.js.map +1 -0
  69. package/build/_collections/security-headers.util.spec.d.ts +2 -0
  70. package/build/_collections/security-headers.util.spec.d.ts.map +1 -0
  71. package/build/_collections/security-headers.util.spec.js +66 -0
  72. package/build/_collections/security-headers.util.spec.js.map +1 -0
  73. package/build/_collections/signed-url.util.spec.d.ts +2 -0
  74. package/build/_collections/signed-url.util.spec.d.ts.map +1 -0
  75. package/build/_collections/signed-url.util.spec.js +161 -0
  76. package/build/_collections/signed-url.util.spec.js.map +1 -0
  77. package/build/_collections/star.controller.spec.d.ts +2 -0
  78. package/build/_collections/star.controller.spec.d.ts.map +1 -0
  79. package/build/_collections/star.controller.spec.js +194 -0
  80. package/build/_collections/star.controller.spec.js.map +1 -0
  81. package/build/_collections/static-cache-control.util.spec.d.ts +2 -0
  82. package/build/_collections/static-cache-control.util.spec.d.ts.map +1 -0
  83. package/build/_collections/static-cache-control.util.spec.js +41 -0
  84. package/build/_collections/static-cache-control.util.spec.js.map +1 -0
  85. package/build/_models/control-models/api-call-params.control-model.spec.d.ts +2 -0
  86. package/build/_models/control-models/api-call-params.control-model.spec.d.ts.map +1 -0
  87. package/build/_models/control-models/api-call-params.control-model.spec.js +128 -0
  88. package/build/_models/control-models/api-call-params.control-model.spec.js.map +1 -0
  89. package/build/_models/control-models/app-ext-system-controls.control-model.spec.d.ts +2 -0
  90. package/build/_models/control-models/app-ext-system-controls.control-model.spec.d.ts.map +1 -0
  91. package/build/_models/control-models/app-ext-system-controls.control-model.spec.js +43 -0
  92. package/build/_models/control-models/app-ext-system-controls.control-model.spec.js.map +1 -0
  93. package/build/_models/control-models/app-params.control-model.spec.d.ts +2 -0
  94. package/build/_models/control-models/app-params.control-model.spec.d.ts.map +1 -0
  95. package/build/_models/control-models/app-params.control-model.spec.js +180 -0
  96. package/build/_models/control-models/app-params.control-model.spec.js.map +1 -0
  97. package/build/_models/control-models/app-system-controls.control-model.spec.d.ts +2 -0
  98. package/build/_models/control-models/app-system-controls.control-model.spec.d.ts.map +1 -0
  99. package/build/_models/control-models/app-system-controls.control-model.spec.js +26 -0
  100. package/build/_models/control-models/app-system-controls.control-model.spec.js.map +1 -0
  101. package/build/_models/control-models/endpoint-params.control-model.spec.d.ts +2 -0
  102. package/build/_models/control-models/endpoint-params.control-model.spec.d.ts.map +1 -0
  103. package/build/_models/control-models/endpoint-params.control-model.spec.js +569 -0
  104. package/build/_models/control-models/endpoint-params.control-model.spec.js.map +1 -0
  105. package/build/_models/control-models/http-settings.control-model.spec.d.ts +2 -0
  106. package/build/_models/control-models/http-settings.control-model.spec.d.ts.map +1 -0
  107. package/build/_models/control-models/http-settings.control-model.spec.js +71 -0
  108. package/build/_models/control-models/http-settings.control-model.spec.js.map +1 -0
  109. package/build/_models/control-models/system-control.control-model.spec.d.ts +2 -0
  110. package/build/_models/control-models/system-control.control-model.spec.d.ts.map +1 -0
  111. package/build/_models/control-models/system-control.control-model.spec.js +24 -0
  112. package/build/_models/control-models/system-control.control-model.spec.js.map +1 -0
  113. package/build/_models/interfaces/cors-settings.interface.spec.d.ts +2 -0
  114. package/build/_models/interfaces/cors-settings.interface.spec.d.ts.map +1 -0
  115. package/build/_models/interfaces/cors-settings.interface.spec.js +48 -0
  116. package/build/_models/interfaces/cors-settings.interface.spec.js.map +1 -0
  117. package/build/_models/interfaces/static-client-settings.interface.spec.d.ts +2 -0
  118. package/build/_models/interfaces/static-client-settings.interface.spec.d.ts.map +1 -0
  119. package/build/_models/interfaces/static-client-settings.interface.spec.js +28 -0
  120. package/build/_models/interfaces/static-client-settings.interface.spec.js.map +1 -0
  121. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.d.ts +2 -0
  122. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.d.ts.map +1 -0
  123. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.js +185 -0
  124. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.js.map +1 -0
  125. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.d.ts +2 -0
  126. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.d.ts.map +1 -0
  127. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.js +132 -0
  128. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.js.map +1 -0
  129. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.d.ts +2 -0
  130. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.d.ts.map +1 -0
  131. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.js +56 -0
  132. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.js.map +1 -0
  133. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.d.ts +2 -0
  134. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.d.ts.map +1 -0
  135. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.js +43 -0
  136. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.js.map +1 -0
  137. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.d.ts +2 -0
  138. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.d.ts.map +1 -0
  139. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.js +47 -0
  140. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.js.map +1 -0
  141. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.d.ts +2 -0
  142. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.d.ts.map +1 -0
  143. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.js +98 -0
  144. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.js.map +1 -0
  145. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.d.ts +2 -0
  146. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.d.ts.map +1 -0
  147. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.js +117 -0
  148. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.js.map +1 -0
  149. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.d.ts +2 -0
  150. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.d.ts.map +1 -0
  151. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.js +87 -0
  152. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.js.map +1 -0
  153. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.d.ts +2 -0
  154. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.d.ts.map +1 -0
  155. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.js +42 -0
  156. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.js.map +1 -0
  157. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.d.ts +2 -0
  158. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.d.ts.map +1 -0
  159. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.js +74 -0
  160. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.js.map +1 -0
  161. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.d.ts +2 -0
  162. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.d.ts.map +1 -0
  163. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.js +95 -0
  164. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.js.map +1 -0
  165. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.d.ts +2 -0
  166. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.d.ts.map +1 -0
  167. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.js +207 -0
  168. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.js.map +1 -0
  169. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.d.ts +2 -0
  170. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.d.ts.map +1 -0
  171. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.js +244 -0
  172. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.js.map +1 -0
  173. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.d.ts +2 -0
  174. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.d.ts.map +1 -0
  175. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.js +162 -0
  176. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.js.map +1 -0
  177. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.d.ts +2 -0
  178. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.d.ts.map +1 -0
  179. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.js +279 -0
  180. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.js.map +1 -0
  181. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.d.ts +2 -0
  182. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.d.ts.map +1 -0
  183. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.js +452 -0
  184. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.js.map +1 -0
  185. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.d.ts +2 -0
  186. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.d.ts.map +1 -0
  187. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.js +293 -0
  188. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.js.map +1 -0
  189. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.d.ts +2 -0
  190. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.d.ts.map +1 -0
  191. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.js +395 -0
  192. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.js.map +1 -0
  193. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.d.ts +2 -0
  194. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.d.ts.map +1 -0
  195. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.js +411 -0
  196. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.js.map +1 -0
  197. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.d.ts +2 -0
  198. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.d.ts.map +1 -0
  199. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.js +143 -0
  200. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.js.map +1 -0
  201. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.d.ts +2 -0
  202. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.d.ts.map +1 -0
  203. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.js +98 -0
  204. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.js.map +1 -0
  205. package/build/_modules/ai/_services/ai-embedding.service-base.spec.d.ts +2 -0
  206. package/build/_modules/ai/_services/ai-embedding.service-base.spec.d.ts.map +1 -0
  207. package/build/_modules/ai/_services/ai-embedding.service-base.spec.js +80 -0
  208. package/build/_modules/ai/_services/ai-embedding.service-base.spec.js.map +1 -0
  209. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.d.ts +2 -0
  210. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.d.ts.map +1 -0
  211. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.js +186 -0
  212. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.js.map +1 -0
  213. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.d.ts +2 -0
  214. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.d.ts.map +1 -0
  215. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.js +108 -0
  216. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.js.map +1 -0
  217. package/build/_modules/ai/_services/ai-llm.service-base.spec.d.ts +2 -0
  218. package/build/_modules/ai/_services/ai-llm.service-base.spec.d.ts.map +1 -0
  219. package/build/_modules/ai/_services/ai-llm.service-base.spec.js +185 -0
  220. package/build/_modules/ai/_services/ai-llm.service-base.spec.js.map +1 -0
  221. package/build/_modules/ai/_services/ai-provider.service-base.spec.d.ts +2 -0
  222. package/build/_modules/ai/_services/ai-provider.service-base.spec.d.ts.map +1 -0
  223. package/build/_modules/ai/_services/ai-provider.service-base.spec.js +128 -0
  224. package/build/_modules/ai/_services/ai-provider.service-base.spec.js.map +1 -0
  225. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.d.ts +2 -0
  226. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.d.ts.map +1 -0
  227. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.js +159 -0
  228. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.js.map +1 -0
  229. package/build/_modules/assistant/_collections/ass.util.spec.d.ts +2 -0
  230. package/build/_modules/assistant/_collections/ass.util.spec.d.ts.map +1 -0
  231. package/build/_modules/assistant/_collections/ass.util.spec.js +153 -0
  232. package/build/_modules/assistant/_collections/ass.util.spec.js.map +1 -0
  233. package/build/_modules/assistant/_services/ass-io.control-service.spec.d.ts +2 -0
  234. package/build/_modules/assistant/_services/ass-io.control-service.spec.d.ts.map +1 -0
  235. package/build/_modules/assistant/_services/ass-io.control-service.spec.js +99 -0
  236. package/build/_modules/assistant/_services/ass-io.control-service.spec.js.map +1 -0
  237. package/build/_modules/assistant/_services/ass-main.control-service.spec.d.ts +2 -0
  238. package/build/_modules/assistant/_services/ass-main.control-service.spec.d.ts.map +1 -0
  239. package/build/_modules/assistant/_services/ass-main.control-service.spec.js +146 -0
  240. package/build/_modules/assistant/_services/ass-main.control-service.spec.js.map +1 -0
  241. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.d.ts +2 -0
  242. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.d.ts.map +1 -0
  243. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.js +356 -0
  244. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.js.map +1 -0
  245. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.d.ts +2 -0
  246. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.d.ts.map +1 -0
  247. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.js +93 -0
  248. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.js.map +1 -0
  249. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.d.ts +2 -0
  250. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.d.ts.map +1 -0
  251. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.js +304 -0
  252. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.js.map +1 -0
  253. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.d.ts +2 -0
  254. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.d.ts.map +1 -0
  255. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.js +336 -0
  256. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.js.map +1 -0
  257. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.d.ts +2 -0
  258. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.d.ts.map +1 -0
  259. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.js +337 -0
  260. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.js.map +1 -0
  261. package/build/_modules/bot/_services/bot-commands.control-service.spec.d.ts +2 -0
  262. package/build/_modules/bot/_services/bot-commands.control-service.spec.d.ts.map +1 -0
  263. package/build/_modules/bot/_services/bot-commands.control-service.spec.js +84 -0
  264. package/build/_modules/bot/_services/bot-commands.control-service.spec.js.map +1 -0
  265. package/build/_modules/bot/_services/bot-io.control-service.spec.d.ts +2 -0
  266. package/build/_modules/bot/_services/bot-io.control-service.spec.d.ts.map +1 -0
  267. package/build/_modules/bot/_services/bot-io.control-service.spec.js +228 -0
  268. package/build/_modules/bot/_services/bot-io.control-service.spec.js.map +1 -0
  269. package/build/_modules/bot/_services/bot-main.control-service.spec.d.ts +2 -0
  270. package/build/_modules/bot/_services/bot-main.control-service.spec.d.ts.map +1 -0
  271. package/build/_modules/bot/_services/bot-main.control-service.spec.js +164 -0
  272. package/build/_modules/bot/_services/bot-main.control-service.spec.js.map +1 -0
  273. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.d.ts +2 -0
  274. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.d.ts.map +1 -0
  275. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.js +267 -0
  276. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.js.map +1 -0
  277. package/build/_modules/bot/_services/bot-routines.control-service.spec.d.ts +2 -0
  278. package/build/_modules/bot/_services/bot-routines.control-service.spec.d.ts.map +1 -0
  279. package/build/_modules/bot/_services/bot-routines.control-service.spec.js +82 -0
  280. package/build/_modules/bot/_services/bot-routines.control-service.spec.js.map +1 -0
  281. package/build/_modules/custom-data/custom-data.controller.spec.d.ts +2 -0
  282. package/build/_modules/custom-data/custom-data.controller.spec.d.ts.map +1 -0
  283. package/build/_modules/custom-data/custom-data.controller.spec.js +38 -0
  284. package/build/_modules/custom-data/custom-data.controller.spec.js.map +1 -0
  285. package/build/_modules/custom-data/custom-data.data-service.spec.d.ts +2 -0
  286. package/build/_modules/custom-data/custom-data.data-service.spec.d.ts.map +1 -0
  287. package/build/_modules/custom-data/custom-data.data-service.spec.js +45 -0
  288. package/build/_modules/custom-data/custom-data.data-service.spec.js.map +1 -0
  289. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.d.ts +2 -0
  290. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.d.ts.map +1 -0
  291. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.js +23 -0
  292. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.js.map +1 -0
  293. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.d.ts +2 -0
  294. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.d.ts.map +1 -0
  295. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.js +124 -0
  296. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.js.map +1 -0
  297. package/build/_modules/defaults/_services/default-auth.service.spec.d.ts +2 -0
  298. package/build/_modules/defaults/_services/default-auth.service.spec.d.ts.map +1 -0
  299. package/build/_modules/defaults/_services/default-auth.service.spec.js +210 -0
  300. package/build/_modules/defaults/_services/default-auth.service.spec.js.map +1 -0
  301. package/build/_modules/defaults/_services/default-socket-events.service.spec.d.ts +2 -0
  302. package/build/_modules/defaults/_services/default-socket-events.service.spec.d.ts.map +1 -0
  303. package/build/_modules/defaults/_services/default-socket-events.service.spec.js +34 -0
  304. package/build/_modules/defaults/_services/default-socket-events.service.spec.js.map +1 -0
  305. package/build/_modules/defaults/_services/default-user.data-service.spec.d.ts +2 -0
  306. package/build/_modules/defaults/_services/default-user.data-service.spec.d.ts.map +1 -0
  307. package/build/_modules/defaults/_services/default-user.data-service.spec.js +133 -0
  308. package/build/_modules/defaults/_services/default-user.data-service.spec.js.map +1 -0
  309. package/build/_modules/discord-assistant/_collections/dias.util.spec.d.ts +2 -0
  310. package/build/_modules/discord-assistant/_collections/dias.util.spec.d.ts.map +1 -0
  311. package/build/_modules/discord-assistant/_collections/dias.util.spec.js +307 -0
  312. package/build/_modules/discord-assistant/_collections/dias.util.spec.js.map +1 -0
  313. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.d.ts +2 -0
  314. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.d.ts.map +1 -0
  315. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.js +76 -0
  316. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.js.map +1 -0
  317. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.d.ts +2 -0
  318. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.d.ts.map +1 -0
  319. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.js +17 -0
  320. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.js.map +1 -0
  321. package/build/_modules/discord-assistant/_services/dias.service-base.spec.d.ts +2 -0
  322. package/build/_modules/discord-assistant/_services/dias.service-base.spec.d.ts.map +1 -0
  323. package/build/_modules/discord-assistant/_services/dias.service-base.spec.js +151 -0
  324. package/build/_modules/discord-assistant/_services/dias.service-base.spec.js.map +1 -0
  325. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.d.ts +2 -0
  326. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.d.ts.map +1 -0
  327. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.js +29 -0
  328. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.js.map +1 -0
  329. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.d.ts +2 -0
  330. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.d.ts.map +1 -0
  331. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.js +172 -0
  332. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.js.map +1 -0
  333. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.d.ts +2 -0
  334. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.d.ts.map +1 -0
  335. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.js +133 -0
  336. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.js.map +1 -0
  337. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.d.ts +2 -0
  338. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.d.ts.map +1 -0
  339. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.js +215 -0
  340. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.js.map +1 -0
  341. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.d.ts +2 -0
  342. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.d.ts.map +1 -0
  343. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.js +342 -0
  344. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.js.map +1 -0
  345. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.d.ts +2 -0
  346. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.d.ts.map +1 -0
  347. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.js +87 -0
  348. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.js.map +1 -0
  349. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.d.ts +2 -0
  350. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.d.ts.map +1 -0
  351. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.js +137 -0
  352. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.js.map +1 -0
  353. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.d.ts +2 -0
  354. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.d.ts.map +1 -0
  355. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.js +345 -0
  356. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.js.map +1 -0
  357. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.d.ts +2 -0
  358. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.d.ts.map +1 -0
  359. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.js +407 -0
  360. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.js.map +1 -0
  361. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.d.ts +2 -0
  362. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.d.ts.map +1 -0
  363. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.js +160 -0
  364. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.js.map +1 -0
  365. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.d.ts +2 -0
  366. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.d.ts.map +1 -0
  367. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.js +122 -0
  368. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.js.map +1 -0
  369. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.d.ts +2 -0
  370. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.d.ts.map +1 -0
  371. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.js +388 -0
  372. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.js.map +1 -0
  373. package/build/_modules/logs/file-log.service.spec.d.ts +2 -0
  374. package/build/_modules/logs/file-log.service.spec.d.ts.map +1 -0
  375. package/build/_modules/logs/file-log.service.spec.js +300 -0
  376. package/build/_modules/logs/file-log.service.spec.js.map +1 -0
  377. package/build/_modules/logs/file-logs.controller.spec.d.ts +2 -0
  378. package/build/_modules/logs/file-logs.controller.spec.d.ts.map +1 -0
  379. package/build/_modules/logs/file-logs.controller.spec.js +203 -0
  380. package/build/_modules/logs/file-logs.controller.spec.js.map +1 -0
  381. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.d.ts +2 -0
  382. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.d.ts.map +1 -0
  383. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.js +125 -0
  384. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.js.map +1 -0
  385. package/build/_modules/messaging/_collections/msg.util.spec.d.ts +2 -0
  386. package/build/_modules/messaging/_collections/msg.util.spec.d.ts.map +1 -0
  387. package/build/_modules/messaging/_collections/msg.util.spec.js +157 -0
  388. package/build/_modules/messaging/_collections/msg.util.spec.js.map +1 -0
  389. package/build/_modules/messaging/_services/msg-events.service.spec.d.ts +2 -0
  390. package/build/_modules/messaging/_services/msg-events.service.spec.d.ts.map +1 -0
  391. package/build/_modules/messaging/_services/msg-events.service.spec.js +122 -0
  392. package/build/_modules/messaging/_services/msg-events.service.spec.js.map +1 -0
  393. package/build/_modules/messaging/_services/msg-main.control-service.spec.d.ts +2 -0
  394. package/build/_modules/messaging/_services/msg-main.control-service.spec.d.ts.map +1 -0
  395. package/build/_modules/messaging/_services/msg-main.control-service.spec.js +121 -0
  396. package/build/_modules/messaging/_services/msg-main.control-service.spec.js.map +1 -0
  397. package/build/_modules/messaging/_services/msg.controller.spec.d.ts +2 -0
  398. package/build/_modules/messaging/_services/msg.controller.spec.d.ts.map +1 -0
  399. package/build/_modules/messaging/_services/msg.controller.spec.js +165 -0
  400. package/build/_modules/messaging/_services/msg.controller.spec.js.map +1 -0
  401. package/build/_modules/mock/app-params.mock.spec.d.ts +2 -0
  402. package/build/_modules/mock/app-params.mock.spec.d.ts.map +1 -0
  403. package/build/_modules/mock/app-params.mock.spec.js +19 -0
  404. package/build/_modules/mock/app-params.mock.spec.js.map +1 -0
  405. package/build/_modules/mock/auth-service.mock.spec.d.ts +2 -0
  406. package/build/_modules/mock/auth-service.mock.spec.d.ts.map +1 -0
  407. package/build/_modules/mock/auth-service.mock.spec.js +40 -0
  408. package/build/_modules/mock/auth-service.mock.spec.js.map +1 -0
  409. package/build/_modules/mock/controller.mock.spec.d.ts +2 -0
  410. package/build/_modules/mock/controller.mock.spec.d.ts.map +1 -0
  411. package/build/_modules/mock/controller.mock.spec.js +23 -0
  412. package/build/_modules/mock/controller.mock.spec.js.map +1 -0
  413. package/build/_modules/mock/data-model.mock.spec.d.ts +2 -0
  414. package/build/_modules/mock/data-model.mock.spec.d.ts.map +1 -0
  415. package/build/_modules/mock/data-model.mock.spec.js +101 -0
  416. package/build/_modules/mock/data-model.mock.spec.js.map +1 -0
  417. package/build/_modules/mock/email-service-collection.mock.spec.d.ts +2 -0
  418. package/build/_modules/mock/email-service-collection.mock.spec.d.ts.map +1 -0
  419. package/build/_modules/mock/email-service-collection.mock.spec.js +21 -0
  420. package/build/_modules/mock/email-service-collection.mock.spec.js.map +1 -0
  421. package/build/_modules/mock/email-service.mock.spec.d.ts +2 -0
  422. package/build/_modules/mock/email-service.mock.spec.d.ts.map +1 -0
  423. package/build/_modules/mock/email-service.mock.spec.js +14 -0
  424. package/build/_modules/mock/email-service.mock.spec.js.map +1 -0
  425. package/build/_modules/mock/socket-client.mock.spec.d.ts +2 -0
  426. package/build/_modules/mock/socket-client.mock.spec.d.ts.map +1 -0
  427. package/build/_modules/mock/socket-client.mock.spec.js +32 -0
  428. package/build/_modules/mock/socket-client.mock.spec.js.map +1 -0
  429. package/build/_modules/mock/socket-server.mock.spec.d.ts +2 -0
  430. package/build/_modules/mock/socket-server.mock.spec.d.ts.map +1 -0
  431. package/build/_modules/mock/socket-server.mock.spec.js +36 -0
  432. package/build/_modules/mock/socket-server.mock.spec.js.map +1 -0
  433. package/build/_modules/oauth2/_routes/oauth2.controller.spec.d.ts +2 -0
  434. package/build/_modules/oauth2/_routes/oauth2.controller.spec.d.ts.map +1 -0
  435. package/build/_modules/oauth2/_routes/oauth2.controller.spec.js +89 -0
  436. package/build/_modules/oauth2/_routes/oauth2.controller.spec.js.map +1 -0
  437. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.d.ts +2 -0
  438. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.d.ts.map +1 -0
  439. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.js +195 -0
  440. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.js.map +1 -0
  441. package/build/_modules/oauth2/_services/oauth2.control-service.spec.d.ts +2 -0
  442. package/build/_modules/oauth2/_services/oauth2.control-service.spec.d.ts.map +1 -0
  443. package/build/_modules/oauth2/_services/oauth2.control-service.spec.js +432 -0
  444. package/build/_modules/oauth2/_services/oauth2.control-service.spec.js.map +1 -0
  445. package/build/_modules/rate-limit/rate-limit.middleware.spec.d.ts +2 -0
  446. package/build/_modules/rate-limit/rate-limit.middleware.spec.d.ts.map +1 -0
  447. package/build/_modules/rate-limit/rate-limit.middleware.spec.js +277 -0
  448. package/build/_modules/rate-limit/rate-limit.middleware.spec.js.map +1 -0
  449. package/build/_modules/scheduler/scheduler.controller.spec.d.ts +2 -0
  450. package/build/_modules/scheduler/scheduler.controller.spec.d.ts.map +1 -0
  451. package/build/_modules/scheduler/scheduler.controller.spec.js +35 -0
  452. package/build/_modules/scheduler/scheduler.controller.spec.js.map +1 -0
  453. package/build/_modules/scheduler/scheduler.service.spec.d.ts +2 -0
  454. package/build/_modules/scheduler/scheduler.service.spec.d.ts.map +1 -0
  455. package/build/_modules/scheduler/scheduler.service.spec.js +123 -0
  456. package/build/_modules/scheduler/scheduler.service.spec.js.map +1 -0
  457. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.d.ts +2 -0
  458. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.d.ts.map +1 -0
  459. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.js +229 -0
  460. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.js.map +1 -0
  461. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.d.ts +2 -0
  462. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.d.ts.map +1 -0
  463. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.js +88 -0
  464. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.js.map +1 -0
  465. package/build/_modules/server/errors/errors.control-service.spec.d.ts +2 -0
  466. package/build/_modules/server/errors/errors.control-service.spec.d.ts.map +1 -0
  467. package/build/_modules/server/errors/errors.control-service.spec.js +198 -0
  468. package/build/_modules/server/errors/errors.control-service.spec.js.map +1 -0
  469. package/build/_modules/server/errors/errors.controller.spec.d.ts +2 -0
  470. package/build/_modules/server/errors/errors.controller.spec.d.ts.map +1 -0
  471. package/build/_modules/server/errors/errors.controller.spec.js +287 -0
  472. package/build/_modules/server/errors/errors.controller.spec.js.map +1 -0
  473. package/build/_modules/server/errors/errors.data-service.spec.d.ts +2 -0
  474. package/build/_modules/server/errors/errors.data-service.spec.d.ts.map +1 -0
  475. package/build/_modules/server/errors/errors.data-service.spec.js +390 -0
  476. package/build/_modules/server/errors/errors.data-service.spec.js.map +1 -0
  477. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.d.ts +2 -0
  478. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.d.ts.map +1 -0
  479. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.js +59 -0
  480. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.js.map +1 -0
  481. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.d.ts +2 -0
  482. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.d.ts.map +1 -0
  483. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.js +58 -0
  484. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.js.map +1 -0
  485. package/build/_modules/server/server-status/server-status.control-service.spec.d.ts +2 -0
  486. package/build/_modules/server/server-status/server-status.control-service.spec.d.ts.map +1 -0
  487. package/build/_modules/server/server-status/server-status.control-service.spec.js +537 -0
  488. package/build/_modules/server/server-status/server-status.control-service.spec.js.map +1 -0
  489. package/build/_modules/server/server-status/server-status.controller.spec.d.ts +2 -0
  490. package/build/_modules/server/server-status/server-status.controller.spec.d.ts.map +1 -0
  491. package/build/_modules/server/server-status/server-status.controller.spec.js +223 -0
  492. package/build/_modules/server/server-status/server-status.controller.spec.js.map +1 -0
  493. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.d.ts +2 -0
  494. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.d.ts.map +1 -0
  495. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js +25 -0
  496. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js.map +1 -0
  497. package/build/_modules/socket/_models/socket-presence.control-model.d.ts.map +1 -1
  498. package/build/_modules/socket/_models/socket-presence.control-model.js +1 -0
  499. package/build/_modules/socket/_models/socket-presence.control-model.js.map +1 -1
  500. package/build/_modules/socket/_models/socket-presence.control-model.spec.d.ts +2 -0
  501. package/build/_modules/socket/_models/socket-presence.control-model.spec.d.ts.map +1 -0
  502. package/build/_modules/socket/_models/socket-presence.control-model.spec.js +137 -0
  503. package/build/_modules/socket/_models/socket-presence.control-model.spec.js.map +1 -0
  504. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.d.ts +2 -0
  505. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.d.ts.map +1 -0
  506. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.js +58 -0
  507. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.js.map +1 -0
  508. package/build/_modules/socket/_services/socket-client.service.spec.d.ts +2 -0
  509. package/build/_modules/socket/_services/socket-client.service.spec.d.ts.map +1 -0
  510. package/build/_modules/socket/_services/socket-client.service.spec.js +12 -0
  511. package/build/_modules/socket/_services/socket-client.service.spec.js.map +1 -0
  512. package/build/_modules/socket/_services/socket-server.service.d.ts +3 -1
  513. package/build/_modules/socket/_services/socket-server.service.d.ts.map +1 -1
  514. package/build/_modules/socket/_services/socket-server.service.js +32 -50
  515. package/build/_modules/socket/_services/socket-server.service.js.map +1 -1
  516. package/build/_modules/socket/_services/socket-server.service.spec.d.ts +2 -0
  517. package/build/_modules/socket/_services/socket-server.service.spec.d.ts.map +1 -0
  518. package/build/_modules/socket/_services/socket-server.service.spec.js +126 -0
  519. package/build/_modules/socket/_services/socket-server.service.spec.js.map +1 -0
  520. package/build/_modules/socket/app-extended.integration.spec.d.ts +2 -0
  521. package/build/_modules/socket/app-extended.integration.spec.d.ts.map +1 -0
  522. package/build/_modules/socket/app-extended.integration.spec.js +76 -0
  523. package/build/_modules/socket/app-extended.integration.spec.js.map +1 -0
  524. package/build/_modules/test/get-test-routing-module.util.spec.d.ts +2 -0
  525. package/build/_modules/test/get-test-routing-module.util.spec.d.ts.map +1 -0
  526. package/build/_modules/test/get-test-routing-module.util.spec.js +23 -0
  527. package/build/_modules/test/get-test-routing-module.util.spec.js.map +1 -0
  528. package/build/_modules/test/test.controller.spec.d.ts +2 -0
  529. package/build/_modules/test/test.controller.spec.d.ts.map +1 -0
  530. package/build/_modules/test/test.controller.spec.js +54 -0
  531. package/build/_modules/test/test.controller.spec.js.map +1 -0
  532. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.d.ts +2 -0
  533. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.d.ts.map +1 -0
  534. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.js +91 -0
  535. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.js.map +1 -0
  536. package/build/_modules/usage/usage.controller.spec.d.ts +2 -0
  537. package/build/_modules/usage/usage.controller.spec.d.ts.map +1 -0
  538. package/build/_modules/usage/usage.controller.spec.js +82 -0
  539. package/build/_modules/usage/usage.controller.spec.js.map +1 -0
  540. package/build/_modules/usage/usage.data-service.spec.d.ts +2 -0
  541. package/build/_modules/usage/usage.data-service.spec.d.ts.map +1 -0
  542. package/build/_modules/usage/usage.data-service.spec.js +284 -0
  543. package/build/_modules/usage/usage.data-service.spec.js.map +1 -0
  544. package/build/_services/base/api.service-base.spec.d.ts +2 -0
  545. package/build/_services/base/api.service-base.spec.d.ts.map +1 -0
  546. package/build/_services/base/api.service-base.spec.js +91 -0
  547. package/build/_services/base/api.service-base.spec.js.map +1 -0
  548. package/build/_services/base/archive-data.service.spec.d.ts +2 -0
  549. package/build/_services/base/archive-data.service.spec.d.ts.map +1 -0
  550. package/build/_services/base/archive-data.service.spec.js +149 -0
  551. package/build/_services/base/archive-data.service.spec.js.map +1 -0
  552. package/build/_services/base/data.service.spec.d.ts +2 -0
  553. package/build/_services/base/data.service.spec.d.ts.map +1 -0
  554. package/build/_services/base/data.service.spec.js +614 -0
  555. package/build/_services/base/data.service.spec.js.map +1 -0
  556. package/build/_services/base/db.service.encryption.spec.d.ts +2 -0
  557. package/build/_services/base/db.service.encryption.spec.d.ts.map +1 -0
  558. package/build/_services/base/db.service.encryption.spec.js +66 -0
  559. package/build/_services/base/db.service.encryption.spec.js.map +1 -0
  560. package/build/_services/base/db.service.spec.d.ts +2 -0
  561. package/build/_services/base/db.service.spec.d.ts.map +1 -0
  562. package/build/_services/base/db.service.spec.js +127 -0
  563. package/build/_services/base/db.service.spec.js.map +1 -0
  564. package/build/_services/base/singleton.service-base.spec.d.ts +2 -0
  565. package/build/_services/base/singleton.service-base.spec.d.ts.map +1 -0
  566. package/build/_services/base/singleton.service-base.spec.js +24 -0
  567. package/build/_services/base/singleton.service-base.spec.js.map +1 -0
  568. package/build/_services/base/singleton.service.spec.d.ts +2 -0
  569. package/build/_services/base/singleton.service.spec.d.ts.map +1 -0
  570. package/build/_services/base/singleton.service.spec.js +88 -0
  571. package/build/_services/base/singleton.service.spec.js.map +1 -0
  572. package/build/_services/core/api.service.spec.d.ts +2 -0
  573. package/build/_services/core/api.service.spec.d.ts.map +1 -0
  574. package/build/_services/core/api.service.spec.js +150 -0
  575. package/build/_services/core/api.service.spec.js.map +1 -0
  576. package/build/_services/core/auth.service.spec.d.ts +2 -0
  577. package/build/_services/core/auth.service.spec.d.ts.map +1 -0
  578. package/build/_services/core/auth.service.spec.js +129 -0
  579. package/build/_services/core/auth.service.spec.js.map +1 -0
  580. package/build/_services/core/collection-growth-monitor.service.spec.d.ts +2 -0
  581. package/build/_services/core/collection-growth-monitor.service.spec.d.ts.map +1 -0
  582. package/build/_services/core/collection-growth-monitor.service.spec.js +51 -0
  583. package/build/_services/core/collection-growth-monitor.service.spec.js.map +1 -0
  584. package/build/_services/core/diagnostics.service.spec.d.ts +2 -0
  585. package/build/_services/core/diagnostics.service.spec.d.ts.map +1 -0
  586. package/build/_services/core/diagnostics.service.spec.js +40 -0
  587. package/build/_services/core/diagnostics.service.spec.js.map +1 -0
  588. package/build/_services/core/email.service.spec.d.ts +2 -0
  589. package/build/_services/core/email.service.spec.d.ts.map +1 -0
  590. package/build/_services/core/email.service.spec.js +77 -0
  591. package/build/_services/core/email.service.spec.js.map +1 -0
  592. package/build/_services/core/event-loop-diag.service.spec.d.ts +2 -0
  593. package/build/_services/core/event-loop-diag.service.spec.d.ts.map +1 -0
  594. package/build/_services/core/event-loop-diag.service.spec.js +18 -0
  595. package/build/_services/core/event-loop-diag.service.spec.js.map +1 -0
  596. package/build/_services/core/global.service.spec.d.ts +2 -0
  597. package/build/_services/core/global.service.spec.d.ts.map +1 -0
  598. package/build/_services/core/global.service.spec.js +235 -0
  599. package/build/_services/core/global.service.spec.js.map +1 -0
  600. package/build/_services/core/memory-guard.service.spec.d.ts +2 -0
  601. package/build/_services/core/memory-guard.service.spec.d.ts.map +1 -0
  602. package/build/_services/core/memory-guard.service.spec.js +219 -0
  603. package/build/_services/core/memory-guard.service.spec.js.map +1 -0
  604. package/build/_services/core/migration-runner.service.spec.d.ts +2 -0
  605. package/build/_services/core/migration-runner.service.spec.d.ts.map +1 -0
  606. package/build/_services/core/migration-runner.service.spec.js +77 -0
  607. package/build/_services/core/migration-runner.service.spec.js.map +1 -0
  608. package/build/_services/core/request-hunter.service.spec.d.ts +2 -0
  609. package/build/_services/core/request-hunter.service.spec.d.ts.map +1 -0
  610. package/build/_services/core/request-hunter.service.spec.js +101 -0
  611. package/build/_services/core/request-hunter.service.spec.js.map +1 -0
  612. package/build/_services/core/service-collection.service.spec.d.ts +2 -0
  613. package/build/_services/core/service-collection.service.spec.d.ts.map +1 -0
  614. package/build/_services/core/service-collection.service.spec.js +39 -0
  615. package/build/_services/core/service-collection.service.spec.js.map +1 -0
  616. package/build/_services/route/controller.service.spec.d.ts +2 -0
  617. package/build/_services/route/controller.service.spec.d.ts.map +1 -0
  618. package/build/_services/route/controller.service.spec.js +48 -0
  619. package/build/_services/route/controller.service.spec.js.map +1 -0
  620. package/build/_services/route/routing-module.service.spec.d.ts +2 -0
  621. package/build/_services/route/routing-module.service.spec.d.ts.map +1 -0
  622. package/build/_services/route/routing-module.service.spec.js +81 -0
  623. package/build/_services/route/routing-module.service.spec.js.map +1 -0
  624. package/build/_services/server/app.server-retention.spec.d.ts +2 -0
  625. package/build/_services/server/app.server-retention.spec.d.ts.map +1 -0
  626. package/build/_services/server/app.server-retention.spec.js +93 -0
  627. package/build/_services/server/app.server-retention.spec.js.map +1 -0
  628. package/build/_services/shared.static-service.spec.d.ts +2 -0
  629. package/build/_services/shared.static-service.spec.d.ts.map +1 -0
  630. package/build/_services/shared.static-service.spec.js +82 -0
  631. package/build/_services/shared.static-service.spec.js.map +1 -0
  632. package/coverage/_collections/archive.util.ts.html +139 -0
  633. package/coverage/_collections/get-environment-settings.util.ts.html +229 -0
  634. package/coverage/_collections/index.html +146 -0
  635. package/coverage/_collections/star.controller.ts.html +472 -0
  636. package/coverage/_models/control-models/api-call-params.control-model.ts.html +511 -0
  637. package/coverage/_models/control-models/app-ext-system-controls.control-model.ts.html +112 -0
  638. package/coverage/_models/control-models/app-params.control-model.ts.html +475 -0
  639. package/coverage/_models/control-models/app-system-controls.control-model.ts.html +112 -0
  640. package/coverage/_models/control-models/endpoint-params.control-model.ts.html +1618 -0
  641. package/coverage/_models/control-models/http-settings.control-model.ts.html +172 -0
  642. package/coverage/_models/control-models/index.html +206 -0
  643. package/coverage/_models/control-models/system-control.control-model.ts.html +121 -0
  644. package/coverage/_modules/ai/_models/ai-input-interfaces.ts.html +436 -0
  645. package/coverage/_modules/ai/_models/index.html +116 -0
  646. package/coverage/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts.html +1993 -0
  647. package/coverage/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts.html +340 -0
  648. package/coverage/_modules/ai/_modules/document-ai/_collections/index.html +131 -0
  649. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts.html +523 -0
  650. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts.html +571 -0
  651. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts.html +382 -0
  652. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/index.html +146 -0
  653. package/coverage/_modules/ai/_modules/open-ai/_collections/index.html +131 -0
  654. package/coverage/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts.html +331 -0
  655. package/coverage/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts.html +310 -0
  656. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/index.html +161 -0
  657. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts.html +958 -0
  658. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts.html +1801 -0
  659. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts.html +1390 -0
  660. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts.html +1915 -0
  661. package/coverage/_modules/ai/_modules/open-ai/_services/index.html +146 -0
  662. package/coverage/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts.html +334 -0
  663. package/coverage/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts.html +1822 -0
  664. package/coverage/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts.html +2584 -0
  665. package/coverage/_modules/ai/_services/ai-embedding.service-base.ts.html +208 -0
  666. package/coverage/_modules/ai/_services/ai-llm-chat.service-base.ts.html +289 -0
  667. package/coverage/_modules/ai/_services/ai-llm.service-base.ts.html +1060 -0
  668. package/coverage/_modules/ai/_services/ai-provider.service-base.ts.html +172 -0
  669. package/coverage/_modules/ai/_services/index.html +161 -0
  670. package/coverage/_modules/assistant/_collections/ass.util.ts.html +235 -0
  671. package/coverage/_modules/assistant/_collections/index.html +116 -0
  672. package/coverage/_modules/assistant/_services/ass-io.control-service.ts.html +307 -0
  673. package/coverage/_modules/assistant/_services/ass-main.control-service.ts.html +406 -0
  674. package/coverage/_modules/assistant/_services/index.html +131 -0
  675. package/coverage/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts.html +112 -0
  676. package/coverage/_modules/bot/_modules/discord-bot/_models/index.html +116 -0
  677. package/coverage/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts.html +1978 -0
  678. package/coverage/_modules/bot/_modules/discord-bot/_services/index.html +116 -0
  679. package/coverage/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts.html +250 -0
  680. package/coverage/_modules/bot/_modules/dynamo-bot/_collections/index.html +116 -0
  681. package/coverage/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts.html +130 -0
  682. package/coverage/_modules/bot/_modules/dynamo-bot/_models/index.html +116 -0
  683. package/coverage/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts.html +1414 -0
  684. package/coverage/_modules/bot/_modules/dynamo-bot/_services/index.html +116 -0
  685. package/coverage/_modules/bot/_modules/slack-bot/_models/index.html +116 -0
  686. package/coverage/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts.html +112 -0
  687. package/coverage/_modules/bot/_modules/slack-bot/_services/index.html +116 -0
  688. package/coverage/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts.html +664 -0
  689. package/coverage/_modules/bot/_modules/teams-bot/_models/index.html +116 -0
  690. package/coverage/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts.html +112 -0
  691. package/coverage/_modules/bot/_modules/teams-bot/_services/index.html +116 -0
  692. package/coverage/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts.html +664 -0
  693. package/coverage/_modules/bot/_services/bot-commands.control-service.ts.html +559 -0
  694. package/coverage/_modules/bot/_services/bot-io.control-service.ts.html +1072 -0
  695. package/coverage/_modules/bot/_services/bot-main.control-service.ts.html +1552 -0
  696. package/coverage/_modules/bot/_services/bot-messaging-provider.service-base.ts.html +556 -0
  697. package/coverage/_modules/bot/_services/bot-routines.control-service.ts.html +319 -0
  698. package/coverage/_modules/bot/_services/index.html +176 -0
  699. package/coverage/_modules/custom-data/custom-data.controller.ts.html +292 -0
  700. package/coverage/_modules/custom-data/custom-data.data-service.ts.html +148 -0
  701. package/coverage/_modules/custom-data/get-custom-data-routing-module.util.ts.html +157 -0
  702. package/coverage/_modules/custom-data/index.html +146 -0
  703. package/coverage/_modules/defaults/_models/default-user.data-model.ts.html +301 -0
  704. package/coverage/_modules/defaults/_models/index.html +116 -0
  705. package/coverage/_modules/defaults/_services/default-auth.service.ts.html +616 -0
  706. package/coverage/_modules/defaults/_services/default-socket-events.service.ts.html +268 -0
  707. package/coverage/_modules/defaults/_services/default-user.data-service.ts.html +379 -0
  708. package/coverage/_modules/defaults/_services/index.html +146 -0
  709. package/coverage/_modules/discord-assistant/_collections/dias.util.ts.html +481 -0
  710. package/coverage/_modules/discord-assistant/_collections/index.html +116 -0
  711. package/coverage/_modules/discord-assistant/_models/dias-knowledge.data-model.ts.html +241 -0
  712. package/coverage/_modules/discord-assistant/_models/index.html +116 -0
  713. package/coverage/_modules/discord-assistant/_services/dias-chunk.data-service.ts.html +616 -0
  714. package/coverage/_modules/discord-assistant/_services/dias-io.control-service.ts.html +292 -0
  715. package/coverage/_modules/discord-assistant/_services/dias-main.control-service.ts.html +166 -0
  716. package/coverage/_modules/discord-assistant/_services/dias.service-base.ts.html +313 -0
  717. package/coverage/_modules/discord-assistant/_services/index.html +161 -0
  718. package/coverage/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts.html +118 -0
  719. package/coverage/_modules/discord-assistant-voiced/_services/index.html +116 -0
  720. package/coverage/_modules/discord-bot/_collections/dibo-global-settings.conts.ts.html +250 -0
  721. package/coverage/_modules/discord-bot/_collections/dibo-operations.util.ts.html +1246 -0
  722. package/coverage/_modules/discord-bot/_collections/index.html +131 -0
  723. package/coverage/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts.html +106 -0
  724. package/coverage/_modules/discord-bot/_models/index.html +116 -0
  725. package/coverage/_modules/discord-bot/_services/dibo-commands.control-service.ts.html +544 -0
  726. package/coverage/_modules/discord-bot/_services/dibo-io.control-service.ts.html +1003 -0
  727. package/coverage/_modules/discord-bot/_services/dibo-main.control-service.ts.html +1546 -0
  728. package/coverage/_modules/discord-bot/_services/dibo-routines.control-service.ts.html +376 -0
  729. package/coverage/_modules/discord-bot/_services/index.html +161 -0
  730. package/coverage/_modules/messaging/_collections/get-messaging-routing-module.util.ts.html +163 -0
  731. package/coverage/_modules/messaging/_collections/index.html +131 -0
  732. package/coverage/_modules/messaging/_collections/msg.util.ts.html +334 -0
  733. package/coverage/_modules/messaging/_services/index.html +191 -0
  734. package/coverage/_modules/messaging/_services/msg-conversation.data-service.ts.html +523 -0
  735. package/coverage/_modules/messaging/_services/msg-events.service.ts.html +886 -0
  736. package/coverage/_modules/messaging/_services/msg-integration.control-service.ts.html +622 -0
  737. package/coverage/_modules/messaging/_services/msg-main.control-service.ts.html +1738 -0
  738. package/coverage/_modules/messaging/_services/msg-message.data-service.ts.html +472 -0
  739. package/coverage/_modules/messaging/_services/msg.controller.ts.html +1195 -0
  740. package/coverage/_modules/mock/app-extended-server.mock.ts.html +688 -0
  741. package/coverage/_modules/mock/app-params.mock.ts.html +112 -0
  742. package/coverage/_modules/mock/app-server.mock.ts.html +649 -0
  743. package/coverage/_modules/mock/auth-service.mock.ts.html +169 -0
  744. package/coverage/_modules/mock/controller.mock.ts.html +133 -0
  745. package/coverage/_modules/mock/data-model.mock.ts.html +331 -0
  746. package/coverage/_modules/mock/email-service-collection.mock.ts.html +130 -0
  747. package/coverage/_modules/mock/email-service.mock.ts.html +145 -0
  748. package/coverage/_modules/mock/endpoint.mock.ts.html +358 -0
  749. package/coverage/_modules/mock/index.html +266 -0
  750. package/coverage/_modules/mock/socket-client.mock.ts.html +220 -0
  751. package/coverage/_modules/mock/socket-server.mock.ts.html +247 -0
  752. package/coverage/_modules/oauth2/_routes/index.html +116 -0
  753. package/coverage/_modules/oauth2/_routes/oauth2.controller.ts.html +379 -0
  754. package/coverage/_modules/oauth2/_services/index.html +131 -0
  755. package/coverage/_modules/oauth2/_services/oauth2.auth-service.ts.html +781 -0
  756. package/coverage/_modules/oauth2/_services/oauth2.control-service.ts.html +2044 -0
  757. package/coverage/_modules/server/errors/errors.control-service.ts.html +292 -0
  758. package/coverage/_modules/server/errors/errors.controller.ts.html +895 -0
  759. package/coverage/_modules/server/errors/errors.data-service.ts.html +1666 -0
  760. package/coverage/_modules/server/errors/index.html +146 -0
  761. package/coverage/_modules/server/server-status/index.html +161 -0
  762. package/coverage/_modules/server/server-status/server-status-snapshot.control-service.ts.html +136 -0
  763. package/coverage/_modules/server/server-status/server-status-snapshot.data-service.ts.html +196 -0
  764. package/coverage/_modules/server/server-status/server-status.control-service.ts.html +1093 -0
  765. package/coverage/_modules/server/server-status/server-status.controller.ts.html +478 -0
  766. package/coverage/_modules/socket/_models/index.html +146 -0
  767. package/coverage/_modules/socket/_models/socket-client-service-params.control-model.ts.html +151 -0
  768. package/coverage/_modules/socket/_models/socket-presence.control-model.ts.html +715 -0
  769. package/coverage/_modules/socket/_models/socket-server-service-params.control-model.ts.html +145 -0
  770. package/coverage/_modules/socket/_services/index.html +131 -0
  771. package/coverage/_modules/socket/_services/socket-client.service.ts.html +862 -0
  772. package/coverage/_modules/socket/_services/socket-server.service.ts.html +3196 -0
  773. package/coverage/_modules/socket/app-extended.server.ts.html +1954 -0
  774. package/coverage/_modules/socket/index.html +116 -0
  775. package/coverage/_modules/test/get-test-routing-module.util.ts.html +154 -0
  776. package/coverage/_modules/test/index.html +131 -0
  777. package/coverage/_modules/test/test.controller.ts.html +430 -0
  778. package/coverage/_modules/usage/get-usage-routing-module.util.ts.html +151 -0
  779. package/coverage/_modules/usage/index.html +146 -0
  780. package/coverage/_modules/usage/usage.controller.ts.html +463 -0
  781. package/coverage/_modules/usage/usage.data-service.ts.html +640 -0
  782. package/coverage/_services/base/api.service-base.ts.html +307 -0
  783. package/coverage/_services/base/archive-data.service.ts.html +727 -0
  784. package/coverage/_services/base/data.service.ts.html +7033 -0
  785. package/coverage/_services/base/db.service.ts.html +4786 -0
  786. package/coverage/_services/base/index.html +191 -0
  787. package/coverage/_services/base/singleton.service-base.ts.html +157 -0
  788. package/coverage/_services/base/singleton.service.ts.html +190 -0
  789. package/coverage/_services/core/api.service.ts.html +1900 -0
  790. package/coverage/_services/core/auth.service.ts.html +607 -0
  791. package/coverage/_services/core/email.service.ts.html +2302 -0
  792. package/coverage/_services/core/global.service.ts.html +1363 -0
  793. package/coverage/_services/core/index.html +176 -0
  794. package/coverage/_services/core/service-collection.service.ts.html +103 -0
  795. package/coverage/_services/index.html +116 -0
  796. package/coverage/_services/route/controller.service.ts.html +475 -0
  797. package/coverage/_services/route/index.html +131 -0
  798. package/coverage/_services/route/routing-module.service.ts.html +1075 -0
  799. package/coverage/_services/server/app.server.ts.html +4408 -0
  800. package/coverage/_services/server/index.html +116 -0
  801. package/coverage/_services/shared.static-service.ts.html +319 -0
  802. package/coverage/base.css +224 -0
  803. package/coverage/block-navigation.js +87 -0
  804. package/coverage/favicon.png +0 -0
  805. package/coverage/index.html +821 -0
  806. package/coverage/lcov-report/_collections/archive.util.ts.html +139 -0
  807. package/coverage/lcov-report/_collections/get-environment-settings.util.ts.html +229 -0
  808. package/coverage/lcov-report/_collections/index.html +146 -0
  809. package/coverage/lcov-report/_collections/star.controller.ts.html +472 -0
  810. package/coverage/lcov-report/_models/control-models/api-call-params.control-model.ts.html +511 -0
  811. package/coverage/lcov-report/_models/control-models/app-ext-system-controls.control-model.ts.html +112 -0
  812. package/coverage/lcov-report/_models/control-models/app-params.control-model.ts.html +475 -0
  813. package/coverage/lcov-report/_models/control-models/app-system-controls.control-model.ts.html +112 -0
  814. package/coverage/lcov-report/_models/control-models/endpoint-params.control-model.ts.html +1618 -0
  815. package/coverage/lcov-report/_models/control-models/http-settings.control-model.ts.html +172 -0
  816. package/coverage/lcov-report/_models/control-models/index.html +206 -0
  817. package/coverage/lcov-report/_models/control-models/system-control.control-model.ts.html +121 -0
  818. package/coverage/lcov-report/_modules/ai/_models/ai-input-interfaces.ts.html +436 -0
  819. package/coverage/lcov-report/_modules/ai/_models/index.html +116 -0
  820. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts.html +1993 -0
  821. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts.html +340 -0
  822. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_collections/index.html +131 -0
  823. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts.html +523 -0
  824. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts.html +571 -0
  825. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts.html +382 -0
  826. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/index.html +146 -0
  827. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_collections/index.html +131 -0
  828. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts.html +331 -0
  829. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts.html +310 -0
  830. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/index.html +161 -0
  831. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts.html +958 -0
  832. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts.html +1801 -0
  833. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts.html +1390 -0
  834. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts.html +1915 -0
  835. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/index.html +146 -0
  836. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts.html +334 -0
  837. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts.html +1822 -0
  838. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts.html +2584 -0
  839. package/coverage/lcov-report/_modules/ai/_services/ai-embedding.service-base.ts.html +208 -0
  840. package/coverage/lcov-report/_modules/ai/_services/ai-llm-chat.service-base.ts.html +289 -0
  841. package/coverage/lcov-report/_modules/ai/_services/ai-llm.service-base.ts.html +1060 -0
  842. package/coverage/lcov-report/_modules/ai/_services/ai-provider.service-base.ts.html +172 -0
  843. package/coverage/lcov-report/_modules/ai/_services/index.html +161 -0
  844. package/coverage/lcov-report/_modules/assistant/_collections/ass.util.ts.html +235 -0
  845. package/coverage/lcov-report/_modules/assistant/_collections/index.html +116 -0
  846. package/coverage/lcov-report/_modules/assistant/_services/ass-io.control-service.ts.html +307 -0
  847. package/coverage/lcov-report/_modules/assistant/_services/ass-main.control-service.ts.html +406 -0
  848. package/coverage/lcov-report/_modules/assistant/_services/index.html +131 -0
  849. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts.html +112 -0
  850. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_models/index.html +116 -0
  851. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts.html +1978 -0
  852. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_services/index.html +116 -0
  853. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts.html +250 -0
  854. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_collections/index.html +116 -0
  855. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts.html +130 -0
  856. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_models/index.html +116 -0
  857. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts.html +1414 -0
  858. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_services/index.html +116 -0
  859. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_models/index.html +116 -0
  860. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts.html +112 -0
  861. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_services/index.html +116 -0
  862. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts.html +664 -0
  863. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_models/index.html +116 -0
  864. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts.html +112 -0
  865. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_services/index.html +116 -0
  866. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts.html +664 -0
  867. package/coverage/lcov-report/_modules/bot/_services/bot-commands.control-service.ts.html +559 -0
  868. package/coverage/lcov-report/_modules/bot/_services/bot-io.control-service.ts.html +1072 -0
  869. package/coverage/lcov-report/_modules/bot/_services/bot-main.control-service.ts.html +1552 -0
  870. package/coverage/lcov-report/_modules/bot/_services/bot-messaging-provider.service-base.ts.html +556 -0
  871. package/coverage/lcov-report/_modules/bot/_services/bot-routines.control-service.ts.html +319 -0
  872. package/coverage/lcov-report/_modules/bot/_services/index.html +176 -0
  873. package/coverage/lcov-report/_modules/custom-data/custom-data.controller.ts.html +292 -0
  874. package/coverage/lcov-report/_modules/custom-data/custom-data.data-service.ts.html +148 -0
  875. package/coverage/lcov-report/_modules/custom-data/get-custom-data-routing-module.util.ts.html +157 -0
  876. package/coverage/lcov-report/_modules/custom-data/index.html +146 -0
  877. package/coverage/lcov-report/_modules/defaults/_models/default-user.data-model.ts.html +301 -0
  878. package/coverage/lcov-report/_modules/defaults/_models/index.html +116 -0
  879. package/coverage/lcov-report/_modules/defaults/_services/default-auth.service.ts.html +616 -0
  880. package/coverage/lcov-report/_modules/defaults/_services/default-socket-events.service.ts.html +268 -0
  881. package/coverage/lcov-report/_modules/defaults/_services/default-user.data-service.ts.html +379 -0
  882. package/coverage/lcov-report/_modules/defaults/_services/index.html +146 -0
  883. package/coverage/lcov-report/_modules/discord-assistant/_collections/dias.util.ts.html +481 -0
  884. package/coverage/lcov-report/_modules/discord-assistant/_collections/index.html +116 -0
  885. package/coverage/lcov-report/_modules/discord-assistant/_models/dias-knowledge.data-model.ts.html +241 -0
  886. package/coverage/lcov-report/_modules/discord-assistant/_models/index.html +116 -0
  887. package/coverage/lcov-report/_modules/discord-assistant/_services/dias-chunk.data-service.ts.html +616 -0
  888. package/coverage/lcov-report/_modules/discord-assistant/_services/dias-io.control-service.ts.html +292 -0
  889. package/coverage/lcov-report/_modules/discord-assistant/_services/dias-main.control-service.ts.html +166 -0
  890. package/coverage/lcov-report/_modules/discord-assistant/_services/dias.service-base.ts.html +313 -0
  891. package/coverage/lcov-report/_modules/discord-assistant/_services/index.html +161 -0
  892. package/coverage/lcov-report/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts.html +118 -0
  893. package/coverage/lcov-report/_modules/discord-assistant-voiced/_services/index.html +116 -0
  894. package/coverage/lcov-report/_modules/discord-bot/_collections/dibo-global-settings.conts.ts.html +250 -0
  895. package/coverage/lcov-report/_modules/discord-bot/_collections/dibo-operations.util.ts.html +1246 -0
  896. package/coverage/lcov-report/_modules/discord-bot/_collections/index.html +131 -0
  897. package/coverage/lcov-report/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts.html +106 -0
  898. package/coverage/lcov-report/_modules/discord-bot/_models/index.html +116 -0
  899. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-commands.control-service.ts.html +544 -0
  900. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-io.control-service.ts.html +1003 -0
  901. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-main.control-service.ts.html +1546 -0
  902. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-routines.control-service.ts.html +376 -0
  903. package/coverage/lcov-report/_modules/discord-bot/_services/index.html +161 -0
  904. package/coverage/lcov-report/_modules/messaging/_collections/get-messaging-routing-module.util.ts.html +163 -0
  905. package/coverage/lcov-report/_modules/messaging/_collections/index.html +131 -0
  906. package/coverage/lcov-report/_modules/messaging/_collections/msg.util.ts.html +334 -0
  907. package/coverage/lcov-report/_modules/messaging/_services/index.html +191 -0
  908. package/coverage/lcov-report/_modules/messaging/_services/msg-conversation.data-service.ts.html +523 -0
  909. package/coverage/lcov-report/_modules/messaging/_services/msg-events.service.ts.html +886 -0
  910. package/coverage/lcov-report/_modules/messaging/_services/msg-integration.control-service.ts.html +622 -0
  911. package/coverage/lcov-report/_modules/messaging/_services/msg-main.control-service.ts.html +1738 -0
  912. package/coverage/lcov-report/_modules/messaging/_services/msg-message.data-service.ts.html +472 -0
  913. package/coverage/lcov-report/_modules/messaging/_services/msg.controller.ts.html +1195 -0
  914. package/coverage/lcov-report/_modules/mock/app-extended-server.mock.ts.html +688 -0
  915. package/coverage/lcov-report/_modules/mock/app-params.mock.ts.html +112 -0
  916. package/coverage/lcov-report/_modules/mock/app-server.mock.ts.html +649 -0
  917. package/coverage/lcov-report/_modules/mock/auth-service.mock.ts.html +169 -0
  918. package/coverage/lcov-report/_modules/mock/controller.mock.ts.html +133 -0
  919. package/coverage/lcov-report/_modules/mock/data-model.mock.ts.html +331 -0
  920. package/coverage/lcov-report/_modules/mock/email-service-collection.mock.ts.html +130 -0
  921. package/coverage/lcov-report/_modules/mock/email-service.mock.ts.html +145 -0
  922. package/coverage/lcov-report/_modules/mock/endpoint.mock.ts.html +358 -0
  923. package/coverage/lcov-report/_modules/mock/index.html +266 -0
  924. package/coverage/lcov-report/_modules/mock/socket-client.mock.ts.html +220 -0
  925. package/coverage/lcov-report/_modules/mock/socket-server.mock.ts.html +247 -0
  926. package/coverage/lcov-report/_modules/oauth2/_routes/index.html +116 -0
  927. package/coverage/lcov-report/_modules/oauth2/_routes/oauth2.controller.ts.html +379 -0
  928. package/coverage/lcov-report/_modules/oauth2/_services/index.html +131 -0
  929. package/coverage/lcov-report/_modules/oauth2/_services/oauth2.auth-service.ts.html +781 -0
  930. package/coverage/lcov-report/_modules/oauth2/_services/oauth2.control-service.ts.html +2044 -0
  931. package/coverage/lcov-report/_modules/server/errors/errors.control-service.ts.html +292 -0
  932. package/coverage/lcov-report/_modules/server/errors/errors.controller.ts.html +895 -0
  933. package/coverage/lcov-report/_modules/server/errors/errors.data-service.ts.html +1666 -0
  934. package/coverage/lcov-report/_modules/server/errors/index.html +146 -0
  935. package/coverage/lcov-report/_modules/server/server-status/index.html +161 -0
  936. package/coverage/lcov-report/_modules/server/server-status/server-status-snapshot.control-service.ts.html +136 -0
  937. package/coverage/lcov-report/_modules/server/server-status/server-status-snapshot.data-service.ts.html +196 -0
  938. package/coverage/lcov-report/_modules/server/server-status/server-status.control-service.ts.html +1093 -0
  939. package/coverage/lcov-report/_modules/server/server-status/server-status.controller.ts.html +478 -0
  940. package/coverage/lcov-report/_modules/socket/_models/index.html +146 -0
  941. package/coverage/lcov-report/_modules/socket/_models/socket-client-service-params.control-model.ts.html +151 -0
  942. package/coverage/lcov-report/_modules/socket/_models/socket-presence.control-model.ts.html +715 -0
  943. package/coverage/lcov-report/_modules/socket/_models/socket-server-service-params.control-model.ts.html +145 -0
  944. package/coverage/lcov-report/_modules/socket/_services/index.html +131 -0
  945. package/coverage/lcov-report/_modules/socket/_services/socket-client.service.ts.html +862 -0
  946. package/coverage/lcov-report/_modules/socket/_services/socket-server.service.ts.html +3196 -0
  947. package/coverage/lcov-report/_modules/socket/app-extended.server.ts.html +1954 -0
  948. package/coverage/lcov-report/_modules/socket/index.html +116 -0
  949. package/coverage/lcov-report/_modules/test/get-test-routing-module.util.ts.html +154 -0
  950. package/coverage/lcov-report/_modules/test/index.html +131 -0
  951. package/coverage/lcov-report/_modules/test/test.controller.ts.html +430 -0
  952. package/coverage/lcov-report/_modules/usage/get-usage-routing-module.util.ts.html +151 -0
  953. package/coverage/lcov-report/_modules/usage/index.html +146 -0
  954. package/coverage/lcov-report/_modules/usage/usage.controller.ts.html +463 -0
  955. package/coverage/lcov-report/_modules/usage/usage.data-service.ts.html +640 -0
  956. package/coverage/lcov-report/_services/base/api.service-base.ts.html +307 -0
  957. package/coverage/lcov-report/_services/base/archive-data.service.ts.html +727 -0
  958. package/coverage/lcov-report/_services/base/data.service.ts.html +7033 -0
  959. package/coverage/lcov-report/_services/base/db.service.ts.html +4786 -0
  960. package/coverage/lcov-report/_services/base/index.html +191 -0
  961. package/coverage/lcov-report/_services/base/singleton.service-base.ts.html +157 -0
  962. package/coverage/lcov-report/_services/base/singleton.service.ts.html +190 -0
  963. package/coverage/lcov-report/_services/core/api.service.ts.html +1900 -0
  964. package/coverage/lcov-report/_services/core/auth.service.ts.html +607 -0
  965. package/coverage/lcov-report/_services/core/email.service.ts.html +2302 -0
  966. package/coverage/lcov-report/_services/core/global.service.ts.html +1363 -0
  967. package/coverage/lcov-report/_services/core/index.html +176 -0
  968. package/coverage/lcov-report/_services/core/service-collection.service.ts.html +103 -0
  969. package/coverage/lcov-report/_services/index.html +116 -0
  970. package/coverage/lcov-report/_services/route/controller.service.ts.html +475 -0
  971. package/coverage/lcov-report/_services/route/index.html +131 -0
  972. package/coverage/lcov-report/_services/route/routing-module.service.ts.html +1075 -0
  973. package/coverage/lcov-report/_services/server/app.server.ts.html +4408 -0
  974. package/coverage/lcov-report/_services/server/index.html +116 -0
  975. package/coverage/lcov-report/_services/shared.static-service.ts.html +319 -0
  976. package/coverage/lcov-report/base.css +224 -0
  977. package/coverage/lcov-report/block-navigation.js +87 -0
  978. package/coverage/lcov-report/favicon.png +0 -0
  979. package/coverage/lcov-report/index.html +821 -0
  980. package/coverage/lcov-report/prettify.css +1 -0
  981. package/coverage/lcov-report/prettify.js +2 -0
  982. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  983. package/coverage/lcov-report/sorter.js +210 -0
  984. package/coverage/lcov.info +29957 -0
  985. package/coverage/prettify.css +1 -0
  986. package/coverage/prettify.js +2 -0
  987. package/coverage/sort-arrow-sprite.png +0 -0
  988. package/coverage/sorter.js +210 -0
  989. package/coverage/tmp/coverage-111712-1762988673351-0.json +1 -0
  990. package/coverage/tmp/coverage-112308-1762988673527-0.json +1 -0
  991. package/coverage/tmp/coverage-112324-1762988615026-0.json +1 -0
  992. package/coverage/tmp/coverage-112436-1762988615438-0.json +1 -0
  993. package/coverage/tmp/coverage-112512-1762988673477-0.json +1 -0
  994. package/eslint.config.js +3 -3
  995. package/logs/cicd-job.json +3 -0
  996. package/logs/cicd-output.log +31 -0
  997. package/logs/cicd-report.json +148 -0
  998. package/logs/cicd-status.json +70 -0
  999. package/nodemon.json +24 -24
  1000. package/package.json +3 -3
  1001. package/pnpm-workspace.yaml +5 -5
  1002. package/scripts/run-coverage-tests.js +28 -28
  1003. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  1004. package/spec/support/helpers/ts-node-helper.js +93 -93
  1005. package/spec/support/jasmine.coverage.json +24 -24
  1006. package/spec/support/jasmine.json +24 -24
  1007. package/src/_collections/archive.util.spec.ts +57 -57
  1008. package/src/_collections/archive.util.ts +18 -18
  1009. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  1010. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  1011. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  1012. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  1013. package/src/_collections/default-not-found-page.const.ts +22 -22
  1014. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  1015. package/src/_collections/default-socket-path.const.ts +2 -2
  1016. package/src/_collections/field-encryption.util.spec.ts +86 -0
  1017. package/src/_collections/field-encryption.util.ts +50 -1
  1018. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  1019. package/src/_collections/get-environment-settings.util.ts +48 -48
  1020. package/src/_collections/global-settings.const.ts +126 -126
  1021. package/src/_collections/sample.env +21 -21
  1022. package/src/_collections/signed-url.util.spec.ts +198 -198
  1023. package/src/_collections/signed-url.util.ts +170 -170
  1024. package/src/_collections/star.controller.spec.ts +224 -224
  1025. package/src/_collections/star.controller.ts +129 -129
  1026. package/src/_enums/data-model-type.enum.ts +14 -14
  1027. package/src/_enums/data-service-function.enum.ts +24 -24
  1028. package/src/_enums/predefined-data-types.enum.ts +16 -16
  1029. package/src/_enums/route-security.enum.ts +12 -12
  1030. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  1031. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  1032. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  1033. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  1034. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  1035. package/src/_models/control-models/app-params.control-model.ts +136 -136
  1036. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  1037. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  1038. package/src/_models/control-models/endpoint-params.control-model.spec.ts +669 -669
  1039. package/src/_models/control-models/endpoint-params.control-model.ts +664 -664
  1040. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  1041. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  1042. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  1043. package/src/_models/control-models/system-control.control-model.ts +12 -12
  1044. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  1045. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  1046. package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
  1047. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  1048. package/src/_models/interfaces/global-settings.interface.ts +294 -294
  1049. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  1050. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  1051. package/src/_models/interfaces/static-client-settings.interface.ts +36 -36
  1052. package/src/_models/types/db-update.type.ts +100 -100
  1053. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  1054. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  1055. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.ts +115 -115
  1056. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +233 -233
  1057. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  1058. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  1059. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  1060. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  1061. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
  1062. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +518 -518
  1063. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  1064. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  1065. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  1066. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  1067. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  1068. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  1069. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
  1070. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  1071. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  1072. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  1073. package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
  1074. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  1075. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  1076. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  1077. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  1078. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  1079. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  1080. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  1081. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  1082. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  1083. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  1084. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  1085. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  1086. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  1087. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
  1088. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  1089. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
  1090. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
  1091. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
  1092. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1085 -1085
  1093. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  1094. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
  1095. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +114 -114
  1096. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  1097. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  1098. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  1099. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  1100. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  1101. package/src/_modules/ai/_services/ai-llm.service-base.ts +599 -599
  1102. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
  1103. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  1104. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
  1105. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +371 -371
  1106. package/src/_modules/ai/index.ts +33 -33
  1107. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  1108. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  1109. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  1110. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  1111. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  1112. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  1113. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  1114. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  1115. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  1116. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  1117. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  1118. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  1119. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  1120. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  1121. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  1122. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  1123. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  1124. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  1125. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  1126. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  1127. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  1128. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  1129. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  1130. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  1131. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  1132. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  1133. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  1134. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  1135. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  1136. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  1137. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  1138. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  1139. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  1140. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  1141. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  1142. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  1143. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  1144. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  1145. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  1146. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  1147. package/src/_modules/custom-data/index.ts +9 -9
  1148. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +161 -161
  1149. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
  1150. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
  1151. package/src/_modules/data-readers/index.ts +11 -11
  1152. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  1153. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  1154. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  1155. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  1156. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  1157. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  1158. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  1159. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  1160. package/src/_modules/defaults/index.ts +17 -17
  1161. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  1162. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  1163. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  1164. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  1165. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  1166. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  1167. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  1168. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  1169. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  1170. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  1171. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  1172. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  1173. package/src/_modules/discord-assistant/index.ts +38 -38
  1174. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  1175. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  1176. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  1177. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  1178. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  1179. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  1180. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  1181. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  1182. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  1183. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  1184. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  1185. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  1186. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  1187. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  1188. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  1189. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  1190. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  1191. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  1192. package/src/_modules/discord-bot/index.ts +36 -36
  1193. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
  1194. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +59 -59
  1195. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  1196. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  1197. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  1198. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
  1199. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
  1200. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +214 -214
  1201. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +186 -186
  1202. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
  1203. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +130 -130
  1204. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +509 -509
  1205. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +323 -323
  1206. package/src/_modules/local-vector-search/index.ts +16 -16
  1207. package/src/_modules/logs/index.ts +11 -11
  1208. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
  1209. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +142 -142
  1210. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +120 -120
  1211. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
  1212. package/src/_modules/mcp/index.ts +13 -13
  1213. package/src/_modules/messaging/README.md +354 -354
  1214. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  1215. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  1216. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  1217. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  1218. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  1219. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  1220. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  1221. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  1222. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  1223. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  1224. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  1225. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  1226. package/src/_modules/messaging/index.ts +30 -30
  1227. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  1228. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  1229. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  1230. package/src/_modules/mock/app-params.mock.ts +9 -9
  1231. package/src/_modules/mock/app-server.mock.ts +188 -188
  1232. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  1233. package/src/_modules/mock/auth-service.mock.ts +28 -28
  1234. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  1235. package/src/_modules/mock/controller.mock.ts +16 -16
  1236. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  1237. package/src/_modules/mock/data-model.mock.ts +82 -82
  1238. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  1239. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  1240. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  1241. package/src/_modules/mock/email-service.mock.ts +20 -20
  1242. package/src/_modules/mock/email-template.mock.html +14 -14
  1243. package/src/_modules/mock/endpoint.mock.ts +91 -91
  1244. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  1245. package/src/_modules/mock/socket-client.mock.ts +45 -45
  1246. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  1247. package/src/_modules/mock/socket-server.mock.ts +46 -46
  1248. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  1249. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  1250. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  1251. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  1252. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  1253. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  1254. package/src/_modules/oauth2/index.ts +17 -17
  1255. package/src/_modules/scheduler/_models/scheduler-job.interface.ts +35 -35
  1256. package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +33 -33
  1257. package/src/_modules/scheduler/index.ts +8 -8
  1258. package/src/_modules/scheduler/scheduler.controller.spec.ts +42 -42
  1259. package/src/_modules/scheduler/scheduler.controller.ts +69 -69
  1260. package/src/_modules/scheduler/scheduler.service.spec.ts +141 -141
  1261. package/src/_modules/scheduler/scheduler.service.ts +176 -176
  1262. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
  1263. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +81 -81
  1264. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
  1265. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +306 -306
  1266. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +295 -295
  1267. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +118 -118
  1268. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +105 -105
  1269. package/src/_modules/scoped-config/index.ts +17 -17
  1270. package/src/_modules/server/errors/errors.control-service.spec.ts +238 -238
  1271. package/src/_modules/server/errors/errors.control-service.ts +100 -100
  1272. package/src/_modules/server/errors/errors.controller.ts +559 -559
  1273. package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
  1274. package/src/_modules/server/index.ts +30 -30
  1275. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  1276. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  1277. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  1278. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  1279. package/src/_modules/server/server-status/server-status.control-service.spec.ts +672 -672
  1280. package/src/_modules/server/server-status/server-status.control-service.ts +490 -490
  1281. package/src/_modules/server/server-status/server-status.controller.spec.ts +276 -276
  1282. package/src/_modules/server/server-status/server-status.controller.ts +336 -336
  1283. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  1284. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  1285. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  1286. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +159 -158
  1287. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -209
  1288. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +69 -69
  1289. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  1290. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  1291. package/src/_modules/socket/_services/socket-server.service.spec.ts +225 -3
  1292. package/src/_modules/socket/_services/socket-server.service.ts +41 -74
  1293. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  1294. package/src/_modules/socket/app-extended.server.ts +648 -648
  1295. package/src/_modules/socket/index.ts +42 -42
  1296. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  1297. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  1298. package/src/_modules/test/index.ts +11 -11
  1299. package/src/_modules/test/test.controller.spec.ts +72 -72
  1300. package/src/_modules/test/test.controller.ts +115 -115
  1301. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  1302. package/src/_modules/usage/index.ts +15 -15
  1303. package/src/_modules/usage/usage.controller.spec.ts +106 -106
  1304. package/src/_modules/usage/usage.controller.ts +140 -140
  1305. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  1306. package/src/_modules/usage/usage.data-service.ts +185 -185
  1307. package/src/_services/base/api.service-base.spec.ts +125 -125
  1308. package/src/_services/base/api.service-base.ts +74 -74
  1309. package/src/_services/base/archive-data.service.spec.ts +209 -209
  1310. package/src/_services/base/archive-data.service.ts +223 -223
  1311. package/src/_services/base/data.service.spec.ts +784 -784
  1312. package/src/_services/base/data.service.ts +2792 -2792
  1313. package/src/_services/base/db.service.spec.ts +160 -160
  1314. package/src/_services/base/db.service.ts +1698 -1698
  1315. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  1316. package/src/_services/base/singleton.service-base.ts +24 -24
  1317. package/src/_services/base/singleton.service.spec.ts +114 -114
  1318. package/src/_services/base/singleton.service.ts +38 -38
  1319. package/src/_services/core/api.service.spec.ts +140 -140
  1320. package/src/_services/core/auth.service.spec.ts +159 -159
  1321. package/src/_services/core/auth.service.ts +174 -174
  1322. package/src/_services/core/email.service.spec.ts +85 -85
  1323. package/src/_services/core/email.service.ts +757 -757
  1324. package/src/_services/core/global.service.spec.ts +292 -292
  1325. package/src/_services/core/global.service.ts +487 -487
  1326. package/src/_services/core/memory-guard.service.spec.ts +245 -245
  1327. package/src/_services/core/memory-guard.service.ts +481 -481
  1328. package/src/_services/core/service-collection.service.spec.ts +46 -46
  1329. package/src/_services/core/service-collection.service.ts +6 -6
  1330. package/src/_services/route/controller.service.spec.ts +53 -53
  1331. package/src/_services/route/controller.service.ts +148 -148
  1332. package/src/_services/route/routing-module.service.spec.ts +98 -98
  1333. package/src/_services/route/routing-module.service.ts +330 -330
  1334. package/src/_services/server/app.server.ts +2012 -2012
  1335. package/src/_services/shared.static-service.spec.ts +99 -99
  1336. package/src/_services/shared.static-service.ts +78 -78
  1337. package/tsconfig.app.json +12 -12
  1338. package/tsconfig.json +42 -42
  1339. package/.dynamo/logs/cicd-pipeline/output.log +0 -2962
  1340. package/.dynamo/logs/cicd-pipeline/status.json +0 -74
@@ -0,0 +1,1915 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for _modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../../../index.html">All files</a> / <a href="index.html">_modules/ai/_modules/open-ai/_services/data-services</a> oai-vector-data.service.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/611</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/611</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
677
+ <span class="cline-any cline-no">&nbsp;</span>
678
+ <span class="cline-any cline-no">&nbsp;</span>
679
+ <span class="cline-any cline-no">&nbsp;</span>
680
+ <span class="cline-any cline-no">&nbsp;</span>
681
+ <span class="cline-any cline-no">&nbsp;</span>
682
+ <span class="cline-any cline-no">&nbsp;</span>
683
+ <span class="cline-any cline-no">&nbsp;</span>
684
+ <span class="cline-any cline-no">&nbsp;</span>
685
+ <span class="cline-any cline-no">&nbsp;</span>
686
+ <span class="cline-any cline-no">&nbsp;</span>
687
+ <span class="cline-any cline-no">&nbsp;</span>
688
+ <span class="cline-any cline-no">&nbsp;</span>
689
+ <span class="cline-any cline-no">&nbsp;</span>
690
+ <span class="cline-any cline-no">&nbsp;</span>
691
+ <span class="cline-any cline-no">&nbsp;</span>
692
+ <span class="cline-any cline-no">&nbsp;</span>
693
+ <span class="cline-any cline-no">&nbsp;</span>
694
+ <span class="cline-any cline-no">&nbsp;</span>
695
+ <span class="cline-any cline-no">&nbsp;</span>
696
+ <span class="cline-any cline-no">&nbsp;</span>
697
+ <span class="cline-any cline-no">&nbsp;</span>
698
+ <span class="cline-any cline-no">&nbsp;</span>
699
+ <span class="cline-any cline-no">&nbsp;</span>
700
+ <span class="cline-any cline-no">&nbsp;</span>
701
+ <span class="cline-any cline-no">&nbsp;</span>
702
+ <span class="cline-any cline-no">&nbsp;</span>
703
+ <span class="cline-any cline-no">&nbsp;</span>
704
+ <span class="cline-any cline-no">&nbsp;</span>
705
+ <span class="cline-any cline-no">&nbsp;</span>
706
+ <span class="cline-any cline-no">&nbsp;</span>
707
+ <span class="cline-any cline-no">&nbsp;</span>
708
+ <span class="cline-any cline-no">&nbsp;</span>
709
+ <span class="cline-any cline-no">&nbsp;</span>
710
+ <span class="cline-any cline-no">&nbsp;</span>
711
+ <span class="cline-any cline-no">&nbsp;</span>
712
+ <span class="cline-any cline-no">&nbsp;</span>
713
+ <span class="cline-any cline-no">&nbsp;</span>
714
+ <span class="cline-any cline-no">&nbsp;</span>
715
+ <span class="cline-any cline-no">&nbsp;</span>
716
+ <span class="cline-any cline-no">&nbsp;</span>
717
+ <span class="cline-any cline-no">&nbsp;</span>
718
+ <span class="cline-any cline-no">&nbsp;</span>
719
+ <span class="cline-any cline-no">&nbsp;</span>
720
+ <span class="cline-any cline-no">&nbsp;</span>
721
+ <span class="cline-any cline-no">&nbsp;</span>
722
+ <span class="cline-any cline-no">&nbsp;</span>
723
+ <span class="cline-any cline-no">&nbsp;</span>
724
+ <span class="cline-any cline-no">&nbsp;</span>
725
+ <span class="cline-any cline-no">&nbsp;</span>
726
+ <span class="cline-any cline-no">&nbsp;</span>
727
+ <span class="cline-any cline-no">&nbsp;</span>
728
+ <span class="cline-any cline-no">&nbsp;</span>
729
+ <span class="cline-any cline-no">&nbsp;</span>
730
+ <span class="cline-any cline-no">&nbsp;</span>
731
+ <span class="cline-any cline-no">&nbsp;</span>
732
+ <span class="cline-any cline-no">&nbsp;</span>
733
+ <span class="cline-any cline-no">&nbsp;</span>
734
+ <span class="cline-any cline-no">&nbsp;</span>
735
+ <span class="cline-any cline-no">&nbsp;</span>
736
+ <span class="cline-any cline-no">&nbsp;</span>
737
+ <span class="cline-any cline-no">&nbsp;</span>
738
+ <span class="cline-any cline-no">&nbsp;</span>
739
+ <span class="cline-any cline-no">&nbsp;</span>
740
+ <span class="cline-any cline-no">&nbsp;</span>
741
+ <span class="cline-any cline-no">&nbsp;</span>
742
+ <span class="cline-any cline-no">&nbsp;</span>
743
+ <span class="cline-any cline-no">&nbsp;</span>
744
+ <span class="cline-any cline-no">&nbsp;</span>
745
+ <span class="cline-any cline-no">&nbsp;</span>
746
+ <span class="cline-any cline-no">&nbsp;</span>
747
+ <span class="cline-any cline-no">&nbsp;</span>
748
+ <span class="cline-any cline-no">&nbsp;</span>
749
+ <span class="cline-any cline-no">&nbsp;</span>
750
+ <span class="cline-any cline-no">&nbsp;</span>
751
+ <span class="cline-any cline-no">&nbsp;</span>
752
+ <span class="cline-any cline-no">&nbsp;</span>
753
+ <span class="cline-any cline-no">&nbsp;</span>
754
+ <span class="cline-any cline-no">&nbsp;</span>
755
+ <span class="cline-any cline-no">&nbsp;</span>
756
+ <span class="cline-any cline-no">&nbsp;</span>
757
+ <span class="cline-any cline-no">&nbsp;</span>
758
+ <span class="cline-any cline-no">&nbsp;</span>
759
+ <span class="cline-any cline-no">&nbsp;</span>
760
+ <span class="cline-any cline-no">&nbsp;</span>
761
+ <span class="cline-any cline-no">&nbsp;</span>
762
+ <span class="cline-any cline-no">&nbsp;</span>
763
+ <span class="cline-any cline-no">&nbsp;</span>
764
+ <span class="cline-any cline-no">&nbsp;</span>
765
+ <span class="cline-any cline-no">&nbsp;</span>
766
+ <span class="cline-any cline-no">&nbsp;</span>
767
+ <span class="cline-any cline-no">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
769
+ <span class="cline-any cline-no">&nbsp;</span>
770
+ <span class="cline-any cline-no">&nbsp;</span>
771
+ <span class="cline-any cline-no">&nbsp;</span>
772
+ <span class="cline-any cline-no">&nbsp;</span>
773
+ <span class="cline-any cline-no">&nbsp;</span>
774
+ <span class="cline-any cline-no">&nbsp;</span>
775
+ <span class="cline-any cline-no">&nbsp;</span>
776
+ <span class="cline-any cline-no">&nbsp;</span>
777
+ <span class="cline-any cline-no">&nbsp;</span>
778
+ <span class="cline-any cline-no">&nbsp;</span>
779
+ <span class="cline-any cline-no">&nbsp;</span>
780
+ <span class="cline-any cline-no">&nbsp;</span>
781
+ <span class="cline-any cline-no">&nbsp;</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
783
+ <span class="cline-any cline-no">&nbsp;</span>
784
+ <span class="cline-any cline-no">&nbsp;</span>
785
+ <span class="cline-any cline-no">&nbsp;</span>
786
+ <span class="cline-any cline-no">&nbsp;</span>
787
+ <span class="cline-any cline-no">&nbsp;</span>
788
+ <span class="cline-any cline-no">&nbsp;</span>
789
+ <span class="cline-any cline-no">&nbsp;</span>
790
+ <span class="cline-any cline-no">&nbsp;</span>
791
+ <span class="cline-any cline-no">&nbsp;</span>
792
+ <span class="cline-any cline-no">&nbsp;</span>
793
+ <span class="cline-any cline-no">&nbsp;</span>
794
+ <span class="cline-any cline-no">&nbsp;</span>
795
+ <span class="cline-any cline-no">&nbsp;</span>
796
+ <span class="cline-any cline-no">&nbsp;</span>
797
+ <span class="cline-any cline-no">&nbsp;</span>
798
+ <span class="cline-any cline-no">&nbsp;</span>
799
+ <span class="cline-any cline-no">&nbsp;</span>
800
+ <span class="cline-any cline-no">&nbsp;</span>
801
+ <span class="cline-any cline-no">&nbsp;</span>
802
+ <span class="cline-any cline-no">&nbsp;</span>
803
+ <span class="cline-any cline-no">&nbsp;</span>
804
+ <span class="cline-any cline-no">&nbsp;</span>
805
+ <span class="cline-any cline-no">&nbsp;</span>
806
+ <span class="cline-any cline-no">&nbsp;</span>
807
+ <span class="cline-any cline-no">&nbsp;</span>
808
+ <span class="cline-any cline-no">&nbsp;</span>
809
+ <span class="cline-any cline-no">&nbsp;</span>
810
+ <span class="cline-any cline-no">&nbsp;</span>
811
+ <span class="cline-any cline-no">&nbsp;</span>
812
+ <span class="cline-any cline-no">&nbsp;</span>
813
+ <span class="cline-any cline-no">&nbsp;</span>
814
+ <span class="cline-any cline-no">&nbsp;</span>
815
+ <span class="cline-any cline-no">&nbsp;</span>
816
+ <span class="cline-any cline-no">&nbsp;</span>
817
+ <span class="cline-any cline-no">&nbsp;</span>
818
+ <span class="cline-any cline-no">&nbsp;</span>
819
+ <span class="cline-any cline-no">&nbsp;</span>
820
+ <span class="cline-any cline-no">&nbsp;</span>
821
+ <span class="cline-any cline-no">&nbsp;</span>
822
+ <span class="cline-any cline-no">&nbsp;</span>
823
+ <span class="cline-any cline-no">&nbsp;</span>
824
+ <span class="cline-any cline-no">&nbsp;</span>
825
+ <span class="cline-any cline-no">&nbsp;</span>
826
+ <span class="cline-any cline-no">&nbsp;</span>
827
+ <span class="cline-any cline-no">&nbsp;</span>
828
+ <span class="cline-any cline-no">&nbsp;</span>
829
+ <span class="cline-any cline-no">&nbsp;</span>
830
+ <span class="cline-any cline-no">&nbsp;</span>
831
+ <span class="cline-any cline-no">&nbsp;</span>
832
+ <span class="cline-any cline-no">&nbsp;</span>
833
+ <span class="cline-any cline-no">&nbsp;</span>
834
+ <span class="cline-any cline-no">&nbsp;</span>
835
+ <span class="cline-any cline-no">&nbsp;</span>
836
+ <span class="cline-any cline-no">&nbsp;</span>
837
+ <span class="cline-any cline-no">&nbsp;</span>
838
+ <span class="cline-any cline-no">&nbsp;</span>
839
+ <span class="cline-any cline-no">&nbsp;</span>
840
+ <span class="cline-any cline-no">&nbsp;</span>
841
+ <span class="cline-any cline-no">&nbsp;</span>
842
+ <span class="cline-any cline-no">&nbsp;</span>
843
+ <span class="cline-any cline-no">&nbsp;</span>
844
+ <span class="cline-any cline-no">&nbsp;</span>
845
+ <span class="cline-any cline-no">&nbsp;</span>
846
+ <span class="cline-any cline-no">&nbsp;</span>
847
+ <span class="cline-any cline-no">&nbsp;</span>
848
+ <span class="cline-any cline-no">&nbsp;</span>
849
+ <span class="cline-any cline-no">&nbsp;</span>
850
+ <span class="cline-any cline-no">&nbsp;</span>
851
+ <span class="cline-any cline-no">&nbsp;</span>
852
+ <span class="cline-any cline-no">&nbsp;</span>
853
+ <span class="cline-any cline-no">&nbsp;</span>
854
+ <span class="cline-any cline-no">&nbsp;</span>
855
+ <span class="cline-any cline-no">&nbsp;</span>
856
+ <span class="cline-any cline-no">&nbsp;</span>
857
+ <span class="cline-any cline-no">&nbsp;</span>
858
+ <span class="cline-any cline-no">&nbsp;</span>
859
+ <span class="cline-any cline-no">&nbsp;</span>
860
+ <span class="cline-any cline-no">&nbsp;</span>
861
+ <span class="cline-any cline-no">&nbsp;</span>
862
+ <span class="cline-any cline-no">&nbsp;</span>
863
+ <span class="cline-any cline-no">&nbsp;</span>
864
+ <span class="cline-any cline-no">&nbsp;</span>
865
+ <span class="cline-any cline-no">&nbsp;</span>
866
+ <span class="cline-any cline-no">&nbsp;</span>
867
+ <span class="cline-any cline-no">&nbsp;</span>
868
+ <span class="cline-any cline-no">&nbsp;</span>
869
+ <span class="cline-any cline-no">&nbsp;</span>
870
+ <span class="cline-any cline-no">&nbsp;</span>
871
+ <span class="cline-any cline-no">&nbsp;</span>
872
+ <span class="cline-any cline-no">&nbsp;</span>
873
+ <span class="cline-any cline-no">&nbsp;</span>
874
+ <span class="cline-any cline-no">&nbsp;</span>
875
+ <span class="cline-any cline-no">&nbsp;</span>
876
+ <span class="cline-any cline-no">&nbsp;</span>
877
+ <span class="cline-any cline-no">&nbsp;</span>
878
+ <span class="cline-any cline-no">&nbsp;</span>
879
+ <span class="cline-any cline-no">&nbsp;</span>
880
+ <span class="cline-any cline-no">&nbsp;</span>
881
+ <span class="cline-any cline-no">&nbsp;</span>
882
+ <span class="cline-any cline-no">&nbsp;</span>
883
+ <span class="cline-any cline-no">&nbsp;</span>
884
+ <span class="cline-any cline-no">&nbsp;</span>
885
+ <span class="cline-any cline-no">&nbsp;</span>
886
+ <span class="cline-any cline-no">&nbsp;</span>
887
+ <span class="cline-any cline-no">&nbsp;</span>
888
+ <span class="cline-any cline-no">&nbsp;</span>
889
+ <span class="cline-any cline-no">&nbsp;</span>
890
+ <span class="cline-any cline-no">&nbsp;</span>
891
+ <span class="cline-any cline-no">&nbsp;</span>
892
+ <span class="cline-any cline-no">&nbsp;</span>
893
+ <span class="cline-any cline-no">&nbsp;</span>
894
+ <span class="cline-any cline-no">&nbsp;</span>
895
+ <span class="cline-any cline-no">&nbsp;</span>
896
+ <span class="cline-any cline-no">&nbsp;</span>
897
+ <span class="cline-any cline-no">&nbsp;</span>
898
+ <span class="cline-any cline-no">&nbsp;</span>
899
+ <span class="cline-any cline-no">&nbsp;</span>
900
+ <span class="cline-any cline-no">&nbsp;</span>
901
+ <span class="cline-any cline-no">&nbsp;</span>
902
+ <span class="cline-any cline-no">&nbsp;</span>
903
+ <span class="cline-any cline-no">&nbsp;</span>
904
+ <span class="cline-any cline-no">&nbsp;</span>
905
+ <span class="cline-any cline-no">&nbsp;</span>
906
+ <span class="cline-any cline-no">&nbsp;</span>
907
+ <span class="cline-any cline-no">&nbsp;</span>
908
+ <span class="cline-any cline-no">&nbsp;</span>
909
+ <span class="cline-any cline-no">&nbsp;</span>
910
+ <span class="cline-any cline-no">&nbsp;</span>
911
+ <span class="cline-any cline-no">&nbsp;</span>
912
+ <span class="cline-any cline-no">&nbsp;</span>
913
+ <span class="cline-any cline-no">&nbsp;</span>
914
+ <span class="cline-any cline-no">&nbsp;</span>
915
+ <span class="cline-any cline-no">&nbsp;</span>
916
+ <span class="cline-any cline-no">&nbsp;</span>
917
+ <span class="cline-any cline-no">&nbsp;</span>
918
+ <span class="cline-any cline-no">&nbsp;</span>
919
+ <span class="cline-any cline-no">&nbsp;</span>
920
+ <span class="cline-any cline-no">&nbsp;</span>
921
+ <span class="cline-any cline-no">&nbsp;</span>
922
+ <span class="cline-any cline-no">&nbsp;</span>
923
+ <span class="cline-any cline-no">&nbsp;</span>
924
+ <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-no">&nbsp;</span>
926
+ <span class="cline-any cline-no">&nbsp;</span>
927
+ <span class="cline-any cline-no">&nbsp;</span>
928
+ <span class="cline-any cline-no">&nbsp;</span>
929
+ <span class="cline-any cline-no">&nbsp;</span>
930
+ <span class="cline-any cline-no">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-no">&nbsp;</span>
933
+ <span class="cline-any cline-no">&nbsp;</span>
934
+ <span class="cline-any cline-no">&nbsp;</span>
935
+ <span class="cline-any cline-no">&nbsp;</span>
936
+ <span class="cline-any cline-no">&nbsp;</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
940
+ <span class="cline-any cline-no">&nbsp;</span>
941
+ <span class="cline-any cline-no">&nbsp;</span>
942
+ <span class="cline-any cline-no">&nbsp;</span>
943
+ <span class="cline-any cline-no">&nbsp;</span>
944
+ <span class="cline-any cline-no">&nbsp;</span>
945
+ <span class="cline-any cline-no">&nbsp;</span>
946
+ <span class="cline-any cline-no">&nbsp;</span>
947
+ <span class="cline-any cline-no">&nbsp;</span>
948
+ <span class="cline-any cline-no">&nbsp;</span>
949
+ <span class="cline-any cline-no">&nbsp;</span>
950
+ <span class="cline-any cline-no">&nbsp;</span>
951
+ <span class="cline-any cline-no">&nbsp;</span>
952
+ <span class="cline-any cline-no">&nbsp;</span>
953
+ <span class="cline-any cline-no">&nbsp;</span>
954
+ <span class="cline-any cline-no">&nbsp;</span>
955
+ <span class="cline-any cline-no">&nbsp;</span>
956
+ <span class="cline-any cline-no">&nbsp;</span>
957
+ <span class="cline-any cline-no">&nbsp;</span>
958
+ <span class="cline-any cline-no">&nbsp;</span>
959
+ <span class="cline-any cline-no">&nbsp;</span>
960
+ <span class="cline-any cline-no">&nbsp;</span>
961
+ <span class="cline-any cline-no">&nbsp;</span>
962
+ <span class="cline-any cline-no">&nbsp;</span>
963
+ <span class="cline-any cline-no">&nbsp;</span>
964
+ <span class="cline-any cline-no">&nbsp;</span>
965
+ <span class="cline-any cline-no">&nbsp;</span>
966
+ <span class="cline-any cline-no">&nbsp;</span>
967
+ <span class="cline-any cline-no">&nbsp;</span>
968
+ <span class="cline-any cline-no">&nbsp;</span>
969
+ <span class="cline-any cline-no">&nbsp;</span>
970
+ <span class="cline-any cline-no">&nbsp;</span>
971
+ <span class="cline-any cline-no">&nbsp;</span>
972
+ <span class="cline-any cline-no">&nbsp;</span>
973
+ <span class="cline-any cline-no">&nbsp;</span>
974
+ <span class="cline-any cline-no">&nbsp;</span>
975
+ <span class="cline-any cline-no">&nbsp;</span>
976
+ <span class="cline-any cline-no">&nbsp;</span>
977
+ <span class="cline-any cline-no">&nbsp;</span>
978
+ <span class="cline-any cline-no">&nbsp;</span>
979
+ <span class="cline-any cline-no">&nbsp;</span>
980
+ <span class="cline-any cline-no">&nbsp;</span>
981
+ <span class="cline-any cline-no">&nbsp;</span>
982
+ <span class="cline-any cline-no">&nbsp;</span>
983
+ <span class="cline-any cline-no">&nbsp;</span>
984
+ <span class="cline-any cline-no">&nbsp;</span>
985
+ <span class="cline-any cline-no">&nbsp;</span>
986
+ <span class="cline-any cline-no">&nbsp;</span>
987
+ <span class="cline-any cline-no">&nbsp;</span>
988
+ <span class="cline-any cline-no">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span>
991
+ <span class="cline-any cline-no">&nbsp;</span>
992
+ <span class="cline-any cline-no">&nbsp;</span>
993
+ <span class="cline-any cline-no">&nbsp;</span>
994
+ <span class="cline-any cline-no">&nbsp;</span>
995
+ <span class="cline-any cline-no">&nbsp;</span>
996
+ <span class="cline-any cline-no">&nbsp;</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-no">&nbsp;</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
1000
+ <span class="cline-any cline-no">&nbsp;</span>
1001
+ <span class="cline-any cline-no">&nbsp;</span>
1002
+ <span class="cline-any cline-no">&nbsp;</span>
1003
+ <span class="cline-any cline-no">&nbsp;</span>
1004
+ <span class="cline-any cline-no">&nbsp;</span>
1005
+ <span class="cline-any cline-no">&nbsp;</span>
1006
+ <span class="cline-any cline-no">&nbsp;</span>
1007
+ <span class="cline-any cline-no">&nbsp;</span>
1008
+ <span class="cline-any cline-no">&nbsp;</span>
1009
+ <span class="cline-any cline-no">&nbsp;</span>
1010
+ <span class="cline-any cline-no">&nbsp;</span>
1011
+ <span class="cline-any cline-no">&nbsp;</span>
1012
+ <span class="cline-any cline-no">&nbsp;</span>
1013
+ <span class="cline-any cline-no">&nbsp;</span>
1014
+ <span class="cline-any cline-no">&nbsp;</span>
1015
+ <span class="cline-any cline-no">&nbsp;</span>
1016
+ <span class="cline-any cline-no">&nbsp;</span>
1017
+ <span class="cline-any cline-no">&nbsp;</span>
1018
+ <span class="cline-any cline-no">&nbsp;</span>
1019
+ <span class="cline-any cline-no">&nbsp;</span>
1020
+ <span class="cline-any cline-no">&nbsp;</span>
1021
+ <span class="cline-any cline-no">&nbsp;</span>
1022
+ <span class="cline-any cline-no">&nbsp;</span>
1023
+ <span class="cline-any cline-no">&nbsp;</span>
1024
+ <span class="cline-any cline-no">&nbsp;</span>
1025
+ <span class="cline-any cline-no">&nbsp;</span>
1026
+ <span class="cline-any cline-no">&nbsp;</span>
1027
+ <span class="cline-any cline-no">&nbsp;</span>
1028
+ <span class="cline-any cline-no">&nbsp;</span>
1029
+ <span class="cline-any cline-no">&nbsp;</span>
1030
+ <span class="cline-any cline-no">&nbsp;</span>
1031
+ <span class="cline-any cline-no">&nbsp;</span>
1032
+ <span class="cline-any cline-no">&nbsp;</span>
1033
+ <span class="cline-any cline-no">&nbsp;</span>
1034
+ <span class="cline-any cline-no">&nbsp;</span>
1035
+ <span class="cline-any cline-no">&nbsp;</span>
1036
+ <span class="cline-any cline-no">&nbsp;</span>
1037
+ <span class="cline-any cline-no">&nbsp;</span>
1038
+ <span class="cline-any cline-no">&nbsp;</span>
1039
+ <span class="cline-any cline-no">&nbsp;</span>
1040
+ <span class="cline-any cline-no">&nbsp;</span>
1041
+ <span class="cline-any cline-no">&nbsp;</span>
1042
+ <span class="cline-any cline-no">&nbsp;</span>
1043
+ <span class="cline-any cline-no">&nbsp;</span>
1044
+ <span class="cline-any cline-no">&nbsp;</span>
1045
+ <span class="cline-any cline-no">&nbsp;</span>
1046
+ <span class="cline-any cline-no">&nbsp;</span>
1047
+ <span class="cline-any cline-no">&nbsp;</span>
1048
+ <span class="cline-any cline-no">&nbsp;</span>
1049
+ <span class="cline-any cline-no">&nbsp;</span>
1050
+ <span class="cline-any cline-no">&nbsp;</span>
1051
+ <span class="cline-any cline-no">&nbsp;</span>
1052
+ <span class="cline-any cline-no">&nbsp;</span>
1053
+ <span class="cline-any cline-no">&nbsp;</span>
1054
+ <span class="cline-any cline-no">&nbsp;</span>
1055
+ <span class="cline-any cline-no">&nbsp;</span>
1056
+ <span class="cline-any cline-no">&nbsp;</span>
1057
+ <span class="cline-any cline-no">&nbsp;</span>
1058
+ <span class="cline-any cline-no">&nbsp;</span>
1059
+ <span class="cline-any cline-no">&nbsp;</span>
1060
+ <span class="cline-any cline-no">&nbsp;</span>
1061
+ <span class="cline-any cline-no">&nbsp;</span>
1062
+ <span class="cline-any cline-no">&nbsp;</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
+ <span class="cline-any cline-no">&nbsp;</span>
1065
+ <span class="cline-any cline-no">&nbsp;</span>
1066
+ <span class="cline-any cline-no">&nbsp;</span>
1067
+ <span class="cline-any cline-no">&nbsp;</span>
1068
+ <span class="cline-any cline-no">&nbsp;</span>
1069
+ <span class="cline-any cline-no">&nbsp;</span>
1070
+ <span class="cline-any cline-no">&nbsp;</span>
1071
+ <span class="cline-any cline-no">&nbsp;</span>
1072
+ <span class="cline-any cline-no">&nbsp;</span>
1073
+ <span class="cline-any cline-no">&nbsp;</span>
1074
+ <span class="cline-any cline-no">&nbsp;</span>
1075
+ <span class="cline-any cline-no">&nbsp;</span>
1076
+ <span class="cline-any cline-no">&nbsp;</span>
1077
+ <span class="cline-any cline-no">&nbsp;</span>
1078
+ <span class="cline-any cline-no">&nbsp;</span>
1079
+ <span class="cline-any cline-no">&nbsp;</span>
1080
+ <span class="cline-any cline-no">&nbsp;</span>
1081
+ <span class="cline-any cline-no">&nbsp;</span>
1082
+ <span class="cline-any cline-no">&nbsp;</span>
1083
+ <span class="cline-any cline-no">&nbsp;</span>
1084
+ <span class="cline-any cline-no">&nbsp;</span>
1085
+ <span class="cline-any cline-no">&nbsp;</span>
1086
+ <span class="cline-any cline-no">&nbsp;</span>
1087
+ <span class="cline-any cline-no">&nbsp;</span>
1088
+ <span class="cline-any cline-no">&nbsp;</span>
1089
+ <span class="cline-any cline-no">&nbsp;</span>
1090
+ <span class="cline-any cline-no">&nbsp;</span>
1091
+ <span class="cline-any cline-no">&nbsp;</span>
1092
+ <span class="cline-any cline-no">&nbsp;</span>
1093
+ <span class="cline-any cline-no">&nbsp;</span>
1094
+ <span class="cline-any cline-no">&nbsp;</span>
1095
+ <span class="cline-any cline-no">&nbsp;</span>
1096
+ <span class="cline-any cline-no">&nbsp;</span>
1097
+ <span class="cline-any cline-no">&nbsp;</span>
1098
+ <span class="cline-any cline-no">&nbsp;</span>
1099
+ <span class="cline-any cline-no">&nbsp;</span>
1100
+ <span class="cline-any cline-no">&nbsp;</span>
1101
+ <span class="cline-any cline-no">&nbsp;</span>
1102
+ <span class="cline-any cline-no">&nbsp;</span>
1103
+ <span class="cline-any cline-no">&nbsp;</span>
1104
+ <span class="cline-any cline-no">&nbsp;</span>
1105
+ <span class="cline-any cline-no">&nbsp;</span>
1106
+ <span class="cline-any cline-no">&nbsp;</span>
1107
+ <span class="cline-any cline-no">&nbsp;</span>
1108
+ <span class="cline-any cline-no">&nbsp;</span>
1109
+ <span class="cline-any cline-no">&nbsp;</span>
1110
+ <span class="cline-any cline-no">&nbsp;</span>
1111
+ <span class="cline-any cline-no">&nbsp;</span>
1112
+ <span class="cline-any cline-no">&nbsp;</span>
1113
+ <span class="cline-any cline-no">&nbsp;</span>
1114
+ <span class="cline-any cline-no">&nbsp;</span>
1115
+ <span class="cline-any cline-no">&nbsp;</span>
1116
+ <span class="cline-any cline-no">&nbsp;</span>
1117
+ <span class="cline-any cline-no">&nbsp;</span>
1118
+ <span class="cline-any cline-no">&nbsp;</span>
1119
+ <span class="cline-any cline-no">&nbsp;</span>
1120
+ <span class="cline-any cline-no">&nbsp;</span>
1121
+ <span class="cline-any cline-no">&nbsp;</span>
1122
+ <span class="cline-any cline-no">&nbsp;</span>
1123
+ <span class="cline-any cline-no">&nbsp;</span>
1124
+ <span class="cline-any cline-no">&nbsp;</span>
1125
+ <span class="cline-any cline-no">&nbsp;</span>
1126
+ <span class="cline-any cline-no">&nbsp;</span>
1127
+ <span class="cline-any cline-no">&nbsp;</span>
1128
+ <span class="cline-any cline-no">&nbsp;</span>
1129
+ <span class="cline-any cline-no">&nbsp;</span>
1130
+ <span class="cline-any cline-no">&nbsp;</span>
1131
+ <span class="cline-any cline-no">&nbsp;</span>
1132
+ <span class="cline-any cline-no">&nbsp;</span>
1133
+ <span class="cline-any cline-no">&nbsp;</span>
1134
+ <span class="cline-any cline-no">&nbsp;</span>
1135
+ <span class="cline-any cline-no">&nbsp;</span>
1136
+ <span class="cline-any cline-no">&nbsp;</span>
1137
+ <span class="cline-any cline-no">&nbsp;</span>
1138
+ <span class="cline-any cline-no">&nbsp;</span>
1139
+ <span class="cline-any cline-no">&nbsp;</span>
1140
+ <span class="cline-any cline-no">&nbsp;</span>
1141
+ <span class="cline-any cline-no">&nbsp;</span>
1142
+ <span class="cline-any cline-no">&nbsp;</span>
1143
+ <span class="cline-any cline-no">&nbsp;</span>
1144
+ <span class="cline-any cline-no">&nbsp;</span>
1145
+ <span class="cline-any cline-no">&nbsp;</span>
1146
+ <span class="cline-any cline-no">&nbsp;</span>
1147
+ <span class="cline-any cline-no">&nbsp;</span>
1148
+ <span class="cline-any cline-no">&nbsp;</span>
1149
+ <span class="cline-any cline-no">&nbsp;</span>
1150
+ <span class="cline-any cline-no">&nbsp;</span>
1151
+ <span class="cline-any cline-no">&nbsp;</span>
1152
+ <span class="cline-any cline-no">&nbsp;</span>
1153
+ <span class="cline-any cline-no">&nbsp;</span>
1154
+ <span class="cline-any cline-no">&nbsp;</span>
1155
+ <span class="cline-any cline-no">&nbsp;</span>
1156
+ <span class="cline-any cline-no">&nbsp;</span>
1157
+ <span class="cline-any cline-no">&nbsp;</span>
1158
+ <span class="cline-any cline-no">&nbsp;</span>
1159
+ <span class="cline-any cline-no">&nbsp;</span>
1160
+ <span class="cline-any cline-no">&nbsp;</span>
1161
+ <span class="cline-any cline-no">&nbsp;</span>
1162
+ <span class="cline-any cline-no">&nbsp;</span>
1163
+ <span class="cline-any cline-no">&nbsp;</span>
1164
+ <span class="cline-any cline-no">&nbsp;</span>
1165
+ <span class="cline-any cline-no">&nbsp;</span>
1166
+ <span class="cline-any cline-no">&nbsp;</span>
1167
+ <span class="cline-any cline-no">&nbsp;</span>
1168
+ <span class="cline-any cline-no">&nbsp;</span>
1169
+ <span class="cline-any cline-no">&nbsp;</span>
1170
+ <span class="cline-any cline-no">&nbsp;</span>
1171
+ <span class="cline-any cline-no">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-no">&nbsp;</span>
1175
+ <span class="cline-any cline-no">&nbsp;</span>
1176
+ <span class="cline-any cline-no">&nbsp;</span>
1177
+ <span class="cline-any cline-no">&nbsp;</span>
1178
+ <span class="cline-any cline-no">&nbsp;</span>
1179
+ <span class="cline-any cline-no">&nbsp;</span>
1180
+ <span class="cline-any cline-no">&nbsp;</span>
1181
+ <span class="cline-any cline-no">&nbsp;</span>
1182
+ <span class="cline-any cline-no">&nbsp;</span>
1183
+ <span class="cline-any cline-no">&nbsp;</span>
1184
+ <span class="cline-any cline-no">&nbsp;</span>
1185
+ <span class="cline-any cline-no">&nbsp;</span>
1186
+ <span class="cline-any cline-no">&nbsp;</span>
1187
+ <span class="cline-any cline-no">&nbsp;</span>
1188
+ <span class="cline-any cline-no">&nbsp;</span>
1189
+ <span class="cline-any cline-no">&nbsp;</span>
1190
+ <span class="cline-any cline-no">&nbsp;</span>
1191
+ <span class="cline-any cline-no">&nbsp;</span>
1192
+ <span class="cline-any cline-no">&nbsp;</span>
1193
+ <span class="cline-any cline-no">&nbsp;</span>
1194
+ <span class="cline-any cline-no">&nbsp;</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-no">&nbsp;</span>
1197
+ <span class="cline-any cline-no">&nbsp;</span>
1198
+ <span class="cline-any cline-no">&nbsp;</span>
1199
+ <span class="cline-any cline-no">&nbsp;</span>
1200
+ <span class="cline-any cline-no">&nbsp;</span>
1201
+ <span class="cline-any cline-no">&nbsp;</span>
1202
+ <span class="cline-any cline-no">&nbsp;</span>
1203
+ <span class="cline-any cline-no">&nbsp;</span>
1204
+ <span class="cline-any cline-no">&nbsp;</span>
1205
+ <span class="cline-any cline-no">&nbsp;</span>
1206
+ <span class="cline-any cline-no">&nbsp;</span>
1207
+ <span class="cline-any cline-no">&nbsp;</span>
1208
+ <span class="cline-any cline-no">&nbsp;</span>
1209
+ <span class="cline-any cline-no">&nbsp;</span>
1210
+ <span class="cline-any cline-no">&nbsp;</span>
1211
+ <span class="cline-any cline-no">&nbsp;</span>
1212
+ <span class="cline-any cline-no">&nbsp;</span>
1213
+ <span class="cline-any cline-no">&nbsp;</span>
1214
+ <span class="cline-any cline-no">&nbsp;</span>
1215
+ <span class="cline-any cline-no">&nbsp;</span>
1216
+ <span class="cline-any cline-no">&nbsp;</span>
1217
+ <span class="cline-any cline-no">&nbsp;</span>
1218
+ <span class="cline-any cline-no">&nbsp;</span>
1219
+ <span class="cline-any cline-no">&nbsp;</span>
1220
+ <span class="cline-any cline-no">&nbsp;</span>
1221
+ <span class="cline-any cline-no">&nbsp;</span>
1222
+ <span class="cline-any cline-no">&nbsp;</span>
1223
+ <span class="cline-any cline-no">&nbsp;</span>
1224
+ <span class="cline-any cline-no">&nbsp;</span>
1225
+ <span class="cline-any cline-no">&nbsp;</span>
1226
+ <span class="cline-any cline-no">&nbsp;</span>
1227
+ <span class="cline-any cline-no">&nbsp;</span>
1228
+ <span class="cline-any cline-no">&nbsp;</span>
1229
+ <span class="cline-any cline-no">&nbsp;</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-no">&nbsp;</span>
1232
+ <span class="cline-any cline-no">&nbsp;</span>
1233
+ <span class="cline-any cline-no">&nbsp;</span>
1234
+ <span class="cline-any cline-no">&nbsp;</span>
1235
+ <span class="cline-any cline-no">&nbsp;</span>
1236
+ <span class="cline-any cline-no">&nbsp;</span>
1237
+ <span class="cline-any cline-no">&nbsp;</span>
1238
+ <span class="cline-any cline-no">&nbsp;</span>
1239
+ <span class="cline-any cline-no">&nbsp;</span>
1240
+ <span class="cline-any cline-no">&nbsp;</span>
1241
+ <span class="cline-any cline-no">&nbsp;</span>
1242
+ <span class="cline-any cline-no">&nbsp;</span>
1243
+ <span class="cline-any cline-no">&nbsp;</span>
1244
+ <span class="cline-any cline-no">&nbsp;</span>
1245
+ <span class="cline-any cline-no">&nbsp;</span>
1246
+ <span class="cline-any cline-no">&nbsp;</span>
1247
+ <span class="cline-any cline-no">&nbsp;</span>
1248
+ <span class="cline-any cline-no">&nbsp;</span>
1249
+ <span class="cline-any cline-no">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-no">&nbsp;</span>
1252
+ <span class="cline-any cline-no">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-no">&nbsp;</span>
1255
+ <span class="cline-any cline-no">&nbsp;</span>
1256
+ <span class="cline-any cline-no">&nbsp;</span>
1257
+ <span class="cline-any cline-no">&nbsp;</span>
1258
+ <span class="cline-any cline-no">&nbsp;</span>
1259
+ <span class="cline-any cline-no">&nbsp;</span>
1260
+ <span class="cline-any cline-no">&nbsp;</span>
1261
+ <span class="cline-any cline-no">&nbsp;</span>
1262
+ <span class="cline-any cline-no">&nbsp;</span>
1263
+ <span class="cline-any cline-no">&nbsp;</span>
1264
+ <span class="cline-any cline-no">&nbsp;</span>
1265
+ <span class="cline-any cline-no">&nbsp;</span>
1266
+ <span class="cline-any cline-no">&nbsp;</span>
1267
+ <span class="cline-any cline-no">&nbsp;</span>
1268
+ <span class="cline-any cline-no">&nbsp;</span>
1269
+ <span class="cline-any cline-no">&nbsp;</span>
1270
+ <span class="cline-any cline-no">&nbsp;</span>
1271
+ <span class="cline-any cline-no">&nbsp;</span>
1272
+ <span class="cline-any cline-no">&nbsp;</span>
1273
+ <span class="cline-any cline-no">&nbsp;</span>
1274
+ <span class="cline-any cline-no">&nbsp;</span>
1275
+ <span class="cline-any cline-no">&nbsp;</span>
1276
+ <span class="cline-any cline-no">&nbsp;</span>
1277
+ <span class="cline-any cline-no">&nbsp;</span>
1278
+ <span class="cline-any cline-no">&nbsp;</span>
1279
+ <span class="cline-any cline-no">&nbsp;</span>
1280
+ <span class="cline-any cline-no">&nbsp;</span>
1281
+ <span class="cline-any cline-no">&nbsp;</span>
1282
+ <span class="cline-any cline-no">&nbsp;</span>
1283
+ <span class="cline-any cline-no">&nbsp;</span>
1284
+ <span class="cline-any cline-no">&nbsp;</span>
1285
+ <span class="cline-any cline-no">&nbsp;</span>
1286
+ <span class="cline-any cline-no">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import { DyFM_Log } from '@futdevpro/fsm-dynamo';</span></span></span>
1287
+ <span class="cstat-no" title="statement not covered" ></span>
1288
+ <span class="cstat-no" title="statement not covered" >import {</span>
1289
+ <span class="cstat-no" title="statement not covered" > DyFM_Array,</span>
1290
+ <span class="cstat-no" title="statement not covered" > DyFM_DataModel_Params,</span>
1291
+ <span class="cstat-no" title="statement not covered" > DyFM_DataProperty_Params,</span>
1292
+ <span class="cstat-no" title="statement not covered" > DyFM_DBFilter,</span>
1293
+ <span class="cstat-no" title="statement not covered" > DyFM_Error,</span>
1294
+ <span class="cstat-no" title="statement not covered" > DyFM_Metadata,</span>
1295
+ <span class="cstat-no" title="statement not covered" > DyFM_Object,</span>
1296
+ <span class="cstat-no" title="statement not covered" >} from '@futdevpro/fsm-dynamo';</span>
1297
+ <span class="cstat-no" title="statement not covered" >import { DyFM_OAI_Settings, DyFM_OAI_EmbeddingModel, DyFM_OAI_Model } from '@futdevpro/fsm-dynamo/ai/open-ai';</span>
1298
+ <span class="cstat-no" title="statement not covered" ></span>
1299
+ <span class="cstat-no" title="statement not covered" >import { DyNTS_global_settings } from '../../../../../../_collections/global-settings.const';</span>
1300
+ <span class="cstat-no" title="statement not covered" >import { DyNTS_DataService } from '../../../../../../_services/base/data.service';</span>
1301
+ <span class="cstat-no" title="statement not covered" >import { DyNTS_OAI_Embedding_ControlService } from '../oai-embedding.control-service';</span>
1302
+ <span class="cstat-no" title="statement not covered" >import { DyNTS_OAI_global_settings } from '../../_collections/oai-global-settings.const';</span>
1303
+ <span class="cstat-no" title="statement not covered" ></span>
1304
+ <span class="cstat-no" title="statement not covered" >/**</span>
1305
+ <span class="cstat-no" title="statement not covered" > * Vector Data Service that is connected to the relevant DBServices </span>
1306
+ <span class="cstat-no" title="statement not covered" > * extends {@link DyNTS_DataService}</span>
1307
+ <span class="cstat-no" title="statement not covered" > * </span>
1308
+ <span class="cstat-no" title="statement not covered" > * For the vectorization, you need to setup the index in the DB to something like this:</span>
1309
+ <span class="cstat-no" title="statement not covered" > * (the path declared here must be the same as the vectorizeUseIndex in the {@link DyFM_DataProperty_Params})</span>
1310
+ <span class="cstat-no" title="statement not covered" > * ```json</span>
1311
+ <span class="cstat-no" title="statement not covered" > * {</span>
1312
+ <span class="cstat-no" title="statement not covered" > * "fields": [</span>
1313
+ <span class="cstat-no" title="statement not covered" > * {</span>
1314
+ <span class="cstat-no" title="statement not covered" > * "type": "vector",</span>
1315
+ <span class="cstat-no" title="statement not covered" > * "path": "contentVectorized",</span>
1316
+ <span class="cstat-no" title="statement not covered" > * "numDimensions": 3072,</span>
1317
+ <span class="cstat-no" title="statement not covered" > * "similarity": "cosine"</span>
1318
+ <span class="cstat-no" title="statement not covered" > * }</span>
1319
+ <span class="cstat-no" title="statement not covered" > * ]</span>
1320
+ <span class="cstat-no" title="statement not covered" > * }</span>
1321
+ <span class="cstat-no" title="statement not covered" > * ```</span>
1322
+ <span class="cstat-no" title="statement not covered" > * </span>
1323
+ <span class="cstat-no" title="statement not covered" > * @example</span>
1324
+ <span class="cstat-no" title="statement not covered" > * export class UserMatchStatisticsService extends DyNTS_DataService&lt;UserMatchStatistics&gt; {</span>
1325
+ <span class="cstat-no" title="statement not covered" > * constructor(</span>
1326
+ <span class="cstat-no" title="statement not covered" > * set: {</span>
1327
+ <span class="cstat-no" title="statement not covered" > * data?: UserMatchStatistics,</span>
1328
+ <span class="cstat-no" title="statement not covered" > * openAISettings?: DyFM_OAI_Settings,</span>
1329
+ <span class="cstat-no" title="statement not covered" > * issuer: string,</span>
1330
+ <span class="cstat-no" title="statement not covered" > * }</span>
1331
+ <span class="cstat-no" title="statement not covered" > * ) {</span>
1332
+ <span class="cstat-no" title="statement not covered" > * super(</span>
1333
+ <span class="cstat-no" title="statement not covered" > * new UserMatchStatistics(set?.data),</span>
1334
+ <span class="cstat-no" title="statement not covered" > * userMatchStatisticsModelParams,</span>
1335
+ <span class="cstat-no" title="statement not covered" > * set?.openAISettings ?? defaultOpenAISettings,</span>
1336
+ <span class="cstat-no" title="statement not covered" > * set.issuer,</span>
1337
+ <span class="cstat-no" title="statement not covered" > * );</span>
1338
+ <span class="cstat-no" title="statement not covered" > * }</span>
1339
+ <span class="cstat-no" title="statement not covered" > * }</span>
1340
+ <span class="cstat-no" title="statement not covered" > */</span>
1341
+ <span class="cstat-no" title="statement not covered" >export class DyNTS_OAI_VectorDataService&lt;T extends DyFM_Metadata&gt; extends DyNTS_DataService&lt;T&gt; {</span>
1342
+ <span class="cstat-no" title="statement not covered" ></span>
1343
+ <span class="cstat-no" title="statement not covered" > /**</span>
1344
+ <span class="cstat-no" title="statement not covered" > * Properties that are vectorized</span>
1345
+ <span class="cstat-no" title="statement not covered" > * (properties that are marked with vectorizeFrom in other properties)</span>
1346
+ <span class="cstat-no" title="statement not covered" > */</span>
1347
+ <span class="cstat-no" title="statement not covered" > readonly vectorizeProperties: DyFM_DataProperty_Params&lt;any, T&gt;[];</span>
1348
+ <span class="cstat-no" title="statement not covered" > readonly vectorizedProperties: DyFM_DataProperty_Params&lt;any, T&gt;[];</span>
1349
+ <span class="cstat-no" title="statement not covered" > /* readonly vectorizeProperties: { from: string, to: string }[]; */</span>
1350
+ <span class="cstat-no" title="statement not covered" ></span>
1351
+ <span class="cstat-no" title="statement not covered" > debugLog: boolean = false;</span>
1352
+ <span class="cstat-no" title="statement not covered" > swallowVectorizedProperties: boolean = true;</span>
1353
+ <span class="cstat-no" title="statement not covered" ></span>
1354
+ <span class="cstat-no" title="statement not covered" > embedding_CS: DyNTS_OAI_Embedding_ControlService;</span>
1355
+ <span class="cstat-no" title="statement not covered" ></span>
1356
+ <span class="cstat-no" title="statement not covered" > constructor(</span>
1357
+ <span class="cstat-no" title="statement not covered" > /**</span>
1358
+ <span class="cstat-no" title="statement not covered" > * Initial data, this will be used by functions on default</span>
1359
+ <span class="cstat-no" title="statement not covered" > */</span>
1360
+ <span class="cstat-no" title="statement not covered" > data: T,</span>
1361
+ <span class="cstat-no" title="statement not covered" > /**</span>
1362
+ <span class="cstat-no" title="statement not covered" > * DB data prams will be used to connect to usable dbService on GlobalService</span>
1363
+ <span class="cstat-no" title="statement not covered" > */</span>
1364
+ <span class="cstat-no" title="statement not covered" > dataParams: DyFM_DataModel_Params&lt;T&gt;,</span>
1365
+ <span class="cstat-no" title="statement not covered" > /**</span>
1366
+ <span class="cstat-no" title="statement not covered" > * OpenAI settings</span>
1367
+ <span class="cstat-no" title="statement not covered" > */</span>
1368
+ <span class="cstat-no" title="statement not covered" > public readonly openAISettings: DyFM_OAI_Settings,</span>
1369
+ <span class="cstat-no" title="statement not covered" > /**</span>
1370
+ <span class="cstat-no" title="statement not covered" > * Initial set for issuer to be able to follow the issuer's activity</span>
1371
+ <span class="cstat-no" title="statement not covered" > */</span>
1372
+ <span class="cstat-no" title="statement not covered" > issuer: string</span>
1373
+ <span class="cstat-no" title="statement not covered" > ) {</span>
1374
+ <span class="cstat-no" title="statement not covered" > super(data, dataParams, issuer);</span>
1375
+ <span class="cstat-no" title="statement not covered" ></span>
1376
+ <span class="cstat-no" title="statement not covered" > this.vectorizedProperties = Object.values(dataParams.properties).filter(</span>
1377
+ <span class="cstat-no" title="statement not covered" > (property: DyFM_DataProperty_Params&lt;any, T&gt;) =&gt; property.vectorizedFrom</span>
1378
+ <span class="cstat-no" title="statement not covered" > );</span>
1379
+ <span class="cstat-no" title="statement not covered" ></span>
1380
+ <span class="cstat-no" title="statement not covered" > this.vectorizeProperties = Object.keys(dataParams.properties).filter(</span>
1381
+ <span class="cstat-no" title="statement not covered" > (key: string): boolean =&gt; this.vectorizedProperties.some(</span>
1382
+ <span class="cstat-no" title="statement not covered" > (property: DyFM_DataProperty_Params&lt;any, T&gt;) =&gt; property.vectorizedFrom.includes(key)</span>
1383
+ <span class="cstat-no" title="statement not covered" > )</span>
1384
+ <span class="cstat-no" title="statement not covered" > ).map(</span>
1385
+ <span class="cstat-no" title="statement not covered" > (key: string): DyFM_DataProperty_Params&lt;any, T&gt; =&gt; dataParams.properties[key] as DyFM_DataProperty_Params&lt;any, T&gt;</span>
1386
+ <span class="cstat-no" title="statement not covered" > );</span>
1387
+ <span class="cstat-no" title="statement not covered" > </span>
1388
+ <span class="cstat-no" title="statement not covered" > /* const vectorizePropertyKeys: string[] = Object.keys(dataParams.properties).filter(</span>
1389
+ <span class="cstat-no" title="statement not covered" > (key: string): boolean =&gt; (</span>
1390
+ <span class="cstat-no" title="statement not covered" > dataParams.properties[key] as DyFM_DataProperty_Params&lt;any&gt;</span>
1391
+ <span class="cstat-no" title="statement not covered" > ).vectorizedFrom &amp;&amp;</span>
1392
+ <span class="cstat-no" title="statement not covered" > (dataParams.properties[key] as DyFM_DataProperty_Params&lt;any&gt;).vectorizedFrom !== key</span>
1393
+ <span class="cstat-no" title="statement not covered" > ); */</span>
1394
+ <span class="cstat-no" title="statement not covered" ></span>
1395
+ <span class="cstat-no" title="statement not covered" > if (!openAISettings.config.apiKey) {</span>
1396
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1397
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings(</span>
1398
+ <span class="cstat-no" title="statement not covered" > 'constructor', </span>
1399
+ <span class="cstat-no" title="statement not covered" > new Error('openAISettings.config.apiKey is required')</span>
1400
+ <span class="cstat-no" title="statement not covered" > ),</span>
1401
+ <span class="cstat-no" title="statement not covered" > });</span>
1402
+ <span class="cstat-no" title="statement not covered" > }</span>
1403
+ <span class="cstat-no" title="statement not covered" ></span>
1404
+ <span class="cstat-no" title="statement not covered" > const model: DyFM_OAI_EmbeddingModel = openAISettings.defaultSettings.useModel as DyFM_OAI_EmbeddingModel ?? </span>
1405
+ <span class="cstat-no" title="statement not covered" > DyFM_OAI_Model.textEmbedding_3Large;</span>
1406
+ <span class="cstat-no" title="statement not covered" ></span>
1407
+ <span class="cstat-no" title="statement not covered" > /* if (</span>
1408
+ <span class="cstat-no" title="statement not covered" > !DyFM_allOpenAIEmbeddingModels.includes(model)</span>
1409
+ <span class="cstat-no" title="statement not covered" > ) {</span>
1410
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1411
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings(</span>
1412
+ <span class="cstat-no" title="statement not covered" > 'constructor', </span>
1413
+ <span class="cstat-no" title="statement not covered" > new Error(`useModel "${model}" is not an embedding model!`)</span>
1414
+ <span class="cstat-no" title="statement not covered" > ),</span>
1415
+ <span class="cstat-no" title="statement not covered" > });</span>
1416
+ <span class="cstat-no" title="statement not covered" > } */</span>
1417
+ <span class="cstat-no" title="statement not covered" ></span>
1418
+ <span class="cstat-no" title="statement not covered" > if (!this.vectorizedProperties.length) {</span>
1419
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
1420
+ <span class="cstat-no" title="statement not covered" > 'vectorizedProperties is missing! ' +</span>
1421
+ <span class="cstat-no" title="statement not covered" > `\nkeys with vectorizedFrom: ${Object.keys(dataParams.properties).filter(</span>
1422
+ <span class="cstat-no" title="statement not covered" > (key: string): boolean =&gt; Boolean(</span>
1423
+ <span class="cstat-no" title="statement not covered" > (dataParams.properties[key] as DyFM_DataProperty_Params&lt;any, T&gt;).vectorizedFrom</span>
1424
+ <span class="cstat-no" title="statement not covered" > )</span>
1425
+ <span class="cstat-no" title="statement not covered" > ).map(key =&gt; `"${key}"`).join(', ')}`</span>
1426
+ <span class="cstat-no" title="statement not covered" > );</span>
1427
+ <span class="cstat-no" title="statement not covered" > }</span>
1428
+ <span class="cstat-no" title="statement not covered" ></span>
1429
+ <span class="cstat-no" title="statement not covered" > if (!this.vectorizeProperties.length) {</span>
1430
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
1431
+ <span class="cstat-no" title="statement not covered" > 'vectorizeProperties is missing! ' +</span>
1432
+ <span class="cstat-no" title="statement not covered" > `\nkeys with vectorizeFrom: ${Object.keys(dataParams.properties).filter(</span>
1433
+ <span class="cstat-no" title="statement not covered" > (key: string): boolean =&gt; Boolean(</span>
1434
+ <span class="cstat-no" title="statement not covered" > (dataParams.properties[key] as DyFM_DataProperty_Params&lt;any, T&gt;).vectorizedFrom</span>
1435
+ <span class="cstat-no" title="statement not covered" > )</span>
1436
+ <span class="cstat-no" title="statement not covered" > ).map(key =&gt; `"${key}"`).join(', ')}`</span>
1437
+ <span class="cstat-no" title="statement not covered" > );</span>
1438
+ <span class="cstat-no" title="statement not covered" > } </span>
1439
+ <span class="cstat-no" title="statement not covered" ></span>
1440
+ <span class="cstat-no" title="statement not covered" > /* if (!vectorizePropertyKeys.length) {</span>
1441
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
1442
+ <span class="cstat-no" title="statement not covered" > 'vectorizedPropertyKeys is missing! ' +</span>
1443
+ <span class="cstat-no" title="statement not covered" > `\nkeys with vectorizeFrom: ${Object.keys(dataParams.properties).filter(</span>
1444
+ <span class="cstat-no" title="statement not covered" > (key: string): boolean =&gt; Boolean(</span>
1445
+ <span class="cstat-no" title="statement not covered" > (dataParams.properties[key] as DyFM_DataProperty_Params&lt;any&gt;).vectorizedFrom</span>
1446
+ <span class="cstat-no" title="statement not covered" > )</span>
1447
+ <span class="cstat-no" title="statement not covered" > ).map(key =&gt; `"${key}"`).join(', ')}`</span>
1448
+ <span class="cstat-no" title="statement not covered" > );</span>
1449
+ <span class="cstat-no" title="statement not covered" > } */</span>
1450
+ <span class="cstat-no" title="statement not covered" ></span>
1451
+ <span class="cstat-no" title="statement not covered" > /* vectorizePropertyKeys.forEach((key: string): void =&gt; {</span>
1452
+ <span class="cstat-no" title="statement not covered" > dataParams.properties[key].embeddingModel ??= model;</span>
1453
+ <span class="cstat-no" title="statement not covered" > }); */</span>
1454
+ <span class="cstat-no" title="statement not covered" ></span>
1455
+ <span class="cstat-no" title="statement not covered" > this.vectorizedProperties.forEach((property: DyFM_DataProperty_Params&lt;any, T&gt;): void =&gt; {</span>
1456
+ <span class="cstat-no" title="statement not covered" > property.embeddingModel ??= model;</span>
1457
+ <span class="cstat-no" title="statement not covered" > });</span>
1458
+ <span class="cstat-no" title="statement not covered" ></span>
1459
+ <span class="cstat-no" title="statement not covered" > /* this.vectorizeProperties = vectorizePropertyKeys.map(</span>
1460
+ <span class="cstat-no" title="statement not covered" > (key: string): DyFM_DataProperty_Params&lt;any&gt; =&gt; </span>
1461
+ <span class="cstat-no" title="statement not covered" > dataParams.properties[key] as DyFM_DataProperty_Params&lt;any&gt;</span>
1462
+ <span class="cstat-no" title="statement not covered" > ); */</span>
1463
+ <span class="cstat-no" title="statement not covered" > }</span>
1464
+ <span class="cstat-no" title="statement not covered" ></span>
1465
+ <span class="cstat-no" title="statement not covered" > /**</span>
1466
+ <span class="cstat-no" title="statement not covered" > * Vectorizes the properties of the data </span>
1467
+ <span class="cstat-no" title="statement not covered" > * IF they are not vectorized yet OR alwaysVectorize is true</span>
1468
+ <span class="cstat-no" title="statement not covered" > * (That are marked with vectorizeFrom if the specific property is not defined)</span>
1469
+ <span class="cstat-no" title="statement not covered" > * </span>
1470
+ <span class="cstat-no" title="statement not covered" > * @example</span>
1471
+ <span class="cstat-no" title="statement not covered" > * const data = await vectorizeDataProperties(data);</span>
1472
+ <span class="cstat-no" title="statement not covered" > * </span>
1473
+ <span class="cstat-no" title="statement not covered" > * @returns The vectorized data</span>
1474
+ <span class="cstat-no" title="statement not covered" > */</span>
1475
+ <span class="cstat-no" title="statement not covered" > async vectorizeDataProperties(newData?: T, forceVectorize?: boolean): Promise&lt;T&gt; {</span>
1476
+ <span class="cstat-no" title="statement not covered" > try {</span>
1477
+ <span class="cstat-no" title="statement not covered" > let existingData: T;</span>
1478
+ <span class="cstat-no" title="statement not covered" ></span>
1479
+ <span class="cstat-no" title="statement not covered" > if (!forceVectorize &amp;&amp; newData?._id) {</span>
1480
+ <span class="cstat-no" title="statement not covered" > existingData = await this.getDataById(newData._id, true, true);</span>
1481
+ <span class="cstat-no" title="statement not covered" > }</span>
1482
+ <span class="cstat-no" title="statement not covered" ></span>
1483
+ <span class="cstat-no" title="statement not covered" > await DyFM_Array.asyncForEachAllAtOnce(</span>
1484
+ <span class="cstat-no" title="statement not covered" > this.vectorizedProperties,</span>
1485
+ <span class="cstat-no" title="statement not covered" > async (property: DyFM_DataProperty_Params&lt;any, T&gt;) =&gt; {</span>
1486
+ <span class="cstat-no" title="statement not covered" > await this.checkAndVectorizeSingleProperty(property, newData, existingData, forceVectorize);</span>
1487
+ <span class="cstat-no" title="statement not covered" > }</span>
1488
+ <span class="cstat-no" title="statement not covered" > );</span>
1489
+ <span class="cstat-no" title="statement not covered" ></span>
1490
+ <span class="cstat-no" title="statement not covered" > return newData;</span>
1491
+ <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1492
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1493
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings('vectorizeDataProperties', error),</span>
1494
+ <span class="cstat-no" title="statement not covered" > });</span>
1495
+ <span class="cstat-no" title="statement not covered" > }</span>
1496
+ <span class="cstat-no" title="statement not covered" > }</span>
1497
+ <span class="cstat-no" title="statement not covered" ></span>
1498
+ <span class="cstat-no" title="statement not covered" > private async checkAndVectorizeSingleProperty(</span>
1499
+ <span class="cstat-no" title="statement not covered" > vectorizedProperty: DyFM_DataProperty_Params&lt;any, T&gt;,</span>
1500
+ <span class="cstat-no" title="statement not covered" > newData: T,</span>
1501
+ <span class="cstat-no" title="statement not covered" > existingData: T,</span>
1502
+ <span class="cstat-no" title="statement not covered" > forceVectorize?: boolean</span>
1503
+ <span class="cstat-no" title="statement not covered" > ): Promise&lt;void&gt; {</span>
1504
+ <span class="cstat-no" title="statement not covered" > const newValue: string = await this.getVectorizingDataForVectorizedProperty(</span>
1505
+ <span class="cstat-no" title="statement not covered" > vectorizedProperty,</span>
1506
+ <span class="cstat-no" title="statement not covered" > newData</span>
1507
+ <span class="cstat-no" title="statement not covered" > );</span>
1508
+ <span class="cstat-no" title="statement not covered" > const existingValue: string = await this.getVectorizingDataForVectorizedProperty(</span>
1509
+ <span class="cstat-no" title="statement not covered" > vectorizedProperty,</span>
1510
+ <span class="cstat-no" title="statement not covered" > existingData</span>
1511
+ <span class="cstat-no" title="statement not covered" > );</span>
1512
+ <span class="cstat-no" title="statement not covered" ></span>
1513
+ <span class="cstat-no" title="statement not covered" > const vectorizedFrom: string = vectorizedProperty.vectorizedFrom[0];</span>
1514
+ <span class="cstat-no" title="statement not covered" > const vectorizingPropertyHaveValue: boolean = Boolean(newData[vectorizedFrom]);</span>
1515
+ <span class="cstat-no" title="statement not covered" > const newDataIsNewChanged: boolean = </span>
1516
+ <span class="cstat-no" title="statement not covered" > (!existingValue &amp;&amp; vectorizingPropertyHaveValue) ||</span>
1517
+ <span class="cstat-no" title="statement not covered" > !DyFM_Object.sameObjects(existingValue, newValue);</span>
1518
+ <span class="cstat-no" title="statement not covered" ></span>
1519
+ <span class="cstat-no" title="statement not covered" > if (forceVectorize || (vectorizingPropertyHaveValue &amp;&amp; newDataIsNewChanged)) {</span>
1520
+ <span class="cstat-no" title="statement not covered" > if (!vectorizedProperty.embeddingModel) {</span>
1521
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1522
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings(</span>
1523
+ <span class="cstat-no" title="statement not covered" > 'vectorizeDataProperties', </span>
1524
+ <span class="cstat-no" title="statement not covered" > new Error(`Property "${vectorizedProperty.key}" has no embedding model!`)</span>
1525
+ <span class="cstat-no" title="statement not covered" > ),</span>
1526
+ <span class="cstat-no" title="statement not covered" ></span>
1527
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-VDB1`,</span>
1528
+ <span class="cstat-no" title="statement not covered" > __localStack: this.dataParams.stackLocation,</span>
1529
+ <span class="cstat-no" title="statement not covered" > });</span>
1530
+ <span class="cstat-no" title="statement not covered" > }</span>
1531
+ <span class="cstat-no" title="statement not covered" ></span>
1532
+ <span class="cstat-no" title="statement not covered" > if (this.debugLog) {</span>
1533
+ <span class="cstat-no" title="statement not covered" > DyFM_Log.log(</span>
1534
+ <span class="cstat-no" title="statement not covered" > `vectorizing "${vectorizedProperty.key}" in new "${this.dataParams.dataName}"` +</span>
1535
+ <span class="cstat-no" title="statement not covered" > (newData as any)?.name ? `: "${(newData as any)?.name}"` : ''</span>
1536
+ <span class="cstat-no" title="statement not covered" > );</span>
1537
+ <span class="cstat-no" title="statement not covered" > }</span>
1538
+ <span class="cstat-no" title="statement not covered" ></span>
1539
+ <span class="cstat-no" title="statement not covered" > newData[vectorizedProperty.key] = await this.vectorize(</span>
1540
+ <span class="cstat-no" title="statement not covered" > newValue,</span>
1541
+ <span class="cstat-no" title="statement not covered" > vectorizedProperty.embeddingModel</span>
1542
+ <span class="cstat-no" title="statement not covered" > );</span>
1543
+ <span class="cstat-no" title="statement not covered" > } else if (existingData?.[vectorizedProperty.key] &amp;&amp; !newData?.[vectorizedProperty.key]) {</span>
1544
+ <span class="cstat-no" title="statement not covered" > newData[vectorizedProperty.key] = existingData[vectorizedProperty.key];</span>
1545
+ <span class="cstat-no" title="statement not covered" > }</span>
1546
+ <span class="cstat-no" title="statement not covered" > }</span>
1547
+ <span class="cstat-no" title="statement not covered" ></span>
1548
+ <span class="cstat-no" title="statement not covered" > private async getVectorizingDataForVectorizedProperty(</span>
1549
+ <span class="cstat-no" title="statement not covered" > vectorizedProperty: DyFM_DataProperty_Params&lt;any, T&gt;,</span>
1550
+ <span class="cstat-no" title="statement not covered" > data: T,</span>
1551
+ <span class="cstat-no" title="statement not covered" > /* alwaysVectorize?: boolean */</span>
1552
+ <span class="cstat-no" title="statement not covered" > ): Promise&lt;string&gt; {</span>
1553
+ <span class="cstat-no" title="statement not covered" > if (vectorizedProperty.vectorizedFrom.length === 1) {</span>
1554
+ <span class="cstat-no" title="statement not covered" > const value: unknown = data?.[vectorizedProperty.vectorizedFrom[0]];</span>
1555
+ <span class="cstat-no" title="statement not covered" ></span>
1556
+ <span class="cstat-no" title="statement not covered" > if (value === undefined) {</span>
1557
+ <span class="cstat-no" title="statement not covered" > return undefined;</span>
1558
+ <span class="cstat-no" title="statement not covered" > } else if (typeof value === 'string') {</span>
1559
+ <span class="cstat-no" title="statement not covered" > return value;</span>
1560
+ <span class="cstat-no" title="statement not covered" > } else if (Array.isArray(value) || typeof value === 'object') {</span>
1561
+ <span class="cstat-no" title="statement not covered" > return JSON.stringify(value);</span>
1562
+ <span class="cstat-no" title="statement not covered" > } else {</span>
1563
+ <span class="cstat-no" title="statement not covered" > return `${value}`;</span>
1564
+ <span class="cstat-no" title="statement not covered" > }</span>
1565
+ <span class="cstat-no" title="statement not covered" > } else {</span>
1566
+ <span class="cstat-no" title="statement not covered" > const object: any = {};</span>
1567
+ <span class="cstat-no" title="statement not covered" ></span>
1568
+ <span class="cstat-no" title="statement not covered" > vectorizedProperty.vectorizedFrom.forEach((key: string): void =&gt; {</span>
1569
+ <span class="cstat-no" title="statement not covered" > if (data?.[key] !== undefined) {</span>
1570
+ <span class="cstat-no" title="statement not covered" > object[key] = data[key];</span>
1571
+ <span class="cstat-no" title="statement not covered" > }</span>
1572
+ <span class="cstat-no" title="statement not covered" > });</span>
1573
+ <span class="cstat-no" title="statement not covered" ></span>
1574
+ <span class="cstat-no" title="statement not covered" > return JSON.stringify(object);</span>
1575
+ <span class="cstat-no" title="statement not covered" > }</span>
1576
+ <span class="cstat-no" title="statement not covered" > }</span>
1577
+ <span class="cstat-no" title="statement not covered" ></span>
1578
+ <span class="cstat-no" title="statement not covered" > /**</span>
1579
+ <span class="cstat-no" title="statement not covered" > * Vectorizes the input</span>
1580
+ <span class="cstat-no" title="statement not covered" > * </span>
1581
+ <span class="cstat-no" title="statement not covered" > * @example</span>
1582
+ <span class="cstat-no" title="statement not covered" > * const vector = await vectorize(input);</span>
1583
+ <span class="cstat-no" title="statement not covered" > */</span>
1584
+ <span class="cstat-no" title="statement not covered" > async vectorize(</span>
1585
+ <span class="cstat-no" title="statement not covered" > input: string, </span>
1586
+ <span class="cstat-no" title="statement not covered" > useModel: DyFM_OAI_Model | string = this.openAISettings.defaultSettings.useModel</span>
1587
+ <span class="cstat-no" title="statement not covered" > ): Promise&lt;number[]&gt; {</span>
1588
+ <span class="cstat-no" title="statement not covered" > try {</span>
1589
+ <span class="cstat-no" title="statement not covered" > if (!input) {</span>
1590
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1591
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings('vectorize', new Error('input is required')),</span>
1592
+ <span class="cstat-no" title="statement not covered" ></span>
1593
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-V1`,</span>
1594
+ <span class="cstat-no" title="statement not covered" > });</span>
1595
+ <span class="cstat-no" title="statement not covered" > }</span>
1596
+ <span class="cstat-no" title="statement not covered" ></span>
1597
+ <span class="cstat-no" title="statement not covered" > this.embedding_CS ??= new DyNTS_OAI_Embedding_ControlService(</span>
1598
+ <span class="cstat-no" title="statement not covered" > this.openAISettings</span>
1599
+ <span class="cstat-no" title="statement not covered" > );</span>
1600
+ <span class="cstat-no" title="statement not covered" ></span>
1601
+ <span class="cstat-no" title="statement not covered" > return await this.embedding_CS.createEmbedding(</span>
1602
+ <span class="cstat-no" title="statement not covered" > input,</span>
1603
+ <span class="cstat-no" title="statement not covered" > useModel,</span>
1604
+ <span class="cstat-no" title="statement not covered" > this.issuer</span>
1605
+ <span class="cstat-no" title="statement not covered" > );</span>
1606
+ <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1607
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1608
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings('vectorize', error),</span>
1609
+ <span class="cstat-no" title="statement not covered" ></span>
1610
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-V0`,</span>
1611
+ <span class="cstat-no" title="statement not covered" > });</span>
1612
+ <span class="cstat-no" title="statement not covered" > }</span>
1613
+ <span class="cstat-no" title="statement not covered" > }</span>
1614
+ <span class="cstat-no" title="statement not covered" ></span>
1615
+ <span class="cstat-no" title="statement not covered" > /**</span>
1616
+ <span class="cstat-no" title="statement not covered" > * Vectorizes the input and searches for the most similar data</span>
1617
+ <span class="cstat-no" title="statement not covered" > * (the default limit is 3, and the default numberOfCandidates is 100)</span>
1618
+ <span class="cstat-no" title="statement not covered" > * </span>
1619
+ <span class="cstat-no" title="statement not covered" > * @example</span>
1620
+ <span class="cstat-no" title="statement not covered" > * const result = await vectorSearch(input, searchInKey);</span>
1621
+ <span class="cstat-no" title="statement not covered" > */</span>
1622
+ <span class="cstat-no" title="statement not covered" > async vectorSearch(</span>
1623
+ <span class="cstat-no" title="statement not covered" > set: {</span>
1624
+ <span class="cstat-no" title="statement not covered" > input: string, </span>
1625
+ <span class="cstat-no" title="statement not covered" > /** this should be the vectorized property key */</span>
1626
+ <span class="cstat-no" title="statement not covered" > searchInKey: string, </span>
1627
+ <span class="cstat-no" title="statement not covered" > limit?: number, </span>
1628
+ <span class="cstat-no" title="statement not covered" > /**</span>
1629
+ <span class="cstat-no" title="statement not covered" > * Number of candidates that are used to find the best match</span>
1630
+ <span class="cstat-no" title="statement not covered" > */</span>
1631
+ <span class="cstat-no" title="statement not covered" > numberOfCandidates?: number,</span>
1632
+ <span class="cstat-no" title="statement not covered" > filterBy?: DyFM_DBFilter&lt;T&gt;,</span>
1633
+ <span class="cstat-no" title="statement not covered" > },</span>
1634
+ <span class="cstat-no" title="statement not covered" > ): Promise&lt;any&gt; {</span>
1635
+ <span class="cstat-no" title="statement not covered" > try {</span>
1636
+ <span class="cstat-no" title="statement not covered" > if (!set.input) {</span>
1637
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1638
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings('vectorSearch', new Error('input is required')),</span>
1639
+ <span class="cstat-no" title="statement not covered" ></span>
1640
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-VS1`,</span>
1641
+ <span class="cstat-no" title="statement not covered" > });</span>
1642
+ <span class="cstat-no" title="statement not covered" > }</span>
1643
+ <span class="cstat-no" title="statement not covered" ></span>
1644
+ <span class="cstat-no" title="statement not covered" > set.limit ??= 3;</span>
1645
+ <span class="cstat-no" title="statement not covered" > set.numberOfCandidates ??= 100;</span>
1646
+ <span class="cstat-no" title="statement not covered" ></span>
1647
+ <span class="cstat-no" title="statement not covered" > const { input, searchInKey, limit, numberOfCandidates, filterBy } = set;</span>
1648
+ <span class="cstat-no" title="statement not covered" ></span>
1649
+ <span class="cstat-no" title="statement not covered" > this.embedding_CS ??= new DyNTS_OAI_Embedding_ControlService(</span>
1650
+ <span class="cstat-no" title="statement not covered" > this.openAISettings</span>
1651
+ <span class="cstat-no" title="statement not covered" > );</span>
1652
+ <span class="cstat-no" title="statement not covered" ></span>
1653
+ <span class="cstat-no" title="statement not covered" > const property: DyFM_DataProperty_Params&lt;any, T&gt; = this.dataParams.properties[searchInKey];</span>
1654
+ <span class="cstat-no" title="statement not covered" ></span>
1655
+ <span class="cstat-no" title="statement not covered" > if (!property) {</span>
1656
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1657
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings(</span>
1658
+ <span class="cstat-no" title="statement not covered" > 'vectorSearch', </span>
1659
+ <span class="cstat-no" title="statement not covered" > new Error(</span>
1660
+ <span class="cstat-no" title="statement not covered" > `Property "${searchInKey}" not found! ` +</span>
1661
+ <span class="cstat-no" title="statement not covered" > `while searching "${this.dataParams.dataName}" ` +</span>
1662
+ <span class="cstat-no" title="statement not covered" > `(The searchable properties are: ${this.vectorizedProperties.map(p =&gt; `"${p.key}"`).join(', ')})`</span>
1663
+ <span class="cstat-no" title="statement not covered" > )</span>
1664
+ <span class="cstat-no" title="statement not covered" > ),</span>
1665
+ <span class="cstat-no" title="statement not covered" ></span>
1666
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-VS2`,</span>
1667
+ <span class="cstat-no" title="statement not covered" > __localStack: this.dataParams.stackLocation,</span>
1668
+ <span class="cstat-no" title="statement not covered" > });</span>
1669
+ <span class="cstat-no" title="statement not covered" > }</span>
1670
+ <span class="cstat-no" title="statement not covered" ></span>
1671
+ <span class="cstat-no" title="statement not covered" > if (!property.vectorizeUseIndex) {</span>
1672
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1673
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings(</span>
1674
+ <span class="cstat-no" title="statement not covered" > 'vectorSearch', </span>
1675
+ <span class="cstat-no" title="statement not covered" > new Error(`Property "${searchInKey}" has no vectorizeUseIndex!`)</span>
1676
+ <span class="cstat-no" title="statement not covered" > ),</span>
1677
+ <span class="cstat-no" title="statement not covered" > });</span>
1678
+ <span class="cstat-no" title="statement not covered" > }</span>
1679
+ <span class="cstat-no" title="statement not covered" ></span>
1680
+ <span class="cstat-no" title="statement not covered" > const embeddedInput: number[] = await this.embedding_CS.createEmbedding(</span>
1681
+ <span class="cstat-no" title="statement not covered" > input,</span>
1682
+ <span class="cstat-no" title="statement not covered" > property.embeddingModel,</span>
1683
+ <span class="cstat-no" title="statement not covered" > this.issuer</span>
1684
+ <span class="cstat-no" title="statement not covered" > );</span>
1685
+ <span class="cstat-no" title="statement not covered" > /* const vectorSearchFilter = */</span>
1686
+ <span class="cstat-no" title="statement not covered" > const vectorSearchFilter: any = {</span>
1687
+ <span class="cstat-no" title="statement not covered" > $vectorSearch: {</span>
1688
+ <span class="cstat-no" title="statement not covered" > /** this is the index name that is created in the DB (in the Atlas)</span>
1689
+ <span class="cstat-no" title="statement not covered" > * also the same that is used in the {@link DyFM_DataProperty_Params} */</span>
1690
+ <span class="cstat-no" title="statement not covered" > index: property.vectorizeUseIndex,</span>
1691
+ <span class="cstat-no" title="statement not covered" > queryVector: embeddedInput,</span>
1692
+ <span class="cstat-no" title="statement not covered" > /** this is the property key that is vectorized and used to search */</span>
1693
+ <span class="cstat-no" title="statement not covered" > path: searchInKey,</span>
1694
+ <span class="cstat-no" title="statement not covered" > numCandidates: numberOfCandidates,</span>
1695
+ <span class="cstat-no" title="statement not covered" > limit: limit,</span>
1696
+ <span class="cstat-no" title="statement not covered" > }</span>
1697
+ <span class="cstat-no" title="statement not covered" > };</span>
1698
+ <span class="cstat-no" title="statement not covered" ></span>
1699
+ <span class="cstat-no" title="statement not covered" > if (filterBy) {</span>
1700
+ <span class="cstat-no" title="statement not covered" > vectorSearchFilter.filter = filterBy;</span>
1701
+ <span class="cstat-no" title="statement not covered" > }</span>
1702
+ <span class="cstat-no" title="statement not covered" ></span>
1703
+ <span class="cstat-no" title="statement not covered" > if (this.debugLog) {</span>
1704
+ <span class="cstat-no" title="statement not covered" > DyFM_Log.log(`vectorSearch...`);</span>
1705
+ <span class="cstat-no" title="statement not covered" > }</span>
1706
+ <span class="cstat-no" title="statement not covered" > </span>
1707
+ <span class="cstat-no" title="statement not covered" > const result = await this.dataDBService.aggregate([ vectorSearchFilter ]);</span>
1708
+ <span class="cstat-no" title="statement not covered" ></span>
1709
+ <span class="cstat-no" title="statement not covered" > if (this.debugLog) {</span>
1710
+ <span class="cstat-no" title="statement not covered" > DyFM_Log.log(`vectorSearch: ${result.length} results`);</span>
1711
+ <span class="cstat-no" title="statement not covered" > }</span>
1712
+ <span class="cstat-no" title="statement not covered" ></span>
1713
+ <span class="cstat-no" title="statement not covered" > return result;</span>
1714
+ <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1715
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1716
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings('vectorSearch', error),</span>
1717
+ <span class="cstat-no" title="statement not covered" ></span>
1718
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-VS0`,</span>
1719
+ <span class="cstat-no" title="statement not covered" > });</span>
1720
+ <span class="cstat-no" title="statement not covered" > }</span>
1721
+ <span class="cstat-no" title="statement not covered" > }</span>
1722
+ <span class="cstat-no" title="statement not covered" ></span>
1723
+ <span class="cstat-no" title="statement not covered" > /**</span>
1724
+ <span class="cstat-no" title="statement not covered" > * VectorDataService overrides the saveData function to vectorize the data properties</span>
1725
+ <span class="cstat-no" title="statement not covered" > * </span>
1726
+ <span class="cstat-no" title="statement not covered" > * {@link DyNTS_DataService.saveData}</span>
1727
+ <span class="cstat-no" title="statement not covered" > */</span>
1728
+ <span class="cstat-no" title="statement not covered" > override async saveData(</span>
1729
+ <span class="cstat-no" title="statement not covered" > data?: T, </span>
1730
+ <span class="cstat-no" title="statement not covered" > dontSetToService?: boolean, </span>
1731
+ <span class="cstat-no" title="statement not covered" > forceVectorize?: boolean</span>
1732
+ <span class="cstat-no" title="statement not covered" > ): Promise&lt;T&gt; {</span>
1733
+ <span class="cstat-no" title="statement not covered" > try {</span>
1734
+ <span class="cstat-no" title="statement not covered" > data = this.ensureData(data);</span>
1735
+ <span class="cstat-no" title="statement not covered" > </span>
1736
+ <span class="cstat-no" title="statement not covered" > data = await this.vectorizeDataProperties(data, forceVectorize);</span>
1737
+ <span class="cstat-no" title="statement not covered" > </span>
1738
+ <span class="cstat-no" title="statement not covered" > data = await super.saveData(data, dontSetToService);</span>
1739
+ <span class="cstat-no" title="statement not covered" ></span>
1740
+ <span class="cstat-no" title="statement not covered" > if (this.swallowVectorizedProperties) {</span>
1741
+ <span class="cstat-no" title="statement not covered" > this.vectorizedProperties.forEach((property: DyFM_DataProperty_Params&lt;any, T&gt;): void =&gt; {</span>
1742
+ <span class="cstat-no" title="statement not covered" > delete data[property.key];</span>
1743
+ <span class="cstat-no" title="statement not covered" > });</span>
1744
+ <span class="cstat-no" title="statement not covered" > }</span>
1745
+ <span class="cstat-no" title="statement not covered" ></span>
1746
+ <span class="cstat-no" title="statement not covered" > DyFM_Object.cleanObject(data);</span>
1747
+ <span class="cstat-no" title="statement not covered" ></span>
1748
+ <span class="cstat-no" title="statement not covered" > return data;</span>
1749
+ <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1750
+ <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
1751
+ <span class="cstat-no" title="statement not covered" > ...this.getDefaultErrorSettings(</span>
1752
+ <span class="cstat-no" title="statement not covered" > 'saveData',</span>
1753
+ <span class="cstat-no" title="statement not covered" > error</span>
1754
+ <span class="cstat-no" title="statement not covered" > ),</span>
1755
+ <span class="cstat-no" title="statement not covered" ></span>
1756
+ <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-VDB-SD0`,</span>
1757
+ <span class="cstat-no" title="statement not covered" > });</span>
1758
+ <span class="cstat-no" title="statement not covered" > }</span>
1759
+ <span class="cstat-no" title="statement not covered" > }</span>
1760
+ <span class="cstat-no" title="statement not covered" >}</span>
1761
+ <span class="cstat-no" title="statement not covered" ></span>
1762
+ <span class="cstat-no" title="statement not covered" ></span>
1763
+ <span class="cstat-no" title="statement not covered" ></span>
1764
+ <span class="cstat-no" title="statement not covered" ></span>
1765
+ <span class="cstat-no" title="statement not covered" >//import {</span>
1766
+ <span class="cstat-no" title="statement not covered" >// DyFM_DataModel_Params,</span>
1767
+ <span class="cstat-no" title="statement not covered" >// DyFM_DataProperty_Params,</span>
1768
+ <span class="cstat-no" title="statement not covered" >// DyFM_Metadata,</span>
1769
+ <span class="cstat-no" title="statement not covered" >//} from '@futdevpro/fsm-dynamo';</span>
1770
+ <span class="cstat-no" title="statement not covered" >//import { DyFM_OAI_Settings, DyFM_OAI_EmbeddingModel, DyFM_OAI_Model } from '@futdevpro/fsm-dynamo/ai/open-ai';</span>
1771
+ <span class="cstat-no" title="statement not covered" >//</span>
1772
+ <span class="cstat-no" title="statement not covered" >//import { DyNTS_DAI_VectorDataService } from '../../_modules/document-ai/_services/dai-vector-data.service-base';</span>
1773
+ <span class="cstat-no" title="statement not covered" >//import { DyNTS_OAI_Embedding_Service } from './oai-embedding.service';</span>
1774
+ <span class="cstat-no" title="statement not covered" >//import { DyNTS_global_settings } from '../../../../_collections/global-settings.const';</span>
1775
+ <span class="cstat-no" title="statement not covered" >//import { DyNTS_OAI_global_settings } from '../_collections/oai-global-settings.const';</span>
1776
+ <span class="cstat-no" title="statement not covered" >//</span>
1777
+ <span class="cstat-no" title="statement not covered" >///**</span>
1778
+ <span class="cstat-no" title="statement not covered" >// * OpenAI implementation of the generic Vector Data Service</span>
1779
+ <span class="cstat-no" title="statement not covered" >// * Extends the generic DAI VectorDataService with OpenAI-specific functionality</span>
1780
+ <span class="cstat-no" title="statement not covered" >// */</span>
1781
+ <span class="cstat-no" title="statement not covered" >//export class DyNTS_OAI_VectorDataService&lt;T extends DyFM_Metadata&gt; extends DyNTS_DAI_VectorDataService&lt;T&gt; {</span>
1782
+ <span class="cstat-no" title="statement not covered" >//</span>
1783
+ <span class="cstat-no" title="statement not covered" >// debugLog: boolean = true;</span>
1784
+ <span class="cstat-no" title="statement not covered" >// swallowVectorizedProperties: boolean = true;</span>
1785
+ <span class="cstat-no" title="statement not covered" >//</span>
1786
+ <span class="cstat-no" title="statement not covered" >// constructor(</span>
1787
+ <span class="cstat-no" title="statement not covered" >// /** Initial data */</span>
1788
+ <span class="cstat-no" title="statement not covered" >// data: T,</span>
1789
+ <span class="cstat-no" title="statement not covered" >// /** DB data params */</span>
1790
+ <span class="cstat-no" title="statement not covered" >// dataParams: DyFM_DataModel_Params&lt;T&gt;,</span>
1791
+ <span class="cstat-no" title="statement not covered" >// /** OpenAI settings */</span>
1792
+ <span class="cstat-no" title="statement not covered" >// public readonly openAISettings: DyFM_OAI_Settings,</span>
1793
+ <span class="cstat-no" title="statement not covered" >// /** Issuer */</span>
1794
+ <span class="cstat-no" title="statement not covered" >// issuer: string</span>
1795
+ <span class="cstat-no" title="statement not covered" >// ) {</span>
1796
+ <span class="cstat-no" title="statement not covered" >// // Create OpenAI embedding service</span>
1797
+ <span class="cstat-no" title="statement not covered" >// const embeddingService = new DyNTS_OAI_Embedding_Service(openAISettings);</span>
1798
+ <span class="cstat-no" title="statement not covered" >// </span>
1799
+ <span class="cstat-no" title="statement not covered" >// super(data, dataParams, embeddingService, issuer);</span>
1800
+ <span class="cstat-no" title="statement not covered" >//</span>
1801
+ <span class="cstat-no" title="statement not covered" >// if (!openAISettings.openAIConfig.apiKey) {</span>
1802
+ <span class="cstat-no" title="statement not covered" >// throw new Error('openAIConfig.apiKey is required');</span>
1803
+ <span class="cstat-no" title="statement not covered" >// }</span>
1804
+ <span class="cstat-no" title="statement not covered" >//</span>
1805
+ <span class="cstat-no" title="statement not covered" >// const model: DyFM_OAI_EmbeddingModel = openAISettings.defaultSettings.useModel as DyFM_OAI_EmbeddingModel ?? </span>
1806
+ <span class="cstat-no" title="statement not covered" >// DyFM_OAI_Model.textEmbedding_3Large;</span>
1807
+ <span class="cstat-no" title="statement not covered" >//</span>
1808
+ <span class="cstat-no" title="statement not covered" >// // Configure vectorized properties with OpenAI-specific settings</span>
1809
+ <span class="cstat-no" title="statement not covered" >// this.configureVectorizedProperties(model);</span>
1810
+ <span class="cstat-no" title="statement not covered" >// }</span>
1811
+ <span class="cstat-no" title="statement not covered" >//</span>
1812
+ <span class="cstat-no" title="statement not covered" >// /**</span>
1813
+ <span class="cstat-no" title="statement not covered" >// * Configure vectorized properties with OpenAI-specific settings</span>
1814
+ <span class="cstat-no" title="statement not covered" >// */</span>
1815
+ <span class="cstat-no" title="statement not covered" >// private configureVectorizedProperties(model: DyFM_OAI_EmbeddingModel): void {</span>
1816
+ <span class="cstat-no" title="statement not covered" >// // Update vectorized properties with OpenAI model info</span>
1817
+ <span class="cstat-no" title="statement not covered" >// this.vectorizedProperties.forEach(property =&gt; {</span>
1818
+ <span class="cstat-no" title="statement not covered" >// if (property.vectorizedFrom) {</span>
1819
+ <span class="cstat-no" title="statement not covered" >// // Set the embedding model for this property</span>
1820
+ <span class="cstat-no" title="statement not covered" >// (property as any).embeddingModel = model;</span>
1821
+ <span class="cstat-no" title="statement not covered" >// }</span>
1822
+ <span class="cstat-no" title="statement not covered" >// });</span>
1823
+ <span class="cstat-no" title="statement not covered" >// }</span>
1824
+ <span class="cstat-no" title="statement not covered" >//</span>
1825
+ <span class="cstat-no" title="statement not covered" >// /**</span>
1826
+ <span class="cstat-no" title="statement not covered" >// * Perform vector search with OpenAI-specific implementation</span>
1827
+ <span class="cstat-no" title="statement not covered" >// */</span>
1828
+ <span class="cstat-no" title="statement not covered" >// protected override async performVectorSearch(</span>
1829
+ <span class="cstat-no" title="statement not covered" >// query: string,</span>
1830
+ <span class="cstat-no" title="statement not covered" >// model: string,</span>
1831
+ <span class="cstat-no" title="statement not covered" >// issuer: string,</span>
1832
+ <span class="cstat-no" title="statement not covered" >// options: any</span>
1833
+ <span class="cstat-no" title="statement not covered" >// ): Promise&lt;T[]&gt; {</span>
1834
+ <span class="cstat-no" title="statement not covered" >// try {</span>
1835
+ <span class="cstat-no" title="statement not covered" >// // Create embedding for the query</span>
1836
+ <span class="cstat-no" title="statement not covered" >// const queryEmbedding = await this.embeddingService.createEmbedding(query, model, issuer);</span>
1837
+ <span class="cstat-no" title="statement not covered" >// </span>
1838
+ <span class="cstat-no" title="statement not covered" >// // Get all data</span>
1839
+ <span class="cstat-no" title="statement not covered" >// const allData = await this.getAllData();</span>
1840
+ <span class="cstat-no" title="statement not covered" >// </span>
1841
+ <span class="cstat-no" title="statement not covered" >// // Calculate similarities (simplified implementation)</span>
1842
+ <span class="cstat-no" title="statement not covered" >// const results = allData.map(item =&gt; {</span>
1843
+ <span class="cstat-no" title="statement not covered" >// const itemEmbedding = (item as any).chunkParentedContentVectorized;</span>
1844
+ <span class="cstat-no" title="statement not covered" >// if (!itemEmbedding) return { item, similarity: 0 };</span>
1845
+ <span class="cstat-no" title="statement not covered" >// </span>
1846
+ <span class="cstat-no" title="statement not covered" >// const similarity = this.calculateCosineSimilarity(queryEmbedding, itemEmbedding);</span>
1847
+ <span class="cstat-no" title="statement not covered" >// return { item, similarity };</span>
1848
+ <span class="cstat-no" title="statement not covered" >// })</span>
1849
+ <span class="cstat-no" title="statement not covered" >// .filter(result =&gt; result.similarity &gt;= (options.minSimilarity || 0))</span>
1850
+ <span class="cstat-no" title="statement not covered" >// .sort((a, b) =&gt; b.similarity - a.similarity)</span>
1851
+ <span class="cstat-no" title="statement not covered" >// .slice(0, options.limit || 10)</span>
1852
+ <span class="cstat-no" title="statement not covered" >// .map(result =&gt; result.item);</span>
1853
+ <span class="cstat-no" title="statement not covered" >//</span>
1854
+ <span class="cstat-no" title="statement not covered" >// return results;</span>
1855
+ <span class="cstat-no" title="statement not covered" >// } catch (error) {</span>
1856
+ <span class="cstat-no" title="statement not covered" >// throw new Error(`Vector search failed: ${error.message}`);</span>
1857
+ <span class="cstat-no" title="statement not covered" >// }</span>
1858
+ <span class="cstat-no" title="statement not covered" >// }</span>
1859
+ <span class="cstat-no" title="statement not covered" >//</span>
1860
+ <span class="cstat-no" title="statement not covered" >// /**</span>
1861
+ <span class="cstat-no" title="statement not covered" >// * Calculate cosine similarity between two vectors</span>
1862
+ <span class="cstat-no" title="statement not covered" >// */</span>
1863
+ <span class="cstat-no" title="statement not covered" >// private calculateCosineSimilarity(vecA: number[], vecB: number[]): number {</span>
1864
+ <span class="cstat-no" title="statement not covered" >// if (vecA.length !== vecB.length) return 0;</span>
1865
+ <span class="cstat-no" title="statement not covered" >// </span>
1866
+ <span class="cstat-no" title="statement not covered" >// let dotProduct = 0;</span>
1867
+ <span class="cstat-no" title="statement not covered" >// let normA = 0;</span>
1868
+ <span class="cstat-no" title="statement not covered" >// let normB = 0;</span>
1869
+ <span class="cstat-no" title="statement not covered" >// </span>
1870
+ <span class="cstat-no" title="statement not covered" >// for (let i = 0; i &lt; vecA.length; i++) {</span>
1871
+ <span class="cstat-no" title="statement not covered" >// dotProduct += vecA[i] * vecB[i];</span>
1872
+ <span class="cstat-no" title="statement not covered" >// normA += vecA[i] * vecA[i];</span>
1873
+ <span class="cstat-no" title="statement not covered" >// normB += vecB[i] * vecB[i];</span>
1874
+ <span class="cstat-no" title="statement not covered" >// }</span>
1875
+ <span class="cstat-no" title="statement not covered" >// </span>
1876
+ <span class="cstat-no" title="statement not covered" >// if (normA === 0 || normB === 0) return 0;</span>
1877
+ <span class="cstat-no" title="statement not covered" >// </span>
1878
+ <span class="cstat-no" title="statement not covered" >// return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));</span>
1879
+ <span class="cstat-no" title="statement not covered" >// }</span>
1880
+ <span class="cstat-no" title="statement not covered" >//</span>
1881
+ <span class="cstat-no" title="statement not covered" >// /**</span>
1882
+ <span class="cstat-no" title="statement not covered" >// * Get default error settings</span>
1883
+ <span class="cstat-no" title="statement not covered" >// */</span>
1884
+ <span class="cstat-no" title="statement not covered" >// protected getDefaultErrorSettings(</span>
1885
+ <span class="cstat-no" title="statement not covered" >// method: string,</span>
1886
+ <span class="cstat-no" title="statement not covered" >// error: any,</span>
1887
+ <span class="cstat-no" title="statement not covered" >// issuer?: string</span>
1888
+ <span class="cstat-no" title="statement not covered" >// ): any {</span>
1889
+ <span class="cstat-no" title="statement not covered" >// return {</span>
1890
+ <span class="cstat-no" title="statement not covered" >// method,</span>
1891
+ <span class="cstat-no" title="statement not covered" >// error,</span>
1892
+ <span class="cstat-no" title="statement not covered" >// issuer: issuer || this.issuer,</span>
1893
+ <span class="cstat-no" title="statement not covered" >// userMsg: this.defaultErrorUserMsg,</span>
1894
+ <span class="cstat-no" title="statement not covered" >// };</span>
1895
+ <span class="cstat-no" title="statement not covered" >// }</span>
1896
+ <span class="cstat-no" title="statement not covered" >//}</span></pre></td></tr></table></pre>
1897
+
1898
+ <div class='push'></div><!-- for sticky footer -->
1899
+ </div><!-- /wrapper -->
1900
+ <div class='footer quiet pad2 space-top1 center small'>
1901
+ Code coverage generated by
1902
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1903
+ at 2025-11-12T23:04:34.838Z
1904
+ </div>
1905
+ <script src="../../../../../../prettify.js"></script>
1906
+ <script>
1907
+ window.onload = function () {
1908
+ prettyPrint();
1909
+ };
1910
+ </script>
1911
+ <script src="../../../../../../sorter.js"></script>
1912
+ <script src="../../../../../../block-navigation.js"></script>
1913
+ </body>
1914
+ </html>
1915
+