@futdevpro/fsm-dynamo 1.16.38 → 1.16.40

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 (707) hide show
  1. package/.c8rc.json +26 -26
  2. package/.cursor/rules/__assistant_guide.mdc +30 -30
  3. package/.cursor/rules/__main.mdc +64 -64
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_debug.mdc +7 -7
  7. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
  8. package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
  9. package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
  10. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  11. package/.cursor/rules/_ag_frontend.mdc +39 -39
  12. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  13. package/.cursor/rules/_ag_naming.mdc +115 -115
  14. package/.cursor/rules/_ag_running_commands.mdc +4 -4
  15. package/.cursor/rules/_ag_server-controller.mdc +5 -5
  16. package/.cursor/rules/_ag_should-be.mdc +6 -6
  17. package/.cursor/rules/_ag_swearing.mdc +47 -47
  18. package/.cursor/rules/ai_development_guide.md +60 -60
  19. package/.cursor/rules/ai_directives.md +114 -114
  20. package/.cursor/rules/cursor-rules.md +160 -160
  21. package/.cursor/rules/default-command.mdc +464 -464
  22. package/.cursor/rules/error_code_pattern.md +39 -39
  23. package/.cursor/rules/saved rule mcp server use.md +15 -15
  24. package/.dynamo/pipeline.cicd.config.json +157 -157
  25. package/.dynamo/version-bump.config.json +5 -5
  26. package/.github/workflows/main.yml +439 -439
  27. package/.husky/pre-commit +2 -2
  28. package/.vscode/settings.json +11 -11
  29. package/LICENSE +21 -21
  30. package/README.md +701 -693
  31. package/__documentations/2026-05-17-oai-compatible-providers-howto.md +282 -282
  32. package/__documentations/2026-06-01-fr047-fc-foundation.md +48 -48
  33. package/__documentations/2026-06-01-fr047-fr048-code-review.md +153 -153
  34. package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +75 -75
  35. package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +37 -37
  36. package/__documentations/2026-06-06-ngx-models-merge-completion.md +100 -100
  37. package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
  38. package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +75 -75
  39. package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +103 -103
  40. package/__documentations/plans/02-consumer-rollout.md +84 -84
  41. package/_specifications/BACKLOG.md +43 -43
  42. package/build/_modules/crypto/_models/artifact-signature.interface.d.ts +37 -0
  43. package/build/_modules/crypto/_models/artifact-signature.interface.d.ts.map +1 -0
  44. package/build/_modules/crypto/_models/artifact-signature.interface.js +3 -0
  45. package/build/_modules/crypto/_models/artifact-signature.interface.js.map +1 -0
  46. package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts +24 -0
  47. package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts.map +1 -0
  48. package/build/_modules/crypto/_services/artifact-signature.control-service.js +281 -0
  49. package/build/_modules/crypto/_services/artifact-signature.control-service.js.map +1 -0
  50. package/build/_modules/crypto/index.d.ts +2 -0
  51. package/build/_modules/crypto/index.d.ts.map +1 -1
  52. package/build/_modules/crypto/index.js +2 -0
  53. package/build/_modules/crypto/index.js.map +1 -1
  54. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts +4 -6
  55. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts.map +1 -1
  56. package/build/_modules/socket/_models/sck-socket-event.control-model.js +9 -7
  57. package/build/_modules/socket/_models/sck-socket-event.control-model.js.map +1 -1
  58. package/eslint.config.js +4 -4
  59. package/nodemon.json +22 -22
  60. package/package.json +306 -306
  61. package/pnpm-workspace.yaml +2 -2
  62. package/scripts/_capture-out/ai-error-capture.json +398 -398
  63. package/scripts/ai-error-capture.js +171 -171
  64. package/scripts/ai-model-registry-check.js +132 -132
  65. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  66. package/scripts/crypto/README.md +113 -113
  67. package/scripts/crypto/demo-crypto-stability.js +120 -120
  68. package/scripts/crypto/stress-test-crypto.js +379 -379
  69. package/scripts/run-coverage-tests.js +24 -24
  70. package/scripts/verify-build-completeness.js +62 -62
  71. package/spec/support/helpers/ts-node-helper.js +9 -9
  72. package/spec/support/jasmine.coverage.json +23 -23
  73. package/spec/support/jasmine.json +24 -24
  74. package/src/_collections/constants/data-sizes.const.ts +40 -40
  75. package/src/_collections/constants/error-defaults.const.ts +20 -20
  76. package/src/_collections/constants/global-settings.const.spec.ts +32 -32
  77. package/src/_collections/constants/global-settings.const.ts +29 -29
  78. package/src/_collections/constants/numbers.const.ts +40 -40
  79. package/src/_collections/constants/times.const.ts +45 -45
  80. package/src/_collections/utils/array.util.spec.ts +306 -306
  81. package/src/_collections/utils/array.util.ts +813 -813
  82. package/src/_collections/utils/async.util.spec.ts +398 -398
  83. package/src/_collections/utils/async.util.ts +208 -208
  84. package/src/_collections/utils/data.util.spec.ts +345 -345
  85. package/src/_collections/utils/data.util.ts +226 -226
  86. package/src/_collections/utils/extract-error-message.util.spec.ts +204 -204
  87. package/src/_collections/utils/extract-error-message.util.ts +223 -223
  88. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  89. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  90. package/src/_collections/utils/log.util.spec.ts +975 -975
  91. package/src/_collections/utils/log.util.ts +667 -667
  92. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  93. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  94. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  95. package/src/_collections/utils/math/math.util.ts +141 -141
  96. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  97. package/src/_collections/utils/math/random.util.ts +139 -139
  98. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  99. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  100. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  101. package/src/_collections/utils/math/vector2.util.ts +653 -653
  102. package/src/_collections/utils/object.util.spec.ts +646 -646
  103. package/src/_collections/utils/object.util.ts +739 -739
  104. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  105. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  106. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  107. package/src/_collections/utils/regex/regex.util.ts +6 -6
  108. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  109. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  110. package/src/_collections/utils/require-env.util.spec.ts +231 -231
  111. package/src/_collections/utils/require-env.util.ts +138 -138
  112. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  113. package/src/_collections/utils/round-list.util.ts +162 -162
  114. package/src/_collections/utils/secret-mask.util.spec.ts +66 -66
  115. package/src/_collections/utils/secret-mask.util.ts +262 -262
  116. package/src/_collections/utils/stack.util.spec.ts +372 -372
  117. package/src/_collections/utils/stack.util.ts +164 -164
  118. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  119. package/src/_collections/utils/string-case.util.ts +362 -362
  120. package/src/_collections/utils/string.util.spec.ts +975 -975
  121. package/src/_collections/utils/string.util.ts +449 -449
  122. package/src/_collections/utils/time.util.spec.ts +50 -50
  123. package/src/_collections/utils/time.util.ts +481 -481
  124. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  125. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  126. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  127. package/src/_collections/utils/utilities.util.ts +68 -68
  128. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  129. package/src/_collections/utils/uuid.util.ts +50 -50
  130. package/src/_enums/basic-property-type.enum.ts +20 -20
  131. package/src/_enums/data-model-type.enum.ts +29 -29
  132. package/src/_enums/environment-flag.enum.ts +28 -28
  133. package/src/_enums/error-level.enum.ts +43 -43
  134. package/src/_enums/error-status.enum.ts +30 -30
  135. package/src/_enums/http/http-call-type.enum.ts +43 -43
  136. package/src/_enums/http/http-event-type.enum.ts +40 -40
  137. package/src/_enums/http/http-response-type.enum.ts +18 -18
  138. package/src/_enums/log-style.enum.ts +44 -44
  139. package/src/_enums/server-connection-status.enum.ts +6 -6
  140. package/src/_enums/time/day-of-week.enum.ts +55 -55
  141. package/src/_enums/time/month.enum.ts +25 -25
  142. package/src/_enums/time/relative-date.enum.ts +24 -24
  143. package/src/_models/control-models/data-model-params.control-model.spec.ts +156 -156
  144. package/src/_models/control-models/data-model-params.control-model.ts +362 -362
  145. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  146. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  147. package/src/_models/control-models/error.control-model.spec.ts +975 -975
  148. package/src/_models/control-models/error.control-model.ts +1280 -1280
  149. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  150. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  151. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  152. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  153. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  154. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  155. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  156. package/src/_models/control-models/poll.control-model.ts +151 -151
  157. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  158. package/src/_models/control-models/range-value.control-model.ts +289 -289
  159. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  160. package/src/_models/control-models/server-status.control-model.ts +94 -94
  161. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  162. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  163. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  164. package/src/_models/data-models/errors.data-model.ts +200 -200
  165. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  166. package/src/_models/data-models/metadata.data-model.ts +153 -153
  167. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  168. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  169. package/src/_models/interfaces/environment/global-settings.interface.ts +69 -69
  170. package/src/_models/interfaces/error-defaults.interface.ts +18 -18
  171. package/src/_models/interfaces/paged.interface.ts +12 -12
  172. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  173. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  174. package/src/_models/interfaces/search-query.interface.ts +23 -23
  175. package/src/_models/interfaces/search-result.interface.ts +5 -5
  176. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  177. package/src/_models/interfaces/vector2.interface.ts +20 -20
  178. package/src/_models/types/db-filter.type.ts +110 -110
  179. package/src/_models/types/db-sort.type.ts +4 -4
  180. package/src/_models/types/ds-filter.type.ts +68 -68
  181. package/src/_models/types/ds-sort.type.ts +21 -21
  182. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  183. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  184. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  185. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  186. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  187. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  188. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  189. package/src/_modules/ai/_models/ai-config.interface.ts +14 -14
  190. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  191. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  192. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  193. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  194. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  195. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  196. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  197. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  198. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  199. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  200. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  201. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  202. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  203. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  204. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  205. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  206. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  207. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  208. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  209. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  210. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  211. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  212. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  213. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  214. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  215. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  216. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  217. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  218. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  219. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  220. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  221. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  222. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  223. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  224. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  225. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  226. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  227. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  228. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  229. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  230. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  231. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  232. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  233. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  234. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  235. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  236. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  237. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  238. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  239. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  240. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  241. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  242. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  243. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  244. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  245. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  246. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  247. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  248. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  249. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  250. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  251. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  252. package/src/_modules/ai/index.ts +27 -27
  253. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  254. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  255. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  256. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  257. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  258. package/src/_modules/ci-tools/index.ts +8 -8
  259. package/src/_modules/crypto/_collections/crypto-v1.util.ts +225 -225
  260. package/src/_modules/crypto/_collections/crypto-v2.util.ts +331 -331
  261. package/src/_modules/crypto/_collections/crypto-v4.util.ts +702 -702
  262. package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +51 -51
  263. package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +605 -605
  264. package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +642 -642
  265. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  266. package/src/_modules/crypto/_collections/crypto.util.ts +748 -748
  267. package/src/_modules/crypto/_models/artifact-signature.interface.ts +39 -0
  268. package/src/_modules/crypto/_services/artifact-signature.control-service.spec.ts +223 -0
  269. package/src/_modules/crypto/_services/artifact-signature.control-service.ts +395 -0
  270. package/src/_modules/crypto/index.ts +16 -14
  271. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  272. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  273. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  274. package/src/_modules/custom-data/index.ts +10 -10
  275. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  276. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  277. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  278. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  279. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  280. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  281. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  282. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  283. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  284. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  285. package/src/_modules/data-handler/index.ts +6 -6
  286. package/src/_modules/game/_collections/audio-mixer.util.spec.ts +198 -198
  287. package/src/_modules/game/_collections/audio-mixer.util.ts +143 -143
  288. package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -140
  289. package/src/_modules/game/_collections/audio-scale.util.ts +129 -129
  290. package/src/_modules/game/_enums/audio-channel.enum.ts +22 -22
  291. package/src/_modules/game/_models/audio-mixer-config.interface.ts +53 -53
  292. package/src/_modules/game/_models/audio-mixer-settings.interface.ts +38 -38
  293. package/src/_modules/game/_models/audio-mixer-state.interface.ts +36 -36
  294. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +376 -376
  295. package/src/_modules/game/_models/audio-mixer.control-model.ts +419 -419
  296. package/src/_modules/game/_models/audio-scale.interface.ts +21 -21
  297. package/src/_modules/game/_models/seeded-random-state.interface.ts +21 -21
  298. package/src/_modules/game/_models/seeded-random.control-model.spec.ts +290 -290
  299. package/src/_modules/game/_models/seeded-random.control-model.ts +311 -311
  300. package/src/_modules/game/index.ts +15 -15
  301. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  302. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  303. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  304. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  305. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  306. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  307. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  308. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  309. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  310. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  311. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  312. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  313. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  314. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  315. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  316. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  317. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  318. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  319. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  320. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  321. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  322. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  323. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  324. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  325. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  326. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  327. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  328. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  329. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  330. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  331. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  332. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  333. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  334. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  335. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  336. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  337. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  338. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  339. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  340. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  341. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  342. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  343. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  344. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  345. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  346. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  347. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  348. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  349. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  350. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  351. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  352. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  353. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  354. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  355. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  356. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  357. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  358. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  359. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  360. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  361. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  362. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  363. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  364. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  365. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  366. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  367. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  368. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  369. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  370. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  371. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  372. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  373. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  374. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  375. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  376. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  377. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  378. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  379. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  380. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  381. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  382. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  383. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  384. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  385. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  386. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  387. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  388. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  389. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  390. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  391. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  392. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  393. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  394. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  395. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  396. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  397. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  398. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  399. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  400. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  401. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  402. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  403. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  404. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  405. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  406. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  407. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  408. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  409. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  410. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  411. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  412. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  413. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  414. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  415. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  416. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  417. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  418. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  419. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  420. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  421. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  422. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  423. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  424. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  425. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  426. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  427. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  428. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  429. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  430. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  431. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  432. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  433. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  434. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  435. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  436. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  437. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  438. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  439. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  440. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  441. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  442. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  443. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  444. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  445. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  446. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  447. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  448. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  449. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  450. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  451. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  452. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  453. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  454. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  455. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  456. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  457. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  458. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  459. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  460. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  461. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  462. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  463. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  464. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  465. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  466. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  467. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  468. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  469. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  470. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  471. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  472. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  473. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  474. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  475. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  476. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  477. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  478. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  479. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  480. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  481. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  482. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  483. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  484. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  485. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  486. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  487. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  488. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  489. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  490. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  491. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  492. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  493. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  494. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  495. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  496. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  497. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  498. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  499. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  500. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  501. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  502. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  503. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  504. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  505. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  506. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  507. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  508. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  509. package/src/_modules/location/_collections/loc.util.ts +74 -74
  510. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  511. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  512. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  513. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  514. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  515. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  516. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  517. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  518. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  519. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  520. package/src/_modules/location/index.ts +22 -22
  521. package/src/_modules/messaging/README.md +279 -279
  522. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  523. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  524. package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +20 -20
  525. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  526. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  527. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  528. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  529. package/src/_modules/messaging/_enums/msg-status.enum.ts +26 -26
  530. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  531. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  532. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  533. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  534. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  535. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  536. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  537. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  538. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  539. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  540. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  541. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  542. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  543. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  544. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  545. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  546. package/src/_modules/messaging/index.ts +28 -28
  547. package/src/_modules/ngx-models/_collections/angular-placeholders.ts +34 -34
  548. package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +181 -181
  549. package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +74 -74
  550. package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +103 -103
  551. package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +16 -16
  552. package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +14 -14
  553. package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +16 -16
  554. package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +18 -18
  555. package/src/_modules/ngx-models/_enums/button-type.enum.ts +36 -36
  556. package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +8 -8
  557. package/src/_modules/ngx-models/_enums/container-type.enum.ts +11 -11
  558. package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +13 -13
  559. package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +13 -13
  560. package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +13 -13
  561. package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +14 -14
  562. package/src/_modules/ngx-models/_enums/field-type.enum.ts +52 -52
  563. package/src/_modules/ngx-models/_enums/file-type.enum.ts +12 -12
  564. package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +21 -21
  565. package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +5 -5
  566. package/src/_modules/ngx-models/_enums/form-access.enum.ts +9 -9
  567. package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +12 -12
  568. package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +9 -9
  569. package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +20 -20
  570. package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +15 -15
  571. package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +10 -10
  572. package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +13 -13
  573. package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +27 -27
  574. package/src/_modules/ngx-models/_enums/material-color.enum.ts +16 -16
  575. package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +16 -16
  576. package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +8 -8
  577. package/src/_modules/ngx-models/_enums/storage-type.enum.ts +15 -15
  578. package/src/_modules/ngx-models/_enums/validator-type.enum.ts +9 -9
  579. package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +14 -14
  580. package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +26 -26
  581. package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +20 -20
  582. package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +37 -37
  583. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +70 -70
  584. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +332 -332
  585. package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +28 -28
  586. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +90 -90
  587. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +134 -134
  588. package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +529 -529
  589. package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +52 -52
  590. package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +34 -34
  591. package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +86 -86
  592. package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +52 -52
  593. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +109 -109
  594. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +133 -133
  595. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +109 -109
  596. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +160 -160
  597. package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +25 -25
  598. package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +26 -26
  599. package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +42 -42
  600. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +35 -35
  601. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +35 -35
  602. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +85 -85
  603. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +42 -42
  604. package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +40 -40
  605. package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +179 -179
  606. package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +20 -20
  607. package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +27 -27
  608. package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +24 -24
  609. package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +35 -35
  610. package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +35 -35
  611. package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +46 -46
  612. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +37 -37
  613. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +45 -45
  614. package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +30 -30
  615. package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +22 -22
  616. package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +108 -108
  617. package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +52 -52
  618. package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +40 -40
  619. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +55 -55
  620. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +30 -30
  621. package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +45 -45
  622. package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +28 -28
  623. package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +111 -111
  624. package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +74 -74
  625. package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +42 -42
  626. package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +37 -37
  627. package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +74 -74
  628. package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +20 -20
  629. package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +67 -67
  630. package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +40 -40
  631. package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +18 -18
  632. package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +40 -40
  633. package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +19 -19
  634. package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +14 -14
  635. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +14 -14
  636. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +15 -15
  637. package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +18 -18
  638. package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +21 -21
  639. package/src/_modules/ngx-models/_utils/shared.service.spec.ts +7 -7
  640. package/src/_modules/ngx-models/_utils/shared.service.ts +541 -541
  641. package/src/_modules/ngx-models/index.ts +110 -110
  642. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  643. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  644. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  645. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  646. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  647. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  648. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  649. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  650. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  651. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  652. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  653. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  654. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  655. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  656. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  657. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  658. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  659. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  660. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  661. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  662. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  663. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  664. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  665. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  666. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  667. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  668. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  669. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  670. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  671. package/src/_modules/pipe/index.ts +30 -30
  672. package/src/_modules/security/_collections/stored-secret.util.spec.ts +81 -81
  673. package/src/_modules/security/_collections/stored-secret.util.ts +96 -96
  674. package/src/_modules/security/_models/stored-secret.control-model.ts +55 -55
  675. package/src/_modules/security/index.ts +9 -9
  676. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  677. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  678. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  679. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +89 -66
  680. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +185 -172
  681. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  682. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  683. package/src/_modules/socket/index.ts +14 -14
  684. package/src/_modules/state-machine/_models/state-machine-config.interface.ts +19 -19
  685. package/src/_modules/state-machine/_models/state-machine-event.interface.ts +25 -25
  686. package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +314 -314
  687. package/src/_modules/state-machine/_models/state-machine.control-model.ts +298 -298
  688. package/src/_modules/state-machine/_models/state-transition-result.interface.ts +53 -53
  689. package/src/_modules/state-machine/_models/state-transition.interface.ts +30 -30
  690. package/src/_modules/state-machine/index.ts +6 -6
  691. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  692. package/src/_modules/test/index.ts +5 -5
  693. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  694. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  695. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  696. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  697. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  698. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  699. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  700. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  701. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  702. package/src/_modules/usage/index.ts +11 -11
  703. package/src/index.ts +104 -104
  704. package/tsconfig.app.json +12 -12
  705. package/tsconfig.json +31 -31
  706. package/tsconfig.test.json +16 -16
  707. package/tslint.json +153 -153
