@futdevpro/fsm-dynamo 1.15.18 → 1.15.21

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 (534) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -30
  2. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  3. package/.cursor/rules/_ag_backend.mdc +16 -16
  4. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  5. package/.cursor/rules/_ag_frontend.mdc +39 -39
  6. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  7. package/.cursor/rules/_ag_naming.mdc +115 -115
  8. package/.cursor/rules/_ag_should-be.mdc +6 -6
  9. package/.cursor/rules/ai_development_guide.md +60 -60
  10. package/.cursor/rules/cursor-rules.md +160 -160
  11. package/.cursor/rules/default-command.mdc +464 -464
  12. package/.cursor/rules/error_code_pattern.md +39 -39
  13. package/.cursor/rules/saved rule mcp server use.md +15 -15
  14. package/.dynamo/pipeline.cicd.config.json +128 -128
  15. package/.github/workflows/main.yml +433 -433
  16. package/.vscode/settings.json +11 -11
  17. package/LICENSE +21 -21
  18. package/__documentations/2026-06-01-dc-rev-fsm-results.json +17445 -0
  19. package/__documentations/2026-06-01-fr047-fc-foundation.md +48 -0
  20. package/__documentations/2026-06-01-fr047-fr048-code-review-findings.json +159 -0
  21. package/__documentations/2026-06-01-fr047-fr048-code-review.md +153 -0
  22. package/_review_tmp/r.json +17445 -0
  23. package/build/_enums/error-level.enum.d.ts +14 -1
  24. package/build/_enums/error-level.enum.d.ts.map +1 -1
  25. package/build/_enums/error-level.enum.js +13 -0
  26. package/build/_enums/error-level.enum.js.map +1 -1
  27. package/build/_models/data-models/errors.data-model.d.ts +51 -0
  28. package/build/_models/data-models/errors.data-model.d.ts.map +1 -1
  29. package/build/_models/data-models/errors.data-model.js +39 -0
  30. package/build/_models/data-models/errors.data-model.js.map +1 -1
  31. package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
  32. package/eslint.config.js +4 -4
  33. package/nodemon.json +22 -22
  34. package/package.json +11 -11
  35. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  36. package/scripts/crypto/README.md +113 -113
  37. package/scripts/crypto/demo-crypto-stability.js +120 -120
  38. package/scripts/crypto/stress-test-crypto.js +379 -379
  39. package/scripts/run-coverage-tests.js +24 -24
  40. package/spec/support/helpers/ts-node-helper.js +9 -9
  41. package/spec/support/jasmine.coverage.json +23 -23
  42. package/spec/support/jasmine.json +24 -24
  43. package/src/_collections/constants/data-sizes.const.ts +40 -40
  44. package/src/_collections/constants/error-defaults.const.ts +20 -20
  45. package/src/_collections/constants/global-settings.const.ts +24 -24
  46. package/src/_collections/constants/numbers.const.ts +40 -40
  47. package/src/_collections/constants/times.const.ts +45 -45
  48. package/src/_collections/utils/array.util.spec.ts +306 -306
  49. package/src/_collections/utils/array.util.ts +813 -813
  50. package/src/_collections/utils/async.util.spec.ts +354 -354
  51. package/src/_collections/utils/async.util.ts +197 -197
  52. package/src/_collections/utils/data.util.spec.ts +345 -345
  53. package/src/_collections/utils/data.util.ts +226 -226
  54. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  55. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  56. package/src/_collections/utils/log.util.spec.ts +975 -975
  57. package/src/_collections/utils/log.util.ts +665 -665
  58. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  59. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  60. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  61. package/src/_collections/utils/math/math.util.ts +141 -141
  62. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  63. package/src/_collections/utils/math/random.util.ts +139 -139
  64. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  65. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  66. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  67. package/src/_collections/utils/math/vector2.util.ts +653 -653
  68. package/src/_collections/utils/object.util.spec.ts +646 -646
  69. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  70. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  71. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  72. package/src/_collections/utils/regex/regex.util.ts +6 -6
  73. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  74. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  75. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  76. package/src/_collections/utils/round-list.util.ts +162 -162
  77. package/src/_collections/utils/stack.util.spec.ts +372 -372
  78. package/src/_collections/utils/stack.util.ts +164 -164
  79. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  80. package/src/_collections/utils/string-case.util.ts +362 -362
  81. package/src/_collections/utils/string.util.spec.ts +975 -975
  82. package/src/_collections/utils/string.util.ts +449 -449
  83. package/src/_collections/utils/time.util.spec.ts +50 -50
  84. package/src/_collections/utils/time.util.ts +481 -481
  85. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  86. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  87. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  88. package/src/_collections/utils/utilities.util.ts +68 -68
  89. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  90. package/src/_collections/utils/uuid.util.ts +50 -50
  91. package/src/_enums/basic-property-type.enum.ts +20 -20
  92. package/src/_enums/data-model-type.enum.ts +29 -29
  93. package/src/_enums/environment-flag.enum.ts +28 -28
  94. package/src/_enums/error-level.enum.ts +43 -28
  95. package/src/_enums/http/http-call-type.enum.ts +43 -43
  96. package/src/_enums/http/http-event-type.enum.ts +40 -40
  97. package/src/_enums/http/http-response-type.enum.ts +18 -18
  98. package/src/_enums/log-style.enum.ts +44 -44
  99. package/src/_enums/server-connection-status.enum.ts +6 -6
  100. package/src/_enums/time/day-of-week.enum.ts +55 -55
  101. package/src/_enums/time/month.enum.ts +25 -25
  102. package/src/_enums/time/relative-date.enum.ts +24 -24
  103. package/src/_models/control-models/data-model-params.control-model.spec.ts +85 -85
  104. package/src/_models/control-models/data-model-params.control-model.ts +300 -300
  105. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  106. package/src/_models/control-models/data-property-params.control-model.ts +201 -201
  107. package/src/_models/control-models/error.control-model.spec.ts +912 -912
  108. package/src/_models/control-models/error.control-model.ts +1215 -1215
  109. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  110. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  111. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  112. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  113. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  114. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  115. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  116. package/src/_models/control-models/poll.control-model.ts +151 -151
  117. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  118. package/src/_models/control-models/range-value.control-model.ts +289 -289
  119. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  120. package/src/_models/control-models/server-status.control-model.ts +85 -85
  121. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  122. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  123. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  124. package/src/_models/data-models/errors.data-model.ts +158 -91
  125. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  126. package/src/_models/data-models/metadata.data-model.ts +128 -128
  127. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  128. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  129. package/src/_models/interfaces/environment/global-settings.interface.ts +47 -47
  130. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  131. package/src/_models/interfaces/paged.interface.ts +12 -12
  132. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  133. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  134. package/src/_models/interfaces/search-query.interface.ts +23 -23
  135. package/src/_models/interfaces/search-result.interface.ts +5 -5
  136. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  137. package/src/_models/interfaces/vector2.interface.ts +20 -20
  138. package/src/_models/types/db-filter.type.ts +110 -110
  139. package/src/_models/types/db-sort.type.ts +4 -4
  140. package/src/_models/types/ds-filter.type.ts +68 -68
  141. package/src/_models/types/ds-sort.type.ts +21 -21
  142. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  143. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  144. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  145. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  146. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  147. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  148. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  149. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  150. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  151. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  152. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  153. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  154. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  155. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  156. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  157. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  158. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  159. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  160. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  161. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  162. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  163. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  164. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +81 -81
  165. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  166. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  167. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  168. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  169. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  170. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  171. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  172. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  173. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  174. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  175. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  176. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +34 -34
  177. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  178. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  179. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  180. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  181. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  182. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  183. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +99 -99
  184. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  185. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  186. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  187. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  188. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  189. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  190. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  191. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  192. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +53 -53
  193. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  194. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  195. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  196. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  197. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  198. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  199. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  200. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  201. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +252 -252
  202. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  203. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  204. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  205. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  206. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  207. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  208. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  209. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  210. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  211. package/src/_modules/ai/index.ts +27 -27
  212. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  213. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  214. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  215. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  216. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  217. package/src/_modules/ci-tools/index.ts +8 -8
  218. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  219. package/src/_modules/crypto/index.ts +13 -13
  220. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  221. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  222. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  223. package/src/_modules/custom-data/index.ts +10 -10
  224. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  225. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  226. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +445 -445
  227. package/src/_modules/data-handler/_models/data-handler.control-model.ts +459 -459
  228. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  229. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  230. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  231. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  232. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  233. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  234. package/src/_modules/data-handler/index.ts +6 -6
  235. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  236. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  237. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  238. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  239. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  240. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  241. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  242. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  243. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  244. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  245. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  246. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  247. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  248. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  249. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  250. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  251. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  252. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  253. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  254. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  255. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  256. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  257. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  258. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  259. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  260. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  261. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  262. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  263. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  264. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  265. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  266. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  267. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  268. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  269. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  270. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  271. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  272. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  273. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  274. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  275. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  276. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  277. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  278. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  279. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  280. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  281. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  282. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  283. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  284. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  285. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  286. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  287. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  288. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  289. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  290. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  291. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  292. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  293. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  294. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  295. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  296. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  297. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  298. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  299. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  300. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  301. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  302. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  303. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  304. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  305. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  306. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  307. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  308. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  309. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  310. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  311. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  312. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  313. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  314. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  315. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  316. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  317. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  318. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  319. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  320. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  321. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  322. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  323. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  324. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  325. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  326. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  327. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  328. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  329. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  330. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  331. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  332. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  333. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  334. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  335. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  336. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  337. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  338. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  339. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  340. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  341. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  342. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  343. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  344. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  345. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  346. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  347. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  348. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  349. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  350. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  351. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  352. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  353. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  354. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  355. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  356. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  357. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  358. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  359. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  360. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  361. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  362. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  363. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  364. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  365. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  366. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  367. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  368. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  369. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  370. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  371. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  372. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  373. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  374. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  375. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  376. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  377. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  378. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  379. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  380. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  381. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  382. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  383. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  384. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  385. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  386. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  387. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  388. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  389. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  390. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  391. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  392. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  393. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  394. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  395. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  396. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  397. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  398. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  399. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  400. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  401. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  402. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  403. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  404. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  405. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  406. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  407. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  408. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  409. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  410. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  411. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  412. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  413. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  414. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  415. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  416. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  417. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  418. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  419. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  420. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  421. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  422. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  423. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  424. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  425. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  426. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  427. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  428. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  429. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  430. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  431. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  432. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  433. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  434. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  435. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  436. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  437. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  438. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  439. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  440. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  441. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  442. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  443. package/src/_modules/location/_collections/loc.util.ts +74 -74
  444. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  445. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  446. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  447. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  448. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  449. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  450. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  451. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  452. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  453. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  454. package/src/_modules/location/index.ts +22 -22
  455. package/src/_modules/messaging/README.md +279 -279
  456. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  457. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  458. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  459. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  460. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  461. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  462. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  463. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  464. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  465. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  466. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  467. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  468. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  469. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  470. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  471. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  472. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  473. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  474. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  475. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  476. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  477. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  478. package/src/_modules/messaging/index.ts +28 -28
  479. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  480. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  481. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  482. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  483. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  484. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  485. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  486. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  487. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  488. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  489. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  490. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  491. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  492. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  493. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  494. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  495. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  496. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  497. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  498. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  499. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  500. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  501. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  502. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  503. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  504. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  505. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  506. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  507. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  508. package/src/_modules/pipe/index.ts +30 -30
  509. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  510. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  511. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  512. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +66 -66
  513. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +172 -172
  514. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  515. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  516. package/src/_modules/socket/index.ts +14 -14
  517. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  518. package/src/_modules/test/index.ts +5 -5
  519. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  520. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  521. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  522. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  523. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  524. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  525. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  526. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  527. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  528. package/src/_modules/usage/index.ts +11 -11
  529. package/src/index.ts +102 -102
  530. package/tsconfig.app.json +12 -12
  531. package/tsconfig.json +31 -31
  532. package/tsconfig.test.json +16 -16
  533. package/tslint.json +153 -153
  534. package/pipeline.cicd.config.json +0 -128
