@futdevpro/fsm-dynamo 1.20.8 → 1.20.10

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 (725) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +721 -721
  3. package/build/_collections/utils/secret-mask.util.d.ts.map +1 -1
  4. package/build/_collections/utils/secret-mask.util.js +2 -0
  5. package/build/_collections/utils/secret-mask.util.js.map +1 -1
  6. package/build/_modules/ngx-models/_enums/field-type.enum.d.ts +2 -0
  7. package/build/_modules/ngx-models/_enums/field-type.enum.d.ts.map +1 -1
  8. package/build/_modules/ngx-models/_enums/field-type.enum.js +2 -0
  9. package/build/_modules/ngx-models/_enums/field-type.enum.js.map +1 -1
  10. package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.d.ts +14 -0
  11. package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.d.ts.map +1 -0
  12. package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js +23 -0
  13. package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js.map +1 -0
  14. package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-types.d.ts +3 -1
  15. package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-types.d.ts.map +1 -1
  16. package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.d.ts +17 -0
  17. package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.d.ts.map +1 -0
  18. package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js +41 -0
  19. package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js.map +1 -0
  20. package/build/_modules/ngx-models/_models/control-models/forms-new/index.d.ts +3 -0
  21. package/build/_modules/ngx-models/_models/control-models/forms-new/index.d.ts.map +1 -1
  22. package/build/_modules/ngx-models/_models/control-models/forms-new/index.js +3 -0
  23. package/build/_modules/ngx-models/_models/control-models/forms-new/index.js.map +1 -1
  24. package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.d.ts +10 -0
  25. package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.d.ts.map +1 -0
  26. package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js +3 -0
  27. package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js.map +1 -0
  28. package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
  29. package/package.json +12 -5
  30. package/.c8rc.json +0 -26
  31. package/.cursor/rules/__assistant_guide.mdc +0 -30
  32. package/.cursor/rules/__main.mdc +0 -64
  33. package/.cursor/rules/_ag_backend-structure.mdc +0 -86
  34. package/.cursor/rules/_ag_backend.mdc +0 -16
  35. package/.cursor/rules/_ag_debug.mdc +0 -8
  36. package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
  37. package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
  38. package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
  39. package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
  40. package/.cursor/rules/_ag_frontend.mdc +0 -40
  41. package/.cursor/rules/_ag_import-rules.mdc +0 -45
  42. package/.cursor/rules/_ag_naming.mdc +0 -116
  43. package/.cursor/rules/_ag_running_commands.mdc +0 -5
  44. package/.cursor/rules/_ag_server-controller.mdc +0 -6
  45. package/.cursor/rules/_ag_should-be.mdc +0 -7
  46. package/.cursor/rules/_ag_swearing.mdc +0 -47
  47. package/.cursor/rules/ai_development_guide.md +0 -61
  48. package/.cursor/rules/ai_directives.md +0 -114
  49. package/.cursor/rules/cursor-rules.md +0 -160
  50. package/.cursor/rules/default-command.mdc +0 -465
  51. package/.cursor/rules/error_code_pattern.md +0 -40
  52. package/.cursor/rules/saved rule mcp server use.md +0 -16
  53. package/.dynamo/pipeline.cicd.config.json +0 -157
  54. package/.dynamo/version-bump.config.json +0 -5
  55. package/.github/workflows/main.yml +0 -439
  56. package/.husky/pre-commit +0 -2
  57. package/.vscode/settings.json +0 -11
  58. package/__documentations/2026-05-17-oai-compatible-providers-howto.md +0 -282
  59. package/__documentations/2026-06-01-fr047-fc-foundation.md +0 -48
  60. package/__documentations/2026-06-01-fr047-fr048-code-review.md +0 -153
  61. package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +0 -75
  62. package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +0 -37
  63. package/__documentations/2026-06-06-ngx-models-merge-completion.md +0 -100
  64. package/__documentations/2026-06-22-dyfm-error-extends-error.md +0 -109
  65. package/__documentations/2026-08-22-angular-20-phase1-release.md +0 -39
  66. package/__documentations/2026-08-23-atomic-rollback-manifest-contract.md +0 -53
  67. package/__documentations/2026-08-23-forms-v2-color-picker-settings.md +0 -23
  68. package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +0 -75
  69. package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +0 -103
  70. package/__documentations/plans/02-consumer-rollout.md +0 -84
  71. package/_specifications/BACKLOG.md +0 -43
  72. package/eslint.config.js +0 -4
  73. package/nodemon.json +0 -23
  74. package/pnpm-workspace.yaml +0 -2
  75. package/scripts/_capture-out/ai-error-capture.json +0 -399
  76. package/scripts/ai-error-capture.js +0 -171
  77. package/scripts/ai-model-registry-check.js +0 -132
  78. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +0 -197
  79. package/scripts/crypto/README.md +0 -114
  80. package/scripts/crypto/demo-crypto-stability.js +0 -121
  81. package/scripts/crypto/stress-test-crypto.js +0 -380
  82. package/scripts/run-coverage-tests.js +0 -24
  83. package/scripts/verify-build-completeness.js +0 -62
  84. package/spec/support/helpers/ts-node-helper.js +0 -9
  85. package/spec/support/jasmine.coverage.json +0 -23
  86. package/spec/support/jasmine.json +0 -24
  87. package/src/_collections/constants/data-sizes.const.ts +0 -40
  88. package/src/_collections/constants/error-defaults.const.ts +0 -20
  89. package/src/_collections/constants/global-settings.const.spec.ts +0 -32
  90. package/src/_collections/constants/global-settings.const.ts +0 -29
  91. package/src/_collections/constants/numbers.const.ts +0 -40
  92. package/src/_collections/constants/times.const.ts +0 -45
  93. package/src/_collections/utils/array.util.spec.ts +0 -306
  94. package/src/_collections/utils/array.util.ts +0 -813
  95. package/src/_collections/utils/async.util.spec.ts +0 -398
  96. package/src/_collections/utils/async.util.ts +0 -209
  97. package/src/_collections/utils/data.util.spec.ts +0 -345
  98. package/src/_collections/utils/data.util.ts +0 -226
  99. package/src/_collections/utils/extract-error-message.util.spec.ts +0 -204
  100. package/src/_collections/utils/extract-error-message.util.ts +0 -223
  101. package/src/_collections/utils/json-error-helper.util.spec.ts +0 -521
  102. package/src/_collections/utils/json-error-helper.util.ts +0 -302
  103. package/src/_collections/utils/log.util.spec.ts +0 -975
  104. package/src/_collections/utils/log.util.ts +0 -667
  105. package/src/_collections/utils/math/box-bounds.spec.ts +0 -74
  106. package/src/_collections/utils/math/box-bounds.util.ts +0 -183
  107. package/src/_collections/utils/math/math.util.spec.ts +0 -94
  108. package/src/_collections/utils/math/math.util.ts +0 -141
  109. package/src/_collections/utils/math/random.util.spec.ts +0 -82
  110. package/src/_collections/utils/math/random.util.ts +0 -139
  111. package/src/_collections/utils/math/trigonometry.util.spec.ts +0 -57
  112. package/src/_collections/utils/math/trigonometry.util.ts +0 -102
  113. package/src/_collections/utils/math/vector2.util.spec.ts +0 -94
  114. package/src/_collections/utils/math/vector2.util.ts +0 -653
  115. package/src/_collections/utils/object.util.spec.ts +0 -646
  116. package/src/_collections/utils/object.util.ts +0 -739
  117. package/src/_collections/utils/regex/password-regex.util.spec.ts +0 -51
  118. package/src/_collections/utils/regex/password-regex.util.ts +0 -66
  119. package/src/_collections/utils/regex/regex.util.spec.ts +0 -42
  120. package/src/_collections/utils/regex/regex.util.ts +0 -6
  121. package/src/_collections/utils/regex/username-regex.util.spec.ts +0 -61
  122. package/src/_collections/utils/regex/username-regex.util.ts +0 -35
  123. package/src/_collections/utils/require-env.util.spec.ts +0 -231
  124. package/src/_collections/utils/require-env.util.ts +0 -138
  125. package/src/_collections/utils/round-list.util.spec.ts +0 -79
  126. package/src/_collections/utils/round-list.util.ts +0 -162
  127. package/src/_collections/utils/secret-mask.util.spec.ts +0 -66
  128. package/src/_collections/utils/secret-mask.util.ts +0 -262
  129. package/src/_collections/utils/stack.util.spec.ts +0 -373
  130. package/src/_collections/utils/stack.util.ts +0 -165
  131. package/src/_collections/utils/string-case.util.spec.ts +0 -441
  132. package/src/_collections/utils/string-case.util.ts +0 -362
  133. package/src/_collections/utils/string.util.spec.ts +0 -975
  134. package/src/_collections/utils/string.util.ts +0 -450
  135. package/src/_collections/utils/time.util.spec.ts +0 -50
  136. package/src/_collections/utils/time.util.ts +0 -481
  137. package/src/_collections/utils/type-cloning-facility.util.spec.ts +0 -51
  138. package/src/_collections/utils/type-cloning-facility.util.ts +0 -168
  139. package/src/_collections/utils/utilities.util.spec.ts +0 -201
  140. package/src/_collections/utils/utilities.util.ts +0 -68
  141. package/src/_collections/utils/uuid.util.spec.ts +0 -30
  142. package/src/_collections/utils/uuid.util.ts +0 -50
  143. package/src/_enums/basic-property-type.enum.ts +0 -20
  144. package/src/_enums/data-model-type.enum.ts +0 -29
  145. package/src/_enums/environment-flag.enum.ts +0 -28
  146. package/src/_enums/error-level.enum.ts +0 -43
  147. package/src/_enums/error-status.enum.ts +0 -30
  148. package/src/_enums/http/http-call-type.enum.ts +0 -43
  149. package/src/_enums/http/http-event-type.enum.ts +0 -40
  150. package/src/_enums/http/http-response-type.enum.ts +0 -18
  151. package/src/_enums/log-style.enum.ts +0 -44
  152. package/src/_enums/server-connection-status.enum.ts +0 -6
  153. package/src/_enums/time/day-of-week.enum.ts +0 -55
  154. package/src/_enums/time/month.enum.ts +0 -25
  155. package/src/_enums/time/relative-date.enum.ts +0 -24
  156. package/src/_models/control-models/data-model-params.control-model.spec.ts +0 -156
  157. package/src/_models/control-models/data-model-params.control-model.ts +0 -362
  158. package/src/_models/control-models/data-property-params.control-model.spec.ts +0 -93
  159. package/src/_models/control-models/data-property-params.control-model.ts +0 -210
  160. package/src/_models/control-models/error.control-model.spec.ts +0 -975
  161. package/src/_models/control-models/error.control-model.ts +0 -1280
  162. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +0 -116
  163. package/src/_models/control-models/http/http-error-response.control-model.ts +0 -52
  164. package/src/_models/control-models/http/http-headers.control-model.spec.ts +0 -25
  165. package/src/_models/control-models/http/http-headers.control-model.ts +0 -125
  166. package/src/_models/control-models/http/http-response.model-base.spec.ts +0 -46
  167. package/src/_models/control-models/http/http-response.model-base.ts +0 -58
  168. package/src/_models/control-models/poll.control-model.spec.ts +0 -63
  169. package/src/_models/control-models/poll.control-model.ts +0 -151
  170. package/src/_models/control-models/range-value.control-model.spec.ts +0 -187
  171. package/src/_models/control-models/range-value.control-model.ts +0 -289
  172. package/src/_models/control-models/server-status.control-model.spec.ts +0 -66
  173. package/src/_models/control-models/server-status.control-model.ts +0 -94
  174. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +0 -145
  175. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +0 -187
  176. package/src/_models/data-models/errors.data-model.spec.ts +0 -71
  177. package/src/_models/data-models/errors.data-model.ts +0 -201
  178. package/src/_models/data-models/metadata.data-model.spec.ts +0 -184
  179. package/src/_models/data-models/metadata.data-model.ts +0 -153
  180. package/src/_models/interfaces/box-bounds.interface.ts +0 -8
  181. package/src/_models/interfaces/environment/global-log-settings.interface.ts +0 -86
  182. package/src/_models/interfaces/environment/global-settings.interface.ts +0 -69
  183. package/src/_models/interfaces/error-defaults.interface.ts +0 -18
  184. package/src/_models/interfaces/paged.interface.ts +0 -12
  185. package/src/_models/interfaces/random-weight.interface.ts +0 -7
  186. package/src/_models/interfaces/route-settings.interface.ts +0 -15
  187. package/src/_models/interfaces/search-query.interface.ts +0 -23
  188. package/src/_models/interfaces/search-result.interface.ts +0 -6
  189. package/src/_models/interfaces/server-error-statistics.interface.ts +0 -24
  190. package/src/_models/interfaces/vector2.interface.ts +0 -21
  191. package/src/_models/types/db-filter.type.ts +0 -110
  192. package/src/_models/types/db-sort.type.ts +0 -5
  193. package/src/_models/types/ds-filter.type.ts +0 -68
  194. package/src/_models/types/ds-sort.type.ts +0 -21
  195. package/src/_modules/ai/_collections/ai-model-ref.util.ts +0 -88
  196. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +0 -37
  197. package/src/_modules/ai/_collections/ai-model-registry.util.ts +0 -30
  198. package/src/_modules/ai/_enums/ai-message-role.enum.ts +0 -7
  199. package/src/_modules/ai/_enums/ai-model-type.enum.ts +0 -7
  200. package/src/_modules/ai/_enums/ai-provider.enum.ts +0 -7
  201. package/src/_modules/ai/_models/ai-call-settings.interface.ts +0 -84
  202. package/src/_modules/ai/_models/ai-config.interface.ts +0 -14
  203. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +0 -20
  204. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +0 -26
  205. package/src/_modules/ai/_models/ai-llm-request.interface.ts +0 -24
  206. package/src/_modules/ai/_models/ai-llm-response.interface.ts +0 -30
  207. package/src/_modules/ai/_models/ai-message.interface.ts +0 -12
  208. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +0 -35
  209. package/src/_modules/ai/_models/ai-model-info.interface.ts +0 -63
  210. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +0 -52
  211. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +0 -28
  212. package/src/_modules/ai/_models/ai-settings.interface.ts +0 -17
  213. package/src/_modules/ai/_models/ai-tool-call.interface.ts +0 -18
  214. package/src/_modules/ai/_models/ai-tool-handler.type.ts +0 -11
  215. package/src/_modules/ai/_models/ai-tool-result.interface.ts +0 -16
  216. package/src/_modules/ai/_models/ai-tool.interface.ts +0 -16
  217. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +0 -29
  218. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +0 -135
  219. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +0 -19
  220. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +0 -28
  221. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +0 -23
  222. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +0 -10
  223. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +0 -22
  224. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +0 -27
  225. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +0 -20
  226. package/src/_modules/ai/_modules/anthropic/index.ts +0 -14
  227. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +0 -12
  228. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +0 -22
  229. package/src/_modules/ai/_modules/document-ai/index.ts +0 -4
  230. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +0 -40
  231. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +0 -6
  232. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +0 -19
  233. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +0 -11
  234. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +0 -24
  235. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +0 -20
  236. package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -11
  237. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +0 -161
  238. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +0 -16
  239. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +0 -28
  240. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +0 -21
  241. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +0 -8
  242. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +0 -22
  243. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +0 -25
  244. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +0 -20
  245. package/src/_modules/ai/_modules/google-ai/index.ts +0 -14
  246. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +0 -59
  247. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +0 -6
  248. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +0 -28
  249. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +0 -18
  250. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +0 -9
  251. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +0 -22
  252. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +0 -23
  253. package/src/_modules/ai/_modules/local-ai/index.ts +0 -14
  254. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +0 -8
  255. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +0 -404
  256. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +0 -179
  257. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +0 -28
  258. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +0 -21
  259. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +0 -81
  260. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +0 -13
  261. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +0 -22
  262. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +0 -25
  263. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +0 -21
  264. package/src/_modules/ai/_modules/open-ai/index.ts +0 -28
  265. package/src/_modules/ai/index.ts +0 -27
  266. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +0 -11
  267. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +0 -10
  268. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +0 -58
  269. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +0 -77
  270. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +0 -12
  271. package/src/_modules/ci-tools/index.ts +0 -8
  272. package/src/_modules/crypto/_collections/crypto-v1.util.ts +0 -225
  273. package/src/_modules/crypto/_collections/crypto-v2.util.ts +0 -331
  274. package/src/_modules/crypto/_collections/crypto-v4.util.ts +0 -702
  275. package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +0 -51
  276. package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +0 -606
  277. package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +0 -643
  278. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +0 -513
  279. package/src/_modules/crypto/_collections/crypto.util.ts +0 -748
  280. package/src/_modules/crypto/_models/artifact-signature.interface.ts +0 -39
  281. package/src/_modules/crypto/_services/artifact-signature.control-service.spec.ts +0 -223
  282. package/src/_modules/crypto/_services/artifact-signature.control-service.ts +0 -395
  283. package/src/_modules/crypto/index.ts +0 -16
  284. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +0 -21
  285. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +0 -38
  286. package/src/_modules/custom-data/_models/cud.data-model.ts +0 -39
  287. package/src/_modules/custom-data/index.ts +0 -10
  288. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +0 -110
  289. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +0 -110
  290. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +0 -473
  291. package/src/_modules/data-handler/_models/data-handler.control-model.ts +0 -486
  292. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +0 -263
  293. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +0 -252
  294. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +0 -417
  295. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +0 -390
  296. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +0 -374
  297. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +0 -274
  298. package/src/_modules/data-handler/index.ts +0 -6
  299. package/src/_modules/deployment/_collections/atomic-rollback-manifest.util.spec.ts +0 -221
  300. package/src/_modules/deployment/_collections/atomic-rollback-manifest.util.ts +0 -455
  301. package/src/_modules/deployment/_models/atomic-rollback-manifest.interface.ts +0 -59
  302. package/src/_modules/deployment/index.ts +0 -2
  303. package/src/_modules/game/_collections/audio-mixer.util.spec.ts +0 -198
  304. package/src/_modules/game/_collections/audio-mixer.util.ts +0 -143
  305. package/src/_modules/game/_collections/audio-scale.util.spec.ts +0 -140
  306. package/src/_modules/game/_collections/audio-scale.util.ts +0 -129
  307. package/src/_modules/game/_enums/audio-channel.enum.ts +0 -22
  308. package/src/_modules/game/_models/audio-mixer-config.interface.ts +0 -53
  309. package/src/_modules/game/_models/audio-mixer-settings.interface.ts +0 -38
  310. package/src/_modules/game/_models/audio-mixer-state.interface.ts +0 -36
  311. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +0 -376
  312. package/src/_modules/game/_models/audio-mixer.control-model.ts +0 -419
  313. package/src/_modules/game/_models/audio-scale.interface.ts +0 -21
  314. package/src/_modules/game/_models/seeded-random-state.interface.ts +0 -21
  315. package/src/_modules/game/_models/seeded-random.control-model.spec.ts +0 -290
  316. package/src/_modules/game/_models/seeded-random.control-model.ts +0 -311
  317. package/src/_modules/game/index.ts +0 -15
  318. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +0 -3239
  319. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +0 -19036
  320. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +0 -4994
  321. package/src/_modules/location/_collections/assets/country-phone-codes.json +0 -1203
  322. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +0 -138
  323. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +0 -50
  324. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +0 -194
  325. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +0 -30
  326. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +0 -74
  327. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +0 -34
  328. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +0 -98
  329. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +0 -46
  330. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +0 -34
  331. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +0 -38
  332. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +0 -6
  333. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +0 -126
  334. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +0 -22
  335. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +0 -30
  336. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +0 -46
  337. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +0 -30
  338. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +0 -14
  339. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +0 -26
  340. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +0 -50
  341. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +0 -82
  342. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +0 -38
  343. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +0 -14
  344. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +0 -66
  345. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +0 -110
  346. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +0 -18
  347. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +0 -114
  348. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +0 -54
  349. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +0 -70
  350. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +0 -98
  351. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +0 -42
  352. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +0 -80
  353. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +0 -10
  354. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +0 -70
  355. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +0 -90
  356. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +0 -62
  357. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +0 -206
  358. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +0 -134
  359. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +0 -14
  360. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +0 -46
  361. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +0 -50
  362. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +0 -30
  363. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +0 -78
  364. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +0 -86
  365. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +0 -66
  366. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +0 -26
  367. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +0 -58
  368. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +0 -22
  369. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +0 -26
  370. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +0 -42
  371. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +0 -42
  372. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +0 -98
  373. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +0 -118
  374. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +0 -58
  375. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +0 -10
  376. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +0 -26
  377. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +0 -62
  378. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +0 -46
  379. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +0 -22
  380. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +0 -78
  381. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +0 -134
  382. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +0 -38
  383. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +0 -26
  384. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +0 -50
  385. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +0 -66
  386. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +0 -42
  387. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +0 -54
  388. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +0 -18
  389. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +0 -30
  390. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +0 -90
  391. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +0 -14
  392. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +0 -34
  393. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +0 -42
  394. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +0 -42
  395. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +0 -74
  396. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +0 -5
  397. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +0 -174
  398. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +0 -38
  399. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +0 -182
  400. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +0 -30
  401. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +0 -126
  402. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +0 -74
  403. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +0 -18
  404. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +0 -26
  405. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +0 -82
  406. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +0 -58
  407. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +0 -190
  408. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +0 -50
  409. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +0 -66
  410. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +0 -34
  411. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +0 -14
  412. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +0 -46
  413. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +0 -70
  414. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +0 -26
  415. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +0 -34
  416. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +0 -74
  417. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +0 -478
  418. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +0 -34
  419. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +0 -42
  420. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +0 -62
  421. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +0 -90
  422. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +0 -46
  423. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +0 -42
  424. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +0 -14
  425. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +0 -338
  426. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +0 -26
  427. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +0 -14
  428. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +0 -82
  429. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +0 -34
  430. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +0 -38
  431. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +0 -274
  432. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +0 -10
  433. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +0 -54
  434. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +0 -70
  435. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +0 -162
  436. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +0 -18
  437. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +0 -150
  438. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +0 -70
  439. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +0 -90
  440. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +0 -94
  441. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +0 -66
  442. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +0 -46
  443. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +0 -58
  444. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +0 -58
  445. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +0 -58
  446. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +0 -22
  447. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +0 -92
  448. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +0 -112
  449. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +0 -70
  450. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +0 -34
  451. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +0 -150
  452. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +0 -86
  453. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +0 -38
  454. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +0 -34
  455. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +0 -66
  456. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +0 -66
  457. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +0 -54
  458. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +0 -82
  459. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +0 -74
  460. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +0 -106
  461. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +0 -70
  462. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +0 -66
  463. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +0 -82
  464. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +0 -30
  465. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +0 -170
  466. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +0 -500
  467. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +0 -22
  468. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +0 -14
  469. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +0 -10
  470. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +0 -46
  471. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +0 -26
  472. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +0 -46
  473. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +0 -38
  474. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +0 -10
  475. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +0 -54
  476. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +0 -58
  477. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +0 -10
  478. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +0 -102
  479. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +0 -18
  480. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +0 -22
  481. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +0 -34
  482. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +0 -842
  483. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +0 -42
  484. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +0 -74
  485. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +0 -38
  486. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +0 -42
  487. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +0 -347
  488. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +0 -38
  489. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +0 -70
  490. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +0 -42
  491. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +0 -18
  492. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +0 -86
  493. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +0 -106
  494. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +0 -58
  495. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +0 -94
  496. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +0 -18
  497. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +0 -106
  498. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +0 -314
  499. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +0 -54
  500. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +0 -22
  501. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +0 -22
  502. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +0 -66
  503. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +0 -98
  504. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +0 -326
  505. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +0 -26
  506. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +0 -34
  507. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +0 -18
  508. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +0 -110
  509. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +0 -30
  510. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +0 -1197
  511. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +0 -38
  512. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +0 -287
  513. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +0 -78
  514. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +0 -58
  515. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +0 -26
  516. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +0 -102
  517. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +0 -258
  518. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +0 -86
  519. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +0 -38
  520. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +0 -42
  521. package/src/_modules/location/_collections/loc-country-divisions.const.ts +0 -11
  522. package/src/_modules/location/_collections/loc-country-isos.const.ts +0 -8
  523. package/src/_modules/location/_collections/loc-regions.util.spec.ts +0 -61
  524. package/src/_modules/location/_collections/loc-regions.util.ts +0 -137
  525. package/src/_modules/location/_collections/loc.util.spec.ts +0 -52
  526. package/src/_modules/location/_collections/loc.util.ts +0 -74
  527. package/src/_modules/location/_enums/loc-region.enum.ts +0 -14
  528. package/src/_modules/location/_enums/loc-sub-region.enum.ts +0 -31
  529. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +0 -47
  530. package/src/_modules/location/_models/loc-coordinates.interface.ts +0 -7
  531. package/src/_modules/location/_models/loc-country-division.interface.ts +0 -8
  532. package/src/_modules/location/_models/loc-country-iso.interface.ts +0 -23
  533. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +0 -9
  534. package/src/_modules/location/_models/loc-division-collection.interface.ts +0 -12
  535. package/src/_modules/location/_models/loc-division-region-data.interface.ts +0 -9
  536. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +0 -27
  537. package/src/_modules/location/index.ts +0 -22
  538. package/src/_modules/messaging/README.md +0 -279
  539. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +0 -46
  540. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +0 -26
  541. package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +0 -20
  542. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +0 -17
  543. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +0 -31
  544. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +0 -20
  545. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +0 -7
  546. package/src/_modules/messaging/_enums/msg-status.enum.ts +0 -26
  547. package/src/_modules/messaging/_enums/msg-type.enum.ts +0 -23
  548. package/src/_modules/messaging/_models/msg-attachment.interface.ts +0 -46
  549. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +0 -69
  550. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +0 -96
  551. package/src/_modules/messaging/_models/msg-mention.interface.ts +0 -29
  552. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +0 -79
  553. package/src/_modules/messaging/_models/msg-message.data-model.ts +0 -127
  554. package/src/_modules/messaging/_models/msg-participant.interface.ts +0 -46
  555. package/src/_modules/messaging/_models/msg-reaction.interface.ts +0 -20
  556. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +0 -35
  557. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +0 -35
  558. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +0 -23
  559. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +0 -55
  560. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +0 -26
  561. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +0 -37
  562. package/src/_modules/messaging/_modules/agent/index.ts +0 -8
  563. package/src/_modules/messaging/index.ts +0 -28
  564. package/src/_modules/ngx-models/_collections/angular-placeholders.ts +0 -35
  565. package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +0 -181
  566. package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +0 -74
  567. package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +0 -103
  568. package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +0 -16
  569. package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +0 -14
  570. package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +0 -16
  571. package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +0 -18
  572. package/src/_modules/ngx-models/_enums/button-type.enum.ts +0 -36
  573. package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +0 -8
  574. package/src/_modules/ngx-models/_enums/container-type.enum.ts +0 -11
  575. package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +0 -13
  576. package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +0 -13
  577. package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +0 -13
  578. package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +0 -14
  579. package/src/_modules/ngx-models/_enums/field-type.enum.ts +0 -53
  580. package/src/_modules/ngx-models/_enums/file-type.enum.ts +0 -12
  581. package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +0 -21
  582. package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +0 -5
  583. package/src/_modules/ngx-models/_enums/form-access.enum.ts +0 -9
  584. package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +0 -12
  585. package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +0 -9
  586. package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +0 -20
  587. package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +0 -15
  588. package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +0 -10
  589. package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +0 -13
  590. package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +0 -27
  591. package/src/_modules/ngx-models/_enums/material-color.enum.ts +0 -16
  592. package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +0 -17
  593. package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +0 -8
  594. package/src/_modules/ngx-models/_enums/storage-type.enum.ts +0 -15
  595. package/src/_modules/ngx-models/_enums/validator-type.enum.ts +0 -9
  596. package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +0 -14
  597. package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +0 -26
  598. package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +0 -20
  599. package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +0 -37
  600. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +0 -70
  601. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +0 -332
  602. package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +0 -28
  603. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +0 -91
  604. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +0 -135
  605. package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +0 -529
  606. package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +0 -52
  607. package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +0 -34
  608. package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +0 -86
  609. package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +0 -52
  610. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +0 -109
  611. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +0 -133
  612. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +0 -109
  613. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +0 -160
  614. package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +0 -25
  615. package/src/_modules/ngx-models/_models/control-models/forms-new/color-picker-field-new-settings.control-model.ts +0 -44
  616. package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +0 -26
  617. package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +0 -42
  618. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +0 -35
  619. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +0 -35
  620. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +0 -85
  621. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +0 -44
  622. package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +0 -40
  623. package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +0 -210
  624. package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +0 -21
  625. package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +0 -27
  626. package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +0 -24
  627. package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +0 -35
  628. package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +0 -35
  629. package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +0 -46
  630. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +0 -37
  631. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +0 -45
  632. package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +0 -30
  633. package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +0 -22
  634. package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +0 -108
  635. package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +0 -52
  636. package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +0 -40
  637. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +0 -55
  638. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +0 -30
  639. package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +0 -45
  640. package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +0 -28
  641. package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +0 -111
  642. package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +0 -74
  643. package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +0 -42
  644. package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +0 -37
  645. package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +0 -74
  646. package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +0 -20
  647. package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +0 -67
  648. package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +0 -40
  649. package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +0 -18
  650. package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +0 -41
  651. package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +0 -19
  652. package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +0 -14
  653. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +0 -14
  654. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +0 -15
  655. package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +0 -18
  656. package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +0 -21
  657. package/src/_modules/ngx-models/_utils/shared.service.spec.ts +0 -7
  658. package/src/_modules/ngx-models/_utils/shared.service.ts +0 -541
  659. package/src/_modules/ngx-models/index.ts +0 -110
  660. package/src/_modules/pipe/_collections/pip-transforms.const.ts +0 -42
  661. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +0 -47
  662. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +0 -41
  663. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +0 -39
  664. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +0 -30
  665. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +0 -41
  666. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +0 -36
  667. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +0 -62
  668. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +0 -18
  669. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +0 -34
  670. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +0 -25
  671. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +0 -67
  672. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +0 -227
  673. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +0 -28
  674. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +0 -21
  675. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +0 -59
  676. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +0 -106
  677. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +0 -31
  678. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +0 -35
  679. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +0 -44
  680. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +0 -23
  681. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +0 -21
  682. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +0 -33
  683. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +0 -62
  684. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +0 -80
  685. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +0 -15
  686. package/src/_modules/pipe/_enums/pip.enum.ts +0 -65
  687. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +0 -8
  688. package/src/_modules/pipe/_models/pip-transforms.interface.ts +0 -30
  689. package/src/_modules/pipe/index.ts +0 -30
  690. package/src/_modules/security/_collections/stored-secret.util.spec.ts +0 -81
  691. package/src/_modules/security/_collections/stored-secret.util.ts +0 -96
  692. package/src/_modules/security/_models/stored-secret.control-model.ts +0 -55
  693. package/src/_modules/security/index.ts +0 -9
  694. package/src/_modules/socket/_enums/sck-event-key.enum.ts +0 -21
  695. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +0 -67
  696. package/src/_modules/socket/_models/sck-client-params.control-model.ts +0 -50
  697. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +0 -89
  698. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +0 -185
  699. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +0 -99
  700. package/src/_modules/socket/_services/sck-client.service-base.ts +0 -353
  701. package/src/_modules/socket/index.ts +0 -14
  702. package/src/_modules/state-machine/_models/state-machine-config.interface.ts +0 -19
  703. package/src/_modules/state-machine/_models/state-machine-event.interface.ts +0 -25
  704. package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +0 -314
  705. package/src/_modules/state-machine/_models/state-machine.control-model.ts +0 -298
  706. package/src/_modules/state-machine/_models/state-transition-result.interface.ts +0 -53
  707. package/src/_modules/state-machine/_models/state-transition.interface.ts +0 -30
  708. package/src/_modules/state-machine/index.ts +0 -6
  709. package/src/_modules/test/_collections/tst-module-settings.const.ts +0 -67
  710. package/src/_modules/test/index.ts +0 -5
  711. package/src/_modules/usage/_collections/usg-module-settings.const.ts +0 -33
  712. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +0 -27
  713. package/src/_modules/usage/_models/usg-action.control-model.ts +0 -28
  714. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +0 -36
  715. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +0 -35
  716. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +0 -41
  717. package/src/_modules/usage/_models/usg-data.control-model.ts +0 -35
  718. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +0 -97
  719. package/src/_modules/usage/_models/usg-session.data-model.ts +0 -72
  720. package/src/_modules/usage/index.ts +0 -11
  721. package/src/index.ts +0 -104
  722. package/tsconfig.app.json +0 -12
  723. package/tsconfig.json +0 -32
  724. package/tsconfig.test.json +0 -16
  725. package/tslint.json +0 -153
