@futdevpro/fsm-dynamo 1.20.88 → 1.20.93

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 (462) hide show
  1. package/build/_models/control-models/data-model-params.control-model.d.ts +0 -1
  2. package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
  3. package/build/_models/control-models/data-model-params.control-model.js +1 -4
  4. package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
  5. package/build/_models/control-models/data-property-params.control-model.d.ts +0 -1
  6. package/build/_models/control-models/data-property-params.control-model.d.ts.map +1 -1
  7. package/build/_models/control-models/data-property-params.control-model.js +1 -4
  8. package/build/_models/control-models/data-property-params.control-model.js.map +1 -1
  9. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +0 -1
  10. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts.map +1 -1
  11. package/build/_models/control-models/service-endpoint-settings-base.control-model.js +4 -4
  12. package/build/_models/control-models/service-endpoint-settings-base.control-model.js.map +1 -1
  13. package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts +0 -3
  14. package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts.map +1 -1
  15. package/build/_modules/data-handler/_models/data-handler-settings.control-model.js +4 -10
  16. package/build/_modules/data-handler/_models/data-handler-settings.control-model.js.map +1 -1
  17. package/build/_modules/data-handler/_models/data-handler.control-model.d.ts.map +1 -1
  18. package/build/_modules/data-handler/_models/data-handler.control-model.js +10 -4
  19. package/build/_modules/data-handler/_models/data-handler.control-model.js.map +1 -1
  20. package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts +1 -1
  21. package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts.map +1 -1
  22. package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts +1 -1
  23. package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts.map +1 -1
  24. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts +1 -1
  25. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts.map +1 -1
  26. package/build/_modules/data-handler/index.d.ts +3 -0
  27. package/build/_modules/data-handler/index.d.ts.map +1 -1
  28. package/build/_modules/data-handler/index.js +3 -0
  29. package/build/_modules/data-handler/index.js.map +1 -1
  30. package/build/_modules/game/_models/flying-effect.control-model.d.ts +34 -0
  31. package/build/_modules/game/_models/flying-effect.control-model.d.ts.map +1 -0
  32. package/build/_modules/game/_models/flying-effect.control-model.js +217 -0
  33. package/build/_modules/game/_models/flying-effect.control-model.js.map +1 -0
  34. package/build/_modules/game/_models/flying-effect.interface.d.ts +53 -0
  35. package/build/_modules/game/_models/flying-effect.interface.d.ts.map +1 -0
  36. package/build/_modules/game/_models/flying-effect.interface.js +3 -0
  37. package/build/_modules/game/_models/flying-effect.interface.js.map +1 -0
  38. package/build/_modules/game/index.d.ts +2 -0
  39. package/build/_modules/game/index.d.ts.map +1 -1
  40. package/build/_modules/game/index.js +2 -0
  41. package/build/_modules/game/index.js.map +1 -1
  42. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts +0 -3
  43. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts.map +1 -1
  44. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +4 -10
  45. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js.map +1 -1
  46. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts.map +1 -1
  47. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js +10 -4
  48. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js.map +1 -1
  49. package/build/_modules/ngx-models/index.d.ts +3 -0
  50. package/build/_modules/ngx-models/index.d.ts.map +1 -1
  51. package/build/_modules/ngx-models/index.js +3 -0
  52. package/build/_modules/ngx-models/index.js.map +1 -1
  53. package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.d.ts.map +1 -1
  54. package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +2 -0
  55. package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js.map +1 -1
  56. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts +2 -0
  57. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts.map +1 -1
  58. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +2 -0
  59. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js.map +1 -1
  60. package/build/index.d.ts +3 -0
  61. package/build/index.d.ts.map +1 -1
  62. package/build/index.js +3 -0
  63. package/build/index.js.map +1 -1
  64. package/build-esm/_collections/constants/data-sizes.const.js +37 -0
  65. package/build-esm/_collections/constants/error-defaults.const.js +17 -0
  66. package/build-esm/_collections/constants/global-settings.const.js +17 -0
  67. package/build-esm/_collections/constants/numbers.const.js +36 -0
  68. package/build-esm/_collections/constants/times.const.js +38 -0
  69. package/build-esm/_collections/utils/array.util.js +632 -0
  70. package/build-esm/_collections/utils/async.util.js +183 -0
  71. package/build-esm/_collections/utils/data.util.js +203 -0
  72. package/build-esm/_collections/utils/extract-error-message.util.js +183 -0
  73. package/build-esm/_collections/utils/json-error-helper.util.js +251 -0
  74. package/build-esm/_collections/utils/log.util.js +555 -0
  75. package/build-esm/_collections/utils/math/box-bounds.util.js +159 -0
  76. package/build-esm/_collections/utils/math/math.util.js +183 -0
  77. package/build-esm/_collections/utils/math/random.util.js +117 -0
  78. package/build-esm/_collections/utils/math/trigonometry.util.js +89 -0
  79. package/build-esm/_collections/utils/math/vector2.util.js +587 -0
  80. package/build-esm/_collections/utils/object.util.js +591 -0
  81. package/build-esm/_collections/utils/operation-authz.util.js +136 -0
  82. package/build-esm/_collections/utils/operation-guardrails.util.js +220 -0
  83. package/build-esm/_collections/utils/operation-run.util.js +81 -0
  84. package/build-esm/_collections/utils/operation-schema.util.js +159 -0
  85. package/build-esm/_collections/utils/regex/password-regex.util.js +56 -0
  86. package/build-esm/_collections/utils/regex/regex.util.js +1 -0
  87. package/build-esm/_collections/utils/regex/username-regex.util.js +28 -0
  88. package/build-esm/_collections/utils/require-env.util.js +90 -0
  89. package/build-esm/_collections/utils/round-list.util.js +108 -0
  90. package/build-esm/_collections/utils/secret-mask.util.js +219 -0
  91. package/build-esm/_collections/utils/stack.util.js +126 -0
  92. package/build-esm/_collections/utils/string-case.util.js +332 -0
  93. package/build-esm/_collections/utils/string.util.js +366 -0
  94. package/build-esm/_collections/utils/time.util.js +431 -0
  95. package/build-esm/_collections/utils/type-cloning-facility.util.js +122 -0
  96. package/build-esm/_collections/utils/utilities.util.js +61 -0
  97. package/build-esm/_collections/utils/uuid.util.js +33 -0
  98. package/build-esm/_enums/basic-property-type.enum.js +18 -0
  99. package/build-esm/_enums/data-model-type.enum.js +24 -0
  100. package/build-esm/_enums/environment-flag.enum.js +26 -0
  101. package/build-esm/_enums/error-level.enum.js +35 -0
  102. package/build-esm/_enums/error-status.enum.js +28 -0
  103. package/build-esm/_enums/http/http-call-type.enum.js +42 -0
  104. package/build-esm/_enums/http/http-event-type.enum.js +39 -0
  105. package/build-esm/_enums/http/http-response-type.enum.js +18 -0
  106. package/build-esm/_enums/log-style.enum.js +38 -0
  107. package/build-esm/_enums/operation-auth.type-enum.js +19 -0
  108. package/build-esm/_enums/operation-if-match.type-enum.js +17 -0
  109. package/build-esm/_enums/operation-patch-field.type-enum.js +40 -0
  110. package/build-esm/_enums/server-connection-status.enum.js +5 -0
  111. package/build-esm/_enums/time/day-of-week.enum.js +47 -0
  112. package/build-esm/_enums/time/month.enum.js +23 -0
  113. package/build-esm/_enums/time/relative-date.enum.js +19 -0
  114. package/build-esm/_models/control-models/data-model-params.control-model.js +259 -0
  115. package/build-esm/_models/control-models/data-model-settings.control-model.js +63 -0
  116. package/build-esm/_models/control-models/data-property-params.control-model.js +101 -0
  117. package/build-esm/_models/control-models/data-property-settings.control-model.js +61 -0
  118. package/build-esm/_models/control-models/error.control-model.js +787 -0
  119. package/build-esm/_models/control-models/http/http-error-response.control-model.js +48 -0
  120. package/build-esm/_models/control-models/http/http-headers.control-model.js +43 -0
  121. package/build-esm/_models/control-models/http/http-response.model-base.js +62 -0
  122. package/build-esm/_models/control-models/operation-context.control-model.js +110 -0
  123. package/build-esm/_models/control-models/operation-settings.control-model.js +184 -0
  124. package/build-esm/_models/control-models/poll.control-model.js +202 -0
  125. package/build-esm/_models/control-models/range-value.control-model.js +247 -0
  126. package/build-esm/_models/control-models/server-route-settings-base.control-model.js +19 -0
  127. package/build-esm/_models/control-models/server-status.control-model.js +73 -0
  128. package/build-esm/_models/control-models/service-endpoint-settings-base.control-model.js +110 -0
  129. package/build-esm/_models/data-models/errors.data-model.js +156 -0
  130. package/build-esm/_models/data-models/metadata.data-model.js +120 -0
  131. package/build-esm/_models/interfaces/box-bounds.interface.js +1 -0
  132. package/build-esm/_models/interfaces/environment/global-log-settings.interface.js +1 -0
  133. package/build-esm/_models/interfaces/environment/global-settings.interface.js +1 -0
  134. package/build-esm/_models/interfaces/error-defaults.interface.js +1 -0
  135. package/build-esm/_models/interfaces/operation-authz-result.interface.js +1 -0
  136. package/build-esm/_models/interfaces/operation-authz.interface.js +1 -0
  137. package/build-esm/_models/interfaces/operation-exposure.interface.js +1 -0
  138. package/build-esm/_models/interfaces/operation-guardrails.interface.js +1 -0
  139. package/build-esm/_models/interfaces/operation-input-settings.interface.js +1 -0
  140. package/build-esm/_models/interfaces/operation-json-schema.interface.js +1 -0
  141. package/build-esm/_models/interfaces/operation-patch-field.interface.js +1 -0
  142. package/build-esm/_models/interfaces/operation-patch-result.interface.js +1 -0
  143. package/build-esm/_models/interfaces/operation-patch-violation.interface.js +1 -0
  144. package/build-esm/_models/interfaces/operation-run-result.interface.js +1 -0
  145. package/build-esm/_models/interfaces/paged.interface.js +1 -0
  146. package/build-esm/_models/interfaces/poll-handle.interface.js +1 -0
  147. package/build-esm/_models/interfaces/random-weight.interface.js +1 -0
  148. package/build-esm/_models/interfaces/route-settings.interface.js +1 -0
  149. package/build-esm/_models/interfaces/search-query.interface.js +1 -0
  150. package/build-esm/_models/interfaces/search-result.interface.js +1 -0
  151. package/build-esm/_models/interfaces/server-error-statistics.interface.js +1 -0
  152. package/build-esm/_models/interfaces/vector2.interface.js +1 -0
  153. package/build-esm/_models/types/db-filter.type.js +1 -0
  154. package/build-esm/_models/types/db-sort.type.js +1 -0
  155. package/build-esm/_models/types/deprecated-boolean-alias.type.js +1 -0
  156. package/build-esm/_models/types/ds-filter.type.js +15 -0
  157. package/build-esm/_models/types/ds-sort.type.js +1 -0
  158. package/build-esm/_modules/ai/_collections/ai-media-provenance.util.js +24 -0
  159. package/build-esm/_modules/ai/_collections/ai-model-ref.util.js +70 -0
  160. package/build-esm/_modules/ai/_collections/ai-model-registry.util.js +37 -0
  161. package/build-esm/_modules/ai/_enums/ai-message-role.enum.js +8 -0
  162. package/build-esm/_modules/ai/_enums/ai-model-type.enum.js +8 -0
  163. package/build-esm/_modules/ai/_enums/ai-provider.enum.js +8 -0
  164. package/build-esm/_modules/ai/_models/ai-call-settings.interface.js +88 -0
  165. package/build-esm/_modules/ai/_models/ai-config.interface.js +1 -0
  166. package/build-esm/_modules/ai/_models/ai-embedding-request.interface.js +1 -0
  167. package/build-esm/_modules/ai/_models/ai-embedding-response.interface.js +1 -0
  168. package/build-esm/_modules/ai/_models/ai-image-request.interface.js +1 -0
  169. package/build-esm/_modules/ai/_models/ai-image-response.interface.js +1 -0
  170. package/build-esm/_modules/ai/_models/ai-llm-request.interface.js +1 -0
  171. package/build-esm/_modules/ai/_models/ai-llm-response.interface.js +1 -0
  172. package/build-esm/_modules/ai/_models/ai-media-file.interface.js +1 -0
  173. package/build-esm/_modules/ai/_models/ai-media-provenance.interface.js +1 -0
  174. package/build-esm/_modules/ai/_models/ai-message.interface.js +1 -0
  175. package/build-esm/_modules/ai/_models/ai-model-capabilities.interface.js +1 -0
  176. package/build-esm/_modules/ai/_models/ai-model-info.interface.js +1 -0
  177. package/build-esm/_modules/ai/_models/ai-model-settings-schema.interface.js +1 -0
  178. package/build-esm/_modules/ai/_models/ai-model3d-request.interface.js +1 -0
  179. package/build-esm/_modules/ai/_models/ai-model3d-response.interface.js +1 -0
  180. package/build-esm/_modules/ai/_models/ai-provider-capabilities.interface.js +1 -0
  181. package/build-esm/_modules/ai/_models/ai-settings.interface.js +10 -0
  182. package/build-esm/_modules/ai/_models/ai-speech-request.interface.js +1 -0
  183. package/build-esm/_modules/ai/_models/ai-speech-response.interface.js +1 -0
  184. package/build-esm/_modules/ai/_models/ai-tool-call.interface.js +1 -0
  185. package/build-esm/_modules/ai/_models/ai-tool-handler.type.js +1 -0
  186. package/build-esm/_modules/ai/_models/ai-tool-result.interface.js +1 -0
  187. package/build-esm/_modules/ai/_models/ai-tool.interface.js +1 -0
  188. package/build-esm/_modules/ai/_models/ai-user-provider-config.control-model.js +31 -0
  189. package/build-esm/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +130 -0
  190. package/build-esm/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js +17 -0
  191. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js +23 -0
  192. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.js +1 -0
  193. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js +25 -0
  194. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +22 -0
  195. package/build-esm/_modules/ai/_modules/anthropic/index.js +9 -0
  196. package/build-esm/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.js +1 -0
  197. package/build-esm/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.js +1 -0
  198. package/build-esm/_modules/ai/_modules/document-ai/index.js +3 -0
  199. package/build-esm/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +38 -0
  200. package/build-esm/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js +7 -0
  201. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +21 -0
  202. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js +1 -0
  203. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +24 -0
  204. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +22 -0
  205. package/build-esm/_modules/ai/_modules/fdp-ai/index.js +9 -0
  206. package/build-esm/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +155 -0
  207. package/build-esm/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js +14 -0
  208. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js +23 -0
  209. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.js +1 -0
  210. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js +25 -0
  211. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +22 -0
  212. package/build-esm/_modules/ai/_modules/google-ai/index.js +9 -0
  213. package/build-esm/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +57 -0
  214. package/build-esm/_modules/ai/_modules/local-ai/_enums/lai-model.enum.js +5 -0
  215. package/build-esm/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js +19 -0
  216. package/build-esm/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.js +1 -0
  217. package/build-esm/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js +22 -0
  218. package/build-esm/_modules/ai/_modules/local-ai/index.js +8 -0
  219. package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.js +6 -0
  220. package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +455 -0
  221. package/build-esm/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js +146 -0
  222. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js +23 -0
  223. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.js +1 -0
  224. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.js +1 -0
  225. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js +25 -0
  226. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +23 -0
  227. package/build-esm/_modules/ai/_modules/open-ai/index.js +19 -0
  228. package/build-esm/_modules/ai/index.js +34 -0
  229. package/build-esm/_modules/application-alert/_collections/application-alert-envelope.util.js +267 -0
  230. package/build-esm/_modules/application-alert/_enums/application-alert-evaluation-state.type-enum.js +6 -0
  231. package/build-esm/_modules/application-alert/_enums/application-alert-severity.type-enum.js +8 -0
  232. package/build-esm/_modules/application-alert/_models/application-alert.interface.js +1 -0
  233. package/build-esm/_modules/application-alert/index.js +4 -0
  234. package/build-esm/_modules/ci-tools/_enums/cit-ci-result-code.enum.js +9 -0
  235. package/build-esm/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.js +9 -0
  236. package/build-esm/_modules/ci-tools/_models/cit-ci-result-info.data-models.js +63 -0
  237. package/build-esm/_modules/ci-tools/_models/cit-ci-step-result.interface.js +1 -0
  238. package/build-esm/_modules/ci-tools/index.js +6 -0
  239. package/build-esm/_modules/crypto/_collections/crypto-v1.util.js +199 -0
  240. package/build-esm/_modules/crypto/_collections/crypto-v2.util.js +273 -0
  241. package/build-esm/_modules/crypto/_collections/crypto-v4.util.js +605 -0
  242. package/build-esm/_modules/crypto/_collections/crypto.util.js +651 -0
  243. package/build-esm/_modules/crypto/_models/artifact-signature.interface.js +1 -0
  244. package/build-esm/_modules/crypto/_services/artifact-signature.control-service.js +276 -0
  245. package/build-esm/_modules/crypto/index.js +11 -0
  246. package/build-esm/_modules/custom-data/_collections/cud-module-settings.const.js +18 -0
  247. package/build-esm/_modules/custom-data/_models/cud.data-model.js +30 -0
  248. package/build-esm/_modules/custom-data/index.js +4 -0
  249. package/build-esm/_modules/data-handler/_models/data-handler-settings.control-model.js +78 -0
  250. package/build-esm/_modules/data-handler/_models/data-handler.control-model.js +386 -0
  251. package/build-esm/_modules/data-handler/_models/data-list-handler-settings.control-model.js +11 -0
  252. package/build-esm/_modules/data-handler/_models/data-list-handler.control-model.js +222 -0
  253. package/build-esm/_modules/data-handler/_models/data-search-handler-settings.control-model.js +25 -0
  254. package/build-esm/_modules/data-handler/_models/data-search-handler.control-model.js +334 -0
  255. package/build-esm/_modules/data-handler/_models/list-collector-data-handler-settings.control-model.js +12 -0
  256. package/build-esm/_modules/data-handler/_models/list-collector-data-handler.control-model.js +243 -0
  257. package/build-esm/_modules/data-handler/index.js +9 -0
  258. package/build-esm/_modules/deployment/_collections/atomic-rollback-manifest.util.js +348 -0
  259. package/build-esm/_modules/deployment/_models/atomic-rollback-manifest.interface.js +1 -0
  260. package/build-esm/_modules/deployment/index.js +2 -0
  261. package/build-esm/_modules/game/_collections/audio-mixer.util.js +109 -0
  262. package/build-esm/_modules/game/_collections/audio-scale.util.js +100 -0
  263. package/build-esm/_modules/game/_enums/audio-channel.enum.js +21 -0
  264. package/build-esm/_modules/game/_models/audio-mixer-config.interface.js +1 -0
  265. package/build-esm/_modules/game/_models/audio-mixer-settings.interface.js +1 -0
  266. package/build-esm/_modules/game/_models/audio-mixer-state.interface.js +1 -0
  267. package/build-esm/_modules/game/_models/audio-mixer.control-model.js +337 -0
  268. package/build-esm/_modules/game/_models/audio-scale.interface.js +1 -0
  269. package/build-esm/_modules/game/_models/flying-effect.control-model.js +212 -0
  270. package/build-esm/_modules/game/_models/flying-effect.interface.js +1 -0
  271. package/build-esm/_modules/game/_models/seeded-random-registry.control-model.js +124 -0
  272. package/build-esm/_modules/game/_models/seeded-random-registry.interface.js +1 -0
  273. package/build-esm/_modules/game/_models/seeded-random-state.interface.js +1 -0
  274. package/build-esm/_modules/game/_models/seeded-random.control-model.js +261 -0
  275. package/build-esm/_modules/game/index.js +17 -0
  276. package/build-esm/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -0
  277. package/build-esm/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19036 -0
  278. package/build-esm/_modules/location/_collections/assets/country-phone-codes.json +1202 -0
  279. package/build-esm/_modules/location/_collections/loc-country-divisions.const.js +3 -0
  280. package/build-esm/_modules/location/_collections/loc-country-isos.const.js +2 -0
  281. package/build-esm/_modules/location/_collections/loc-regions.util.js +107 -0
  282. package/build-esm/_modules/location/_collections/loc.util.js +56 -0
  283. package/build-esm/_modules/location/_enums/loc-region.enum.js +11 -0
  284. package/build-esm/_modules/location/_enums/loc-sub-region.enum.js +23 -0
  285. package/build-esm/_modules/location/_enums/loc-subdivision-region-type.enum.js +45 -0
  286. package/build-esm/_modules/location/_models/loc-coordinates.interface.js +1 -0
  287. package/build-esm/_modules/location/_models/loc-country-division.interface.js +1 -0
  288. package/build-esm/_modules/location/_models/loc-country-iso.interface.js +1 -0
  289. package/build-esm/_modules/location/_models/loc-country-phone-code.interface.js +1 -0
  290. package/build-esm/_modules/location/_models/loc-division-collection.interface.js +1 -0
  291. package/build-esm/_modules/location/_models/loc-division-region-data.interface.js +1 -0
  292. package/build-esm/_modules/location/_models/loc-geo-ip-location.interface.js +1 -0
  293. package/build-esm/_modules/location/index.js +17 -0
  294. package/build-esm/_modules/messaging/_collections/msg-module-settings.const.js +44 -0
  295. package/build-esm/_modules/messaging/_enums/msg-attachment-type.enum.js +21 -0
  296. package/build-esm/_modules/messaging/_enums/msg-conversation-type.enum.js +17 -0
  297. package/build-esm/_modules/messaging/_enums/msg-delivery-status.enum.js +15 -0
  298. package/build-esm/_modules/messaging/_enums/msg-event-key.enum.js +28 -0
  299. package/build-esm/_modules/messaging/_enums/msg-participant-role.enum.js +17 -0
  300. package/build-esm/_modules/messaging/_enums/msg-provider-type.enum.js +8 -0
  301. package/build-esm/_modules/messaging/_enums/msg-status.enum.js +21 -0
  302. package/build-esm/_modules/messaging/_enums/msg-type.enum.js +19 -0
  303. package/build-esm/_modules/messaging/_models/msg-attachment.interface.js +1 -0
  304. package/build-esm/_modules/messaging/_models/msg-conversation.data-model.js +80 -0
  305. package/build-esm/_modules/messaging/_models/msg-mention.interface.js +1 -0
  306. package/build-esm/_modules/messaging/_models/msg-message.data-model.js +102 -0
  307. package/build-esm/_modules/messaging/_models/msg-participant.interface.js +1 -0
  308. package/build-esm/_modules/messaging/_models/msg-reaction.interface.js +1 -0
  309. package/build-esm/_modules/messaging/_models/msg-thread-info.interface.js +1 -0
  310. package/build-esm/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.js +27 -0
  311. package/build-esm/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.js +19 -0
  312. package/build-esm/_modules/messaging/_modules/agent/_models/agt-process-step.interface.js +1 -0
  313. package/build-esm/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.js +1 -0
  314. package/build-esm/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.js +1 -0
  315. package/build-esm/_modules/messaging/_modules/agent/index.js +7 -0
  316. package/build-esm/_modules/messaging/index.js +25 -0
  317. package/build-esm/_modules/ngx-models/_collections/angular-placeholders.js +1 -0
  318. package/build-esm/_modules/ngx-models/_collections/button-new-style-settings-presets.const.js +170 -0
  319. package/build-esm/_modules/ngx-models/_collections/dynamo-global.settings.js +88 -0
  320. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.js +14 -0
  321. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.js +12 -0
  322. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-size.enum.js +15 -0
  323. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.js +17 -0
  324. package/build-esm/_modules/ngx-models/_enums/button-type.enum.js +35 -0
  325. package/build-esm/_modules/ngx-models/_enums/checkbox-label-position.enum.js +8 -0
  326. package/build-esm/_modules/ngx-models/_enums/container-type.enum.js +11 -0
  327. package/build-esm/_modules/ngx-models/_enums/errors/error-level.enum.js +14 -0
  328. package/build-esm/_modules/ngx-models/_enums/errors/error-notification-color.enum.js +14 -0
  329. package/build-esm/_modules/ngx-models/_enums/errors/error-ui-mode.enum.js +14 -0
  330. package/build-esm/_modules/ngx-models/_enums/field-appearance.enum.js +13 -0
  331. package/build-esm/_modules/ngx-models/_enums/field-type.enum.js +49 -0
  332. package/build-esm/_modules/ngx-models/_enums/file-type.enum.js +12 -0
  333. package/build-esm/_modules/ngx-models/_enums/flex/flex-layout-align.enum.js +21 -0
  334. package/build-esm/_modules/ngx-models/_enums/flex/flex-layout.enum.js +6 -0
  335. package/build-esm/_modules/ngx-models/_enums/form-access.enum.js +9 -0
  336. package/build-esm/_modules/ngx-models/_enums/form-reset-data.enum.js +12 -0
  337. package/build-esm/_modules/ngx-models/_enums/form-store-on.enum.js +8 -0
  338. package/build-esm/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.js +21 -0
  339. package/build-esm/_modules/ngx-models/_enums/frames/header-item-type.enum.js +16 -0
  340. package/build-esm/_modules/ngx-models/_enums/frames/header-position.enum.js +11 -0
  341. package/build-esm/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.js +14 -0
  342. package/build-esm/_modules/ngx-models/_enums/html/input-types.enum.js +26 -0
  343. package/build-esm/_modules/ngx-models/_enums/material-color.enum.js +14 -0
  344. package/build-esm/_modules/ngx-models/_enums/material-tooltip-position.enum.js +13 -0
  345. package/build-esm/_modules/ngx-models/_enums/preconfigured-field-type.enum.js +8 -0
  346. package/build-esm/_modules/ngx-models/_enums/storage-type.enum.js +13 -0
  347. package/build-esm/_modules/ngx-models/_enums/validator-type.enum.js +7 -0
  348. package/build-esm/_modules/ngx-models/_enums/voice/audio-mime-type.enum.js +15 -0
  349. package/build-esm/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js +32 -0
  350. package/build-esm/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.js +21 -0
  351. package/build-esm/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.js +44 -0
  352. package/build-esm/_modules/ngx-models/_models/control-models/button-params.control-model.js +304 -0
  353. package/build-esm/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.js +59 -0
  354. package/build-esm/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +94 -0
  355. package/build-esm/_modules/ngx-models/_models/control-models/data-handler.control-model.js +407 -0
  356. package/build-esm/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.js +43 -0
  357. package/build-esm/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.js +64 -0
  358. package/build-esm/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.js +52 -0
  359. package/build-esm/_modules/ngx-models/_models/control-models/field-settings.control-model.js +207 -0
  360. package/build-esm/_modules/ngx-models/_models/control-models/form-settings.control-model.js +275 -0
  361. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.js +29 -0
  362. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/color-picker-field-new-settings.control-model.js +36 -0
  363. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.js +31 -0
  364. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.js +46 -0
  365. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.js +38 -0
  366. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.js +48 -0
  367. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js +21 -0
  368. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.js +91 -0
  369. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-types.js +1 -0
  370. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.js +39 -0
  371. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js +39 -0
  372. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/index.js +23 -0
  373. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.js +31 -0
  374. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.js +29 -0
  375. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.js +51 -0
  376. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js +1 -0
  377. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.js +38 -0
  378. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.js +35 -0
  379. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.js +50 -0
  380. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.js +47 -0
  381. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.js +35 -0
  382. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.js +27 -0
  383. package/build-esm/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.js +44 -0
  384. package/build-esm/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.js +56 -0
  385. package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.js +58 -0
  386. package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.js +38 -0
  387. package/build-esm/_modules/ngx-models/_models/control-models/select.control-model.js +27 -0
  388. package/build-esm/_modules/ngx-models/_models/control-models/signal-data-list-handler-settings.control-model.js +23 -0
  389. package/build-esm/_modules/ngx-models/_models/control-models/signal-data-search-handler-settings.control-model.js +25 -0
  390. package/build-esm/_modules/ngx-models/_models/control-models/signal-list-collector-data-handler-settings.control-model.js +12 -0
  391. package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.js +22 -0
  392. package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.js +91 -0
  393. package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.js +42 -0
  394. package/build-esm/_modules/ngx-models/_models/interfaces/button-new-settings.interface.js +1 -0
  395. package/build-esm/_modules/ngx-models/_models/interfaces/confirm-settings.interface.js +1 -0
  396. package/build-esm/_modules/ngx-models/_models/interfaces/global-settings.interface.js +1 -0
  397. package/build-esm/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.js +1 -0
  398. package/build-esm/_modules/ngx-models/_models/interfaces/storage.service.js +40 -0
  399. package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.js +1 -0
  400. package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.js +1 -0
  401. package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.js +1 -0
  402. package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.js +1 -0
  403. package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.js +1 -0
  404. package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.js +1 -0
  405. package/build-esm/_modules/ngx-models/_utils/shared.service.js +407 -0
  406. package/build-esm/_modules/ngx-models/index.js +89 -0
  407. package/build-esm/_modules/operation-control/_collections/operation-lease.util.js +323 -0
  408. package/build-esm/_modules/operation-control/_enums/operation-decision-code.type-enum.js +22 -0
  409. package/build-esm/_modules/operation-control/_enums/operation-state.type-enum.js +9 -0
  410. package/build-esm/_modules/operation-control/_models/operation-lease.interface.js +1 -0
  411. package/build-esm/_modules/operation-control/index.js +4 -0
  412. package/build-esm/_modules/pipe/_collections/pip-transforms.const.js +32 -0
  413. package/build-esm/_modules/pipe/_collections/utils/pip-country-pipe.util.js +29 -0
  414. package/build-esm/_modules/pipe/_collections/utils/pip-custom-pipe.util.js +22 -0
  415. package/build-esm/_modules/pipe/_collections/utils/pip-division-pipe.util.js +21 -0
  416. package/build-esm/_modules/pipe/_collections/utils/pip-json-pipe.util.js +18 -0
  417. package/build-esm/_modules/pipe/_collections/utils/pip-list-pipe.util.js +19 -0
  418. package/build-esm/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.js +164 -0
  419. package/build-esm/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.js +16 -0
  420. package/build-esm/_modules/pipe/_collections/utils/pip-range-pipe.util.js +64 -0
  421. package/build-esm/_modules/pipe/_collections/utils/pip-region-pipe.util.js +22 -0
  422. package/build-esm/_modules/pipe/_collections/utils/pip-replace-pipe.util.js +15 -0
  423. package/build-esm/_modules/pipe/_collections/utils/pip-slider-pipe.util.js +26 -0
  424. package/build-esm/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js +40 -0
  425. package/build-esm/_modules/pipe/_enums/pip-range-pipe-setting.enum.js +14 -0
  426. package/build-esm/_modules/pipe/_enums/pip.enum.js +48 -0
  427. package/build-esm/_modules/pipe/_models/pip-multi-pipe-settings.type.js +1 -0
  428. package/build-esm/_modules/pipe/_models/pip-transforms.interface.js +1 -0
  429. package/build-esm/_modules/pipe/index.js +22 -0
  430. package/build-esm/_modules/request-safety/_collections/request-safety-inspector.util.js +317 -0
  431. package/build-esm/_modules/request-safety/_enums/request-safety-finding.type-enum.js +39 -0
  432. package/build-esm/_modules/request-safety/_models/request-safety.interface.js +1 -0
  433. package/build-esm/_modules/request-safety/index.js +3 -0
  434. package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +154 -0
  435. package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +36 -0
  436. package/build-esm/_modules/sandbox-runtime/_enums/zero-egress-outcome.type-enum.js +11 -0
  437. package/build-esm/_modules/sandbox-runtime/_models/zero-egress-receipt.interface.js +1 -0
  438. package/build-esm/_modules/sandbox-runtime/index.js +4 -0
  439. package/build-esm/_modules/security/_collections/stored-secret.util.js +68 -0
  440. package/build-esm/_modules/security/_models/stored-secret.control-model.js +52 -0
  441. package/build-esm/_modules/security/index.js +7 -0
  442. package/build-esm/_modules/socket/_enums/sck-event-key.enum.js +18 -0
  443. package/build-esm/_modules/socket/_models/sck-client-params.control-model.js +47 -0
  444. package/build-esm/_modules/socket/_models/sck-socket-event.control-model.js +133 -0
  445. package/build-esm/_modules/socket/_services/sck-client.service-base.js +314 -0
  446. package/build-esm/_modules/socket/index.js +7 -0
  447. package/build-esm/_modules/state-machine/_models/state-machine-config.interface.js +1 -0
  448. package/build-esm/_modules/state-machine/_models/state-machine-event.interface.js +1 -0
  449. package/build-esm/_modules/state-machine/_models/state-machine.control-model.js +262 -0
  450. package/build-esm/_modules/state-machine/_models/state-transition-result.interface.js +1 -0
  451. package/build-esm/_modules/state-machine/_models/state-transition.interface.js +1 -0
  452. package/build-esm/_modules/state-machine/index.js +6 -0
  453. package/build-esm/_modules/test/_collections/tst-module-settings.const.js +38 -0
  454. package/build-esm/_modules/test/index.js +2 -0
  455. package/build-esm/_modules/usage/_collections/usg-module-settings.const.js +16 -0
  456. package/build-esm/_modules/usage/_models/usg-action.control-model.js +25 -0
  457. package/build-esm/_modules/usage/_models/usg-daily-usage-data.control-model.js +30 -0
  458. package/build-esm/_modules/usage/_models/usg-data.control-model.js +30 -0
  459. package/build-esm/_modules/usage/_models/usg-session.data-model.js +60 -0
  460. package/build-esm/_modules/usage/index.js +7 -0
  461. package/build-esm/index.js +108 -0
  462. package/package.json +86 -85
