@futdevpro/fsm-dynamo 1.16.38 → 1.16.39

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 (1735) 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 +693 -693
  31. package/_specifications/BACKLOG.md +43 -43
  32. package/build/_collections/constants/data-sizes.const.d.ts +36 -36
  33. package/build/_collections/constants/data-sizes.const.js +40 -40
  34. package/build/_collections/constants/error-defaults.const.d.ts +10 -10
  35. package/build/_collections/constants/error-defaults.const.js +20 -20
  36. package/build/_collections/constants/global-settings.const.d.ts +10 -10
  37. package/build/_collections/constants/global-settings.const.spec.d.ts +2 -0
  38. package/build/_collections/constants/global-settings.const.spec.d.ts.map +1 -0
  39. package/build/_collections/constants/global-settings.const.spec.js +30 -0
  40. package/build/_collections/constants/global-settings.const.spec.js.map +1 -0
  41. package/build/_collections/constants/numbers.const.d.ts +36 -36
  42. package/build/_collections/constants/numbers.const.js +39 -39
  43. package/build/_collections/constants/times.const.d.ts +38 -38
  44. package/build/_collections/constants/times.const.js +41 -41
  45. package/build/_collections/utils/array.util.d.ts +388 -388
  46. package/build/_collections/utils/array.util.js +636 -636
  47. package/build/_collections/utils/array.util.spec.d.ts +2 -0
  48. package/build/_collections/utils/array.util.spec.d.ts.map +1 -0
  49. package/build/_collections/utils/array.util.spec.js +239 -0
  50. package/build/_collections/utils/array.util.spec.js.map +1 -0
  51. package/build/_collections/utils/async.util.d.ts +62 -62
  52. package/build/_collections/utils/async.util.js +187 -187
  53. package/build/_collections/utils/async.util.spec.d.ts +2 -0
  54. package/build/_collections/utils/async.util.spec.d.ts.map +1 -0
  55. package/build/_collections/utils/async.util.spec.js +332 -0
  56. package/build/_collections/utils/async.util.spec.js.map +1 -0
  57. package/build/_collections/utils/data.util.d.ts +59 -59
  58. package/build/_collections/utils/data.util.js +207 -207
  59. package/build/_collections/utils/data.util.spec.d.ts +2 -0
  60. package/build/_collections/utils/data.util.spec.d.ts.map +1 -0
  61. package/build/_collections/utils/data.util.spec.js +291 -0
  62. package/build/_collections/utils/data.util.spec.js.map +1 -0
  63. package/build/_collections/utils/extract-error-message.util.d.ts +70 -70
  64. package/build/_collections/utils/extract-error-message.util.js +185 -185
  65. package/build/_collections/utils/extract-error-message.util.spec.d.ts +2 -0
  66. package/build/_collections/utils/extract-error-message.util.spec.d.ts.map +1 -0
  67. package/build/_collections/utils/extract-error-message.util.spec.js +182 -0
  68. package/build/_collections/utils/extract-error-message.util.spec.js.map +1 -0
  69. package/build/_collections/utils/json-error-helper.util.d.ts +100 -100
  70. package/build/_collections/utils/json-error-helper.util.js +255 -255
  71. package/build/_collections/utils/json-error-helper.util.spec.d.ts +2 -0
  72. package/build/_collections/utils/json-error-helper.util.spec.d.ts.map +1 -0
  73. package/build/_collections/utils/json-error-helper.util.spec.js +433 -0
  74. package/build/_collections/utils/json-error-helper.util.spec.js.map +1 -0
  75. package/build/_collections/utils/log.util.d.ts +398 -398
  76. package/build/_collections/utils/log.util.js +559 -559
  77. package/build/_collections/utils/log.util.spec.d.ts +2 -0
  78. package/build/_collections/utils/log.util.spec.d.ts.map +1 -0
  79. package/build/_collections/utils/log.util.spec.js +633 -0
  80. package/build/_collections/utils/log.util.spec.js.map +1 -0
  81. package/build/_collections/utils/math/box-bounds.spec.d.ts +2 -0
  82. package/build/_collections/utils/math/box-bounds.spec.d.ts.map +1 -0
  83. package/build/_collections/utils/math/box-bounds.spec.js +57 -0
  84. package/build/_collections/utils/math/box-bounds.spec.js.map +1 -0
  85. package/build/_collections/utils/math/box-bounds.util.d.ts +113 -113
  86. package/build/_collections/utils/math/box-bounds.util.js +163 -163
  87. package/build/_collections/utils/math/math.util.d.ts +86 -86
  88. package/build/_collections/utils/math/math.util.js +127 -127
  89. package/build/_collections/utils/math/math.util.spec.d.ts +2 -0
  90. package/build/_collections/utils/math/math.util.spec.d.ts.map +1 -0
  91. package/build/_collections/utils/math/math.util.spec.js +80 -0
  92. package/build/_collections/utils/math/math.util.spec.js.map +1 -0
  93. package/build/_collections/utils/math/random.util.d.ts +60 -60
  94. package/build/_collections/utils/math/random.util.js +121 -121
  95. package/build/_collections/utils/math/random.util.spec.d.ts +2 -0
  96. package/build/_collections/utils/math/random.util.spec.d.ts.map +1 -0
  97. package/build/_collections/utils/math/random.util.spec.js +75 -0
  98. package/build/_collections/utils/math/random.util.spec.js.map +1 -0
  99. package/build/_collections/utils/math/trigonometry.util.d.ts +74 -74
  100. package/build/_collections/utils/math/trigonometry.util.js +93 -93
  101. package/build/_collections/utils/math/trigonometry.util.spec.d.ts +2 -0
  102. package/build/_collections/utils/math/trigonometry.util.spec.d.ts.map +1 -0
  103. package/build/_collections/utils/math/trigonometry.util.spec.js +49 -0
  104. package/build/_collections/utils/math/trigonometry.util.spec.js.map +1 -0
  105. package/build/_collections/utils/math/vector2.util.d.ts +445 -445
  106. package/build/_collections/utils/math/vector2.util.js +591 -591
  107. package/build/_collections/utils/math/vector2.util.spec.d.ts +2 -0
  108. package/build/_collections/utils/math/vector2.util.spec.d.ts.map +1 -0
  109. package/build/_collections/utils/math/vector2.util.spec.js +82 -0
  110. package/build/_collections/utils/math/vector2.util.spec.js.map +1 -0
  111. package/build/_collections/utils/object.util.d.ts +221 -221
  112. package/build/_collections/utils/object.util.js +595 -595
  113. package/build/_collections/utils/object.util.spec.d.ts +2 -0
  114. package/build/_collections/utils/object.util.spec.d.ts.map +1 -0
  115. package/build/_collections/utils/object.util.spec.js +506 -0
  116. package/build/_collections/utils/object.util.spec.js.map +1 -0
  117. package/build/_collections/utils/regex/password-regex.util.d.ts +14 -14
  118. package/build/_collections/utils/regex/password-regex.util.js +60 -60
  119. package/build/_collections/utils/regex/password-regex.util.spec.d.ts +2 -0
  120. package/build/_collections/utils/regex/password-regex.util.spec.d.ts.map +1 -0
  121. package/build/_collections/utils/regex/password-regex.util.spec.js +44 -0
  122. package/build/_collections/utils/regex/password-regex.util.spec.js.map +1 -0
  123. package/build/_collections/utils/regex/regex.util.d.ts +1 -1
  124. package/build/_collections/utils/regex/regex.util.js +4 -4
  125. package/build/_collections/utils/regex/regex.util.spec.d.ts +2 -0
  126. package/build/_collections/utils/regex/regex.util.spec.d.ts.map +1 -0
  127. package/build/_collections/utils/regex/regex.util.spec.js +40 -0
  128. package/build/_collections/utils/regex/regex.util.spec.js.map +1 -0
  129. package/build/_collections/utils/regex/username-regex.util.d.ts +1 -1
  130. package/build/_collections/utils/regex/username-regex.util.js +31 -31
  131. package/build/_collections/utils/regex/username-regex.util.spec.d.ts +2 -0
  132. package/build/_collections/utils/regex/username-regex.util.spec.d.ts.map +1 -0
  133. package/build/_collections/utils/regex/username-regex.util.spec.js +59 -0
  134. package/build/_collections/utils/regex/username-regex.util.spec.js.map +1 -0
  135. package/build/_collections/utils/require-env.util.d.ts +85 -85
  136. package/build/_collections/utils/require-env.util.js +93 -93
  137. package/build/_collections/utils/require-env.util.spec.d.ts +2 -0
  138. package/build/_collections/utils/require-env.util.spec.d.ts.map +1 -0
  139. package/build/_collections/utils/require-env.util.spec.js +214 -0
  140. package/build/_collections/utils/require-env.util.spec.js.map +1 -0
  141. package/build/_collections/utils/round-list.util.d.ts +81 -81
  142. package/build/_collections/utils/round-list.util.js +112 -112
  143. package/build/_collections/utils/round-list.util.spec.d.ts +2 -0
  144. package/build/_collections/utils/round-list.util.spec.d.ts.map +1 -0
  145. package/build/_collections/utils/round-list.util.spec.js +65 -0
  146. package/build/_collections/utils/round-list.util.spec.js.map +1 -0
  147. package/build/_collections/utils/secret-mask.util.d.ts +89 -89
  148. package/build/_collections/utils/secret-mask.util.js +222 -222
  149. package/build/_collections/utils/secret-mask.util.spec.d.ts +2 -0
  150. package/build/_collections/utils/secret-mask.util.spec.d.ts.map +1 -0
  151. package/build/_collections/utils/secret-mask.util.spec.js +57 -0
  152. package/build/_collections/utils/secret-mask.util.spec.js.map +1 -0
  153. package/build/_collections/utils/stack.util.d.ts +26 -26
  154. package/build/_collections/utils/stack.util.js +130 -130
  155. package/build/_collections/utils/stack.util.spec.d.ts +2 -0
  156. package/build/_collections/utils/stack.util.spec.d.ts.map +1 -0
  157. package/build/_collections/utils/stack.util.spec.js +290 -0
  158. package/build/_collections/utils/stack.util.spec.js.map +1 -0
  159. package/build/_collections/utils/string-case.util.d.ts +135 -135
  160. package/build/_collections/utils/string-case.util.js +336 -336
  161. package/build/_collections/utils/string-case.util.spec.d.ts +2 -0
  162. package/build/_collections/utils/string-case.util.spec.d.ts.map +1 -0
  163. package/build/_collections/utils/string-case.util.spec.js +360 -0
  164. package/build/_collections/utils/string-case.util.spec.js.map +1 -0
  165. package/build/_collections/utils/string.util.d.ts +148 -148
  166. package/build/_collections/utils/string.util.js +370 -370
  167. package/build/_collections/utils/string.util.spec.d.ts +2 -0
  168. package/build/_collections/utils/string.util.spec.d.ts.map +1 -0
  169. package/build/_collections/utils/string.util.spec.js +860 -0
  170. package/build/_collections/utils/string.util.spec.js.map +1 -0
  171. package/build/_collections/utils/time.util.d.ts +267 -267
  172. package/build/_collections/utils/time.util.js +435 -435
  173. package/build/_collections/utils/time.util.spec.d.ts +2 -0
  174. package/build/_collections/utils/time.util.spec.d.ts.map +1 -0
  175. package/build/_collections/utils/time.util.spec.js +38 -0
  176. package/build/_collections/utils/time.util.spec.js.map +1 -0
  177. package/build/_collections/utils/type-cloning-facility.util.d.ts +50 -50
  178. package/build/_collections/utils/type-cloning-facility.util.js +126 -126
  179. package/build/_collections/utils/type-cloning-facility.util.spec.d.ts +2 -0
  180. package/build/_collections/utils/type-cloning-facility.util.spec.d.ts.map +1 -0
  181. package/build/_collections/utils/type-cloning-facility.util.spec.js +41 -0
  182. package/build/_collections/utils/type-cloning-facility.util.spec.js.map +1 -0
  183. package/build/_collections/utils/utilities.util.d.ts +25 -25
  184. package/build/_collections/utils/utilities.util.js +65 -65
  185. package/build/_collections/utils/utilities.util.spec.d.ts +2 -0
  186. package/build/_collections/utils/utilities.util.spec.d.ts.map +1 -0
  187. package/build/_collections/utils/utilities.util.spec.js +170 -0
  188. package/build/_collections/utils/utilities.util.spec.js.map +1 -0
  189. package/build/_collections/utils/uuid.util.d.ts +14 -14
  190. package/build/_collections/utils/uuid.util.js +38 -38
  191. package/build/_collections/utils/uuid.util.spec.d.ts +2 -0
  192. package/build/_collections/utils/uuid.util.spec.d.ts.map +1 -0
  193. package/build/_collections/utils/uuid.util.spec.js +29 -0
  194. package/build/_collections/utils/uuid.util.spec.js.map +1 -0
  195. package/build/_enums/basic-property-type.enum.d.ts +17 -17
  196. package/build/_enums/basic-property-type.enum.js +21 -21
  197. package/build/_enums/data-model-type.enum.d.ts +23 -23
  198. package/build/_enums/data-model-type.enum.js +27 -27
  199. package/build/_enums/environment-flag.enum.d.ts +25 -25
  200. package/build/_enums/environment-flag.enum.js +29 -29
  201. package/build/_enums/error-level.enum.d.ts +34 -34
  202. package/build/_enums/error-level.enum.js +38 -38
  203. package/build/_enums/error-status.enum.d.ts +27 -27
  204. package/build/_enums/error-status.enum.js +31 -31
  205. package/build/_enums/http/http-call-type.enum.d.ts +40 -40
  206. package/build/_enums/http/http-call-type.enum.js +45 -45
  207. package/build/_enums/http/http-event-type.enum.d.ts +38 -38
  208. package/build/_enums/http/http-event-type.enum.js +42 -42
  209. package/build/_enums/http/http-response-type.enum.d.ts +17 -17
  210. package/build/_enums/http/http-response-type.enum.js +21 -21
  211. package/build/_enums/log-style.enum.d.ts +37 -37
  212. package/build/_enums/log-style.enum.js +41 -41
  213. package/build/_enums/server-connection-status.enum.d.ts +4 -4
  214. package/build/_enums/server-connection-status.enum.js +8 -8
  215. package/build/_enums/time/day-of-week.enum.d.ts +38 -38
  216. package/build/_enums/time/day-of-week.enum.js +50 -50
  217. package/build/_enums/time/month.enum.d.ts +22 -22
  218. package/build/_enums/time/month.enum.js +26 -26
  219. package/build/_enums/time/relative-date.enum.d.ts +18 -18
  220. package/build/_enums/time/relative-date.enum.js +22 -22
  221. package/build/_models/control-models/data-model-params.control-model.d.ts +82 -82
  222. package/build/_models/control-models/data-model-params.control-model.js +281 -281
  223. package/build/_models/control-models/data-model-params.control-model.spec.d.ts +2 -0
  224. package/build/_models/control-models/data-model-params.control-model.spec.d.ts.map +1 -0
  225. package/build/_models/control-models/data-model-params.control-model.spec.js +123 -0
  226. package/build/_models/control-models/data-model-params.control-model.spec.js.map +1 -0
  227. package/build/_models/control-models/data-property-params.control-model.d.ts +87 -87
  228. package/build/_models/control-models/data-property-params.control-model.js +166 -166
  229. package/build/_models/control-models/data-property-params.control-model.spec.d.ts +2 -0
  230. package/build/_models/control-models/data-property-params.control-model.spec.d.ts.map +1 -0
  231. package/build/_models/control-models/data-property-params.control-model.spec.js +74 -0
  232. package/build/_models/control-models/data-property-params.control-model.spec.js.map +1 -0
  233. package/build/_models/control-models/error.control-model.d.ts +363 -363
  234. package/build/_models/control-models/error.control-model.js +678 -678
  235. package/build/_models/control-models/error.control-model.spec.d.ts +2 -0
  236. package/build/_models/control-models/error.control-model.spec.d.ts.map +1 -0
  237. package/build/_models/control-models/error.control-model.spec.js +749 -0
  238. package/build/_models/control-models/error.control-model.spec.js.map +1 -0
  239. package/build/_models/control-models/http/http-error-response.control-model.d.ts +39 -39
  240. package/build/_models/control-models/http/http-error-response.control-model.js +49 -49
  241. package/build/_models/control-models/http/http-error-response.control-model.spec.d.ts +2 -0
  242. package/build/_models/control-models/http/http-error-response.control-model.spec.d.ts.map +1 -0
  243. package/build/_models/control-models/http/http-error-response.control-model.spec.js +94 -0
  244. package/build/_models/control-models/http/http-error-response.control-model.spec.js.map +1 -0
  245. package/build/_models/control-models/http/http-headers.control-model.d.ts +38 -38
  246. package/build/_models/control-models/http/http-headers.control-model.js +44 -44
  247. package/build/_models/control-models/http/http-headers.control-model.spec.d.ts +2 -0
  248. package/build/_models/control-models/http/http-headers.control-model.spec.d.ts.map +1 -0
  249. package/build/_models/control-models/http/http-headers.control-model.spec.js +21 -0
  250. package/build/_models/control-models/http/http-headers.control-model.spec.js.map +1 -0
  251. package/build/_models/control-models/http/http-response.model-base.d.ts +51 -51
  252. package/build/_models/control-models/http/http-response.model-base.js +58 -58
  253. package/build/_models/control-models/http/http-response.model-base.spec.d.ts +2 -0
  254. package/build/_models/control-models/http/http-response.model-base.spec.d.ts.map +1 -0
  255. package/build/_models/control-models/http/http-response.model-base.spec.js +41 -0
  256. package/build/_models/control-models/http/http-response.model-base.spec.js.map +1 -0
  257. package/build/_models/control-models/poll.control-model.d.ts +57 -57
  258. package/build/_models/control-models/poll.control-model.js +140 -140
  259. package/build/_models/control-models/poll.control-model.spec.d.ts +2 -0
  260. package/build/_models/control-models/poll.control-model.spec.d.ts.map +1 -0
  261. package/build/_models/control-models/poll.control-model.spec.js +57 -0
  262. package/build/_models/control-models/poll.control-model.spec.js.map +1 -0
  263. package/build/_models/control-models/range-value.control-model.d.ts +172 -172
  264. package/build/_models/control-models/range-value.control-model.js +248 -248
  265. package/build/_models/control-models/range-value.control-model.spec.d.ts +2 -0
  266. package/build/_models/control-models/range-value.control-model.spec.d.ts.map +1 -0
  267. package/build/_models/control-models/range-value.control-model.spec.js +163 -0
  268. package/build/_models/control-models/range-value.control-model.spec.js.map +1 -0
  269. package/build/_models/control-models/server-status.control-model.d.ts +50 -50
  270. package/build/_models/control-models/server-status.control-model.js +63 -63
  271. package/build/_models/control-models/server-status.control-model.spec.d.ts +2 -0
  272. package/build/_models/control-models/server-status.control-model.spec.d.ts.map +1 -0
  273. package/build/_models/control-models/server-status.control-model.spec.js +61 -0
  274. package/build/_models/control-models/server-status.control-model.spec.js.map +1 -0
  275. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +52 -52
  276. package/build/_models/control-models/service-endpoint-settings-base.control-model.js +123 -123
  277. package/build/_models/control-models/service-endpoint-settings-base.control-model.spec.d.ts +2 -0
  278. package/build/_models/control-models/service-endpoint-settings-base.control-model.spec.d.ts.map +1 -0
  279. package/build/_models/control-models/service-endpoint-settings-base.control-model.spec.js +124 -0
  280. package/build/_models/control-models/service-endpoint-settings-base.control-model.spec.js.map +1 -0
  281. package/build/_models/data-models/errors.data-model.d.ts +128 -128
  282. package/build/_models/data-models/errors.data-model.js +146 -146
  283. package/build/_models/data-models/errors.data-model.spec.d.ts +2 -0
  284. package/build/_models/data-models/errors.data-model.spec.d.ts.map +1 -0
  285. package/build/_models/data-models/errors.data-model.spec.js +65 -0
  286. package/build/_models/data-models/errors.data-model.spec.js.map +1 -0
  287. package/build/_models/data-models/metadata.data-model.d.ts +60 -60
  288. package/build/_models/data-models/metadata.data-model.js +121 -121
  289. package/build/_models/data-models/metadata.data-model.spec.d.ts +2 -0
  290. package/build/_models/data-models/metadata.data-model.spec.d.ts.map +1 -0
  291. package/build/_models/data-models/metadata.data-model.spec.js +142 -0
  292. package/build/_models/data-models/metadata.data-model.spec.js.map +1 -0
  293. package/build/_models/interfaces/box-bounds.interface.d.ts +7 -7
  294. package/build/_models/interfaces/box-bounds.interface.js +2 -2
  295. package/build/_models/interfaces/environment/global-log-settings.interface.d.ts +65 -65
  296. package/build/_models/interfaces/environment/global-log-settings.interface.js +2 -2
  297. package/build/_models/interfaces/environment/global-settings.interface.js +2 -2
  298. package/build/_models/interfaces/error-defaults.interface.d.ts +16 -16
  299. package/build/_models/interfaces/error-defaults.interface.js +2 -2
  300. package/build/_models/interfaces/paged.interface.d.ts +7 -7
  301. package/build/_models/interfaces/paged.interface.js +2 -2
  302. package/build/_models/interfaces/random-weight.interface.d.ts +4 -4
  303. package/build/_models/interfaces/random-weight.interface.js +2 -2
  304. package/build/_models/interfaces/route-settings.interface.d.ts +13 -13
  305. package/build/_models/interfaces/route-settings.interface.js +2 -2
  306. package/build/_models/interfaces/search-query.interface.d.ts +19 -19
  307. package/build/_models/interfaces/search-query.interface.js +2 -2
  308. package/build/_models/interfaces/search-result.interface.d.ts +4 -4
  309. package/build/_models/interfaces/search-result.interface.js +2 -2
  310. package/build/_models/interfaces/server-error-statistics.interface.d.ts +17 -17
  311. package/build/_models/interfaces/server-error-statistics.interface.js +2 -2
  312. package/build/_models/interfaces/vector2.interface.d.ts +16 -16
  313. package/build/_models/interfaces/vector2.interface.js +2 -2
  314. package/build/_models/types/db-filter.type.d.ts +100 -100
  315. package/build/_models/types/db-filter.type.js +2 -2
  316. package/build/_models/types/db-sort.type.d.ts +3 -3
  317. package/build/_models/types/db-sort.type.js +2 -2
  318. package/build/_models/types/ds-filter.type.d.ts +47 -47
  319. package/build/_models/types/ds-filter.type.js +18 -18
  320. package/build/_models/types/ds-sort.type.d.ts +16 -16
  321. package/build/_models/types/ds-sort.type.js +2 -2
  322. package/build/_modules/ai/_collections/ai-model-ref.util.d.ts +42 -42
  323. package/build/_modules/ai/_collections/ai-model-ref.util.js +74 -74
  324. package/build/_modules/ai/_collections/ai-model-registry.util.d.ts +23 -23
  325. package/build/_modules/ai/_collections/ai-model-registry.util.js +30 -30
  326. package/build/_modules/ai/_collections/ai-model-registry.util.spec.d.ts +2 -0
  327. package/build/_modules/ai/_collections/ai-model-registry.util.spec.d.ts.map +1 -0
  328. package/build/_modules/ai/_collections/ai-model-registry.util.spec.js +30 -0
  329. package/build/_modules/ai/_collections/ai-model-registry.util.spec.js.map +1 -0
  330. package/build/_modules/ai/_enums/ai-message-role.enum.d.ts +7 -7
  331. package/build/_modules/ai/_enums/ai-message-role.enum.js +11 -11
  332. package/build/_modules/ai/_enums/ai-model-type.enum.d.ts +7 -7
  333. package/build/_modules/ai/_enums/ai-model-type.enum.js +11 -11
  334. package/build/_modules/ai/_enums/ai-provider.enum.d.ts +7 -7
  335. package/build/_modules/ai/_enums/ai-provider.enum.js +11 -11
  336. package/build/_modules/ai/_models/ai-call-settings.interface.d.ts +74 -74
  337. package/build/_modules/ai/_models/ai-call-settings.interface.js +81 -81
  338. package/build/_modules/ai/_models/ai-config.interface.d.ts +14 -14
  339. package/build/_modules/ai/_models/ai-config.interface.js +2 -2
  340. package/build/_modules/ai/_models/ai-embedding-request.interface.d.ts +19 -19
  341. package/build/_modules/ai/_models/ai-embedding-request.interface.js +2 -2
  342. package/build/_modules/ai/_models/ai-embedding-response.interface.d.ts +25 -25
  343. package/build/_modules/ai/_models/ai-embedding-response.interface.js +2 -2
  344. package/build/_modules/ai/_models/ai-llm-request.interface.d.ts +22 -22
  345. package/build/_modules/ai/_models/ai-llm-request.interface.js +2 -2
  346. package/build/_modules/ai/_models/ai-llm-response.interface.d.ts +28 -28
  347. package/build/_modules/ai/_models/ai-llm-response.interface.js +2 -2
  348. package/build/_modules/ai/_models/ai-message.interface.d.ts +10 -10
  349. package/build/_modules/ai/_models/ai-message.interface.js +2 -2
  350. package/build/_modules/ai/_models/ai-model-capabilities.interface.d.ts +35 -35
  351. package/build/_modules/ai/_models/ai-model-capabilities.interface.js +2 -2
  352. package/build/_modules/ai/_models/ai-model-info.interface.d.ts +61 -61
  353. package/build/_modules/ai/_models/ai-model-info.interface.js +2 -2
  354. package/build/_modules/ai/_models/ai-model-settings-schema.interface.d.ts +51 -51
  355. package/build/_modules/ai/_models/ai-model-settings-schema.interface.js +2 -2
  356. package/build/_modules/ai/_models/ai-provider-capabilities.interface.d.ts +28 -28
  357. package/build/_modules/ai/_models/ai-provider-capabilities.interface.js +2 -2
  358. package/build/_modules/ai/_models/ai-settings.interface.d.ts +9 -9
  359. package/build/_modules/ai/_models/ai-settings.interface.js +14 -14
  360. package/build/_modules/ai/_models/ai-tool-call.interface.d.ts +18 -18
  361. package/build/_modules/ai/_models/ai-tool-call.interface.js +2 -2
  362. package/build/_modules/ai/_models/ai-tool-handler.type.d.ts +10 -10
  363. package/build/_modules/ai/_models/ai-tool-handler.type.js +2 -2
  364. package/build/_modules/ai/_models/ai-tool-result.interface.d.ts +16 -16
  365. package/build/_modules/ai/_models/ai-tool-result.interface.js +2 -2
  366. package/build/_modules/ai/_models/ai-tool.interface.d.ts +16 -16
  367. package/build/_modules/ai/_models/ai-tool.interface.js +2 -2
  368. package/build/_modules/ai/_models/ai-user-provider-config.control-model.d.ts +21 -21
  369. package/build/_modules/ai/_models/ai-user-provider-config.control-model.js +28 -28
  370. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts +2 -2
  371. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +133 -133
  372. package/build/_modules/ai/_modules/anthropic/_enums/aai-model.enum.d.ts +12 -12
  373. package/build/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js +20 -20
  374. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.d.ts +10 -10
  375. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js +20 -20
  376. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.d.ts +2 -0
  377. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.d.ts.map +1 -0
  378. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.js +24 -0
  379. package/build/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.js.map +1 -0
  380. package/build/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.d.ts +8 -8
  381. package/build/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.js +2 -2
  382. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.d.ts +14 -14
  383. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js +22 -22
  384. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.d.ts +2 -0
  385. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.d.ts.map +1 -0
  386. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.js +20 -0
  387. package/build/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.js.map +1 -0
  388. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.d.ts +10 -10
  389. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +19 -19
  390. package/build/_modules/ai/_modules/anthropic/index.d.ts +6 -6
  391. package/build/_modules/ai/_modules/anthropic/index.js +12 -12
  392. package/build/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.d.ts +11 -11
  393. package/build/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.js +2 -2
  394. package/build/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.d.ts +21 -21
  395. package/build/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.js +2 -2
  396. package/build/_modules/ai/_modules/document-ai/index.d.ts +2 -2
  397. package/build/_modules/ai/_modules/document-ai/index.js +6 -6
  398. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts +17 -17
  399. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +41 -41
  400. package/build/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.d.ts +6 -6
  401. package/build/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js +10 -10
  402. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.d.ts +9 -9
  403. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +18 -18
  404. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.d.ts +11 -11
  405. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js +2 -2
  406. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.d.ts +13 -13
  407. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +21 -21
  408. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.d.ts +10 -10
  409. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +19 -19
  410. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +6 -6
  411. package/build/_modules/ai/_modules/fdp-ai/index.js +12 -12
  412. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts +2 -2
  413. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +158 -158
  414. package/build/_modules/ai/_modules/google-ai/_enums/gai-model.enum.d.ts +9 -9
  415. package/build/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js +17 -17
  416. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.d.ts +10 -10
  417. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js +20 -20
  418. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.d.ts +2 -0
  419. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.d.ts.map +1 -0
  420. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.js +24 -0
  421. package/build/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.js.map +1 -0
  422. package/build/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.d.ts +6 -6
  423. package/build/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.js +2 -2
  424. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.d.ts +14 -14
  425. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js +22 -22
  426. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.d.ts +2 -0
  427. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.d.ts.map +1 -0
  428. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.js +20 -0
  429. package/build/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.js.map +1 -0
  430. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.d.ts +10 -10
  431. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +19 -19
  432. package/build/_modules/ai/_modules/google-ai/index.d.ts +6 -6
  433. package/build/_modules/ai/_modules/google-ai/index.js +12 -12
  434. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts +18 -18
  435. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +60 -60
  436. package/build/_modules/ai/_modules/local-ai/_enums/lai-model.enum.d.ts +4 -4
  437. package/build/_modules/ai/_modules/local-ai/_enums/lai-model.enum.js +8 -8
  438. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.d.ts +6 -6
  439. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js +15 -15
  440. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.d.ts +2 -0
  441. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.d.ts.map +1 -0
  442. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.js +24 -0
  443. package/build/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.js.map +1 -0
  444. package/build/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.d.ts +7 -7
  445. package/build/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.js +2 -2
  446. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.d.ts +10 -10
  447. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js +18 -18
  448. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.d.ts +2 -0
  449. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.d.ts.map +1 -0
  450. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.js +20 -0
  451. package/build/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.js.map +1 -0
  452. package/build/_modules/ai/_modules/local-ai/index.d.ts +5 -5
  453. package/build/_modules/ai/_modules/local-ai/index.js +11 -11
  454. package/build/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.d.ts +2 -2
  455. package/build/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.js +9 -9
  456. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts +2 -2
  457. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +394 -394
  458. package/build/_modules/ai/_modules/open-ai/_enums/oai-model.enum.d.ts +43 -43
  459. package/build/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js +146 -146
  460. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.d.ts +10 -10
  461. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js +20 -20
  462. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.d.ts +2 -0
  463. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.d.ts.map +1 -0
  464. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.js +24 -0
  465. package/build/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.js.map +1 -0
  466. package/build/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.d.ts +68 -68
  467. package/build/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.js +2 -2
  468. package/build/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.d.ts +11 -11
  469. package/build/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.js +2 -2
  470. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.d.ts +14 -14
  471. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js +22 -22
  472. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.d.ts +2 -0
  473. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.d.ts.map +1 -0
  474. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.js +20 -0
  475. package/build/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.js.map +1 -0
  476. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.d.ts +11 -11
  477. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +20 -20
  478. package/build/_modules/ai/_modules/open-ai/index.d.ts +8 -8
  479. package/build/_modules/ai/_modules/open-ai/index.js +22 -22
  480. package/build/_modules/ai/index.d.ts +22 -22
  481. package/build/_modules/ai/index.js +28 -28
  482. package/build/_modules/ci-tools/_enums/cit-ci-result-code.enum.d.ts +8 -8
  483. package/build/_modules/ci-tools/_enums/cit-ci-result-code.enum.js +12 -12
  484. package/build/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.d.ts +8 -8
  485. package/build/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.js +12 -12
  486. package/build/_modules/ci-tools/_models/cit-ci-result-info.data-models.d.ts +42 -42
  487. package/build/_modules/ci-tools/_models/cit-ci-result-info.data-models.js +67 -67
  488. package/build/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.d.ts +2 -0
  489. package/build/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.d.ts.map +1 -0
  490. package/build/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.js +51 -0
  491. package/build/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.js.map +1 -0
  492. package/build/_modules/ci-tools/_models/cit-ci-step-result.interface.d.ts +9 -9
  493. package/build/_modules/ci-tools/_models/cit-ci-step-result.interface.js +2 -2
  494. package/build/_modules/ci-tools/index.d.ts +4 -4
  495. package/build/_modules/ci-tools/index.js +9 -9
  496. package/build/_modules/crypto/_collections/crypto-v1.util.d.ts +47 -47
  497. package/build/_modules/crypto/_collections/crypto-v1.util.js +204 -204
  498. package/build/_modules/crypto/_collections/crypto-v2.util.d.ts +106 -106
  499. package/build/_modules/crypto/_collections/crypto-v2.util.js +278 -278
  500. package/build/_modules/crypto/_collections/crypto-v4.util.d.ts +164 -164
  501. package/build/_modules/crypto/_collections/crypto-v4.util.js +610 -610
  502. package/build/_modules/crypto/_collections/crypto.util.d.ts +161 -161
  503. package/build/_modules/crypto/_collections/crypto.util.db-envelope.spec.d.ts +2 -0
  504. package/build/_modules/crypto/_collections/crypto.util.db-envelope.spec.d.ts.map +1 -0
  505. package/build/_modules/crypto/_collections/crypto.util.db-envelope.spec.js +43 -0
  506. package/build/_modules/crypto/_collections/crypto.util.db-envelope.spec.js.map +1 -0
  507. package/build/_modules/crypto/_collections/crypto.util.edge.spec.d.ts +2 -0
  508. package/build/_modules/crypto/_collections/crypto.util.edge.spec.d.ts.map +1 -0
  509. package/build/_modules/crypto/_collections/crypto.util.edge.spec.js +551 -0
  510. package/build/_modules/crypto/_collections/crypto.util.edge.spec.js.map +1 -0
  511. package/build/_modules/crypto/_collections/crypto.util.extra.spec.d.ts +2 -0
  512. package/build/_modules/crypto/_collections/crypto.util.extra.spec.d.ts.map +1 -0
  513. package/build/_modules/crypto/_collections/crypto.util.extra.spec.js +555 -0
  514. package/build/_modules/crypto/_collections/crypto.util.extra.spec.js.map +1 -0
  515. package/build/_modules/crypto/_collections/crypto.util.js +656 -656
  516. package/build/_modules/crypto/_collections/crypto.util.simple.spec.d.ts +2 -0
  517. package/build/_modules/crypto/_collections/crypto.util.simple.spec.d.ts.map +1 -0
  518. package/build/_modules/crypto/_collections/crypto.util.simple.spec.js +429 -0
  519. package/build/_modules/crypto/_collections/crypto.util.simple.spec.js.map +1 -0
  520. package/build/_modules/crypto/index.d.ts +1 -1
  521. package/build/_modules/crypto/index.js +12 -12
  522. package/build/_modules/custom-data/_collections/cud-module-settings.const.d.ts +12 -12
  523. package/build/_modules/custom-data/_collections/cud-module-settings.const.js +21 -21
  524. package/build/_modules/custom-data/_models/cud.data-model.d.ts +18 -18
  525. package/build/_modules/custom-data/_models/cud.data-model.js +31 -31
  526. package/build/_modules/custom-data/_models/cud.data-model.spec.d.ts +2 -0
  527. package/build/_modules/custom-data/_models/cud.data-model.spec.d.ts.map +1 -0
  528. package/build/_modules/custom-data/_models/cud.data-model.spec.js +35 -0
  529. package/build/_modules/custom-data/_models/cud.data-model.spec.js.map +1 -0
  530. package/build/_modules/custom-data/index.d.ts +2 -2
  531. package/build/_modules/custom-data/index.js +7 -7
  532. package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts +72 -72
  533. package/build/_modules/data-handler/_models/data-handler-settings.control-model.js +82 -82
  534. package/build/_modules/data-handler/_models/data-handler-settings.control-model.spec.d.ts +2 -0
  535. package/build/_modules/data-handler/_models/data-handler-settings.control-model.spec.d.ts.map +1 -0
  536. package/build/_modules/data-handler/_models/data-handler-settings.control-model.spec.js +96 -0
  537. package/build/_modules/data-handler/_models/data-handler-settings.control-model.spec.js.map +1 -0
  538. package/build/_modules/data-handler/_models/data-handler.control-model.d.ts +148 -148
  539. package/build/_modules/data-handler/_models/data-handler.control-model.js +359 -359
  540. package/build/_modules/data-handler/_models/data-handler.control-model.spec.d.ts +2 -0
  541. package/build/_modules/data-handler/_models/data-handler.control-model.spec.d.ts.map +1 -0
  542. package/build/_modules/data-handler/_models/data-handler.control-model.spec.js +365 -0
  543. package/build/_modules/data-handler/_models/data-handler.control-model.spec.js.map +1 -0
  544. package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts +110 -110
  545. package/build/_modules/data-handler/_models/data-list-handler.control-model.js +223 -223
  546. package/build/_modules/data-handler/_models/data-list-handler.control-model.spec.d.ts +2 -0
  547. package/build/_modules/data-handler/_models/data-list-handler.control-model.spec.d.ts.map +1 -0
  548. package/build/_modules/data-handler/_models/data-list-handler.control-model.spec.js +202 -0
  549. package/build/_modules/data-handler/_models/data-list-handler.control-model.spec.js.map +1 -0
  550. package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts +171 -171
  551. package/build/_modules/data-handler/_models/data-search-handler.control-model.js +324 -324
  552. package/build/_modules/data-handler/_models/data-search-handler.control-model.spec.d.ts +2 -0
  553. package/build/_modules/data-handler/_models/data-search-handler.control-model.spec.d.ts.map +1 -0
  554. package/build/_modules/data-handler/_models/data-search-handler.control-model.spec.js +309 -0
  555. package/build/_modules/data-handler/_models/data-search-handler.control-model.spec.js.map +1 -0
  556. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts +115 -115
  557. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.js +244 -244
  558. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.d.ts +2 -0
  559. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.d.ts.map +1 -0
  560. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.js +309 -0
  561. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.js.map +1 -0
  562. package/build/_modules/data-handler/index.d.ts +5 -5
  563. package/build/_modules/data-handler/index.js +9 -9
  564. package/build/_modules/game/_collections/audio-mixer.util.d.ts +54 -54
  565. package/build/_modules/game/_collections/audio-mixer.util.js +113 -113
  566. package/build/_modules/game/_collections/audio-mixer.util.spec.d.ts +2 -0
  567. package/build/_modules/game/_collections/audio-mixer.util.spec.d.ts.map +1 -0
  568. package/build/_modules/game/_collections/audio-mixer.util.spec.js +153 -0
  569. package/build/_modules/game/_collections/audio-mixer.util.spec.js.map +1 -0
  570. package/build/_modules/game/_collections/audio-scale.util.d.ts +56 -56
  571. package/build/_modules/game/_collections/audio-scale.util.js +104 -104
  572. package/build/_modules/game/_collections/audio-scale.util.spec.d.ts +2 -0
  573. package/build/_modules/game/_collections/audio-scale.util.spec.d.ts.map +1 -0
  574. package/build/_modules/game/_collections/audio-scale.util.spec.js +98 -0
  575. package/build/_modules/game/_collections/audio-scale.util.spec.js.map +1 -0
  576. package/build/_modules/game/_enums/audio-channel.enum.d.ts +20 -20
  577. package/build/_modules/game/_enums/audio-channel.enum.js +24 -24
  578. package/build/_modules/game/_models/audio-mixer-config.interface.d.ts +43 -43
  579. package/build/_modules/game/_models/audio-mixer-config.interface.js +2 -2
  580. package/build/_modules/game/_models/audio-mixer-settings.interface.d.ts +31 -31
  581. package/build/_modules/game/_models/audio-mixer-settings.interface.js +2 -2
  582. package/build/_modules/game/_models/audio-mixer-state.interface.d.ts +30 -30
  583. package/build/_modules/game/_models/audio-mixer-state.interface.js +2 -2
  584. package/build/_modules/game/_models/audio-mixer.control-model.d.ts +129 -129
  585. package/build/_modules/game/_models/audio-mixer.control-model.js +341 -341
  586. package/build/_modules/game/_models/audio-mixer.control-model.spec.d.ts +2 -0
  587. package/build/_modules/game/_models/audio-mixer.control-model.spec.d.ts.map +1 -0
  588. package/build/_modules/game/_models/audio-mixer.control-model.spec.js +278 -0
  589. package/build/_modules/game/_models/audio-mixer.control-model.spec.js.map +1 -0
  590. package/build/_modules/game/_models/audio-scale.interface.d.ts +17 -17
  591. package/build/_modules/game/_models/audio-scale.interface.js +2 -2
  592. package/build/_modules/game/_models/seeded-random-state.interface.d.ts +16 -16
  593. package/build/_modules/game/_models/seeded-random-state.interface.js +2 -2
  594. package/build/_modules/game/_models/seeded-random.control-model.d.ts +124 -124
  595. package/build/_modules/game/_models/seeded-random.control-model.js +262 -262
  596. package/build/_modules/game/_models/seeded-random.control-model.spec.d.ts +2 -0
  597. package/build/_modules/game/_models/seeded-random.control-model.spec.d.ts.map +1 -0
  598. package/build/_modules/game/_models/seeded-random.control-model.spec.js +215 -0
  599. package/build/_modules/game/_models/seeded-random.control-model.spec.js.map +1 -0
  600. package/build/_modules/game/index.d.ts +10 -10
  601. package/build/_modules/game/index.js +16 -16
  602. package/build/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  603. package/build/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19036 -19036
  604. package/build/_modules/location/_collections/assets/country-phone-codes.json +1202 -1202
  605. package/build/_modules/location/_collections/loc-country-divisions.const.d.ts +3 -3
  606. package/build/_modules/location/_collections/loc-country-divisions.const.js +6 -6
  607. package/build/_modules/location/_collections/loc-country-isos.const.d.ts +2 -2
  608. package/build/_modules/location/_collections/loc-country-isos.const.js +5 -5
  609. package/build/_modules/location/_collections/loc-regions.util.d.ts +52 -52
  610. package/build/_modules/location/_collections/loc-regions.util.js +112 -112
  611. package/build/_modules/location/_collections/loc-regions.util.spec.d.ts +2 -0
  612. package/build/_modules/location/_collections/loc-regions.util.spec.d.ts.map +1 -0
  613. package/build/_modules/location/_collections/loc-regions.util.spec.js +51 -0
  614. package/build/_modules/location/_collections/loc-regions.util.spec.js.map +1 -0
  615. package/build/_modules/location/_collections/loc.util.d.ts +24 -24
  616. package/build/_modules/location/_collections/loc.util.js +60 -60
  617. package/build/_modules/location/_collections/loc.util.spec.d.ts +2 -0
  618. package/build/_modules/location/_collections/loc.util.spec.d.ts.map +1 -0
  619. package/build/_modules/location/_collections/loc.util.spec.js +39 -0
  620. package/build/_modules/location/_collections/loc.util.spec.js.map +1 -0
  621. package/build/_modules/location/_enums/loc-region.enum.d.ts +10 -10
  622. package/build/_modules/location/_enums/loc-region.enum.js +14 -14
  623. package/build/_modules/location/_enums/loc-sub-region.enum.d.ts +22 -22
  624. package/build/_modules/location/_enums/loc-sub-region.enum.js +26 -26
  625. package/build/_modules/location/_enums/loc-subdivision-region-type.enum.d.ts +43 -43
  626. package/build/_modules/location/_enums/loc-subdivision-region-type.enum.js +48 -48
  627. package/build/_modules/location/_models/loc-coordinates.interface.d.ts +5 -5
  628. package/build/_modules/location/_models/loc-coordinates.interface.js +2 -2
  629. package/build/_modules/location/_models/loc-country-division.interface.d.ts +5 -5
  630. package/build/_modules/location/_models/loc-country-division.interface.js +2 -2
  631. package/build/_modules/location/_models/loc-country-iso.interface.d.ts +18 -18
  632. package/build/_modules/location/_models/loc-country-iso.interface.js +2 -2
  633. package/build/_modules/location/_models/loc-country-phone-code.interface.d.ts +5 -5
  634. package/build/_modules/location/_models/loc-country-phone-code.interface.js +2 -2
  635. package/build/_modules/location/_models/loc-division-collection.interface.d.ts +8 -8
  636. package/build/_modules/location/_models/loc-division-collection.interface.js +2 -2
  637. package/build/_modules/location/_models/loc-division-region-data.interface.d.ts +5 -5
  638. package/build/_modules/location/_models/loc-division-region-data.interface.js +2 -2
  639. package/build/_modules/location/_models/loc-geo-ip-location.interface.d.ts +25 -25
  640. package/build/_modules/location/_models/loc-geo-ip-location.interface.js +2 -2
  641. package/build/_modules/location/index.d.ts +14 -14
  642. package/build/_modules/location/index.js +20 -20
  643. package/build/_modules/messaging/_collections/msg-module-settings.const.d.ts +25 -25
  644. package/build/_modules/messaging/_collections/msg-module-settings.const.js +47 -47
  645. package/build/_modules/messaging/_enums/msg-attachment-type.enum.d.ts +20 -20
  646. package/build/_modules/messaging/_enums/msg-attachment-type.enum.js +24 -24
  647. package/build/_modules/messaging/_enums/msg-conversation-type.enum.d.ts +16 -16
  648. package/build/_modules/messaging/_enums/msg-conversation-type.enum.js +20 -20
  649. package/build/_modules/messaging/_enums/msg-delivery-status.enum.d.ts +14 -14
  650. package/build/_modules/messaging/_enums/msg-delivery-status.enum.js +18 -18
  651. package/build/_modules/messaging/_enums/msg-event-key.enum.d.ts +22 -22
  652. package/build/_modules/messaging/_enums/msg-event-key.enum.js +31 -31
  653. package/build/_modules/messaging/_enums/msg-participant-role.enum.d.ts +16 -16
  654. package/build/_modules/messaging/_enums/msg-participant-role.enum.js +20 -20
  655. package/build/_modules/messaging/_enums/msg-provider-type.enum.d.ts +7 -7
  656. package/build/_modules/messaging/_enums/msg-provider-type.enum.js +11 -11
  657. package/build/_modules/messaging/_enums/msg-status.enum.d.ts +20 -20
  658. package/build/_modules/messaging/_enums/msg-status.enum.js +24 -24
  659. package/build/_modules/messaging/_enums/msg-type.enum.d.ts +18 -18
  660. package/build/_modules/messaging/_enums/msg-type.enum.js +22 -22
  661. package/build/_modules/messaging/_models/msg-attachment.interface.d.ts +33 -33
  662. package/build/_modules/messaging/_models/msg-attachment.interface.js +2 -2
  663. package/build/_modules/messaging/_models/msg-conversation.data-model.d.ts +29 -29
  664. package/build/_modules/messaging/_models/msg-conversation.data-model.js +81 -81
  665. package/build/_modules/messaging/_models/msg-conversation.data-model.spec.d.ts +2 -0
  666. package/build/_modules/messaging/_models/msg-conversation.data-model.spec.d.ts.map +1 -0
  667. package/build/_modules/messaging/_models/msg-conversation.data-model.spec.js +62 -0
  668. package/build/_modules/messaging/_models/msg-conversation.data-model.spec.js.map +1 -0
  669. package/build/_modules/messaging/_models/msg-mention.interface.d.ts +22 -22
  670. package/build/_modules/messaging/_models/msg-mention.interface.js +2 -2
  671. package/build/_modules/messaging/_models/msg-message.data-model.d.ts +43 -43
  672. package/build/_modules/messaging/_models/msg-message.data-model.js +103 -103
  673. package/build/_modules/messaging/_models/msg-message.data-model.spec.d.ts +2 -0
  674. package/build/_modules/messaging/_models/msg-message.data-model.spec.d.ts.map +1 -0
  675. package/build/_modules/messaging/_models/msg-message.data-model.spec.js +74 -0
  676. package/build/_modules/messaging/_models/msg-message.data-model.spec.js.map +1 -0
  677. package/build/_modules/messaging/_models/msg-participant.interface.d.ts +34 -34
  678. package/build/_modules/messaging/_models/msg-participant.interface.js +2 -2
  679. package/build/_modules/messaging/_models/msg-reaction.interface.d.ts +16 -16
  680. package/build/_modules/messaging/_models/msg-reaction.interface.js +2 -2
  681. package/build/_modules/messaging/_models/msg-thread-info.interface.d.ts +26 -26
  682. package/build/_modules/messaging/_models/msg-thread-info.interface.js +2 -2
  683. package/build/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.d.ts +26 -26
  684. package/build/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.js +30 -30
  685. package/build/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.d.ts +18 -18
  686. package/build/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.js +22 -22
  687. package/build/_modules/messaging/_modules/agent/_models/agt-process-step.interface.d.ts +40 -40
  688. package/build/_modules/messaging/_modules/agent/_models/agt-process-step.interface.js +2 -2
  689. package/build/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.d.ts +20 -20
  690. package/build/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.js +2 -2
  691. package/build/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.d.ts +27 -27
  692. package/build/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.js +2 -2
  693. package/build/_modules/messaging/_modules/agent/index.d.ts +5 -5
  694. package/build/_modules/messaging/_modules/agent/index.js +10 -10
  695. package/build/_modules/messaging/index.d.ts +16 -16
  696. package/build/_modules/messaging/index.js +28 -28
  697. package/build/_modules/ngx-models/_collections/angular-placeholders.d.ts +33 -33
  698. package/build/_modules/ngx-models/_collections/angular-placeholders.js +2 -2
  699. package/build/_modules/ngx-models/_collections/button-new-style-settings-presets.const.d.ts +53 -53
  700. package/build/_modules/ngx-models/_collections/button-new-style-settings-presets.const.js +173 -173
  701. package/build/_modules/ngx-models/_collections/dynamo-global.settings.d.ts +12 -12
  702. package/build/_modules/ngx-models/_collections/dynamo-global.settings.js +91 -91
  703. package/build/_modules/ngx-models/_collections/dynamo-global.settings.spec.d.ts +2 -0
  704. package/build/_modules/ngx-models/_collections/dynamo-global.settings.spec.d.ts.map +1 -0
  705. package/build/_modules/ngx-models/_collections/dynamo-global.settings.spec.js +63 -0
  706. package/build/_modules/ngx-models/_collections/dynamo-global.settings.spec.js.map +1 -0
  707. package/build/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.d.ts +13 -13
  708. package/build/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.js +17 -17
  709. package/build/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.d.ts +11 -11
  710. package/build/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.js +15 -15
  711. package/build/_modules/ngx-models/_enums/button-new/button-new-size.enum.d.ts +14 -14
  712. package/build/_modules/ngx-models/_enums/button-new/button-new-size.enum.js +18 -18
  713. package/build/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.d.ts +16 -16
  714. package/build/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.js +20 -20
  715. package/build/_modules/ngx-models/_enums/button-type.enum.d.ts +33 -33
  716. package/build/_modules/ngx-models/_enums/button-type.enum.js +38 -38
  717. package/build/_modules/ngx-models/_enums/checkbox-label-position.enum.d.ts +7 -7
  718. package/build/_modules/ngx-models/_enums/checkbox-label-position.enum.js +11 -11
  719. package/build/_modules/ngx-models/_enums/container-type.enum.d.ts +10 -10
  720. package/build/_modules/ngx-models/_enums/container-type.enum.js +14 -14
  721. package/build/_modules/ngx-models/_enums/errors/error-level.enum.d.ts +13 -13
  722. package/build/_modules/ngx-models/_enums/errors/error-level.enum.js +17 -17
  723. package/build/_modules/ngx-models/_enums/errors/error-notification-color.enum.d.ts +13 -13
  724. package/build/_modules/ngx-models/_enums/errors/error-notification-color.enum.js +17 -17
  725. package/build/_modules/ngx-models/_enums/errors/error-ui-mode.enum.d.ts +13 -13
  726. package/build/_modules/ngx-models/_enums/errors/error-ui-mode.enum.js +17 -17
  727. package/build/_modules/ngx-models/_enums/field-appearance.enum.d.ts +7 -7
  728. package/build/_modules/ngx-models/_enums/field-appearance.enum.js +16 -16
  729. package/build/_modules/ngx-models/_enums/field-type.enum.d.ts +32 -32
  730. package/build/_modules/ngx-models/_enums/field-type.enum.js +49 -49
  731. package/build/_modules/ngx-models/_enums/file-type.enum.d.ts +11 -11
  732. package/build/_modules/ngx-models/_enums/file-type.enum.js +15 -15
  733. package/build/_modules/ngx-models/_enums/flex/flex-layout-align.enum.d.ts +17 -17
  734. package/build/_modules/ngx-models/_enums/flex/flex-layout-align.enum.js +24 -24
  735. package/build/_modules/ngx-models/_enums/flex/flex-layout.enum.d.ts +5 -5
  736. package/build/_modules/ngx-models/_enums/flex/flex-layout.enum.js +9 -9
  737. package/build/_modules/ngx-models/_enums/form-access.enum.d.ts +8 -8
  738. package/build/_modules/ngx-models/_enums/form-access.enum.js +12 -12
  739. package/build/_modules/ngx-models/_enums/form-reset-data.enum.d.ts +11 -11
  740. package/build/_modules/ngx-models/_enums/form-reset-data.enum.js +15 -15
  741. package/build/_modules/ngx-models/_enums/form-store-on.enum.d.ts +7 -7
  742. package/build/_modules/ngx-models/_enums/form-store-on.enum.js +11 -11
  743. package/build/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.d.ts +20 -20
  744. package/build/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.js +24 -24
  745. package/build/_modules/ngx-models/_enums/frames/header-item-type.enum.d.ts +15 -15
  746. package/build/_modules/ngx-models/_enums/frames/header-item-type.enum.js +19 -19
  747. package/build/_modules/ngx-models/_enums/frames/header-position.enum.d.ts +10 -10
  748. package/build/_modules/ngx-models/_enums/frames/header-position.enum.js +14 -14
  749. package/build/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.d.ts +13 -13
  750. package/build/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.js +17 -17
  751. package/build/_modules/ngx-models/_enums/html/input-types.enum.d.ts +25 -25
  752. package/build/_modules/ngx-models/_enums/html/input-types.enum.js +29 -29
  753. package/build/_modules/ngx-models/_enums/material-color.enum.d.ts +13 -13
  754. package/build/_modules/ngx-models/_enums/material-color.enum.js +17 -17
  755. package/build/_modules/ngx-models/_enums/material-tooltip-position.enum.d.ts +12 -12
  756. package/build/_modules/ngx-models/_enums/material-tooltip-position.enum.js +16 -16
  757. package/build/_modules/ngx-models/_enums/preconfigured-field-type.enum.d.ts +7 -7
  758. package/build/_modules/ngx-models/_enums/preconfigured-field-type.enum.js +11 -11
  759. package/build/_modules/ngx-models/_enums/storage-type.enum.d.ts +8 -8
  760. package/build/_modules/ngx-models/_enums/storage-type.enum.js +16 -16
  761. package/build/_modules/ngx-models/_enums/validator-type.enum.d.ts +6 -6
  762. package/build/_modules/ngx-models/_enums/validator-type.enum.js +10 -10
  763. package/build/_modules/ngx-models/_enums/voice/audio-mime-type.enum.d.ts +14 -14
  764. package/build/_modules/ngx-models/_enums/voice/audio-mime-type.enum.js +18 -18
  765. package/build/_modules/ngx-models/_enums/voice/voice-provider-type.enum.d.ts +23 -23
  766. package/build/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js +30 -30
  767. package/build/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.d.ts +20 -20
  768. package/build/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.js +24 -24
  769. package/build/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.d.ts +23 -23
  770. package/build/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.js +34 -34
  771. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.d.ts +46 -46
  772. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.js +261 -261
  773. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.spec.d.ts +2 -0
  774. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.spec.d.ts.map +1 -0
  775. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.spec.js +61 -0
  776. package/build/_modules/ngx-models/_models/control-models/button-params.control-model.spec.js.map +1 -0
  777. package/build/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.d.ts +21 -21
  778. package/build/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.js +27 -27
  779. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts +93 -93
  780. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +104 -104
  781. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.d.ts +1 -0
  782. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.d.ts.map +1 -0
  783. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.js +92 -0
  784. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.js.map +1 -0
  785. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts +146 -146
  786. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js +380 -380
  787. package/build/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.d.ts +31 -31
  788. package/build/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.js +44 -44
  789. package/build/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.d.ts +26 -26
  790. package/build/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.js +32 -32
  791. package/build/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.d.ts +2 -0
  792. package/build/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.d.ts.map +1 -0
  793. package/build/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.js +80 -0
  794. package/build/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.js.map +1 -0
  795. package/build/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.d.ts +37 -37
  796. package/build/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.js +42 -42
  797. package/build/_modules/ngx-models/_models/control-models/field-settings.control-model.d.ts +101 -101
  798. package/build/_modules/ngx-models/_models/control-models/field-settings.control-model.js +109 -109
  799. package/build/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.d.ts +2 -0
  800. package/build/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.d.ts.map +1 -0
  801. package/build/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.js +89 -0
  802. package/build/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.js.map +1 -0
  803. package/build/_modules/ngx-models/_models/control-models/form-settings.control-model.d.ts +124 -124
  804. package/build/_modules/ngx-models/_models/control-models/form-settings.control-model.js +133 -133
  805. package/build/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.d.ts +2 -0
  806. package/build/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.d.ts.map +1 -0
  807. package/build/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.js +91 -0
  808. package/build/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.js.map +1 -0
  809. package/build/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.d.ts +17 -17
  810. package/build/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.js +25 -25
  811. package/build/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.d.ts +19 -19
  812. package/build/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.js +27 -27
  813. package/build/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.d.ts +32 -32
  814. package/build/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.js +31 -31
  815. package/build/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.d.ts +26 -26
  816. package/build/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.js +34 -34
  817. package/build/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.d.ts +26 -26
  818. package/build/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.js +33 -33
  819. package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.d.ts +60 -60
  820. package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.js +56 -56
  821. package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-types.d.ts +27 -27
  822. package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-types.js +2 -2
  823. package/build/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.d.ts +28 -28
  824. package/build/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.js +36 -36
  825. package/build/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.d.ts +2 -0
  826. package/build/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.d.ts.map +1 -0
  827. package/build/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.js +156 -0
  828. package/build/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.js.map +1 -0
  829. package/build/_modules/ngx-models/_models/control-models/forms-new/index.d.ts +17 -17
  830. package/build/_modules/ngx-models/_models/control-models/forms-new/index.js +22 -22
  831. package/build/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.d.ts +17 -17
  832. package/build/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.js +27 -27
  833. package/build/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.d.ts +17 -17
  834. package/build/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.js +25 -25
  835. package/build/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.d.ts +28 -28
  836. package/build/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.js +36 -36
  837. package/build/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.d.ts +24 -24
  838. package/build/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.js +34 -34
  839. package/build/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.d.ts +34 -34
  840. package/build/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.js +31 -31
  841. package/build/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.d.ts +27 -27
  842. package/build/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.js +35 -35
  843. package/build/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.d.ts +34 -34
  844. package/build/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.js +32 -32
  845. package/build/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.d.ts +21 -21
  846. package/build/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.js +31 -31
  847. package/build/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.d.ts +15 -15
  848. package/build/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.js +23 -23
  849. package/build/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.d.ts +2 -0
  850. package/build/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.d.ts.map +1 -0
  851. package/build/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.js +98 -0
  852. package/build/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.js.map +1 -0
  853. package/build/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.d.ts +35 -35
  854. package/build/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.js +45 -45
  855. package/build/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.d.ts +27 -27
  856. package/build/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.js +35 -35
  857. package/build/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.d.ts +37 -37
  858. package/build/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.js +48 -48
  859. package/build/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.d.ts +20 -20
  860. package/build/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.js +28 -28
  861. package/build/_modules/ngx-models/_models/control-models/select.control-model.d.ts +16 -16
  862. package/build/_modules/ngx-models/_models/control-models/select.control-model.js +28 -28
  863. package/build/_modules/ngx-models/_models/control-models/select.control-model.spec.d.ts +2 -0
  864. package/build/_modules/ngx-models/_models/control-models/select.control-model.spec.d.ts.map +1 -0
  865. package/build/_modules/ngx-models/_models/control-models/select.control-model.spec.js +43 -0
  866. package/build/_modules/ngx-models/_models/control-models/select.control-model.spec.js.map +1 -0
  867. package/build/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.d.ts +2 -0
  868. package/build/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.d.ts.map +1 -0
  869. package/build/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.js +103 -0
  870. package/build/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.js.map +1 -0
  871. package/build/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.d.ts +57 -57
  872. package/build/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.js +23 -23
  873. package/build/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.d.ts +31 -31
  874. package/build/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.js +37 -37
  875. package/build/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.d.ts +27 -27
  876. package/build/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.js +32 -32
  877. package/build/_modules/ngx-models/_models/interfaces/button-new-settings.interface.d.ts +61 -61
  878. package/build/_modules/ngx-models/_models/interfaces/button-new-settings.interface.js +2 -2
  879. package/build/_modules/ngx-models/_models/interfaces/confirm-settings.interface.d.ts +16 -16
  880. package/build/_modules/ngx-models/_models/interfaces/confirm-settings.interface.js +2 -2
  881. package/build/_modules/ngx-models/_models/interfaces/global-settings.interface.d.ts +53 -53
  882. package/build/_modules/ngx-models/_models/interfaces/global-settings.interface.js +2 -2
  883. package/build/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.d.ts +37 -37
  884. package/build/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.js +2 -2
  885. package/build/_modules/ngx-models/_models/interfaces/storage.service.d.ts +4 -4
  886. package/build/_modules/ngx-models/_models/interfaces/storage.service.js +44 -44
  887. package/build/_modules/ngx-models/_models/interfaces/storage.service.spec.d.ts +2 -0
  888. package/build/_modules/ngx-models/_models/interfaces/storage.service.spec.d.ts.map +1 -0
  889. package/build/_modules/ngx-models/_models/interfaces/storage.service.spec.js +16 -0
  890. package/build/_modules/ngx-models/_models/interfaces/storage.service.spec.js.map +1 -0
  891. package/build/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.d.ts +19 -19
  892. package/build/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.js +2 -2
  893. package/build/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.d.ts +14 -14
  894. package/build/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.js +2 -2
  895. package/build/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.d.ts +14 -14
  896. package/build/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.js +2 -2
  897. package/build/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.d.ts +15 -15
  898. package/build/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.js +2 -2
  899. package/build/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.d.ts +18 -18
  900. package/build/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.js +2 -2
  901. package/build/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.d.ts +21 -21
  902. package/build/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.js +2 -2
  903. package/build/_modules/ngx-models/_utils/shared.service.d.ts +131 -131
  904. package/build/_modules/ngx-models/_utils/shared.service.js +414 -414
  905. package/build/_modules/ngx-models/_utils/shared.service.spec.d.ts +1 -0
  906. package/build/_modules/ngx-models/_utils/shared.service.spec.d.ts.map +1 -0
  907. package/build/_modules/ngx-models/_utils/shared.service.spec.js +6 -0
  908. package/build/_modules/ngx-models/_utils/shared.service.spec.js.map +1 -0
  909. package/build/_modules/ngx-models/index.d.ts +64 -64
  910. package/build/_modules/ngx-models/index.js +89 -89
  911. package/build/_modules/pipe/_collections/pip-transforms.const.d.ts +7 -7
  912. package/build/_modules/pipe/_collections/pip-transforms.const.js +35 -35
  913. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.d.ts +25 -25
  914. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.js +32 -32
  915. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.d.ts +2 -0
  916. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.d.ts.map +1 -0
  917. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.js +33 -0
  918. package/build/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.js.map +1 -0
  919. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.d.ts +20 -20
  920. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.js +25 -25
  921. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.d.ts +2 -0
  922. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.d.ts.map +1 -0
  923. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.js +36 -0
  924. package/build/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.js.map +1 -0
  925. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.d.ts +17 -17
  926. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.js +24 -24
  927. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.d.ts +2 -0
  928. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.d.ts.map +1 -0
  929. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.js +35 -0
  930. package/build/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.js.map +1 -0
  931. package/build/_modules/pipe/_collections/utils/pip-json-pipe.util.d.ts +16 -16
  932. package/build/_modules/pipe/_collections/utils/pip-json-pipe.util.js +21 -21
  933. package/build/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.d.ts +2 -0
  934. package/build/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.d.ts.map +1 -0
  935. package/build/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.js +46 -0
  936. package/build/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.js.map +1 -0
  937. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.d.ts +17 -17
  938. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.js +22 -22
  939. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.d.ts +2 -0
  940. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.d.ts.map +1 -0
  941. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.js +31 -0
  942. package/build/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.js.map +1 -0
  943. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.d.ts +61 -61
  944. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.js +168 -168
  945. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.d.ts +2 -0
  946. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.d.ts.map +1 -0
  947. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.js +61 -0
  948. package/build/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.js.map +1 -0
  949. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.d.ts +14 -14
  950. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.js +19 -19
  951. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.d.ts +2 -0
  952. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.d.ts.map +1 -0
  953. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.js +26 -0
  954. package/build/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.js.map +1 -0
  955. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.d.ts +16 -16
  956. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.js +67 -67
  957. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.d.ts +2 -0
  958. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.d.ts.map +1 -0
  959. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.js +50 -0
  960. package/build/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.js.map +1 -0
  961. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.d.ts +18 -18
  962. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.js +25 -25
  963. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.d.ts +2 -0
  964. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.d.ts.map +1 -0
  965. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.js +23 -0
  966. package/build/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.js.map +1 -0
  967. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.d.ts +13 -13
  968. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.js +18 -18
  969. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.d.ts +2 -0
  970. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.d.ts.map +1 -0
  971. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.js +38 -0
  972. package/build/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.js.map +1 -0
  973. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.d.ts +16 -16
  974. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.js +29 -29
  975. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.d.ts +2 -0
  976. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.d.ts.map +1 -0
  977. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.js +20 -0
  978. package/build/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.js.map +1 -0
  979. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.d.ts +13 -13
  980. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js +43 -43
  981. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.d.ts +2 -0
  982. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.d.ts.map +1 -0
  983. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.js +50 -0
  984. package/build/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.js.map +1 -0
  985. package/build/_modules/pipe/_enums/pip-range-pipe-setting.enum.d.ts +13 -13
  986. package/build/_modules/pipe/_enums/pip-range-pipe-setting.enum.js +17 -17
  987. package/build/_modules/pipe/_enums/pip.enum.d.ts +39 -39
  988. package/build/_modules/pipe/_enums/pip.enum.js +51 -51
  989. package/build/_modules/pipe/_models/pip-multi-pipe-settings.type.d.ts +4 -4
  990. package/build/_modules/pipe/_models/pip-multi-pipe-settings.type.js +2 -2
  991. package/build/_modules/pipe/_models/pip-transforms.interface.d.ts +18 -18
  992. package/build/_modules/pipe/_models/pip-transforms.interface.js +3 -3
  993. package/build/_modules/pipe/index.d.ts +18 -18
  994. package/build/_modules/pipe/index.js +25 -25
  995. package/build/_modules/security/_collections/stored-secret.util.d.ts +39 -39
  996. package/build/_modules/security/_collections/stored-secret.util.js +72 -72
  997. package/build/_modules/security/_collections/stored-secret.util.spec.d.ts +2 -0
  998. package/build/_modules/security/_collections/stored-secret.util.spec.d.ts.map +1 -0
  999. package/build/_modules/security/_collections/stored-secret.util.spec.js +69 -0
  1000. package/build/_modules/security/_collections/stored-secret.util.spec.js.map +1 -0
  1001. package/build/_modules/security/_models/stored-secret.control-model.d.ts +45 -45
  1002. package/build/_modules/security/_models/stored-secret.control-model.js +53 -53
  1003. package/build/_modules/security/index.d.ts +3 -3
  1004. package/build/_modules/security/index.js +10 -10
  1005. package/build/_modules/socket/_enums/sck-event-key.enum.d.ts +17 -17
  1006. package/build/_modules/socket/_enums/sck-event-key.enum.js +21 -21
  1007. package/build/_modules/socket/_models/sck-client-params.control-model.d.ts +23 -23
  1008. package/build/_modules/socket/_models/sck-client-params.control-model.js +37 -37
  1009. package/build/_modules/socket/_models/sck-client-params.control-model.spec.d.ts +2 -0
  1010. package/build/_modules/socket/_models/sck-client-params.control-model.spec.d.ts.map +1 -0
  1011. package/build/_modules/socket/_models/sck-client-params.control-model.spec.js +54 -0
  1012. package/build/_modules/socket/_models/sck-client-params.control-model.spec.js.map +1 -0
  1013. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts +4 -6
  1014. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts.map +1 -1
  1015. package/build/_modules/socket/_models/sck-socket-event.control-model.js +9 -7
  1016. package/build/_modules/socket/_models/sck-socket-event.control-model.js.map +1 -1
  1017. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.d.ts +2 -0
  1018. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.d.ts.map +1 -0
  1019. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.js +61 -0
  1020. package/build/_modules/socket/_models/sck-socket-event.control-model.spec.js.map +1 -0
  1021. package/build/_modules/socket/_services/sck-client.service-base.d.ts +57 -57
  1022. package/build/_modules/socket/_services/sck-client.service-base.js +272 -272
  1023. package/build/_modules/socket/_services/sck-client.service-base.spec.d.ts +2 -0
  1024. package/build/_modules/socket/_services/sck-client.service-base.spec.d.ts.map +1 -0
  1025. package/build/_modules/socket/_services/sck-client.service-base.spec.js +82 -0
  1026. package/build/_modules/socket/_services/sck-client.service-base.spec.js.map +1 -0
  1027. package/build/_modules/socket/index.d.ts +4 -4
  1028. package/build/_modules/socket/index.js +10 -10
  1029. package/build/_modules/state-machine/_models/state-machine-config.interface.d.ts +18 -18
  1030. package/build/_modules/state-machine/_models/state-machine-config.interface.js +2 -2
  1031. package/build/_modules/state-machine/_models/state-machine-event.interface.d.ts +25 -25
  1032. package/build/_modules/state-machine/_models/state-machine-event.interface.js +2 -2
  1033. package/build/_modules/state-machine/_models/state-machine.control-model.d.ts +112 -112
  1034. package/build/_modules/state-machine/_models/state-machine.control-model.js +263 -263
  1035. package/build/_modules/state-machine/_models/state-machine.control-model.spec.d.ts +2 -0
  1036. package/build/_modules/state-machine/_models/state-machine.control-model.spec.d.ts.map +1 -0
  1037. package/build/_modules/state-machine/_models/state-machine.control-model.spec.js +282 -0
  1038. package/build/_modules/state-machine/_models/state-machine.control-model.spec.js.map +1 -0
  1039. package/build/_modules/state-machine/_models/state-transition-result.interface.d.ts +39 -39
  1040. package/build/_modules/state-machine/_models/state-transition-result.interface.js +2 -2
  1041. package/build/_modules/state-machine/_models/state-transition.interface.d.ts +30 -30
  1042. package/build/_modules/state-machine/_models/state-transition.interface.js +2 -2
  1043. package/build/_modules/state-machine/index.d.ts +5 -5
  1044. package/build/_modules/state-machine/index.js +9 -9
  1045. package/build/_modules/test/_collections/tst-module-settings.const.d.ts +46 -46
  1046. package/build/_modules/test/_collections/tst-module-settings.const.js +41 -41
  1047. package/build/_modules/test/index.d.ts +1 -1
  1048. package/build/_modules/test/index.js +5 -5
  1049. package/build/_modules/usage/_collections/usg-module-settings.const.d.ts +19 -19
  1050. package/build/_modules/usage/_collections/usg-module-settings.const.js +19 -19
  1051. package/build/_modules/usage/_models/usg-action.control-model.d.ts +18 -18
  1052. package/build/_modules/usage/_models/usg-action.control-model.js +26 -26
  1053. package/build/_modules/usage/_models/usg-action.control-model.spec.d.ts +2 -0
  1054. package/build/_modules/usage/_models/usg-action.control-model.spec.d.ts.map +1 -0
  1055. package/build/_modules/usage/_models/usg-action.control-model.spec.js +24 -0
  1056. package/build/_modules/usage/_models/usg-action.control-model.spec.js.map +1 -0
  1057. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.d.ts +24 -24
  1058. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.js +31 -31
  1059. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.d.ts +2 -0
  1060. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.d.ts.map +1 -0
  1061. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.js +33 -0
  1062. package/build/_modules/usage/_models/usg-daily-usage-data.control-model.spec.js.map +1 -0
  1063. package/build/_modules/usage/_models/usg-data.control-model.d.ts +25 -25
  1064. package/build/_modules/usage/_models/usg-data.control-model.js +31 -31
  1065. package/build/_modules/usage/_models/usg-data.control-model.spec.d.ts +2 -0
  1066. package/build/_modules/usage/_models/usg-data.control-model.spec.d.ts.map +1 -0
  1067. package/build/_modules/usage/_models/usg-data.control-model.spec.js +37 -0
  1068. package/build/_modules/usage/_models/usg-data.control-model.spec.js.map +1 -0
  1069. package/build/_modules/usage/_models/usg-session.data-model.d.ts +34 -34
  1070. package/build/_modules/usage/_models/usg-session.data-model.js +61 -61
  1071. package/build/_modules/usage/_models/usg-session.data-model.spec.d.ts +2 -0
  1072. package/build/_modules/usage/_models/usg-session.data-model.spec.d.ts.map +1 -0
  1073. package/build/_modules/usage/_models/usg-session.data-model.spec.js +82 -0
  1074. package/build/_modules/usage/_models/usg-session.data-model.spec.js.map +1 -0
  1075. package/build/_modules/usage/index.d.ts +5 -5
  1076. package/build/_modules/usage/index.js +10 -10
  1077. package/build/index.d.ts +70 -70
  1078. package/build/index.js +88 -88
  1079. package/eslint.config.js +4 -4
  1080. package/nodemon.json +22 -22
  1081. package/package.json +306 -306
  1082. package/pnpm-workspace.yaml +2 -2
  1083. package/scripts/_capture-out/ai-error-capture.json +398 -398
  1084. package/scripts/ai-error-capture.js +171 -171
  1085. package/scripts/ai-model-registry-check.js +132 -132
  1086. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  1087. package/scripts/crypto/README.md +113 -113
  1088. package/scripts/crypto/demo-crypto-stability.js +120 -120
  1089. package/scripts/crypto/stress-test-crypto.js +379 -379
  1090. package/scripts/run-coverage-tests.js +24 -24
  1091. package/scripts/verify-build-completeness.js +62 -62
  1092. package/spec/support/helpers/ts-node-helper.js +9 -9
  1093. package/spec/support/jasmine.coverage.json +23 -23
  1094. package/spec/support/jasmine.json +24 -24
  1095. package/src/_collections/constants/data-sizes.const.ts +40 -40
  1096. package/src/_collections/constants/error-defaults.const.ts +20 -20
  1097. package/src/_collections/constants/global-settings.const.spec.ts +32 -32
  1098. package/src/_collections/constants/global-settings.const.ts +29 -29
  1099. package/src/_collections/constants/numbers.const.ts +40 -40
  1100. package/src/_collections/constants/times.const.ts +45 -45
  1101. package/src/_collections/utils/array.util.spec.ts +306 -306
  1102. package/src/_collections/utils/array.util.ts +813 -813
  1103. package/src/_collections/utils/async.util.spec.ts +398 -398
  1104. package/src/_collections/utils/async.util.ts +208 -208
  1105. package/src/_collections/utils/data.util.spec.ts +345 -345
  1106. package/src/_collections/utils/data.util.ts +226 -226
  1107. package/src/_collections/utils/extract-error-message.util.spec.ts +204 -204
  1108. package/src/_collections/utils/extract-error-message.util.ts +223 -223
  1109. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  1110. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  1111. package/src/_collections/utils/log.util.spec.ts +975 -975
  1112. package/src/_collections/utils/log.util.ts +667 -667
  1113. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  1114. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  1115. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  1116. package/src/_collections/utils/math/math.util.ts +141 -141
  1117. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  1118. package/src/_collections/utils/math/random.util.ts +139 -139
  1119. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  1120. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  1121. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  1122. package/src/_collections/utils/math/vector2.util.ts +653 -653
  1123. package/src/_collections/utils/object.util.spec.ts +646 -646
  1124. package/src/_collections/utils/object.util.ts +739 -739
  1125. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  1126. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  1127. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  1128. package/src/_collections/utils/regex/regex.util.ts +6 -6
  1129. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  1130. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  1131. package/src/_collections/utils/require-env.util.spec.ts +231 -231
  1132. package/src/_collections/utils/require-env.util.ts +138 -138
  1133. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  1134. package/src/_collections/utils/round-list.util.ts +162 -162
  1135. package/src/_collections/utils/secret-mask.util.spec.ts +66 -66
  1136. package/src/_collections/utils/secret-mask.util.ts +262 -262
  1137. package/src/_collections/utils/stack.util.spec.ts +372 -372
  1138. package/src/_collections/utils/stack.util.ts +164 -164
  1139. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  1140. package/src/_collections/utils/string-case.util.ts +362 -362
  1141. package/src/_collections/utils/string.util.spec.ts +975 -975
  1142. package/src/_collections/utils/string.util.ts +449 -449
  1143. package/src/_collections/utils/time.util.spec.ts +50 -50
  1144. package/src/_collections/utils/time.util.ts +481 -481
  1145. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  1146. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  1147. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  1148. package/src/_collections/utils/utilities.util.ts +68 -68
  1149. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  1150. package/src/_collections/utils/uuid.util.ts +50 -50
  1151. package/src/_enums/basic-property-type.enum.ts +20 -20
  1152. package/src/_enums/data-model-type.enum.ts +29 -29
  1153. package/src/_enums/environment-flag.enum.ts +28 -28
  1154. package/src/_enums/error-level.enum.ts +43 -43
  1155. package/src/_enums/error-status.enum.ts +30 -30
  1156. package/src/_enums/http/http-call-type.enum.ts +43 -43
  1157. package/src/_enums/http/http-event-type.enum.ts +40 -40
  1158. package/src/_enums/http/http-response-type.enum.ts +18 -18
  1159. package/src/_enums/log-style.enum.ts +44 -44
  1160. package/src/_enums/server-connection-status.enum.ts +6 -6
  1161. package/src/_enums/time/day-of-week.enum.ts +55 -55
  1162. package/src/_enums/time/month.enum.ts +25 -25
  1163. package/src/_enums/time/relative-date.enum.ts +24 -24
  1164. package/src/_models/control-models/data-model-params.control-model.spec.ts +156 -156
  1165. package/src/_models/control-models/data-model-params.control-model.ts +362 -362
  1166. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  1167. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  1168. package/src/_models/control-models/error.control-model.spec.ts +975 -975
  1169. package/src/_models/control-models/error.control-model.ts +1280 -1280
  1170. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  1171. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  1172. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  1173. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  1174. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  1175. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  1176. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  1177. package/src/_models/control-models/poll.control-model.ts +151 -151
  1178. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  1179. package/src/_models/control-models/range-value.control-model.ts +289 -289
  1180. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  1181. package/src/_models/control-models/server-status.control-model.ts +94 -94
  1182. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  1183. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  1184. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  1185. package/src/_models/data-models/errors.data-model.ts +200 -200
  1186. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  1187. package/src/_models/data-models/metadata.data-model.ts +153 -153
  1188. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  1189. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  1190. package/src/_models/interfaces/environment/global-settings.interface.ts +69 -69
  1191. package/src/_models/interfaces/error-defaults.interface.ts +18 -18
  1192. package/src/_models/interfaces/paged.interface.ts +12 -12
  1193. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  1194. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  1195. package/src/_models/interfaces/search-query.interface.ts +23 -23
  1196. package/src/_models/interfaces/search-result.interface.ts +5 -5
  1197. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  1198. package/src/_models/interfaces/vector2.interface.ts +20 -20
  1199. package/src/_models/types/db-filter.type.ts +110 -110
  1200. package/src/_models/types/db-sort.type.ts +4 -4
  1201. package/src/_models/types/ds-filter.type.ts +68 -68
  1202. package/src/_models/types/ds-sort.type.ts +21 -21
  1203. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  1204. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  1205. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  1206. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  1207. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  1208. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  1209. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  1210. package/src/_modules/ai/_models/ai-config.interface.ts +14 -14
  1211. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  1212. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  1213. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  1214. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  1215. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  1216. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  1217. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  1218. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  1219. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  1220. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  1221. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  1222. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  1223. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  1224. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  1225. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  1226. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  1227. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  1228. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  1229. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  1230. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  1231. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  1232. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  1233. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  1234. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  1235. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  1236. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  1237. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  1238. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  1239. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  1240. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  1241. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  1242. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  1243. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  1244. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  1245. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  1246. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  1247. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  1248. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  1249. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  1250. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  1251. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  1252. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  1253. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  1254. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  1255. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  1256. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  1257. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  1258. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  1259. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  1260. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  1261. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  1262. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  1263. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  1264. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  1265. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  1266. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  1267. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  1268. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  1269. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  1270. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  1271. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  1272. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  1273. package/src/_modules/ai/index.ts +27 -27
  1274. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  1275. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  1276. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  1277. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  1278. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  1279. package/src/_modules/ci-tools/index.ts +8 -8
  1280. package/src/_modules/crypto/_collections/crypto-v1.util.ts +225 -225
  1281. package/src/_modules/crypto/_collections/crypto-v2.util.ts +331 -331
  1282. package/src/_modules/crypto/_collections/crypto-v4.util.ts +702 -702
  1283. package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +51 -51
  1284. package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +605 -605
  1285. package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +642 -642
  1286. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  1287. package/src/_modules/crypto/_collections/crypto.util.ts +748 -748
  1288. package/src/_modules/crypto/index.ts +13 -13
  1289. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  1290. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  1291. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  1292. package/src/_modules/custom-data/index.ts +10 -10
  1293. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  1294. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  1295. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  1296. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  1297. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  1298. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  1299. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  1300. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  1301. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  1302. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  1303. package/src/_modules/data-handler/index.ts +6 -6
  1304. package/src/_modules/game/_collections/audio-mixer.util.spec.ts +198 -198
  1305. package/src/_modules/game/_collections/audio-mixer.util.ts +143 -143
  1306. package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -140
  1307. package/src/_modules/game/_collections/audio-scale.util.ts +129 -129
  1308. package/src/_modules/game/_enums/audio-channel.enum.ts +22 -22
  1309. package/src/_modules/game/_models/audio-mixer-config.interface.ts +53 -53
  1310. package/src/_modules/game/_models/audio-mixer-settings.interface.ts +38 -38
  1311. package/src/_modules/game/_models/audio-mixer-state.interface.ts +36 -36
  1312. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +376 -376
  1313. package/src/_modules/game/_models/audio-mixer.control-model.ts +419 -419
  1314. package/src/_modules/game/_models/audio-scale.interface.ts +21 -21
  1315. package/src/_modules/game/_models/seeded-random-state.interface.ts +21 -21
  1316. package/src/_modules/game/_models/seeded-random.control-model.spec.ts +290 -290
  1317. package/src/_modules/game/_models/seeded-random.control-model.ts +311 -311
  1318. package/src/_modules/game/index.ts +15 -15
  1319. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  1320. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  1321. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  1322. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  1323. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  1324. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  1325. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  1326. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  1327. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  1328. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  1329. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  1330. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  1331. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  1332. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  1333. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  1334. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  1335. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  1336. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  1337. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  1338. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  1339. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  1340. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  1341. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  1342. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  1343. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  1344. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  1345. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  1346. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  1347. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  1348. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  1349. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  1350. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  1351. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  1352. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  1353. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  1354. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  1355. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  1356. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  1357. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  1358. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  1359. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  1360. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  1361. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  1362. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  1363. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  1364. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  1365. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  1366. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  1367. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  1368. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  1369. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  1370. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  1371. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  1372. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  1373. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  1374. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  1375. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  1376. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  1377. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  1378. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  1379. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  1380. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  1381. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  1382. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  1383. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  1384. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  1385. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  1386. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  1387. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  1388. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  1389. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  1390. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  1391. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  1392. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  1393. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  1394. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  1395. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  1396. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  1397. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  1398. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  1399. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  1400. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  1401. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  1402. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  1403. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  1404. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  1405. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  1406. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  1407. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  1408. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  1409. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  1410. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  1411. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  1412. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  1413. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  1414. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  1415. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  1416. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  1417. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  1418. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  1419. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  1420. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  1421. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  1422. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  1423. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  1424. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  1425. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  1426. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  1427. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  1428. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  1429. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  1430. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  1431. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  1432. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  1433. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  1434. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  1435. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  1436. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  1437. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  1438. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  1439. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  1440. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  1441. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  1442. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  1443. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  1444. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  1445. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  1446. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  1447. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  1448. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  1449. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  1450. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  1451. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  1452. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  1453. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  1454. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  1455. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  1456. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  1457. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  1458. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  1459. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  1460. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  1461. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  1462. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  1463. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  1464. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  1465. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  1466. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  1467. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  1468. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  1469. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  1470. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  1471. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  1472. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  1473. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  1474. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  1475. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  1476. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  1477. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  1478. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  1479. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  1480. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  1481. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  1482. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  1483. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  1484. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  1485. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  1486. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  1487. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  1488. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  1489. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  1490. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  1491. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  1492. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  1493. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  1494. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  1495. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  1496. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  1497. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  1498. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  1499. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  1500. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  1501. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  1502. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  1503. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  1504. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  1505. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  1506. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  1507. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  1508. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  1509. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  1510. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  1511. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  1512. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  1513. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  1514. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  1515. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  1516. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  1517. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  1518. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  1519. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  1520. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  1521. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  1522. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  1523. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  1524. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  1525. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  1526. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  1527. package/src/_modules/location/_collections/loc.util.ts +74 -74
  1528. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  1529. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  1530. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  1531. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  1532. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  1533. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  1534. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  1535. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  1536. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  1537. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  1538. package/src/_modules/location/index.ts +22 -22
  1539. package/src/_modules/messaging/README.md +279 -279
  1540. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  1541. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  1542. package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +20 -20
  1543. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  1544. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  1545. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  1546. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  1547. package/src/_modules/messaging/_enums/msg-status.enum.ts +26 -26
  1548. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  1549. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  1550. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  1551. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  1552. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  1553. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  1554. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  1555. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  1556. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  1557. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  1558. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  1559. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  1560. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  1561. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  1562. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  1563. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  1564. package/src/_modules/messaging/index.ts +28 -28
  1565. package/src/_modules/ngx-models/_collections/angular-placeholders.ts +34 -34
  1566. package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +181 -181
  1567. package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +74 -74
  1568. package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +103 -103
  1569. package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +16 -16
  1570. package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +14 -14
  1571. package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +16 -16
  1572. package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +18 -18
  1573. package/src/_modules/ngx-models/_enums/button-type.enum.ts +36 -36
  1574. package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +8 -8
  1575. package/src/_modules/ngx-models/_enums/container-type.enum.ts +11 -11
  1576. package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +13 -13
  1577. package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +13 -13
  1578. package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +13 -13
  1579. package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +14 -14
  1580. package/src/_modules/ngx-models/_enums/field-type.enum.ts +52 -52
  1581. package/src/_modules/ngx-models/_enums/file-type.enum.ts +12 -12
  1582. package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +21 -21
  1583. package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +5 -5
  1584. package/src/_modules/ngx-models/_enums/form-access.enum.ts +9 -9
  1585. package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +12 -12
  1586. package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +9 -9
  1587. package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +20 -20
  1588. package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +15 -15
  1589. package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +10 -10
  1590. package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +13 -13
  1591. package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +27 -27
  1592. package/src/_modules/ngx-models/_enums/material-color.enum.ts +16 -16
  1593. package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +16 -16
  1594. package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +8 -8
  1595. package/src/_modules/ngx-models/_enums/storage-type.enum.ts +15 -15
  1596. package/src/_modules/ngx-models/_enums/validator-type.enum.ts +9 -9
  1597. package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +14 -14
  1598. package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +26 -26
  1599. package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +20 -20
  1600. package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +37 -37
  1601. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +70 -70
  1602. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +332 -332
  1603. package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +28 -28
  1604. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +90 -90
  1605. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +134 -134
  1606. package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +529 -529
  1607. package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +52 -52
  1608. package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +34 -34
  1609. package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +86 -86
  1610. package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +52 -52
  1611. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +109 -109
  1612. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +133 -133
  1613. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +109 -109
  1614. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +160 -160
  1615. package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +25 -25
  1616. package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +26 -26
  1617. package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +42 -42
  1618. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +35 -35
  1619. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +35 -35
  1620. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +85 -85
  1621. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +42 -42
  1622. package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +40 -40
  1623. package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +179 -179
  1624. package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +20 -20
  1625. package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +27 -27
  1626. package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +24 -24
  1627. package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +35 -35
  1628. package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +35 -35
  1629. package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +46 -46
  1630. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +37 -37
  1631. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +45 -45
  1632. package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +30 -30
  1633. package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +22 -22
  1634. package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +108 -108
  1635. package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +52 -52
  1636. package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +40 -40
  1637. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +55 -55
  1638. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +30 -30
  1639. package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +45 -45
  1640. package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +28 -28
  1641. package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +111 -111
  1642. package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +74 -74
  1643. package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +42 -42
  1644. package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +37 -37
  1645. package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +74 -74
  1646. package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +20 -20
  1647. package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +67 -67
  1648. package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +40 -40
  1649. package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +18 -18
  1650. package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +40 -40
  1651. package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +19 -19
  1652. package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +14 -14
  1653. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +14 -14
  1654. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +15 -15
  1655. package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +18 -18
  1656. package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +21 -21
  1657. package/src/_modules/ngx-models/_utils/shared.service.spec.ts +7 -7
  1658. package/src/_modules/ngx-models/_utils/shared.service.ts +541 -541
  1659. package/src/_modules/ngx-models/index.ts +110 -110
  1660. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  1661. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  1662. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  1663. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  1664. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  1665. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  1666. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  1667. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  1668. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  1669. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  1670. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  1671. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  1672. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  1673. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  1674. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  1675. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  1676. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  1677. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  1678. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  1679. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  1680. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  1681. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  1682. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  1683. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  1684. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  1685. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  1686. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  1687. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  1688. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  1689. package/src/_modules/pipe/index.ts +30 -30
  1690. package/src/_modules/security/_collections/stored-secret.util.spec.ts +81 -81
  1691. package/src/_modules/security/_collections/stored-secret.util.ts +96 -96
  1692. package/src/_modules/security/_models/stored-secret.control-model.ts +55 -55
  1693. package/src/_modules/security/index.ts +9 -9
  1694. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  1695. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  1696. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  1697. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +80 -57
  1698. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +181 -168
  1699. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  1700. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  1701. package/src/_modules/socket/index.ts +14 -14
  1702. package/src/_modules/state-machine/_models/state-machine-config.interface.ts +19 -19
  1703. package/src/_modules/state-machine/_models/state-machine-event.interface.ts +25 -25
  1704. package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +314 -314
  1705. package/src/_modules/state-machine/_models/state-machine.control-model.ts +298 -298
  1706. package/src/_modules/state-machine/_models/state-transition-result.interface.ts +53 -53
  1707. package/src/_modules/state-machine/_models/state-transition.interface.ts +30 -30
  1708. package/src/_modules/state-machine/index.ts +6 -6
  1709. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  1710. package/src/_modules/test/index.ts +5 -5
  1711. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  1712. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  1713. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  1714. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  1715. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  1716. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  1717. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  1718. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  1719. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  1720. package/src/_modules/usage/index.ts +11 -11
  1721. package/src/index.ts +104 -104
  1722. package/tsconfig.app.json +12 -12
  1723. package/tsconfig.json +31 -31
  1724. package/tsconfig.test.json +16 -16
  1725. package/tslint.json +153 -153
  1726. package/__documentations/2026-05-17-oai-compatible-providers-howto.md +0 -282
  1727. package/__documentations/2026-06-01-fr047-fc-foundation.md +0 -48
  1728. package/__documentations/2026-06-01-fr047-fr048-code-review.md +0 -153
  1729. package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +0 -75
  1730. package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +0 -37
  1731. package/__documentations/2026-06-06-ngx-models-merge-completion.md +0 -100
  1732. package/__documentations/2026-06-22-dyfm-error-extends-error.md +0 -109
  1733. package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +0 -75
  1734. package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +0 -103
  1735. package/__documentations/plans/02-consumer-rollout.md +0 -84