@@ -0,0 +1,48 @@
1
+ # FR-047 — function-calling foundation in dynamo-fsm (2026-06-01)
2
+
3
+ **Parent**: `__agent/feature-requests/FR-047-provider-agnostic-function-calling.md` (+ Phase 1) and `FR-048-per-model-agnostic-settings.md`
4
+ **Versions**: `01.15.17` (Phase 1 + registry), `01.15.18` (adultContent), `01.15.19` (export-bug fix)
5
+ **Scope**: `src/_modules/ai` (agnostic core + provider model submodules), `package.json` (exports)
6
+
7
+ ## What
8
+
9
+ The SDK-free agnostic AI core gained the full function-calling vocabulary + a per-model capability registry, plus a reserved per-model settings extension point. No execution logic here — that lives in dynamo-nts (Phase 2+).
10
+
11
+ ### 01.15.17 — Phase 1 vocabulary + registry foundation + FR-048 reservation
12
+ - Tool models: `DyFM_AI_Tool`, `DyFM_AI_ToolCall`, `DyFM_AI_ToolResult`, `DyFM_AI_ToolHandler`/`DyFM_AI_ToolHandlers`.
13
+ - `DyFM_AI_Message` + `DyFM_AI_LLM_Response` gained optional tool fields (`toolCalls`, `toolCallId`, `stopReason`); `DyFM_AI_MessageRole.tool` added.
14
+ - `DyFM_AI_ModelType` extended: `Image`, `Audio`.
15
+ - Per-model registry: `DyFM_AI_ModelInfo` + `DyFM_AI_ModelCapabilities` + the 5 provider const arrays (`DyFM_OAI_Models`, `DyFM_AAI_Models`, `DyFM_GAI_Models`, `DyFM_LAI_Models`, `DyFM_FdpAI_Models`) — verified 2026-06-01 against official provider docs.
16
+ - `DyFM_AI_ModelRegistry_Util` (`findModelInfo`, `modelSupportsTools`) — takes the registry array as a param so the agnostic core imports NO provider submodule (keeps it SDK-free).
17
+ - FR-048: `DyFM_AI_ModelSettingsSchema` reserved field on `DyFM_AI_ModelInfo` + thorough docs (per-model settings system; NOT implemented).
18
+
19
+ ### 01.15.18 — adultContent capability
20
+ - `DyFM_AI_ModelCapabilities.adultContent: boolean` — can the model generate adult / uncensored / NSFW content. For content-routing + age-gating (e.g. Adventor mature mode). All 21 registered models = `false` (mainstream cloud is content-filtered; local/FdpAI conservative / model-dependent).
21
+
22
+ ### 01.15.19 — subpath export-bug fix
23
+ - `package.json` `exports` + `typesVersions`: `./ai/google` and `./ai/local` pointed at non-existent `_modules/ai/_modules/google`/`local` folders; the real folders are `google-ai`/`local-ai`. Fixed the targets → `@futdevpro/fsm-dynamo/ai/google` and `./ai/local` now resolve. Unblocks dynamo-nts Phase 5 (Google).
24
+
25
+ ## Why
26
+
27
+ Function calling needed to live in the strategic provider-agnostic layer (not only the legacy OpenAI-specific `FDPNTS_GPT_ControlService`). dynamo-fsm owns the vendor-neutral vocabulary + the model registry; dynamo-nts owns the execution (agent-loop + per-provider translators). This commit set delivers the fsm half so nts can build against it.
28
+
29
+ ## Design notes
30
+
31
+ - All changes additive/non-breaking except the export-path fix (corrects a latent resolution bug) and the new required `adultContent` capability (all registry consts updated in the same release).
32
+ - Capability honesty: `functionCalling` (and `adultContent`) are per-model; unknown/local models default conservative (`false`) — never assume capability.
33
+ - Tool-handler runner semantics (never-throw, errors returned as strings to the model) are defined by the type + implemented in dynamo-nts.
34
+
35
+ ## Tests
36
+
37
+ `pnpm test` (build-base + jasmine): **1302 specs / 0 failures / 70 pending** across the releases. New: `ai-model-registry.util.spec.ts` (findModelInfo + modelSupportsTools, incl. unknown-id → false).
38
+
39
+ ## What's NOT here
40
+
41
+ - The agent-loop + provider translators (`requestWithTools`, `runToolLoop`, OpenAI/Anthropic/Gemini tool translators) — dynamo-nts (FR-047 Phase 2–5).
42
+ - The per-model settings reconciler — FR-048 (reserved only).
43
+
44
+ ## Cross-references
45
+
46
+ - `__agent/feature-requests/FR-047-*.md`, `FR-048-per-model-agnostic-settings.md`
47
+ - `documentations/guidelines/development/ai-per-model-settings.md`
48
+ - dynamo-nts Phase 2+3 (agent-loop + OpenAI translator) — implemented in parallel.
@@ -0,0 +1,159 @@
1
+ {
2
+ "review_date": "2026-06-01",
3
+ "scope": {
4
+ "repo": "NPM-packages/dynamo-fsm",
5
+ "branch": "master",
6
+ "range": "HEAD~3..HEAD + uncommitted",
7
+ "commits": [
8
+ "08e8859 feat(ai): FR-047 P1 provider-agnostic function-calling vocabulary + per-model registry; FR-048 settings-schema reservation",
9
+ "de1da9b feat(ai): add adultContent (uncensored/NSFW) per-model capability",
10
+ "6a4ce9c fix(ai): FR-047 P5 — correct ./ai/google + ./ai/local subpath export targets"
11
+ ],
12
+ "files_changed_src_only": 30,
13
+ "insertions": 940,
14
+ "deletions": 12
15
+ },
16
+ "tool": {
17
+ "skill": "code-review",
18
+ "effort": "high",
19
+ "finder_angles": 7,
20
+ "verifier_votes_per_candidate": 1,
21
+ "candidate_raw_count": 31,
22
+ "candidate_after_dedup": 17,
23
+ "candidates_confirmed": 12,
24
+ "candidates_plausible": 4,
25
+ "candidates_refuted": 1,
26
+ "output_cap": 10
27
+ },
28
+ "findings": [
29
+ {
30
+ "rank": 1,
31
+ "verdict": "CONFIRMED",
32
+ "severity": "correctness",
33
+ "file": "src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts",
34
+ "line": 19,
35
+ "summary": "gptImage_1 = 'gpt-image-1' enum-entry (commented as 'current') has no matching DyFM_OAI_Models registry entry",
36
+ "failure_scenario": "modelSupportsTools(DyFM_OAI_Models, DyFM_OAI_Model.gptImage_1) returns false via the `?? false` default; findModelInfo returns undefined — image generation routed via tools path silently skipped"
37
+ },
38
+ {
39
+ "rank": 2,
40
+ "verdict": "CONFIRMED",
41
+ "severity": "correctness",
42
+ "file": "src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts",
43
+ "line": 11,
44
+ "summary": "claude_3_5_sonnet_latest in enum but NOT in DyFM_AAI_Models registry (only 3 GA entries registered)",
45
+ "failure_scenario": "Default DyFM_AI_CallSettings using claude_3_5_sonnet_latest → modelSupportsTools returns false → tool-calling silently disabled on a still-live API model"
46
+ },
47
+ {
48
+ "rank": 3,
49
+ "verdict": "CONFIRMED",
50
+ "severity": "correctness",
51
+ "file": "src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts",
52
+ "line": 11,
53
+ "summary": "gemini_1_5_pro_latest (legacy) in enum but NOT in DyFM_GAI_Models registry",
54
+ "failure_scenario": "findModelInfo(DyFM_GAI_Models, gemini_1_5_pro_latest) returns undefined → callers assuming default model lookup always succeeds break on legacy code paths"
55
+ },
56
+ {
57
+ "rank": 4,
58
+ "verdict": "CONFIRMED",
59
+ "severity": "correctness",
60
+ "file": "src/_modules/ai/_collections/ai-model-registry.util.ts",
61
+ "line": 27,
62
+ "summary": "modelSupportsTools silently defaults to false for unknown/typo/deprecated model IDs — no warn or log",
63
+ "failure_scenario": "Consumer passes typo or live-but-unregistered model → returns false → tool routing silently dropped with no diagnostic; bug invisible until runtime tool-flow fails"
64
+ },
65
+ {
66
+ "rank": 5,
67
+ "verdict": "CONFIRMED",
68
+ "severity": "correctness",
69
+ "file": "src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts",
70
+ "line": 5,
71
+ "summary": "Legacy/retired model IDs mixed with active ones in same enum, distinguished only by code comments (applies to aai/gai/oai enums)",
72
+ "failure_scenario": "Consumer code uses an enum entry that looks valid (it's in the enum public API) but is registry-missing → silent miss; no enum-level segregation between 'active' and 'deprecated' tiers"
73
+ },
74
+ {
75
+ "rank": 6,
76
+ "verdict": "CONFIRMED",
77
+ "severity": "correctness",
78
+ "file": "src/_modules/ai/_models/ai-message.interface.ts",
79
+ "line": 6,
80
+ "summary": "DyFM_AI_Message.content is required (non-optional string); when role='assistant' + toolCalls populated, content is semantically empty per OpenAI/Anthropic/Gemini specs",
81
+ "failure_scenario": "Callers must hard-code `content: ''` workaround on every tool-call message; downstream validation may reject valid tool-request messages"
82
+ },
83
+ {
84
+ "rank": 7,
85
+ "verdict": "CONFIRMED",
86
+ "severity": "correctness",
87
+ "file": "src/_modules/ai/_models/ai-model-info.interface.ts",
88
+ "line": 37,
89
+ "summary": "settingsSchema?: DyFM_AI_ModelSettingsSchema reserved on every model but populated on ZERO of the 21 registry entries — ghost contract",
90
+ "failure_scenario": "Phase 2 reconciler reading settingsSchema sees undefined → treats as 'no constraints' instead of 'constraints not yet modeled'; silently accepts temperature/topP on Opus 4.7+ which hard-fails HTTP 400"
91
+ },
92
+ {
93
+ "rank": 8,
94
+ "verdict": "PLAUSIBLE",
95
+ "severity": "correctness",
96
+ "file": "src/_modules/ai/_models/ai-llm-response.interface.ts",
97
+ "line": 16,
98
+ "summary": "Both legacy finishReason and new stopReason fields present; no doc marks authoritative source",
99
+ "failure_scenario": "Provider translator populates only stopReason; legacy consumer checks finishReason === 'tool_use' → condition fails silently → tool flow not triggered"
100
+ },
101
+ {
102
+ "rank": 9,
103
+ "verdict": "PLAUSIBLE",
104
+ "severity": "altitude",
105
+ "file": "src/_modules/ai/_models/ai-tool.interface.ts",
106
+ "line": 1,
107
+ "summary": "New tool-vocab interfaces (DyFM_AI_Tool, ToolCall, ToolResult, ToolHandler) exported but ZERO callers in dynamo-fsm — abstraction unverified for FR-048",
108
+ "failure_scenario": "Shape may not fit all 5 providers (OpenAI type:'function' wrapper, Anthropic input_schema, Gemini functionDeclarations); mismatch discovered in Phase 2 forces API redesign mid-flight"
109
+ },
110
+ {
111
+ "rank": 10,
112
+ "verdict": "CONFIRMED",
113
+ "severity": "removed-behavior",
114
+ "file": "pipeline.cicd.config.json",
115
+ "line": 1,
116
+ "summary": "Uncommitted root-level pipeline.cicd.config.json deletion (-128 lines) — .dynamo/pipeline.cicd.config.json must fully cover before commit",
117
+ "failure_scenario": "Any external workflow / GitHub Actions / script with hardcoded './pipeline.cicd.config.json' reference 404s; the dmc migration covers the runner CI path but not stale external references"
118
+ }
119
+ ],
120
+ "dropped_below_cap": [
121
+ {
122
+ "file": "src/_modules/ai/index.ts",
123
+ "summary": "No meta-barrel aggregating the 5 provider model-registries → Phase 2 must hardcode 5 imports",
124
+ "severity": "altitude"
125
+ },
126
+ {
127
+ "file": "src/_modules/ai/_models/ai-model-capabilities.interface.ts",
128
+ "summary": "Capability matrix (9 fields) copy-pasted across 21 models in 5 const-files → N+1 edits required",
129
+ "severity": "reuse"
130
+ },
131
+ {
132
+ "file": "src/_modules/ai/_models/ai-model-capabilities.interface.ts:31",
133
+ "summary": "adultContent is a POLICY flag mixed into the FEATURE capability matrix — future policy flags scatter ad-hoc",
134
+ "severity": "altitude"
135
+ },
136
+ {
137
+ "file": "package.json",
138
+ "summary": "Naming inconsistency: anthropic (no hyphen) vs open-ai/google-ai/local-ai/fdp-ai → invites future export-path typos",
139
+ "severity": "altitude"
140
+ },
141
+ {
142
+ "file": "src/_modules/ai/_collections/ai-model-registry.util.ts:17",
143
+ "summary": "findModelInfo uses Array.find O(N) on every call; tool-routing + capability check = 2× O(N) per request",
144
+ "severity": "efficiency"
145
+ },
146
+ {
147
+ "file": "src/_modules/ai/_modules/{provider}/index.ts (×5)",
148
+ "summary": "Barrel exports *-models.const full registry → consumer wanting only enum bundles all const-tables (~519 lines, ~8-12 kB)",
149
+ "severity": "efficiency"
150
+ }
151
+ ],
152
+ "refuted": [
153
+ {
154
+ "candidate": "oai-models.const.ts:235 gptImage_2 missing maxOutputTokens",
155
+ "reason": "maxOutputTokens? is optional on DyFM_AI_ModelInfo (line 52); no type-level contract violation, no crash guarantee on undefined access"
156
+ }
157
+ ],
158
+ "structural_root_cause": "Top-10 findings #1-5 all symptoms of one structural mismatch: enum-entries and registry-entries are NOT in sync. Mitigation options: (A) move legacy entries to *-legacy.enum.ts, (B) add { strict: true } mode to modelSupportsTools, (C) build-time TS guard test verifying every enum-tag has a registry-entry. Any combination addresses #1-5 + #11 (meta-barrel) in a single follow-up commit."
159
+ }
@@ -0,0 +1,153 @@
1
+ # 2026-06-01 — Code Review: FR-047 + FR-048 (provider-agnostic AI vocabulary)
2
+
3
+ ## Summary
4
+
5
+ Code review futott a `dynamo-fsm` master branchen az utolsó 3 commit-ra (FR-047 + FR-048) + 1 uncommitted root pipeline-config deletion-re. Az effort-szint **high**: 7 finder angle × ≤6 candidate → 1-vote verify (recall-biased) → top-10 finding.
6
+
7
+ ### Scope
8
+
9
+ - **Range**: `HEAD~3..HEAD` (master, no upstream divergence)
10
+ - **Commits**:
11
+ - `08e8859` feat(ai): FR-047 P1 provider-agnostic function-calling vocabulary + per-model registry; FR-048 settings-schema reservation
12
+ - `de1da9b` feat(ai): add adultContent (uncensored/NSFW) per-model capability
13
+ - `6a4ce9c` fix(ai): FR-047 P5 — correct ./ai/google + ./ai/local subpath export targets
14
+ - **Uncommitted**: `pipeline.cicd.config.json` (root) -128 sor delete (dmc migracio takaritas)
15
+ - **Source-diff stat**: 30 fajl, 940 inserciol / 12 deletes (build/ artifact kizarva)
16
+
17
+ ### Tool
18
+
19
+ A `/code-review` skill (high effort), local execution. Phase 1 — 7 párhuzamos finder agent (Explore type):
20
+ - **3 correctness angle**: line-by-line scan, removed-behavior auditor, cross-file tracer
21
+ - **3 cleanup angle**: reuse, simplification, efficiency
22
+ - **1 altitude angle**: depth check
23
+
24
+ Phase 2 — 1-vote verifier batch agent (recall-biased), 17 candidate → 16 survivor (1 REFUTED).
25
+
26
+ ## Top-10 Finding (ranked most-severe first)
27
+
28
+ A teljes JSON output `__documentations/2026-06-01-fr047-fr048-code-review-findings.json`-ben. Itt a Hunglish summary:
29
+
30
+ ### 1. `gptImage_1` enum-entry registry-mentes (CONFIRMED)
31
+
32
+ **Fajl**: `src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts:19`
33
+
34
+ A `DyFM_OAI_Model.gptImage_1 = 'gpt-image-1'` enum-ben szerepel + komment szerint **"current"** (nem deprecated), de a `DyFM_OAI_Models` registry-ben NEM kap entry-t.
35
+
36
+ **Failure scenario**: `modelSupportsTools(DyFM_OAI_Models, DyFM_OAI_Model.gptImage_1)` → false (a util `?? false`-szal default-ol). `findModelInfo` undefined. Az image generation tools-on-keresztul rutalas silent-skip.
37
+
38
+ ### 2. `claude_3_5_sonnet_latest` enum + nincs registry (CONFIRMED)
39
+
40
+ **Fajl**: `src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts:11`
41
+
42
+ A `DyFM_AAI_Models` registry csak 3 GA entry-t tartalmaz; a deprecated `claude_3_5_sonnet_latest` az enum-ben van, registry-bol kimaradt.
43
+
44
+ **Failure scenario**: Default `DyFM_AI_CallSettings` ami a `claude_3_5_sonnet_latest`-et hasznalja → `modelSupportsTools` false → tool-calling silent-disable egy meg-mindig-elo API modelen.
45
+
46
+ ### 3. `gemini_1_5_pro_latest` enum + nincs registry (CONFIRMED)
47
+
48
+ **Fajl**: `src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts:11`
49
+
50
+ Ugyanaz a minta mint #2 — google oldalon.
51
+
52
+ ### 4. `modelSupportsTools` silent-false unknown-ID-ra (CONFIRMED)
53
+
54
+ **Fajl**: `src/_modules/ai/_collections/ai-model-registry.util.ts:27`
55
+
56
+ `Array.find()` → `?? false` minta. Tipo, deprecated, vagy live-but-unregistered model esten → `false` warn/log nelkul.
57
+
58
+ **Failure scenario**: Diagnozis nelkul lehetetlen kideriteni miert nem hivodik a tool-routing. Egy `{ strict: true }` mode vagy `DyFM_Log.warn` flegging hianyzik.
59
+
60
+ ### 5. Legacy + active enum-tagok keveredtek (CONFIRMED)
61
+
62
+ **Fajlok**: `aai/gai/oai-model.enum.ts`
63
+
64
+ Csak komment kulonbozteti meg az active es retired model-ID-kat. Az enum public API-jaban mindketto egyformanak latszik. A #1-3 ennek tuneti megnyilvanulasa.
65
+
66
+ **Tervezet fix**: `*-legacy.enum.ts` kulon fajl, vagy minden retired enum-tag mellé `@deprecated` JSDoc tag.
67
+
68
+ ### 6. `DyFM_AI_Message.content` required, de tool-calls esetn ures (CONFIRMED)
69
+
70
+ **Fajl**: `src/_modules/ai/_models/ai-message.interface.ts:6`
71
+
72
+ `content: string` (non-optional). Mikor `role='assistant'` + `toolCalls` populalva → a content semantically ures OpenAI/Anthropic/Gemini API-knal.
73
+
74
+ **Failure scenario**: Caller hard-coded `content: ''` workaround minden tool-call message-en; downstream "content empty" validator visszadobhatja a tool-request message-eket.
75
+
76
+ ### 7. `settingsSchema` ghost contract (CONFIRMED)
77
+
78
+ **Fajl**: `src/_modules/ai/_models/ai-model-info.interface.ts:37`
79
+
80
+ `settingsSchema?: DyFM_AI_ModelSettingsSchema` reserved minden modelen, de a 21 registry entry kozul EGYIK SEM populalja.
81
+
82
+ **Failure scenario**: Phase 2 (FR-048) reconciler reading `settingsSchema` undefined → "no constraints" semantikat olvas a "constraints not yet modeled" helyett → silent-accept `temperature` parameter Opus 4.7+ hivason → HTTP 400 hard-fail.
83
+
84
+ ### 8. `finishReason` vs `stopReason` dual-field (PLAUSIBLE)
85
+
86
+ **Fajl**: `src/_modules/ai/_models/ai-llm-response.interface.ts:16`
87
+
88
+ Mindketto optional. Legacy `finishReason` + new `stopReason`. Doc-mentes melyik az authoritative.
89
+
90
+ **Failure scenario**: Provider translator csak `stopReason`-t populalja → legacy consumer `finishReason === 'tool_use'`-t check-el → condition false → tool flow miss.
91
+
92
+ ### 9. Tool-vocab interfaces 0-caller (PLAUSIBLE)
93
+
94
+ **Fajl**: `src/_modules/ai/_models/ai-tool.interface.ts`
95
+
96
+ Uj `DyFM_AI_Tool`, `DyFM_AI_ToolCall`, `DyFM_AI_ToolResult`, `DyFM_AI_ToolHandler` exportalt **dynamo-fsm-bol**, de **ZERO caller** sajat-projekten belul. Az abstrakcio nem validalt.
97
+
98
+ **Failure scenario**: A shape lehet hogy nem fer ra a 5 provider mind-egyikere (OpenAI `type:'function'` wrapper, Anthropic `input_schema`, Gemini `functionDeclarations`). FR-048 mid-flight API redesign-kenyszer.
99
+
100
+ ### 10. Root pipeline.cicd.config.json -128 sor (CONFIRMED, uncommitted)
101
+
102
+ **Fajl**: `pipeline.cicd.config.json` (root, delete)
103
+
104
+ A `.dynamo/pipeline.cicd.config.json` fully fedi, DE barmely external workflow / GitHub Actions / script ami hardcoded `./pipeline.cicd.config.json` ref-fel → 404.
105
+
106
+ ## Levágott (cleanup-class — kovetkezo iteracio)
107
+
108
+ A skill rule: "Correctness bugs always outrank cleanup and altitude findings when the output cap forces a cut." Ezert a top-10 keret felett kihagyott 6 valid finding:
109
+
110
+ | # | Fajl | Issue |
111
+ |---|---|---|
112
+ | 11 | `src/_modules/ai/index.ts` | No meta-barrel a 5 provider model-registry-re; Phase 2 hardcodes 5 imports |
113
+ | 12 | `ai-model-capabilities.interface.ts` + 5 const-fajl | Capability matrix copy-paste 21 model × 9 mező — N+1 edit kotelezo |
114
+ | 13 | `ai-model-capabilities.interface.ts:31` | `adultContent` policy-flag feature-capabilities matrix-ban; jovobeli policy flags scatterolnek |
115
+ | 14 | `package.json` exports | Naming inconsistency: `anthropic` (no hyphen) vs `open-ai/google-ai/local-ai/fdp-ai` |
116
+ | 15 | `ai-model-registry.util.ts:17` | O(N) `Array.find` registry lookup vs O(1) Map |
117
+ | 16 | Provider `index.ts` (×5) | Tree-shake loss: barrel pulls all 5 const-tables (~519 lines) for single-provider consumer |
118
+
119
+ ## REFUTED (1 db)
120
+
121
+ | # | Fajl | Reason |
122
+ |---|---|---|
123
+ | - | `oai-models.const.ts:235` gptImage_2 missing maxOutputTokens | Verified: `maxOutputTokens?` optional a `DyFM_AI_ModelInfo` interface-en, no type-level contract violation, no crash |
124
+
125
+ ## Strukturalis tanulsag (kozos pattern a #1-5 mogott)
126
+
127
+ A top-10 elso 5 finding mind UGYANARRA a strukturalis hiba-mintara mutat: **az enum-tagok es a registry-entries nincsenek szinkronban**. Tervezet javitas:
128
+
129
+ **Opció A** (defensive): minden enum-entry-nek legyen registry-entry, deprecated-eket `*-legacy.enum.ts`-be kulonitsd el.
130
+
131
+ **Opció B** (strict-mode): `modelSupportsTools(models, id, { strict: true })` — unknown ID-ra throw vagy `DyFM_Log.warn`.
132
+
133
+ **Opció C** (build-time validation): TS guard-test ami compile-time verifikalja hogy minden enum-tag registry-entry-vel jar.
134
+
135
+ Mind a 3 megoldhato — a #1-5 + #11 (meta-barrel) kombo eseten egy follow-up commit lefedi.
136
+
137
+ ## Stat
138
+
139
+ | | |
140
+ |---|---|
141
+ | **Specs** | 1302 spec / 0 failure (TypeScript + jasmine) |
142
+ | **TS compile** | ✓ (0 error) |
143
+ | **Diff scope** | 30 src fajl / 940 ins / 12 del (build/ kizarva) |
144
+ | **Finder agents** | 7 (parallel) |
145
+ | **Verifier agents** | 1 (batch over 17 candidates) |
146
+ | **Output cap** | 10 finding (skill default) |
147
+ | **Time** | ~15 min full pipeline |
148
+
149
+ ## Reference
150
+
151
+ - Skill: `code-review` (high effort)
152
+ - Skill instrukciok: 3 correctness + 3 cleanup + 1 altitude angle × ≤6 candidates per angle; 1-vote verify per candidate; recall-biased PLAUSIBLE default; REFUTED only constructible from code
153
+ - Workflow: lokal jasmine `npx jasmine --config=spec/support/jasmine.json` → 1302/0