@@ -1,282 +1,282 @@
1
- # 2026-05-17 — OpenAI-compatible providers (Hunglish how-to)
2
-
3
- **Spec:** `__agent/feature-requests/FR-005-oai-compat-provider-docs.md` (workspace root)
4
- **Scope:** docs-only, LOW priority. Nincs API-változás.
5
-
6
- ---
7
-
8
- ## Mire jó ez?
9
-
10
- A `DyFM_OAI_ClientOptions.baseURL` mező (`fsm-dynamo/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts:25`) lehetővé teszi **tetszőleges OpenAI-API-kompatibilis endpoint** használatát az `openai` npm SDK-n keresztül — anélkül, hogy a Dynamo OAI service-eket (`DyFM_OAI_Settings`, downstream `DyNTS_OAI_Embedding_ControlService` / `DyNTS_OAI_LLM_ServiceBase`) bármi módon kellene módosítani.
11
-
12
- Tipikus use-case-ek:
13
- - **Lokál fejlesztés**: `OPENAI_API_KEY` nélkül, lokál LLM-mel (LM Studio, Ollama)
14
- - **Self-hosted production**: vLLM / LocalAI klaszter saját infrán
15
- - **Cost-control**: nyílt-súlyú modellek (Llama, Mistral, Qwen) drága API helyett
16
-
17
- A `baseURL`-override `openai` SDK-natív feature — Dynamo csak átadja a config-ot (`oai-llm.service-base.ts:91-98`):
18
-
19
- ```typescript
20
- this.openai = new OpenAI(
21
- set?.config ?? {
22
- organization: DyNTS_global_settings.env_settings.openAi.organization,
23
- apiKey: DyNTS_global_settings.env_settings.openAi.apiKey,
24
- project: DyNTS_global_settings.env_settings.openAi.project,
25
- }
26
- );
27
- ```
28
-
29
- → ha a `set.config.baseURL` ki van töltve, az SDK arra megy. Minden más változatlan.
30
-
31
- ---
32
-
33
- ## Általános minta
34
-
35
- ```typescript
36
- import { DyFM_OAI_Settings, DyFM_OAI_CallSettings } from '@futdevpro/fsm-dynamo/ai/open-ai';
37
- import { DyNTS_OAI_LLM_ChatServiceBase } from '@futdevpro/dynamo-nts/ai/open-ai';
38
-
39
- const settings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
40
- config: {
41
- baseURL: 'http://<provider-host>:<port>/v1',
42
- apiKey: '<placeholder-or-real>',
43
- },
44
- defaultSettings: new DyFM_OAI_CallSettings({
45
- useModel: '<provider-specific-model-id>',
46
- }),
47
- });
48
-
49
- // Use with any Dynamo OAI service:
50
- class MyChat extends DyNTS_OAI_LLM_ChatServiceBase {}
51
- const chat: MyChat = new MyChat(settings);
52
- ```
53
-
54
- A kulcs: `config.baseURL` + `config.apiKey` + `defaultSettings.useModel`. A többi mező (organization, project) lokál provider-eknél figyelmen kívül marad.
55
-
56
- ---
57
-
58
- ## Provider-szekciók
59
-
60
- ### 1. LM Studio — desktop GUI lokál LLM-hez
61
-
62
- [LM Studio](https://lmstudio.ai) Mac/Windows/Linux desktop app, beépített OAI-compat szerverrel. Default port: `1234`.
63
-
64
- **Beállítás**:
65
- 1. LM Studio-ban betölteni egy modellt (pl. `nomic-embed-text-v1.5` embedding-hez, `llama-3.2-3b-instruct` chat-hez)
66
- 2. "Local Server" tab → "Start Server"
67
-
68
- **Code**:
69
- ```typescript
70
- const lmStudio: DyFM_OAI_Settings = new DyFM_OAI_Settings({
71
- config: {
72
- baseURL: 'http://localhost:1234/v1',
73
- apiKey: 'lm-studio', // tetszőleges placeholder — LM Studio ignorálja
74
- },
75
- defaultSettings: new DyFM_OAI_CallSettings({
76
- useModel: 'nomic-embed-text-v1.5', // ahogy a Local Server megjeleníti
77
- }),
78
- });
79
- ```
80
-
81
- **Tipikus jellemzők**:
82
- - ✅ GUI a modell-letöltéshez (HuggingFace integráció)
83
- - ✅ Streaming chat completion support
84
- - ⚠️ Embedding limit: a UI-n külön kell betölteni embedding modellt
85
- - ❌ Multi-tenant / production-flow nem támogatott
86
-
87
- ---
88
-
89
- ### 2. Ollama — CLI-driven lokál LLM (OAI-compat layer ≥ v0.1.14)
90
-
91
- [Ollama](https://ollama.com) parancssoros LLM-runner, OAI-compat layerrel. Default port: `11434`.
92
-
93
- **Beállítás**:
94
- ```bash
95
- ollama pull llama3.2:3b
96
- ollama pull nomic-embed-text
97
- ollama serve # vagy ha service-ként fut, már megy
98
- ```
99
-
100
- **Code**:
101
- ```typescript
102
- const ollama: DyFM_OAI_Settings = new DyFM_OAI_Settings({
103
- config: {
104
- baseURL: 'http://localhost:11434/v1',
105
- apiKey: 'ollama', // szintén placeholder — Ollama nem ellenőrzi
106
- },
107
- defaultSettings: new DyFM_OAI_CallSettings({
108
- useModel: 'nomic-embed-text',
109
- }),
110
- });
111
- ```
112
-
113
- **Tipikus jellemzők**:
114
- - ✅ Multi-modell support (`ollama pull <name>` → azonnal elérhető endpointon)
115
- - ✅ Embedding endpoint OAI-compat formában működik (v0.1.14+ óta)
116
- - ✅ Streaming chat completion OK
117
- - ⚠️ `function_call` / `tools` API csak részben támogatott a tool-aware modelleknél (Llama-3 family OK; small instruct modellek may not)
118
- - ⚠️ Context-window provider-szintű limit (általában 2048-8192 tokens default-tal — `OLLAMA_NUM_CTX` env-var)
119
-
120
- ---
121
-
122
- ### 3. vLLM — production-grade GPU inference server
123
-
124
- [vLLM](https://docs.vllm.ai) Python alapú, batched + PagedAttention GPU-inference. OAI-compatible REST endpoint beépítve. Default port: `8000`.
125
-
126
- **Beállítás**:
127
- ```bash
128
- pip install vllm
129
- python -m vllm.entrypoints.openai.api_server \
130
- --model meta-llama/Meta-Llama-3-8B-Instruct \
131
- --port 8000 \
132
- --api-key local-secret-token
133
- ```
134
-
135
- **Code**:
136
- ```typescript
137
- const vllm: DyFM_OAI_Settings = new DyFM_OAI_Settings({
138
- config: {
139
- baseURL: 'http://gpu-server:8000/v1',
140
- apiKey: process.env.VLLM_API_KEY ?? 'local-secret-token', // ha --api-key beállítva
141
- },
142
- defaultSettings: new DyFM_OAI_CallSettings({
143
- useModel: 'meta-llama/Meta-Llama-3-8B-Instruct', // a `--model` érték
144
- }),
145
- });
146
- ```
147
-
148
- **Tipikus jellemzők**:
149
- - ✅ Magas throughput (batched inference) — production scaling
150
- - ✅ Tool-calling support latest verziókban
151
- - ✅ Streaming OK
152
- - ⚠️ Egyszerre **egy** modell van memóriában (több modell = több instance)
153
- - ⚠️ Embedding endpoint NEM all modellnél — csak ha a model dedikált embedding (pl. `intfloat/e5-mistral-7b-instruct`)
154
- - ⚠️ GPU-szintű mem-management — OOM-ra dob, ha context-len túl nagy
155
-
156
- ---
157
-
158
- ### 4. LocalAI — REST-only multi-model platform
159
-
160
- [LocalAI](https://localai.io) Go-alapú, multi-backend (llama.cpp, whisper.cpp, stable-diffusion) REST szerver. OAI-compatible chat + embedding endpointokkal. Default port: `8080`.
161
-
162
- **Beállítás**:
163
- ```bash
164
- docker run -p 8080:8080 \
165
- -v $PWD/models:/build/models \
166
- localai/localai:latest
167
- ```
168
-
169
- Modellt vagy `models.yaml`-ban vagy runtime-on (`POST /models/apply`) lehet hozzáadni.
170
-
171
- **Code**:
172
- ```typescript
173
- const localai: DyFM_OAI_Settings = new DyFM_OAI_Settings({
174
- config: {
175
- baseURL: 'http://localai:8080/v1',
176
- apiKey: 'sk-local', // placeholder
177
- },
178
- defaultSettings: new DyFM_OAI_CallSettings({
179
- useModel: 'gpt-4', // LocalAI alias → konfigban mapped a tényleges modellre
180
- }),
181
- });
182
- ```
183
-
184
- **Tipikus jellemzők**:
185
- - ✅ Egyszerre több modell loadolva — modell-aliasok
186
- - ✅ Multi-backend (LLM + Whisper transcribe + image-gen ugyanazon szerverről)
187
- - ✅ Streaming OK
188
- - ⚠️ A modell-aliasok kézi konfig kérdése — a `useModel` ID-nek pontosan match-elnie kell a `models.yaml`-ban definiálttal
189
- - ⚠️ Lassabb felpörgés gpu-acceleration nélkül (CPU-fallback default)
190
-
191
- ---
192
-
193
- ## Embedding modellek — provider-specifikus
194
-
195
- Az embedding-modell nevének **pontos egyezést** kell mutatnia a provider által regisztrált name-mel. Példák:
196
-
197
- | Provider | Embedding model ID | Megjegyzés |
198
- |---|---|---|
199
- | OpenAI (cloud) | `text-embedding-3-small`, `text-embedding-3-large` | Default |
200
- | LM Studio | `nomic-embed-text-v1.5`, `BAAI/bge-large-en-v1.5` | A betöltött modell ID-jét a Local Server tab írja ki |
201
- | Ollama | `nomic-embed-text`, `mxbai-embed-large` | `ollama list` mutatja |
202
- | vLLM | `intfloat/e5-mistral-7b-instruct` | Csak ha az indítási `--model` embedding-képes |
203
- | LocalAI | `text-embedding-ada-002` (aliasként) | A `models.yaml`-ban definiált alias |
204
-
205
- A `DyNTS_OAI_Embedding_ControlService` API-szintjén nem érzékeli a különbséget — a `useModel` field határoz meg mindent.
206
-
207
- ---
208
-
209
- ## Caveats — amire figyelni kell
210
-
211
- ### Rate limits
212
- - **OpenAI**: tier-szintű, API-doc-ban
213
- - **LM Studio / Ollama / LocalAI**: nincs natív rate-limit — single-user dev tool
214
- - **vLLM**: konfigurálható (`--max-num-seqs` flag), default kvázi-unlimited
215
-
216
- ### Max tokens / context window
217
- A `DyFM_OAI_CallSettings.maxTokens` provider-szintű limit alá kell hogy essen, különben az SDK 400/422-t kap:
218
-
219
- | Provider | Default context-window | Override |
220
- |---|---|---|
221
- | OpenAI gpt-4o | 128K | API tier-függő |
222
- | LM Studio | a betöltött modell native context-je | UI slider |
223
- | Ollama | 2048 (legacy default!) → `num_ctx` paraméter | `OLLAMA_NUM_CTX` env-var vagy `Modelfile` `PARAMETER num_ctx` |
224
- | vLLM | a modell native context-je | `--max-model-len` flag |
225
- | LocalAI | `models.yaml` `context_size` field | per-model konfig |
226
-
227
- ### Error-handling különbségek
228
- - **OpenAI**: standard 400/401/403/429/500 + structured error body
229
- - **Lokál providerek**: gyakran **404 a modell-name-re** (ha rosszul ID-zed), **timeout** (modell-loadolás közben), **OOM** (vLLM)
230
- - **Ollama-specifikus**: ha a modell még nem `ollama pull`-olt, az endpoint csendben várakozik a pull-ig (lassú first-call)
231
- - **LocalAI**: model-name mismatch → 422-t dob OAI-szerű error-body-val
232
-
233
- ### Function-calling / tool-use
234
- - **OpenAI**: teljes function-calling support
235
- - **Ollama**: model-függő — Llama-3.1+ és Mistral tool-aware modellek igen, kicsi instruct modellek nem
236
- - **vLLM**: support latest (v0.6+), de chat-template-mappel paraméterezni kell
237
- - **LM Studio / LocalAI**: parciális, model-függő
238
-
239
- ### Streaming
240
- Mind a 4 provider támogat OAI-compat SSE streaming-et, **de**:
241
- - Ollama legacy verziók (< v0.1.20) `stream: false`-cal stabilabb
242
- - LocalAI streaming-rate alacsonyabb mint a token-emission
243
-
244
- ---
245
-
246
- ## Quick recipe — Dynamo-szintű váltás dev → cloud
247
-
248
- ```typescript
249
- const isDev: boolean = process.env.NODE_ENV === 'development';
250
-
251
- const aiSettings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
252
- config: isDev
253
- ? {
254
- baseURL: 'http://localhost:11434/v1', // Ollama
255
- apiKey: 'dev',
256
- }
257
- : {
258
- apiKey: process.env.OPENAI_API_KEY,
259
- organization: process.env.OPENAI_ORG_ID,
260
- },
261
- defaultSettings: new DyFM_OAI_CallSettings({
262
- useModel: isDev ? 'llama3.2:3b' : 'gpt-4o',
263
- }),
264
- });
265
- ```
266
-
267
- A Dynamo OAI service-ek mindkét beállítással ugyanúgy működnek.
268
-
269
- ---
270
-
271
- ## Hivatkozott source-fájlok
272
-
273
- | Fájl | Mit ad |
274
- |---|---|
275
- | `fsm-dynamo/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts` | `DyFM_OAI_ClientOptions.baseURL` mező |
276
- | `fsm-dynamo/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts` | `DyFM_OAI_Settings` wrapper |
277
- | `dynamo-nts/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts` | OpenAI SDK instantiation (config átadás) |
278
- | `dynamo-nts/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts` | Embedding endpoint usage |
279
-
280
- ## Backward compatibility
281
-
282
- A `baseURL` mező mindig is létezett az OpenAI SDK-ban — a Dynamo egyetlen változtatása ehhez a docs-ot tisztázza, nem feature.
1
+ # 2026-05-17 — OpenAI-compatible providers (Hunglish how-to)
2
+
3
+ **Spec:** `__agent/feature-requests/FR-005-oai-compat-provider-docs.md` (workspace root)
4
+ **Scope:** docs-only, LOW priority. Nincs API-változás.
5
+
6
+ ---
7
+
8
+ ## Mire jó ez?
9
+
10
+ A `DyFM_OAI_ClientOptions.baseURL` mező (`fsm-dynamo/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts:25`) lehetővé teszi **tetszőleges OpenAI-API-kompatibilis endpoint** használatát az `openai` npm SDK-n keresztül — anélkül, hogy a Dynamo OAI service-eket (`DyFM_OAI_Settings`, downstream `DyNTS_OAI_Embedding_ControlService` / `DyNTS_OAI_LLM_ServiceBase`) bármi módon kellene módosítani.
11
+
12
+ Tipikus use-case-ek:
13
+ - **Lokál fejlesztés**: `OPENAI_API_KEY` nélkül, lokál LLM-mel (LM Studio, Ollama)
14
+ - **Self-hosted production**: vLLM / LocalAI klaszter saját infrán
15
+ - **Cost-control**: nyílt-súlyú modellek (Llama, Mistral, Qwen) drága API helyett
16
+
17
+ A `baseURL`-override `openai` SDK-natív feature — Dynamo csak átadja a config-ot (`oai-llm.service-base.ts:91-98`):
18
+
19
+ ```typescript
20
+ this.openai = new OpenAI(
21
+ set?.config ?? {
22
+ organization: DyNTS_global_settings.env_settings.openAi.organization,
23
+ apiKey: DyNTS_global_settings.env_settings.openAi.apiKey,
24
+ project: DyNTS_global_settings.env_settings.openAi.project,
25
+ }
26
+ );
27
+ ```
28
+
29
+ → ha a `set.config.baseURL` ki van töltve, az SDK arra megy. Minden más változatlan.
30
+
31
+ ---
32
+
33
+ ## Általános minta
34
+
35
+ ```typescript
36
+ import { DyFM_OAI_Settings, DyFM_OAI_CallSettings } from '@futdevpro/fsm-dynamo/ai/open-ai';
37
+ import { DyNTS_OAI_LLM_ChatServiceBase } from '@futdevpro/dynamo-nts/ai/open-ai';
38
+
39
+ const settings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
40
+ config: {
41
+ baseURL: 'http://<provider-host>:<port>/v1',
42
+ apiKey: '<placeholder-or-real>',
43
+ },
44
+ defaultSettings: new DyFM_OAI_CallSettings({
45
+ useModel: '<provider-specific-model-id>',
46
+ }),
47
+ });
48
+
49
+ // Use with any Dynamo OAI service:
50
+ class MyChat extends DyNTS_OAI_LLM_ChatServiceBase {}
51
+ const chat: MyChat = new MyChat(settings);
52
+ ```
53
+
54
+ A kulcs: `config.baseURL` + `config.apiKey` + `defaultSettings.useModel`. A többi mező (organization, project) lokál provider-eknél figyelmen kívül marad.
55
+
56
+ ---
57
+
58
+ ## Provider-szekciók
59
+
60
+ ### 1. LM Studio — desktop GUI lokál LLM-hez
61
+
62
+ [LM Studio](https://lmstudio.ai) Mac/Windows/Linux desktop app, beépített OAI-compat szerverrel. Default port: `1234`.
63
+
64
+ **Beállítás**:
65
+ 1. LM Studio-ban betölteni egy modellt (pl. `nomic-embed-text-v1.5` embedding-hez, `llama-3.2-3b-instruct` chat-hez)
66
+ 2. "Local Server" tab → "Start Server"
67
+
68
+ **Code**:
69
+ ```typescript
70
+ const lmStudio: DyFM_OAI_Settings = new DyFM_OAI_Settings({
71
+ config: {
72
+ baseURL: 'http://localhost:1234/v1',
73
+ apiKey: 'lm-studio', // tetszőleges placeholder — LM Studio ignorálja
74
+ },
75
+ defaultSettings: new DyFM_OAI_CallSettings({
76
+ useModel: 'nomic-embed-text-v1.5', // ahogy a Local Server megjeleníti
77
+ }),
78
+ });
79
+ ```
80
+
81
+ **Tipikus jellemzők**:
82
+ - ✅ GUI a modell-letöltéshez (HuggingFace integráció)
83
+ - ✅ Streaming chat completion support
84
+ - ⚠️ Embedding limit: a UI-n külön kell betölteni embedding modellt
85
+ - ❌ Multi-tenant / production-flow nem támogatott
86
+
87
+ ---
88
+
89
+ ### 2. Ollama — CLI-driven lokál LLM (OAI-compat layer ≥ v0.1.14)
90
+
91
+ [Ollama](https://ollama.com) parancssoros LLM-runner, OAI-compat layerrel. Default port: `11434`.
92
+
93
+ **Beállítás**:
94
+ ```bash
95
+ ollama pull llama3.2:3b
96
+ ollama pull nomic-embed-text
97
+ ollama serve # vagy ha service-ként fut, már megy
98
+ ```
99
+
100
+ **Code**:
101
+ ```typescript
102
+ const ollama: DyFM_OAI_Settings = new DyFM_OAI_Settings({
103
+ config: {
104
+ baseURL: 'http://localhost:11434/v1',
105
+ apiKey: 'ollama', // szintén placeholder — Ollama nem ellenőrzi
106
+ },
107
+ defaultSettings: new DyFM_OAI_CallSettings({
108
+ useModel: 'nomic-embed-text',
109
+ }),
110
+ });
111
+ ```
112
+
113
+ **Tipikus jellemzők**:
114
+ - ✅ Multi-modell support (`ollama pull <name>` → azonnal elérhető endpointon)
115
+ - ✅ Embedding endpoint OAI-compat formában működik (v0.1.14+ óta)
116
+ - ✅ Streaming chat completion OK
117
+ - ⚠️ `function_call` / `tools` API csak részben támogatott a tool-aware modelleknél (Llama-3 family OK; small instruct modellek may not)
118
+ - ⚠️ Context-window provider-szintű limit (általában 2048-8192 tokens default-tal — `OLLAMA_NUM_CTX` env-var)
119
+
120
+ ---
121
+
122
+ ### 3. vLLM — production-grade GPU inference server
123
+
124
+ [vLLM](https://docs.vllm.ai) Python alapú, batched + PagedAttention GPU-inference. OAI-compatible REST endpoint beépítve. Default port: `8000`.
125
+
126
+ **Beállítás**:
127
+ ```bash
128
+ pip install vllm
129
+ python -m vllm.entrypoints.openai.api_server \
130
+ --model meta-llama/Meta-Llama-3-8B-Instruct \
131
+ --port 8000 \
132
+ --api-key local-secret-token
133
+ ```
134
+
135
+ **Code**:
136
+ ```typescript
137
+ const vllm: DyFM_OAI_Settings = new DyFM_OAI_Settings({
138
+ config: {
139
+ baseURL: 'http://gpu-server:8000/v1',
140
+ apiKey: process.env.VLLM_API_KEY ?? 'local-secret-token', // ha --api-key beállítva
141
+ },
142
+ defaultSettings: new DyFM_OAI_CallSettings({
143
+ useModel: 'meta-llama/Meta-Llama-3-8B-Instruct', // a `--model` érték
144
+ }),
145
+ });
146
+ ```
147
+
148
+ **Tipikus jellemzők**:
149
+ - ✅ Magas throughput (batched inference) — production scaling
150
+ - ✅ Tool-calling support latest verziókban
151
+ - ✅ Streaming OK
152
+ - ⚠️ Egyszerre **egy** modell van memóriában (több modell = több instance)
153
+ - ⚠️ Embedding endpoint NEM all modellnél — csak ha a model dedikált embedding (pl. `intfloat/e5-mistral-7b-instruct`)
154
+ - ⚠️ GPU-szintű mem-management — OOM-ra dob, ha context-len túl nagy
155
+
156
+ ---
157
+
158
+ ### 4. LocalAI — REST-only multi-model platform
159
+
160
+ [LocalAI](https://localai.io) Go-alapú, multi-backend (llama.cpp, whisper.cpp, stable-diffusion) REST szerver. OAI-compatible chat + embedding endpointokkal. Default port: `8080`.
161
+
162
+ **Beállítás**:
163
+ ```bash
164
+ docker run -p 8080:8080 \
165
+ -v $PWD/models:/build/models \
166
+ localai/localai:latest
167
+ ```
168
+
169
+ Modellt vagy `models.yaml`-ban vagy runtime-on (`POST /models/apply`) lehet hozzáadni.
170
+
171
+ **Code**:
172
+ ```typescript
173
+ const localai: DyFM_OAI_Settings = new DyFM_OAI_Settings({
174
+ config: {
175
+ baseURL: 'http://localai:8080/v1',
176
+ apiKey: 'sk-local', // placeholder
177
+ },
178
+ defaultSettings: new DyFM_OAI_CallSettings({
179
+ useModel: 'gpt-4', // LocalAI alias → konfigban mapped a tényleges modellre
180
+ }),
181
+ });
182
+ ```
183
+
184
+ **Tipikus jellemzők**:
185
+ - ✅ Egyszerre több modell loadolva — modell-aliasok
186
+ - ✅ Multi-backend (LLM + Whisper transcribe + image-gen ugyanazon szerverről)
187
+ - ✅ Streaming OK
188
+ - ⚠️ A modell-aliasok kézi konfig kérdése — a `useModel` ID-nek pontosan match-elnie kell a `models.yaml`-ban definiálttal
189
+ - ⚠️ Lassabb felpörgés gpu-acceleration nélkül (CPU-fallback default)
190
+
191
+ ---
192
+
193
+ ## Embedding modellek — provider-specifikus
194
+
195
+ Az embedding-modell nevének **pontos egyezést** kell mutatnia a provider által regisztrált name-mel. Példák:
196
+
197
+ | Provider | Embedding model ID | Megjegyzés |
198
+ |---|---|---|
199
+ | OpenAI (cloud) | `text-embedding-3-small`, `text-embedding-3-large` | Default |
200
+ | LM Studio | `nomic-embed-text-v1.5`, `BAAI/bge-large-en-v1.5` | A betöltött modell ID-jét a Local Server tab írja ki |
201
+ | Ollama | `nomic-embed-text`, `mxbai-embed-large` | `ollama list` mutatja |
202
+ | vLLM | `intfloat/e5-mistral-7b-instruct` | Csak ha az indítási `--model` embedding-képes |
203
+ | LocalAI | `text-embedding-ada-002` (aliasként) | A `models.yaml`-ban definiált alias |
204
+
205
+ A `DyNTS_OAI_Embedding_ControlService` API-szintjén nem érzékeli a különbséget — a `useModel` field határoz meg mindent.
206
+
207
+ ---
208
+
209
+ ## Caveats — amire figyelni kell
210
+
211
+ ### Rate limits
212
+ - **OpenAI**: tier-szintű, API-doc-ban
213
+ - **LM Studio / Ollama / LocalAI**: nincs natív rate-limit — single-user dev tool
214
+ - **vLLM**: konfigurálható (`--max-num-seqs` flag), default kvázi-unlimited
215
+
216
+ ### Max tokens / context window
217
+ A `DyFM_OAI_CallSettings.maxTokens` provider-szintű limit alá kell hogy essen, különben az SDK 400/422-t kap:
218
+
219
+ | Provider | Default context-window | Override |
220
+ |---|---|---|
221
+ | OpenAI gpt-4o | 128K | API tier-függő |
222
+ | LM Studio | a betöltött modell native context-je | UI slider |
223
+ | Ollama | 2048 (legacy default!) → `num_ctx` paraméter | `OLLAMA_NUM_CTX` env-var vagy `Modelfile` `PARAMETER num_ctx` |
224
+ | vLLM | a modell native context-je | `--max-model-len` flag |
225
+ | LocalAI | `models.yaml` `context_size` field | per-model konfig |
226
+
227
+ ### Error-handling különbségek
228
+ - **OpenAI**: standard 400/401/403/429/500 + structured error body
229
+ - **Lokál providerek**: gyakran **404 a modell-name-re** (ha rosszul ID-zed), **timeout** (modell-loadolás közben), **OOM** (vLLM)
230
+ - **Ollama-specifikus**: ha a modell még nem `ollama pull`-olt, az endpoint csendben várakozik a pull-ig (lassú first-call)
231
+ - **LocalAI**: model-name mismatch → 422-t dob OAI-szerű error-body-val
232
+
233
+ ### Function-calling / tool-use
234
+ - **OpenAI**: teljes function-calling support
235
+ - **Ollama**: model-függő — Llama-3.1+ és Mistral tool-aware modellek igen, kicsi instruct modellek nem
236
+ - **vLLM**: support latest (v0.6+), de chat-template-mappel paraméterezni kell
237
+ - **LM Studio / LocalAI**: parciális, model-függő
238
+
239
+ ### Streaming
240
+ Mind a 4 provider támogat OAI-compat SSE streaming-et, **de**:
241
+ - Ollama legacy verziók (< v0.1.20) `stream: false`-cal stabilabb
242
+ - LocalAI streaming-rate alacsonyabb mint a token-emission
243
+
244
+ ---
245
+
246
+ ## Quick recipe — Dynamo-szintű váltás dev → cloud
247
+
248
+ ```typescript
249
+ const isDev: boolean = process.env.NODE_ENV === 'development';
250
+
251
+ const aiSettings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
252
+ config: isDev
253
+ ? {
254
+ baseURL: 'http://localhost:11434/v1', // Ollama
255
+ apiKey: 'dev',
256
+ }
257
+ : {
258
+ apiKey: process.env.OPENAI_API_KEY,
259
+ organization: process.env.OPENAI_ORG_ID,
260
+ },
261
+ defaultSettings: new DyFM_OAI_CallSettings({
262
+ useModel: isDev ? 'llama3.2:3b' : 'gpt-4o',
263
+ }),
264
+ });
265
+ ```
266
+
267
+ A Dynamo OAI service-ek mindkét beállítással ugyanúgy működnek.
268
+
269
+ ---
270
+
271
+ ## Hivatkozott source-fájlok
272
+
273
+ | Fájl | Mit ad |
274
+ |---|---|
275
+ | `fsm-dynamo/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts` | `DyFM_OAI_ClientOptions.baseURL` mező |
276
+ | `fsm-dynamo/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts` | `DyFM_OAI_Settings` wrapper |
277
+ | `dynamo-nts/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts` | OpenAI SDK instantiation (config átadás) |
278
+ | `dynamo-nts/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts` | Embedding endpoint usage |
279
+
280
+ ## Backward compatibility
281
+
282
+ A `baseURL` mező mindig is létezett az OpenAI SDK-ban — a Dynamo egyetlen változtatása ehhez a docs-ot tisztázza, nem feature.