@@ -0,0 +1,48 @@
1
+ import { DyFM_HttpResponseBase } from './http-response.model-base';
2
+ export const DyFM_httpErrorResponse_name = 'HttpErrorResponse';
3
+ /**
4
+ * A class that represents an HTTP error response.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const errorResponse: DyFM_HttpErrorResponse_ControlModel = new DyFM_HttpErrorResponse_ControlModel({
9
+ * status: 500,
10
+ * statusText: 'Internal Server Error',
11
+ * url: 'https://example.com/api/error',
12
+ * error: new Error('Internal Server Error'),
13
+ * });
14
+ * ```
15
+ */
16
+ export class DyFM_HttpErrorResponse_ControlModel extends DyFM_HttpResponseBase {
17
+ name = DyFM_httpErrorResponse_name;
18
+ message;
19
+ error;
20
+ /**
21
+ * Errors are never okay, even when the status code is in the 2xx success range.
22
+ */
23
+ ok = false;
24
+ constructor(set) {
25
+ super(set);
26
+ if (set) {
27
+ Object.assign(this, set);
28
+ }
29
+ }
30
+ /**
31
+ * Checks if the error is an HTTP error response.
32
+ * @param error - The error to check.
33
+ * @returns True if the error is an HTTP error response, false otherwise.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const error: DyFM_AnyError = new Error('Internal Server Error');
38
+ * const isHttpErrorResponse: boolean = DyFM_HttpErrorResponse_ControlModel.isHttpErrorResponse(error);
39
+ * console.log(isHttpErrorResponse); // true
40
+ * ```
41
+ */
42
+ static isHttpErrorResponse(error) {
43
+ return error?.name === DyFM_httpErrorResponse_name;
44
+ }
45
+ }
46
+ Object.defineProperty(DyFM_HttpErrorResponse_ControlModel, 'name', { value: 'DyFM_HttpErrorResponse' });
47
+ /** @deprecated Use DyFM_HttpErrorResponse_ControlModel. Same constructor; no API removal. */
48
+ export { DyFM_HttpErrorResponse_ControlModel as DyFM_HttpErrorResponse };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Represents the header configuration options for an HTTP request.
3
+ * Instances are immutable. Modifying methods return a cloned
4
+ * instance with the change. The original object is never changed.
5
+ *
6
+ * @publicApi
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const headers: DyFM_HttpHeaders_ControlModel = new DyFM_HttpHeaders_ControlModel({
11
+ * 'Content-Type': 'application/json',
12
+ * 'Authorization': 'Bearer 1234567890',
13
+ * });
14
+ * ```
15
+ */
16
+ export class DyFM_HttpHeaders_ControlModel {
17
+ /**
18
+ * Internal map of lowercase header names to values.
19
+ */
20
+ headers = {};
21
+ /**
22
+ * Internal map of lowercased header names to the normalized
23
+ * form of the name (the form seen first).
24
+ */
25
+ normalizedNames;
26
+ /**
27
+ * Complete the lazy initialization of this object (needed before reading).
28
+ */
29
+ lazyInit;
30
+ /**
31
+ * Queued updates to be materialized the next initialization.
32
+ */
33
+ lazyUpdate;
34
+ /** Constructs a new HTTP header object with the given values.*/
35
+ constructor(setHeaders) {
36
+ if (setHeaders) {
37
+ this.headers = setHeaders;
38
+ }
39
+ }
40
+ }
41
+ Object.defineProperty(DyFM_HttpHeaders_ControlModel, 'name', { value: 'DyFM_HttpHeaders' });
42
+ /** @deprecated Use DyFM_HttpHeaders_ControlModel. Same constructor; no API removal. */
43
+ export { DyFM_HttpHeaders_ControlModel as DyFM_HttpHeaders };
@@ -0,0 +1,62 @@
1
+ import { DyFM_HttpHeaders } from './http-headers.control-model';
2
+ /**
3
+ * Base class for both `HttpResponse` and `HttpHeaderResponse`.
4
+ *
5
+ * @publicApi
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const response: DyFM_HttpResponseBase = new DyFM_HttpResponseBase({
10
+ * status: 200,
11
+ * statusText: 'OK',
12
+ * url: 'https://example.com/api/response',
13
+ * });
14
+ * ```
15
+ */
16
+ export class DyFM_HttpResponseBase {
17
+ /**
18
+ * All response headers.
19
+ */
20
+ headers = new DyFM_HttpHeaders();
21
+ /**
22
+ * Response status code.
23
+ */
24
+ status = 200;
25
+ /**
26
+ * Textual description of response status code, defaults to OK.
27
+ *
28
+ * Do not depend on this.
29
+ */
30
+ statusText = 'OK';
31
+ /**
32
+ * URL of the resource retrieved, or null if not available.
33
+ */
34
+ url;
35
+ /**
36
+ * Whether the status code falls in the 2xx range.
37
+ */
38
+ /** @deprecated Use isOk; ok remains the serialized compatibility key. */
39
+ ok;
40
+ /**
41
+ * Type of the response, narrowed to either the full response or the header.
42
+ */
43
+ type;
44
+ /**
45
+ * Super-constructor for all responses.
46
+ *
47
+ * The single parameter accepted is an initialization hash. Any properties
48
+ * of the response passed there will override the default values.
49
+ */
50
+ constructor(set) {
51
+ if (set) {
52
+ Object.assign(this, set);
53
+ }
54
+ }
55
+ }
56
+ Object.defineProperty(DyFM_HttpResponseBase.prototype, 'isOk', {
57
+ configurable: true,
58
+ enumerable: false,
59
+ get: function () {
60
+ return this.ok;
61
+ },
62
+ });
@@ -0,0 +1,110 @@
1
+ import { DyFM_getConstructionStackLocation } from '../../_collections/utils/stack.util';
2
+ import { DyFM_UUID } from '../../_collections/utils/uuid.util';
3
+ import { DyFM_OperationAuth_Type } from '../../_enums/operation-auth.type-enum';
4
+ import { DyFM_Error } from './error.control-model';
5
+ /**
6
+ * Transport-independent context of ONE operation call (HP-DOPL MP-1.3).
7
+ *
8
+ * The REST, MCP and CLI adapters build this object from their own request shape, so the operation's
9
+ * `run(ctx, ...inputs)` never sees Express, JSON-RPC or commander objects.
10
+ *
11
+ * 🔴 `issuer` is ALWAYS the accountId, NEVER a user id (`fdp-issuer-is-account-id`). The service's own
12
+ * user id — the content-ownership identity — travels separately in `clientUserId`.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const ctx: DyFM_Operation_Context = new DyFM_Operation_Context({
17
+ * transport: 'mcp',
18
+ * authKind: DyFM_OperationAuth_Type.apiKey,
19
+ * issuer: accountId,
20
+ * clientUserId: userId,
21
+ * apiKeyScopes: [ 'task:read' ],
22
+ * });
23
+ * ```
24
+ */
25
+ export class DyFM_OperationContext_ControlModel {
26
+ static {
27
+ Object.defineProperty(this, 'name', { value: 'DyFM_Operation_Context' });
28
+ }
29
+ /** Transport the call arrived on. */
30
+ transport;
31
+ /** How the caller authenticated (default: `none`). */
32
+ authKind;
33
+ /** The authenticated FDP accountId — never a user id. Required unless `authKind` is `none`. */
34
+ issuer;
35
+ /** The service's own user id of the caller (content ownership); resolved server-side, never from input. */
36
+ clientUserId;
37
+ /**
38
+ * Scopes granted to the API key. Only valid with `authKind: apiKey`.
39
+ * `undefined` marks a LEGACY key without scopes (full access with a warning, decision D-6);
40
+ * an empty array means the key grants nothing.
41
+ */
42
+ apiKeyScopes;
43
+ /** When `true`, the operation must validate and report, but not persist anything (default: `false`). */
44
+ dryRun;
45
+ /** Optimistic-concurrency token (etag) the caller expects the target to still have. */
46
+ ifMatch;
47
+ /** Correlation id of the call; generated when not given. */
48
+ requestId;
49
+ /**
50
+ * Validates the identity combination and applies the defaults.
51
+ * @param input - the call context; throws a coded `DyFM_Error` when the identity combination is invalid
52
+ */
53
+ constructor(input) {
54
+ const set = input ?? {};
55
+ // the construction location identifies the faulty adapter in the error
56
+ const stackLocation = DyFM_getConstructionStackLocation();
57
+ const authKind = set.authKind ?? DyFM_OperationAuth_Type.none;
58
+ // authKind must be a known value
59
+ if (!Object.values(DyFM_OperationAuth_Type).includes(authKind)) {
60
+ throw DyFM_OperationContext_ControlModel.invalid('DyFM-OPC-AUT', `unknown authKind (got: ${JSON.stringify(set.authKind)})`, stackLocation);
61
+ }
62
+ // transport must be one of the exposure keys
63
+ if (set.transport !== undefined && !['rest', 'mcp', 'cli'].includes(set.transport)) {
64
+ throw DyFM_OperationContext_ControlModel.invalid('DyFM-OPC-TRN', `unknown transport (got: ${JSON.stringify(set.transport)})`, stackLocation);
65
+ }
66
+ const authenticated = authKind !== DyFM_OperationAuth_Type.none;
67
+ // an authenticated call without an accountId is an adapter defect, not an anonymous call
68
+ if (authenticated && !DyFM_OperationContext_ControlModel.isFilled(set.issuer)) {
69
+ throw DyFM_OperationContext_ControlModel.invalid('DyFM-OPC-ISS', `authKind "${authKind}" requires the issuer (accountId)`, stackLocation);
70
+ }
71
+ // an anonymous call must not carry an identity
72
+ if (!authenticated && (set.issuer !== undefined || set.clientUserId !== undefined)) {
73
+ throw DyFM_OperationContext_ControlModel.invalid('DyFM-OPC-ANO', 'authKind "none" can not carry an issuer or a clientUserId', stackLocation);
74
+ }
75
+ // scopes belong to API keys only; every scope must be a non-empty string
76
+ if (set.apiKeyScopes !== undefined) {
77
+ if (authKind !== DyFM_OperationAuth_Type.apiKey) {
78
+ throw DyFM_OperationContext_ControlModel.invalid('DyFM-OPC-SCP', `apiKeyScopes are only valid with authKind "api-key" (got: "${authKind}")`, stackLocation);
79
+ }
80
+ if (!Array.isArray(set.apiKeyScopes) ||
81
+ !set.apiKeyScopes.every((scope) => DyFM_OperationContext_ControlModel.isFilled(scope))) {
82
+ throw DyFM_OperationContext_ControlModel.invalid('DyFM-OPC-SCP', 'apiKeyScopes must be an array of non-empty strings', stackLocation);
83
+ }
84
+ }
85
+ Object.assign(this, set);
86
+ this.authKind = authKind;
87
+ this.dryRun = set.dryRun === true;
88
+ this.requestId = DyFM_OperationContext_ControlModel.isFilled(set.requestId) ?
89
+ set.requestId : DyFM_UUID.generate();
90
+ // a copy, so a later mutation of the adapter's array can not widen the granted scopes
91
+ this.apiKeyScopes = set.apiKeyScopes ? [...set.apiKeyScopes] : undefined;
92
+ }
93
+ /** `true` when the call uses an API key created before scopes existed (legacy full access, D-6). */
94
+ static isLegacyApiKey(ctx) {
95
+ return ctx?.authKind === DyFM_OperationAuth_Type.apiKey && ctx.apiKeyScopes === undefined;
96
+ }
97
+ /** Checks for a non-blank string. */
98
+ static isFilled(value) {
99
+ return typeof value === 'string' && !!value.trim();
100
+ }
101
+ /** Builds the construction error with a stable error code and the construction location. */
102
+ static invalid(errorCode, reason, stackLocation) {
103
+ return new DyFM_Error({
104
+ errorCode: errorCode,
105
+ message: `DyFM_Operation_Context construction failed: ${reason}`,
106
+ additionalContent: { stackLocation: stackLocation },
107
+ });
108
+ }
109
+ }
110
+ export { DyFM_OperationContext_ControlModel as DyFM_Operation_Context };
@@ -0,0 +1,184 @@
1
+ import { DyFM_getConstructionStackLocation } from '../../_collections/utils/stack.util';
2
+ import { DyFM_BasicProperty_Type } from '../../_enums/basic-property-type.enum';
3
+ import { DyFM_OperationIfMatch_Type } from '../../_enums/operation-if-match.type-enum';
4
+ import { DyFM_OperationPatchField_Type } from '../../_enums/operation-patch-field.type-enum';
5
+ import { DyFM_Error } from './error.control-model';
6
+ /** Kebab-case segment: lowercase letters/digits, separated by single dashes. */
7
+ const DyFM_operationKebabSegment = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;
8
+ /** Input names must be usable as a route param, a JSON-schema key and a CLI option alike. */
9
+ const DyFM_operationInputName = /^[a-zA-Z][a-zA-Z0-9]*$/;
10
+ /**
11
+ * Validates ONE `guardrails.patchWhitelist` entry, in either accepted form.
12
+ *
13
+ * A plain string is the original form (changeable field, value not checked). A typed entry must carry a
14
+ * usable field name, a KNOWN type when it declares one, and a boolean `nullable` when it declares one —
15
+ * a misspelled type would otherwise silently disable the very check it was added for.
16
+ * @param entry - the whitelist entry as declared by the operation author
17
+ * @returns whether the entry is usable
18
+ */
19
+ function DyFM_isValidPatchWhitelistEntry(entry) {
20
+ if (typeof entry === 'string')
21
+ return DyFM_operationInputName.test(entry);
22
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry))
23
+ return false;
24
+ return (typeof entry.field === 'string' &&
25
+ DyFM_operationInputName.test(entry.field) &&
26
+ (entry.type === undefined || Object.values(DyFM_OperationPatchField_Type).includes(entry.type)) &&
27
+ (entry.nullable === undefined || typeof entry.nullable === 'boolean'));
28
+ }
29
+ /**
30
+ * Transport-independent description of ONE operation — the single source from which the REST
31
+ * endpoint, the MCP tool and the CLI command are derived (HP-DOPL, decision B+C).
32
+ *
33
+ * The class follows the Dynamo settings pattern (`DyFM_ServiceEndpointSettingsBase_ControlModel`):
34
+ * a `set` constructor, defaults applied in the constructor, and construction-time validation that
35
+ * fails fast with a debuggable `DyFM_Error`.
36
+ *
37
+ * ⚠️ Not related to the `operation-control` sub-module (durable operation leases): that module
38
+ * tracks the RUNTIME state of long-running work, this class DESCRIBES a callable operation.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const setSchedule: DyFM_Operation_Settings<Task, [string], TaskSchedule> = new DyFM_Operation_Settings({
43
+ * domain: 'task-views',
44
+ * action: 'schedule.set',
45
+ * description: 'Sets the schedule of a task view',
46
+ * inputs: { taskId: { type: DyFM_BasicProperty_Type.string, required: true } },
47
+ * expose: { cli: false },
48
+ * });
49
+ * // setSchedule.name === 'task-views.schedule.set'
50
+ * ```
51
+ */
52
+ export class DyFM_OperationSettings_ControlModel {
53
+ static {
54
+ Object.defineProperty(this, 'name', { value: 'DyFM_Operation_Settings' });
55
+ }
56
+ /** Unique operation name; defaults to `${domain}.${action}`. */
57
+ name;
58
+ /** Owning domain, kebab-case (e.g. `task-views`). */
59
+ domain;
60
+ /** Action inside the domain: kebab-case segments joined by dots (e.g. `schedule.set`). */
61
+ action;
62
+ /** Required, human-readable description (CLI help, MCP tool description, REST docs). */
63
+ description;
64
+ /** Named inputs of the operation (default: none). */
65
+ inputs = {};
66
+ /** Data model of the request body, when the operation takes one. */
67
+ bodyParams;
68
+ /**
69
+ * The operation takes a request body WITHOUT a data model (e.g. the legacy default CRUD endpoints, whose
70
+ * data service owns the model). No input schema can be generated for such a body, so the operation must
71
+ * stay off the schema-driven transports: `expose.mcp` and `expose.cli` have to be `false`.
72
+ * Prefer `bodyParams` for new operations.
73
+ */
74
+ isBodyUntyped;
75
+ /** Transports the operation is exposed on; missing flags default to `true`. */
76
+ expose;
77
+ /** Declarative authorization; `issuerRequired` defaults to `true`. */
78
+ authz;
79
+ /** Write-safety guardrails; defaults: `ifMatch: none`, `dryRun: false`, `unknownPatchFields: drop`. */
80
+ guardrails;
81
+ /** Source location of the construction, for debugging duplicated or misconfigured operations. */
82
+ stackLocation;
83
+ /**
84
+ * Validates the settings, applies the defaults and records the construction location.
85
+ * @param set - the operation description; throws a coded `DyFM_Error` when it is invalid
86
+ */
87
+ constructor(set) {
88
+ // the construction location identifies the faulty definition in the error
89
+ const stackLocation = set?.stackLocation ?? DyFM_getConstructionStackLocation();
90
+ if (!set) {
91
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-SET', 'settings object is missing', stackLocation);
92
+ }
93
+ const label = set.name ?? `${set.domain}.${set.action}`;
94
+ // domain: a single kebab-case segment
95
+ if (typeof set.domain !== 'string' || !DyFM_operationKebabSegment.test(set.domain)) {
96
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-DOM', `domain must be a kebab-case segment (got: ${JSON.stringify(set.domain)}) (${label})`, stackLocation);
97
+ }
98
+ // action: dot-separated kebab-case segments
99
+ if (typeof set.action !== 'string' ||
100
+ !set.action.split('.').every((segment) => DyFM_operationKebabSegment.test(segment))) {
101
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-ACT', `action must be dot-separated kebab-case segments (got: ${JSON.stringify(set.action)}) (${label})`, stackLocation);
102
+ }
103
+ // description: required, it becomes the CLI help and the MCP tool description
104
+ if (typeof set.description !== 'string' || !set.description.trim()) {
105
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-DSC', `description is required (${label})`, stackLocation);
106
+ }
107
+ // name: when given, it must follow the same format as the generated default
108
+ if (set.name !== undefined && !DyFM_OperationSettings_ControlModel.isValidName(set.name)) {
109
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-NAM', `name must be dot-separated kebab-case segments (got: ${JSON.stringify(set.name)})`, stackLocation);
110
+ }
111
+ // inputs: name and type validation
112
+ const inputs = set.inputs ?? {};
113
+ Object.entries(inputs).forEach(([inputName, input]) => {
114
+ if (!DyFM_operationInputName.test(inputName)) {
115
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-INN', `input name must be alphanumeric camelCase (got: ${JSON.stringify(inputName)}) (${label})`, stackLocation);
116
+ }
117
+ if (!input ||
118
+ !Object.values(DyFM_BasicProperty_Type).includes(input.type) ||
119
+ input.type === DyFM_BasicProperty_Type.function) {
120
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-INT', `input "${inputName}" has an invalid type (got: ${JSON.stringify(input?.type)}) (${label})`, stackLocation);
121
+ }
122
+ });
123
+ // authz: the declared fields must be usable, and ownership needs an authenticated caller
124
+ const authz = { issuerRequired: true, ...set.authz };
125
+ if ((authz.ownership !== undefined && !DyFM_operationInputName.test(authz.ownership)) ||
126
+ (authz.apiKeyScope !== undefined && (typeof authz.apiKeyScope !== 'string' || !authz.apiKeyScope.trim()))) {
127
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-AZF', `authz.ownership must be a field name and authz.apiKeyScope a non-empty string (${label})`, stackLocation);
128
+ }
129
+ if (authz.ownership !== undefined && authz.issuerRequired === false) {
130
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-AZO', `authz.ownership can not be combined with issuerRequired: false (${label})`, stackLocation);
131
+ }
132
+ // guardrails: known modes, and a whitelist of usable field names
133
+ const guardrails = {
134
+ ifMatch: DyFM_OperationIfMatch_Type.none, dryRun: false, unknownPatchFields: 'drop', ...set.guardrails,
135
+ };
136
+ if (!Object.values(DyFM_OperationIfMatch_Type).includes(guardrails.ifMatch ?? DyFM_OperationIfMatch_Type.none) ||
137
+ !['drop', 'reject'].includes(guardrails.unknownPatchFields ?? 'drop') ||
138
+ typeof guardrails.dryRun !== 'boolean' ||
139
+ (guardrails.patchWhitelist !== undefined && (!Array.isArray(guardrails.patchWhitelist) ||
140
+ !guardrails.patchWhitelist.length ||
141
+ !guardrails.patchWhitelist.every((entry) => DyFM_isValidPatchWhitelistEntry(entry))))) {
142
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-GRD', `guardrails has an unknown mode or an invalid patchWhitelist (${label})`, stackLocation);
143
+ }
144
+ // isBodyUntyped: an alternative to bodyParams, and without a schema it can not be an MCP tool or CLI command
145
+ if (set.isBodyUntyped !== undefined && typeof set.isBodyUntyped !== 'boolean') {
146
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-UBT', `isBodyUntyped must be a boolean (${label})`, stackLocation);
147
+ }
148
+ if (set.isBodyUntyped && set.bodyParams) {
149
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-UBD', `an untyped body can not be combined with bodyParams (${label})`, stackLocation);
150
+ }
151
+ if (set.isBodyUntyped && (set.expose?.mcp !== false || set.expose?.cli !== false)) {
152
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-UBX', `an operation with an untyped body has no input schema: set expose.mcp and expose.cli to false (${label})`, stackLocation);
153
+ }
154
+ // run: when given, it must be callable
155
+ if (set.run !== undefined && typeof set.run !== 'function') {
156
+ throw DyFM_OperationSettings_ControlModel.invalid('DyFM-OPS-RUN', `run must be a function (${label})`, stackLocation);
157
+ }
158
+ Object.assign(this, set);
159
+ this.domain = set.domain;
160
+ this.action = set.action;
161
+ this.description = set.description;
162
+ this.name = set.name ?? `${set.domain}.${set.action}`;
163
+ this.inputs = inputs;
164
+ // a missing expose flag means: exposed on that transport
165
+ this.expose = { rest: true, mcp: true, cli: true, ...set.expose };
166
+ this.authz = authz;
167
+ this.guardrails = guardrails;
168
+ this.stackLocation = stackLocation;
169
+ }
170
+ /** Checks the `name` format: dot-separated kebab-case segments. */
171
+ static isValidName(name) {
172
+ return typeof name === 'string' &&
173
+ name.split('.').every((segment) => DyFM_operationKebabSegment.test(segment));
174
+ }
175
+ /** Builds the construction error with a stable error code and the construction location. */
176
+ static invalid(errorCode, reason, stackLocation) {
177
+ return new DyFM_Error({
178
+ errorCode: errorCode,
179
+ message: `DyFM_Operation_Settings construction failed: ${reason}`,
180
+ additionalContent: { stackLocation: stackLocation },
181
+ });
182
+ }
183
+ }
184
+ export { DyFM_OperationSettings_ControlModel as DyFM_Operation_Settings };
@@ -0,0 +1,202 @@
1
+ import { second } from '../../_collections/constants/times.const';
2
+ import { DyFM_Async } from '../../_collections/utils/async.util';
3
+ import { DyFM_Error } from './error.control-model';
4
+ /**
5
+ * DynamoFSM_Poll is a predefined class is
6
+ * for polling a specific endpoint
7
+ * waiting a specific result
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const poll: DyFM_Poll_ControlModel<string> = new DyFM_Poll_ControlModel({
12
+ * name: 'My Poll',
13
+ * pollDo: async () => {
14
+ * return 'Poll result';
15
+ * },
16
+ * });
17
+ * ```
18
+ */
19
+ export class DyFM_Poll_ControlModel {
20
+ name;
21
+ /** The running poll (BFR-AM-019: a plain timer handle — no rxjs at runtime). */
22
+ poll;
23
+ /** @deprecated Use isRunning; running remains the serialized compatibility key. */
24
+ running;
25
+ /**
26
+ * The function that will be called to poll the endpoint,
27
+ * it will be called every pollPeriod
28
+ */
29
+ pollDo;
30
+ /**
31
+ * The function that will be called to check if the poll should continue,
32
+ * if this returns false, the poll will end
33
+ */
34
+ pollWhile;
35
+ /**
36
+ * The function that will be called to end the poll
37
+ */
38
+ pollEnd;
39
+ /**
40
+ * The function that will be called to handle the error
41
+ */
42
+ pollDoError;
43
+ args;
44
+ pollDelay = 0;
45
+ pollPeriod = 3 * second;
46
+ /** @deprecated Use isStopOnFail; stopOnFail remains the serialized compatibility key. */
47
+ stopOnFail = false;
48
+ /** @deprecated Use isDelayFirst; delayFirst remains the serialized compatibility key. */
49
+ delayFirst = false;
50
+ constructor(set) {
51
+ try {
52
+ Object.assign(this, set);
53
+ if (set.pollPeriod === 0) {
54
+ console.error('DYNAMO ERROR: creating polls with 0ms period is not supported! ' +
55
+ '(it will reset to 1000ms (1s))');
56
+ this.pollPeriod = 1 * second;
57
+ }
58
+ if (this.pollPeriod < 300) {
59
+ console.warn('DYNAMO WARNING: creating polls with less than 300ms period is not recommended!');
60
+ }
61
+ this.name = set.name ?? 'Unnamed DyFM_Poll_ControlModel';
62
+ this.stopOnFail = set.stopOnFail;
63
+ this.startPoll(this.args);
64
+ }
65
+ catch (error) {
66
+ throw new DyFM_Error({
67
+ message: 'DyFM_Poll_ControlModel construcion failed.'
68
+ });
69
+ }
70
+ }
71
+ /**
72
+ * The former `rxjs.timer(delay, period).subscribe(tick)`: the first tick after `delay` ms, then every `period` ms;
73
+ * a non-positive / missing period means ONE tick (as with `timer(delay)`). The tick is not awaited, as before.
74
+ */
75
+ static schedule(delay, period, tick) {
76
+ let timeout;
77
+ let interval;
78
+ let closed = false;
79
+ /** Runs one tick — a stopped poll never ticks again. */
80
+ const run = () => {
81
+ if (!closed) {
82
+ void tick();
83
+ }
84
+ };
85
+ timeout = setTimeout(() => {
86
+ timeout = undefined;
87
+ run();
88
+ if (!closed && typeof period === 'number' && period > 0) {
89
+ interval = setInterval(run, period);
90
+ }
91
+ }, delay ?? 0);
92
+ return {
93
+ get closed() {
94
+ return closed;
95
+ },
96
+ unsubscribe: () => {
97
+ closed = true;
98
+ if (timeout) {
99
+ clearTimeout(timeout);
100
+ }
101
+ if (interval) {
102
+ clearInterval(interval);
103
+ }
104
+ },
105
+ };
106
+ }
107
+ /**
108
+ * Starts the poll
109
+ * @param args - The arguments to pass to the pollDo function
110
+ */
111
+ async startPoll(...args) {
112
+ try {
113
+ if (this.delayFirst) {
114
+ await DyFM_Async.wait(this.pollDelay);
115
+ }
116
+ this.poll = DyFM_Poll_ControlModel.schedule(this.pollDelay, this.pollPeriod, async () => {
117
+ await this.pollDo(...args).then((res) => {
118
+ if (!this.pollWhile(res)) {
119
+ this.end(res);
120
+ }
121
+ }).catch((error) => {
122
+ if (this.stopOnFail) {
123
+ this.stop();
124
+ }
125
+ if (this.pollDoError) {
126
+ this.pollDoError(error);
127
+ }
128
+ else {
129
+ throw new DyFM_Error({
130
+ message: `DYNAMO ERROR: ` +
131
+ `\nDynamoPoll: "${this.name}" pollDo was UNSUCCESSFUL`,
132
+ error: error,
133
+ });
134
+ }
135
+ });
136
+ });
137
+ this.running = true;
138
+ }
139
+ catch (error) {
140
+ throw new DyFM_Error({
141
+ message: 'DYNAMO ERROR: \nDynamoPoll: startPoll was UNSUCCESSFUL',
142
+ error: error,
143
+ });
144
+ }
145
+ }
146
+ /**
147
+ * Restarts the poll
148
+ * @param args - The arguments to pass to the pollDo function
149
+ */
150
+ restartPoll(args) {
151
+ try {
152
+ if (args) {
153
+ this.startPoll(args);
154
+ }
155
+ else {
156
+ this.startPoll(this.args);
157
+ }
158
+ }
159
+ catch (error) {
160
+ throw new DyFM_Error({
161
+ message: 'DYNAMO ERROR: \nDynamoPoll: restartPoll was UNSUCCESSFUL',
162
+ error: error,
163
+ });
164
+ }
165
+ }
166
+ stop() {
167
+ this.poll.unsubscribe();
168
+ this.running = false;
169
+ }
170
+ end(result) {
171
+ this.poll.unsubscribe();
172
+ this.pollEnd?.(result);
173
+ this.running = false;
174
+ }
175
+ }
176
+ Object.defineProperty(DyFM_Poll_ControlModel, 'name', { value: 'DyFM_Poll' });
177
+ /** @deprecated Use DyFM_Poll_ControlModel. Same constructor; no API removal. */
178
+ export { DyFM_Poll_ControlModel as DyFM_Poll };
179
+ Object.defineProperty(DyFM_Poll_ControlModel.prototype, 'isRunning', {
180
+ configurable: true,
181
+ enumerable: false,
182
+ get: function () {
183
+ return this.running;
184
+ },
185
+ set: function (isValue) {
186
+ this.running = isValue;
187
+ },
188
+ });
189
+ Object.defineProperty(DyFM_Poll_ControlModel.prototype, 'isStopOnFail', {
190
+ configurable: true,
191
+ enumerable: false,
192
+ get: function () {
193
+ return this.stopOnFail;
194
+ },
195
+ });
196
+ Object.defineProperty(DyFM_Poll_ControlModel.prototype, 'isDelayFirst', {
197
+ configurable: true,
198
+ enumerable: false,
199
+ get: function () {
200
+ return this.delayFirst;
201
+ },
202
+ });