@@ -1,702 +1,702 @@
1
- import * as CryptoJS from 'crypto-js';
2
- import {
3
- DyFM_Error,
4
- DyFM_Error_Settings
5
- } from '../../../_models/control-models/error.control-model';
6
- import { DyFM_Object } from '../../../_collections/utils/object.util';
7
-
8
-
9
- /**
10
- * Configuration options for encryption/decryption
11
- */
12
- export interface CryptoConfig {
13
- ivLength?: number;
14
- saltLength?: number;
15
- keyIterations?: number;
16
- keySize?: number;
17
- }
18
-
19
- // Compact: about 60–80 character tokens, not 200+
20
- // Non-standard: hard to reverse-engineer
21
- // Usable in cookies, headers, URLs
22
-
23
- /**
24
- * A utility class for stable encryption and decryption of data
25
- * Uses AES-256-CBC with deterministic IV and salt for consistent results across systems
26
- * Prioritizes reliability and cross-platform compatibility over security
27
- *
28
- * @important DETERMINISTIC ENCRYPTION: This implementation produces identical encrypted
29
- * output for identical input data and key across different systems and multiple calls.
30
- * The same input will ALWAYS generate the same encrypted string on any platform.
31
- *
32
- * @warning SECURITY NOTICE: This deterministic behavior is intentional for cross-platform
33
- * compatibility but reduces security. Identical inputs produce identical outputs, which
34
- * can be exploited for pattern analysis attacks. Use only when consistency across
35
- * systems is more important than cryptographic security.
36
- */
37
- export class DyFM_Crypto {
38
- private static readonly CRYPTO_VERSION = '1.0';
39
- private static readonly DEFAULT_CONFIG: Required<CryptoConfig> = {
40
- ivLength: 16, // 128 bits
41
- saltLength: 16, // 128 bits
42
- keyIterations: 1000, // Reduced for better performance and stability
43
- keySize: 8 // 256 bits (8 * 32)
44
- };
45
- private static readonly defaultErrorUserMsg =
46
- `We encountered an unhandled Authentication Error, ` +
47
- `\nplease contact the responsible development team.`;
48
-
49
- // Key derivation cache for performance optimization
50
- private static keyCache = new Map<string, CryptoJS.lib.WordArray>();
51
- private static readonly MAX_CACHE_SIZE = 100;
52
-
53
- /**
54
- * Validates the input data and key with comprehensive error messages
55
- * @throws {DyFM_Error} if validation fails
56
- */
57
- private static validateInput(data: any, key: string, operation: 'encrypt' | 'decrypt'): void {
58
- // Validate key
59
- if (!key) {
60
- throw new DyFM_Error({
61
- ...this.getDefaultErrorSettings(operation),
62
- errorCode: 'DyFM-CRY-KEY-MISSING',
63
- message: `Encryption key is required for ${operation} operation. Please provide a valid key.`
64
- });
65
- }
66
-
67
- if (typeof key !== 'string') {
68
- throw new DyFM_Error({
69
- ...this.getDefaultErrorSettings(operation),
70
- errorCode: 'DyFM-CRY-KEY-TYPE',
71
- message: `Encryption key must be a string, but received ${typeof key}. Please provide a valid string key.`
72
- });
73
- }
74
-
75
- if (key.trim().length === 0) {
76
- throw new DyFM_Error({
77
- ...this.getDefaultErrorSettings(operation),
78
- errorCode: 'DyFM-CRY-KEY-EMPTY',
79
- message: 'Encryption key cannot be empty or contain only whitespace. Please provide a non-empty key.'
80
- });
81
- }
82
-
83
- // Only warn about weak keys but don't reject them for backward compatibility
84
- if (key.length < 8) {
85
- console.warn('Warning: Encryption key is too short (minimum 8 characters recommended). Consider using a stronger key for better security.');
86
- }
87
-
88
- // Validate data based on operation
89
- if (operation === 'encrypt') {
90
- this.validateEncryptData(data);
91
- } else if (operation === 'decrypt') {
92
- this.validateDecryptData(data);
93
- }
94
- }
95
-
96
- /**
97
- * Validates data for encryption
98
- */
99
- private static validateEncryptData(data: any): void {
100
- if (data === undefined) {
101
- throw new DyFM_Error({
102
- ...this.getDefaultErrorSettings('encrypt'),
103
- errorCode: 'DyFM-CRY-DATA-UNDEFINED',
104
- message: 'Cannot encrypt undefined data. Please provide valid data to encrypt.'
105
- });
106
- }
107
-
108
- if (data === null) {
109
- throw new DyFM_Error({
110
- ...this.getDefaultErrorSettings('encrypt'),
111
- errorCode: 'DyFM-CRY-DATA-NULL',
112
- message: 'Cannot encrypt null data. Please provide valid data to encrypt.'
113
- });
114
- }
115
-
116
- // Check for empty strings
117
- if (typeof data === 'string' && data.trim().length === 0) {
118
- throw new DyFM_Error({
119
- ...this.getDefaultErrorSettings('encrypt'),
120
- errorCode: 'DyFM-CRY-DATA-EMPTY-STRING',
121
- message: 'Cannot encrypt empty string. Please provide non-empty data to encrypt.'
122
- });
123
- }
124
-
125
- // Allow empty objects and arrays for backward compatibility
126
- // Only reject truly empty data like empty strings
127
- }
128
-
129
- /**
130
- * Validates data for decryption
131
- */
132
- private static validateDecryptData(data: any): void {
133
- if (data === undefined) {
134
- throw new DyFM_Error({
135
- ...this.getDefaultErrorSettings('decrypt'),
136
- errorCode: 'DyFM-CRY-ENCRYPTED-UNDEFINED',
137
- message: 'Cannot decrypt undefined data. Please provide valid encrypted data to decrypt.'
138
- });
139
- }
140
-
141
- if (data === null) {
142
- throw new DyFM_Error({
143
- ...this.getDefaultErrorSettings('decrypt'),
144
- errorCode: 'DyFM-CRY-ENCRYPTED-NULL',
145
- message: 'Cannot decrypt null data. Please provide valid encrypted data to decrypt.'
146
- });
147
- }
148
-
149
- if (typeof data !== 'string') {
150
- throw new DyFM_Error({
151
- ...this.getDefaultErrorSettings('decrypt'),
152
- errorCode: 'DyFM-CRY-ENCRYPTED-TYPE',
153
- message: `Encrypted data must be a string, but received ${typeof data}. Please provide valid encrypted string data.`
154
- });
155
- }
156
-
157
- if (data.trim().length === 0) {
158
- throw new DyFM_Error({
159
- ...this.getDefaultErrorSettings('decrypt'),
160
- errorCode: 'DyFM-CRY-ENCRYPTED-EMPTY',
161
- message: 'Cannot decrypt empty string. Please provide valid encrypted data to decrypt.'
162
- });
163
- }
164
-
165
- if (data.length < 10) {
166
- throw new DyFM_Error({
167
- ...this.getDefaultErrorSettings('decrypt'),
168
- errorCode: 'DyFM-CRY-ENCRYPTED-TOO-SHORT',
169
- message: 'Encrypted data appears to be too short to be valid. Please check the encrypted data.'
170
- });
171
- }
172
-
173
- // Check if it looks like valid encrypted data format
174
- if (!/^[A-Za-z0-9\-_]+$/.test(data)) {
175
- throw new DyFM_Error({
176
- ...this.getDefaultErrorSettings('decrypt'),
177
- errorCode: 'DyFM-CRY-ENCRYPTED-INVALID-FORMAT',
178
- message: 'Encrypted data does not appear to be in valid format. Expected URL-safe base64 format.'
179
- });
180
- }
181
- }
182
-
183
- /**
184
- * Generates a deterministic IV based on the input data and key
185
- * Uses SHA-256 with proper truncation for maximum stability
186
- *
187
- * @important DETERMINISTIC: Same data + key will ALWAYS produce the same IV
188
- * across all systems and CryptoJS versions for consistent encryption results
189
- */
190
- private static generateIV(data: string, key: string, config: Required<CryptoConfig>): CryptoJS.lib.WordArray {
191
- // Create a deterministic seed from data and key
192
- const seed = this.createDeterministicSeed(data, key, 'IV');
193
-
194
- // Use SHA-256 for better stability and consistency
195
- const hash = CryptoJS.SHA256(seed);
196
-
197
- // Extract exactly 16 bytes (128 bits) for IV
198
- // Use the first 4 words (4 * 4 = 16 bytes) from the hash
199
- const ivWords = hash.words.slice(0, 4);
200
- return CryptoJS.lib.WordArray.create(ivWords);
201
- }
202
-
203
- /**
204
- * Generates a deterministic salt based on the input data and key
205
- * Uses SHA-256 with proper truncation for maximum stability
206
- *
207
- * @important DETERMINISTIC: Same data + key will ALWAYS produce the same salt
208
- * across all systems and CryptoJS versions for consistent encryption results
209
- */
210
- private static generateSalt(data: string, key: string, config: Required<CryptoConfig>): CryptoJS.lib.WordArray {
211
- // Create a deterministic seed from data and key (different from IV)
212
- const seed = this.createDeterministicSeed(data, key, 'SALT');
213
-
214
- // Use SHA-256 for better stability and consistency
215
- const hash = CryptoJS.SHA256(seed);
216
-
217
- // Extract exactly 16 bytes (128 bits) for salt
218
- // Use the first 4 words (4 * 4 = 16 bytes) from the hash
219
- const saltWords = hash.words.slice(0, 4);
220
- return CryptoJS.lib.WordArray.create(saltWords);
221
- }
222
-
223
- /**
224
- * Creates a deterministic seed for IV/salt generation
225
- * Ensures consistent output across all environments and versions
226
- */
227
- private static createDeterministicSeed(data: string, key: string, purpose: string): string {
228
- // Create a consistent seed that includes all relevant factors
229
- // Order matters: data + key + purpose for consistency
230
- const seed = `${data}|${key}|${purpose}`;
231
- return seed;
232
- }
233
-
234
- /**
235
- * Generates a cache key for the derived key based on the input key and salt
236
- */
237
- private static generateCacheKey(key: string, salt: CryptoJS.lib.WordArray): string {
238
- // Create a deterministic cache key from key and salt
239
- const saltHex = salt.toString(CryptoJS.enc.Hex);
240
- return `${key}|${saltHex}`;
241
- }
242
-
243
- /**
244
- * Manages cache size by removing oldest entries when limit is exceeded
245
- */
246
- private static manageCacheSize(): void {
247
- if (this.keyCache.size >= this.MAX_CACHE_SIZE) {
248
- // Remove oldest entries (Map maintains insertion order)
249
- const entriesToRemove = this.keyCache.size - this.MAX_CACHE_SIZE + 10; // Remove 10 extra for efficiency
250
- const keysToRemove = Array.from(this.keyCache.keys()).slice(0, entriesToRemove);
251
- keysToRemove.forEach(key => this.keyCache.delete(key));
252
- }
253
- }
254
-
255
- /**
256
- * Derives a key using PBKDF2 with reduced iterations for stability
257
- * Uses caching to avoid redundant PBKDF2 computations for better performance
258
- */
259
- private static deriveKey(key: string, salt: CryptoJS.lib.WordArray, config: Required<CryptoConfig>): CryptoJS.lib.WordArray {
260
- const cacheKey = this.generateCacheKey(key, salt);
261
-
262
- // Check cache first
263
- if (this.keyCache.has(cacheKey)) {
264
- return this.keyCache.get(cacheKey)!;
265
- }
266
-
267
- // Compute new key using PBKDF2
268
- const derivedKey = CryptoJS.PBKDF2(key, salt, {
269
- keySize: config.keySize,
270
- iterations: config.keyIterations
271
- });
272
-
273
- // Store in cache and manage size
274
- this.keyCache.set(cacheKey, derivedKey);
275
- this.manageCacheSize();
276
-
277
- return derivedKey;
278
- }
279
-
280
- /**
281
- * Safely serializes data to JSON with deterministic ordering
282
- * Uses regular JSON.stringify but ensures consistency through other means
283
- */
284
- private static safeSerialize<T>(data: T): string {
285
- try {
286
- // Use regular JSON.stringify for backward compatibility
287
- // The deterministic behavior comes from the IV/salt generation, not serialization
288
- return JSON.stringify(data);
289
- } catch (error) {
290
- throw new DyFM_Error({
291
- ...this.getDefaultErrorSettings('safeSerialize', error),
292
- errorCode: 'DyFM-CRY-SER',
293
- message: 'Failed to serialize data'
294
- });
295
- }
296
- }
297
-
298
- /**
299
- * Deterministic JSON stringify that produces identical output across environments
300
- * Uses a hybrid approach: sorts keys for consistency but preserves order for arrays
301
- */
302
- private static deterministicStringify(obj: any): string {
303
- if (obj === null) return 'null';
304
- if (obj === undefined) return 'undefined';
305
- if (typeof obj === 'string') return JSON.stringify(obj);
306
- if (typeof obj === 'number') return JSON.stringify(obj);
307
- if (typeof obj === 'boolean') return JSON.stringify(obj);
308
-
309
- if (Array.isArray(obj)) {
310
- const items = obj.map(item => this.deterministicStringify(item));
311
- return '[' + items.join(',') + ']';
312
- }
313
-
314
- if (typeof obj === 'object') {
315
- // For objects, we need to be more careful about key ordering
316
- // Use a stable sort that preserves original order when possible
317
- const keys = Object.keys(obj);
318
-
319
- // Only sort if there are potential ordering issues
320
- const needsSorting = keys.some((key, index) => {
321
- if (index === 0) return false;
322
- return key < keys[index - 1];
323
- });
324
-
325
- const sortedKeys = needsSorting ? [...keys].sort() : keys;
326
- const pairs = sortedKeys.map(key => {
327
- const value = this.deterministicStringify(obj[key]);
328
- return JSON.stringify(key) + ':' + value;
329
- });
330
- return '{' + pairs.join(',') + '}';
331
- }
332
-
333
- // Handle Date objects and other special types
334
- if (obj instanceof Date) {
335
- return JSON.stringify(obj.toISOString());
336
- }
337
-
338
- // Fallback to regular JSON.stringify for other types
339
- return JSON.stringify(obj);
340
- }
341
-
342
- /**
343
- * Safely deserializes JSON data with enhanced error handling
344
- */
345
- private static safeDeserialize<T>(data: string): T {
346
- try {
347
- if (!data || data.trim().length === 0) {
348
- throw new DyFM_Error({
349
- ...this.getDefaultErrorSettings('safeDeserialize'),
350
- errorCode: 'DyFM-CRY-DES-EMPTY',
351
- message: 'Cannot deserialize empty data. The decrypted data appears to be empty or invalid.'
352
- });
353
- }
354
-
355
- //let parsed = JSON.parse(data);
356
- let parsed = DyFM_Object.failableSafeParseJSON(data);
357
-
358
- // Handle double-stringified JSON (or more levels of stringification)
359
- let maxAttempts = 3; // Prevent infinite loops
360
- while (typeof parsed === 'string' && maxAttempts > 0) {
361
- try {
362
- //const nextParsed = JSON.parse(parsed);
363
- const nextParsed = DyFM_Object.failableSafeParseJSON(parsed);
364
- // Only continue if parsing actually changed the result
365
- if (nextParsed !== parsed) {
366
- parsed = nextParsed;
367
- maxAttempts--;
368
- } else {
369
- break;
370
- }
371
- } catch {
372
- // If parse fails, return current state
373
- break;
374
- }
375
- }
376
-
377
- // Handle primitive values
378
- /* if (typeof parsed === 'string' || typeof parsed === 'number' || typeof parsed === 'boolean') {
379
- return parsed as T;
380
- } */
381
-
382
- return parsed as T;
383
- } catch (error) {
384
- if (error instanceof DyFM_Error) {
385
- throw error;
386
- }
387
-
388
- throw new DyFM_Error({
389
- ...this.getDefaultErrorSettings('safeDeserialize', error),
390
- errorCode: 'DyFM-CRY-DES',
391
- message: 'Failed to deserialize data. The decrypted data may be corrupted or in an unexpected format.'
392
- });
393
- }
394
- }
395
-
396
- /**
397
- * Encrypts data using AES-256-CBC with deterministic IV and salt
398
- *
399
- * @important DETERMINISTIC BEHAVIOR: This method will produce identical encrypted
400
- * output for identical input parameters across different systems, Node.js versions,
401
- * and multiple function calls. The same data + key combination will ALWAYS generate
402
- * the same encrypted string.
403
- *
404
- * @param data The data to encrypt
405
- * @param key The encryption key
406
- * @param config Optional configuration
407
- * @returns URL-safe encrypted string that is identical across systems for same input
408
- * @throws {DyFM_Error} if encryption fails
409
- *
410
- * @example
411
- * // These will produce identical results on any system:
412
- * const result1 = DyFM_Crypto.encrypt({id: 1}, "mykey");
413
- * const result2 = DyFM_Crypto.encrypt({id: 1}, "mykey");
414
- * console.log(result1 === result2); // Always true
415
- */
416
- static encrypt<T>(data: T, key: string, config?: CryptoConfig): string {
417
- try {
418
- this.validateInput(data, key, 'encrypt');
419
- const finalConfig = { ...this.DEFAULT_CONFIG, ...config };
420
-
421
- // Convert data to string
422
- const dataStr = this.safeSerialize(data);
423
-
424
- // Generate deterministic IV and salt based on data and key
425
- const iv = this.generateIV(dataStr, key, finalConfig);
426
- const salt = this.generateSalt(dataStr, key, finalConfig);
427
-
428
- // Derive key using PBKDF2
429
- const derivedKey = this.deriveKey(key, salt, finalConfig);
430
-
431
- // Encrypt the data
432
- const encrypted = CryptoJS.AES.encrypt(dataStr, derivedKey, {
433
- iv: iv,
434
- mode: CryptoJS.mode.CBC,
435
- padding: CryptoJS.pad.Pkcs7
436
- });
437
-
438
- // Combine IV + Salt + Ciphertext (skip version for backward compatibility)
439
- const combined = iv.concat(salt).concat(encrypted.ciphertext);
440
-
441
- // Convert to URL-safe base64
442
- return CryptoJS.enc.Base64.stringify(combined)
443
- .replace(/\+/g, '-')
444
- .replace(/\//g, '_')
445
- .replace(/=+$/, '');
446
- } catch (error) {
447
- throw new DyFM_Error({
448
- ...this.getDefaultErrorSettings('encrypt', error),
449
- errorCode: 'DyFM-CRY-ENC',
450
- });
451
- }
452
- }
453
-
454
- /**
455
- * Decrypts data that was encrypted using encrypt()
456
- * @param encryptedData The encrypted data
457
- * @param key The decryption key
458
- * @param config Optional configuration
459
- * @returns The decrypted data
460
- * @throws {DyFM_Error} if decryption fails
461
- */
462
- static decrypt<T>(encryptedData: string, key: string, config?: CryptoConfig): T {
463
- try {
464
- this.validateInput(encryptedData, key, 'decrypt');
465
- const finalConfig = { ...this.DEFAULT_CONFIG, ...config };
466
-
467
- // Convert from URL-safe base64
468
- const base64 = encryptedData
469
- .replace(/-/g, '+')
470
- .replace(/_/g, '/');
471
-
472
- // Parse the combined data
473
- const combined = CryptoJS.enc.Base64.parse(base64);
474
-
475
- // For now, skip version checking to maintain backward compatibility
476
- // TODO: Implement proper version checking in future versions
477
-
478
- // Validate minimum length (IV + Salt + minimum ciphertext)
479
- const minLength = (finalConfig.ivLength + finalConfig.saltLength + 16) / 4; // 16 bytes minimum for ciphertext
480
- if (combined.words.length < minLength) {
481
- throw new DyFM_Error({
482
- ...this.getDefaultErrorSettings('decrypt'),
483
- errorCode: 'DyFM-CRY-DATA-CORRUPTED',
484
- message: `Encrypted data is corrupted or incomplete. Expected at least ${minLength * 4} bytes, but received ${combined.sigBytes} bytes.`
485
- });
486
- }
487
-
488
- // Extract IV, salt, and ciphertext (skip version for now)
489
- const ivStart = 0;
490
- const saltStart = ivStart + finalConfig.ivLength / 4;
491
- const cipherStart = saltStart + finalConfig.saltLength / 4;
492
-
493
- const iv = CryptoJS.lib.WordArray.create(combined.words.slice(ivStart, saltStart));
494
- const salt = CryptoJS.lib.WordArray.create(combined.words.slice(saltStart, cipherStart));
495
- const ciphertext = CryptoJS.lib.WordArray.create(combined.words.slice(cipherStart));
496
-
497
- // Derive key using PBKDF2
498
- const derivedKey = this.deriveKey(key, salt, finalConfig);
499
-
500
- // Decrypt the data
501
- const decrypted = CryptoJS.AES.decrypt(
502
- { ciphertext: ciphertext },
503
- derivedKey,
504
- {
505
- iv: iv,
506
- mode: CryptoJS.mode.CBC,
507
- padding: CryptoJS.pad.Pkcs7
508
- }
509
- );
510
-
511
- // Parse JSON
512
- const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
513
-
514
- // Check if decryption produced empty result
515
- if (!decryptedStr || decryptedStr.trim().length === 0) {
516
- throw new DyFM_Error({
517
- ...this.getDefaultErrorSettings('decrypt'),
518
- errorCode: 'DyFM-CRY-DECRYPT-EMPTY',
519
- message: 'Decryption failed - the result is empty. This usually means the encryption key is incorrect or the data is corrupted.'
520
- });
521
- }
522
-
523
- return this.safeDeserialize<T>(decryptedStr);
524
- } catch (error) {
525
- // Check if it's already a DyFM_Error
526
- if (error instanceof DyFM_Error) {
527
- throw error;
528
- }
529
-
530
- // Handle specific decryption errors
531
- if (error instanceof Error) {
532
- if (error.message.includes('Malformed UTF-8')) {
533
- throw new DyFM_Error({
534
- ...this.getDefaultErrorSettings('decrypt', error),
535
- errorCode: 'DyFM-CRY-DECRYPT-UTF8',
536
- message: 'Decryption failed - invalid UTF-8 data. This usually means the encryption key is incorrect or the data is corrupted.'
537
- });
538
- }
539
-
540
- if (error.message.includes('Invalid padding')) {
541
- throw new DyFM_Error({
542
- ...this.getDefaultErrorSettings('decrypt', error),
543
- errorCode: 'DyFM-CRY-DECRYPT-PADDING',
544
- message: 'Decryption failed - invalid padding. This usually means the encryption key is incorrect or the data is corrupted.'
545
- });
546
- }
547
- }
548
-
549
- throw new DyFM_Error({
550
- ...this.getDefaultErrorSettings('decrypt', error),
551
- errorCode: 'DyFM-CRY-DRY',
552
- message: 'Decryption failed. Please verify the encryption key and ensure the encrypted data is valid.'
553
- });
554
- }
555
- }
556
-
557
- /**
558
- * Generates a secure random key with enhanced complexity
559
- * @param length Length of the key in characters (default: 32)
560
- * @param customChars Optional custom character set to use
561
- * @returns A secure random key with mixed case letters, numbers, and special characters
562
- */
563
- static generateKey(length: number = 32, customChars?: string): string {
564
- // Use custom character set if provided, otherwise use simple safe characters
565
- const chars = customChars || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
566
- let complexKey = '';
567
-
568
- // Generate random characters directly for the desired length
569
- for (let i = 0; i < length; i++) {
570
- // Generate random bytes for each character
571
- const randomBytes = CryptoJS.lib.WordArray.random(1);
572
- const randomValue = randomBytes.words[0];
573
- const charIndex = Math.abs(randomValue) % chars.length;
574
- complexKey += chars[charIndex];
575
- }
576
-
577
- return complexKey;
578
- }
579
-
580
- /**
581
- * Validates if a string is a valid encrypted data
582
- * @param encryptedData The data to validate
583
- * @returns true if the data appears to be valid encrypted data
584
- */
585
- static isValidEncryptedData(encryptedData: string): boolean {
586
- if (!encryptedData || typeof encryptedData !== 'string') {
587
- return false;
588
- }
589
- return /^[A-Za-z0-9\-_]+$/.test(encryptedData);
590
- }
591
-
592
- /**
593
- * Analyzes encrypted data to help with debugging
594
- * @param encryptedData The encrypted data to analyze
595
- * @returns Analysis information about the encrypted data
596
- */
597
- static analyzeEncryptedData(encryptedData: string): {
598
- isValid: boolean;
599
- version?: string;
600
- dataLength: number;
601
- hasValidFormat: boolean;
602
- error?: string;
603
- } {
604
- try {
605
- if (!this.isValidEncryptedData(encryptedData)) {
606
- return {
607
- isValid: false,
608
- dataLength: encryptedData?.length || 0,
609
- hasValidFormat: false,
610
- error: 'Invalid format - not URL-safe base64'
611
- };
612
- }
613
-
614
- // Convert from URL-safe base64
615
- const base64 = encryptedData
616
- .replace(/-/g, '+')
617
- .replace(/_/g, '/');
618
-
619
- // Parse the combined data
620
- const combined = CryptoJS.enc.Base64.parse(base64);
621
-
622
- // For now, just check if the data has minimum required length
623
- const minLength = (16 + 16 + 16) / 4; // IV + Salt + minimum ciphertext
624
-
625
- if (combined.words.length < minLength) {
626
- return {
627
- isValid: false,
628
- dataLength: combined.sigBytes,
629
- hasValidFormat: false,
630
- error: 'Data too short to contain valid encrypted data'
631
- };
632
- }
633
-
634
- return {
635
- isValid: true,
636
- version: 'legacy',
637
- dataLength: combined.sigBytes,
638
- hasValidFormat: true,
639
- error: undefined
640
- };
641
- } catch (error) {
642
- return {
643
- isValid: false,
644
- dataLength: encryptedData?.length || 0,
645
- hasValidFormat: false,
646
- error: `Analysis failed: ${error}`
647
- };
648
- }
649
- }
650
-
651
- /**
652
- * Clears the key derivation cache
653
- * Useful for testing and memory management
654
- */
655
- static clearKeyCache(): void {
656
- this.keyCache.clear();
657
- }
658
-
659
- /**
660
- * Gets cache statistics for debugging and monitoring
661
- * @returns Cache statistics including size and hit ratio
662
- */
663
- static getCacheStats(): {
664
- size: number;
665
- maxSize: number;
666
- utilizationPercent: number;
667
- } {
668
- return {
669
- size: this.keyCache.size,
670
- maxSize: this.MAX_CACHE_SIZE,
671
- utilizationPercent: Math.round((this.keyCache.size / this.MAX_CACHE_SIZE) * 100)
672
- };
673
- }
674
-
675
- /**
676
- * Gets default error settings with enhanced debugging information
677
- */
678
- private static getDefaultErrorSettings(operation: string, error?: any): DyFM_Error_Settings {
679
- const baseSettings = {
680
- status: (error as DyFM_Error)?.___status ?? (error as any)?.status ?? 401,
681
- message: `Crypto operation "${operation}" failed.`,
682
- error: error,
683
- errorCode: 'DyFM-CRY-ERR'
684
- };
685
-
686
- // Add debugging information for common failure scenarios
687
- if (operation === 'decrypt') {
688
- baseSettings.message += '\nThis usually indicates: ' +
689
- '\n 1) Wrong encryption key, ' +
690
- '\n 2) Corrupted encrypted data, ' +
691
- '\n 3) Version incompatibility, ' +
692
- '\n 4) Data was encrypted with different parameters.';
693
- } else if (operation === 'encrypt') {
694
- baseSettings.message += '\nThis usually indicates: ' +
695
- '\n 1) Invalid input data, ' +
696
- '\n 2) Invalid encryption key, ' +
697
- '\n 3) Serialization failure.';
698
- }
699
-
700
- return baseSettings;
701
- }
702
- }
1
+ import * as CryptoJS from 'crypto-js';
2
+ import {
3
+ DyFM_Error,
4
+ DyFM_Error_Settings
5
+ } from '../../../_models/control-models/error.control-model';
6
+ import { DyFM_Object } from '../../../_collections/utils/object.util';
7
+
8
+
9
+ /**
10
+ * Configuration options for encryption/decryption
11
+ */
12
+ export interface CryptoConfig {
13
+ ivLength?: number;
14
+ saltLength?: number;
15
+ keyIterations?: number;
16
+ keySize?: number;
17
+ }
18
+
19
+ // Compact: about 60–80 character tokens, not 200+
20
+ // Non-standard: hard to reverse-engineer
21
+ // Usable in cookies, headers, URLs
22
+
23
+ /**
24
+ * A utility class for stable encryption and decryption of data
25
+ * Uses AES-256-CBC with deterministic IV and salt for consistent results across systems
26
+ * Prioritizes reliability and cross-platform compatibility over security
27
+ *
28
+ * @important DETERMINISTIC ENCRYPTION: This implementation produces identical encrypted
29
+ * output for identical input data and key across different systems and multiple calls.
30
+ * The same input will ALWAYS generate the same encrypted string on any platform.
31
+ *
32
+ * @warning SECURITY NOTICE: This deterministic behavior is intentional for cross-platform
33
+ * compatibility but reduces security. Identical inputs produce identical outputs, which
34
+ * can be exploited for pattern analysis attacks. Use only when consistency across
35
+ * systems is more important than cryptographic security.
36
+ */
37
+ export class DyFM_Crypto {
38
+ private static readonly CRYPTO_VERSION = '1.0';
39
+ private static readonly DEFAULT_CONFIG: Required<CryptoConfig> = {
40
+ ivLength: 16, // 128 bits
41
+ saltLength: 16, // 128 bits
42
+ keyIterations: 1000, // Reduced for better performance and stability
43
+ keySize: 8 // 256 bits (8 * 32)
44
+ };
45
+ private static readonly defaultErrorUserMsg =
46
+ `We encountered an unhandled Authentication Error, ` +
47
+ `\nplease contact the responsible development team.`;
48
+
49
+ // Key derivation cache for performance optimization
50
+ private static keyCache = new Map<string, CryptoJS.lib.WordArray>();
51
+ private static readonly MAX_CACHE_SIZE = 100;
52
+
53
+ /**
54
+ * Validates the input data and key with comprehensive error messages
55
+ * @throws {DyFM_Error} if validation fails
56
+ */
57
+ private static validateInput(data: any, key: string, operation: 'encrypt' | 'decrypt'): void {
58
+ // Validate key
59
+ if (!key) {
60
+ throw new DyFM_Error({
61
+ ...this.getDefaultErrorSettings(operation),
62
+ errorCode: 'DyFM-CRY-KEY-MISSING',
63
+ message: `Encryption key is required for ${operation} operation. Please provide a valid key.`
64
+ });
65
+ }
66
+
67
+ if (typeof key !== 'string') {
68
+ throw new DyFM_Error({
69
+ ...this.getDefaultErrorSettings(operation),
70
+ errorCode: 'DyFM-CRY-KEY-TYPE',
71
+ message: `Encryption key must be a string, but received ${typeof key}. Please provide a valid string key.`
72
+ });
73
+ }
74
+
75
+ if (key.trim().length === 0) {
76
+ throw new DyFM_Error({
77
+ ...this.getDefaultErrorSettings(operation),
78
+ errorCode: 'DyFM-CRY-KEY-EMPTY',
79
+ message: 'Encryption key cannot be empty or contain only whitespace. Please provide a non-empty key.'
80
+ });
81
+ }
82
+
83
+ // Only warn about weak keys but don't reject them for backward compatibility
84
+ if (key.length < 8) {
85
+ console.warn('Warning: Encryption key is too short (minimum 8 characters recommended). Consider using a stronger key for better security.');
86
+ }
87
+
88
+ // Validate data based on operation
89
+ if (operation === 'encrypt') {
90
+ this.validateEncryptData(data);
91
+ } else if (operation === 'decrypt') {
92
+ this.validateDecryptData(data);
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Validates data for encryption
98
+ */
99
+ private static validateEncryptData(data: any): void {
100
+ if (data === undefined) {
101
+ throw new DyFM_Error({
102
+ ...this.getDefaultErrorSettings('encrypt'),
103
+ errorCode: 'DyFM-CRY-DATA-UNDEFINED',
104
+ message: 'Cannot encrypt undefined data. Please provide valid data to encrypt.'
105
+ });
106
+ }
107
+
108
+ if (data === null) {
109
+ throw new DyFM_Error({
110
+ ...this.getDefaultErrorSettings('encrypt'),
111
+ errorCode: 'DyFM-CRY-DATA-NULL',
112
+ message: 'Cannot encrypt null data. Please provide valid data to encrypt.'
113
+ });
114
+ }
115
+
116
+ // Check for empty strings
117
+ if (typeof data === 'string' && data.trim().length === 0) {
118
+ throw new DyFM_Error({
119
+ ...this.getDefaultErrorSettings('encrypt'),
120
+ errorCode: 'DyFM-CRY-DATA-EMPTY-STRING',
121
+ message: 'Cannot encrypt empty string. Please provide non-empty data to encrypt.'
122
+ });
123
+ }
124
+
125
+ // Allow empty objects and arrays for backward compatibility
126
+ // Only reject truly empty data like empty strings
127
+ }
128
+
129
+ /**
130
+ * Validates data for decryption
131
+ */
132
+ private static validateDecryptData(data: any): void {
133
+ if (data === undefined) {
134
+ throw new DyFM_Error({
135
+ ...this.getDefaultErrorSettings('decrypt'),
136
+ errorCode: 'DyFM-CRY-ENCRYPTED-UNDEFINED',
137
+ message: 'Cannot decrypt undefined data. Please provide valid encrypted data to decrypt.'
138
+ });
139
+ }
140
+
141
+ if (data === null) {
142
+ throw new DyFM_Error({
143
+ ...this.getDefaultErrorSettings('decrypt'),
144
+ errorCode: 'DyFM-CRY-ENCRYPTED-NULL',
145
+ message: 'Cannot decrypt null data. Please provide valid encrypted data to decrypt.'
146
+ });
147
+ }
148
+
149
+ if (typeof data !== 'string') {
150
+ throw new DyFM_Error({
151
+ ...this.getDefaultErrorSettings('decrypt'),
152
+ errorCode: 'DyFM-CRY-ENCRYPTED-TYPE',
153
+ message: `Encrypted data must be a string, but received ${typeof data}. Please provide valid encrypted string data.`
154
+ });
155
+ }
156
+
157
+ if (data.trim().length === 0) {
158
+ throw new DyFM_Error({
159
+ ...this.getDefaultErrorSettings('decrypt'),
160
+ errorCode: 'DyFM-CRY-ENCRYPTED-EMPTY',
161
+ message: 'Cannot decrypt empty string. Please provide valid encrypted data to decrypt.'
162
+ });
163
+ }
164
+
165
+ if (data.length < 10) {
166
+ throw new DyFM_Error({
167
+ ...this.getDefaultErrorSettings('decrypt'),
168
+ errorCode: 'DyFM-CRY-ENCRYPTED-TOO-SHORT',
169
+ message: 'Encrypted data appears to be too short to be valid. Please check the encrypted data.'
170
+ });
171
+ }
172
+
173
+ // Check if it looks like valid encrypted data format
174
+ if (!/^[A-Za-z0-9\-_]+$/.test(data)) {
175
+ throw new DyFM_Error({
176
+ ...this.getDefaultErrorSettings('decrypt'),
177
+ errorCode: 'DyFM-CRY-ENCRYPTED-INVALID-FORMAT',
178
+ message: 'Encrypted data does not appear to be in valid format. Expected URL-safe base64 format.'
179
+ });
180
+ }
181
+ }
182
+
183
+ /**
184
+ * Generates a deterministic IV based on the input data and key
185
+ * Uses SHA-256 with proper truncation for maximum stability
186
+ *
187
+ * @important DETERMINISTIC: Same data + key will ALWAYS produce the same IV
188
+ * across all systems and CryptoJS versions for consistent encryption results
189
+ */
190
+ private static generateIV(data: string, key: string, config: Required<CryptoConfig>): CryptoJS.lib.WordArray {
191
+ // Create a deterministic seed from data and key
192
+ const seed = this.createDeterministicSeed(data, key, 'IV');
193
+
194
+ // Use SHA-256 for better stability and consistency
195
+ const hash = CryptoJS.SHA256(seed);
196
+
197
+ // Extract exactly 16 bytes (128 bits) for IV
198
+ // Use the first 4 words (4 * 4 = 16 bytes) from the hash
199
+ const ivWords = hash.words.slice(0, 4);
200
+ return CryptoJS.lib.WordArray.create(ivWords);
201
+ }
202
+
203
+ /**
204
+ * Generates a deterministic salt based on the input data and key
205
+ * Uses SHA-256 with proper truncation for maximum stability
206
+ *
207
+ * @important DETERMINISTIC: Same data + key will ALWAYS produce the same salt
208
+ * across all systems and CryptoJS versions for consistent encryption results
209
+ */
210
+ private static generateSalt(data: string, key: string, config: Required<CryptoConfig>): CryptoJS.lib.WordArray {
211
+ // Create a deterministic seed from data and key (different from IV)
212
+ const seed = this.createDeterministicSeed(data, key, 'SALT');
213
+
214
+ // Use SHA-256 for better stability and consistency
215
+ const hash = CryptoJS.SHA256(seed);
216
+
217
+ // Extract exactly 16 bytes (128 bits) for salt
218
+ // Use the first 4 words (4 * 4 = 16 bytes) from the hash
219
+ const saltWords = hash.words.slice(0, 4);
220
+ return CryptoJS.lib.WordArray.create(saltWords);
221
+ }
222
+
223
+ /**
224
+ * Creates a deterministic seed for IV/salt generation
225
+ * Ensures consistent output across all environments and versions
226
+ */
227
+ private static createDeterministicSeed(data: string, key: string, purpose: string): string {
228
+ // Create a consistent seed that includes all relevant factors
229
+ // Order matters: data + key + purpose for consistency
230
+ const seed = `${data}|${key}|${purpose}`;
231
+ return seed;
232
+ }
233
+
234
+ /**
235
+ * Generates a cache key for the derived key based on the input key and salt
236
+ */
237
+ private static generateCacheKey(key: string, salt: CryptoJS.lib.WordArray): string {
238
+ // Create a deterministic cache key from key and salt
239
+ const saltHex = salt.toString(CryptoJS.enc.Hex);
240
+ return `${key}|${saltHex}`;
241
+ }
242
+
243
+ /**
244
+ * Manages cache size by removing oldest entries when limit is exceeded
245
+ */
246
+ private static manageCacheSize(): void {
247
+ if (this.keyCache.size >= this.MAX_CACHE_SIZE) {
248
+ // Remove oldest entries (Map maintains insertion order)
249
+ const entriesToRemove = this.keyCache.size - this.MAX_CACHE_SIZE + 10; // Remove 10 extra for efficiency
250
+ const keysToRemove = Array.from(this.keyCache.keys()).slice(0, entriesToRemove);
251
+ keysToRemove.forEach(key => this.keyCache.delete(key));
252
+ }
253
+ }
254
+
255
+ /**
256
+ * Derives a key using PBKDF2 with reduced iterations for stability
257
+ * Uses caching to avoid redundant PBKDF2 computations for better performance
258
+ */
259
+ private static deriveKey(key: string, salt: CryptoJS.lib.WordArray, config: Required<CryptoConfig>): CryptoJS.lib.WordArray {
260
+ const cacheKey = this.generateCacheKey(key, salt);
261
+
262
+ // Check cache first
263
+ if (this.keyCache.has(cacheKey)) {
264
+ return this.keyCache.get(cacheKey)!;
265
+ }
266
+
267
+ // Compute new key using PBKDF2
268
+ const derivedKey = CryptoJS.PBKDF2(key, salt, {
269
+ keySize: config.keySize,
270
+ iterations: config.keyIterations
271
+ });
272
+
273
+ // Store in cache and manage size
274
+ this.keyCache.set(cacheKey, derivedKey);
275
+ this.manageCacheSize();
276
+
277
+ return derivedKey;
278
+ }
279
+
280
+ /**
281
+ * Safely serializes data to JSON with deterministic ordering
282
+ * Uses regular JSON.stringify but ensures consistency through other means
283
+ */
284
+ private static safeSerialize<T>(data: T): string {
285
+ try {
286
+ // Use regular JSON.stringify for backward compatibility
287
+ // The deterministic behavior comes from the IV/salt generation, not serialization
288
+ return JSON.stringify(data);
289
+ } catch (error) {
290
+ throw new DyFM_Error({
291
+ ...this.getDefaultErrorSettings('safeSerialize', error),
292
+ errorCode: 'DyFM-CRY-SER',
293
+ message: 'Failed to serialize data'
294
+ });
295
+ }
296
+ }
297
+
298
+ /**
299
+ * Deterministic JSON stringify that produces identical output across environments
300
+ * Uses a hybrid approach: sorts keys for consistency but preserves order for arrays
301
+ */
302
+ private static deterministicStringify(obj: any): string {
303
+ if (obj === null) return 'null';
304
+ if (obj === undefined) return 'undefined';
305
+ if (typeof obj === 'string') return JSON.stringify(obj);
306
+ if (typeof obj === 'number') return JSON.stringify(obj);
307
+ if (typeof obj === 'boolean') return JSON.stringify(obj);
308
+
309
+ if (Array.isArray(obj)) {
310
+ const items = obj.map(item => this.deterministicStringify(item));
311
+ return '[' + items.join(',') + ']';
312
+ }
313
+
314
+ if (typeof obj === 'object') {
315
+ // For objects, we need to be more careful about key ordering
316
+ // Use a stable sort that preserves original order when possible
317
+ const keys = Object.keys(obj);
318
+
319
+ // Only sort if there are potential ordering issues
320
+ const needsSorting = keys.some((key, index) => {
321
+ if (index === 0) return false;
322
+ return key < keys[index - 1];
323
+ });
324
+
325
+ const sortedKeys = needsSorting ? [...keys].sort() : keys;
326
+ const pairs = sortedKeys.map(key => {
327
+ const value = this.deterministicStringify(obj[key]);
328
+ return JSON.stringify(key) + ':' + value;
329
+ });
330
+ return '{' + pairs.join(',') + '}';
331
+ }
332
+
333
+ // Handle Date objects and other special types
334
+ if (obj instanceof Date) {
335
+ return JSON.stringify(obj.toISOString());
336
+ }
337
+
338
+ // Fallback to regular JSON.stringify for other types
339
+ return JSON.stringify(obj);
340
+ }
341
+
342
+ /**
343
+ * Safely deserializes JSON data with enhanced error handling
344
+ */
345
+ private static safeDeserialize<T>(data: string): T {
346
+ try {
347
+ if (!data || data.trim().length === 0) {
348
+ throw new DyFM_Error({
349
+ ...this.getDefaultErrorSettings('safeDeserialize'),
350
+ errorCode: 'DyFM-CRY-DES-EMPTY',
351
+ message: 'Cannot deserialize empty data. The decrypted data appears to be empty or invalid.'
352
+ });
353
+ }
354
+
355
+ //let parsed = JSON.parse(data);
356
+ let parsed = DyFM_Object.failableSafeParseJSON(data);
357
+
358
+ // Handle double-stringified JSON (or more levels of stringification)
359
+ let maxAttempts = 3; // Prevent infinite loops
360
+ while (typeof parsed === 'string' && maxAttempts > 0) {
361
+ try {
362
+ //const nextParsed = JSON.parse(parsed);
363
+ const nextParsed = DyFM_Object.failableSafeParseJSON(parsed);
364
+ // Only continue if parsing actually changed the result
365
+ if (nextParsed !== parsed) {
366
+ parsed = nextParsed;
367
+ maxAttempts--;
368
+ } else {
369
+ break;
370
+ }
371
+ } catch {
372
+ // If parse fails, return current state
373
+ break;
374
+ }
375
+ }
376
+
377
+ // Handle primitive values
378
+ /* if (typeof parsed === 'string' || typeof parsed === 'number' || typeof parsed === 'boolean') {
379
+ return parsed as T;
380
+ } */
381
+
382
+ return parsed as T;
383
+ } catch (error) {
384
+ if (error instanceof DyFM_Error) {
385
+ throw error;
386
+ }
387
+
388
+ throw new DyFM_Error({
389
+ ...this.getDefaultErrorSettings('safeDeserialize', error),
390
+ errorCode: 'DyFM-CRY-DES',
391
+ message: 'Failed to deserialize data. The decrypted data may be corrupted or in an unexpected format.'
392
+ });
393
+ }
394
+ }
395
+
396
+ /**
397
+ * Encrypts data using AES-256-CBC with deterministic IV and salt
398
+ *
399
+ * @important DETERMINISTIC BEHAVIOR: This method will produce identical encrypted
400
+ * output for identical input parameters across different systems, Node.js versions,
401
+ * and multiple function calls. The same data + key combination will ALWAYS generate
402
+ * the same encrypted string.
403
+ *
404
+ * @param data The data to encrypt
405
+ * @param key The encryption key
406
+ * @param config Optional configuration
407
+ * @returns URL-safe encrypted string that is identical across systems for same input
408
+ * @throws {DyFM_Error} if encryption fails
409
+ *
410
+ * @example
411
+ * // These will produce identical results on any system:
412
+ * const result1 = DyFM_Crypto.encrypt({id: 1}, "mykey");
413
+ * const result2 = DyFM_Crypto.encrypt({id: 1}, "mykey");
414
+ * console.log(result1 === result2); // Always true
415
+ */
416
+ static encrypt<T>(data: T, key: string, config?: CryptoConfig): string {
417
+ try {
418
+ this.validateInput(data, key, 'encrypt');
419
+ const finalConfig = { ...this.DEFAULT_CONFIG, ...config };
420
+
421
+ // Convert data to string
422
+ const dataStr = this.safeSerialize(data);
423
+
424
+ // Generate deterministic IV and salt based on data and key
425
+ const iv = this.generateIV(dataStr, key, finalConfig);
426
+ const salt = this.generateSalt(dataStr, key, finalConfig);
427
+
428
+ // Derive key using PBKDF2
429
+ const derivedKey = this.deriveKey(key, salt, finalConfig);
430
+
431
+ // Encrypt the data
432
+ const encrypted = CryptoJS.AES.encrypt(dataStr, derivedKey, {
433
+ iv: iv,
434
+ mode: CryptoJS.mode.CBC,
435
+ padding: CryptoJS.pad.Pkcs7
436
+ });
437
+
438
+ // Combine IV + Salt + Ciphertext (skip version for backward compatibility)
439
+ const combined = iv.concat(salt).concat(encrypted.ciphertext);
440
+
441
+ // Convert to URL-safe base64
442
+ return CryptoJS.enc.Base64.stringify(combined)
443
+ .replace(/\+/g, '-')
444
+ .replace(/\//g, '_')
445
+ .replace(/=+$/, '');
446
+ } catch (error) {
447
+ throw new DyFM_Error({
448
+ ...this.getDefaultErrorSettings('encrypt', error),
449
+ errorCode: 'DyFM-CRY-ENC',
450
+ });
451
+ }
452
+ }
453
+
454
+ /**
455
+ * Decrypts data that was encrypted using encrypt()
456
+ * @param encryptedData The encrypted data
457
+ * @param key The decryption key
458
+ * @param config Optional configuration
459
+ * @returns The decrypted data
460
+ * @throws {DyFM_Error} if decryption fails
461
+ */
462
+ static decrypt<T>(encryptedData: string, key: string, config?: CryptoConfig): T {
463
+ try {
464
+ this.validateInput(encryptedData, key, 'decrypt');
465
+ const finalConfig = { ...this.DEFAULT_CONFIG, ...config };
466
+
467
+ // Convert from URL-safe base64
468
+ const base64 = encryptedData
469
+ .replace(/-/g, '+')
470
+ .replace(/_/g, '/');
471
+
472
+ // Parse the combined data
473
+ const combined = CryptoJS.enc.Base64.parse(base64);
474
+
475
+ // For now, skip version checking to maintain backward compatibility
476
+ // TODO: Implement proper version checking in future versions
477
+
478
+ // Validate minimum length (IV + Salt + minimum ciphertext)
479
+ const minLength = (finalConfig.ivLength + finalConfig.saltLength + 16) / 4; // 16 bytes minimum for ciphertext
480
+ if (combined.words.length < minLength) {
481
+ throw new DyFM_Error({
482
+ ...this.getDefaultErrorSettings('decrypt'),
483
+ errorCode: 'DyFM-CRY-DATA-CORRUPTED',
484
+ message: `Encrypted data is corrupted or incomplete. Expected at least ${minLength * 4} bytes, but received ${combined.sigBytes} bytes.`
485
+ });
486
+ }
487
+
488
+ // Extract IV, salt, and ciphertext (skip version for now)
489
+ const ivStart = 0;
490
+ const saltStart = ivStart + finalConfig.ivLength / 4;
491
+ const cipherStart = saltStart + finalConfig.saltLength / 4;
492
+
493
+ const iv = CryptoJS.lib.WordArray.create(combined.words.slice(ivStart, saltStart));
494
+ const salt = CryptoJS.lib.WordArray.create(combined.words.slice(saltStart, cipherStart));
495
+ const ciphertext = CryptoJS.lib.WordArray.create(combined.words.slice(cipherStart));
496
+
497
+ // Derive key using PBKDF2
498
+ const derivedKey = this.deriveKey(key, salt, finalConfig);
499
+
500
+ // Decrypt the data
501
+ const decrypted = CryptoJS.AES.decrypt(
502
+ { ciphertext: ciphertext },
503
+ derivedKey,
504
+ {
505
+ iv: iv,
506
+ mode: CryptoJS.mode.CBC,
507
+ padding: CryptoJS.pad.Pkcs7
508
+ }
509
+ );
510
+
511
+ // Parse JSON
512
+ const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
513
+
514
+ // Check if decryption produced empty result
515
+ if (!decryptedStr || decryptedStr.trim().length === 0) {
516
+ throw new DyFM_Error({
517
+ ...this.getDefaultErrorSettings('decrypt'),
518
+ errorCode: 'DyFM-CRY-DECRYPT-EMPTY',
519
+ message: 'Decryption failed - the result is empty. This usually means the encryption key is incorrect or the data is corrupted.'
520
+ });
521
+ }
522
+
523
+ return this.safeDeserialize<T>(decryptedStr);
524
+ } catch (error) {
525
+ // Check if it's already a DyFM_Error
526
+ if (error instanceof DyFM_Error) {
527
+ throw error;
528
+ }
529
+
530
+ // Handle specific decryption errors
531
+ if (error instanceof Error) {
532
+ if (error.message.includes('Malformed UTF-8')) {
533
+ throw new DyFM_Error({
534
+ ...this.getDefaultErrorSettings('decrypt', error),
535
+ errorCode: 'DyFM-CRY-DECRYPT-UTF8',
536
+ message: 'Decryption failed - invalid UTF-8 data. This usually means the encryption key is incorrect or the data is corrupted.'
537
+ });
538
+ }
539
+
540
+ if (error.message.includes('Invalid padding')) {
541
+ throw new DyFM_Error({
542
+ ...this.getDefaultErrorSettings('decrypt', error),
543
+ errorCode: 'DyFM-CRY-DECRYPT-PADDING',
544
+ message: 'Decryption failed - invalid padding. This usually means the encryption key is incorrect or the data is corrupted.'
545
+ });
546
+ }
547
+ }
548
+
549
+ throw new DyFM_Error({
550
+ ...this.getDefaultErrorSettings('decrypt', error),
551
+ errorCode: 'DyFM-CRY-DRY',
552
+ message: 'Decryption failed. Please verify the encryption key and ensure the encrypted data is valid.'
553
+ });
554
+ }
555
+ }
556
+
557
+ /**
558
+ * Generates a secure random key with enhanced complexity
559
+ * @param length Length of the key in characters (default: 32)
560
+ * @param customChars Optional custom character set to use
561
+ * @returns A secure random key with mixed case letters, numbers, and special characters
562
+ */
563
+ static generateKey(length: number = 32, customChars?: string): string {
564
+ // Use custom character set if provided, otherwise use simple safe characters
565
+ const chars = customChars || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
566
+ let complexKey = '';
567
+
568
+ // Generate random characters directly for the desired length
569
+ for (let i = 0; i < length; i++) {
570
+ // Generate random bytes for each character
571
+ const randomBytes = CryptoJS.lib.WordArray.random(1);
572
+ const randomValue = randomBytes.words[0];
573
+ const charIndex = Math.abs(randomValue) % chars.length;
574
+ complexKey += chars[charIndex];
575
+ }
576
+
577
+ return complexKey;
578
+ }
579
+
580
+ /**
581
+ * Validates if a string is a valid encrypted data
582
+ * @param encryptedData The data to validate
583
+ * @returns true if the data appears to be valid encrypted data
584
+ */
585
+ static isValidEncryptedData(encryptedData: string): boolean {
586
+ if (!encryptedData || typeof encryptedData !== 'string') {
587
+ return false;
588
+ }
589
+ return /^[A-Za-z0-9\-_]+$/.test(encryptedData);
590
+ }
591
+
592
+ /**
593
+ * Analyzes encrypted data to help with debugging
594
+ * @param encryptedData The encrypted data to analyze
595
+ * @returns Analysis information about the encrypted data
596
+ */
597
+ static analyzeEncryptedData(encryptedData: string): {
598
+ isValid: boolean;
599
+ version?: string;
600
+ dataLength: number;
601
+ hasValidFormat: boolean;
602
+ error?: string;
603
+ } {
604
+ try {
605
+ if (!this.isValidEncryptedData(encryptedData)) {
606
+ return {
607
+ isValid: false,
608
+ dataLength: encryptedData?.length || 0,
609
+ hasValidFormat: false,
610
+ error: 'Invalid format - not URL-safe base64'
611
+ };
612
+ }
613
+
614
+ // Convert from URL-safe base64
615
+ const base64 = encryptedData
616
+ .replace(/-/g, '+')
617
+ .replace(/_/g, '/');
618
+
619
+ // Parse the combined data
620
+ const combined = CryptoJS.enc.Base64.parse(base64);
621
+
622
+ // For now, just check if the data has minimum required length
623
+ const minLength = (16 + 16 + 16) / 4; // IV + Salt + minimum ciphertext
624
+
625
+ if (combined.words.length < minLength) {
626
+ return {
627
+ isValid: false,
628
+ dataLength: combined.sigBytes,
629
+ hasValidFormat: false,
630
+ error: 'Data too short to contain valid encrypted data'
631
+ };
632
+ }
633
+
634
+ return {
635
+ isValid: true,
636
+ version: 'legacy',
637
+ dataLength: combined.sigBytes,
638
+ hasValidFormat: true,
639
+ error: undefined
640
+ };
641
+ } catch (error) {
642
+ return {
643
+ isValid: false,
644
+ dataLength: encryptedData?.length || 0,
645
+ hasValidFormat: false,
646
+ error: `Analysis failed: ${error}`
647
+ };
648
+ }
649
+ }
650
+
651
+ /**
652
+ * Clears the key derivation cache
653
+ * Useful for testing and memory management
654
+ */
655
+ static clearKeyCache(): void {
656
+ this.keyCache.clear();
657
+ }
658
+
659
+ /**
660
+ * Gets cache statistics for debugging and monitoring
661
+ * @returns Cache statistics including size and hit ratio
662
+ */
663
+ static getCacheStats(): {
664
+ size: number;
665
+ maxSize: number;
666
+ utilizationPercent: number;
667
+ } {
668
+ return {
669
+ size: this.keyCache.size,
670
+ maxSize: this.MAX_CACHE_SIZE,
671
+ utilizationPercent: Math.round((this.keyCache.size / this.MAX_CACHE_SIZE) * 100)
672
+ };
673
+ }
674
+
675
+ /**
676
+ * Gets default error settings with enhanced debugging information
677
+ */
678
+ private static getDefaultErrorSettings(operation: string, error?: any): DyFM_Error_Settings {
679
+ const baseSettings = {
680
+ status: (error as DyFM_Error)?.___status ?? (error as any)?.status ?? 401,
681
+ message: `Crypto operation "${operation}" failed.`,
682
+ error: error,
683
+ errorCode: 'DyFM-CRY-ERR'
684
+ };
685
+
686
+ // Add debugging information for common failure scenarios
687
+ if (operation === 'decrypt') {
688
+ baseSettings.message += '\nThis usually indicates: ' +
689
+ '\n 1) Wrong encryption key, ' +
690
+ '\n 2) Corrupted encrypted data, ' +
691
+ '\n 3) Version incompatibility, ' +
692
+ '\n 4) Data was encrypted with different parameters.';
693
+ } else if (operation === 'encrypt') {
694
+ baseSettings.message += '\nThis usually indicates: ' +
695
+ '\n 1) Invalid input data, ' +
696
+ '\n 2) Invalid encryption key, ' +
697
+ '\n 3) Serialization failure.';
698
+ }
699
+
700
+ return baseSettings;
701
+ }
702
+ }