@@ -1,221 +0,0 @@
1
- import { DyFM_AtomicRollbackManifest_Util } from './atomic-rollback-manifest.util';
2
- import {
3
- DyFM_AtomicRollbackImage_Interface,
4
- DyFM_AtomicRollbackLocalValidation_Interface,
5
- DyFM_AtomicRollbackManifest_Interface,
6
- DyFM_AtomicRollbackPostCheck_Interface
7
- } from '../_models/atomic-rollback-manifest.interface';
8
-
9
- /** Builds one fully valid manifest for contract mutation tests. */
10
- const dyfm_createManifest: () => DyFM_AtomicRollbackManifest_Interface =
11
- (): DyFM_AtomicRollbackManifest_Interface => {
12
- const manifest: DyFM_AtomicRollbackManifest_Interface = {
13
- contractVersion: 'fdp-atomic-rollback-manifest/1',
14
- operationId: `rollback_${'1'.repeat(32)}`,
15
- environment: 'test',
16
- authority: {
17
- principalId: 'fdp-cdp',
18
- evidenceId: '2'.repeat(64),
19
- },
20
- sourceRevision: '3'.repeat(40),
21
- configuration: {
22
- revision: '4'.repeat(40),
23
- sha256: '5'.repeat(64),
24
- compatibilityVersion: 'ctm-db/1',
25
- policyChecksum: '6'.repeat(64),
26
- },
27
- images: [
28
- {
29
- service: 'company-toolmaker-server',
30
- version: '0.0.1',
31
- immutableReference: 'registry.example/company-toolmaker-server:release-0.0.1',
32
- mutableReference: 'registry.example/company-toolmaker-server:release',
33
- digest: `sha256:${'7'.repeat(64)}`,
34
- },
35
- {
36
- service: 'company-toolmaker-client',
37
- version: '0.0.1',
38
- immutableReference: 'registry.example/company-toolmaker-client:release-0.0.1',
39
- mutableReference: 'registry.example/company-toolmaker-client:release',
40
- digest: `sha256:${'8'.repeat(64)}`,
41
- },
42
- ],
43
- postChecks: [
44
- {
45
- checkId: 'server-readiness',
46
- service: 'company-toolmaker-server',
47
- endpoint: 'https://test-company-toolmaker.futdevpro.hu/readiness',
48
- expectedProbeContract: 'ctm-service-probe/4',
49
- },
50
- {
51
- checkId: 'client-smoke',
52
- service: 'company-toolmaker-client',
53
- endpoint: 'https://test-company-toolmaker.futdevpro.hu/',
54
- expectedProbeContract: 'ctm-client-smoke/1',
55
- },
56
- ],
57
- targetChecksum: '',
58
- };
59
-
60
- manifest.targetChecksum = DyFM_AtomicRollbackManifest_Util.computeTargetChecksum(manifest);
61
-
62
- return manifest;
63
- };
64
-
65
- describe('| DyFM atomic rollback manifest', (): void => {
66
- it('| validates an exact manifest with order-independent service and post-check sets', (): void => {
67
- const manifest: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
68
- const checksum: string = manifest.targetChecksum;
69
-
70
- manifest.images.reverse();
71
- manifest.postChecks.reverse();
72
-
73
- expect(DyFM_AtomicRollbackManifest_Util.computeTargetChecksum(manifest)).toBe(checksum);
74
- expect(checksum).toBe('2b416434a8d36c5b3305383eb1f2ecebae4057d30d2f46d986d04728225b58df');
75
- expect(DyFM_AtomicRollbackManifest_Util.validate(manifest)).toEqual(jasmine.objectContaining({
76
- valid: true,
77
- environment: 'test',
78
- operationId: manifest.operationId,
79
- targetChecksum: checksum,
80
- serviceCount: 2,
81
- postCheckCount: 2,
82
- gapCodes: [],
83
- }));
84
- });
85
-
86
- it('| ignores nested object insertion order when calculating the canonical checksum', (): void => {
87
- const manifest: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
88
- const reordered: DyFM_AtomicRollbackManifest_Interface = {
89
- ...manifest,
90
- authority: {
91
- evidenceId: manifest.authority.evidenceId,
92
- principalId: manifest.authority.principalId,
93
- },
94
- configuration: {
95
- policyChecksum: manifest.configuration.policyChecksum,
96
- compatibilityVersion: manifest.configuration.compatibilityVersion,
97
- sha256: manifest.configuration.sha256,
98
- revision: manifest.configuration.revision,
99
- },
100
- images: manifest.images.map((
101
- image: DyFM_AtomicRollbackImage_Interface,
102
- ): DyFM_AtomicRollbackImage_Interface => ({
103
- digest: image.digest,
104
- mutableReference: image.mutableReference,
105
- immutableReference: image.immutableReference,
106
- version: image.version,
107
- service: image.service,
108
- })),
109
- postChecks: manifest.postChecks.map((
110
- check: DyFM_AtomicRollbackPostCheck_Interface,
111
- ): DyFM_AtomicRollbackPostCheck_Interface => ({
112
- expectedProbeContract: check.expectedProbeContract,
113
- endpoint: check.endpoint,
114
- service: check.service,
115
- checkId: check.checkId,
116
- })),
117
- };
118
-
119
- expect(DyFM_AtomicRollbackManifest_Util.computeTargetChecksum(reordered)).toBe(manifest.targetChecksum);
120
- expect(DyFM_AtomicRollbackManifest_Util.validate(reordered).valid).toBeTrue();
121
- });
122
-
123
- it('| rejects missing, duplicated and non-targeted service members', (): void => {
124
- const missing: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
125
-
126
- missing.images.pop();
127
- const duplicated: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
128
-
129
- duplicated.images[1] = { ...duplicated.images[0] };
130
-
131
- expect(DyFM_AtomicRollbackManifest_Util.validate(missing).gapCodes).toContain(
132
- 'FDP|ATOMIC_ROLLBACK|POST_CHECK_SERVICE_NOT_TARGETED',
133
- );
134
- expect(DyFM_AtomicRollbackManifest_Util.validate(duplicated).gapCodes).toContain(
135
- 'FDP|ATOMIC_ROLLBACK|IMAGE_SERVICE_DUPLICATED',
136
- );
137
- });
138
-
139
- it('| rejects tag, version, digest and repository substitution', (): void => {
140
- const mutable: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
141
-
142
- mutable.images[0].immutableReference = 'registry.example/company-toolmaker-server:release';
143
- const versionMismatch: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
144
-
145
- versionMismatch.images[0].version = '0.0.2';
146
- const digestInvalid: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
147
-
148
- digestInvalid.images[0].digest = 'sha256:not-a-digest';
149
- const repositoryMismatch: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
150
-
151
- repositoryMismatch.images[0].mutableReference = 'other.example/company-toolmaker-server:release';
152
-
153
- expect(DyFM_AtomicRollbackManifest_Util.validate(mutable).gapCodes).toContain(
154
- 'FDP|ATOMIC_ROLLBACK|IMAGE_IMMUTABLE_REFERENCE_INVALID|company-toolmaker-server',
155
- );
156
- expect(DyFM_AtomicRollbackManifest_Util.validate(versionMismatch).gapCodes).toContain(
157
- 'FDP|ATOMIC_ROLLBACK|IMAGE_IMMUTABLE_REFERENCE_INVALID|company-toolmaker-server',
158
- );
159
- expect(DyFM_AtomicRollbackManifest_Util.validate(digestInvalid).gapCodes).toContain(
160
- 'FDP|ATOMIC_ROLLBACK|IMAGE_DIGEST_INVALID|company-toolmaker-server',
161
- );
162
- expect(DyFM_AtomicRollbackManifest_Util.validate(repositoryMismatch).gapCodes).toContain(
163
- 'FDP|ATOMIC_ROLLBACK|IMAGE_REPOSITORY_MISMATCH|company-toolmaker-server',
164
- );
165
- });
166
-
167
- it('| rejects configuration, authority and target-checksum substitution', (): void => {
168
- const configuration: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
169
-
170
- configuration.configuration.sha256 = '9'.repeat(64);
171
- const authority: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
172
-
173
- authority.authority.evidenceId = 'not-evidence';
174
- const checksum: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
175
-
176
- checksum.targetChecksum = 'a'.repeat(64);
177
-
178
- expect(DyFM_AtomicRollbackManifest_Util.validate(configuration).gapCodes).toEqual([
179
- 'FDP|ATOMIC_ROLLBACK|TARGET_CHECKSUM_MISMATCH',
180
- ]);
181
- expect(DyFM_AtomicRollbackManifest_Util.validate(authority).gapCodes).toContain(
182
- 'FDP|ATOMIC_ROLLBACK|AUTHORITY_EVIDENCE_INVALID',
183
- );
184
- expect(DyFM_AtomicRollbackManifest_Util.validate(checksum).gapCodes).toEqual([
185
- 'FDP|ATOMIC_ROLLBACK|TARGET_CHECKSUM_MISMATCH',
186
- ]);
187
- });
188
-
189
- it('| rejects oversized operational references before they can expand evidence or work', (): void => {
190
- const imageReference: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
191
-
192
- imageReference.images[0].immutableReference =
193
- `registry.example/${'segment/'.repeat(70)}company-toolmaker-server:release-0.0.1`;
194
- imageReference.targetChecksum = DyFM_AtomicRollbackManifest_Util.computeTargetChecksum(imageReference);
195
- const endpoint: DyFM_AtomicRollbackManifest_Interface = dyfm_createManifest();
196
-
197
- endpoint.postChecks[0].endpoint = `https://${'a'.repeat(2040)}.example/readiness`;
198
- endpoint.targetChecksum = DyFM_AtomicRollbackManifest_Util.computeTargetChecksum(endpoint);
199
-
200
- expect(DyFM_AtomicRollbackManifest_Util.validate(imageReference).gapCodes).toContain(
201
- 'FDP|ATOMIC_ROLLBACK|IMAGE_IMMUTABLE_REFERENCE_INVALID|company-toolmaker-server',
202
- );
203
- expect(DyFM_AtomicRollbackManifest_Util.validate(endpoint).gapCodes).toContain(
204
- 'FDP|ATOMIC_ROLLBACK|POST_CHECK_ENDPOINT_INVALID|server-readiness',
205
- );
206
- });
207
-
208
- it('| never reflects unknown content in validation evidence', (): void => {
209
- const candidate: Record<string, unknown> = {
210
- ...dyfm_createManifest(),
211
- workbookName: 'sensitive-customer.xlsx',
212
- };
213
- const report: DyFM_AtomicRollbackLocalValidation_Interface = DyFM_AtomicRollbackManifest_Util.validate(candidate);
214
- const serialized: string = JSON.stringify(report);
215
-
216
- expect(report.gapCodes).toEqual([ 'FDP|ATOMIC_ROLLBACK|MANIFEST_SHAPE_INVALID' ]);
217
- expect(serialized).not.toContain('sensitive-customer');
218
- expect(serialized).not.toContain('registry.example');
219
- expect(serialized).not.toContain('workbookName');
220
- });
221
- });
@@ -1,455 +0,0 @@
1
- import * as CryptoJS from 'crypto-js';
2
-
3
- import {
4
- DyFM_AtomicRollbackAuthority_Interface,
5
- DyFM_AtomicRollbackConfiguration_Interface,
6
- DyFM_AtomicRollbackEnvironment_Type,
7
- DyFM_AtomicRollbackImage_Interface,
8
- DyFM_AtomicRollbackLocalValidation_Interface,
9
- DyFM_AtomicRollbackManifest_Interface,
10
- DyFM_AtomicRollbackPostCheck_Interface
11
- } from '../_models/atomic-rollback-manifest.interface';
12
-
13
- const dyfm_exactManifestKeys: string = [
14
- 'authority',
15
- 'configuration',
16
- 'contractVersion',
17
- 'environment',
18
- 'images',
19
- 'operationId',
20
- 'postChecks',
21
- 'sourceRevision',
22
- 'targetChecksum',
23
- ].join(',');
24
- const dyfm_exactAuthorityKeys: string = 'evidenceId,principalId';
25
- const dyfm_exactConfigurationKeys: string = 'compatibilityVersion,policyChecksum,revision,sha256';
26
- const dyfm_exactImageKeys: string = 'digest,immutableReference,mutableReference,service,version';
27
- const dyfm_exactPostCheckKeys: string = 'checkId,endpoint,expectedProbeContract,service';
28
- const dyfm_revisionPattern: RegExp = /^[0-9a-f]{40}$/u;
29
- const dyfm_sha256Pattern: RegExp = /^[0-9a-f]{64}$/u;
30
- const dyfm_digestPattern: RegExp = /^sha256:[0-9a-f]{64}$/u;
31
- const dyfm_operationPattern: RegExp = /^rollback_[0-9a-f]{32}$/u;
32
- const dyfm_safeIdPattern: RegExp = /^[a-z0-9][a-z0-9._-]{0,127}$/u;
33
- const dyfm_versionPattern: RegExp = /^[0-9A-Za-z][0-9A-Za-z._-]{0,63}$/u;
34
- const dyfm_compatibilityPattern: RegExp = /^[a-z0-9][a-z0-9-]{1,63}\/[1-9][0-9]{0,8}$/u;
35
- const dyfm_contractPattern: RegExp = /^[a-z0-9][a-z0-9-]{1,63}\/[1-9][0-9]{0,8}$/u;
36
- const dyfm_imageReferencePattern: RegExp =
37
- /^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*(?::[0-9]+)?\/)+[a-z0-9]+(?:[._-][a-z0-9]+)*:[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u;
38
-
39
- /** Determines whether an unknown value is a non-array object. */
40
- function dyfm_isRecord(value: unknown): value is Record<string, unknown> {
41
- return typeof value === 'object' && value !== null && !Array.isArray(value);
42
- }
43
-
44
- /** Compares an object's sorted keys with one exact key signature. */
45
- function dyfm_hasExactKeys(value: Record<string, unknown>, expected: string): boolean {
46
- return Object.keys(value).sort().join(',') === expected;
47
- }
48
-
49
- /** Narrows a value to a deployment environment supported by the contract. */
50
- function dyfm_isEnvironment(value: unknown): value is DyFM_AtomicRollbackEnvironment_Type {
51
- return value === 'test' || value === 'production';
52
- }
53
-
54
- /** Allows bounded HTTPS probes and service-local HTTP probes without credentials or query data. */
55
- function dyfm_isSafePostCheckEndpoint(value: string, service: string): boolean {
56
- if (value.length > 2048) {
57
- return false;
58
- }
59
- try {
60
- const endpoint: URL = new URL(value);
61
-
62
- if (
63
- endpoint.username
64
- || endpoint.password
65
- || endpoint.search
66
- || endpoint.hash
67
- || !/^\/[A-Za-z0-9/_-]{0,127}$/u.test(endpoint.pathname)
68
- ) {
69
- return false;
70
- }
71
-
72
- if (endpoint.protocol === 'https:') {
73
- return true;
74
- }
75
-
76
- return endpoint.protocol === 'http:'
77
- && [ service, '127.0.0.1', 'localhost' ].includes(endpoint.hostname);
78
- } catch {
79
- return false;
80
- }
81
- }
82
-
83
- /** Parses bounded deployment authority evidence without returning rejected content. */
84
- function dyfm_parseAuthority(
85
- value: unknown,
86
- gapCodes: string[],
87
- ): DyFM_AtomicRollbackAuthority_Interface | undefined {
88
- if (!dyfm_isRecord(value) || !dyfm_hasExactKeys(value, dyfm_exactAuthorityKeys)) {
89
- gapCodes.push('FDP|ATOMIC_ROLLBACK|AUTHORITY_SHAPE_INVALID');
90
-
91
- return undefined;
92
- }
93
-
94
- if (typeof value.principalId !== 'string' || !dyfm_safeIdPattern.test(value.principalId)) {
95
- gapCodes.push('FDP|ATOMIC_ROLLBACK|AUTHORITY_PRINCIPAL_INVALID');
96
- }
97
-
98
- if (typeof value.evidenceId !== 'string' || !dyfm_sha256Pattern.test(value.evidenceId)) {
99
- gapCodes.push('FDP|ATOMIC_ROLLBACK|AUTHORITY_EVIDENCE_INVALID');
100
- }
101
-
102
- if (
103
- typeof value.principalId !== 'string'
104
- || typeof value.evidenceId !== 'string'
105
- || gapCodes.some((code: string): boolean => code.startsWith('FDP|ATOMIC_ROLLBACK|AUTHORITY_'))
106
- ) {
107
- return undefined;
108
- }
109
-
110
- return { principalId: value.principalId, evidenceId: value.evidenceId };
111
- }
112
-
113
- /** Parses an exact configuration and compatibility target. */
114
- function dyfm_parseConfiguration(
115
- value: unknown,
116
- gapCodes: string[],
117
- ): DyFM_AtomicRollbackConfiguration_Interface | undefined {
118
- if (!dyfm_isRecord(value) || !dyfm_hasExactKeys(value, dyfm_exactConfigurationKeys)) {
119
- gapCodes.push('FDP|ATOMIC_ROLLBACK|CONFIGURATION_SHAPE_INVALID');
120
-
121
- return undefined;
122
- }
123
-
124
- if (typeof value.revision !== 'string' || !dyfm_revisionPattern.test(value.revision)) {
125
- gapCodes.push('FDP|ATOMIC_ROLLBACK|CONFIGURATION_REVISION_INVALID');
126
- }
127
-
128
- if (typeof value.sha256 !== 'string' || !dyfm_sha256Pattern.test(value.sha256)) {
129
- gapCodes.push('FDP|ATOMIC_ROLLBACK|CONFIGURATION_CHECKSUM_INVALID');
130
- }
131
-
132
- if (
133
- typeof value.compatibilityVersion !== 'string'
134
- || !dyfm_compatibilityPattern.test(value.compatibilityVersion)
135
- ) {
136
- gapCodes.push('FDP|ATOMIC_ROLLBACK|CONFIGURATION_COMPATIBILITY_INVALID');
137
- }
138
-
139
- if (typeof value.policyChecksum !== 'string' || !dyfm_sha256Pattern.test(value.policyChecksum)) {
140
- gapCodes.push('FDP|ATOMIC_ROLLBACK|CONFIGURATION_POLICY_CHECKSUM_INVALID');
141
- }
142
-
143
- if (
144
- typeof value.revision !== 'string'
145
- || typeof value.sha256 !== 'string'
146
- || typeof value.compatibilityVersion !== 'string'
147
- || typeof value.policyChecksum !== 'string'
148
- || gapCodes.some((code: string): boolean => code.startsWith('FDP|ATOMIC_ROLLBACK|CONFIGURATION_'))
149
- ) {
150
- return undefined;
151
- }
152
-
153
- return {
154
- revision: value.revision,
155
- sha256: value.sha256,
156
- compatibilityVersion: value.compatibilityVersion,
157
- policyChecksum: value.policyChecksum,
158
- };
159
- }
160
-
161
- /** Parses the complete immutable image promotion set. */
162
- function dyfm_parseImages(value: unknown, gapCodes: string[]): DyFM_AtomicRollbackImage_Interface[] {
163
- if (!Array.isArray(value) || value.length < 1 || value.length > 16) {
164
- gapCodes.push('FDP|ATOMIC_ROLLBACK|IMAGE_SET_CARDINALITY_INVALID');
165
-
166
- return [];
167
- }
168
- const images: DyFM_AtomicRollbackImage_Interface[] = [];
169
-
170
- for (const candidate of value) {
171
- if (!dyfm_isRecord(candidate) || !dyfm_hasExactKeys(candidate, dyfm_exactImageKeys)) {
172
- gapCodes.push('FDP|ATOMIC_ROLLBACK|IMAGE_SHAPE_INVALID');
173
- continue;
174
- }
175
- const service: string | undefined = typeof candidate.service === 'string' ? candidate.service : undefined;
176
- const version: string | undefined = typeof candidate.version === 'string' ? candidate.version : undefined;
177
- const immutableReference: string | undefined = typeof candidate.immutableReference === 'string'
178
- ? candidate.immutableReference
179
- : undefined;
180
- const mutableReference: string | undefined = typeof candidate.mutableReference === 'string'
181
- ? candidate.mutableReference
182
- : undefined;
183
- const digest: string | undefined = typeof candidate.digest === 'string' ? candidate.digest : undefined;
184
-
185
- if (!service || !dyfm_safeIdPattern.test(service)) {
186
- gapCodes.push('FDP|ATOMIC_ROLLBACK|IMAGE_SERVICE_INVALID');
187
- continue;
188
- }
189
-
190
- if (!version || !dyfm_versionPattern.test(version)) {
191
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|IMAGE_VERSION_INVALID|${service}`);
192
- continue;
193
- }
194
-
195
- if (
196
- !immutableReference
197
- || immutableReference.length > 512
198
- || !dyfm_imageReferencePattern.test(immutableReference)
199
- || !immutableReference.endsWith(`/${service}:release-${version}`)
200
- ) {
201
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|IMAGE_IMMUTABLE_REFERENCE_INVALID|${service}`);
202
- continue;
203
- }
204
-
205
- if (
206
- !mutableReference
207
- || mutableReference.length > 512
208
- || !dyfm_imageReferencePattern.test(mutableReference)
209
- || !mutableReference.endsWith(`/${service}:release`)
210
- ) {
211
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|IMAGE_MUTABLE_REFERENCE_INVALID|${service}`);
212
- continue;
213
- }
214
-
215
- if (
216
- immutableReference.slice(0, immutableReference.lastIndexOf(':'))
217
- !== mutableReference.slice(0, mutableReference.lastIndexOf(':'))
218
- ) {
219
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|IMAGE_REPOSITORY_MISMATCH|${service}`);
220
- continue;
221
- }
222
-
223
- if (!digest || !dyfm_digestPattern.test(digest)) {
224
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|IMAGE_DIGEST_INVALID|${service}`);
225
- continue;
226
- }
227
- images.push({
228
- service: service,
229
- version: version,
230
- immutableReference: immutableReference,
231
- mutableReference: mutableReference,
232
- digest: digest,
233
- });
234
- }
235
- const services: string[] = images.map((image: DyFM_AtomicRollbackImage_Interface): string => image.service);
236
-
237
- if (new Set(services).size !== services.length) {
238
- gapCodes.push('FDP|ATOMIC_ROLLBACK|IMAGE_SERVICE_DUPLICATED');
239
- }
240
-
241
- return images;
242
- }
243
-
244
- /** Parses bounded post-deployment checks targeting manifest services only. */
245
- function dyfm_parsePostChecks(value: unknown, gapCodes: string[]): DyFM_AtomicRollbackPostCheck_Interface[] {
246
- if (!Array.isArray(value) || value.length < 1 || value.length > 32) {
247
- gapCodes.push('FDP|ATOMIC_ROLLBACK|POST_CHECK_SET_CARDINALITY_INVALID');
248
-
249
- return [];
250
- }
251
- const postChecks: DyFM_AtomicRollbackPostCheck_Interface[] = [];
252
-
253
- for (const candidate of value) {
254
- if (!dyfm_isRecord(candidate) || !dyfm_hasExactKeys(candidate, dyfm_exactPostCheckKeys)) {
255
- gapCodes.push('FDP|ATOMIC_ROLLBACK|POST_CHECK_SHAPE_INVALID');
256
- continue;
257
- }
258
- const checkId: string | undefined = typeof candidate.checkId === 'string' ? candidate.checkId : undefined;
259
- const service: string | undefined = typeof candidate.service === 'string' ? candidate.service : undefined;
260
- const endpoint: string | undefined = typeof candidate.endpoint === 'string' ? candidate.endpoint : undefined;
261
- const expectedProbeContract: string | undefined = typeof candidate.expectedProbeContract === 'string'
262
- ? candidate.expectedProbeContract
263
- : undefined;
264
-
265
- if (!checkId || !dyfm_safeIdPattern.test(checkId)) {
266
- gapCodes.push('FDP|ATOMIC_ROLLBACK|POST_CHECK_ID_INVALID');
267
- continue;
268
- }
269
-
270
- if (!service || !dyfm_safeIdPattern.test(service)) {
271
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|POST_CHECK_SERVICE_INVALID|${checkId}`);
272
- continue;
273
- }
274
-
275
- if (!endpoint || !dyfm_isSafePostCheckEndpoint(endpoint, service)) {
276
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|POST_CHECK_ENDPOINT_INVALID|${checkId}`);
277
- continue;
278
- }
279
-
280
- if (!expectedProbeContract || !dyfm_contractPattern.test(expectedProbeContract)) {
281
- gapCodes.push(`FDP|ATOMIC_ROLLBACK|POST_CHECK_CONTRACT_INVALID|${checkId}`);
282
- continue;
283
- }
284
- postChecks.push({
285
- checkId: checkId,
286
- service: service,
287
- endpoint: endpoint,
288
- expectedProbeContract: expectedProbeContract,
289
- });
290
- }
291
-
292
- if (
293
- new Set(postChecks.map((check: DyFM_AtomicRollbackPostCheck_Interface): string => check.checkId)).size
294
- !== postChecks.length
295
- ) {
296
- gapCodes.push('FDP|ATOMIC_ROLLBACK|POST_CHECK_ID_DUPLICATED');
297
- }
298
-
299
- return postChecks;
300
- }
301
-
302
- /** Creates the exact, insertion-order-independent JSON value hashed by every producer and consumer. */
303
- function dyfm_canonicalTarget(manifest: DyFM_AtomicRollbackManifest_Interface): string {
304
- return JSON.stringify({
305
- contractVersion: manifest.contractVersion,
306
- operationId: manifest.operationId,
307
- environment: manifest.environment,
308
- authority: {
309
- principalId: manifest.authority.principalId,
310
- evidenceId: manifest.authority.evidenceId,
311
- },
312
- sourceRevision: manifest.sourceRevision,
313
- configuration: {
314
- revision: manifest.configuration.revision,
315
- sha256: manifest.configuration.sha256,
316
- compatibilityVersion: manifest.configuration.compatibilityVersion,
317
- policyChecksum: manifest.configuration.policyChecksum,
318
- },
319
- images: [ ...manifest.images ].sort(
320
- (left: DyFM_AtomicRollbackImage_Interface, right: DyFM_AtomicRollbackImage_Interface): number => left.service
321
- .localeCompare(right.service),
322
- ).map((image: DyFM_AtomicRollbackImage_Interface): DyFM_AtomicRollbackImage_Interface => ({
323
- service: image.service,
324
- version: image.version,
325
- immutableReference: image.immutableReference,
326
- mutableReference: image.mutableReference,
327
- digest: image.digest,
328
- })),
329
- postChecks: [ ...manifest.postChecks ].sort(
330
- (left: DyFM_AtomicRollbackPostCheck_Interface, right: DyFM_AtomicRollbackPostCheck_Interface): number => left
331
- .checkId.localeCompare(right.checkId),
332
- ).map((check: DyFM_AtomicRollbackPostCheck_Interface): DyFM_AtomicRollbackPostCheck_Interface => ({
333
- checkId: check.checkId,
334
- service: check.service,
335
- endpoint: check.endpoint,
336
- expectedProbeContract: check.expectedProbeContract,
337
- })),
338
- });
339
- }
340
-
341
- /** Canonical manifest checksum and strict content-free local validation. */
342
- export class DyFM_AtomicRollbackManifest_Util {
343
- /** Calculates the canonical SHA-256 target checksum for a typed manifest. */
344
- public static computeTargetChecksum(manifest: DyFM_AtomicRollbackManifest_Interface): string {
345
- return CryptoJS.SHA256(dyfm_canonicalTarget(manifest)).toString();
346
- }
347
-
348
- /** Validates an unknown manifest without reflecting rejected content. */
349
- public static validate(value: unknown): DyFM_AtomicRollbackLocalValidation_Interface {
350
- if (!dyfm_isRecord(value) || !dyfm_hasExactKeys(value, dyfm_exactManifestKeys)) {
351
- return {
352
- contractVersion: 'fdp-atomic-rollback-local-validation/1',
353
- valid: false,
354
- environment: 'invalid',
355
- operationId: 'invalid',
356
- targetChecksum: 'invalid',
357
- serviceCount: 0,
358
- postCheckCount: 0,
359
- gapCodes: [ 'FDP|ATOMIC_ROLLBACK|MANIFEST_SHAPE_INVALID' ],
360
- };
361
- }
362
-
363
- const gapCodes: string[] = [];
364
-
365
- if (value.contractVersion !== 'fdp-atomic-rollback-manifest/1') {
366
- gapCodes.push('FDP|ATOMIC_ROLLBACK|CONTRACT_VERSION_INVALID');
367
- }
368
-
369
- if (typeof value.operationId !== 'string' || !dyfm_operationPattern.test(value.operationId)) {
370
- gapCodes.push('FDP|ATOMIC_ROLLBACK|OPERATION_ID_INVALID');
371
- }
372
-
373
- if (!dyfm_isEnvironment(value.environment)) {
374
- gapCodes.push('FDP|ATOMIC_ROLLBACK|ENVIRONMENT_INVALID');
375
- }
376
-
377
- if (typeof value.sourceRevision !== 'string' || !dyfm_revisionPattern.test(value.sourceRevision)) {
378
- gapCodes.push('FDP|ATOMIC_ROLLBACK|SOURCE_REVISION_INVALID');
379
- }
380
- const authority: DyFM_AtomicRollbackAuthority_Interface | undefined = dyfm_parseAuthority(
381
- value.authority,
382
- gapCodes,
383
- );
384
- const configuration: DyFM_AtomicRollbackConfiguration_Interface | undefined = dyfm_parseConfiguration(
385
- value.configuration,
386
- gapCodes,
387
- );
388
- const images: DyFM_AtomicRollbackImage_Interface[] = dyfm_parseImages(value.images, gapCodes);
389
- const postChecks: DyFM_AtomicRollbackPostCheck_Interface[] = dyfm_parsePostChecks(value.postChecks, gapCodes);
390
- const imageServices: Set<string> = new Set(images.map(
391
- (image: DyFM_AtomicRollbackImage_Interface): string => image.service,
392
- ));
393
-
394
- if (
395
- postChecks.some(
396
- (check: DyFM_AtomicRollbackPostCheck_Interface): boolean => !imageServices.has(check.service),
397
- )
398
- ) {
399
- gapCodes.push('FDP|ATOMIC_ROLLBACK|POST_CHECK_SERVICE_NOT_TARGETED');
400
- }
401
-
402
- if (typeof value.targetChecksum !== 'string' || !dyfm_sha256Pattern.test(value.targetChecksum)) {
403
- gapCodes.push('FDP|ATOMIC_ROLLBACK|TARGET_CHECKSUM_INVALID');
404
- }
405
-
406
- let manifest: DyFM_AtomicRollbackManifest_Interface | undefined;
407
-
408
- if (
409
- !gapCodes.length
410
- && typeof value.operationId === 'string'
411
- && dyfm_isEnvironment(value.environment)
412
- && authority
413
- && typeof value.sourceRevision === 'string'
414
- && configuration
415
- && images.length > 0
416
- && postChecks.length > 0
417
- && typeof value.targetChecksum === 'string'
418
- ) {
419
- manifest = {
420
- contractVersion: 'fdp-atomic-rollback-manifest/1',
421
- operationId: value.operationId,
422
- environment: value.environment,
423
- authority: authority,
424
- sourceRevision: value.sourceRevision,
425
- configuration: configuration,
426
- images: images,
427
- postChecks: postChecks,
428
- targetChecksum: value.targetChecksum,
429
- };
430
-
431
- if (this.computeTargetChecksum(manifest) !== value.targetChecksum) {
432
- gapCodes.push('FDP|ATOMIC_ROLLBACK|TARGET_CHECKSUM_MISMATCH');
433
- manifest = undefined;
434
- }
435
- }
436
-
437
- const normalizedGapCodes: string[] = [ ...new Set(gapCodes) ].sort();
438
-
439
- return {
440
- contractVersion: 'fdp-atomic-rollback-local-validation/1',
441
- valid: !normalizedGapCodes.length,
442
- environment: dyfm_isEnvironment(value.environment) ? value.environment : 'invalid',
443
- operationId: !normalizedGapCodes.length && typeof value.operationId === 'string'
444
- ? value.operationId
445
- : 'invalid',
446
- targetChecksum: !normalizedGapCodes.length && typeof value.targetChecksum === 'string'
447
- ? value.targetChecksum
448
- : 'invalid',
449
- serviceCount: images.length,
450
- postCheckCount: postChecks.length,
451
- gapCodes: normalizedGapCodes,
452
- ...(manifest ? { manifest: manifest } : {}),
453
- };
454
- }
455
- }